diff --git a/.br-external.mk b/.br-external.mk deleted file mode 100644 index 43dc5f0477..0000000000 --- a/.br-external.mk +++ /dev/null @@ -1,10 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# - -BR2_EXTERNAL ?= -BR2_EXTERNAL_NAMES = -BR2_EXTERNAL_DIRS = -BR2_EXTERNAL_MKS = - -# No br2-external tree defined. diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000000..ee3d5035a0 --- /dev/null +++ b/.flake8 @@ -0,0 +1,5 @@ +[flake8] +exclude= + # copied from the kernel sources + utils/diffconfig +max-line-length=80 diff --git a/.gitlab-ci.yml.in b/.gitlab-ci.yml.in index a506840892..6b09730a65 100644 --- a/.gitlab-ci.yml.in +++ b/.gitlab-ci.yml.in @@ -4,27 +4,15 @@ # It needs to be regenerated every time a defconfig is added, using # "make .gitlab-ci.yml". -image: buildroot/base:20180318.1724 +image: buildroot/base:20191027.2027 -.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_base: + except: + - /^.*-.*_defconfig$/ + - /^.*-tests\..*$/ check-DEVELOPERS: + extends: .check_base # get-developers should print just "No action specified"; if it prints # anything else, it's a parse error. # The initial ! is removed by YAML so we need to quote it. @@ -32,28 +20,46 @@ check-DEVELOPERS: - "! utils/get-developers | grep -v 'No action specified'" check-flake8: + extends: .check_base before_script: # Help flake8 to find the Python files without .py extension. - find * -type f -name '*.py' > files.txt - find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt - sort -u files.txt | tee files.processed script: - - python -m flake8 --statistics --count $(cat files.processed) + - python -m flake8 --statistics --count --max-line-length=132 $(cat files.processed) after_script: - wc -l files.processed +check-gitlab-ci.yml: + extends: .check_base + script: + - mv .gitlab-ci.yml .gitlab-ci.yml.orig + - make .gitlab-ci.yml + - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml + check-package: + extends: .check_base script: - make check-package -.defconfig: - extends: .defconfig_script - # Running the defconfigs for every push is too much, so limit to - # explicit triggers through the API. - only: - - triggers - - tags - - /-defconfigs$/ +.defconfig_base: + script: + - echo "Configure Buildroot for ${DEFCONFIG_NAME}" + - make ${DEFCONFIG_NAME} + - echo 'Build buildroot' + - | + make > >(tee build.log |grep '>>>') 2>&1 || { + echo 'Failed build last output' + tail -200 build.log + exit 1 + } + - | + ./support/scripts/boot-qemu-image.py "${DEFCONFIG_NAME}" > >(tee runtime-test.log) 2>&1 || { + echo 'Failed runtime test last output' + tail -200 runtime-test.log + exit 1 + } artifacts: when: always expire_in: 2 weeks @@ -64,19 +70,34 @@ check-package: - output/build/build-time.log - output/build/packages-file-list.txt - output/build/*/.config + - runtime-test.log -.runtime_test: - # Running the runtime tests for every push is too much, so limit to +.defconfig: + extends: .defconfig_base + # Running the defconfigs for every push is too much, so limit to # explicit triggers through the API. only: - triggers - tags - - /-runtime-tests$/ + - /-defconfigs$/ + before_script: + - DEFCONFIG_NAME=${CI_JOB_NAME} + +one-defconfig: + extends: .defconfig_base + only: + - /^.*-.*_defconfig$/ + before_script: + - DEFCONFIG_NAME=$(echo ${CI_COMMIT_REF_NAME} | sed -e 's,^.*-,,g') + +.runtime_test_base: # Keep build directories so the rootfs can be an artifact of the job. The # runner will clean up those files for us. # Multiply every emulator timeout by 10 to avoid sporadic failures in # elastic runners. - script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME} + script: + - echo "Starting runtime test ${TEST_CASE_NAME}" + - ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${TEST_CASE_NAME} artifacts: when: always expire_in: 2 weeks @@ -84,3 +105,21 @@ check-package: - test-output/*.log - test-output/*/.config - test-output/*/images/* + +.runtime_test: + extends: .runtime_test_base + # Running the runtime tests for every push is too much, so limit to + # explicit triggers through the API. + only: + - triggers + - tags + - /-runtime-tests$/ + before_script: + - TEST_CASE_NAME=${CI_JOB_NAME} + +one-runtime_test: + extends: .runtime_test_base + only: + - /^.*-tests\..*$/ + before_script: + - TEST_CASE_NAME=$(echo ${CI_COMMIT_REF_NAME} | sed -e 's,^.*-,,g') diff --git a/Config.in b/Config.in index d58d8dc04a..e2c1d26148 100644 --- a/Config.in +++ b/Config.in @@ -14,38 +14,21 @@ config BR2_HOSTARCH string option env="HOSTARCH" -config BR2_BUILD_DIR +config BR2_BASE_DIR string - option env="BUILD_DIR" + option env="BASE_DIR" + +# br2-external paths definitions +source "$BR2_BASE_DIR/.br2-external.in.paths" # Hidden config symbols for packages to check system gcc version config BR2_HOST_GCC_VERSION string option env="HOST_GCC_VERSION" -config BR2_HOST_GCC_AT_LEAST_4_5 - bool - default y if BR2_HOST_GCC_VERSION = "4 5" - -config BR2_HOST_GCC_AT_LEAST_4_6 - bool - default y if BR2_HOST_GCC_VERSION = "4 6" - select BR2_HOST_GCC_AT_LEAST_4_5 - -config BR2_HOST_GCC_AT_LEAST_4_7 - bool - default y if BR2_HOST_GCC_VERSION = "4 7" - select BR2_HOST_GCC_AT_LEAST_4_6 - -config BR2_HOST_GCC_AT_LEAST_4_8 - bool - default y if BR2_HOST_GCC_VERSION = "4 8" - select BR2_HOST_GCC_AT_LEAST_4_7 - config BR2_HOST_GCC_AT_LEAST_4_9 bool default y if BR2_HOST_GCC_VERSION = "4 9" - select BR2_HOST_GCC_AT_LEAST_4_8 config BR2_HOST_GCC_AT_LEAST_5 bool @@ -67,6 +50,11 @@ config BR2_HOST_GCC_AT_LEAST_8 default y if BR2_HOST_GCC_VERSION = "8" select BR2_HOST_GCC_AT_LEAST_7 +config BR2_HOST_GCC_AT_LEAST_9 + bool + default y if BR2_HOST_GCC_VERSION = "9" + select BR2_HOST_GCC_AT_LEAST_8 + # When adding new entries above, be sure to update # the HOSTCC_MAX_VERSION variable in the Makefile. @@ -75,16 +63,6 @@ config BR2_HOST_GCC_AT_LEAST_8 config BR2_NEEDS_HOST_JAVA bool -# Hidden boolean selected by packages in need of javac in order to build -# (example: classpath) -config BR2_NEEDS_HOST_JAVAC - bool - -# Hidden boolean selected by packages in need of jar in order to build -# (example: classpath) -config BR2_NEEDS_HOST_JAR - bool - # Hidden boolean selected by pre-built packages for x86, when they # need to run on x86-64 machines (example: pre-built external # toolchains, binary tools like SAM-BA, etc.). @@ -538,13 +516,14 @@ config BR2_OPTIMIZE_S This is the default. config BR2_OPTIMIZE_FAST - bool "optimize for fast" + bool "optimize for fast (may break packages!)" depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 help Optimize for fast. Disregard strict standards compliance. -Ofast enables all -O3 optimizations. It also enables optimizations that are not valid for all - standard-compliant programs. It turns on -ffast-math and the + standard-compliant programs, so be careful, as it may break + some packages. It turns on -ffast-math and the Fortran-specific -fstack-arrays, unless -fmax-stack-var-size is specified, and -fno-protect-parens. @@ -553,7 +532,6 @@ endchoice config BR2_GOOGLE_BREAKPAD_ENABLE bool "Enable google-breakpad support" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS @@ -708,10 +686,40 @@ config BR2_REPRODUCIBLE This is labeled as an experimental feature, as not all packages behave properly to ensure reproducibility. +config BR2_PER_PACKAGE_DIRECTORIES + bool "Use per-package directories (experimental)" + help + This option will change the build process of Buildroot + package to use per-package target and host directories. + + This is useful for two related purposes: + + - Cleanly isolate the build of each package, so that a + given package only "sees" the dependencies it has + explicitly expressed, and not other packages that may + have by chance been built before. + + - Enable top-level parallel build. + + This is labeled as an experimental feature, as not all + packages behave properly with per-package directories. + endmenu comment "Security Hardening Options" +config BR2_PIC_PIE + bool "Build code with PIC/PIE" + depends on BR2_SHARED_LIBS + depends on BR2_TOOLCHAIN_SUPPORTS_PIE + help + Generate Position-Independent Code (PIC) and link + Position-Independent Executables (PIE). + +comment "PIC/PIE needs a toolchain w/ PIE" + depends on BR2_SHARED_LIBS + depends on !BR2_TOOLCHAIN_SUPPORTS_PIE + choice bool "Stack Smashing Protection" default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy @@ -746,14 +754,15 @@ config BR2_SSP_REGULAR config BR2_SSP_STRONG bool "-fstack-protector-strong" - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_TOOLCHAIN_HAS_SSP_STRONG help Like -fstack-protector but includes additional functions to be protected - those that have local array definitions, or have references to local frame addresses. -comment "Stack Smashing Protection strong needs a toolchain w/ gcc >= 4.9" - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + -fstack-protector-strong officially appeared in gcc 4.9, but + some vendors have backported -fstack-protector-strong to older + versions of gcc. config BR2_SSP_ALL bool "-fstack-protector-all" @@ -764,6 +773,12 @@ config BR2_SSP_ALL endchoice +config BR2_SSP_OPTION + string + default "-fstack-protector" if BR2_SSP_REGULAR + default "-fstack-protector-strong" if BR2_SSP_STRONG + default "-fstack-protector-all" if BR2_SSP_ALL + comment "Stack Smashing Protection needs a toolchain w/ SSP" depends on !BR2_TOOLCHAIN_HAS_SSP @@ -788,11 +803,16 @@ config BR2_RELRO_PARTIAL config BR2_RELRO_FULL bool "Full" + depends on BR2_TOOLCHAIN_SUPPORTS_PIE + select BR2_PIC_PIE help This option includes the partial configuration, but also marks the GOT as read-only at the cost of initialization time during program loading, i.e every time an executable is started. +comment "RELRO Full needs a toolchain w/ PIE" + depends on !BR2_TOOLCHAIN_SUPPORTS_PIE + endchoice comment "RELocation Read Only (RELRO) needs shared libraries" @@ -859,4 +879,5 @@ source "package/Config.in.host" source "Config.in.legacy" -source "$BR2_BUILD_DIR/.br2-external.in" +# br2-external menus definitions +source "$BR2_BASE_DIR/.br2-external.in.menus" diff --git a/Config.in.legacy b/Config.in.legacy index 7e8b515088..fb7b0aadd0 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -144,7 +144,639 @@ endif ############################################################################### -comment "Legacy options removed in 2019.02" +comment "Legacy options removed in 2020.05" + +config BR2_PACKAGE_WIRINGPI + bool "wiringpi package removed" + select BR2_LEGACY + help + The author of wiringpi has deprecated the package, and + completely removed the git tree that was serving the + sources, with this message: + Please look for alternatives for wiringPi + +config BR2_PACKAGE_PYTHON_PYCRYPTO + bool "python-pycrypto package removed" + select BR2_LEGACY + help + This package has been removed, use python-pycryptodomex + instead. + +config BR2_PACKAGE_MTDEV2TUIO + bool "mtdev2tuio package removed" + select BR2_LEGACY + help + The mtdev2tuio package was removed as it breaks the builds + every now and then and is not maintained upstream. + +config BR2_PACKAGE_EZXML + bool "ezxml package removed" + select BR2_LEGACY + help + The ezXML package was removed as it is affected by several + CVEs and is not maintained anymore (no release since 2006). + +config BR2_PACKAGE_COLLECTD_LVM + bool "lvm support in collectd was removed" + select BR2_LEGACY + help + collectd removed LVM plugin, liblvm2app has been deprecated + +config BR2_PACKAGE_PYTHON_PYASN + bool "duplicate python-pyasn1 package removed" + select BR2_LEGACY + select BR2_PACKAGE_PYTHON_PYASN1 + help + This package was a duplicate of python-pyasn1. + +config BR2_PACKAGE_PYTHON_PYASN_MODULES + bool "duplicate python-pyasn1-modules package removed" + select BR2_LEGACY + select BR2_PACKAGE_PYTHON_PYASN1_MODULES + help + This package was a duplicate of python-pyasn1-modules. + +config BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA6174 + bool "duplicate QCA6174 firmware symbol removed" + select BR2_LEGACY + select BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174 + help + This config symbol duplicates existing symbol for QCA6174 + firmware. + +config BR2_PACKAGE_QT5CANVAS3D + bool "qt5canvas3d was removed" + select BR2_LEGACY + help + This Qt5 module was removed by the upstream Qt project since + Qt 5.13, so the corresponding Buildroot package was removed + as well. + +config BR2_PACKAGE_KODI_LIBTHEORA + bool "libtheora support in Kodi was removed" + select BR2_LEGACY + help + Kodi does not need libtheora + +config BR2_PACKAGE_CEGUI06 + bool "BR2_PACKAGE_CEGUI06 was renamed" + select BR2_PACKAGE_CEGUI + select BR2_LEGACY + help + The BR2_PACKAGE_CEGUI06 config symbol was renamed to + BR2_PACKAGE_CEGUI. + +config BR2_GCC_VERSION_5_X + bool "gcc 5.x support removed" + select BR2_LEGACY + help + Support for gcc version 5.x has been removed. The current + default version (8.x or later) has been selected instead. + +comment "Legacy options removed in 2020.02" + +config BR2_PACKAGE_JAMVM + bool "jamvm removed" + select BR2_LEGACY + help + JamVM has not had a release since 2014 and is unmaintained. + +config BR2_PACKAGE_CLASSPATH + bool "classpath removed" + select BR2_LEGACY + help + GNU Classpath package was removed. The last upstream + release was in 2012 and there hasn't been a commit + since 2016. + +config BR2_PACKAGE_QT5_VERSION_5_6 + bool "qt 5.6 support removed" + select BR2_LEGACY + help + Support for Qt 5.6 is EOL and has been removed. The current + version (5.12 or later) has been selected instead. + +config BR2_PACKAGE_CURL + bool "BR2_PACKAGE_CURL was renamed" + select BR2_PACKAGE_LIBCURL_CURL + select BR2_LEGACY + help + The BR2_PACKAGE_CURL config symbol was renamed to + BR2_PACKAGE_LIBCURL_CURL. + +config BR2_PACKAGE_GSTREAMER + bool "gstreamer-0.10 removed" + select BR2_LEGACY + help + Gstreamer-0.10 package was removed. It has been deprecated + upstream since 2012, and is missing a lot of features and + fixes compared to gstreamer-1.x. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS + bool "nvidia-tegra23 binaries gstreamer 0.10.x support removed" + select BR2_LEGACY + help + Gstreamer 0.10.x is no longer available in Buildroot, so + neither is the support in nvidia-tegra23 binaries. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_NV_SAMPLE_APPS + bool "nvidia-tegra23 binaries sample apps removed" + select BR2_LEGACY + help + Gstreamer 0.10.x is no longer available in Buildroot, so + neither is the support in nvidia-tegra23 binaries. + +config BR2_PACKAGE_FREERDP_GSTREAMER + bool "freerdp gstreamer 0.10.x support removed" + select BR2_LEGACY + help + Gstreamer 0.10.x is no longer available in Buildroot, so + neither is the support in freerdp. + +config BR2_PACKAGE_OPENCV3_WITH_GSTREAMER + bool "opencv3 gstreamer 0.10.x support removed" + select BR2_LEGACY + help + Gstreamer 0.10.x is no longer available in Buildroot, so + neither is the support in opencv3. + +config BR2_PACKAGE_OPENCV_WITH_GSTREAMER + bool "opencv gstreamer 0.10.x support removed" + select BR2_LEGACY + help + Gstreamer 0.10.x is no longer available in Buildroot, so + neither is the support in opencv. + +config BR2_PACKAGE_LIBPLAYER + bool "libplayer package was removed" + select BR2_LEGACY + help + The libplayer package was removed. The latest release is + from 2010 and none of the backends are available in + Buildroot any more. + +config BR2_GCC_VERSION_OR1K + bool "gcc 5.x fork for or1k has been removed" + select BR2_LEGACY + help + Support for gcc 5.x for or1k has been removed. The current + default version (9.x or later) has been selected instead. + +config BR2_PACKAGE_BLUEZ_UTILS + bool "bluez-utils was removed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ5_UTILS if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 \ + && BR2_TOOLCHAIN_HAS_SYNC_4 + help + The bluez-utils (BlueZ 4.x) package was removed as it is + deprecated since a long time. As an alternative, the + bluez5-utils (BlueZ 5.x) has been automatically selected in + your configuration. + +config BR2_PACKAGE_GADGETFS_TEST + bool "gadgetfs-test was removed" + select BR2_LEGACY + help + The gadgetfs-test package was removed. Gadgetfs has been + deprecated in favour of functionfs. Consider using + gadget-tool (gt) instead. + +config BR2_PACKAGE_FIS + bool "fis was removed" + select BR2_LEGACY + help + The fis package was removed. + +config BR2_PACKAGE_REFPOLICY_POLICY_VERSION + string "refpolicy policy version" + help + The refpolicy policy version option has been moved to the + libsepol package. + +config BR2_PACKAGE_REFPOLICY_POLICY_VERSION_WRAP + bool + default y if BR2_PACKAGE_REFPOLICY_POLICY_VERSION != "" + select BR2_LEGACY + +config BR2_PACKAGE_CELT051 + bool "celt051 package was removed" + select BR2_LEGACY + select BR2_PACKAGE_OPUS + help + The celt051 package was removed as it is now obsolete since + the CELT codec has been merged into the IETF Opus codec. As + a result, the opus package has been automatically selected + in your configuration. + +config BR2_PACKAGE_WIREGUARD + bool "wireguard package renamed" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 + select BR2_LEGACY + select BR2_PACKAGE_WIREGUARD_LINUX_COMPAT if BR2_LINUX_KERNEL + select BR2_PACKAGE_WIREGUARD_TOOLS + help + The wireguard package has been renamed to wireguard-tools + for the userspace tooling and wireguard-linux-compat for the + kernel side for legacy (<5.6) kernels to match upstream. + +config BR2_PACKAGE_PERL_NET_PING + bool "perl-net-ping was removed" + select BR2_LEGACY + help + Net::Ping is a Perl core module (ie. bundled with perl). + +config BR2_PACKAGE_PERL_MIME_BASE64 + bool "perl-mime-base64 was removed" + select BR2_LEGACY + help + MIME::Base64 is a Perl core module (ie. bundled with perl). + +config BR2_PACKAGE_PERL_DIGEST_MD5 + bool "perl-digest-md5 was removed" + select BR2_LEGACY + help + Digest::MD5 is a Perl core module (ie. bundled with perl). + +config BR2_PACKAGE_ERLANG_P1_ICONV + bool "erlang-p1-iconv has been removed" + select BR2_LEGACY + help + The erlang-p1-iconv package was no longer used by ejabberd, + and was no longer maintained upstream, so it was removed. + +config BR2_KERNEL_HEADERS_5_3 + bool "kernel headers version 5.3.x are no longer supported" + select BR2_LEGACY + help + Version 5.3.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_PYTHON_SCAPY3K + bool "python-scapy3k is replaced by python-scapy" + select BR2_LEGACY + select BR2_PACKAGE_PYTHON_SCAPY + help + python-scapy3k has been deprecated, since python-scapy has + gained Python 3 support. Use BR2_PACKAGE_PYTHON_SCAPY + instead. + +config BR2_BINUTILS_VERSION_2_30_X + bool "binutils version 2.30 support removed" + select BR2_LEGACY + help + Support for binutils version 2.30 has been removed. The + current default version (2.31 or later) has been selected + instead. + +config BR2_PACKAGE_RPI_USERLAND_START_VCFILED + bool "rpi-userland start vcfiled was removed" + select BR2_LEGACY + help + The vcfiled support was removed upstream. + +comment "Legacy options removed in 2019.11" + +config BR2_PACKAGE_OPENVMTOOLS_PROCPS + bool "openvmtools' procps support was removed" + select BR2_LEGACY + help + Upstream stopped supporting this option a while ago. + +config BR2_PACKAGE_ALLJOYN + bool "alljoyn was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_PACKAGE_ALLJOYN_BASE + bool "alljoyn-base was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL + bool "alljoyn-base control panel was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION + bool "alljoyn-base notification was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING + bool "alljoyn-base onboarding was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_PACKAGE_ALLJOYN_TCL_BASE + bool "alljoyn-tcl-base was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_PACKAGE_ALLJOYN_TCL + bool "alljoyn-tcl was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS + string "toolchain-external extra libs option has been renamed" + help + The option BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS has + been renamed to BR2_TOOLCHAIN_EXTRA_LIBS. + +config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS_WRAP + bool + default y if BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS != "" + select BR2_LEGACY + +config BR2_PACKAGE_PYTHON_PYSNMP_APPS + bool "python-pysnmp-apps was removed" + select BR2_LEGACY + select BR2_PACKAGE_SNMPCLITOOLS + help + Following upstream changes, the python-pysnmp-apps package + has been removed, and snmpclitools should be used as a + replacement. + +config BR2_KERNEL_HEADERS_5_2 + bool "kernel headers version 5.2.x are no longer supported" + select BR2_LEGACY + help + Version 5.2.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_TARGET_RISCV_PK + bool "riscv-pk was removed" + select BR2_LEGACY + help + The RISC-V Proxy Kernel (pk) and Berkley Boot Loader (BBL) + have been replaced with OpenSBI. + +config BR2_PACKAGE_SQLITE_STAT3 + bool "sqlite stat3 support was removed" + select BR2_LEGACY + help + Upstream removed the support for stat3. + +config BR2_KERNEL_HEADERS_5_1 + bool "kernel headers version 5.1.x are no longer supported" + select BR2_LEGACY + help + Version 5.1.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_DEVMEM2 + bool "devmem2 package was removed" + select BR2_LEGACY + help + Use the the Busybox devmem utility, instead, which provides + the same functionality. + +config BR2_PACKAGE_USTR + bool "ustr package removed" + select BR2_LEGACY + help + The 'ustr' package was only used by SELinux libsemanage, but + since SELinux 2.7, ustr is no longer used. Therefore, we + removed this package from Buildroot. + +config BR2_PACKAGE_KODI_SCREENSAVER_PLANESTATE + bool "kodi-screensaver-planestate package was removed" + select BR2_LEGACY + help + This package is incompatible with Kodi 18.x. + +config BR2_PACKAGE_KODI_VISUALISATION_WAVEFORHUE + bool "kodi-visualisation-waveforhue package was removed" + select BR2_LEGACY + help + This package is incompatible with Kodi 18.x. + +config BR2_PACKAGE_KODI_AUDIODECODER_OPUS + bool "kodi-audiodecoder-opus package was removed" + select BR2_LEGACY + help + This package is incompatible with Kodi 18.x. + +config BR2_PACKAGE_MESA3D_OSMESA + bool "mesa OSMesa option renamed" + select BR2_PACKAGE_MESA3D_OSMESA_CLASSIC if BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST + select BR2_LEGACY + help + The option was renamed in order to match the naming used + by the meson buildsystem. + +config BR2_PACKAGE_HOSTAPD_DRIVER_RTW + bool "hostapd rtl871xdrv driver removed" + select BR2_LEGACY + help + Since the update of hostapd to 2.9, the patch provided for + the rtl871xdrv no longer works, although it + applies. Moreover, AP support for Realtek chips is broken + anyway in kernels > 4.9. Therefore, this option has been + removed. + +config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW + bool "new dbus support option in wpa_supplicant was renamed" + select BR2_PACKAGE_WPA_SUPPLICANT_DBUS if BR2_TOOLCHAIN_HAS_THREADS + select BR2_LEGACY + help + The new dbus support option was renamed. + +config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD + bool "old dbus support in wpa_supplicant was removed" + select BR2_LEGACY + help + The old dbus support was removed. + +comment "Legacy options removed in 2019.08" + +config BR2_TARGET_TS4800_MBRBOOT + bool "ts4800-mbrboot package was removed" + select BR2_LEGACY + help + The defconfig for the TS4800 platform has been removed, so + the ts4800-mbrboot package, containing the boot code for + this specific platform has been removed as welL. + +config BR2_PACKAGE_LIBAMCODEC + bool "liamcodec package was removed" + select BR2_LEGACY + help + Support for odroidc2 based systems was removed, making the + libamcodec package useless. + +config BR2_PACKAGE_ODROID_SCRIPTS + bool "odroid-scripts package was removed" + select BR2_LEGACY + help + Support for odroidc2 based systems was removed, making the + odroid-scripts package useless. + +config BR2_PACKAGE_ODROID_MALI + bool "odroid-mali package was removed" + select BR2_LEGACY + help + Support for odroidc2 based systems was removed, making the + odroid-mali package useless. + +config BR2_PACKAGE_KODI_PLATFORM_AML + bool "Kodi AMLogic support was removed" + select BR2_LEGACY + help + Support for AMLogic was removed due to the removal of the + odroidc2 defconfig. + +config BR2_GCC_VERSION_6_X + bool "gcc 6.x support removed" + select BR2_LEGACY + help + Support for gcc version 6.x has been removed. The current + default version (8.x or later) has been selected instead. + +config BR2_GCC_VERSION_4_9_X + bool "gcc 4.9.x support removed" + select BR2_LEGACY + help + Support for gcc version 4.9.x has been removed. The current + default version (8.x or later) has been selected instead. + +config BR2_GDB_VERSION_7_12 + bool "gdb 7.12.x has been removed" + select BR2_LEGACY + help + The 7.12.x version of gdb has been removed. Use a newer + version instead. + +config BR2_PACKAGE_XAPP_MKFONTDIR + bool "mkfontdir is now included in xapp_mkfontscale" + select BR2_PACKAGE_XAPP_MKFONTSCALE + select BR2_LEGACY + help + xapp_mkfontscale now includes the mkfontdir script previously + distributed separately for compatibility with older X11 + versions. + +config BR2_GDB_VERSION_8_0 + bool "gdb 8.0.x has been removed" + select BR2_LEGACY + help + The 8.0.x version of gdb has been removed. Use a newer + version instead. + +config BR2_KERNEL_HEADERS_4_20 + bool "kernel headers version 4.20.x are no longer supported" + select BR2_LEGACY + help + Version 4.20.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_5_0 + bool "kernel headers version 5.0.x are no longer supported" + select BR2_LEGACY + help + Version 5.0.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +comment "Legacy options removed in 2019.05" + +config BR2_CSKY_DSP + bool "C-SKY DSP support removed" + select BR2_LEGACY + help + C-SKY DSP instruction support for ck810 / ck807 was removed, + as it was no longer supported in C-SKY gcc. Perhaps the VDSP + instructions should be used instead, using the BR2_CSKY_VDSP + option. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR + bool "compositor moved to gst1-plugins-base" + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_COMPOSITOR + select BR2_LEGACY + help + The gst1-plugins-bad compositor plugin has moved + to gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA + bool "gst-plugins-bad IQA option was removed" + select BR2_LEGACY + help + The gst1-plugins-bad IQA option was removed. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV + bool "gst-plugins-bad opencv option was removed" + select BR2_LEGACY + help + The gst1-plugins-bad opencv option was removed because + buildroot does not have the opencv_contrib package which + is required for the bgsegm module which gst1-plugins-bad + now requires along with opencv3. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO + bool "stereo was merged into audiofx in gst1-plugins-good" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX + help + The gst1-plugins-bad stereo plugin has merged with the + gst1-plugins-base audiofx plugin. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD + bool "gst-plugins-bad vcd plugin was removed." + select BR2_LEGACY + help + The gst1-plugins-bad vcd plugin was removed. + +config BR2_PACKAGE_LUNIT + bool "lunit package removed" + select BR2_LEGACY + select BR2_PACKAGE_LUA_LUNITX + help + The lunit package was removed in favor of its fork lunitx, + which supports all versions of Lua. + +config BR2_PACKAGE_FFMPEG_FFSERVER + bool "ffmpeg ffserver removed" + select BR2_LEGACY + help + On July 10th, 2016, ffserver program has been dropped. + +config BR2_PACKAGE_LIBUMP + bool "libump package removed" + select BR2_LEGACY + help + The libump package was removed, it was only used as a + dependency of sunxi-mali, which itself was removed. + +config BR2_PACKAGE_SUNXI_MALI + bool "sunxi-mali package removed" + select BR2_LEGACY + select BR2_PACKAGE_SUNXI_MALI_MAINLINE + help + The sunxi-mali package was removed, as the + sunxi-mali-mainline package replaces it for mainline + kernels on Allwinner platforms. + +config BR2_BINUTILS_VERSION_2_29_X + bool "binutils version 2.29 support removed" + select BR2_LEGACY + help + Support for binutils version 2.29 has been removed. The + current default version (2.31 or later) has been selected + instead. + +config BR2_BINUTILS_VERSION_2_28_X + bool "binutils version 2.28 support removed" + select BR2_LEGACY + help + Support for binutils version 2.28 has been removed. The + current default version (2.31 or later) has been selected + instead. config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK bool "gst-plugins-bad apexsink option removed" @@ -152,6 +784,8 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK help The gst-plugins-bad apexsink option was removed. +comment "Legacy options removed in 2019.02" + config BR2_PACKAGE_QT bool "qt package removed" select BR2_LEGACY @@ -1651,16 +2285,6 @@ config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD bool "mad (*.mp3 audio) removed" select BR2_LEGACY -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTC - bool "gst1-plugins-bad webrtc renamed to webrtcdsp" - select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTCDSP - select BR2_LEGACY - help - The WebRTC plugin in GStreamer 1.x has always been named - webrtcdsp, but was wrongly introduced in Buildroot under the - name webrtc. Therefore, we have renamed the option to match - the actual name of the GStreamer plugin. - config BR2_STRIP_none bool "Strip command 'none' has been removed" select BR2_LEGACY diff --git a/DEVELOPERS b/DEVELOPERS new file mode 100644 index 0000000000..23ee2ab35e --- /dev/null +++ b/DEVELOPERS @@ -0,0 +1,2706 @@ +# Syntax: +# +# N: Firstname Lastname +# F: file pattern or directory +# F: file pattern or directory +# +# The "F" entries can be: +# +# - A directory, in which case all patches touching any file in this +# directory or its subdirectories will be CC'ed to the developer. +# - A pattern, in which case the pattern will be expanded, and then +# all files/directories (and their subdirectories) will be +# considered when matching against a patch +# +# Notes: +# +# - When a developer adds an "arch/Config.in." file to its list +# of files, he is considered a developer of this architecture. He +# will receive e-mail notifications about build failures occuring on +# this architecture. Not more than one e-mail per day is sent. +# - When a developer adds a directory that contains one or several +# packages, this developer will be notified when build failures +# occur. Not more than one e-mail per day is sent. +# - When a developer adds an "package/pkg-.mk" file to its list +# of files, he is considered interested by this package +# infrastructure, and will be CC'ed on all patches that add or +# modify packages that use this infrastructure. + +N: Adam Duskett +F: package/audit/ +F: package/busybox/ +F: package/checkpolicy/ +F: package/cppdb/ +F: package/gobject-introspection/ +F: package/gstreamer1/gstreamer1/ +F: package/gstreamer1/gstreamer1-mm/ +F: package/gstreamer1/gst1-plugins-bad/ +F: package/gstreamer1/gst1-plugins-base/ +F: package/gstreamer1/gst1-plugins-good/ +F: package/gstreamer1/gst1-plugins-ugly/ +F: package/gstreamer1/gst1-python/ +F: package/gstreamer1/gst1-vaapi/ +F: package/imx-usb-loader/ +F: package/janus-gateway/ +F: package/json-for-modern-cpp/ +F: package/libcpprestsdk/ +F: package/libressl/ +F: package/libselinux/ +F: package/libsemanage/ +F: package/libsepol/ +F: package/libtextstyle/ +F: package/libwebsockets/ +F: package/mender-grubenv/ +F: package/nginx-naxsi/ +F: package/openjdk/ +F: package/openjdk-bin/ +F: package/php/ +F: package/pkcs11-helper/ +F: package/policycoreutils/ +F: package/prelink-cross/ +F: package/polkit/ +F: package/python3/ +F: package/python-aioredis/ +F: package/python-asgiref/ +F: package/python-channels/ +F: package/python-channels-redis/ +F: package/python-daphne/ +F: package/python-django-enumfields/ +F: package/python-flask-sqlalchemy/ +F: package/python-gitdb2/ +F: package/python-gobject/ +F: package/python-lockfile/ +F: package/python-mutagen/ +F: package/python-nested-dict/ +F: package/python-pbr/ +F: package/python-pip/ +F: package/python-psycopg2/ +F: package/python-smmap2/ +F: package/python-sqlalchemy/ +F: package/python-sqlparse/ +F: package/python-visitor/ +F: package/restorecond/ +F: package/refpolicy/ +F: package/selinux-python/ +F: package/semodule-utils/ +F: package/setools/ +F: package/sngrep/ +F: package/spidermonkey/ +F: package/systemd/ +F: support/testing/tests/package/test_gst1_python.py +F: support/testing/tests/package/test_python_gobject.py + +N: Adam Heinrich +F: package/jack1/ + +N: Adrian Perez de Castro +F: package/brotli/ +F: package/bubblewrap/ +F: package/cage/ +F: package/cog/ +F: package/libepoxy/ +F: package/libwpe/ +F: package/webkitgtk/ +F: package/wlroots/ +F: package/woff2/ +F: package/wpebackend-fdo/ +F: package/wpewebkit/ +F: package/xdg-dbus-proxy/ + +N: Adrien Gallouët +F: package/bird/ +F: package/glorytun/ + +N: Aleksander Morgado +F: package/libmbim/ +F: package/libqmi/ +F: package/modem-manager/ + +N: Alex Michel +F: package/network-manager-openvpn/ + +N: Alex Suykov +F: board/chromebook/snow/ +F: configs/chromebook_snow_defconfig +F: package/vboot-utils/ + +N: Alexander Clouter +F: package/odhcp6c/ + +N: Alexander Dahl +F: package/fastd/ +F: package/libuecc/ +F: package/putty/ + +N: Alexander Kurz +F: package/minimodem/ + +N: Alexander Lukichev +F: package/openpgm/ + +N: Alexander Mukhin +F: package/tinyproxy/ + +N: Alexander Sverdlin +F: package/mini-snmpd/ + +N: Alexander Varnin +F: package/liblog4c-localtime/ + +N: Alexandre Belloni +F: package/tz/ + +N: Alexandre Esse +F: package/kvazaar/ +F: package/v4l2loopback/ + +N: Alexey Brodkin +F: board/cubietech/cubieboard2/ +F: configs/cubieboard2_defconfig + +N: Alistair Francis +F: board/sifive/ +F: boot/opensbi/ +F: configs/hifive_unleashed_defconfig +F: package/xen/ + +N: Alvaro G. M +F: package/dcron/ +F: package/libxmlrpc/ +F: package/python-docopt/ + +N: Anders Darander +F: package/ktap/ + +N: André Hentschel +F: board/freescale/imx8qxpmek/ +F: configs/freescale_imx8qxpmek_defconfig +F: package/freescale-imx/imx-sc-firmware/ +F: package/libkrb5/ +F: package/openal/ +F: package/p7zip/ +F: package/wine/ + +N: Andrey Smirnov +F: package/python-backports-shutil-get-terminal-size/ +F: package/python-decorator/ +F: package/python-ipython-genutils/ +F: package/python-pathlib2/ +F: package/python-pickleshare/ +F: package/python-scandir/ +F: package/python-simplegeneric/ +F: package/python-systemd/ +F: package/python-traitlets/ +F: package/zstd/ + +N: Andrey Yurovsky +F: package/rauc/ + +N: Angelo Compagnucci +F: package/apparmor/ +F: package/corkscrew/ +F: package/fail2ban/ +F: package/i2c-tools/ +F: package/libapparmor/ +F: package/mender/ +F: package/mender-artifact/ +F: package/mono/ +F: package/mono-gtksharp3/ +F: package/monolite/ +F: package/python-can/ +F: package/python-pillow/ +F: package/python-pydal/ +F: package/python-spidev/ +F: package/python-web2py/ +F: package/sshguard/ +F: package/sunwait/ +F: package/sysdig/ + +N: Anisse Astier +F: package/go/ +F: package/nghttp2/ +F: package/pkg-golang.mk + +N: Anthony Viallard +F: package/gnuplot/ + +N: Antoine Ténart +F: package/wf111/ + +N: Antony Pavlov +F: package/lsscsi/ + +N: ARC Maintainers +F: arch/Config.in.arc +F: board/synopsys/ +F: configs/snps_arc700_axs101_defconfig +F: configs/snps_archs38_axs103_defconfig +F: configs/snps_archs38_haps_defconfig +F: configs/snps_archs38_hsdk_defconfig +F: configs/snps_archs38_vdk_defconfig + +N: Ariel D'Alessandro +F: package/axfsutils/ +F: package/mali-t76x/ + +N: Arnaud Aujon +F: package/espeak/ + +N: Arnout Vandecappelle +F: package/arp-scan/ +F: package/dehydrated/ +F: package/freescale-imx/firmware-imx/ +F: package/freescale-imx/imx-lib/ +F: package/libpagekite/ +F: package/lua-bit32/ +F: package/owfs/ +F: package/python-bottle/ +F: package/sqlcipher/ +F: package/stress/ + +N: Arthur Courtel +F: board/raspberrypi/genimage-raspberrypi4-64.cfg +F: configs/raspberrypi4_64_defconfig + +N: Asaf Kahlon +F: package/collectd/ +F: package/libfuse3/ +F: package/libuv/ +F: package/python* +F: package/snmpclitools/ +F: package/spdlog/ +F: package/uftp/ +F: package/uvw/ +F: package/zeromq/ + +N: Ash Charles +F: package/pru-software-support/ +F: package/ti-cgt-pru/ + +N: Assaf Inbal +F: package/lbase64/ +F: package/luabitop/ +F: package/luaexpatutils/ +F: package/luaposix/ +F: package/luasec/ +F: package/lua-ev/ +F: package/orbit/ + +N: Attila Wagner +F: package/python-canopen/ + +N: Bartosz Bilas +F: board/stmicroelectronics/stm32mp157a-dk1/ +F: configs/stm32mp157a_dk1_defconfig +F: package/python-esptool/ +F: package/python-pyaes/ +F: package/qt5/qt5scxml/ +F: package/qt5/qt5webview/ + +N: Bartosz Golaszewski +F: package/autoconf-archive/ +F: package/doxygen/ +F: package/libgpiod/ +F: package/libserialport/ +F: package/libsigrok/ +F: package/libsigrokdecode/ +F: package/libzip/ +F: package/pulseview/ +F: package/sigrok-cli/ + +N: Baruch Siach +F: board/solidrun/clearfog_gt_8k/ +F: configs/solidrun_clearfog_gt_8k_defconfig +F: package/18xx-ti-utils/ +F: package/cpuburn-arm/ +F: package/daemon/ +F: package/dropbear/ +F: package/ebtables/ +F: package/i2c-tools/ +F: package/libcurl/ +F: package/libpcap/ +F: package/openipmi/ +F: package/socat/ +F: package/strace/ +F: package/tcpdump/ +F: package/ti-uim/ +F: package/uhubctl/ + +N: Ben Boeckel +F: package/taskd/ + +N: Benjamin Kamath +F: package/lapack/ + +N: Bernd Kuhls +F: package/alsa-lib/ +F: package/alsa-utils/ +F: package/apache/ +F: package/apr/ +F: package/apr-util/ +F: package/bcg729/ +F: package/bluez-tools/ +F: package/boinc/ +F: package/clamav/ +F: package/dav1d/ +F: package/dovecot/ +F: package/dovecot-pigeonhole/ +F: package/dtv-scan-tables/ +F: package/eudev/ +F: package/exim/ +F: package/fetchmail/ +F: package/ffmpeg/ +F: package/flac/ +F: package/freeswitch/ +F: package/freeswitch-mod-bcg729/ +F: package/freetype/ +F: package/fstrcmp/ +F: package/ghostscript/ +F: package/giflib/ +F: package/gli/ +F: package/glmark2/ +F: package/gpsd/ +F: package/hdparm/ +F: package/jsoncpp/ +F: package/kodi* +F: package/lame/ +F: package/leafnode2/ +F: package/libaacs/ +F: package/libasplib/ +F: package/libass/ +F: package/libbdplus/ +F: package/libbluray/ +F: package/libbroadvoice/ +F: package/libcdio/ +F: package/libcec/ +F: package/libcodec2/ +F: package/libcrossguid/ +F: package/libdcadec/ +F: package/libdrm/ +F: package/libdvbcsa/ +F: package/libdvdcss/ +F: package/libdvdnav/ +F: package/libdvdread/ +F: package/libebur128/ +F: package/libfreeglut/ +F: package/libg7221/ +F: package/libglew/ +F: package/libglfw/ +F: package/libglu/ +F: package/libhdhomerun/ +F: package/libilbc/ +F: package/libldns/ +F: package/libmicrohttpd/ +F: package/libminiupnpc/ +F: package/libmspack/ +F: package/libnatpmp/ +F: package/libnpth/ +F: package/libogg/ +F: package/libopenh264/ +F: package/libpciaccess/ +F: package/libplatform/ +F: package/libpng/ +F: package/libsidplay2/ +F: package/libsilk/ +F: package/libsndfile/ +F: package/libsoil/ +F: package/libsoundtouch/ +F: package/libsquish/ +F: package/libudfread/ +F: package/liburiparser/ +F: package/libva/ +F: package/libva-intel-driver/ +F: package/libva-utils/ +F: package/libvorbis/ +F: package/libvpx/ +F: package/libyuv/ +F: package/mesa3d/ +F: package/minidlna/ +F: package/mjpg-streamer/ +F: package/perl-crypt-openssl-guess/ +F: package/perl-crypt-openssl-random/ +F: package/perl-crypt-openssl-rsa/ +F: package/perl-digest-sha1/ +F: package/perl-encode-detect/ +F: package/perl-encode-locale/ +F: package/perl-file-listing/ +F: package/perl-html-parser/ +F: package/perl-html-tagset/ +F: package/perl-http-cookies/ +F: package/perl-http-daemon/ +F: package/perl-http-date/ +F: package/perl-http-message/ +F: package/perl-http-negotiate/ +F: package/perl-io-html/ +F: package/perl-lwp-mediatypes/ +F: package/perl-mail-dkim/ +F: package/perl-mailtools/ +F: package/perl-net-dns/ +F: package/perl-net-http/ +F: package/perl-netaddr-ip/ +F: package/perl-timedate/ +F: package/perl-uri/ +F: package/perl-www-robotrules/ +F: package/pixman/ +F: package/pngquant/ +F: package/pound/ +F: package/pulseaudio/ +F: package/pure-ftpd/ +F: package/python-couchdb/ +F: package/python-cssutils/ +F: package/python-futures/ +F: package/python-mwclient/ +F: package/python-mwscrape/ +F: package/python-mwscrape2slob/ +F: package/python-mako/ +F: package/python-oauthlib/ +F: package/python-pyicu/ +F: package/python-pylru/ +F: package/python-requests-oauthlib/ +F: package/python-slob/ +F: package/rtmpdump/ +F: package/samba4/ +F: package/softether/ +F: package/spandsp/ +F: package/sqlite/ +F: package/stellarium/ +F: package/taglib/ +F: package/tinyxml2/ +F: package/tor/ +F: package/transmission/ +F: package/tvheadend/ +F: package/unixodbc/ +F: package/utf8proc/ +F: package/vdr/ +F: package/vdr-plugin-vnsiserver/ +F: package/vlc/ +F: package/vnstat/ +F: package/waylandpp/ +F: package/x11r7/ +F: package/x264/ +F: package/x265/ +F: package/ytree/ +F: package/znc/ +F: support/testing/tests/package/test_perl_html_parser.py + +N: Biagio Montaruli +F: board/acmesystems/ +F: configs/acmesystems_* + +N: Bogdan Radulescu +F: package/iftop/ +F: package/ncdu/ + +N: Brandon Maier +F: package/vmtouch/ + +N: Brock Williams +F: package/pdmenu/ + +N: Carlo Caione +F: package/jailhouse/ +F: package/sunxi-boards/ + +N: Carsten Schoenert +F: package/dvbsnoop/ +F: package/libdvbsi/ +F: package/libsvg/ +F: package/libsvg-cairo/ + +N: Cédric Chépied +F: package/znc/ + +N: Chakra Divi +F: board/friendlyarm/nanopi-m1 +F: board/friendlyarm/nanopi-m1-plus +F: board/olimex/a13_olinuxino +F: board/orangepi/orangepi-plus +F: configs/nanopi_m1_defconfig +F: configs/nanopi_m1_plus_defconfig +F: configs/olimex_a13_olinuxino_defconfig +F: configs/orangepi_plus_defconfig + +N: Chris Packham +F: package/gstreamer1/gst1-shark/ +F: package/micropython/ +F: package/micropython-lib/ +F: package/syslog-ng/ + +N: Christian Kellermann +F: package/python-pylibftdi/ + +N: Christian Stewart +F: linux/linux-ext-aufs.mk +F: package/aufs/ +F: package/aufs-util/ +F: package/batman-adv/ +F: package/docker-cli/ +F: package/docker-containerd/ +F: package/docker-engine/ +F: package/docker-proxy/ +F: package/go/ +F: package/mosh/ +F: package/pkg-golang.mk +F: package/rtl8821au/ +F: package/runc/ +F: package/tini/ + +N: Christophe Priouzeau +F: board/stmicroelectronics/stm32f429-disco/ +F: board/stmicroelectronics/stm32f469-disco/ +F: configs/stm32f429_disco_defconfig +F: configs/stm32f469_disco_defconfig + +N: Christophe Vu-Brugier +F: package/drbd-utils/ +F: package/iotop/ +F: package/python-configshell-fb/ +F: package/python-rtslib-fb/ +F: package/python-urwid/ +F: package/targetcli-fb/ + +N: Christopher McCrory +F: package/perl-appconfig/ +F: package/perl-astro-suntime/ +F: package/perl-class-load/ +F: package/perl-class-std/ +F: package/perl-class-std-fast/ +F: package/perl-data-dump/ +F: package/perl-data-optlist/ +F: package/perl-data-uuid/ +F: package/perl-date-manip/ +F: package/perl-dbd-mysql/ +F: package/perl-dbi/ +F: package/perl-device-serialport/ +F: package/perl-dist-checkconflicts/ +F: package/perl-file-slurp/ +F: package/perl-io-interface/ +F: package/perl-io-socket-multicast/ +F: package/perl-json-maybexs/ +F: package/perl-mime-tools/ +F: package/perl-module-implementation/ +F: package/perl-module-runtime/ +F: package/perl-number-bytes-human/ +F: package/perl-package-stash/ +F: package/perl-params-util/ +F: package/perl-sub-install/ +F: package/perl-sys-cpu/ +F: package/perl-sys-meminfo/ +F: package/perl-sys-mmap/ +F: package/perl-time-parsedate/ +F: package/perl-x10/ + +N: Clayton Shotwell +F: package/audit/ +F: package/checkpolicy/ +F: package/cpio/ +F: package/libcgroup/ +F: package/libee/ +F: package/libestr/ +F: package/liblogging/ +F: package/libselinux/ +F: package/libsemanage/ +F: package/libsepol/ +F: package/policycoreutils/ + +N: Clément Péron +F: board/beelink/gs1/ +F: configs/beelink_gs1_defconfig + +N: Corentin Guillevic +F: package/libloki/ + +N: Cyril Bur +F: arch/Config.in.powerpc +F: package/kvm-unit-tests + +N: Daniel J. Leach +F: package/dacapo/ + +N: Damien Lanson +F: package/libvdpau/ +F: package/log4cpp/ + +N: Daniel Nicoletti +F: package/cutelyst/ + +N: Daniel Price +F: package/nodejs/ +F: package/redis/ + +N: Daniel Sangue +F: package/libftdi1/ + +N: Danomi Manchego +F: package/cjson/ +F: package/jq/ +F: package/libwebsockets/ +F: package/ljsyscall/ +F: package/lua-cjson/ +F: package/luaexpat/ +F: package/xinetd/ + +N: David Bachelart +F: package/ccrypt/ +F: package/dos2unix/ +F: package/ipmiutil/ +F: package/jsmn/ +F: package/python-daemon/ +F: package/sslh/ +F: package/udpxy/ + +N: David Bender +F: package/benejson/ +F: package/cgic/ +F: package/freeradius-client/ +F: package/openldap/ + +N: David du Colombier <0intro@gmail.com> +F: package/x264/ + +N: David Lechner +F: board/lego/ev3/ +F: configs/lego_ev3_defconfig +F: linux/linux-ext-ev3dev-linux-drivers.mk +F: package/brickd/ +F: package/ev3dev-linux-drivers/ + +N: Davide Viti +F: board/friendlyarm/nanopi-r1/ +F: configs/nanopi_r1_defconfig +F: package/flann/ +F: package/python-paho-mqtt/ +F: package/qhull/ +F: package/tcllib/ + +N: Denis Bodor +F: package/libstrophe/ + +N: Dimitrios Siganos +F: package/wireless-regdb/ + +N: Dominik Faessler +F: package/logsurfer/ +F: package/python-id3/ + +N: Doug Kehn +F: package/nss-pam-ldapd/ +F: package/sp-oops-extract/ +F: package/unscd/ + +N: Dushara Jayasinghe +F: package/prosody/ + +N: Eloi Bail +F: package/bayer2rgb-neon/ +F: package/gstreamer1/gst1-plugins-bayer2rgb-neon/ + +N: Eric Le Bihan +F: docs/manual/adding-packages-meson.txt +F: package/adwaita-icon-theme/ +F: package/cargo-bin/ +F: package/cargo/ +F: package/darkhttpd/ +F: package/eudev/ +F: package/execline/ +F: package/hicolor-icon-theme/ +F: package/jemalloc/ +F: package/mdevd/ +F: package/meson/ +F: package/ninja/ +F: package/pkg-meson.mk +F: package/rust-bin/ +F: package/rust/ +F: package/s6/ +F: package/s6-dns/ +F: package/s6-linux-init/ +F: package/s6-linux-utils/ +F: package/s6-networking/ +F: package/s6-portable-utils/ +F: package/s6-rc/ +F: package/skalibs/ +F: package/smack/ +F: package/xvisor/ + +N: Eric Limpens +F: package/pifmrds/ +F: package/ympd/ + +N: Erico Nunes +F: board/aarch64-efi/ +F: configs/aarch64_efi_defconfig +F: package/acpica/ +F: package/acpitool/ +F: package/efibootmgr/ +F: package/efivar/ +F: package/fwts/ +F: package/spi-tools/ +F: package/xdotool/ +F: configs/pc_x86_64_* + +N: Erik Larsson +F: package/imx-mkimage/ + +N: Erik Stromdahl +F: package/mxsldr/ + +N: Ernesto L. Williams Jr +F: package/szip/ + +N: Esben Haabendal +F: boot/gummiboot/ +F: package/python-kiwisolver/ + +N: Etienne Carriere +F: boot/optee-os/ +F: package/optee-benchmark/ +F: package/optee-client/ +F: package/optee-examples/ +F: package/optee-test/ + +N: Eugene Tarassov +F: package/tcf-agent/ + +N: Evan Zelkowitz +F: package/sdl_gfx/ + +N: Ezequiel Garcia +F: board/ci20/ +F: configs/ci20_defconfig +F: arch/Config.in.nios2 +F: package/fio/ +F: package/iptraf-ng/ +F: package/jimtcl/ +F: package/mimic/ +F: package/nodm/ +F: package/openbox/ +F: package/rtl8723bs/ +F: package/supertuxkart/ + +N: Fabio Estevam +F: board/freescale/warpboard/ +F: board/warp7/ +F: configs/freescale_imx* +F: configs/imx23evk_defconfig +F: configs/imx6-sabre* +F: configs/imx6slevk_defconfig +F: configs/imx6sx-sdb_defconfig +F: configs/imx6ulevk_defconfig +F: configs/imx6ulpico_defconfig +F: configs/imx7d-sdb_defconfig +F: configs/imx7dpico_defconfig +F: configs/mx25pdk_defconfig +F: configs/mx51evk_defconfig +F: configs/mx53loco_defconfig +F: configs/mx6cubox_defconfig +F: configs/mx6sx_udoo_neo_defconfig +F: configs/mx6udoo_defconfig +F: configs/wandboard_defconfig +F: configs/warp7_defconfig +F: configs/warpboard_defconfig +F: package/atest/ +F: package/kmscube/ + +N: Fabio Porcedda +F: package/netsurf-buildsystem/ + +N: Fabio Urquiza +F: package/bitcoin/ + +N: Fabrice Fontaine +F: package/domoticz/ +F: package/libmediaart/ +F: package/libmaxminddb/ +F: package/openzwave/ + +N: Fabrice Fontaine +F: package/bearssl/ +F: package/belle-sip/ +F: package/belr/ +F: package/boinc/ +F: package/cairo/ +F: package/duktape/ +F: package/expat/ +F: package/flatbuffers/ +F: package/gerbera/ +F: package/gtksourceview/ +F: package/gssdp/ +F: package/gupnp/ +F: package/gupnp-dlna/ +F: package/gupnp-tools/ +F: package/haproxy/ +F: package/hiredis/ +F: package/i2pd/ +F: package/igd2-for-linux/ +F: package/json-c/ +F: package/lcms2/ +F: package/lftp/ +F: package/libcap-ng/ +F: package/libcdio-paranoia/ +F: package/libcgicc/ +F: package/libconfig/ +F: package/libcue/ +F: package/libebml/ +F: package/libgee/ +F: package/libglib2/ +F: package/libgtk2/ +F: package/libgtk3/ +F: package/libhtp/ +F: package/libidn/ +F: package/libidn2/ +F: package/libjpeg/ +F: package/liblockfile/ +F: package/libmatroska/ +F: package/libmpdclient/ +F: package/libnetfilter_conntrack/ +F: package/libnetfilter_queue/ +F: package/liboping/ +F: package/libpfm4/ +F: package/libraw/ +F: package/libraw1394/ +F: package/libroxml/ +F: package/librsvg/ +F: package/librsync/ +F: package/libsoup/ +F: package/libsoxr/ +F: package/libupnp/ +F: package/libupnp18/ +F: package/libv4l/ +F: package/libxslt/ +F: package/mbedtls/ +F: package/minissdpd/ +F: package/minizip/ +F: package/mongodb/ +F: package/motion/ +F: package/mutt/ +F: package/ncmpc/ +F: package/oniguruma/ +F: package/oprofile/ +F: package/pcmanfm/ +F: package/python-backcall/ +F: package/python-jedi/ +F: package/python-parso/ +F: package/rocksdb/ +F: package/rygel/ +F: package/safeclib/ +F: package/suricata/ +F: package/tinycbor/ +F: package/tinydtls/ +F: package/tinymembench/ +F: package/whois/ + +N: Fabrice Goucem +F: board/freescale/imx6ullevk/ +F: configs/freescale_imx6ullevk_defconfig + +N: Falco Hyfing +F: package/python-pymodbus/ + +N: Floris Bos +F: package/ipmitool/ +F: package/odhcploc/ + +N: Francisco Gonzalez +F: package/ser2net/ + +N: Francois Perrad +F: board/olimex/a20_olinuxino +F: board/olimex/imx233_olinuxino/ +F: configs/olimex_a20_olinuxino_* +F: configs/olimex_imx233_olinuxino_defconfig +F: package/4th/ +F: package/cgilua/ +F: package/chipmunk/ +F: package/cog/ +F: package/collectl/ +F: package/copas/ +F: package/coxpcall/ +F: package/dado/ +F: package/ficl/ +F: package/libtomcrypt/ +F: package/libtommath/ +F: package/libwpe/ +F: package/linenoise/ +F: package/ljlinenoise/ +F: package/lpeg/ +F: package/lpty/ +F: package/lrandom/ +F: package/lsqlite3/ +F: package/lua* +F: package/lzlib/ +F: package/moarvm/ +F: package/netsurf/ +F: package/perl* +F: package/pkg-perl.mk +F: package/pkg-luarocks.mk +F: package/rings/ +F: package/tekui/ +F: package/wpebackend-fdo/ +F: package/wpewebkit/ +F: package/wsapi/ +F: package/wsapi-fcgi/ +F: package/wsapi-xavante/ +F: package/xavante/ +F: utils/scancpan + +N: Frank Hunleth +F: package/am335x-pru-package/ +F: package/libconfuse/ +F: package/libdmtx/ +F: package/libsodium/ +F: package/php-amqp/ +F: package/python-cherrypy/ +F: package/rabbitmq-server/ +F: package/sane-backends/ +F: package/ucl/ +F: package/upx/ +F: package/zxing-cpp/ + +N: Frank Vanbever +F: package/elixir/ +F: package/libmodsecurity/ +F: package/nginx-modsecurity/ + +N: Gaël Portay +F: package/qt5/qt5virtualkeyboard/ +F: package/qt5/qt5webengine/ +F: package/qt5/qt5webkit/ +F: package/qt5/qt5webkit-examples/ + +N: Gao Xiang +F: package/erofs-utils/ + +N: Gary Bisson +F: board/boundarydevices/ +F: configs/nitrogen* +F: package/freescale-imx/ +F: package/gstreamer1/gst1-imx/ +F: package/libimxvpuapi/ +F: package/mfgtools/ +F: package/sshpass/ +F: package/x11r7/xdriver_xf86-video-imx-viv/ + +N: Geoff Levand +F: package/flannel/ + +N: Geoffrey Ragot +F: package/python-pycli/ +F: package/python-pyyaml/ + +N: Gerome Burlats +F: board/qemu/ +F: configs/qemu_* + +N: Gilles Talis +F: board/freescale/imx8mmevk/ +F: configs/freescale_imx8mmevk_defconfig +F: package/cctz/ +F: package/fdk-aac/ +F: package/httping/ +F: package/iozone/ +F: package/leptonica/ +F: package/libeXosip2/ +F: package/libolm/ +F: package/libosip2/ +F: package/ocrad/ +F: package/restclient-cpp/ +F: package/tesseract-ocr/ +F: package/webp/ +F: package/xapian/ + +N: Giulio Benetti +F: package/at/ +F: package/libnspr/ +F: package/libnss/ +F: package/minicom/ +F: package/nfs-utils/ +F: package/sunxi-mali-mainline/ +F: package/sunxi-mali-mainline-driver/ + +N: Gregory Dymarek +F: package/ding-libs/ +F: package/gengetopt/ +F: package/janus-gateway/ +F: package/libnice/ +F: package/libsrtp/ +F: package/libwebsock/ +F: package/sofia-sip/ + +N: Grzegorz Blach +F: fs/f2fs/ +F: package/bluez5_utils-headers/ +F: package/f2fs-tools/ +F: package/pigpio/ +F: package/python-aioblescan/ +F: package/python-bluezero/ +F: package/python-crontab/ +F: package/python-falcon/ +F: package/python-ifaddr/ +F: package/python-hiredis/ +F: package/python-mimeparse/ +F: package/python-pigpio/ +F: package/python-pyjwt/ +F: package/python-redis/ +F: package/python-rpi-ws281x/ +F: package/python-wtforms/ + +N: Guillaume Gardet +F: package/c-icap/ +F: package/c-icap-modules/ +F: package/sdl2/ + +N: Guillaume William Brs +F: package/liquid-dsp/ +F: package/pixiewps/ +F: package/reaver/ + +N: Guo Ren +F: arch/Config.in.csky +F: board/csky/ +F: board/qemu/csky +F: configs/csky_* +F: configs/qemu_csky* + +N: Gustavo Pimentel +F: configs/arm_juno_defconfig +F: board/arm/juno/ + +N: Gwenhael Goavec-Merou +F: package/gnuradio/ +F: package/gqrx/ +F: package/gr-osmosdr/ +F: package/libusbgx/ +F: package/matio/ +F: package/python-cheetah/ +F: package/python-markdown/ +F: package/python-remi/ +F: package/python-sip/ + +N: Heiko Thiery +F: package/libnetconf2/ +F: package/libyang/ +F: package/sysrepo/ + +N: Henrique Camargo +F: package/json-glib/ + +N: Hiroshi Kawashima +F: package/gauche/ +F: package/gmrender-resurrect/ +F: package/squeezelite/ + +N: Ian Haylock +F: package/python-rpi-gpio/ + +N: Ignacy Gawędzki +F: package/angularjs/ + +N: Ilias Apalodimas +F: package/keepalived/ + +N: Ilya Averyanov +F: package/exempi/ + +N: Ismael Luceno +F: package/axel/ + +N: Jagan Teki +F: board/amarula/ +F: board/asus/ +F: board/bananapi/ +F: board/engicam/ +F: board/friendlyarm/nanopi-a64/ +F: board/friendlyarm/nanopi-neo2/ +F: board/olimex/a33_olinuxino/ +F: board/olimex/a64-olinuxino/ +F: board/orangepi/orangepi-lite2/ +F: board/orangepi/orangepi-one-plus +F: board/orangepi/orangepi-pc2/ +F: board/orangepi/orangepi-prime/ +F: board/orangepi/orangepi-win/ +F: board/orangepi/orangepi-zero-plus2/ +F: board/pine64/ +F: configs/amarula_a64_relic_defconfig +F: configs/amarula_vyasa_rk3288_defconfig +F: configs/asus_tinker_rk3288_defconfig +F: configs/bananapi_m1_defconfig +F: configs/bananapi_m64_defconfig +F: configs/engicam_imx6qdl_icore_defconfig +F: configs/engicam_imx6qdl_icore_qt5_defconfig +F: configs/engicam_imx6qdl_icore_rqs_defconfig +F: configs/engicam_imx6ul_geam_defconfig +F: configs/engicam_imx6ul_isiot_defconfig +F: configs/friendlyarm_nanopi_a64_defconfig +F: configs/friendlyarm_nanopi_neo2_defconfig +F: configs/olimex_a33_olinuxino_defconfig +F: configs/olimex_a64_olinuxino_defconfig +F: configs/orangepi_lite2_defconfig +F: configs/orangepi_one_plus_defconfig +F: configs/orangepi_pc2_defconfig +F: configs/orangepi_prime_defconfig +F: configs/orangepi_win_defconfig +F: configs/orangepi_zero_plus2_defconfig +F: configs/pine64_defconfig +F: configs/pine64_sopine_defconfig + +N: James Hilliard +F: package/apcupsd/ +F: package/exfatprogs/ +F: package/gensio/ +F: package/lua-std-debug/ +F: package/lua-std-normalize/ +F: package/pipewire/ +F: package/python-aioconsole/ +F: package/python-aiodns/ +F: package/python-aiohttp/ +F: package/python-aiohttp-cors/ +F: package/python-aiohttp-debugtoolbar/ +F: package/python-aiohttp-jinja2/ +F: package/python-aiohttp-mako/ +F: package/python-aiohttp-remotes/ +F: package/python-aiohttp-security/ +F: package/python-aiohttp-session/ +F: package/python-aiohttp-sse/ +F: package/python-aiologstash/ +F: package/python-aiomonitor/ +F: package/python-aiojobs/ +F: package/python-aiorwlock/ +F: package/python-aiosignal/ +F: package/python-aiozipkin/ +F: package/python-argon2-cffi/ +F: package/python-async-lru/ +F: package/python-async-timeout/ +F: package/python-brotli/ +F: package/python-cbor2/ +F: package/python-cchardet/ +F: package/python-flatbuffers/ +F: package/python-frozenlist/ +F: package/python-greenlet/ +F: package/python-janus/ +F: package/python-logstash/ +F: package/python-multidict/ +F: package/python-pycares/ +F: package/python-snappy/ +F: package/python-sockjs/ +F: package/python-terminaltables/ +F: package/python-yarl/ + +N: James Knight +F: package/atkmm/ +F: package/cairomm/ +F: package/google-material-design-icons/ +F: package/glibmm/ +F: package/gtkmm3/ +F: package/libpqxx/ +F: package/pangomm/ +F: package/rpm/ +F: package/yad/ + +N: Jan Heylen +F: package/opentracing-cpp/ + +N: Jan Kraval +F: board/orangepi/orangepi-lite +F: configs/orangepi_lite_defconfig + +N: Jan Kundrát +F: configs/solidrun_clearfog_defconfig +F: board/solidrun/clearfog/ +F: package/libnetconf2/ +F: package/libyang/ +F: package/sysrepo/ + +N: Jan Pedersen +F: package/zip/ + +N: Jan Viktorin +F: package/python-pexpect/ +F: package/python-ptyprocess/ +F: package/zynq-boot-bin/ + +N: Jarkko Sakkinen +F: package/quota/ + +N: Jason Pruitt +F: package/librtlsdr/ + +N: Jean Burgat +F: package/openfpgaloader/ + +N: Jens Kleintje +F: package/gcnano-binaries/ + +N: Jens Rosenboom +F: package/sl/ + +N: Jens Zettelmeyer +F: package/batctl/ + +N: Jeremy Rosen +F: package/fxload/ + +N: Jérôme Oufella +F: package/libdri2/ +F: package/qt-webkit-kiosk/ + +N: Jérôme Pouiller +F: package/apitrace/ +F: package/freescale-imx/gpu-amd-bin-mx51/ +F: package/freescale-imx/libz160/ +F: package/lxc/ +F: package/strongswan/ +F: package/wmctrl/ +F: package/x11r7/xdriver_xf86-video-imx/ +F: package/x11r7/xdriver_xf86-video-imx-viv/ + +N: Jianhui Zhao +F: package/libuhttpd/ +F: package/libuwsc/ +F: package/rtty/ + +N: Joao Pinto +F: board/synopsys/vdk/ +F: configs/snps_aarch64_vdk_defconfig + +N: Joel Carlson +F: package/c-capnproto/ +F: package/capnproto/ +F: package/cmocka/ +F: package/flatcc/ +F: package/libcorrect/ + +N: Joel Stanley +F: package/pdbg/ +F: board/qemu/ppc64le-pseries/ +F: configs/qemu_ppc64le_pseries_defconfig +F: board/qemu/ppc-mac99/ +F: configs/qemu_ppc_mac99_defconfig + +N: Johan Derycke +F: package/python-libconfig/ + +N: Johan Oudinet +F: package/ejabberd/ +F: package/erlang-base64url/ +F: package/erlang-eimp/ +F: package/erlang-goldrush/ +F: package/erlang-idna/ +F: package/erlang-jiffy/ +F: package/erlang-jose/ +F: package/erlang-lager/ +F: package/erlang-p1-acme/ +F: package/erlang-p1-cache-tab/ +F: package/erlang-p1-mqtree/ +F: package/erlang-p1-oauth2/ +F: package/erlang-p1-pkix/ +F: package/erlang-p1-sip/ +F: package/erlang-p1-stringprep/ +F: package/erlang-p1-stun/ +F: package/erlang-p1-tls/ +F: package/erlang-p1-utils/ +F: package/erlang-p1-xml/ +F: package/erlang-p1-xmpp/ +F: package/erlang-p1-yaml/ +F: package/erlang-p1-yconf/ +F: package/erlang-p1-zlib/ +F: package/nginx-dav-ext/ +F: package/vuejs/ + +N: John Stile +F: package/dhcpcd/ + +N: John Faith +F: package/python-inflection/ +F: package/sdbusplus/ + +N: Jonathan Ben Avraham +F: arch/Config.in.xtensa +F: package/autofs/ +F: package/dawgdic/ +F: package/libphidget/ +F: package/phidgetwebservice/ +F: package/rapidxml/ +F: package/sphinxbase/ + +N: Joris Offouga +F: package/python-colorlog/ +F: package/python-simplelogging/ + +N: Jörg Krause +F: board/lemaker/bananapro/ +F: configs/bananapro_defconfig +F: package/augeas/ +F: package/bluez-alsa/ +F: package/caps/ +F: package/freescale-imx/imx-alsa-plugins/ +F: package/libopusenc/ +F: package/libupnpp/ +F: package/luv/ +F: package/luvi/ +F: package/mpd/ +F: package/shairport-sync/ +F: package/swupdate/ +F: package/upmpdcli/ +F: package/wavemon/ + +N: Joris Lijssens +F: package/emlog/ +F: package/libcoap/ +F: package/libnet/ +F: package/libuio/ +F: package/netsniff-ng/ +F: package/rabbitmq-c/ + +N: Joseph Kogut +F: package/at-spi2-atk/ +F: package/at-spi2-core/ +F: package/clang/ +F: package/gconf/ +F: package/libnss/ +F: package/lld/ +F: package/llvm/ +F: package/python-cython/ +F: package/python-raven/ +F: package/python-schedule/ +F: package/python-sentry-sdk/ +F: package/python-websockets/ +F: package/python-xlib/ + +N: Joshua Henderson +F: package/qt5/qt5wayland/ + +N: Jugurtha BELKALEM +F: package/python-cycler/ +F: package/python-matplotlib/ + +N: Juha Rantanen +F: package/acsccid/ + +N: Julian Scheel +F: package/bitstream/ +F: package/cbootimage/ +F: package/cryptopp/ +F: package/dvblast/ +F: package/tegrarcm/ + +N: Julien Boibessot +F: board/armadeus/ +F: configs/armadeus* +F: package/abootimg/ +F: package/gpm/ +F: package/lbreakout2/ +F: package/libcddb/ +F: package/libmodbus/ +F: package/ltris/ +F: package/opentyrian/ +F: package/python-pygame/ + +N: Julien Corjon +F: package/qt5/ + +N: Julien Grossholtz +F: board/technologic/ts7680/ +F: configs/ts7680_defconfig +F: package/paho-mqtt-c + +N: Julien Olivain +F: board/qmtech/zynq/ +F: board/technexion/imx8mmpico/ +F: board/technexion/imx8mpico/ +F: configs/imx8mmpico_defconfig +F: configs/imx8mpico_defconfig +F: configs/zynq_qmtech_defconfig +F: package/fluid-soundfont/ +F: package/fluidsynth/ +F: package/glslsandbox-player/ +F: package/ptm2human/ +F: package/python-pyalsa/ + +N: Julien Viard de Galbert +F: package/dieharder/ +F: package/easy-rsa/ + +N: Justin Maggard +F: package/dtach/ + +N: Karoly Kasza +F: package/irqbalance/ +F: package/openvmtools/ + +N: Kelvin Cheung +F: package/cpuload/ +F: package/bwm-ng/ +F: package/ramsmp/ + +N: Kieran Bingham +F: package/libcamera/ + +N: Koen Martens +F: package/capnproto/ +F: package/linuxconsoletools/ + +N: Kurt Van Dijck +F: package/bcusdk/ +F: package/libpthsem/ +F: package/nilfs-utils/ + +N: Laurent Cans +F: package/aircrack-ng/ + +N: Laurent Charpentier +F: package/open-lldp/ + +N: Lee Jones +F: boot/afboot-stm32/ + +N: Leon Anavi +F: board/olimex/a10_olinuxino +F: configs/olimex_a10_olinuxino_lime_defconfig + +N: Lionel Flandrin +F: package/python-babel/ +F: package/python-daemonize/ +F: package/python-flask/ +F: package/python-flask-babel/ +F: package/python-gunicorn/ + +N: Lionel Orry +F: package/mongrel2/ + +N: Lothar Felten +F: board/bananapi/bananapi-m2-ultra/ +F: board/beaglebone/ +F: configs/bananapi_m2_ultra_defconfig +F: configs/beaglebone_defconfig +F: configs/beaglebone_qt5_defconfig +F: package/ti-sgx-demos/ +F: package/ti-sgx-libgbm/ +F: package/ti-sgx-km/ +F: package/ti-sgx-um/ + +N: Louis Aussedat +F: board/friendlyarm/nanopi-neo-plus2/ +F: configs/friendlyarm_nanopi_neo_plus2_defconfig +F: package/mfoc +F: package/libpam-nfc +F: package/python-dnspython/ +F: package/python-future/ +F: package/python-huepy/ +F: package/python-tqdm/ + +N: Louis-Paul Cordier +F: package/intel-gmmlib/ +F: package/intel-mediadriver/ +F: package/intel-mediasdk/ + +N: Luca Ceresoli +F: board/olimex/a20_olinuxino/ +F: board/zynq/ +F: board/zynqmp/ +F: configs/olimex_a20_olinuxino_* +F: configs/zynq_microzed_defconfig +F: configs/zynq_zed_defconfig +F: configs/zynq_zc706_defconfig +F: configs/zynqmp_zcu106_defconfig +F: package/agentpp/ +F: package/exim/ +F: package/libpjsip/ +F: package/qpid-proton/ +F: package/rtl8188eu/ +F: package/snmppp/ +F: package/stm32flash/ +F: package/unzip/ +F: support/legal-info/ + +N: Lucas De Marchi +F: package/fswebcam/ + +N: Lubomir Rintel +F: board/olpc/ +F: configs/olpc_xo1_defconfig +F: configs/olpc_xo175_defconfig + +N: Ludovic Desroches +F: board/atmel/ +F: configs/at91* +F: configs/atmel_* +F: package/fb-test-app/ +F: package/python-json-schema-validator/ +F: package/python-keyring/ +F: package/python-simplejson/ +F: package/python-versiontools/ +F: package/wilc1000-firmware/ + +N: Maeva Manuel +F: board/freescale/imx8qmmek/ +F: configs/freescale_imx8qmmek_defconfig +F: package/freescale-imx/imx-seco/ + +N: Mahyar Koshkouei +F: package/ffmpeg/ +F: package/mpv/ +F: package/rpi-firmware/ +F: package/rpi-userland/ + +N: Mamatha Inamdar +F: package/nvme/ + +N: Manuel Vögele +F: package/python-pyqt5/ +F: package/python-requests-toolbelt/ + +N: Marcin Bis +F: package/bluez5_utils/ +F: package/cc-tool/ +F: package/ecryptfs-utils/ + +N: Marcin Niestroj +F: board/grinn/ +F: configs/grinn_* +F: package/argparse/ +F: package/dt-utils/ +F: package/easydbus/ +F: package/lua-flu/ +F: package/lua-stdlib/ +F: package/luaossl/ +F: package/murata-cyw-fw/ +F: package/netdata/ +F: package/rs485conf/ +F: package/turbolua/ +F: support/testing/tests/package/test_netdata.py + +N: Marcus Folkesson +F: package/libostree/ +F: package/libselinux/ +F: package/libsemanage/ +F: package/libsepol/ +F: package/selinux-python/ +F: utils/config +F: utils/diffconfig + +N: Marek Belisko +F: board/friendlyarm/nanopi-neo4/ +F: configs/nanopi_neo4_defconfig +F: package/libatasmart/ +F: package/polkit/ +F: package/sg3_utils/ +F: package/udisks/ + +N: Mario Lang +F: package/brltty/ +F: package/lynx/ + +N: Mario Rugiero +F: package/ratpoison/ + +N: Mark Corbin +F: arch/arch.mk.riscv +F: arch/Config.in.riscv +F: board/qemu/riscv32-virt/ +F: board/qemu/riscv64-virt/ +F: configs/qemu_riscv32_virt_defconfig +F: configs/qemu_riscv64_virt_defconfig + +N: Martin Bark +F: board/raspberrypi/ +F: configs/raspberrypi3_defconfig +F: package/ca-certificates/ +F: package/connman/ +F: package/nodejs/ +F: package/rpi-bt-firmware/ +F: package/rpi-firmware/ +F: package/rpi-wifi-firmware/ +F: package/tzdata/ +F: package/zic/ + +N: Martin Hicks +F: package/cryptsetup/ + +N: Martin Kepplinger +F: package/tslib/ +F: package/x11r7/xdriver_xf86-input-tslib/ +F: package/x11vnc/ + +N: Masahiro Yamada +F: board/arm/foundation-v8/ +F: configs/arm_foundationv8_defconfig + +N: Mathieu Audat +F: board/technologic/ts4900/ +F: configs/ts4900_defconfig +F: package/ts4900-fpga/ + +N: Matt Weber +F: board/freescale/p* +F: board/freescale/t* +F: board/qemu/ppc64-e5500/ +F: configs/freescale_p* +F: configs/freescale_t* +F: configs/qemu_ppc64_e5500_defconfig +F: package/argp-standalone/ +F: package/aufs/ +F: package/aufs-util/ +F: package/bc/ +F: package/bridge-utils/ +F: package/checkpolicy/ +F: package/checksec/ +F: package/cgroupfs-mount/ +F: package/crda/ +F: package/cunit/ +F: package/dacapo/ +F: package/davici/ +F: package/dnsmasq/ +F: package/dosfstools/ +F: package/eigen/ +F: package/ethtool/ +F: package/flashbench/ +F: package/fmc/ +F: package/fmlib/ +F: package/git/ +F: package/gnutls/ +F: package/hostapd/ +F: package/i2c-tools/ +F: package/ifplugd/ +F: package/igmpproxy/ +F: package/iperf/ +F: package/iperf3/ +F: package/iputils/ +F: package/iw/ +F: package/jitterentropy-library/ +F: package/kvm-unit-tests/ +F: package/kvmtool/ +F: package/libcsv/ +F: package/libcurl/ +F: package/libeastl/ +F: package/libfcgi/ +F: package/libopenssl/ +F: package/libselinux/ +F: package/libsemanage/ +F: package/libsepol/ +F: package/libssh2/ +F: package/libqmi/ +F: package/lighttpd/ +F: package/logrotate/ +F: package/makedevs/ +F: package/memtester/ +F: package/mii-diag/ +F: package/mrouted/ +F: package/mtd/ +F: package/mtools/ +F: package/nginx-upload/ +F: package/omniorb/ +F: package/openresolv/ +F: package/paxtest/ +F: package/picocom/ +F: package/policycoreutils/ +F: package/proftpd/ +F: package/protobuf-c/ +F: package/protobuf/ +F: package/python-bunch/ +F: package/python-colorama/ +F: package/python-filelock/ +F: package/python-flask-cors/ +F: package/python-iptables/ +F: package/python-ipy/ +F: package/python-posix-ipc/ +F: package/python-pycairo/ +F: package/python-pypcap/ +F: package/python-pyrex/ +F: package/python-pysftp/ +F: package/python-tinyrpc/ +F: package/python-txdbus/ +F: package/raptor/ +F: package/rcw/ +F: package/rng-tools/ +F: package/rsyslog/ +F: package/setools/ +F: package/smcroute/ +F: package/tclap/ +F: package/tini/ +F: package/uboot-tools/ +F: package/unionfs/ +F: package/valijson/ +F: package/wpa_supplicant/ +F: package/wireless_tools/ +F: package/xen/ +F: support/testing/tests/package/br2-external/openjdk/ +F: support/testing/tests/package/test_openjdk.py +F: support/testing/tests/package/test_opkg/ +F: support/testing/tests/package/test_opkg.py + +N: Mauro Condarelli +F: package/mc/ +F: package/python-autobahn/ +F: package/python-cbor/ +F: package/python-characteristic/ +F: package/python-click/ +F: package/python-crossbar/ +F: package/python-lmdb/ +F: package/python-mistune/ +F: package/python-netaddr/ +F: package/python-pygments/ +F: package/python-pynacl/ +F: package/python-pytrie/ +F: package/python-service-identity/ +F: package/python-setproctitle/ +F: package/python-shutilwhich/ +F: package/python-treq/ +F: package/python-txaio/ +F: package/python-ujson/ +F: package/python-wsaccel/ + +N: Max Filippov +F: arch/Config.in.xtensa + +N: Maxime Hadjinlian +F: package/babeld/ +F: package/dante/ +F: package/faifa/ +F: package/initscripts/ +F: package/intel-microcode/ +F: package/iucode-tool/ +F: package/jasper/ +F: package/kodi/ +F: package/libass/ +F: package/libbluray/ +F: package/libcdio/ +F: package/libcofi/ +F: package/libenca/ +F: package/libmodplug/ +F: package/libnfs/ +F: package/libplist/ +F: package/libshairplay/ +F: package/linux-zigbee/ +F: package/netcat-openbsd/ +F: package/open-plc-utils/ +F: package/rpi-firmware/ +F: package/rpi-userland/ +F: package/rtmpdump/ +F: package/skeleton/ +F: package/systemd/ +F: package/systemd-bootchart/ +F: package/tinyalsa/ +F: package/tinyxml/ + +N: Maxime Ripard +F: package/kmsxx/ + +N: Michael Durrant +F: board/arcturus/ +F: configs/arcturus_ucp1020_defconfig +F: configs/arcturus_ucls1012a_defconfig + +N: Michael Fischer +F: package/gnuplot/ +F: package/sdl2/ + +N: Michael Rommel +F: package/knock/ +F: package/python-crc16/ +F: package/python-pyzmq/ + +N: Michael Trimarchi +F: package/python-spidev/ + +N: Michael Vetter +F: package/jasper/ +F: package/libstrophe/ + +N: Michael Walle +F: package/libavl/ + +N: Michał Łyszczek +F: board/altera/socrates_cyclone5/ +F: board/pine64/rock64 +F: configs/rock64_defconfig +F: configs/socrates_cyclone5_defconfig +F: package/netifrc/ +F: package/openrc/ +F: package/skeleton-init-openrc/ + +N: Michel Stempin +F: board/licheepi/ +F: configs/licheepi_zero_defconfig + +N: Mike Harmony +F: board/sinovoip/m2-plus/ +F: configs/bananapi_m2_plus_defconfig + +N: Mikhail Boiko +F: package/libfribidi/ + +N: Min Xu +F: package/shadowsocks-libev/ + +N: Mircea Gliga +F: package/mbuffer/ + +N: Mirza Krak +F: package/mender/ +F: package/mender-artifact/ + +N: Murat Demirten +F: package/jpeg-turbo/ +F: package/libgeotiff/ + +N: Mylène Josserand +F: package/rtl8723bu/ + +N: Nathaniel Roach +F: package/bandwidthd/ +F: package/libgudev/ + +N: Naumann Andreas +F: package/evemu/ +F: package/libevdev/ +F: package/pkg-qmake.mk + +N: Nicola Di Lieto +F: package/uacme/ + +N: Nicholas Sielicki +F: board/intel/galileo/ +F: configs/galileo_defconfig + +N: Nicolas Cavallari +F: package/libgit2/ + +N: Nicolas Serafini +F: package/exiv2/ +F: package/nvidia-tegra23/nvidia-tegra23-binaries/ +F: package/nvidia-tegra23/nvidia-tegra23-codecs/ +F: package/ofono/ + +N: Nikolay Dimitrov +F: board/embest/riotboard/ +F: configs/riotboard_defconfig + +N: Nimai Mahajan +F: package/libucl/ + +N: Noé Rubinstein +F: package/tpm-tools/ +F: package/trousers/ + +N: Norbert Lange +F: package/tcf-agent/ + +N: Nylon Chen +F: arch/Config.in.nds32 +F: board/andes +F: configs/andes_ae3xx_defconfig +F: toolchain/toolchain-external/toolchain-external-andes-nds32/ + +N: Olaf Rempel +F: package/ctorrent/ + +N: Oleksandr Zhadan +F: board/arcturus/ +F: configs/arcturus_ucp1020_defconfig +F: configs/arcturus_ucls1012a_defconfig + +N: Oli Vogt +F: package/python-django/ +F: package/python-flup/ + +N: Olivier Matz +F: package/python-pyelftools/ + +N: Olivier Schonken +F: package/cups/ +F: package/cups-filters/ +F: package/ijs/ +F: package/poppler/ +F: package/qpdf/ +F: package/openjpeg/ + +N: Olivier Singla +F: package/shellinabox/ + +N: Parnell Springmeyer +F: package/scrypt/ + +N: Pascal de Bruijn +F: package/libargon2/ +F: package/linux-tools/S10hyperv +F: package/linux-tools/hyperv*.service +F: package/linux-tools/linux-tool-hv.mk.in + +N: Pascal Huerst +F: package/google-breakpad/ + +N: Patrick Gerber +F: package/yavta/ + +N: Patrick Havelange +F: support/testing/tests/package/test_lxc.py +F: support/testing/tests/package/test_lxc/ + +N: Paul Cercueil +F: package/libiio/ +F: package/lightning/ +F: package/umtprd/ + +N: Pedro Aguilar +F: package/libunistring/ + +N: Peter Korsgaard +F: board/beagleboneai/ +F: board/minnowboard/ +F: board/librecomputer/lafrite/ +F: board/nexbox/a95x/ +F: board/openblocks/a6/ +F: board/orangepi/ +F: board/pandaboard/ +F: board/roseapplepi/ +F: boot/shim/ +F: configs/beagleboneai_defconfig +F: configs/lafrite_defconfig +F: configs/minnowboard_max-graphical_defconfig +F: configs/minnowboard_max_defconfig +F: configs/nexbox_a95x_defconfig +F: configs/openblocks_a6_defconfig +F: configs/orangepi_pc_defconfig +F: configs/orangepi_r1_defconfig +F: configs/pandaboard_defconfig +F: configs/roseapplepi_defconfig +F: configs/sheevaplug_defconfig +F: package/bats-core/ +F: package/docker-compose/ +F: package/dump1090/ +F: package/fatcat/ +F: package/flickcurl/ +F: package/fscryptctl/ +F: package/ifmetric/ +F: package/jo/ +F: package/jose/ +F: package/libfastjson/ +F: package/luksmeta/ +F: package/lzop/ +F: package/memtool/ +F: package/mosquitto/ +F: package/python-alsaaudio/ +F: package/python-backports-ssl-match-hostname/ +F: package/python-cached-property/ +F: package/python-docker/ +F: package/python-dockerpty/ +F: package/python-docker-pycreds/ +F: package/python-enum/ +F: package/python-enum34/ +F: package/python-functools32/ +F: package/python-ipaddr/ +F: package/python-pam/ +F: package/python-psutil/ +F: package/python-request-id/ +F: package/python-semver/ +F: package/python-texttable/ +F: package/python-validators/ +F: package/python-webob/ +F: package/python-websocket-client/ +F: package/sedutil/ +F: package/tpm2-totp/ +F: package/triggerhappy/ +F: package/wireguard-linux-compat/ +F: package/wireguard-tools/ +F: support/testing/tests/package/test_docker_compose.py + +N: Peter Seiderer +F: board/raspberrypi/ +F: configs/raspberrypi*_defconfig +F: package/assimp/ +F: package/bcm2835/ +F: package/ddrescue/ +F: package/dejavu/ +F: package/dillo/ +F: package/edid-decode/ +F: package/ell/ +F: package/ghostscript-fonts/ +F: package/gstreamer1/gst1-interpipe/ +F: package/gstreamer1/gst1-validate/ +F: package/gstreamer1/gstreamer1-editing-services/ +F: package/iwd/ +F: package/libevdev/ +F: package/log4cplus/ +F: package/postgresql/ +F: package/qt5/ +F: package/quotatool/ +F: package/racehound/ + +N: Peter Thompson +F: package/sdl2_gfx/ +F: package/sdl2_image/ +F: package/sdl2_ttf/ + +N: Petr Kulhavy +F: package/linuxptp/ + +N: Petr Vorel +F: package/ima-evm-utils/ +F: package/iproute2/ +F: package/iputils/ +F: package/libtirpc/ +F: package/linux-backports/ +F: package/ltp-testsuite/ +F: package/nfs-utils/ +F: support/kconfig/ + +N: Phil Eichinger +F: package/libqrencode/ +F: package/psplash/ +F: package/sispmctl/ +F: package/zsh/ + +N: Philipp Richter +F: package/libtorrent-rasterbar/ + +N: Philippe Proulx +F: package/lttng-babeltrace/ +F: package/lttng-libust/ +F: package/lttng-modules/ +F: package/lttng-tools/ +F: package/python-ipython/ +F: package/liburcu/ + +N: Philippe Reynes +F: package/ibm-sw-tpm2/ + +N: Pierre Crokaert +F: board/hardkernel/odroidxu4/ +F: configs/odroidxu4_defconfig + +N: Pierre Ducroquet +F: package/kf5/ + +N: Pierre Floury +F: package/trace-cmd/ + +N: Pierre-Jean Texier +F: package/fping/ +F: package/genimage/ +F: package/haveged/ +F: package/ipset/ +F: package/libarchive/ +F: package/libevent/ +F: package/libubootenv/ +F: package/libxml2/ +F: package/mongoose/ +F: package/mxml/ +F: package/numactl/ +F: package/python-modbus-tk/ +F: package/python-periphery/ +F: package/raspi-gpio/ +F: package/sbc/ +F: package/stunnel/ +F: package/tree/ + +N: Pieter De Gendt +F: package/libvips/ + +N: Pieterjan Camerlynck +F: package/libdvbpsi/ +F: package/mraa/ +F: package/synergy/ + +N: Rafal Susz +F: board/avnet/s6lx9_microboard/ +F: configs/s6lx9_microboard_defconfig + +N: Rahul Bedarkar +F: package/cxxtest/ +F: package/gflags/ +F: package/glog/ +F: package/gssdp/ +F: package/gupnp/ +F: package/gupnp-av/ +F: package/let-me-create/ +F: package/nanomsg/ + +N: Rahul Jain +F: package/uhttpd/ +F: package/ustream-ssl/ + +N: Refik Tuzakli +F: package/freescale-imx/ +F: package/paho-mqtt-cpp/ + +N: Raphaël Mélotte +F: package/jbig2dec/ + +N: Rémi Rérolle +F: package/libfreeimage/ + +N: Renaud Aubin +F: package/libhttpparser/ + +N: Ricardo Martincoski +F: package/atop/ +F: package/thermald/ + +N: Ricardo Martincoski +F: support/testing/infra/ +F: support/testing/run-tests +F: support/testing/tests/core/test_file_capabilities.py +F: support/testing/tests/download/ +F: support/testing/tests/package/*_python*.py +F: support/testing/tests/package/test_atop.py +F: support/testing/tests/package/test_syslog_ng.py +F: support/testing/tests/package/test_tmux.py +F: support/testing/tests/utils/test_check_package.py +F: utils/check-package +F: utils/checkpackagelib/ + +N: Richard Braun +F: package/curlftpfs/ +F: package/tzdata/ + +N: RJ Ascani +F: package/azmq/ + +N: Robert Rose +F: package/grpc/ + +N: Rodrigo Rebello +F: package/chocolate-doom/ +F: package/irssi/ +F: package/vnstat/ + +N: Romain Naour +F: board/qemu/ +F: configs/qemu_* +F: package/alure/ +F: package/aubio/ +F: package/binutils/ +F: package/bullet/ +F: package/clang/ +F: package/clinfo/ +F: package/efl/ +F: package/enet/ +F: package/enlightenment/ +F: package/flare-engine/ +F: package/flare-game/ +F: package/gcc/ +F: package/glibc/ +F: package/irrlicht/ +F: package/liblinear/ +F: package/lensfun/ +F: package/libclc/ +F: package/libgta/ +F: package/libspatialindex/ +F: package/linux-syscall-support/ +F: package/llvm/ +F: package/lugaru/ +F: package/mcelog/ +F: package/mesa3d/ +F: package/minetest/ +F: package/minetest-game/ +F: package/ogre/ +F: package/openpowerlink/ +F: package/physfs/ +F: package/piglit/ +F: package/solarus/ +F: package/stress-ng/ +F: package/supertux/ +F: package/supertuxkart/ +F: package/terminology/ +F: package/tk/ +F: package/upower/ +F: package/waffle/ +F: package/xenomai/ +F: package/zziplib/ +F: support/testing/tests/package/test_glxinfo.py +F: toolchain/ + +N: Roman Gorbenkov +F: package/davfs2/ + +N: Ryan Barnett +F: package/atftp/ +F: package/miraclecast/ +F: package/python-pysnmp/ +F: package/python-pysnmp-mibs/ +F: package/python-tornado/ +F: package/websocketpp/ + +N: Ryan Coe +F: package/inadyn/ +F: package/libite/ +F: package/mariadb/ + +N: Ryan Wilkins +F: package/biosdevname/ + +N: Sam Lancia +F: package/lrzip/ + +N: Samuel Martin +F: package/armadillo/ +F: package/canfestival/ +F: package/clapack/ +F: package/cwiid/ +F: package/flite/ +F: package/nginx/ +F: package/opencv/ +F: package/opencv3/ +F: package/openobex/ +F: package/pkg-cmake.mk +F: package/python-numpy/ +F: package/scrub/ +F: package/urg/ +F: package/ussp-push/ +F: support/misc/toolchainfile.cmake.in + +N: Sam Voss +F: package/ripgrep/ + +N: Santosh Multhalli +F: package/valijson/ + +N: Scott Fan +F: package/libssh/ +F: package/x11r7/xdriver_xf86-video-fbturbo/ + +N: Sébastien Szymanski +F: package/mmc-utils/ +F: package/python-flask-jsonrpc/ +F: package/python-flask-login/ +F: package/qt5/qt5charts/ + +N: Semyon Kolganov +F: package/fmt/ +F: package/libbson/ +F: package/lua-resty-http/ +F: package/mpir/ + +N: Sergey Matyukevich +F: boot/arm-trusted-firmware/ +F: boot/binaries-marvell/ +F: boot/mv-ddr-marvell/ +F: board/linksprite/pcduino +F: board/orangepi/orangepi-zero +F: board/orangepi/orangepi-one +F: board/orangepi/orangepi-pc-plus/ +F: board/solidrun/macchiatobin +F: configs/linksprite_pcduino_defconfig +F: configs/orangepi_one_defconfig +F: configs/orangepi_pc_plus_defconfig +F: configs/orangepi_zero_defconfig +F: configs/solidrun_macchiatobin_defconfig +F: package/armbian-firmware/ +F: package/hostapd/ +F: package/rtl8189fs/ +F: package/wpa_supplicant/ +F: package/xr819-xradio/ + +N: Sergio Prado +F: board/toradex/apalis-imx6/ +F: configs/toradex_apalis_imx6_defconfig +F: package/aoetools/ +F: package/curlpp/ +F: package/daq/ +F: package/libgdiplus/ +F: package/pimd/ +F: package/snort/ +F: package/stella/ +F: package/tio/ +F: package/traceroute/ +F: package/tunctl/ +F: package/ubus/ +F: package/wolfssl/ + +N: Simon Dawson +F: boot/at91bootstrap3/ +F: package/cppzmq/ +F: package/czmq/ +F: package/filemq/ +F: package/googlefontdirectory/ +F: package/jansson/ +F: package/jquery-ui/ +F: package/jquery-ui-themes/ +F: package/json-javascript/ +F: package/lcdapi/ +F: package/libfreefare/ +F: package/libjson/ +F: package/libnfc/ +F: package/libnfc/ +F: package/libserial/ +F: package/libsigsegv/ +F: package/macchanger/ +F: package/minicom/ +F: package/minidlna/ +F: package/msgpack/ +F: package/nanocom/ +F: package/neard/ +F: package/neardal/ +F: package/owl-linux/ +F: package/python-nfc/ +F: package/rapidjson/ +F: package/sconeserver/ +F: package/sound-theme-borealis/ +F: package/sound-theme-freedesktop/ +F: package/vlc/ +F: package/xscreensaver/ +F: package/zmqpp/ +F: package/zyre/ + +N: Spenser Gilliland +F: arch/Config.in.microblaze +F: package/a10disp/ +F: package/glmark2/ +F: package/libvpx/ +F: package/mesa3d-demos/ +F: package/ti-gfx/ + +N: Stefan Ott +F: package/unbound/ + +N: Stefan Sørensen +F: package/cracklib/ +F: package/libpwquality/ +F: package/libscrypt/ + +N: Stephan Hoffmann +F: package/cache-calibrator/ +F: package/gtest/ +F: package/libhttpserver/ +F: package/mtdev/ + +N: Steve Calfee +F: package/python-pymysql/ +F: package/python-pyratemp/ + +N: Steve James +F: package/leveldb/ +F: package/libcli/ + +N: Steve Kenton +F: package/dvdauthor/ +F: package/dvdrw-tools/ +F: package/memtest86/ +F: package/mjpegtools/ +F: package/tovid/ +F: package/udftools/ +F: package/xorriso/ + +N: Steven Noonan +F: package/hwloc/ +F: package/powertop/ + +N: Suniel Mahesh +F: board/firefly/ +F: configs/roc_pc_rk3399_defconfig +F: package/arm-gnu-a-toolchain/ + +N: Sven Haardiek +F: package/lcdproc/ +F: package/python-influxdb/ + +N: Sven Oliver Moll +F: package/most/ + +N: Theo Debrouwere +F: board/beagleboardx15/ +F: configs/beagleboardx15_defconfig +F: package/pugixml/ + +N: Thierry Bultel +F: package/mpd-mpc/ + +N: Thijs Vermeir +F: package/ranger/ +F: package/x265/ + +N: Thomas Claveirole +F: package/fcgiwrap/ +F: package/openlayers/ + +N: Thomas Davis +F: package/civetweb/ + +N: Thomas De Schampheleire +F: docs/manual/ +F: package/cereal/ +F: package/chartjs/ +F: package/libtelnet/ +F: package/opkg-utils/ +F: package/perl-convert-asn1/ +F: package/perl-crypt-blowfish/ +F: package/perl-crypt-cbc/ +F: package/perl-crypt-openssl-aes/ +F: package/perl-i18n/ +F: package/perl-locale-maketext-lexicon/ +F: package/perl-lwp-protocol-https/ +F: package/perl-math-prime-util/ +F: package/perl-mime-base64-urlsafe/ +F: package/perl-mojolicious-plugin-authentication/ +F: package/perl-mojolicious-plugin-authorization/ +F: package/perl-mojolicious-plugin-cspheader/ +F: package/perl-mojolicious-plugin-i18n/ +F: package/perl-mojolicious-plugin-securityheader/ +F: package/perl-mozilla-ca/ +F: package/perl-net-snmp/ +F: package/perl-net-ssh2/ +F: package/perl-net-telnet/ +F: package/perl-path-class/ +F: package/pigz/ +F: package/xenomai/ +F: support/scripts/size-stats +F: support/testing/tests/package/test_perl_lwp_protocol_https.py +F: utils/size-stats-compare +F: toolchain/ + +N: Thomas Huth +F: package/ascii-invaders/ + +N: Thomas Petazzoni +F: arch/Config.in.arm +F: board/stmicroelectronics/stm32mp157c-dk2/ +F: boot/boot-wrapper-aarch64/ +F: boot/grub2/ +F: boot/gummiboot/ +F: configs/stm32mp157c_dk2_defconfig +F: package/android-tools/ +F: package/b43-firmware/ +F: package/b43-fwcutter/ +F: package/c-periphery/ +F: package/cdrkit/ +F: package/cifs-utils/ +F: package/cloop/ +F: package/cmake/ +F: package/cramfs/ +F: package/dmidecode/ +F: package/flashrom/ +F: package/gcc/ +F: package/genext2fs/ +F: package/genromfs/ +F: package/getent/ +F: package/gnu-efi/ +F: package/heirloom-mailx/ +F: package/hiawatha/ +F: package/igh-ethercat/ +F: package/intltool/ +F: package/libcap/ +F: package/libffi/ +F: package/libsha1/ +F: package/libtirpc/ +F: package/libxkbcommon/ +F: package/libxml-parser-perl/ +F: package/localedef/ +F: package/log4cxx/ +F: package/monit/ +F: package/mpdecimal/ +F: package/msmtp/ +F: package/musl/ +F: package/musl-fts/ +F: package/ne10/ +F: package/pkg-python.mk +F: package/pkg-autotools.mk +F: package/pkg-generic.mk +F: package/python/ +F: package/python3/ +F: package/python-mad/ +F: package/python-serial/ +F: package/qextserialport/ +F: package/rpcbind/ +F: package/rt-tests/ +F: package/rtc-tools/ +F: package/sam-ba/ +F: package/scons/ +F: package/squashfs/ +F: package/wayland/ +F: package/weston/ +F: support/testing/tests/boot/test_syslinux.py +F: toolchain/ + +N: Timo Ketola +F: package/fbgrab/ + +N: Titouan Christophe +F: package/avro-c/ +F: package/mosquitto/ +F: package/python-avro/ +F: package/redis/ +F: package/waf/ +F: support/testing/tests/package/test_crudini.py + +N: Trent Piepho +F: package/libp11/ + +N: Tudor Holton +F: package/openjdk/ + +N: Tzu-Jung Lee +F: package/dropwatch/ +F: package/tstools/ + +N: Vadim Kochan +F: package/brcm-patchram-plus/ +F: package/gettext-tiny/ +F: package/tinyssh/ + +N: Valentin Korenblit +F: package/clang/ +F: package/clinfo/ +F: package/libclc/ +F: package/llvm/ + +N: Vanya Sergeev +F: package/lua-periphery/ + +N: Victor Huesca +F: support/testing/tests/core/test_root_password.py + +N: Vincent Prince +F: package/nss-myhostname/ +F: package/utp_com/ + +N: Vincent Stehlé +F: package/i7z/ +F: package/msr-tools/ +F: package/pixz/ + +N: Vinicius Tinti +F: package/python-thrift/ + +N: Vivien Didelot +F: board/technologic/ts5500/ +F: configs/ts5500_defconfig + +N: Volkov Viacheslav +F: package/v4l2grab/ +F: package/zbar/ + +N: Wade Berrier +F: package/ngrep/ + +N: Waldemar Brodkorb +F: package/uclibc/ +F: package/uclibc-ng-test/ + +N: Will Newton +F: package/enchant/ +F: package/erlang/ +F: package/libmicrohttpd/ +F: package/sysprof/ +F: package/time/ + +N: Will Wagner +F: package/yaffs2utils/ + +N: Wojciech M. Zabolotny +F: package/avrdude/ +F: package/jack2/ +F: package/python-msgpack/ +F: package/python-pyusb/ + +N: Wojciech Niziński +F: package/fwup/ + +N: Yann E. MORIN +F: board/friendlyarm/nanopi-neo/ +F: configs/nanopi_neo_defconfig +F: fs/squashfs/ +F: package/asterisk/ +F: package/cegui/ +F: package/dahdi-linux/ +F: package/dahdi-tools/ +F: package/dtc/ +F: package/dtv-scan-tables/ +F: package/dvb-apps/ +F: package/freerdp/ +F: package/keyutils/ +F: package/libbsd/ +F: package/libedit/ +F: package/libgsm/ +F: package/libiberty/ +F: package/libinput/ +F: package/libiscsi/ +F: package/libpri/ +F: package/libseccomp/ +F: package/libss7/ +F: package/linux-firmware/ +F: package/linux-tools/ +F: package/matchbox* +F: package/mesa3d-headers/ +F: package/nbd/ +F: package/nut/ +F: package/nvidia-driver/ +F: package/omxplayer/ +F: package/python-pyparsing/ +F: package/pkg-download.mk +F: package/pkg-waf.mk +F: package/slirp/ +F: package/snappy/ +F: package/spice/ +F: package/spice-protocol/ +F: package/systemd/ +F: package/systemd-bootchart/ +F: package/tmux/ +F: package/tvheadend/ +F: package/usbredir/ +F: package/vde2/ +F: package/w_scan/ +F: package/wayland/ +F: package/weston/ +F: package/zisofs-tools/ +F: support/download/ + +N: Yegor Yefremov +F: configs/beaglebone_defconfig +F: configs/beaglebone_qt5_defconfig +F: package/acl/ +F: package/attr/ +F: package/boost/ +F: package/bootstrap/ +F: package/cannelloni/ +F: package/can-utils/ +F: package/circus/ +F: package/dhcpcd/ +F: package/feh/ +F: package/giblib/ +F: package/imlib2/ +F: package/jquery-datetimepicker/ +F: package/jquery-sidebar/ +F: package/kmod/ +F: package/libftdi1/ +F: package/libical/ +F: package/libmbim/ +F: package/libndp/ +F: package/libnftnl/ +F: package/libsoc/ +F: package/libsocketcan/ +F: package/libubox/ +F: package/libuci/ +F: package/linux-firmware/ +F: package/linux-serial-test/ +F: package/modem-manager/ +F: package/nftables/ +F: package/nuttcp/ +F: package/parted/ +F: package/phytool/ +F: package/poco/ +F: package/python* +F: package/ser2net/ +F: package/socketcand/ +F: package/swig/ +F: package/qt5/qt5serialbus/ +F: package/sdparm/ +F: package/ti-utils/ +F: package/x11r7/xapp_xconsole/ +F: package/x11r7/xapp_xinput-calibrator/ +F: package/zlog/ +F: support/testing/tests/package/test_libftdi1.py +F: support/testing/tests/package/test_python_can.py +F: utils/scanpypi + +N: Zoltan Gyarmati +F: package/crudini/ +F: package/grantlee/ +F: package/libusb/ +F: package/libusb-compat/ +F: package/proj/ +F: package/python-configobj/ +F: package/python-iniparse/ +F: package/qjson/ +F: package/quazip/ +F: package/shapelib/ +F: package/tinc/ diff --git a/Makefile b/Makefile index c510b7cbaa..3c2707c54a 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-2019 by the Buildroot developers +# Copyright (C) 2014-2020 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 := 2019.02.2 +export BR2_VERSION := 2020.05.1 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1556527000 +BR2_VERSION_EPOCH = 1595662000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -179,16 +179,18 @@ $(if $(BASE_DIR),, $(error output directory "$(O)" does not exist)) # still be overridden on the command line, therefore the file is re-created # every time make is run. -BR2_EXTERNAL_FILE = $(BASE_DIR)/.br-external.mk +BR2_EXTERNAL_FILE = $(BASE_DIR)/.br2-external.mk -include $(BR2_EXTERNAL_FILE) -$(shell support/scripts/br2-external \ - -m -o '$(BR2_EXTERNAL_FILE)' $(BR2_EXTERNAL)) +$(shell support/scripts/br2-external -d '$(BASE_DIR)' $(BR2_EXTERNAL)) BR2_EXTERNAL_ERROR = include $(BR2_EXTERNAL_FILE) ifneq ($(BR2_EXTERNAL_ERROR),) $(error $(BR2_EXTERNAL_ERROR)) endif +# Workaround bug in make-4.3: https://savannah.gnu.org/bugs/?57676 +$(BASE_DIR)/.br2-external.mk:; + # To make sure that the environment variable overrides the .config option, # set this before including .config. ifneq ($(BR2_DL_DIR),) @@ -205,6 +207,7 @@ BR_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf) BUILD_DIR := $(BASE_DIR)/build BINARIES_DIR := $(BASE_DIR)/images BASE_TARGET_DIR := $(BASE_DIR)/target +PER_PACKAGE_DIR := $(BASE_DIR)/per-package # 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 @@ -227,28 +230,18 @@ 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)) +ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),) +# Disable top-level parallel build if per-package directories is not +# used. Indeed, per-package directories is necessary to guarantee +# determinism and reproducibility with top-level parallel build. .NOTPARALLEL: +endif # timezone and locale may affect build output ifeq ($(BR2_REPRODUCIBLE),y) export TZ = UTC export LANG = C export LC_ALL = C -export GZIP = -n endif # To put more focus on warnings, be less verbose as default @@ -350,7 +343,7 @@ export HOSTARCH := $(shell LC_ALL=C $(HOSTCC_NOCCACHE) -v 2>&1 | \ # When adding a new host gcc version in Config.in, # update the HOSTCC_MAX_VERSION variable: -HOSTCC_MAX_VERSION := 8 +HOSTCC_MAX_VERSION := 9 HOSTCC_VERSION := $(shell V=$$($(HOSTCC_NOCCACHE) --version | \ sed -n -r 's/^.* ([0-9]*)\.([0-9]*)\.([0-9]*)[ ]*.*/\1 \2/p'); \ @@ -439,6 +432,7 @@ KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \ -e s/arceb/arc/ \ -e s/arm.*/arm/ -e s/sa110/arm/ \ -e s/aarch64.*/arm64/ \ + -e s/nds32.*/nds32/ \ -e s/or1k/openrisc/ \ -e s/parisc64/parisc/ \ -e s/powerpc64.*/powerpc/ \ @@ -453,19 +447,24 @@ XZCAT := $(call qstrip,$(BR2_XZCAT)) LZCAT := $(call qstrip,$(BR2_LZCAT)) TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf -# packages compiled for the host go here +ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) +HOST_DIR = $(if $(PKG),$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/host,$(call qstrip,$(BR2_HOST_DIR))) +TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(if $(PKG),$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/target,$(BASE_TARGET_DIR))) +else 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)) +endif ifneq ($(HOST_DIR),$(BASE_DIR)/host) HOST_DIR_SYMLINK = $(BASE_DIR)/host -$(HOST_DIR_SYMLINK): $(BASE_DIR) - ln -snf $(HOST_DIR) $(BASE_DIR)/host +$(HOST_DIR_SYMLINK): | $(BASE_DIR) + ln -snf $(HOST_DIR) $(HOST_DIR_SYMLINK) endif +STAGING_DIR_SYMLINK = $(BASE_DIR)/staging +$(STAGING_DIR_SYMLINK): | $(BASE_DIR) + ln -snf $(STAGING_DIR) $(STAGING_DIR_SYMLINK) + # Quotes are needed for spaces and all in the original PATH content. BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(PATH)" @@ -594,8 +593,8 @@ world: target-post-image .PHONY: prepare-sdk prepare-sdk: world @$(call MESSAGE,"Rendering the SDK relocatable") - $(TOPDIR)/support/scripts/fix-rpath host - $(TOPDIR)/support/scripts/fix-rpath staging + PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) $(TOPDIR)/support/scripts/fix-rpath host + PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) $(TOPDIR)/support/scripts/fix-rpath staging $(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh mkdir -p $(HOST_DIR)/share/buildroot echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location @@ -699,8 +698,9 @@ define PURGE_LOCALES rm -f $(LOCALE_WHITELIST) for i in $(LOCALE_NOPURGE) locale-archive; do echo $$i >> $(LOCALE_WHITELIST); done - for dir in $(wildcard $(addprefix $(TARGET_DIR),/usr/share/locale /usr/share/X11/locale /usr/lib/locale)); \ + for dir in $(addprefix $(TARGET_DIR),/usr/share/locale /usr/share/X11/locale /usr/lib/locale); \ do \ + if [ ! -d $$dir ]; then continue; fi; \ for langdir in $$dir/*; \ do \ if [ -e "$${langdir}" ]; \ @@ -728,31 +728,36 @@ $(TARGETS_ROOTFS): target-finalize # Avoid the rootfs name leaking down the dependency chain target-finalize: ROOTFS= -host-finalize: $(HOST_DIR_SYMLINK) +TARGET_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list.txt)) +HOST_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list-host.txt)) +STAGING_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list-staging.txt)) + +.PHONY: host-finalize +host-finalize: $(PACKAGES) $(HOST_DIR) $(HOST_DIR_SYMLINK) + @$(call MESSAGE,"Finalizing host directory") + $(call per-package-rsync,$(sort $(PACKAGES)),host,$(HOST_DIR)) .PHONY: staging-finalize -staging-finalize: - @ln -snf $(STAGING_DIR) $(BASE_DIR)/staging +staging-finalize: $(STAGING_DIR_SYMLINK) .PHONY: target-finalize -target-finalize: $(PACKAGES) host-finalize +target-finalize: $(PACKAGES) $(TARGET_DIR) 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 - ./support/scripts/check-uniq-files -t staging $(BUILD_DIR)/packages-file-list-staging.txt - ./support/scripts/check-uniq-files -t host $(BUILD_DIR)/packages-file-list-host.txt + $(call per-package-rsync,$(sort $(PACKAGES)),target,$(TARGET_DIR)) $(foreach hook,$(TARGET_FINALIZE_HOOKS),$($(hook))$(sep)) rm -rf $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/share/aclocal \ $(TARGET_DIR)/usr/lib/pkgconfig $(TARGET_DIR)/usr/share/pkgconfig \ - $(TARGET_DIR)/usr/lib/cmake $(TARGET_DIR)/usr/share/cmake + $(TARGET_DIR)/usr/lib/cmake $(TARGET_DIR)/usr/share/cmake \ + $(TARGET_DIR)/usr/doc find $(TARGET_DIR)/usr/{lib,share}/ -name '*.cmake' -print0 | xargs -0 rm -f find $(TARGET_DIR)/lib/ $(TARGET_DIR)/usr/lib/ $(TARGET_DIR)/usr/libexec/ \ - \( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f + \( -name '*.a' -o -name '*.la' -o -name '*.prl' \) -print0 | xargs -0 rm -f ifneq ($(BR2_PACKAGE_GDB),y) rm -rf $(TARGET_DIR)/usr/share/gdb endif ifneq ($(BR2_PACKAGE_BASH),y) rm -rf $(TARGET_DIR)/usr/share/bash-completion + rm -rf $(TARGET_DIR)/etc/bash_completion.d endif ifneq ($(BR2_PACKAGE_ZSH),y) rm -rf $(TARGET_DIR)/usr/share/zsh @@ -762,6 +767,9 @@ endif rm -rf $(TARGET_DIR)/usr/doc $(TARGET_DIR)/usr/share/doc rm -rf $(TARGET_DIR)/usr/share/gtk-doc rmdir $(TARGET_DIR)/usr/share 2>/dev/null || true +ifneq ($(BR2_ENABLE_DEBUG):$(BR2_STRIP_strip),y:) + rm -rf $(TARGET_DIR)/lib/debug $(TARGET_DIR)/usr/lib/debug +endif $(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 @@ -780,7 +788,7 @@ endif ln -sf ../usr/lib/os-release $(TARGET_DIR)/etc @$(call MESSAGE,"Sanitizing RPATH in target tree") - $(TOPDIR)/support/scripts/fix-rpath target + PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) $(TOPDIR)/support/scripts/fix-rpath target # For a merged /usr, ensure that /lib, /bin and /sbin and their /usr # counterparts are appropriately setup as symlinks ones to the others. @@ -802,6 +810,13 @@ endif # merged /usr $(call MESSAGE,"Copying overlay $(d)"); \ $(call SYSTEM_RSYNC,$(d),$(TARGET_DIR))$(sep)) + $(if $(TARGET_DIR_FILES_LISTS), \ + cat $(TARGET_DIR_FILES_LISTS)) > $(BUILD_DIR)/packages-file-list.txt + $(if $(HOST_DIR_FILES_LISTS), \ + cat $(HOST_DIR_FILES_LISTS)) > $(BUILD_DIR)/packages-file-list-host.txt + $(if $(STAGING_DIR_FILES_LISTS), \ + cat $(STAGING_DIR_FILES_LISTS)) > $(BUILD_DIR)/packages-file-list-staging.txt + @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \ $(call MESSAGE,"Executing post-build script $(s)"); \ $(EXTRA_ENV) $(s) $(TARGET_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) @@ -811,6 +826,7 @@ endif # merged /usr .PHONY: target-post-image target-post-image: $(TARGETS_ROOTFS) target-finalize staging-finalize @rm -f $(ROOTFS_COMMON_TAR) + $(Q)mkdir -p $(BINARIES_DIR) @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \ $(call MESSAGE,"Executing post-image script $(s)"); \ $(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) @@ -892,13 +908,29 @@ graph-size: $(Q)$(TOPDIR)/support/scripts/size-stats --builddir $(BASE_DIR) \ --graph $(GRAPHS_DIR)/graph-size.$(BR_GRAPH_OUT) \ --file-size-csv $(GRAPHS_DIR)/file-size-stats.csv \ - --package-size-csv $(GRAPHS_DIR)/package-size-stats.csv + --package-size-csv $(GRAPHS_DIR)/package-size-stats.csv \ + $(BR2_GRAPH_SIZE_OPTS) .PHONY: check-dependencies check-dependencies: @cd "$(CONFIG_DIR)"; \ $(TOPDIR)/support/scripts/graph-depends -C +.PHONY: show-info +show-info: + @: + $(info $(call clean-json, \ + { $(foreach p, \ + $(sort $(foreach i,$(PACKAGES) $(TARGETS_ROOTFS), \ + $(i) \ + $($(call UPPERCASE,$(i))_FINAL_RECURSIVE_DEPENDENCIES) \ + ) \ + ), \ + $(call json-info,$(call UPPERCASE,$(p)))$(comma) \ + ) } \ + ) \ + ) + else # ifeq ($(BR2_HAVE_DOT_CONFIG),y) # Some subdirectories are also package names. To avoid that "make linux" @@ -918,9 +950,6 @@ endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y) HOSTCFLAGS = $(CFLAGS_FOR_BUILD) export HOSTCFLAGS -.PHONY: prepare-kconfig -prepare-kconfig: outputmakefile $(BUILD_DIR)/.br2-external.in - $(BUILD_DIR)/buildroot-config/%onf: mkdir -p $(@D)/lxdialog PKG_CONFIG_PATH="$(HOST_PKG_CONFIG_PATH)" $(MAKE) CC="$(HOSTCC_NOCCACHE)" HOSTCC="$(HOSTCC_NOCCACHE)" \ @@ -937,22 +966,22 @@ COMMON_CONFIG_ENV = \ KCONFIG_TRISTATE=$(BUILD_DIR)/buildroot-config/tristate.config \ BR2_CONFIG=$(BR2_CONFIG) \ HOST_GCC_VERSION="$(HOSTCC_VERSION)" \ - BUILD_DIR=$(BUILD_DIR) \ + BASE_DIR=$(BASE_DIR) \ SKIP_LEGACY= -xconfig: $(BUILD_DIR)/buildroot-config/qconf prepare-kconfig +xconfig: $(BUILD_DIR)/buildroot-config/qconf outputmakefile @$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN) -gconfig: $(BUILD_DIR)/buildroot-config/gconf prepare-kconfig +gconfig: $(BUILD_DIR)/buildroot-config/gconf outputmakefile @$(COMMON_CONFIG_ENV) srctree=$(TOPDIR) $< $(CONFIG_CONFIG_IN) -menuconfig: $(BUILD_DIR)/buildroot-config/mconf prepare-kconfig +menuconfig: $(BUILD_DIR)/buildroot-config/mconf outputmakefile @$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN) -nconfig: $(BUILD_DIR)/buildroot-config/nconf prepare-kconfig +nconfig: $(BUILD_DIR)/buildroot-config/nconf outputmakefile @$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN) -config: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +config: $(BUILD_DIR)/buildroot-config/conf outputmakefile @$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN) # For the config targets that automatically select options, we pass @@ -960,11 +989,11 @@ config: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig # no values are set for the legacy options so a subsequent oldconfig # will query them. Therefore, run an additional olddefconfig. -randconfig allyesconfig alldefconfig allnoconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +randconfig allyesconfig alldefconfig allnoconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --$@ $(CONFIG_CONFIG_IN) @$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null -randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg @$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \ KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \ @@ -972,15 +1001,15 @@ randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot @rm -f $(CONFIG_DIR)/.config.nopkg @$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null -oldconfig syncconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +oldconfig syncconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @$(COMMON_CONFIG_ENV) $< --$@ $(CONFIG_CONFIG_IN) -defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @$(COMMON_CONFIG_ENV) $< --defconfig$(if $(DEFCONFIG),=$(DEFCONFIG)) $(CONFIG_CONFIG_IN) define percent_defconfig # Override the BR2_DEFCONFIG from COMMON_CONFIG_ENV with the new defconfig -%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(1)/configs/%_defconfig prepare-kconfig +%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(1)/configs/%_defconfig outputmakefile @$$(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$(1)/configs/$$@ \ $$< --defconfig=$(1)/configs/$$@ $$(CONFIG_CONFIG_IN) endef @@ -988,7 +1017,7 @@ $(eval $(foreach d,$(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)),$(call percent update-defconfig: savedefconfig -savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @$(COMMON_CONFIG_ENV) $< \ --savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \ $(CONFIG_CONFIG_IN) @@ -1004,7 +1033,7 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig # staging and target directories do NOT list these as # dependencies anywhere else -$(BUILD_DIR) $(BASE_TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST): +$(BUILD_DIR) $(BASE_TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST) $(PER_PACKAGE_DIR): @mkdir -p $@ # outputmakefile generates a Makefile in the output directory, if using a @@ -1016,13 +1045,6 @@ ifeq ($(NEED_WRAPPER),y) $(Q)$(TOPDIR)/support/scripts/mkmakefile $(TOPDIR) $(O) endif -# Even though the target is a real file, we mark it as PHONY as we -# want it to be re-generated each time make is invoked, in case the -# value of BR2_EXTERNAL is changed. -.PHONY: $(BUILD_DIR)/.br2-external.in -$(BUILD_DIR)/.br2-external.in: $(BUILD_DIR) - $(Q)support/scripts/br2-external -k -o "$(@)" $(BR2_EXTERNAL) - # printvars prints all the variables currently defined in our # Makefiles. Alternatively, if a non-empty VARS variable is passed, # only the variables matching the make pattern passed in VARS are @@ -1031,7 +1053,7 @@ $(BUILD_DIR)/.br2-external.in: $(BUILD_DIR) printvars: @: $(foreach V, \ - $(sort $(if $(VARS),$(filter $(VARS),$(.VARIABLES)),$(.VARIABLES))), \ + $(sort $(filter $(VARS),$(.VARIABLES))), \ $(if $(filter-out environment% default automatic, \ $(origin $V)), \ $(if $(QUOTED_VARS),\ @@ -1043,7 +1065,7 @@ printvars: clean: rm -rf $(BASE_TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) $(HOST_DIR_SYMLINK) \ $(BUILD_DIR) $(BASE_DIR)/staging \ - $(LEGAL_INFO_DIR) $(GRAPHS_DIR) + $(LEGAL_INFO_DIR) $(GRAPHS_DIR) $(PER_PACKAGE_DIR) .PHONY: distclean distclean: clean @@ -1051,7 +1073,7 @@ ifeq ($(O),$(CURDIR)/output) rm -rf $(O) endif rm -rf $(TOPDIR)/dl $(BR2_CONFIG) $(CONFIG_DIR)/.config.old $(CONFIG_DIR)/..config.tmp \ - $(CONFIG_DIR)/.auto.deps $(BR2_EXTERNAL_FILE) + $(CONFIG_DIR)/.auto.deps $(BASE_DIR)/.br2-external.* .PHONY: help help: @@ -1092,6 +1114,7 @@ help: @echo ' -depends - Build '\''s dependencies' @echo ' -configure - Build up to the configure step' @echo ' -build - Build up to the build step' + @echo ' -show-info - generate info about , as a JSON blurb' @echo ' -show-depends - List packages on which depends' @echo ' -show-rdepends - List packages which have as a dependency' @echo ' -show-recursive-depends' @@ -1124,7 +1147,8 @@ help: @echo ' source - download all sources needed for offline-build' @echo ' external-deps - list external packages used' @echo ' legal-info - generate info about license compliance' - @echo ' printvars - dump all the internal variables' + @echo ' show-info - generate info about packages, as a JSON blurb' + @echo ' printvars - dump internal variables selected with VARS=...' @echo @echo ' make V=0|1 - 0 => quiet build (default), 1 => verbose build' @echo ' make O=dir - Locate all output files in "dir", including .config' @@ -1170,7 +1194,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) clean + $(MAKE) O=$(OUT) distclean tar rf $(OUT).tar $(OUT) gzip -9 -c < $(OUT).tar > $(OUT).tar.gz bzip2 -9 -c < $(OUT).tar > $(OUT).tar.bz2 diff --git a/arch/Config.in b/arch/Config.in index f50760a0cf..94bd2150ca 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -77,8 +77,10 @@ config BR2_aarch64_be config BR2_csky bool "csky" - select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT select BR2_ARCH_HAS_MMU_MANDATORY + # Most variants are supported by gcc-9+, except one that is + # handled as a special exception in package/gcc/Config.in.host + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 help csky is processor IP from china. http://www.c-sky.com/ @@ -154,6 +156,14 @@ config BR2_mips64el http://www.mips.com/ http://en.wikipedia.org/wiki/MIPS_Technologies +config BR2_nds32 + bool "nds32" + select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT + select BR2_ARCH_HAS_MMU_MANDATORY + help + nds32 is a 32-bit architecture developed by Andes Technology. + https://en.wikipedia.org/wiki/Andes_Technology + config BR2_nios2 bool "Nios II" select BR2_ARCH_HAS_MMU_MANDATORY @@ -294,6 +304,10 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_8 bool select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_ARCH_NEEDS_GCC_AT_LEAST_9 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 + # The following string values are defined by the individual # Config.in.$ARCH files config BR2_ARCH @@ -419,6 +433,10 @@ if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el source "arch/Config.in.mips" endif +if BR2_nds32 +source "arch/Config.in.nds32" +endif + if BR2_nios2 source "arch/Config.in.nios2" endif diff --git a/arch/Config.in.arc b/arch/Config.in.arc index 156384b9a5..fdfafda31c 100644 --- a/arch/Config.in.arc +++ b/arch/Config.in.arc @@ -13,13 +13,43 @@ config BR2_arc770d config BR2_archs38 bool "ARC HS38" + help + Generic ARC HS capable of running Linux, i.e. with MMU, + caches and 32-bit multiplier. Also it corresponds to the + default configuration in older GNU toolchain versions. + +config BR2_archs38_64mpy + bool "ARC HS38 with 64-bit mpy" + help + Fully featured ARC HS capable of running Linux, i.e. with + MMU, caches and 64-bit multiplier. + + If you're not sure which version of ARC HS core you build + for use this one. + +config BR2_archs38_full + bool "ARC HS38 with Quad MAC & FPU" + help + Fully featured ARC HS with additional support for + - Dual- and quad multiply and MC oprations + - Double-precision FPU + + It corresponds to "hs38_slc_full" ARC HS template in + ARChitect. + +config BR2_archs4x_rel31 + bool "ARC HS48 rel 31" + help + Latest release of HS48 processor + - Dual- and quad multiply and MC oprations + - Double-precision FPU endchoice # Choice of atomic instructions presence config BR2_ARC_ATOMIC_EXT bool "Atomic extension (LLOCK/SCOND instructions)" - default y if BR2_arc770d || BR2_archs38 + default y if BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full || BR2_archs4x_rel31 config BR2_ARCH default "arc" if BR2_arcle @@ -37,10 +67,13 @@ config BR2_GCC_TARGET_CPU default "arc700" if BR2_arc750d default "arc700" if BR2_arc770d default "archs" if BR2_archs38 + default "hs38" if BR2_archs38_64mpy + default "hs38_linux" if BR2_archs38_full + default "hs4x_rel31" if BR2_archs4x_rel31 config BR2_READELF_ARCH_NAME default "ARCompact" if BR2_arc750d || BR2_arc770d - default "ARCv2" if BR2_archs38 + default "ARCv2" if BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full || BR2_archs4x_rel31 choice prompt "MMU Page Size" @@ -60,7 +93,7 @@ choice config BR2_ARC_PAGE_SIZE_4K bool "4KB" - depends on BR2_arc770d || BR2_archs38 + depends on BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full || BR2_archs4x_rel31 config BR2_ARC_PAGE_SIZE_8K bool "8KB" @@ -70,7 +103,7 @@ config BR2_ARC_PAGE_SIZE_8K config BR2_ARC_PAGE_SIZE_16K bool "16KB" - depends on BR2_arc770d || BR2_archs38 + depends on BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full || BR2_archs4x_rel31 endchoice @@ -79,3 +112,6 @@ config BR2_ARC_PAGE_SIZE default "4K" if BR2_ARC_PAGE_SIZE_4K default "8K" if BR2_ARC_PAGE_SIZE_8K default "16K" if BR2_ARC_PAGE_SIZE_16K + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.arm b/arch/Config.in.arm index a9972978d4..4c0910e4f8 100644 --- a/arch/Config.in.arm +++ b/arch/Config.in.arm @@ -367,6 +367,13 @@ config BR2_cortex_a73_a53 select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_emag + bool "emag" + depends on 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_9 config BR2_exynos_m1 bool "exynos-m1" select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 @@ -376,50 +383,62 @@ 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" + depends on 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_phecda + bool "phecda" + depends on 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_9 config BR2_qdf24xx bool "qdf24xx" + depends on 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 config BR2_thunderx - bool "thunderx" + bool "thunderx (aka octeontx)" + depends on 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_5 config BR2_thunderxt81 - bool "thunderxt81" + bool "thunderxt81 (aka octeontx81)" + depends on 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_thunderxt83 - bool "thunderxt83" + bool "thunderxt83 (aka octeontx83)" + depends on 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_thunderxt88 bool "thunderxt88" + depends on 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_thunderxt88p1 bool "thunderxt88p1" + depends on 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 config BR2_xgene1 bool "xgene1" select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 @@ -430,59 +449,94 @@ config BR2_xgene1 select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 -if BR2_ARCH_IS_64 comment "armv8.1a cores" config BR2_thunderx2t99 bool "thunderx2t99" + depends on 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" + depends on 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" + depends on 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" + depends on 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_8 config BR2_cortex_a75 bool "cortex-A75" + depends on 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_8 config BR2_cortex_a75_a55 bool "cortex-A75/A55 big.LITTLE" + depends on 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_8 -endif # BR2_ARCH_IS_64 +config BR2_cortex_a76 + bool "cortex-A76" + 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_9 +config BR2_cortex_a76_a55 + bool "cortex-A76/A55 big.LITTLE" + 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_9 +config BR2_neoverse_n1 + bool "neoverse-N1 (aka ares)" + 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_9 +config BR2_tsv110 + bool "tsv110" + depends on 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_9 -if BR2_ARCH_IS_64 -comment "armv8.3a cores" +comment "armv8.4a cores" config BR2_saphira bool "saphira" + depends on 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_8 -endif # BR2_ARCH_IS_64 endchoice config BR2_ARM_ENABLE_NEON @@ -815,12 +869,17 @@ config BR2_GCC_TARGET_CPU default "cortex-a73" if BR2_cortex_a73 default "cortex-a73.cortex-a35" if BR2_cortex_a73_a35 default "cortex-a73.cortex-a53" if BR2_cortex_a73_a53 + default "emag" if BR2_emag default "exynos-m1" if BR2_exynos_m1 default "falkor" if BR2_falkor + default "phecda" if BR2_phecda default "qdf24xx" if BR2_qdf24xx - default "thunderx" if BR2_thunderx - default "thunderxt81" if BR2_thunderxt81 - default "thunderxt83" if BR2_thunderxt83 + default "thunderx" if BR2_thunderx && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 + default "octeontx" if BR2_thunderx && BR2_TOOLCHAIN_GCC_AT_LEAST_9 + default "thunderxt81" if BR2_thunderxt81 && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 + default "octeontx81" if BR2_thunderxt81 && BR2_TOOLCHAIN_GCC_AT_LEAST_9 + default "thunderxt83" if BR2_thunderxt83 && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 + default "octeontx83" if BR2_thunderxt83 && BR2_TOOLCHAIN_GCC_AT_LEAST_9 default "thunderxt88" if BR2_thunderxt88 default "thunderxt88p1" if BR2_thunderxt88p1 default "xgene1" if BR2_xgene1 @@ -832,7 +891,11 @@ config BR2_GCC_TARGET_CPU 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 "cortex-a76" if BR2_cortex_a76 + default "cortex-a76.cortex-a55" if BR2_cortex_a76_a55 + default "neoverse-n1" if BR2_neoverse_n1 + default "tsv110" if BR2_tsv110 + # armv8.4a default "saphira" if BR2_saphira config BR2_GCC_TARGET_ABI @@ -866,3 +929,6 @@ config BR2_GCC_TARGET_MODE config BR2_READELF_ARCH_NAME default "ARM" if BR2_arm || BR2_armeb default "AArch64" if BR2_aarch64 || BR2_aarch64_be + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.csky b/arch/Config.in.csky index e88e4e2d12..7e2029f759 100644 --- a/arch/Config.in.csky +++ b/arch/Config.in.csky @@ -5,6 +5,8 @@ choice Specific CPU variant to use config BR2_ck610 + # Not supported by upstream gcc <= 9, and handled as a special + # exception in package/gcc/Config.in.host bool "ck610" config BR2_ck807 @@ -13,19 +15,26 @@ config BR2_ck807 config BR2_ck810 bool "ck810" +config BR2_ck860 + bool "ck860" + endchoice config BR2_CSKY_FPU bool "Enable FPU coprocessor" - depends on BR2_ck810 || BR2_ck807 + depends on BR2_ck810 || BR2_ck807 || BR2_ck860 help You can say N here if your C-SKY CPU doesn't have a Floating-Point Coprocessor or if you don't need FPU support for your user-space programs. -config BR2_CSKY_DSP - bool "Enable DSP enhanced instructions" - depends on BR2_ck810 || BR2_ck807 +config BR2_CSKY_VDSP + bool "Enable VDSP enhanced instructions Co-processor" + depends on BR2_CSKY_FPU + +config BR2_GCC_TARGET_FLOAT_ABI + default "soft" if !BR2_CSKY_FPU + default "hard" if BR2_CSKY_FPU config BR2_ARCH default "csky" @@ -33,16 +42,8 @@ config BR2_ARCH config BR2_ENDIAN default "LITTLE" -config BR2_GCC_TARGET_CPU - default "ck610" if (BR2_ck610 && !BR2_CSKY_FPU && !BR2_CSKY_DSP) - default "ck807" if (BR2_ck807 && !BR2_CSKY_FPU && !BR2_CSKY_DSP) - default "ck807e" if (BR2_ck807 && !BR2_CSKY_FPU && BR2_CSKY_DSP) - default "ck807f" if (BR2_ck807 && BR2_CSKY_FPU && !BR2_CSKY_DSP) - default "ck807ef" if (BR2_ck807 && BR2_CSKY_FPU && BR2_CSKY_DSP) - default "ck810" if (BR2_ck810 && !BR2_CSKY_FPU && !BR2_CSKY_DSP) - default "ck810e" if (BR2_ck810 && !BR2_CSKY_FPU && BR2_CSKY_DSP) - default "ck810f" if (BR2_ck810 && BR2_CSKY_FPU && !BR2_CSKY_DSP) - default "ck810ef" if (BR2_ck810 && BR2_CSKY_FPU && BR2_CSKY_DSP) - config BR2_READELF_ARCH_NAME default "CSKY" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.m68k b/arch/Config.in.m68k index c134df2f14..275f47f1d3 100644 --- a/arch/Config.in.m68k +++ b/arch/Config.in.m68k @@ -38,3 +38,6 @@ config BR2_GCC_TARGET_CPU config BR2_READELF_ARCH_NAME default "MC68000" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.microblaze b/arch/Config.in.microblaze index 042712a1b6..5fe2906d40 100644 --- a/arch/Config.in.microblaze +++ b/arch/Config.in.microblaze @@ -12,3 +12,6 @@ config BR2_READELF_ARCH_NAME config BR2_microblaze bool default y if BR2_microblazeel || BR2_microblazebe + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.mips b/arch/Config.in.mips index 7f7aa63f06..619456c2d5 100644 --- a/arch/Config.in.mips +++ b/arch/Config.in.mips @@ -271,3 +271,6 @@ config BR2_GCC_TARGET_ABI config BR2_READELF_ARCH_NAME default "MIPS R3000" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.nds32 b/arch/Config.in.nds32 new file mode 100644 index 0000000000..322ff49f2e --- /dev/null +++ b/arch/Config.in.nds32 @@ -0,0 +1,14 @@ +config BR2_ARCH + default "nds32le" + +config BR2_GCC_TARGET_ARCH + default "v3" + +config BR2_ENDIAN + default "LITTLE" + +config BR2_READELF_ARCH_NAME + default "Andes Technology compact code size embedded RISC processor family" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.nios2 b/arch/Config.in.nios2 index 7466331016..aae435fa17 100644 --- a/arch/Config.in.nios2 +++ b/arch/Config.in.nios2 @@ -6,3 +6,6 @@ config BR2_ENDIAN config BR2_READELF_ARCH_NAME default "Altera Nios II" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.or1k b/arch/Config.in.or1k index b31ab3e95b..abdf498fb8 100644 --- a/arch/Config.in.or1k +++ b/arch/Config.in.or1k @@ -6,3 +6,6 @@ config BR2_ENDIAN config BR2_READELF_ARCH_NAME default "OpenRISC 1000" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc index 7a452a630a..56c4b526ec 100644 --- a/arch/Config.in.powerpc +++ b/arch/Config.in.powerpc @@ -205,14 +205,9 @@ config BR2_GCC_TARGET_CPU default "power7" if BR2_powerpc_power7 default "power8" if BR2_powerpc_power8 -config BR2_GCC_TARGET_ABI - default "altivec" if BR2_PPC_ABI_altivec - default "no-altivec" if BR2_PPC_ABI_no-altivec - default "spe" if BR2_PPC_ABI_spe - default "no-spe" if BR2_PPC_ABI_no-spe - default "ibmlongdouble" if BR2_PPC_ABI_ibmlongdouble - default "ieeelongdouble" if BR2_PPC_ABI_ieeelongdouble - config BR2_READELF_ARCH_NAME default "PowerPC" if BR2_powerpc default "PowerPC64" if BR2_powerpc64 || BR2_powerpc64le + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.riscv b/arch/Config.in.riscv index 097719e846..1fc20e5de7 100644 --- a/arch/Config.in.riscv +++ b/arch/Config.in.riscv @@ -80,8 +80,12 @@ 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 + default BR2_RISCV_ABI_ILP32D if !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD + default BR2_RISCV_ABI_ILP32F if !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF + default BR2_RISCV_ABI_ILP32 if !BR2_ARCH_IS_64 + default BR2_RISCV_ABI_LP64D if BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD + default BR2_RISCV_ABI_LP64F if BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF + default BR2_RISCV_ABI_LP64 if BR2_ARCH_IS_64 config BR2_RISCV_ABI_ILP32 bool "ilp32" @@ -125,3 +129,6 @@ config BR2_GCC_TARGET_ABI config BR2_READELF_ARCH_NAME default "RISC-V" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.sh b/arch/Config.in.sh index 1cb2db90ad..b5cce18e22 100644 --- a/arch/Config.in.sh +++ b/arch/Config.in.sh @@ -30,3 +30,6 @@ config BR2_ENDIAN config BR2_READELF_ARCH_NAME default "Renesas / SuperH SH" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.sparc b/arch/Config.in.sparc index b22b55142e..4c4dc61745 100644 --- a/arch/Config.in.sparc +++ b/arch/Config.in.sparc @@ -32,3 +32,6 @@ config BR2_GCC_TARGET_CPU config BR2_READELF_ARCH_NAME default "Sparc" if BR2_sparc default "Sparc v9" if BR2_sparc64 + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.x86 b/arch/Config.in.x86 index f7c53a0fae..7aae3cafb7 100644 --- a/arch/Config.in.x86 +++ b/arch/Config.in.x86 @@ -1,6 +1,8 @@ # i386/x86_64 cpu features config BR2_X86_CPU_HAS_MMX bool +config BR2_X86_CPU_HAS_3DNOW + bool config BR2_X86_CPU_HAS_SSE bool config BR2_X86_CPU_HAS_SSE2 @@ -101,6 +103,15 @@ config BR2_x86_corei7 select BR2_X86_CPU_HAS_SSSE3 select BR2_X86_CPU_HAS_SSE4 select BR2_X86_CPU_HAS_SSE42 +config BR2_x86_westmere + bool "westmere" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 config BR2_x86_corei7_avx bool "corei7-avx" select BR2_X86_CPU_HAS_MMX @@ -146,15 +157,18 @@ config BR2_x86_k6_2 bool "k6-2" depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_3DNOW config BR2_x86_athlon bool "athlon" depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_3DNOW config BR2_x86_athlon_4 bool "athlon-4" depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_3DNOW config BR2_x86_opteron bool "opteron" select BR2_X86_CPU_HAS_MMX @@ -200,6 +214,7 @@ config BR2_x86_c3 bool "Via/Cyrix C3 (Samuel/Ezra cores)" depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_3DNOW config BR2_x86_c32 bool "Via C3-2 (Nehemiah cores)" depends on !BR2_x86_64 @@ -235,8 +250,9 @@ config BR2_ARCH default "i686" if BR2_x86_nocona && BR2_i386 default "i686" if BR2_x86_core2 && BR2_i386 default "i686" if BR2_x86_corei7 && BR2_i386 + default "i686" if BR2_x86_westmere && BR2_i386 default "i686" if BR2_x86_corei7_avx && BR2_i386 - default "i686" if BR2_x86_corei7_avx2 && BR2_i386 + default "i686" if BR2_x86_core_avx2 && BR2_i386 default "i686" if BR2_x86_atom && BR2_i386 default "i686" if BR2_x86_silvermont && BR2_i386 default "i686" if BR2_x86_opteron && BR2_i386 @@ -271,6 +287,7 @@ config BR2_GCC_TARGET_ARCH default "corei7-avx" if BR2_x86_corei7_avx default "core-avx2" if BR2_x86_core_avx2 default "atom" if BR2_x86_atom + default "westmere" if BR2_x86_westmere default "silvermont" if BR2_x86_silvermont default "k8" if BR2_x86_opteron default "k8-sse3" if BR2_x86_opteron_sse3 @@ -290,3 +307,6 @@ config BR2_GCC_TARGET_ARCH config BR2_READELF_ARCH_NAME default "Intel 80386" if BR2_i386 default "Advanced Micro Devices X86-64" if BR2_x86_64 + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.xtensa b/arch/Config.in.xtensa index 14049480ec..a79d906985 100644 --- a/arch/Config.in.xtensa +++ b/arch/Config.in.xtensa @@ -50,3 +50,6 @@ config BR2_ARCH config BR2_READELF_ARCH_NAME default "Tensilica Xtensa Processor" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/arch.mk.arc b/arch/arch.mk.arc new file mode 100644 index 0000000000..32b818b0e0 --- /dev/null +++ b/arch/arch.mk.arc @@ -0,0 +1,17 @@ +ifeq ($(BR2_arc),y) + +# -matomic is always required when the ARC core has the atomic extensions +ifeq ($(BR2_ARC_ATOMIC_EXT),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS = -matomic +endif + +# Explicitly set LD's "max-page-size" instead of relying on some defaults +ifeq ($(BR2_ARC_PAGE_SIZE_4K),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=4096 +else ifeq ($(BR2_ARC_PAGE_SIZE_8K),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=8192 +else ifeq ($(BR2_ARC_PAGE_SIZE_16K),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=16384 +endif + +endif diff --git a/arch/arch.mk.csky b/arch/arch.mk.csky new file mode 100644 index 0000000000..fb59ae22fd --- /dev/null +++ b/arch/arch.mk.csky @@ -0,0 +1,26 @@ +# +# Configure the GCC_TARGET_ARCH variable and append the +# appropriate C-SKY ISA extensions. +# + +ifeq ($(BR2_csky),y) + +ifeq ($(BR2_ck610),y) +GCC_TARGET_CPU := ck610 +else ifeq ($(BR2_ck807),y) +GCC_TARGET_CPU := ck807 +else ifeq ($(BR2_ck810),y) +GCC_TARGET_CPU := ck810 +else ifeq ($(BR2_ck860),y) +GCC_TARGET_CPU := ck860 +endif + +ifeq ($(BR2_CSKY_FPU),y) +GCC_TARGET_CPU := $(GCC_TARGET_CPU)f +endif + +ifeq ($(BR2_CSKY_VDSP),y) +GCC_TARGET_CPU := $(GCC_TARGET_CPU)v +endif + +endif diff --git a/boot/Config.in b/boot/Config.in index 11856fd9c7..b3adbfc8bc 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -13,11 +13,11 @@ source "boot/gummiboot/Config.in" source "boot/lpc32xxcdl/Config.in" source "boot/mv-ddr-marvell/Config.in" source "boot/mxs-bootlets/Config.in" -source "boot/riscv-pk/Config.in" +source "boot/optee-os/Config.in" +source "boot/opensbi/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" diff --git a/boot/afboot-stm32/0001-Use-ld-instead-of-gcc-for-linking.patch b/boot/afboot-stm32/0001-Use-ld-instead-of-gcc-for-linking.patch deleted file mode 100644 index 3f359dc316..0000000000 --- a/boot/afboot-stm32/0001-Use-ld-instead-of-gcc-for-linking.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0d581abe6620ac69adec321b94390e009802f36a Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 13 Mar 2016 14:32:33 +0100 -Subject: [PATCH] Use ld instead of gcc for linking - -Signed-off-by: Thomas Petazzoni ---- - Makefile | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/Makefile b/Makefile -index ce40314..271bb4f 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,6 +1,7 @@ - CROSS_COMPILE ?= arm-none-eabi- - - CC = $(CROSS_COMPILE)gcc -+LD = $(CROSS_COMPILE)ld - OBJCOPY = $(CROSS_COMPILE)objcopy - OBJDUMP = $(CROSS_COMPILE)objdump - SIZE = $(CROSS_COMPILE)size -@@ -10,7 +11,7 @@ OPENOCD = openocd - CFLAGS := -mthumb -mcpu=cortex-m4 - CFLAGS += -ffunction-sections -fdata-sections - CFLAGS += -Os -std=gnu99 -Wall --LDFLAGS := -nostartfiles -Wl,--gc-sections -+LINKERFLAGS := -nostartfiles --gc-sections - - obj-y += gpio.o mpu.o - obj-f4 += $(obj-y) usart-f4.o -@@ -22,22 +23,22 @@ all: stm32f429i-disco stm32429i-eval stm32f469i-disco stm32746g-eval - $(CC) -c $(CFLAGS) $< -o $@ - - stm32f429i-disco: stm32f429i-disco.o $(obj-f4) -- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32f429i-disco.elf stm32f429i-disco.o $(obj-f4) -+ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32f429i-disco.elf stm32f429i-disco.o $(obj-f4) - $(OBJCOPY) -Obinary stm32f429i-disco.elf stm32f429i-disco.bin - $(SIZE) stm32f429i-disco.elf - - stm32429i-eval: stm32429i-eval.o $(obj-f4) -- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32429i-eval.elf stm32429i-eval.o $(obj-f4) -+ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32429i-eval.elf stm32429i-eval.o $(obj-f4) - $(OBJCOPY) -Obinary stm32429i-eval.elf stm32429i-eval.bin - $(SIZE) stm32429i-eval.elf - - stm32f469i-disco: stm32f469i-disco.o $(obj-f4) -- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32f469i-disco.elf stm32f469i-disco.o $(obj-f4) -+ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32f469i-disco.elf stm32f469i-disco.o $(obj-f4) - $(OBJCOPY) -Obinary stm32f469i-disco.elf stm32f469i-disco.bin - $(SIZE) stm32f469i-disco.elf - - stm32746g-eval: stm32746g-eval.o $(obj-f7) -- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32746g-eval.elf stm32746g-eval.o $(obj-f7) -+ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32746g-eval.elf stm32746g-eval.o $(obj-f7) - $(OBJCOPY) -Obinary stm32746g-eval.elf stm32746g-eval.bin - $(SIZE) stm32746g-eval.elf - --- -2.6.4 - diff --git a/boot/afboot-stm32/afboot-stm32.hash b/boot/afboot-stm32/afboot-stm32.hash index d23b74ad21..75f47295f6 100644 --- a/boot/afboot-stm32/afboot-stm32.hash +++ b/boot/afboot-stm32/afboot-stm32.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 dbd715c8b99f7d266f74a04707a4dac76b75b31321f24dee5256a6348260530c afboot-stm32-v0.1.tar.gz +sha256 9b37b661bd3091ceb5d8dc5a56a2dfc02ae9ebc0c63dad3c4289c9d6b3d3ec89 afboot-stm32-0.2.tar.gz diff --git a/boot/afboot-stm32/afboot-stm32.mk b/boot/afboot-stm32/afboot-stm32.mk index 5e221cf364..0fb4735285 100644 --- a/boot/afboot-stm32/afboot-stm32.mk +++ b/boot/afboot-stm32/afboot-stm32.mk @@ -4,8 +4,8 @@ # ################################################################################ -AFBOOT_STM32_VERSION = v0.1 -AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,$(AFBOOT_STM32_VERSION)) +AFBOOT_STM32_VERSION = 0.2 +AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,v$(AFBOOT_STM32_VERSION)) AFBOOT_STM32_INSTALL_IMAGES = YES AFBOOT_STM32_INSTALL_TARGET = NO diff --git a/boot/arm-trusted-firmware/Config.in b/boot/arm-trusted-firmware/Config.in index 823a3510b5..b1ca5d7ea1 100644 --- a/boot/arm-trusted-firmware/Config.in +++ b/boot/arm-trusted-firmware/Config.in @@ -1,6 +1,7 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE bool "ARM Trusted Firmware (ATF)" - depends on BR2_aarch64 && BR2_TARGET_UBOOT + depends on (BR2_ARM_CPU_ARMV8A || BR2_ARM_CPU_ARMV7A) && \ + BR2_TARGET_UBOOT help Enable this option if you want to build the ATF for your ARM based embedded device. @@ -90,6 +91,30 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT bl31.bin. This is used for example by the Xilinx version of U-Boot SPL to load ATF on the ZynqMP SoC. +choice + prompt "BL32" + default BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_DEFAULT + help + Select BL32 stage for the trusted firmware + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_DEFAULT + bool "Default" + help + With this option selected, ATF will not use any BL32 stage, + unless if one is explicitly chosen using the SPD (for + AArch64) or AARCH32_SP (for AArch32) variables, which can be + passed through + BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE + bool "OP-TEE OS" + depends on BR2_TARGET_OPTEE_OS + help + This option allows to embed OP-TEE OS as the BL32 part of + the ARM Trusted Firmware boot sequence. + +endchoice + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 bool "Use U-Boot as BL33" depends on BR2_TARGET_UBOOT @@ -99,10 +124,55 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 gets built before ATF, and that the appropriate BL33 variable pointing to u-boot.bin is passed when building ATF. +if BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE + string "U-Boot BL33 image name" + default "u-boot.bin" + help + Name of the U-Boot BL33 image to include in ATF, it must + have been installed to BINARIES_DIR by the U-Boot package. + +endif + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS + string "Additional ATF make targets" + help + Additional targets for the ATF build + E.G. When using the QorIQ custom ATF repository from NXP, + the target 'pbl' can be used to build the pbl binary. + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES string "Additional ATF build variables" help Additional parameters for the ATF build E.G. 'DEBUG=1 LOG_LEVEL=20' +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG + bool "Build in debug mode" + help + Enable this option to build ATF with DEBUG=1. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES + string "Binary boot images" + default "*.bin" + help + Names of generated image files that are installed in the + output images/ directory. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC + bool "Needs dtc" + select BR2_PACKAGE_HOST_DTC + help + Select this option if your ATF board configuration + requires the Device Tree compiler to be available. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN + bool "Needs arm-none-eabi toolchain" + depends on BR2_aarch64 + depends on BR2_HOSTARCH = "x86_64" + help + Select this option if your ATF board configuration requires + an ARM32 bare metal toolchain to be available. + endif diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk index 8ca3864dd0..a3553e36cf 100644 --- a/boot/arm-trusted-firmware/arm-trusted-firmware.mk +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -5,8 +5,6 @@ ################################################################################ ARM_TRUSTED_FIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION)) -ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3-Clause -ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.rst ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) # Handle custom ATF tarballs as specified by the configuration @@ -19,6 +17,12 @@ ARM_TRUSTED_FIRMWARE_SITE_METHOD = git else # Handle stable official ATF versions ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION)) +# The licensing of custom or from-git versions is unknown. +# This is valid only for the official v1.4. +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION),y) +ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3-Clause +ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.rst +endif endif ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION),y) @@ -27,16 +31,57 @@ endif ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC),y) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-dtc +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN),y) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-arm-gnu-a-toolchain +endif + ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM)) + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += DEBUG=1 +ARM_TRUSTED_FIRMWARE_IMG_DIR = $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/debug +else ARM_TRUSTED_FIRMWARE_IMG_DIR = $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release +endif ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ CROSS_COMPILE="$(TARGET_CROSS)" \ $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \ PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) +ifeq ($(BR2_ARM_CPU_ARMV7A),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += ARM_ARCH_MAJOR=7 +else ifeq ($(BR2_ARM_CPU_ARMV8A),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += ARM_ARCH_MAJOR=8 +endif + +ifeq ($(BR2_arm),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += ARCH=aarch32 +else ifeq ($(BR2_aarch64),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += ARCH=aarch64 +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE),y) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += optee-os +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ + BL32=$(BINARIES_DIR)/tee-header_v2.bin \ + BL32_EXTRA1=$(BINARIES_DIR)/tee-pager_v2.bin \ + BL32_EXTRA2=$(BINARIES_DIR)/tee-pageable_v2.bin +ifeq ($(BR2_aarch64),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SPD=opteed +endif +ifeq ($(BR2_arm),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += AARCH32_SP=optee +endif +endif # BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE + ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33),y) -ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/u-boot.bin +ARM_TRUSTED_FIRMWARE_UBOOT_BIN = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE)) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/$(ARM_TRUSTED_FIRMWARE_UBOOT_BIN) ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot endif @@ -104,6 +149,9 @@ define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF endef endif +ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += \ + $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS)) + define ARM_TRUSTED_FIRMWARE_BUILD_CMDS $(ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ @@ -112,7 +160,9 @@ define ARM_TRUSTED_FIRMWARE_BUILD_CMDS endef define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS - cp -dpf $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/*.bin $(BINARIES_DIR)/ + $(foreach f,$(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES)), \ + cp -dpf $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/$(f) $(BINARIES_DIR)/ + ) $(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL) $(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF) endef diff --git a/boot/at91bootstrap3/Config.in b/boot/at91bootstrap3/Config.in index f6c310af23..faab7635da 100644 --- a/boot/at91bootstrap3/Config.in +++ b/boot/at91bootstrap3/Config.in @@ -19,7 +19,7 @@ choice prompt "AT91 Bootstrap 3 version" config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION - bool "3.8.6" + bool "3.9.0" config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT bool "Custom Git repository" @@ -27,8 +27,15 @@ config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT This option allows Buildroot to get the AT91 Bootstrap 3 source code from a Git repository. +config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL + bool "Custom tarball" + endchoice +config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION + string "URL of custom AT91Bootstrap tarball" + depends on BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL + if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL @@ -44,9 +51,10 @@ endif config BR2_TARGET_AT91BOOTSTRAP3_VERSION string - default "v3.8.6" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION + default "v3.9.0" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION default BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION \ if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT + default "custom" if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_PATCH_DIR string "custom patch dir" diff --git a/boot/at91bootstrap3/at91bootstrap3.hash b/boot/at91bootstrap3/at91bootstrap3.hash index e904a46e50..9f6c95ab08 100644 --- a/boot/at91bootstrap3/at91bootstrap3.hash +++ b/boot/at91bootstrap3/at91bootstrap3.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 a2e9ec6f42ee3b5a805fe215257b63070b6c498d57c568c46fcb18fd1b38ea7e at91bootstrap3-v3.8.6.tar.gz +sha256 e23e6df23b79ca81e412cb73a1f48bd95df8d46c7d52a1d073c2ed9d4f3a1a71 at91bootstrap3-v3.9.0.tar.gz +sha256 732b2a55b5905031d8ae420136ffb5f8889214865784386bf754cffab8d2bc6e main.c diff --git a/boot/at91bootstrap3/at91bootstrap3.mk b/boot/at91bootstrap3/at91bootstrap3.mk index 685be5bbd7..5cf865c681 100644 --- a/boot/at91bootstrap3/at91bootstrap3.mk +++ b/boot/at91bootstrap3/at91bootstrap3.mk @@ -6,7 +6,12 @@ AT91BOOTSTRAP3_VERSION = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_VERSION)) -ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT),y) +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL),y) +AT91BOOTSTRAP3_TARBALL = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION)) +AT91BOOTSTRAP3_SITE = $(patsubst %/,%,$(dir $(AT91BOOTSTRAP3_TARBALL))) +AT91BOOTSTRAP3_SOURCE = $(notdir $(AT91BOOTSTRAP3_TARBALL)) +BR_NO_CHECK_HASH_FOR += $(AT91BOOTSTRAP3_SOURCE) +else ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT),y) AT91BOOTSTRAP3_SITE = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL)) AT91BOOTSTRAP3_SITE_METHOD = git BR_NO_CHECK_HASH_FOR += $(AT91BOOTSTRAP3_SOURCE) @@ -15,7 +20,9 @@ AT91BOOTSTRAP3_SITE = $(call github,linux4sam,at91bootstrap,$(AT91BOOTSTRAP3_VER endif AT91BOOTSTRAP3_LICENSE = Atmel License +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION),y) AT91BOOTSTRAP3_LICENSE_FILES = main.c +endif AT91BOOTSTRAP3_INSTALL_IMAGES = YES AT91BOOTSTRAP3_INSTALL_TARGET = NO @@ -78,6 +85,12 @@ $(error No custom at91bootstrap3 repository version specified. Check your BR2_TA endif endif +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL),y) +ifeq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION)),) +$(error No custom AT91Bootstrap3 tarball specified. Check your BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION setting) +endif # qstrip BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION +endif # BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL + endif # BR_BUILDING $(eval $(kconfig-package)) diff --git a/boot/barebox/Config.in b/boot/barebox/Config.in index 6a8d251548..78fb26272b 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 "2018.12.0" + bool "2020.03.0" config BR2_TARGET_BAREBOX_CUSTOM_VERSION bool "Custom version" @@ -40,7 +40,7 @@ endif config BR2_TARGET_BAREBOX_VERSION string - default "2018.12.0" if BR2_TARGET_BAREBOX_LATEST_VERSION + default "2020.03.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 ec4e404b10..8a953847f7 100644 --- a/boot/barebox/barebox.hash +++ b/boot/barebox/barebox.hash @@ -1,5 +1,8 @@ -# From https://www.barebox.org/download/barebox-2018.12.0.tar.bz2.md5 -md5 f84d7d3562055c80c3eedce0b14d4a0d barebox-2018.12.0.tar.bz2 +# From https://www.barebox.org/download/barebox-2020.03.0.tar.bz2.md5 +md5 9e93df6dadb898d91d9f3811456a94bd barebox-2020.03.0.tar.bz2 # Locally calculated -sha256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 barebox-2018.12.0.tar.bz2 +sha256 625b031d1fe99bdd3bf95f79c8ecfcf67101bc2500ec4816e034bf989f16d1c2 barebox-2020.03.0.tar.bz2 + +# License files, locally computed +sha256 ab1122aa9f9073ad1ec824edcd970b16a6a7881a34a18fd56c080debb2dca5d4 COPYING diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk index 9e8a9f67b5..422f27312d 100644 --- a/boot/barebox/barebox.mk +++ b/boot/barebox/barebox.mk @@ -25,15 +25,23 @@ $(1)_SOURCE = $$(notdir $$($(1)_TARBALL)) else ifeq ($$(BR2_TARGET_BAREBOX_CUSTOM_GIT),y) $(1)_SITE = $$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL)) $(1)_SITE_METHOD = git +# Override the default value of _SOURCE to 'barebox-*' so that it is not +# downloaded a second time for barebox-aux; also alows avoiding the hash +# check: +$(1)_SOURCE = barebox-$$($(1)_VERSION).tar.gz else # Handle stable official Barebox versions $(1)_SOURCE = barebox-$$($(1)_VERSION).tar.bz2 $(1)_SITE = https://www.barebox.org/download endif +$(1)_DL_SUBDIR = barebox + $(1)_DEPENDENCIES = host-lzop $(1)_LICENSE = GPL-2.0 with exceptions +ifeq ($(BR2_TARGET_BAREBOX_LATEST_VERSION),y) $(1)_LICENSE_FILES = COPYING +endif $(1)_CUSTOM_EMBEDDED_ENV_PATH = $$(call qstrip,$$(BR2_TARGET_$(1)_CUSTOM_EMBEDDED_ENV_PATH)) @@ -76,6 +84,10 @@ $(1)_KCONFIG_FRAGMENT_FILES = $$(call qstrip,$$(BR2_TARGET_$(1)_CONFIG_FRAGMENT_ $(1)_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig $(1)_KCONFIG_OPTS = $$($(1)_MAKE_FLAGS) +$(1)_KCONFIG_DEPENDENCIES = \ + $(BR2_BISON_HOST_DEPENDENCY) \ + $(BR2_FLEX_HOST_DEPENDENCY) + ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y) define $(1)_BUILD_BAREBOXENV_CMDS $$(TARGET_CC) $$(TARGET_CFLAGS) $$(TARGET_LDFLAGS) -o $$(@D)/bareboxenv \ @@ -98,8 +110,8 @@ endif ifneq ($$($(1)_CUSTOM_EMBEDDED_ENV_PATH),) define $(1)_KCONFIG_FIXUP_CMDS - $$(call KCONFIG_ENABLE_OPT,CONFIG_DEFAULT_ENVIRONMENT,$$(@D)/.config) - $$(call KCONFIG_SET_OPT,CONFIG_DEFAULT_ENVIRONMENT_PATH,"$$($(1)_CUSTOM_EMBEDDED_ENV_PATH)",$$(@D)/.config) + $$(call KCONFIG_ENABLE_OPT,CONFIG_DEFAULT_ENVIRONMENT) + $$(call KCONFIG_SET_OPT,CONFIG_DEFAULT_ENVIRONMENT_PATH,"$$($(1)_CUSTOM_EMBEDDED_ENV_PATH)") endef endif diff --git a/boot/binaries-marvell/Config.in b/boot/binaries-marvell/Config.in index 63052070bd..80fbecb270 100644 --- a/boot/binaries-marvell/Config.in +++ b/boot/binaries-marvell/Config.in @@ -7,26 +7,6 @@ config BR2_TARGET_BINARIES_MARVELL reset and system control. ATF Boot Loader stage 2 (BL2) loads optional SCP_BL2 image into a platform-specific region of secure memory. This package downloads and installs such - firmwares, which are needed to build ATF. + firmware, which is needed to build ATF. https://github.com/MarvellEmbeddedProcessors/binaries-marvell/ - -if BR2_TARGET_BINARIES_MARVELL - -choice - prompt "Marvell Armada platform" - -config BR2_TARGET_BINARIES_MARVELL_7040 - bool "7040" - -config BR2_TARGET_BINARIES_MARVELL_8040 - bool "8040" - -endchoice - -config BR2_TARGET_BINARIES_MARVELL_IMAGE - string - 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 0d214502a7..a7d5928a5d 100644 --- a/boot/binaries-marvell/binaries-marvell.hash +++ b/boot/binaries-marvell/binaries-marvell.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 45c348d7a62fd147e7c6a59211a77876ce5dd26de690bd45ab79c8ff891acedf binaries-marvell-14481806e699dcc6f7025dbe3e46cf26bb787791.tar.gz -sha256 509a36bb6faa106bbc9730c23038a361ee0c860e53a4cdf9e8605c0174fe45f7 README.md +sha256 d818c95bcd4d5c026238d6e554151184ed7fea15bce1f861f9068b97b4cd320a binaries-marvell-c5d3ef2b63ba66d8717ecbe679fd2e639cde88ee.tar.gz +sha256 e6d08ef60068ee72c68835001a24eb832dcba27cac0dde0f179dfb428be050ca README.md diff --git a/boot/binaries-marvell/binaries-marvell.mk b/boot/binaries-marvell/binaries-marvell.mk index 6c70148540..1a27fa9873 100644 --- a/boot/binaries-marvell/binaries-marvell.mk +++ b/boot/binaries-marvell/binaries-marvell.mk @@ -4,18 +4,17 @@ # ################################################################################ -# This is version binaries-marvell-armada-18.06 -BINARIES_MARVELL_VERSION = 14481806e699dcc6f7025dbe3e46cf26bb787791 +# This is version binaries-marvell-armada-18.12 +BINARIES_MARVELL_VERSION = c5d3ef2b63ba66d8717ecbe679fd2e639cde88ee BINARIES_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,binaries-marvell,$(BINARIES_MARVELL_VERSION)) BINARIES_MARVELL_LICENSE = GPL-2.0 with freertos-exception-2.0 BINARIES_MARVELL_LICENSE_FILES = README.md -BINARIES_MARVELL_IMAGE = $(call qstrip,$(BR2_TARGET_BINARIES_MARVELL_IMAGE)) BINARIES_MARVELL_INSTALL_IMAGES = YES define BINARIES_MARVELL_INSTALL_IMAGES_CMDS - $(INSTALL) -D -m 0644 $(@D)/$(BINARIES_MARVELL_IMAGE) $(BINARIES_DIR)/scp-fw.bin + $(INSTALL) -D -m 0644 $(@D)/mrvl_scp_bl2.img $(BINARIES_DIR)/scp-fw.bin endef $(eval $(generic-package)) diff --git a/boot/boot-wrapper-aarch64/Config.in b/boot/boot-wrapper-aarch64/Config.in index efb70dcdf5..cf7389282f 100644 --- a/boot/boot-wrapper-aarch64/Config.in +++ b/boot/boot-wrapper-aarch64/Config.in @@ -38,4 +38,9 @@ config BR2_TARGET_BOOT_WRAPPER_AARCH64_PSCI Boot secondary SMP cores using PSCI firmware calls. If disabled, the spin-table method is used instead. +config BR2_TARGET_BOOT_WRAPPER_AARCH64_GICV3 + bool "Enable GICv3 instead of GICv2" + help + Boot using GICv3 instead of GICv2. + endif diff --git a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk index cd6e1b7b77..117e113984 100644 --- a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk +++ b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk @@ -4,7 +4,7 @@ # ################################################################################ -BOOT_WRAPPER_AARCH64_VERSION = 4266507a84f8c06452109d38e0350d4759740694 +BOOT_WRAPPER_AARCH64_VERSION = fd74c8cbd0e17483d2299208cad9742bee605ca7 BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git BOOT_WRAPPER_AARCH64_LICENSE = BSD-3-Clause BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt @@ -15,19 +15,11 @@ BOOT_WRAPPER_AARCH64_INSTALL_IMAGES = YES # Makefile. BOOT_WRAPPER_AARCH64_AUTORECONF = YES -BOOT_WRAPPER_AARCH64_DTB = /arch/arm64/boot/dts/$(basename $(call qstrip,$(BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS))).dtb - -# Fixup the path to the DTB in configure.ac. In the future, this -# should hopefully be made more configurable by the -# boot-wrapper-aarch64 developers. -define BOOT_WRAPPER_AARCH64_FIX_DTB_NAME - $(SED) 's%^KERN_DTB=.*%KERN_DTB=$(BOOT_WRAPPER_AARCH64_DTB)%' $(@D)/configure.ac -endef - -BOOT_WRAPPER_AARCH64_PRE_PATCH_HOOKS += BOOT_WRAPPER_AARCH64_FIX_DTB_NAME +BOOT_WRAPPER_AARCH64_DTB = $(LINUX_DIR)/arch/arm64/boot/dts/$(basename $(call qstrip,$(BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS))).dtb BOOT_WRAPPER_AARCH64_CONF_OPTS = \ --with-kernel-dir=$(LINUX_DIR) \ + --with-dtb=$(BOOT_WRAPPER_AARCH64_DTB) \ --with-cmdline=$(BR2_TARGET_BOOT_WRAPPER_AARCH64_BOOTARGS) ifeq ($(BR2_TARGET_BOOT_WRAPPER_AARCH64_PSCI),y) @@ -36,6 +28,10 @@ else BOOT_WRAPPER_AARCH64_CONF_OPTS += --disable-psci endif +ifeq ($(BR2_TARGET_BOOT_WRAPPER_AARCH64_GICV3),y) +BOOT_WRAPPER_AARCH64_CONF_OPTS += --enable-gicv3 +endif + # We need to convince the configure script that the Linux kernel tree # exists, as well as the DTB and the kernel Image. Even though those # are available on the build machine, the configure script uses diff --git a/boot/grub2/0001-build-Fix-GRUB-i386-pc-build-with-Ubuntu-gcc.patch b/boot/grub2/0001-build-Fix-GRUB-i386-pc-build-with-Ubuntu-gcc.patch new file mode 100644 index 0000000000..357c825f3c --- /dev/null +++ b/boot/grub2/0001-build-Fix-GRUB-i386-pc-build-with-Ubuntu-gcc.patch @@ -0,0 +1,313 @@ +From 6643507ce30f775008e093580f0c9499dfb2c485 Mon Sep 17 00:00:00 2001 +From: Simon Hardy +Date: Tue, 24 Mar 2020 13:29:12 +0000 +Subject: build: Fix GRUB i386-pc build with Ubuntu gcc + +With recent versions of gcc on Ubuntu a very large lzma_decompress.img file is +output. (e.g. 134479600 bytes instead of 2864.) This causes grub-mkimage to +fail with: "error: Decompressor is too big." + +This seems to be caused by a section .note.gnu.property that is placed at an +offset such that objcopy needs to pad the img file with zeros. + +This issue is present on: +Ubuntu 19.10 with gcc (Ubuntu 8.3.0-26ubuntu1~19.10) 8.3.0 +Ubuntu 19.10 with gcc (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008 + +This issue is not present on: +Ubuntu 19.10 with gcc (Ubuntu 7.5.0-3ubuntu1~19.10) 7.5.0 +RHEL 8.0 with gcc 8.3.1 20190507 (Red Hat 8.3.1-4) + +The issue can be fixed by removing the section using objcopy as shown in +this patch. + +Signed-off-by: Simon Hardy +Reviewed-by: Daniel Kiper +[Retrieved (and updated to directly patch Makefile.in instead of +gentpl.py to avoid adding a dependency on python) from: +http://git.savannah.gnu.org/cgit/grub.git/commit/?id=6643507ce30f775008e093580f0c9499dfb2c485] +Signed-off-by: Fabrice Fontaine +[yann.morin.1998@free.fr: + - keep the part patching gentpl.py + - restore it as a git-formatted patch + - introduce the hunk about the generated .am file +] +Signed-off-by: Yann E. MORIN +--- + gentpl.py | 2 1 1 0 +- + grub-core/Makefile.in | 38 19 19 0 +++++++++++++++++++------------------- + 2 files changed, 20 insertions(+), 20 deletions(-) + +diff --git a/gentpl.py b/gentpl.py +index 387588c05..c86550d4f 100644 +--- a/gentpl.py ++++ b/gentpl.py +@@ -766,7 +766,7 @@ def image(defn, platform): + if test x$(TARGET_APPLE_LINKER) = x1; then \ + $(MACHO2IMG) $< $@; \ + else \ +- $(TARGET_OBJCOPY) $(""" + cname(defn) + """_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; \ ++ $(TARGET_OBJCOPY) $(""" + cname(defn) + """_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; \ + fi + """) + +diff --git a/grub-core/Makefile.core.am b/grub-core/Makefile.core.am +index 387588c05..c86550d4f 100644 +--- a/grub-core/Makefile.core.am ++++ 2/grub-core/Makefile.core.am +@@ -22897,7 +22897,7 @@ + CLEANFILES += boot.img + + boot.img: boot.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -22918,7 +22918,7 @@ + CLEANFILES += boot.img + + boot.img: boot.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -22939,7 +22939,7 @@ + CLEANFILES += boot.img + + boot.img: boot.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -22960,7 +22960,7 @@ + CLEANFILES += boot_hybrid.img + + boot_hybrid.img: boot_hybrid.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_hybrid_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_hybrid_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -22981,7 +22981,7 @@ + CLEANFILES += cdboot.img + + cdboot.img: cdboot.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(cdboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(cdboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23002,7 +23002,7 @@ + CLEANFILES += cdboot.img + + cdboot.img: cdboot.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(cdboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(cdboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23023,7 +23023,7 @@ + CLEANFILES += pxeboot.img + + pxeboot.img: pxeboot.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(pxeboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(pxeboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23044,7 +23044,7 @@ + CLEANFILES += diskboot.img + + diskboot.img: diskboot.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(diskboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(diskboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23065,7 +23065,7 @@ + CLEANFILES += diskboot.img + + diskboot.img: diskboot.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(diskboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(diskboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23086,7 +23086,7 @@ + CLEANFILES += lnxboot.img + + lnxboot.img: lnxboot.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(lnxboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(lnxboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23107,7 +23107,7 @@ + CLEANFILES += xz_decompress.img + + xz_decompress.img: xz_decompress.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(xz_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(xz_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23128,7 +23128,7 @@ + CLEANFILES += xz_decompress.img + + xz_decompress.img: xz_decompress.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(xz_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(xz_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23149,7 +23149,7 @@ + CLEANFILES += xz_decompress.img + + xz_decompress.img: xz_decompress.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(xz_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(xz_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23170,7 +23170,7 @@ + CLEANFILES += none_decompress.img + + none_decompress.img: none_decompress.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(none_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(none_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23191,7 +23191,7 @@ + CLEANFILES += none_decompress.img + + none_decompress.img: none_decompress.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(none_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(none_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23212,7 +23212,7 @@ + CLEANFILES += none_decompress.img + + none_decompress.img: none_decompress.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(none_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(none_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23233,7 +23233,7 @@ + CLEANFILES += lzma_decompress.img + + lzma_decompress.img: lzma_decompress.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(lzma_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(lzma_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23254,7 +23254,7 @@ + CLEANFILES += fwstart.img + + fwstart.img: fwstart.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(fwstart_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(fwstart_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +@@ -23275,7 +23275,7 @@ + CLEANFILES += fwstart_fuloong2f.img + + fwstart_fuloong2f.img: fwstart_fuloong2f.image$(EXEEXT) +- if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(fwstart_fuloong2f_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(fwstart_fuloong2f_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + endif + +diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in +index 387588c05..c86550d4f 100644 +--- a/grub-core/Makefile.in ++++ b/grub-core/Makefile.in +@@ -46531,61 +46531,61 @@ + @COND_riscv64_efi_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(TARGET_STRIP) -S -x $(kernel_exec) -o $@.bin $<; $(TARGET_OBJCONV) -f$(TARGET_MODULE_FORMAT) -nr:_grub_mod_init:grub_mod_init -nr:_grub_mod_fini:grub_mod_fini -ed2022 -ed2016 -wd1106 -nu -nd $@.bin $@; rm -f $@.bin; elif test ! -z '$(TARGET_OBJ2ELF)'; then $(TARGET_STRIP) $(kernel_exec_STRIPFLAGS) -o $@.bin $< && $(TARGET_OBJ2ELF) $@.bin $@ || (rm -f $@; rm -f $@.bin; exit 1); rm -f $@.bin; else $(TARGET_STRIP) $(kernel_exec_STRIPFLAGS) -o $@ $<; fi + + @COND_i386_pc_TRUE@boot.img: boot.image$(EXEEXT) +-@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_i386_qemu_TRUE@boot.img: boot.image$(EXEEXT) +-@COND_i386_qemu_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_i386_qemu_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_sparc64_ieee1275_TRUE@boot.img: boot.image$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_sparc64_ieee1275_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_i386_pc_TRUE@boot_hybrid.img: boot_hybrid.image$(EXEEXT) +-@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_hybrid_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(boot_hybrid_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_i386_pc_TRUE@cdboot.img: cdboot.image$(EXEEXT) +-@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(cdboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(cdboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_sparc64_ieee1275_TRUE@cdboot.img: cdboot.image$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(cdboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_sparc64_ieee1275_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(cdboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_i386_pc_TRUE@pxeboot.img: pxeboot.image$(EXEEXT) +-@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(pxeboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(pxeboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_i386_pc_TRUE@diskboot.img: diskboot.image$(EXEEXT) +-@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(diskboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(diskboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_sparc64_ieee1275_TRUE@diskboot.img: diskboot.image$(EXEEXT) +-@COND_sparc64_ieee1275_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(diskboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_sparc64_ieee1275_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(diskboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_i386_pc_TRUE@lnxboot.img: lnxboot.image$(EXEEXT) +-@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(lnxboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(lnxboot_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_mips_loongson_TRUE@xz_decompress.img: xz_decompress.image$(EXEEXT) +-@COND_mips_loongson_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(xz_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_mips_loongson_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(xz_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_mips_arc_TRUE@xz_decompress.img: xz_decompress.image$(EXEEXT) +-@COND_mips_arc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(xz_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_mips_arc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(xz_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_mips_qemu_mips_TRUE@xz_decompress.img: xz_decompress.image$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(xz_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_mips_qemu_mips_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(xz_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_mips_loongson_TRUE@none_decompress.img: none_decompress.image$(EXEEXT) +-@COND_mips_loongson_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(none_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_mips_loongson_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(none_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_mips_arc_TRUE@none_decompress.img: none_decompress.image$(EXEEXT) +-@COND_mips_arc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(none_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_mips_arc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(none_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_mips_qemu_mips_TRUE@none_decompress.img: none_decompress.image$(EXEEXT) +-@COND_mips_qemu_mips_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(none_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_mips_qemu_mips_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(none_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_i386_pc_TRUE@lzma_decompress.img: lzma_decompress.image$(EXEEXT) +-@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(lzma_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_i386_pc_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(lzma_decompress_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_mips_loongson_TRUE@fwstart.img: fwstart.image$(EXEEXT) +-@COND_mips_loongson_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(fwstart_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_mips_loongson_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(fwstart_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_mips_loongson_TRUE@fwstart_fuloong2f.img: fwstart_fuloong2f.image$(EXEEXT) +-@COND_mips_loongson_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(fwstart_fuloong2f_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; fi ++@COND_mips_loongson_TRUE@ if test x$(TARGET_APPLE_LINKER) = x1; then $(MACHO2IMG) $< $@; else $(TARGET_OBJCOPY) $(fwstart_fuloong2f_image_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; fi + + @COND_MAN_PAGES_TRUE@@COND_emu_TRUE@grub-emu.1: grub-emu + @COND_MAN_PAGES_TRUE@@COND_emu_TRUE@ chmod a+x grub-emu 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 deleted file mode 100644 index cd8b5e73ce..0000000000 --- a/boot/grub2/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch +++ /dev/null @@ -1,74 +0,0 @@ -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/grub2.hash b/boot/grub2/grub2.hash index 7f0679fe3a..338fe59724 100644 --- a/boot/grub2/grub2.hash +++ b/boot/grub2/grub2.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 810b3798d316394f94096ec2797909dbf23c858e48f7b3830826b8daa06b7b0f grub-2.02.tar.xz +sha256 e5292496995ad42dabe843a0192cf2a2c502e7ffcc7479398232b10a472df77d grub-2.04.tar.xz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk index 65371f0170..f77dc0f9d7 100644 --- a/boot/grub2/grub2.mk +++ b/boot/grub2/grub2.mk @@ -4,7 +4,7 @@ # ################################################################################ -GRUB2_VERSION = 2.02 +GRUB2_VERSION = 2.04 GRUB2_SITE = http://ftp.gnu.org/gnu/grub GRUB2_SOURCE = grub-$(GRUB2_VERSION).tar.xz GRUB2_LICENSE = GPL-3.0+ @@ -13,6 +13,14 @@ GRUB2_DEPENDENCIES = host-bison host-flex host-grub2 HOST_GRUB2_DEPENDENCIES = host-bison host-flex GRUB2_INSTALL_IMAGES = YES +# 0001-build-Fix-GRUB-i386-pc-build-with-Ubuntu-gcc.patch +define GRUB2_AVOID_AUTORECONF + $(Q)touch $(@D)/Makefile.util.am + $(Q)touch $(@D)/Makefile.in +endef +GRUB2_POST_PATCH_HOOKS += GRUB2_AVOID_AUTORECONF +HOST_GRUB2_POST_PATCH_HOOKS += GRUB2_AVOID_AUTORECONF + ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y) GRUB2_INSTALL_TARGET = YES else diff --git a/boot/gummiboot/0001-Allow-building-with-newer-glibc-versions.patch b/boot/gummiboot/0001-Allow-building-with-newer-glibc-versions.patch new file mode 100644 index 0000000000..b35cd499bc --- /dev/null +++ b/boot/gummiboot/0001-Allow-building-with-newer-glibc-versions.patch @@ -0,0 +1,31 @@ +From 40ab4167b5a45c772304a879c71b47d54de3b0e3 Mon Sep 17 00:00:00 2001 +From: Esben Haabendal +Date: Wed, 20 Mar 2019 14:19:40 +0100 +Subject: [PATCH] Allow building with newer glibc versions + +Newer glibc versions does not include sys/sysmacros.h from sys/types.h +anymore. Including it unconditionally should be safe. + +See https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html for why +this was done. + +Signed-off-by: Esben Haabendal +--- + src/setup/setup.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/setup/setup.c b/src/setup/setup.c +index 6a4275a2ae36..53429375a146 100644 +--- a/src/setup/setup.c ++++ b/src/setup/setup.c +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + + #include "efivars.h" + +-- +2.21.0 + diff --git a/boot/gummiboot/0002-Fix-linking-for-non-host-compatible-targets.patch b/boot/gummiboot/0002-Fix-linking-for-non-host-compatible-targets.patch new file mode 100644 index 0000000000..7104a581e2 --- /dev/null +++ b/boot/gummiboot/0002-Fix-linking-for-non-host-compatible-targets.patch @@ -0,0 +1,54 @@ +From fc05ced797b87286b8ec7303fe32bf200a072972 Mon Sep 17 00:00:00 2001 +From: Esben Haabendal +Date: Mon, 18 Mar 2019 11:14:31 +0100 +Subject: [PATCH] Fix linking for non-host compatible targets + +Without this, gummiboot build system will use host 'ld' when linking +target binary, which is obviously not a good idea. + +Signed-off-by: Esben Haabendal +--- + Makefile.am | 4 ++-- + configure.ac | 4 ++++ + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 6568a355ed74..9051dd44edd9 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -142,7 +142,7 @@ $(top_builddir)/src/efi/%.o: $(top_srcdir)/src/efi/%.c $(addprefix $(top_srcdir) + $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@ + + $(gummiboot_solib): $(gummiboot_objects) +- $(AM_V_CCLD)$(LD) $(efi_ldflags) $(gummiboot_objects) \ ++ $(AM_V_CCLD)$(EFI_LD) $(efi_ldflags) $(gummiboot_objects) \ + -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \ + nm -D -u $@ | grep ' U ' && exit 1 || : + .DELETE_ON_ERROR: $(gummboot_solib) +@@ -177,7 +177,7 @@ $(top_builddir)/src/efi/%.o: $(top_srcdir)/src/efi/%.c $(addprefix $(top_srcdir) + $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@ + + $(stub_solib): $(stub_objects) +- $(AM_V_CCLD)$(LD) $(efi_ldflags) $(stub_objects) \ ++ $(AM_V_CCLD)$(EFI_LD) $(efi_ldflags) $(stub_objects) \ + -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \ + nm -D -u $@ | grep ' U ' && exit 1 || : + .DELETE_ON_ERROR: $(gummboot_solib) +diff --git a/configure.ac b/configure.ac +index 27bbe1d73396..b948696c220b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -40,6 +40,10 @@ dnl Don't try to use things like -std=c99 for efi compilation + EFI_CC=$CC + AC_SUBST([EFI_CC]) + ++dnl Allow specifying linker compatible with the compiler ++EFI_LD=$LD ++AC_SUBST([EFI_LD]) ++ + AC_PROG_CC_C99 + AM_PROG_CC_C_O + AC_PROG_GCC_TRADITIONAL +-- +2.21.0 + diff --git a/boot/gummiboot/gummiboot.mk b/boot/gummiboot/gummiboot.mk index 85a5daaeab..748e87030e 100644 --- a/boot/gummiboot/gummiboot.mk +++ b/boot/gummiboot/gummiboot.mk @@ -4,9 +4,9 @@ # ################################################################################ -GUMMIBOOT_SITE = http://cgit.freedesktop.org/gummiboot +GUMMIBOOT_SITE = https://gitlab.freedesktop.org/archived-projects/gummiboot.git GUMMIBOOT_SITE_METHOD = git -GUMMIBOOT_VERSION = 43 +GUMMIBOOT_VERSION = 2bcd919c681c952eb867ef1bdb458f1bc49c2d55 GUMMIBOOT_LICENSE = LGPL-2.1+ GUMMIBOOT_LICENSE_FILES = LICENSE diff --git a/boot/mv-ddr-marvell/0001-mv_ddr-mv_ddr4_training_leveling.c-uninitialized-var.patch b/boot/mv-ddr-marvell/0001-mv_ddr-mv_ddr4_training_leveling.c-uninitialized-var.patch new file mode 100644 index 0000000000..eada18b473 --- /dev/null +++ b/boot/mv-ddr-marvell/0001-mv_ddr-mv_ddr4_training_leveling.c-uninitialized-var.patch @@ -0,0 +1,31 @@ +From 5867fcad6e88af3d843bfa831648d84a53732d57 Mon Sep 17 00:00:00 2001 +From: Heinrich Schuchardt +Date: Wed, 19 Dec 2018 17:17:13 +0100 +Subject: [PATCH] mv_ddr: mv_ddr4_training_leveling.c: uninitialized variable + +With GCC 8.2 uninitialized variables lead to a build error. + +Signed-off-by: Heinrich Schuchardt +Signed-off-by: Baruch Siach +--- +Upstream status: commit 5867fcad6e8 + + mv_ddr4_training_leveling.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mv_ddr4_training_leveling.c b/mv_ddr4_training_leveling.c +index 144e21a03c01..cb95389f5466 100644 +--- a/mv_ddr4_training_leveling.c ++++ b/mv_ddr4_training_leveling.c +@@ -368,7 +368,7 @@ static int mv_ddr4_dynamic_pb_wl_supp(u32 dev_num, enum mv_wl_supp_mode ecc_mode + u32 subphy_num = ddr3_tip_dev_attr_get(dev_num, MV_ATTR_OCTET_PER_INTERFACE); + u8 compare_result = 0; + u32 orig_phase; +- u32 rd_data, wr_data; ++ u32 rd_data, wr_data = 0; + u32 flag, step; + struct mv_ddr_topology_map *tm = mv_ddr_topology_map_get(); + u32 ecc_phy_access_id; +-- +2.20.1 + diff --git a/boot/mv-ddr-marvell/mv-ddr-marvell.hash b/boot/mv-ddr-marvell/mv-ddr-marvell.hash index 90fab71d60..ec2fe6ed37 100644 --- a/boot/mv-ddr-marvell/mv-ddr-marvell.hash +++ b/boot/mv-ddr-marvell/mv-ddr-marvell.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 9aaea1f5e8bf3c9d7e735f569d130b5c2ec773c43e0cfabc9b8dee32adbf7e4e mv-ddr-marvell-99d772547314f84921268d57e53d8769197d3e21.tar.gz +sha256 39dcc8baccb82cbc746d8f82ce7f673e1b1236e8aee0d09e7ab12c27eeb6ecda mv-ddr-marvell-618dadd1491eb2f7b2fd74313c04f7accddae475.tar.gz +sha256 69208236fc322026920b92d1d839ebdc521ca65379bfdb3368a24945e794fc78 ddr3_init.c diff --git a/boot/mv-ddr-marvell/mv-ddr-marvell.mk b/boot/mv-ddr-marvell/mv-ddr-marvell.mk index 8d508215f8..a4e0c0467d 100644 --- a/boot/mv-ddr-marvell/mv-ddr-marvell.mk +++ b/boot/mv-ddr-marvell/mv-ddr-marvell.mk @@ -4,8 +4,8 @@ # ################################################################################ -# This is the commit for mv_ddr-armada-18.09.2 -MV_DDR_MARVELL_VERSION = 99d772547314f84921268d57e53d8769197d3e21 +# This is the commit for mv_ddr-armada-18.12.0 +MV_DDR_MARVELL_VERSION = 618dadd1491eb2f7b2fd74313c04f7accddae475 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/opensbi/0001-Makefile-Don-t-specify-mabi-or-march.patch b/boot/opensbi/0001-Makefile-Don-t-specify-mabi-or-march.patch new file mode 100644 index 0000000000..5f554a6c24 --- /dev/null +++ b/boot/opensbi/0001-Makefile-Don-t-specify-mabi-or-march.patch @@ -0,0 +1,37 @@ +From f5871e1f3650d6c8a032928cb5d8ca00c275c377 Mon Sep 17 00:00:00 2001 +From: Alistair Francis +Date: Fri, 15 Feb 2019 14:57:41 -0800 +Subject: [PATCH] Makefile: Don't specify mabi or march + +To avoid + can't link double-float modules with soft-float modules +errors when building 32-bit openSBI don't specify mabi or march. + +Signed-off-by: Alistair Francis +--- + Makefile | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/Makefile b/Makefile +index ae68f55..10851fc 100644 +--- a/Makefile ++++ b/Makefile +@@ -145,7 +145,6 @@ GENFLAGS += $(firmware-genflags-y) + CFLAGS = -g -Wall -Werror -nostdlib -fno-strict-aliasing -O2 + CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls + CFLAGS += -mno-save-restore -mstrict-align +-CFLAGS += -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA) + CFLAGS += -mcmodel=$(PLATFORM_RISCV_CODE_MODEL) + CFLAGS += $(GENFLAGS) + CFLAGS += $(platform-cflags-y) +@@ -158,7 +157,6 @@ CPPFLAGS += $(firmware-cppflags-y) + ASFLAGS = -g -Wall -nostdlib -D__ASSEMBLY__ + ASFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls + ASFLAGS += -mno-save-restore -mstrict-align +-ASFLAGS += -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA) + ASFLAGS += -mcmodel=$(PLATFORM_RISCV_CODE_MODEL) + ASFLAGS += $(GENFLAGS) + ASFLAGS += $(platform-asflags-y) +-- +2.20.1 + diff --git a/boot/opensbi/Config.in b/boot/opensbi/Config.in new file mode 100644 index 0000000000..b9b0ace8af --- /dev/null +++ b/boot/opensbi/Config.in @@ -0,0 +1,34 @@ +config BR2_TARGET_OPENSBI + bool "opensbi" + depends on BR2_riscv + help + OpenSBI aims to provide an open-source and extensible + implementation of the RISC-V SBI specification for a platform + specific firmware (M-mode) and a general purpose OS, + hypervisor or bootloader (S-mode or HS-mode). OpenSBI + implementation can be easily extended by RISC-V platform or + System-on-Chip vendors to fit a particular hadware + configuration. + + https://github.com/riscv/opensbi.git + +if BR2_TARGET_OPENSBI +config BR2_TARGET_OPENSBI_PLAT + string "OpenSBI Platform" + default "" + help + Specifies the OpenSBI platform to build. If no platform is + specified only the OpenSBI platform independent static + library libsbi.a is built. If a platform is specified then + the platform specific static library libplatsbi.a and firmware + examples are built. + +config BR2_TARGET_OPENSBI_LINUX_PAYLOAD + bool "Include Linux as OpenSBI Payload" + depends on BR2_TARGET_OPENSBI_PLAT != "" + depends on BR2_LINUX_KERNEL + depends on BR2_LINUX_KERNEL_IMAGE + help + Build OpenSBI with the Linux kernel as a Payload. + +endif diff --git a/boot/opensbi/opensbi.hash b/boot/opensbi/opensbi.hash new file mode 100644 index 0000000000..6e69d512dd --- /dev/null +++ b/boot/opensbi/opensbi.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 46a93afd5465eba094ddba40015e754bf09f9e80e0702c00013d6bdb3ecd0a72 opensbi-0.6.tar.gz +sha256 82d13fb1bf6bb162629deeea9eb9c117e74548d3b707e478967691fe79a68e21 COPYING.BSD diff --git a/boot/opensbi/opensbi.mk b/boot/opensbi/opensbi.mk new file mode 100644 index 0000000000..00e3b05dd0 --- /dev/null +++ b/boot/opensbi/opensbi.mk @@ -0,0 +1,55 @@ +################################################################################ +# +# opensbi +# +################################################################################ + +OPENSBI_VERSION = 0.6 +OPENSBI_SITE = $(call github,riscv,opensbi,v$(OPENSBI_VERSION)) +OPENSBI_LICENSE = BSD-2-Clause +OPENSBI_LICENSE_FILES = COPYING.BSD +OPENSBI_INSTALL_TARGET = NO +OPENSBI_INSTALL_STAGING = YES + +OPENSBI_MAKE_ENV = \ + CROSS_COMPILE=$(TARGET_CROSS) + +OPENSBI_PLAT = $(call qstrip,$(BR2_TARGET_OPENSBI_PLAT)) +ifneq ($(OPENSBI_PLAT),) +OPENSBI_MAKE_ENV += PLATFORM=$(OPENSBI_PLAT) +endif + +ifeq ($(BR2_TARGET_OPENSBI_LINUX_PAYLOAD),y) +OPENSBI_DEPENDENCIES += linux +OPENSBI_MAKE_ENV += FW_PAYLOAD_PATH="$(BINARIES_DIR)/Image" +endif + +define OPENSBI_BUILD_CMDS + $(TARGET_MAKE_ENV) $(OPENSBI_MAKE_ENV) $(MAKE) -C $(@D) +endef + +ifneq ($(OPENSBI_PLAT),) +OPENSBI_INSTALL_IMAGES = YES +OPENSBI_FW_IMAGES += jump dynamic +ifeq ($(BR2_TARGET_OPENSBI_LINUX_PAYLOAD),y) +OPENSBI_FW_IMAGES += payload +endif +endif + +define OPENSBI_INSTALL_IMAGES_CMDS + $(foreach f,$(OPENSBI_FW_IMAGES),\ + $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_$(f).bin \ + $(BINARIES_DIR)/fw_$(f).bin + $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_$(f).elf \ + $(BINARIES_DIR)/fw_$(f).elf + ) +endef + +# libsbi.a is not a library meant to be linked in user-space code, but +# with bare metal code, which is why we don't install it in +# $(STAGING_DIR)/usr/lib +define OPENSBI_INSTALL_STAGING_CMDS + $(INSTALL) -m 0644 -D $(@D)/build/lib/libsbi.a $(STAGING_DIR)/usr/share/opensbi/libsbi.a +endef + +$(eval $(generic-package)) diff --git a/boot/optee-os/0001-scripts-pem_to_pub_c.py-sign.py-use-pycryptodomex.patch b/boot/optee-os/0001-scripts-pem_to_pub_c.py-sign.py-use-pycryptodomex.patch new file mode 100644 index 0000000000..1ce960e0e3 --- /dev/null +++ b/boot/optee-os/0001-scripts-pem_to_pub_c.py-sign.py-use-pycryptodomex.patch @@ -0,0 +1,64 @@ +From 06e71feaeb08349abe56b50c3dfb08a8341cf55f Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 26 Apr 2020 21:55:55 +0200 +Subject: [PATCH] scripts/pem_to_pub_c.py/sign.py: use pycryptodomex + +These scripts still use pycrypto. + +From [1]: +"PyCryptodome is a fork of PyCrypto, which is not maintained any more +(the last release dates back to 2013 [2]). It exposes almost the same +API, but there are a few incompatibilities [3]." + +Don't use upstream commit since it also switches from the algorithm +TEE_ALG_RSASSA_PKCS1_V1_5_SHA256 to TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA256 +when replacing pycrypto to pycryptodomex [4]. + +[1] https://github.com/OP-TEE/optee_os/commit/90ad2450436fdd9fc0d28a3f92f3fbcfd89a38f0 +[2] https://pypi.org/project/pycrypto/#history +[3] https://pycryptodome.readthedocs.io/en/latest/src/vs_pycrypto.html +[4] https://github.com/OP-TEE/optee_os/commit/ababd72d2fd76cb2ded8e202b49db28d6545f6eb + +Signed-off-by: Romain Naour +--- + scripts/pem_to_pub_c.py | 4 ++-- + scripts/sign.py | 8 ++++---- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/scripts/pem_to_pub_c.py b/scripts/pem_to_pub_c.py +index 3a896a39..d3f0e500 100755 +--- a/scripts/pem_to_pub_c.py ++++ b/scripts/pem_to_pub_c.py +@@ -21,8 +21,8 @@ def get_args(): + + def main(): + import array +- from Crypto.PublicKey import RSA +- from Crypto.Util.number import long_to_bytes ++ from Cryptodome.PublicKey import RSA ++ from Cryptodome.Util.number import long_to_bytes + + args = get_args() + +diff --git a/scripts/sign.py b/scripts/sign.py +index 2939c591..80ce2e9f 100755 +--- a/scripts/sign.py ++++ b/scripts/sign.py +@@ -121,10 +121,10 @@ def get_args(logger): + + + def main(): +- from Crypto.Signature import PKCS1_v1_5 +- from Crypto.Hash import SHA256 +- from Crypto.PublicKey import RSA +- from Crypto.Util.number import ceil_div ++ from Cryptodome.Signature import PKCS1_v1_5 ++ from Cryptodome.Hash import SHA256 ++ from Cryptodome.PublicKey import RSA ++ from Cryptodome.Util.number import ceil_div + import base64 + import logging + import os +-- +2.25.3 + diff --git a/boot/optee-os/Config.in b/boot/optee-os/Config.in new file mode 100644 index 0000000000..669bbda924 --- /dev/null +++ b/boot/optee-os/Config.in @@ -0,0 +1,109 @@ +config BR2_TARGET_OPTEE_OS + bool "optee_os" + depends on BR2_ARM_CPU_ARMV8A || BR2_ARM_CPU_ARMV7A + help + OP-TEE OS provides the secure world boot image and the trust + application development kit of the OP-TEE project. OP-TEE OS + also provides generic trusted application one can embedded + into its system. + + http://github.com/OP-TEE/optee_os + +if BR2_TARGET_OPTEE_OS + +choice + prompt "OP-TEE OS version" + default BR2_TARGET_OPTEE_OS_LATEST + help + Select the version of OP-TEE OS you want to use + +config BR2_TARGET_OPTEE_OS_LATEST + bool "3.7.0" + help + Use the latest release tag from the OP-TEE OS official Git + repository. + +config BR2_TARGET_OPTEE_OS_CUSTOM_GIT + bool "Custom Git repository" + help + Use a custom version fetched from a Git repository. + +endchoice + +if BR2_TARGET_OPTEE_OS_CUSTOM_GIT + +config BR2_TARGET_OPTEE_OS_CUSTOM_REPO_URL + string "URL of custom repository" + depends on BR2_TARGET_OPTEE_OS_CUSTOM_GIT + help + Specific location of the reference source tree Git + repository. + +config BR2_TARGET_OPTEE_OS_CUSTOM_REPO_VERSION + string "Custom repository version" + depends on BR2_TARGET_OPTEE_OS_CUSTOM_GIT + help + Revision to use in the typical format used by Git, i.e a + SHA1 or a tag. + +endif + +config BR2_TARGET_OPTEE_OS_VERSION + string + default "3.7.0" if BR2_TARGET_OPTEE_OS_LATEST + default BR2_TARGET_OPTEE_OS_CUSTOM_REPO_VERSION \ + if BR2_TARGET_OPTEE_OS_CUSTOM_GIT + +config BR2_TARGET_OPTEE_OS_CORE + bool "Build core" + default y + help + This option will build and install the OP-TEE core + boot images. + +config BR2_TARGET_OPTEE_OS_SDK + bool "Build TA devkit" + default y + help + This option will build and install the OP-TEE development + kit for building OP-TEE trusted application images. It is + installed in the staging directory /lib/optee. + +config BR2_TARGET_OPTEE_OS_SERVICES + bool "Build service TAs and libs" + default y + select BR2_TARGET_OPTEE_OS_CORE + help + This option installs the service trusted applications and + trusted shared libraries built from OP-TEE OS source tree. + These are installed in target /lib/optee_armtz directory + as other trusted applications. At runtime OP-TEE OS can + load these from this non-secure filesystem/directory into + the secure world for execution. + +config BR2_TARGET_OPTEE_OS_PLATFORM + string "Target platform (mandatory)" + help + Value for the mandated PLATFORM build directive provided to + OP-TEE OS. + +config BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR + string "Target platform flavor (optional)" + help + Value for the optional PLATFORM_FLAVOR build directive + provided to OP-TEE OS. + +config BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES + string "Additional build variables" + help + Additional parameters for the OP-TEE OS build + E.g. 'CFG_TEE_CORE_LOG_LEVEL=3 CFG_UNWIND=y' + +config BR2_TARGET_OPTEE_OS_CORE_IMAGES + string "Binary boot images" + default "tee.bin tee-*_v2.bin" + help + Names of generated image files that are installed in the + output images/ directory. + +endif # BR2_TARGET_OPTEE_OS diff --git a/boot/optee-os/optee-os.hash b/boot/optee-os/optee-os.hash new file mode 100644 index 0000000000..dc0fbecce7 --- /dev/null +++ b/boot/optee-os/optee-os.hash @@ -0,0 +1,4 @@ +# From https://github.com/OP-TEE/optee_os/archive/3.7.0.tar.gz +sha256 ff378f22b8e7dacf933a2d34eb5c1bdcafe74bdda692e4dbc2969301f6a81d43 optee-os-3.7.0.tar.gz +# Locally computed +sha256 1247ee90858f4037b6cac63cbffddfed435d0d73c631b37d78c1e6e6ab3e5d1a LICENSE diff --git a/boot/optee-os/optee-os.mk b/boot/optee-os/optee-os.mk new file mode 100644 index 0000000000..c6d1bbd48a --- /dev/null +++ b/boot/optee-os/optee-os.mk @@ -0,0 +1,120 @@ +################################################################################ +# +# optee-os +# +################################################################################ + +OPTEE_OS_VERSION = $(call qstrip,$(BR2_TARGET_OPTEE_OS_VERSION)) +OPTEE_OS_LICENSE = BSD-2-Clause +ifeq ($(BR2_TARGET_OPTEE_OS_LATEST),y) +OPTEE_OS_LICENSE_FILES = LICENSE +endif + +OPTEE_OS_INSTALL_STAGING = YES +OPTEE_OS_INSTALL_IMAGES = YES + +ifeq ($(BR2_TARGET_OPTEE_OS_CUSTOM_GIT),y) +OPTEE_OS_SITE = $(call qstrip,$(BR2_TARGET_OPTEE_OS_CUSTOM_REPO_URL)) +OPTEE_OS_SITE_METHOD = git +BR_NO_CHECK_HASH_FOR += $(OPTEE_OS_SOURCE) +else +OPTEE_OS_SITE = $(call github,OP-TEE,optee_os,$(OPTEE_OS_VERSION)) +endif + +OPTEE_OS_DEPENDENCIES = host-openssl host-python-pycryptodomex host-python-pyelftools + +# On 64bit targets, OP-TEE OS can be built in 32bit mode, or +# can be built in 64bit mode and support 32bit and 64bit +# trusted applications. Since buildroot currently references +# a single cross compiler, build exclusively in 32bit +# or 64bit mode. +OPTEE_OS_MAKE_OPTS = \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + CROSS_COMPILE_core="$(TARGET_CROSS)" \ + CROSS_COMPILE_ta_arm64="$(TARGET_CROSS)" \ + CROSS_COMPILE_ta_arm32="$(TARGET_CROSS)" + +ifeq ($(BR2_aarch64),y) +OPTEE_OS_MAKE_OPTS += \ + CFG_ARM64_core=y \ + CFG_USER_TA_TARGETS=ta_arm64 +else +OPTEE_OS_MAKE_OPTS += \ + CFG_ARM32_core=y +endif + +# Get mandatory PLAFORM and optional PLATFORM_FLAVOR and additional +# variables +OPTEE_OS_MAKE_OPTS += PLATFORM=$(call qstrip,$(BR2_TARGET_OPTEE_OS_PLATFORM)) +ifneq ($(call qstrip,$(BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR)),) +OPTEE_OS_MAKE_OPTS += PLATFORM_FLAVOR=$(call qstrip,$(BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR)) +endif +OPTEE_OS_MAKE_OPTS += $(call qstrip,$(BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES)) + +# Requests OP-TEE OS to build from subdirectory out/ of its sourcetree +# root path otherwise the output directory path depends on the target +# platform name. +OPTEE_OS_BUILDDIR_OUT = out +ifeq ($(BR2_aarch64),y) +OPTEE_OS_LOCAL_SDK = $(OPTEE_OS_BUILDDIR_OUT)/export-ta_arm64 +OPTEE_OS_SDK = $(STAGING_DIR)/lib/optee/export-ta_arm64 +endif +ifeq ($(BR2_arm),y) +OPTEE_OS_LOCAL_SDK = $(OPTEE_OS_BUILDDIR_OUT)/export-ta_arm32 +OPTEE_OS_SDK = $(STAGING_DIR)/lib/optee/export-ta_arm32 +endif + +OPTEE_OS_IMAGE_FILES = $(call qstrip,$(BR2_TARGET_OPTEE_OS_CORE_IMAGES)) + +ifeq ($(BR2_TARGET_OPTEE_OS_CORE),y) +define OPTEE_OS_BUILD_CORE + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) O=$(OPTEE_OS_BUILDDIR_OUT) \ + $(TARGET_CONFIGURE_OPTS) $(OPTEE_OS_MAKE_OPTS) all +endef +define OPTEE_OS_INSTALL_IMAGES_CORE + mkdir -p $(BINARIES_DIR) + $(foreach f,$(OPTEE_OS_IMAGE_FILES), \ + cp -dpf $(wildcard $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/core/$(f)) $(BINARIES_DIR)/ + ) +endef +endif # BR2_TARGET_OPTEE_OS_CORE + +ifeq ($(BR2_TARGET_OPTEE_OS_SERVICES),y) +define OPTEE_OS_INSTALL_TARGET_CMDS + $(if $(wildcard $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/ta/*/*.ta), + $(INSTALL) -D -m 444 -t $(TARGET_DIR)/lib/optee_armtz \ + $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/ta/*/*.ta) + $(if $(wildcard $(@D)/$(OPTEE_OS_LOCAL_SDK)/lib/*.ta), + $(INSTALL) -D -m 444 -t $(TARGET_DIR)/lib/optee_armtz \ + $(@D)/$(OPTEE_OS_LOCAL_SDK)/lib/*.ta) +endef +endif # BR2_TARGET_OPTEE_OS_SERVICES + +ifeq ($(BR2_TARGET_OPTEE_OS_SDK),y) +define OPTEE_OS_BUILD_SDK + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) O=$(OPTEE_OS_BUILDDIR_OUT) \ + $(TARGET_CONFIGURE_OPTS) $(OPTEE_OS_MAKE_OPTS) ta_dev_kit +endef +define OPTEE_OS_INSTALL_STAGING_CMDS + mkdir -p $(OPTEE_OS_SDK) + cp -ardpf $(@D)/$(OPTEE_OS_LOCAL_SDK)/* $(OPTEE_OS_SDK) +endef +endif # BR2_TARGET_OPTEE_OS_SDK + +define OPTEE_OS_BUILD_CMDS + $(OPTEE_OS_BUILD_CORE) + $(OPTEE_OS_BUILD_SDK) +endef + +define OPTEE_OS_INSTALL_IMAGES_CMDS + $(OPTEE_OS_INSTALL_IMAGES_CORE) + $(OPTEE_OS_INSTALL_IMAGES_SERVICES) +endef + +ifeq ($(BR2_TARGET_OPTEE_OS)$(BR_BUILDING),yy) +ifeq ($(call qstrip,$(BR2_TARGET_OPTEE_OS_PLATFORM)),) +$(error No OP-TEE OS platform set. Check your BR2_TARGET_OPTEE_OS_PLATFORM setting) +endif +endif # BR2_TARGET_OPTEE_OS && BR2_BUILDING + +$(eval $(generic-package)) diff --git a/boot/riscv-pk/Config.in b/boot/riscv-pk/Config.in deleted file mode 100644 index b4fe36590f..0000000000 --- a/boot/riscv-pk/Config.in +++ /dev/null @@ -1,14 +0,0 @@ -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 deleted file mode 100644 index 0ab5879ee4..0000000000 --- a/boot/riscv-pk/riscv-pk.mk +++ /dev/null @@ -1,32 +0,0 @@ -################################################################################ -# -# 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/syslinux/0015-efi-main.c-include-efisetjmp.h.patch b/boot/syslinux/0015-efi-main.c-include-efisetjmp.h.patch new file mode 100644 index 0000000000..2fd61ecbc8 --- /dev/null +++ b/boot/syslinux/0015-efi-main.c-include-efisetjmp.h.patch @@ -0,0 +1,60 @@ +From 7d68fa68cd9f2987bd85339f3391913a8b0e58c7 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 24 Mar 2020 10:21:27 +0100 +Subject: [PATCH] efi/main.c: include +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Building syslinux against gnu-efi 3.0.10 currently fails with: + +syslinux/efi/main.c:33:8: error: unknown type name ‘jmp_buf’ + 33 | static jmp_buf load_error_buf; + | ^~~~~~~ +syslinux/efi/main.c: In function ‘local_boot’: +syslinux/efi/main.c:189:5: warning: implicit declaration of function ‘longjmp’ [-Wimplicit-function-declaration] + 189 | longjmp(&load_error_buf, 1); + | ^~~~~~~ +syslinux/efi/main.c: In function ‘build_gdt’: +syslinux/efi/main.c:907:75: warning: taking address of packed member of ‘struct dt_desc’ may result in an unaligned pointer value [-Waddress-of-packed-member] + 907 | status = emalloc(gdt.limit, __SIZEOF_POINTER__ , (EFI_PHYSICAL_ADDRESS *)&gdt.base); + | ^~~~~~~~~ +syslinux/efi/main.c: In function ‘efi_main’: +syslinux/efi/main.c:1390:7: warning: implicit declaration of function ‘setjmp’ [-Wimplicit-function-declaration] + 1390 | if (!setjmp(&load_error_buf)) + | ^~~~~~ +make[3]: *** [syslinux/mk/efi.mk:63: main.o] Error 1 + +This is due to gnu-efi commit 486ba3c3bdd147b7d98159b9e650be60bce0f027 +("Do not include efisetjmp.h on efi.h"), in which they state: + + Do not include efisetjmp.h on efi.h + + People than really want to use efisetjmp implementation can include + the header on their own. + + Signed-off-by: leo + +So we act as specified, and include from efi/main.c. + +Signed-off-by: Thomas Petazzoni +Upstream: https://www.syslinux.org/archives/2020-March/026621.html +--- + efi/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/efi/main.c b/efi/main.c +index 6a748412..e924cfb1 100644 +--- a/efi/main.c ++++ b/efi/main.c +@@ -12,6 +12,7 @@ + #include + + #include "efi.h" ++#include + #include "fio.h" + #include "version.h" + #include "efi_pxe.h" +-- +2.25.1 + diff --git a/boot/syslinux/syslinux.hash b/boot/syslinux/syslinux.hash index 5303f4df0b..9bec3a20e7 100644 --- a/boot/syslinux/syslinux.hash +++ b/boot/syslinux/syslinux.hash @@ -1,2 +1,4 @@ # From https://www.kernel.org/pub/linux/utils/boot/syslinux/sha256sums.asc -sha256 26d3986d2bea109d5dc0e4f8c4822a459276cf021125e8c9f23c3cca5d8c850e syslinux-6.03.tar.xz +sha256 26d3986d2bea109d5dc0e4f8c4822a459276cf021125e8c9f23c3cca5d8c850e syslinux-6.03.tar.xz +# Locally computed +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/boot/ts4800-mbrboot/Config.in b/boot/ts4800-mbrboot/Config.in deleted file mode 100644 index 7ed0b21382..0000000000 --- a/boot/ts4800-mbrboot/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_TARGET_TS4800_MBRBOOT - bool "ts4800-mbrboot" - depends on BR2_ARM_CPU_ARMV7A - help - First level bootloader for TS4800 board - - https://github.com/embeddedarm/ts4800-mbrboot diff --git a/boot/ts4800-mbrboot/ts4800-mbrboot.hash b/boot/ts4800-mbrboot/ts4800-mbrboot.hash deleted file mode 100644 index 04e7072810..0000000000 --- a/boot/ts4800-mbrboot/ts4800-mbrboot.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated -sha256 617c70dcf50b7ad35ed3f40666ff2a9a654a5440b522ad73662abdf9f843cee9 ts4800-mbrboot-cf8f7072ed5a4a4e48fcb9841b2e31e519ec5dca.tar.gz diff --git a/boot/ts4800-mbrboot/ts4800-mbrboot.mk b/boot/ts4800-mbrboot/ts4800-mbrboot.mk deleted file mode 100644 index 3dde6c6ab3..0000000000 --- a/boot/ts4800-mbrboot/ts4800-mbrboot.mk +++ /dev/null @@ -1,21 +0,0 @@ -################################################################################ -# -# ts4800-mbrboot -# -################################################################################ - -TS4800_MBRBOOT_VERSION = cf8f7072ed5a4a4e48fcb9841b2e31e519ec5dca -TS4800_MBRBOOT_SITE = $(call github,embeddedarm,ts4800-mbrboot,$(TS4800_MBRBOOT_VERSION)) -TS4800_MBRBOOT_LICENSE = BSD-2-Clause -TS4800_MBRBOOT_LICENSE_FILES = LICENSE -TS4800_MBRBOOT_INSTALL_IMAGES = YES - -define TS4800_MBRBOOT_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -endef - -define TS4800_MBRBOOT_INSTALL_IMAGES_CMDS - $(INSTALL) -D -m 0644 $(@D)/mbrboot.bin $(BINARIES_DIR)/mbrboot.bin -endef - -$(eval $(generic-package)) diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index bd1b248e94..0414a216bd 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -3,6 +3,8 @@ config BR2_TARGET_UBOOT help Build "Das U-Boot" Boot Monitor + https://www.denx.de/wiki/U-Boot + if BR2_TARGET_UBOOT choice prompt "Build system" @@ -39,7 +41,7 @@ choice Select the specific U-Boot version you want to use config BR2_TARGET_UBOOT_LATEST_VERSION - bool "2018.09" + bool "2020.04" config BR2_TARGET_UBOOT_CUSTOM_VERSION bool "Custom version" @@ -87,7 +89,7 @@ endif config BR2_TARGET_UBOOT_VERSION string - default "2018.09" if BR2_TARGET_UBOOT_LATEST_VERSION + default "2020.04" 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 @@ -145,12 +147,51 @@ config BR2_TARGET_UBOOT_NEEDS_DTC Select this option if your U-Boot board configuration requires the Device Tree compiler to be available. +config BR2_TARGET_UBOOT_NEEDS_PYTHON + bool + +choice + bool "U-Boot needs host Python" + +config BR2_TARGET_UBOOT_NEEDS_PYTHON_NONE + bool "no" + depends on !BR2_TARGET_UBOOT_NEEDS_PYTHON + help + Select this option if U-Boot does not need any + host python to build. + +config BR2_TARGET_UBOOT_NEEDS_PYTHON2 + bool "python 2.x" + help + Select this option if U-Boot needs a host Python 2.x + interpreter. This is the case for some U-Boot + configurations, prior to U-Boot 2020.01. + +config BR2_TARGET_UBOOT_NEEDS_PYTHON3 + bool "python 3.x" + help + Select this option if U-Boot needs a host Python 3.x + interpreter. This is the case for some U-Boot + configurations, after U-Boot 2020.01. + +endchoice + config BR2_TARGET_UBOOT_NEEDS_PYLIBFDT bool "U-Boot needs pylibfdt" + select BR2_TARGET_UBOOT_NEEDS_PYTHON help Select this option if your U-Boot board configuration requires the Python libfdt library to be available. +config BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS + bool "U-Boot needs pyelftools" + select BR2_TARGET_UBOOT_NEEDS_PYTHON + help + Select this option if your U-Boot board configuration + requires the Python pyelftools library to be available. + This is used by some rockchip SOCs for elf parsing. + For example: rk3399 soc boards. + config BR2_TARGET_UBOOT_NEEDS_OPENSSL bool "U-Boot needs OpenSSL" help @@ -217,6 +258,9 @@ config BR2_TARGET_UBOOT_FORMAT_DTB_IMX config BR2_TARGET_UBOOT_FORMAT_IMG bool "u-boot.img" +config BR2_TARGET_UBOOT_FORMAT_ITB + bool "u-boot.itb" + config BR2_TARGET_UBOOT_FORMAT_IMX bool "u-boot.imx" @@ -241,7 +285,7 @@ config BR2_TARGET_UBOOT_FORMAT_SD This is Freescale i.MX28 SB format, with a header for booting from an SD card. - U-boot includes an mxsboot tool to generate this format, + U-Boot includes an mxsboot tool to generate this format, starting from 2011.12. See doc/README.mxs (or doc/README.mx28_common before 2013.07) @@ -253,7 +297,7 @@ config BR2_TARGET_UBOOT_FORMAT_NAND This is Freescale i.MX28 BootStream format (.sb), with a header for booting from a NAND flash. - U-boot includes an mxsboot tool to generate this format, + U-Boot includes an mxsboot tool to generate this format, starting from 2011.12. There are two possibilities when preparing an image writable @@ -490,6 +534,8 @@ config BR2_TARGET_UBOOT_ENVIMAGE_SOURCE Multiple source files are concatenated in the order listed. + Leave empty to generate image from compiled-in env. + config BR2_TARGET_UBOOT_ENVIMAGE_SIZE string "Size of environment" help @@ -542,4 +588,10 @@ config BR2_TARGET_UBOOT_CUSTOM_DTS_PATH endif +config BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS + string "Custom make options" + help + List of custom make options passed at build time. Can be + used for example to pass a DEVICE_TREE= value. + endif # BR2_TARGET_UBOOT diff --git a/boot/uboot/uboot.hash b/boot/uboot/uboot.hash index ea07fb584d..8274246cf6 100644 --- a/boot/uboot/uboot.hash +++ b/boot/uboot/uboot.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 839bf23cfe8ce613a77e583a60375179d0ad324e92c82fbdd07bebf0fd142268 u-boot-2018.09.tar.bz2 +sha256 fe732aaf037d9cc3c0909bad8362af366ae964bbdac6913a34081ff4ad565372 u-boot-2020.04.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Licenses/gpl-2.0.txt diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index 3c070b41b3..1d50e72846 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -8,10 +8,15 @@ UBOOT_VERSION = $(call qstrip,$(BR2_TARGET_UBOOT_VERSION)) UBOOT_BOARD_NAME = $(call qstrip,$(BR2_TARGET_UBOOT_BOARDNAME)) UBOOT_LICENSE = GPL-2.0+ +ifeq ($(BR2_TARGET_UBOOT_LATEST_VERSION),y) UBOOT_LICENSE_FILES = Licenses/gpl-2.0.txt +endif UBOOT_INSTALL_IMAGES = YES +# u-boot 2020.01+ needs make 4.0+ +UBOOT_DEPENDENCIES = $(BR2_MAKE_HOST_DEPENDENCY) + ifeq ($(UBOOT_VERSION),custom) # Handle custom U-Boot tarballs as specified by the configuration UBOOT_TARBALL = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION)) @@ -85,6 +90,11 @@ UBOOT_BINS += u-boot.img UBOOT_MAKE_TARGET += u-boot.img endif +ifeq ($(BR2_TARGET_UBOOT_FORMAT_ITB),y) +UBOOT_BINS += u-boot.itb +UBOOT_MAKE_TARGET += u-boot.itb +endif + ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMX),y) UBOOT_BINS += u-boot.imx UBOOT_MAKE_TARGET += u-boot.imx @@ -133,7 +143,8 @@ UBOOT_MAKE_OPTS += \ CROSS_COMPILE="$(TARGET_CROSS)" \ ARCH=$(UBOOT_ARCH) \ HOSTCC="$(HOSTCC) $(subst -I/,-isystem /,$(subst -I /,-isystem /,$(HOST_CFLAGS)))" \ - HOSTLDFLAGS="$(HOST_LDFLAGS)" + HOSTLDFLAGS="$(HOST_LDFLAGS)" \ + $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS)) ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31),y) UBOOT_DEPENDENCIES += arm-trusted-firmware @@ -148,8 +159,22 @@ ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y) UBOOT_DEPENDENCIES += host-dtc endif +ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYTHON2),y) +UBOOT_DEPENDENCIES += host-python +else ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYTHON3),y) +UBOOT_DEPENDENCIES += host-python3 +endif + ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYLIBFDT),y) -UBOOT_DEPENDENCIES += host-python host-swig +UBOOT_DEPENDENCIES += host-swig +endif + +ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS),y) +ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYTHON2),y) +UBOOT_DEPENDENCIES += host-python-pyelftools +else ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYTHON3),y) +UBOOT_DEPENDENCIES += host-python3-pyelftools +endif endif ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSSL),y) @@ -197,22 +222,42 @@ define UBOOT_APPLY_LOCAL_PATCHES endef UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_LOCAL_PATCHES -# This is equivalent to upstream commit -# http://git.denx.de/?p=u-boot.git;a=commitdiff;h=e0d20dc1521e74b82dbd69be53a048847798a90a. It -# fixes a build failure when libfdt-devel is installed system-wide. -# This only works when scripts/dtc/libfdt exists (E.G. versions containing -# http://git.denx.de/?p=u-boot.git;a=commitdiff;h=c0e032e0090d6541549b19cc47e06ccd1f302893) +# Fixup inclusion of libfdt headers, which can fail in older u-boot versions +# when libfdt-devel is installed system-wide. +# The core change is equivalent to upstream commit +# e0d20dc1521e74b82dbd69be53a048847798a90a (first in v2018.03). However, the fixup +# is complicated by the fact that the underlying u-boot code changed multiple +# times in history: +# - The directory scripts/dtc/libfdt only exists since upstream commit +# c0e032e0090d6541549b19cc47e06ccd1f302893 (first in v2017.11). For earlier +# versions, create a dummy scripts/dtc/libfdt directory with symlinks for the +# fdt-related files. This allows to use the same -I option for both +# cases. +# - The variable 'srctree' used to be called 'SRCTREE' before upstream commit +# 01286329b27b27eaeda045b469d41b1d9fce545a (first in v2014.04). +# - The original location for libfdt, 'lib/libfdt/', used to be simply +# 'libfdt' before upstream commit 0de71d507157c4bd4fddcd3a419140d2b986eed2 +# (first in v2010.06). Make the 'lib' part optional in the substitution to +# handle this. define UBOOT_FIXUP_LIBFDT_INCLUDE - if [ -d $(@D)/scripts/dtc/libfdt ]; then \ - $(SED) 's%-I$$(srctree)/lib/libfdt%-I$$(srctree)/scripts/dtc/libfdt%' $(@D)/tools/Makefile; \ + $(Q)if [ ! -d $(@D)/scripts/dtc/libfdt ]; then \ + mkdir -p $(@D)/scripts/dtc/libfdt; \ + cd $(@D)/scripts/dtc/libfdt; \ + ln -s ../../../include/fdt.h .; \ + ln -s ../../../include/libfdt*.h .; \ + ln -s ../../../lib/libfdt/libfdt_internal.h .; \ fi + $(Q)$(SED) \ + 's%-I\ *\$$(srctree)/lib/libfdt%-I$$(srctree)/scripts/dtc/libfdt%; \ + s%-I\ *\$$(SRCTREE)\(/lib\)\?/libfdt%-I$$(SRCTREE)/scripts/dtc/libfdt%' \ + $(@D)/tools/Makefile endef UBOOT_POST_PATCH_HOOKS += UBOOT_FIXUP_LIBFDT_INCLUDE ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y) define UBOOT_CONFIGURE_CMDS $(TARGET_CONFIGURE_OPTS) \ - $(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ + $(BR2_MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ $(UBOOT_BOARD_NAME)_config endef else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y) @@ -249,7 +294,7 @@ define UBOOT_BUILD_CMDS cp -f $(UBOOT_CUSTOM_DTS_PATH) $(@D)/arch/$(UBOOT_ARCH)/dts/ ) $(TARGET_CONFIGURE_OPTS) \ - $(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ + $(BR2_MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ $(UBOOT_MAKE_TARGET) $(if $(BR2_TARGET_UBOOT_FORMAT_SD), $(@D)/tools/mxsboot sd $(@D)/u-boot.sb $(@D)/u-boot.sd) @@ -267,8 +312,11 @@ define UBOOT_BUILD_OMAP_IFT endef ifneq ($(BR2_TARGET_UBOOT_ENVIMAGE),) +UBOOT_GENERATE_ENV_FILE = $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) define UBOOT_GENERATE_ENV_IMAGE - cat $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) \ + $(if $(UBOOT_GENERATE_ENV_FILE), \ + cat $(UBOOT_GENERATE_ENV_FILE), \ + CROSS_COMPILE="$(TARGET_CROSS)" $(@D)/scripts/get_default_envs.sh $(@D)) \ >$(@D)/buildroot-env.txt $(HOST_DIR)/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \ $(if $(BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT),-r) \ @@ -309,8 +357,7 @@ UBOOT_ZYNQMP_PMUFW_PATH = $(shell readlink -f $(UBOOT_ZYNQMP_PMUFW)) endif define UBOOT_ZYNQMP_KCONFIG_PMUFW - $(call KCONFIG_SET_OPT,CONFIG_PMUFW_INIT_FILE,"$(UBOOT_ZYNQMP_PMUFW_PATH)", \ - $(@D)/.config) + $(call KCONFIG_SET_OPT,CONFIG_PMUFW_INIT_FILE,"$(UBOOT_ZYNQMP_PMUFW_PATH)") endef UBOOT_ZYNQMP_PSU_INIT = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE)) @@ -318,8 +365,7 @@ UBOOT_ZYNQMP_PSU_INIT_PATH = $(shell readlink -f $(UBOOT_ZYNQMP_PSU_INIT)) ifneq ($(UBOOT_ZYNQMP_PSU_INIT),) define UBOOT_ZYNQMP_KCONFIG_PSU_INIT - $(call KCONFIG_SET_OPT,CONFIG_XILINX_PS_INIT_FILE,"$(UBOOT_ZYNQMP_PSU_INIT_PATH)", \ - $(@D)/.config) + $(call KCONFIG_SET_OPT,CONFIG_XILINX_PS_INIT_FILE,"$(UBOOT_ZYNQMP_PSU_INIT_PATH)") endef endif @@ -381,11 +427,8 @@ endef ifeq ($(BR2_TARGET_UBOOT_ENVIMAGE),y) ifeq ($(BR_BUILDING),y) -ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)),) -$(error Please define a source file for Uboot environment (BR2_TARGET_UBOOT_ENVIMAGE_SOURCE setting)) -endif ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SIZE)),) -$(error Please provide Uboot environment size (BR2_TARGET_UBOOT_ENVIMAGE_SIZE setting)) +$(error Please provide U-Boot environment size (BR2_TARGET_UBOOT_ENVIMAGE_SIZE setting)) endif endif UBOOT_DEPENDENCIES += host-uboot-tools @@ -394,7 +437,7 @@ endif ifeq ($(BR2_TARGET_UBOOT_BOOT_SCRIPT),y) ifeq ($(BR_BUILDING),y) ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE)),) -$(error Please define a source file for Uboot boot script (BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE setting)) +$(error Please define a source file for U-Boot boot script (BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE setting)) endif endif UBOOT_DEPENDENCIES += host-uboot-tools diff --git a/docs/manual/adding-packages-asciidoc.txt b/docs/manual/adding-packages-asciidoc.txt index d870c51088..f9688b36c7 100644 --- a/docs/manual/adding-packages-asciidoc.txt +++ b/docs/manual/adding-packages-asciidoc.txt @@ -65,8 +65,6 @@ information is (assuming the document name is +foo+) : * +FOO_DEPENDENCIES+, optional, the list of packages (most probably, host-packages) that must be built before building this document. - If a hook of your document needs to access the _Kconfig_ structure, - you may add +prepare-kconfig+ to the list of dependencies. There are also additional hooks (see xref:hooks[] for general information on hooks), that a document may set to define extra actions to be done at diff --git a/docs/manual/adding-packages-cargo.txt b/docs/manual/adding-packages-cargo.txt index b7fc09acfe..b6029e1eed 100644 --- a/docs/manual/adding-packages-cargo.txt +++ b/docs/manual/adding-packages-cargo.txt @@ -17,7 +17,7 @@ The +Config.in+ file of Cargo-based package 'foo' should contain: --------------------------- 01: config BR2_PACKAGE_FOO 02: bool "foo" -03: depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS +03: depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS 04: select BR2_PACKAGE_HOST_CARGO 05: help 06: This is a comment that explains what foo is. diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt index e6201bb86b..4ceb3fd772 100644 --- a/docs/manual/adding-packages-directory.txt +++ b/docs/manual/adding-packages-directory.txt @@ -322,6 +322,10 @@ use in the comment. ** Dependency symbol: +BR2_INSTALL_LIBSTDCPP+ ** Comment string: `C++` +* D support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_DLANG+ +** Comment string: `Dlang` + * Fortran support ** Dependency symbol: +BR2_TOOLCHAIN_HAS_FORTRAN+ ** Comment string: `fortran` @@ -457,7 +461,7 @@ The hashes stored in that file are used to validate the integrity of the downloaded files and of the license files. The format of this file is one line for each file for which to check the -hash, each line being space-separated, with these three fields: +hash, each line with the following three fields separated by two spaces: * the type of hash, one of: ** +md5+, +sha1+, +sha224+, +sha256+, +sha384+, +sha512+, +none+ @@ -496,10 +500,6 @@ target run. For a package with multiple versions (like Qt5), create the hash file in a subdirectory ++ of that package (see also xref:patch-apply-order[]). -.Note -The number of spaces does not matter, so one can use spaces (or tabs) to -properly align the different fields. - The +none+ hash type is reserved to those archives downloaded from a repository, like a 'git clone', a 'subversion checkout'... @@ -510,22 +510,22 @@ downloaded patch, and an archive with no hash: ---- # Hashes from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.{sha1,sha256}: -sha1 486fb55c3efa71148fe07895fd713ea3a5ae343a libfoo-1.2.3.tar.bz2 -sha256 efc8103cc3bcb06bda6a781532d12701eb081ad83e8f90004b39ab81b65d4369 libfoo-1.2.3.tar.bz2 +sha1 486fb55c3efa71148fe07895fd713ea3a5ae343a libfoo-1.2.3.tar.bz2 +sha256 efc8103cc3bcb06bda6a781532d12701eb081ad83e8f90004b39ab81b65d4369 libfoo-1.2.3.tar.bz2 # md5 from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.md5, sha256 locally computed: -md5 2d608f3c318c6b7557d551a5a09314f03452f1a1 libfoo-data.bin -sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b libfoo-data.bin +md5 2d608f3c318c6b7557d551a5a09314f03452f1a1 libfoo-data.bin +sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b libfoo-data.bin # Locally computed: -sha256 ff52101fb90bbfc3fe9475e425688c660f46216d7e751c4bbdb1dc85cdccacb9 libfoo-fix-blabla.patch +sha256 ff52101fb90bbfc3fe9475e425688c660f46216d7e751c4bbdb1dc85cdccacb9 libfoo-fix-blabla.patch # No hash for 1234: -none xxx libfoo-1234.tar.gz +none xxx libfoo-1234.tar.gz # Hash for license files: -sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8 COPYING -sha256 01b1f9f2c8ee648a7a596a1abe8aa4ed7899b1c9e5551bda06da6e422b04aa55 doc/COPYING.LGPL +sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8 COPYING +sha256 01b1f9f2c8ee648a7a596a1abe8aa4ed7899b1c9e5551bda06da6e422b04aa55 doc/COPYING.LGPL ---- If the +.hash+ file is present, and it contains one or more hashes for a diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt index 7be1754f54..b8bfcb4aff 100644 --- a/docs/manual/adding-packages-generic.txt +++ b/docs/manual/adding-packages-generic.txt @@ -142,7 +142,7 @@ All these steps rely on the +$(@D)+ variable, which contains the directory where the source code of the package has been extracted. -On lines 31..43, we define a user that is used by this package (e.g. +On lines 31..33, we define a user that is used by this package (e.g. to run a daemon as non-root) (+LIBFOO_USERS+). On line 35..37, we define a device-node file used by this package @@ -358,9 +358,11 @@ not and can not work as people would expect it should: * +LIBFOO_DEPENDENCIES+ lists the dependencies (in terms of package name) that are required for the current target package to compile. These dependencies are guaranteed to be compiled and - installed before the configuration of the current package starts. In - a similar way, +HOST_LIBFOO_DEPENDENCIES+ lists the dependencies for - the current host package. + installed before the configuration of the current package starts. + However, modifications to configuration of these dependencies will + not force a rebuild of the current package. In a similar way, + +HOST_LIBFOO_DEPENDENCIES+ lists the dependencies for the current + host package. * +LIBFOO_EXTRACT_DEPENDENCIES+ lists the dependencies (in terms of package name) that are required for the current target package to be @@ -372,9 +374,9 @@ not and can not work as people would expect it should: * +LIBFOO_PATCH_DEPENDENCIES+ lists the dependencies (in terms of package name) that are required for the current package to be patched. These dependencies are guaranteed to be extracted and - patched before the current package is patched. In a similar way, - +HOST_LIBFOO_PATCH_DEPENDENCIES+ lists the dependencies for the - current host package. + patched (but not necessarily built) before the current package is + patched. In a similar way, +HOST_LIBFOO_PATCH_DEPENDENCIES+ lists + the dependencies for the current host package. This is seldom used; usually, +LIBFOO_DEPENDENCIES+ is what you really want to use. @@ -429,13 +431,17 @@ not and can not work as people would expect it should: the +license+ field of the manifest file for this package. + The expected format for this variable must comply with the following rules: ** If different parts of the package are released under different - licenses, then +comma+ separate licenses (e.g. +`LIBFOO_LICENSE = - GPL-2.0+, LGPL-2.1+`+). If there is clear distinction between which - component is licensed under what license, then annotate the license - with that component, between parenthesis (e.g. +`LIBFOO_LICENSE = - GPL-2.0+ (programs), LGPL-2.1+ (libraries)`+). + licenses, then +comma+ separate licenses (e.g. +`LIBFOO_LICENSE = + GPL-2.0+, LGPL-2.1+`+). If there is clear distinction between which + component is licensed under what license, then annotate the license + with that component, between parenthesis (e.g. +`LIBFOO_LICENSE = + GPL-2.0+ (programs), LGPL-2.1+ (libraries)`+). + ** If some licenses are conditioned on a sub-option being enabled, append + the conditional licenses with a comma (e.g.: `FOO_LICENSE += , GPL-2.0+ + (programs)`); the infrastructure will internally remove the space before + the comma. ** If the package is dual licensed, then separate licenses with the - +or+ keyword (e.g. +`LIBFOO_LICENSE = AFL-2.1 or GPL-2.0+`+). + +or+ keyword (e.g. +`LIBFOO_LICENSE = AFL-2.1 or GPL-2.0+`+). * +LIBFOO_LICENSE_FILES+ is a space-separated list of files in the package tarball that contain the license(s) under which the package is released. @@ -446,7 +452,7 @@ not and can not work as people would expect it should: of the manifest file for this package. * +LIBFOO_ACTUAL_SOURCE_TARBALL+ only applies to packages whose - +LIBFOO_SITE+ / +LIBTOO_SOURCE+ pair points to an archive that does + +LIBFOO_SITE+ / +LIBFOO_SOURCE+ pair points to an archive that does not actually contain source code, but binary code. This a very uncommon case, only known to apply to external toolchains which come already compiled, although theoretically it might apply to other @@ -482,6 +488,20 @@ not and can not work as people would expect it should: locations, `/lib/firmware`, `/usr/lib/firmware`, `/lib/modules`, `/usr/lib/modules`, and `/usr/share`, which are automatically excluded. +* +LIBFOO_IGNORE_CVES+ is a space-separated list of CVEs that tells + Buildroot CVE tracking tools which CVEs should be ignored for this + package. This is typically used when the CVE is fixed by a patch in + the package, or when the CVE for some reason does not affect the + Buildroot package. A Makefile comment must always precede the + addition of a CVE to this variable. Example: + +---------------------- +# 0001-fix-cve-2020-12345.patch +LIBFOO_IGNORE_CVES += CVE-2020-12345 +# only when built with libbaz, which Buildroot doesn't support +LIBFOO_IGNORE_CVES += CVE-2020-54321 +---------------------- + The recommended way to define these variables is to use the following syntax: @@ -536,12 +556,20 @@ different steps of the build process. should utilize this step if it has binaries which would be similar to the kernel image, bootloader or root filesystem images. -* +LIBFOO_INSTALL_INIT_SYSV+ and +LIBFOO_INSTALL_INIT_SYSTEMD+ list the - actions to install init scripts either for the systemV-like init systems - (busybox, sysvinit, etc.) or for the systemd units. These commands - will be run only when the relevant init system is installed (i.e. if - systemd is selected as the init system in the configuration, only - +LIBFOO_INSTALL_INIT_SYSTEMD+ will be run). +* +LIBFOO_INSTALL_INIT_SYSV+, +LIBFOO_INSTALL_INIT_OPENRC+ and + +LIBFOO_INSTALL_INIT_SYSTEMD+ list the actions to install init + scripts either for the systemV-like init systems (busybox, + sysvinit, etc.), openrc or for the systemd units. These commands + will be run only when the relevant init system is installed (i.e. + if systemd is selected as the init system in the configuration, + only +LIBFOO_INSTALL_INIT_SYSTEMD+ will be run). The only exception + is when openrc is chosen as init system and +LIBFOO_INSTALL_INIT_OPENRC+ + has not been set, in such situation +LIBFOO_INSTALL_INIT_SYSV+ will + be called, since openrc supports sysv init scripts. + When systemd is used as the init system, buildroot will automatically enable + all services using the +systemctl preset-all+ command in the final phase of + image building. You can add preset files to prevent a particular unit from + being automatically enabled by buildroot. * +LIBFOO_HELP_CMDS+ lists the actions to print the package help, which is included to the main +make help+ output. These commands can print @@ -549,6 +577,14 @@ different steps of the build process. This is seldom used, as packages rarely have custom rules. *Do not use this variable*, unless you really know that you need to print help. +* +LIBFOO_LINUX_CONFIG_FIXUPS+ lists the Linux kernel configuration + options that are needed to build and use this package, and without + which the package is fundamentally broken. This shall be a set of + calls to one of the kconfig tweaking option: `KCONFIG_ENABLE_OPT`, + `KCONFIG_DISABLE_OPT`, or `KCONFIG_SET_OPT`. + This is seldom used, as package usually have no strict requirements on + the kernel options. + The preferred way to define these variables is: ---------------------- @@ -578,6 +614,13 @@ In the action definitions, you can use the following variables: * +$(TARGET_CROSS)+ to get the cross-compilation toolchain prefix * Of course the +$(HOST_DIR)+, +$(STAGING_DIR)+ and +$(TARGET_DIR)+ - variables to install the packages properly. + variables to install the packages properly. Those variables point to + the global _host_, _staging_ and _target_ directories, unless + _per-package directory_ support is used, in which case they point to + the current package _host_, _staging_ and _target_ directories. In + both cases, it doesn't make any difference from the package point of + view: it should simply use +HOST_DIR+, +STAGING_DIR+ and + +TARGET_DIR+. See xref:top-level-parallel-build[] for more details + about _per-package directory_ support. Finally, you can also use hooks. See xref:hooks[] for more information. diff --git a/docs/manual/adding-packages-golang.txt b/docs/manual/adding-packages-golang.txt index efcf696867..8c467689be 100644 --- a/docs/manual/adding-packages-golang.txt +++ b/docs/manual/adding-packages-golang.txt @@ -45,13 +45,18 @@ built. ==== +golang-package+ reference In their +Config.in+ file, packages using the +golang-package+ -infrastructure should depend on +BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS+ -and +BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS+ because Buildroot will -automatically add a dependency on +host-go+ to such packages. +infrastructure should depend on +BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS+ +because Buildroot will automatically add a dependency on +host-go+ +to such packages. +If you need CGO support in your package, you must add a dependency on ++BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS+. The main macro of the Go package infrastructure is -+golang-package+. It is similar to the +generic-package+ macro. Only -target packages are supported with +golang-package+. ++golang-package+. It is similar to the +generic-package+ macro. The +ability to build host packages is also available, with the ++host-golang-package+ macro. +Host packages built by +host-golang-package+ macro should depend on +BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS. Just like the generic infrastructure, the Go infrastructure works by defining a number of variables before calling the +golang-package+. diff --git a/docs/manual/adding-packages-kconfig.txt b/docs/manual/adding-packages-kconfig.txt index 982c1229ea..8f40ea6099 100644 --- a/docs/manual/adding-packages-kconfig.txt +++ b/docs/manual/adding-packages-kconfig.txt @@ -43,6 +43,12 @@ This snippet creates the following make targets: options that differ from the default values. It is not possible to use this target when fragment files are set. +* +foo-diff-config+, which outputs the differences between the current + configuration and the one defined in the Buildroot configuration for + this kconfig package. The output is useful to identify the + configuration changes that may have to be propagated to + configuration fragments for example. + and ensures that the source configuration file is copied to the build directory at the right moment. diff --git a/docs/manual/adding-packages-luarocks.txt b/docs/manual/adding-packages-luarocks.txt index df97cdd503..70f48fc02c 100644 --- a/docs/manual/adding-packages-luarocks.txt +++ b/docs/manual/adding-packages-luarocks.txt @@ -73,9 +73,7 @@ infrastructures in Buildroot, respectively. The main macro of the LuaRocks package infrastructure is +luarocks-package+: like +generic-package+ it works by defining a number of variables providing -metadata information about the package, and then calling +luarocks-package+. It -is worth mentioning that building LuaRocks packages for the host is not -supported, so the macro +host-luarocks-package+ is not implemented. +metadata information about the package, and then calling +luarocks-package+. Just like the generic infrastructure, the LuaRocks infrastructure works by defining a number of variables before calling the +luarocks-package+ diff --git a/docs/manual/adding-packages-meson.txt b/docs/manual/adding-packages-meson.txt index 30c338f486..029c8c2488 100644 --- a/docs/manual/adding-packages-meson.txt +++ b/docs/manual/adding-packages-meson.txt @@ -97,6 +97,34 @@ will therefore only use a few of them. * +FOO_CONF_OPTS+, to specify additional options to pass to +meson+ for the configuration step. By default, empty. +* +FOO_CFLAGS+, to specify compiler arguments added to the package specific + +cross-compile.conf+ file +c_args+ property. By default, the value of + +TARGET_CFLAGS+. + +* +FOO_CXXFLAGS+, to specify compiler arguments added to the package specific + +cross-compile.conf+ file +cpp_args+ property. By default, the value of + +TARGET_CXXFLAGS+. + +* +FOO_LDFLAGS+, to specify compiler arguments added to the package specific + +cross-compile.conf+ file +c_link_args+ and +cpp_link_args+ properties. By + default, the value of +TARGET_LDFLAGS+. + +* +FOO_MESON_EXTRA_BINARIES+, to specify a space-separated list of programs + to add to the `[binaries]` section of the meson `cross-compilation.conf` + configuration file. The format is `program-name='/path/to/program'`, with + no space around the +=+ sign, and with the path of the program between + single quotes. By default, empty. Note that Buildroot already sets the + correct values for +c+, +cpp+, +ar+, +strip+, and +pkgconfig+. + +* +FOO_MESON_EXTRA_PROPERTIES+, to specify a space-separated list of + properties to add to the `[properties]` section of the meson + `cross-compilation.conf` configuration file. The format is + `property-name=` with no space around the +=+ sign, and with + single quotes around string values. By default, empty. Note that + Buildroot already sets values for +needs_exe_wrapper+, +c_args+, + +c_link_args+, +cpp_args+, +cpp_link_args+, +sys_root+, and + +pkg_config_libdir+. + * +FOO_NINJA_ENV+, to specify additional environment variables to pass to +ninja+, meson companion tool in charge of the build operations. By default, empty. diff --git a/docs/manual/adding-packages-python.txt b/docs/manual/adding-packages-python.txt index 15137cfd6d..0c100859be 100644 --- a/docs/manual/adding-packages-python.txt +++ b/docs/manual/adding-packages-python.txt @@ -67,9 +67,13 @@ Python build system, but are not Python modules, can freely choose their name (existing examples in Buildroot are +scons+ and +supervisor+). -In their +Config.in+ file, they should depend on +BR2_PACKAGE_PYTHON+ -so that when Buildroot will enable Python 3 usage for modules, we will -be able to enable Python modules progressively on Python 3. +Packages that are only compatible with one version of Python (as in: +Python 2 or Python 3) should depend on that version explicitely in +their +Config.in+ file (+BR2_PACKAGE_PYTHON+ for Python 2, ++BR2_PACKAGE_PYTHON3+ for Python 3). Packages that are compatible +with both versions should not explicitely depend on them in their ++Config.in+ file, since that condition is already expressed for the +whole "External python modules" menu. The main macro of the Python package infrastructure is +python-package+. It is similar to the +generic-package+ macro. It is @@ -94,10 +98,9 @@ Note that: dependencies are automatically added as needed by the Python package infrastructure. - * Similarly, it is not needed to add +host-setuptools+ and/or - +host-distutilscross+ dependencies to +PYTHON_FOO_DEPENDENCIES+ for - setuptools-based packages, since these are automatically added by - the Python infrastructure as needed. + * Similarly, it is not needed to add +host-setuptools+ to + +PYTHON_FOO_DEPENDENCIES+ for setuptools-based packages, since it's + automatically added by the Python infrastructure as needed. One variable specific to the Python infrastructure is mandatory: diff --git a/docs/manual/adding-packages-qmake.txt b/docs/manual/adding-packages-qmake.txt new file mode 100644 index 0000000000..8d26023904 --- /dev/null +++ b/docs/manual/adding-packages-qmake.txt @@ -0,0 +1,81 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for QMake-based packages + +[[qmake-package-tutorial]] + +==== +qmake-package+ tutorial + +First, let's see how to write a +.mk+ file for a QMake-based package, with +an example : + +------------------------ +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_CONF_OPTS = QT_CONFIG+=bar QT_CONFIG-=baz +11: LIBFOO_DEPENDENCIES = bar +12: +13: $(eval $(qmake-package)) +------------------------ + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10, we tell Buildroot what options to enable for libfoo. + +On line 11, we tell Buildroot the depednencies of libfoo. + +Finally, on line line 13, we invoke the +qmake-package+ +macro that generates all the Makefile rules that actually allows the +package to be built. + +[[qmake-package-reference]] + +==== +qmake-package+ reference + +The main macro of the QMake package infrastructure is +qmake-package+. +It is similar to the +generic-package+ macro. + +Just like the generic infrastructure, the QMake infrastructure works +by defining a number of variables before calling the +qmake-package+ +macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the QMake infrastructure: ++LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+, ++LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+, ++LIBFOO_INSTALL_TARGET+. + +An additional variable, specific to the QMake infrastructure, can +also be defined. + +* +LIBFOO_CONF_ENV+, to specify additional environment variables to + pass to the +qmake+ script for the configuration step. By default, empty. + +* +LIBFOO_CONF_OPTS+, to specify additional options to pass to the + +qmake+ script for the configuration step. By default, empty. + +* +LIBFOO_MAKE_ENV+, to specify additional environment variables to the + +make+ command during the build and install steps. By default, empty. + +* +LIBFOO_MAKE_OPTS+, to specify additional targets to pass to the + +make+ command during the build step. By default, empty. + +* +LIBFOO_INSTALL_STAGING_OPTS+, to specify additional targets to pass + to the +make+ command during the staging installation step. By default, + +install+. + +* +LIBFOO_INSTALL_TARGET_OPTS+, to specify additional targets to pass + to the +make+ command during the target installation step. By default, + +install+. diff --git a/docs/manual/adding-packages-tips.txt b/docs/manual/adding-packages-tips.txt index d10f276e83..95a1d599ef 100644 --- a/docs/manual/adding-packages-tips.txt +++ b/docs/manual/adding-packages-tips.txt @@ -98,7 +98,7 @@ config snippet. For example, here's how you would test +libcurl+ with ---- $ cat libcurl.config BR2_PACKAGE_LIBCURL=y -BR2_PACKAGE_CURL=y +BR2_PACKAGE_LIBCURL_CURL=y BR2_PACKAGE_OPENSSL=y ---- diff --git a/docs/manual/adding-packages.txt b/docs/manual/adding-packages.txt index 4a4a17e879..814355cd76 100644 --- a/docs/manual/adding-packages.txt +++ b/docs/manual/adding-packages.txt @@ -41,6 +41,8 @@ include::adding-packages-cargo.txt[] include::adding-packages-golang.txt[] +include::adding-packages-qmake.txt[] + include::adding-packages-kernel-module.txt[] include::adding-packages-asciidoc.txt[] diff --git a/docs/manual/common-usage.txt b/docs/manual/common-usage.txt index e3d7578c85..7cfda10365 100644 --- a/docs/manual/common-usage.txt +++ b/docs/manual/common-usage.txt @@ -88,7 +88,7 @@ to +make+ or set in the environment: Buildroot stores the cached files when using ccache. + * +BR2_DL_DIR+ to override the directory in which - Buildroot stores/retrieves downloaded files + Buildroot stores/retrieves downloaded files. + Note that the Buildroot download directory can also be set from the configuration interface, so through the Buildroot +.config+ file. See @@ -102,6 +102,8 @@ to +make+ or set in the environment: xref:graph-depends[] for the accepted options * +BR2_GRAPH_DOT_OPTS+ is passed verbatim as options to the +dot+ utility to draw the dependency graph. +* +BR2_GRAPH_SIZE_OPTS+ to pass extra options to the size graph; see + xref:graph-size[] for the acepted options An example that uses config files located in the toplevel directory and in your $HOME: @@ -278,6 +280,7 @@ only other format supported is PNG: BR2_GRAPH_OUT=png make graph-build ---------------- +[[graph-size]] === Graphing the filesystem size contribution of packages When your target system grows, it is sometimes useful to understand @@ -310,10 +313,25 @@ installed (+python-matplotlib+ on most distributions), and also the +argparse+ module if you're using a Python version older than 2.7 (+python-argparse+ on most distributions). -Just like for the duration graph, a +BR2_GRAPH_OUT+ environment is -supported to adjust the output file format. See xref:graph-depends[] +Just like for the duration graph, a +BR2_GRAPH_OUT+ environment variable +is supported to adjust the output file format. See xref:graph-depends[] for details about this environment variable. +Additionally, one may set the environment variable +BR2_GRAPH_SIZE_OPTS+ +to further control the generated graph. Accepted options are: + +* `--size-limit X`, `-l X`, will group all packages which individual + contribution is below `X` percent, to a single entry labelled _Others_ + in the graph. By default, `X=0.01`, which means packages each + contributing less than 1% are grouped under _Others_. Accepted values + are in the range `[0.0..1.0]`. + +* `--iec`, `--binary`, `--si`, `--decimal`, to use IEC (binary, powers + of 1024) or SI (decimal, powers of 1000; the default) prefixes. + +* `--biggest-first`, to sort packages in decreasing size order, rather + than in increasing size order. + .Note The collected filesystem size data is only meaningful after a complete clean rebuild. Be sure to run +make clean all+ before using +make @@ -329,6 +347,53 @@ Refer to the help text of this script for more details: utils/size-stats-compare -h ---------------- +[[top-level-parallel-build]] +=== Top-level parallel build + +.Note +This section deals with a very experimental feature, which is known to +break even in some non-unusual situations. Use at your own risk. + +Buildroot has always been capable of using parallel build on a per +package basis: each package is built by Buildroot using +make -jN+ (or +the equivalent invocation for non-make-based build systems). The level +of parallelism is by default number of CPUs + 1, but it can be +adjusted using the +BR2_JLEVEL+ configuration option. + +Until 2020.02, Buildroot was however building packages in a serial +fashion: each package was built one after the other, without +parallelization of the build between packages. As of 2020.02, +Buildroot has experimental support for *top-level parallel build*, +which allows some signicant build time savings by building packages +that have no dependency relationship in parallel. This feature is +however marked as experimental and is known not to work in some cases. + +In order to use top-level parallel build, one must: + +. Enable the option +BR2_PER_PACKAGE_DIRECTORIES+ in the Buildroot +configuration + +. Use +make -jN+ when starting the Buildroot build + +Internally, the +BR2_PER_PACKAGE_DIRECTORIES+ will enable a mechanism +called *per-package directories*, which will have the following +effects: + +* Instead of a global _target_ directory and a global _host_ directory + common to all packages, per-package _target_ and _host_ directories + will be used, in +$(O)/per-package//target/+ and + +$(O)/per-package//host/+ respectively. Those folders will be + populated from the corresponding folders of the package dependencies + at the beginning of ++ build. The compiler and all other tools + will therefore only be able to see and access files installed by + dependencies explicitly listed by ++. + +* At the end of the build, the global _target_ and _host_ directories + will be populated, located in +$(O)/target+ and +$(O)/host+ + respectively. This means that during the build, those folders will + be empty and it's only at the very end of the build that they will + be populated. + include::eclipse-integration.txt[] include::advanced.txt[] diff --git a/docs/manual/configure.txt b/docs/manual/configure.txt index 008813c9b4..c9eef567f4 100644 --- a/docs/manual/configure.txt +++ b/docs/manual/configure.txt @@ -206,9 +206,9 @@ Buildroot or crosstool-NG. If you want to generate a custom toolchain for your project, that can be used as an external toolchain in Buildroot, our recommendation is -definitely to build it with http://crosstool-ng.org[crosstool-NG]. We -recommend to build the toolchain separately from Buildroot, and then -_import_ it in Buildroot using the external toolchain backend. +to build it either with Buildroot itself (see +xref:build-toolchain-with-buildroot[]) or with +http://crosstool-ng.org[crosstool-NG]. Advantages of this backend: @@ -223,7 +223,53 @@ Drawbacks of this backend: * If your pre-built external toolchain has a bug, may be hard to get a fix from the toolchain vendor, unless you build your external - toolchain by yourself using Crosstool-NG. + toolchain by yourself using Buildroot or Crosstool-NG. + +[[build-toolchain-with-buildroot]] +==== Build an external toolchain with Buildroot + +The Buildroot internal toolchain option can be used to create an +external toolchain. Here are a series of steps to build an internal +toolchain and package it up for reuse by Buildroot itself (or other +projects). + +Create a new Buildroot configuration, with the following details: + +* Select the appropriate *Target options* for your target CPU + architecture + +* In the *Toolchain* menu, keep the default of *Buildroot toolchain* + for *Toolchain type*, and configure your toolchain as desired + +* In the *System configuration* menu, select *None* as the *Init + system* and *none* as */bin/sh* + +* In the *Target packages* menu, disable *BusyBox* + +* In the *Filesystem images* menu, disable *tar the root filesystem* + +Then, we can trigger the build, and also ask Buildroot to generate a +SDK. This will conveniently generate for us a tarball which contains +our toolchain: + +----- +make sdk +----- + +This produces the SDK tarball in +$(O)/images+, with a name similar to ++arm-buildroot-linux-uclibcgnueabi_sdk-buildroot.tar.gz+. Save this +tarball, as it is now the toolchain that you can re-use as an external +toolchain in other Buildroot projects. + +In those other Buildroot projects, in the *Toolchain* menu: + +* Set *Toolchain type* to *External toolchain* + +* Set *Toolchain* to *Custom toolchain* + +* Set *Toolchain origin* to *Toolchain to be downloaded and installed* + +* Set *Toolchain URL* to +file:///path/to/your/sdk/tarball.tar.gz+ ===== External toolchain wrapper diff --git a/docs/manual/contribute.txt b/docs/manual/contribute.txt index 5530ce1546..bde7543c25 100644 --- a/docs/manual/contribute.txt +++ b/docs/manual/contribute.txt @@ -73,7 +73,7 @@ basically two things that can be done: In the commit message of a patch fixing an autobuild failure, add a reference to the build result directory, as follows: --------------------- -Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069 +Fixes: http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069 --------------------- === Reviewing and testing patches @@ -402,7 +402,7 @@ the problem is complex, it is OK to add more paragraphs. All paragraphs should be wrapped at 72 characters. A paragraph that explains the root cause of the problem. Again, more -than on paragraph is OK. +than one paragraph is OK. Finally, one or more paragraphs that explain how the problem is solved. Don't hesitate to explain complex solutions in detail. @@ -487,3 +487,171 @@ preserve Unix-style line terminators when downloading raw pastes. Following pastebin services are known to work correctly: - https://gist.github.com/ - http://code.bulix.org/ + +=== Using the run-tests framework + +Buildroot includes a run-time testing framework called run-tests built +upon Python scripting and QEMU runtime execution. There are two types of +test cases within the framework, one for build time tests and another for +run-time tests that have a QEMU dependency. The goals of the framework are +the following: + +* build a well defined configuration +* optionally, verify some properties of the build output +* if it is a run-time test: +** boot it under QEMU +** run some test condition to verify that a given feature is working + +The run-tests tool has a series of options documented in the tool's help '-h' +description. Some common options include setting the download folder, the +output folder, keeping build output, and for multiple test cases, you can set +the JLEVEL for each. + +Here is an example walk through of running a test case. + +* For a first step, let us see what all the test case options are. The test +cases can be listed by executing +support/testing/run-tests -l+. These tests +can all be run individually during test development from the console. Both +one at a time and selectively as a group of a subset of tests. + +--------------------- +$ support/testing/run-tests -l +List of tests +test_run (tests.utils.test_check_package.TestCheckPackage) +Test the various ways the script can be called in a simple top to ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainBuildrootMusl) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainCCache) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainCtngMusl) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainLinaroArm) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainSourceryArmv4) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainSourceryArmv5) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainSourceryArmv7) ... ok +[snip] +test_run (tests.init.test_systemd.TestInitSystemSystemdRoFull) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRoIfupdown) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRoNetworkd) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRwFull) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRwIfupdown) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRwNetworkd) ... ok +test_run (tests.init.test_busybox.TestInitSystemBusyboxRo) ... ok +test_run (tests.init.test_busybox.TestInitSystemBusyboxRoNet) ... ok +test_run (tests.init.test_busybox.TestInitSystemBusyboxRw) ... ok +test_run (tests.init.test_busybox.TestInitSystemBusyboxRwNet) ... ok + +Ran 157 tests in 0.021s + +OK +--------------------- + +Those runtime tests are regularly executed by Buildroot Gitlab CI +infrastructure, see .gitlab.yml and https://gitlab.com/buildroot.org/buildroot/-/jobs. + +==== Creating a test case + +The best way to get familiar with how to create a test case is to look at a +few of the basic file system +support/testing/tests/fs/+ and init ++support/testing/tests/init/+ test scripts. Those tests give good examples +of a basic build and build with run type of tests. There are other more +advanced cases that use things like nested +br2-external+ folders to provide +skeletons and additional packages. + +The test cases by default use a br-arm-full-* uClibc-ng toolchain and the +prebuild kernel for a armv5/7 cpu. It is recommended to use the default +defconfig test configuration except when Glibc/musl or a newer kernel are +necessary. By using the default it saves build time and the test would +automatically inherit a kernel/std library upgrade when the default is +updated. + +The basic test case definition involves + +* Creation of a new test file +* Defining a unique test class +* Determining if the default defconfig plus test options can be used +* Implementing a +def test_run(self):+ function to optionally startup the +emulator and provide test case conditions. + +Beyond creating the test script, there are a couple of additional steps that +should be taken once you have your initial test case script. The first is +to add yourself to the +DEVELOPERS+ file to be the maintainer of that test +case. The second is to update the Gitlab CI yml by executing ++make .gitlab-ci.yml+. + +==== Debugging a test case + +Within the Buildroot repository, the testing framework is organized at the +top level in +support/testing/+ by folders of +conf+, +infra+ and +tests+. +All the test cases live under the +test+ folder and are organized in various +folders representing the catagory of test. + +Lets walk through an example. + +* Using the Busybox Init system test case with a read/write rootfs ++tests.init.test_busybox.TestInitSystemBusyboxRw+ +* A minimal set of command line arguments when debugging a test case would +include '-d' which points to your dl folder, '-o' to an output folder, and +'-k' to keep any output on both pass/fail. With those options, the test will +retain logging and build artifacts providing status of the build and +execution of the test case. + +--------------------- +$ support/testing/run-tests -d dl -o output_folder -k tests.init.test_busybox.TestInitSystemBusyboxRw +15:03:26 TestInitSystemBusyboxRw Starting +15:03:28 TestInitSystemBusyboxRw Building +15:08:18 TestInitSystemBusyboxRw Building done +15:08:27 TestInitSystemBusyboxRw Cleaning up +. +Ran 1 test in 301.140s + +OK +--------------------- + +* For the case of a successful build, the +output_folder+ would contain a + folder with the Buildroot build, build log and run-time log. If +the build failed, the console output would show the stage at which it failed +(setup / build / run). Depending on the failure stage, the build/run logs +and/or Buildroot build artifacts can be inspected and instrumented. If the +QEMU instance needs to be launched for additional testing, the first few +lines of the run-time log capture it and it would allow some incremental +testing without re-running +support/testing/run-tests+. + +* You can also make modifications to the current sources inside the ++output_folder+ (e.g. for debug purposes) and rerun the standard +Buildroot make targets (in order to regenerate the complete image with +the new modifications) and then rerun the test. Modifying the sources +directly can speed up debugging compared to adding patch files, wiping the +output directoy, and starting the test again. + +--------------------- +$ ls output_folder/ +TestInitSystemBusyboxRw/ +TestInitSystemBusyboxRw-build.log +TestInitSystemBusyboxRw-run.log +--------------------- + +* The source file used to implement this example test is found under ++support/testing/tests/init/test_busybox.py+. This file outlines the +minimal defconfig that creates the build, QEMU configuration to launch +the built images and the test case assertions. + +To test an existing or new test case within Gitlab CI, there is a method of +invoking a specific test by creating a Buildroot fork in Gitlab under your +account. This can be handy when adding/changing a run-time test or fixing a +bug on a use case tested by a run-time test case. + + +In the examples below, the component of the branch name is a unique +string you choose to identify this specific job being created. + +* to trigger all run-test test case jobs: + +--------------------- + $ git push gitlab HEAD:-runtime-tests +--------------------- + +* to trigger one test case job, a specific branch naming string is used that +includes the full test case name. + +--------------------- + $ git push gitlab HEAD:- +--------------------- diff --git a/docs/manual/customize-outside-br.txt b/docs/manual/customize-outside-br.txt index b1eed326aa..5f7d623aea 100644 --- a/docs/manual/customize-outside-br.txt +++ b/docs/manual/customize-outside-br.txt @@ -22,7 +22,7 @@ place project-specific customizations in two locations: One can tell Buildroot to use one or more br2-external trees by setting the +BR2_EXTERNAL+ make variable set to the path(s) of the br2-external tree(s) to use. It can be passed to any Buildroot +make+ invocation. It -is automatically saved in the hidden +.br-external.mk+ file in the output +is automatically saved in the hidden +.br2-external.mk+ file in the output directory. Thanks to this, there is no need to pass +BR2_EXTERNAL+ at every +make+ invocation. It can however be changed at any time by passing a new value, and can be removed by passing an empty value. @@ -81,7 +81,8 @@ in the following chapters: Apart from those mandatory files, there may be additional and optional content that may be present in a br2-external tree, like the +configs/+ -directory. They are described in the following chapters as well. +or +provides/+ directories. They are described in the following chapters +as well. A complete example br2-external tree layout is also described later. @@ -186,6 +187,22 @@ the one from the last br2-external tree is used. It is thus possible to override a defconfig bundled in Buildroot or another br2-external tree. +===== The +provides/+ directory + +For some packages, Buildroot provides a choice between two (or more) +implementations of API-compatible such packages. For example, there is +a choice to choose either libjpeg ot jpeg-turbo, and another choice +between openssl or libressl. Finally, there is a choice to select one +of the known, pre-configured toolchains. + +It is possible for a br2-external to extend those choices, by providing +a set of files that define those alternatives: + +* +provides/toolchains.in+ defines the pre-configured toolchains, which + will then be listed in the toolchain selection; +* +provides/jpeg.in+ defines the alternative libjpeg implementations; +* +provides/openssl.in+ defines the alternative openssl implementations. + ===== Free-form content One can store all the board-specific configuration files there, such @@ -202,6 +219,12 @@ BR2_ROOTFS_OVERLAY=$(BR2_EXTERNAL_BAR_42_PATH)/board//overlay/ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=$(BR2_EXTERNAL_BAR_42_PATH)/board//kernel.config ---- +===== Additional Linux kernel extensions + +Additional Linux kernel extensions (see xref:linux-kernel-ext[]) can +be added by storing them in the `linux/` directory at the root of a +br2-external tree. + ===== Example layout Here is an example layout using all features of br2-external (the sample @@ -217,8 +240,10 @@ illustration, of course): | `---- | |- Config.in + | |source "$BR2_EXTERNAL_BAR_42_PATH/toolchain/toolchain-external-mine/Config.in.options" | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in" | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in" + | |source "$BR2_EXTERNAL_BAR_42_PATH/package/my-jpeg/Config.in" | | | |config BAR_42_FLASH_ADDR | | hex "my-board flash address" @@ -227,6 +252,7 @@ illustration, of course): | |- external.mk | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) + | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/toolchain/*/*.mk)) | | | |flash-my-board: | | $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \ @@ -259,6 +285,50 @@ illustration, of course): |- package/pkg-2/pkg-2.hash |- package/pkg-2/pkg-2.mk | + |- provides/jpeg.in + | |config BR2_PACKAGE_MY_JPEG + | | bool "my-jpeg" + | `---- + |- package/my-jpeg/Config.in + | |config BR2_PACKAGE_PROVIDES_JPEG + | | default "my-jpeg" if BR2_PACKAGE_MY_JPEG + | `---- + |- package/my-jpeg/my-jpeg.mk + | |# This is a normal package .mk file + | |MY_JPEG_VERSION = 1.2.3 + | |MY_JPEG_SITE = https://example.net/some/place + | |MY_JPEG_PROVIDES = jpeg + | |$(eval $(autotools-package)) + | `---- + | + |- provides/toolchains.in + | |config BR2_TOOLCHAIN_EXTERNAL_MINE + | | bool "my custom toolchain" + | | depends on BR2_some_arch + | | select BR2_INSTALL_LIBSTDCPP + | `---- + |- toolchain/toolchain-external-mine/Config.in.options + | |if BR2_TOOLCHAIN_EXTERNAL_MINE + | |config BR2_TOOLCHAIN_EXTERNAL_PREFIX + | | default "arch-mine-linux-gnu" + | |config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + | | default "toolchain-external-mine" + | |endif + | `---- + |- toolchain/toolchain-external-mine/toolchain-external-mine.mk + | |TOOLCHAIN_EXTERNAL_MINE_SITE = https://example.net/some/place + | |TOOLCHAIN_EXTERNAL_MINE_SOURCE = my-toolchain.tar.gz + | |$(eval $(toolchain-external-package)) + | `---- + | + |- linux/Config.ext.in + | |config BR2_LINUX_KERNEL_EXT_EXAMPLE_DRIVER + | | bool "example-external-driver" + | | help + | | Example external driver + | |--- + |- linux/linux-ext-example-driver.mk + | |- configs/my-board_defconfig | |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/" | |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/" @@ -311,3 +381,35 @@ External options ---> [ ] foo [ ] bar ---- + +Additionally, the jpeg provider will be visible in the jpeg choice: + +---- +Target packages ---> + Libraries ---> + Graphics ---> + [*] jpeg support + jpeg variant () ---> + ( ) jpeg + ( ) jpeg-turbo + *** jpeg from: Example br2-external tree *** + (X) my-jpeg + *** jpeg from: FOO_27 *** + ( ) another-jpeg +---- + +And similarly for the toolchains: + +---- +Toolchain ---> + Toolchain () ---> + ( ) Custom toolchain + *** Toolchains from: Example br2-external tree *** + (X) my custom toolchain +---- + +.Note +The toolchain options in +toolchain/toolchain-external-mine/Config.in.options+ +will not appear in the `Toolchain` menu. They must be explicitly included +from within the br2-external's top-level +Config.in+ and will thus appear +in the `External options` menu. diff --git a/docs/manual/customize-patches.txt b/docs/manual/customize-patches.txt index fa63541110..eb98d1bea2 100644 --- a/docs/manual/customize-patches.txt +++ b/docs/manual/customize-patches.txt @@ -53,7 +53,7 @@ directory. The exception to +BR2_GLOBAL_PATCH_DIR+ being the preferred method for specifying custom patches is +BR2_LINUX_KERNEL_PATCH+. +BR2_LINUX_KERNEL_PATCH+ should be used to specify kernel patches that -are available at an URL. *Note:* +BR2_LINUX_KERNEL_PATCH+ specifies kernel +are available at a URL. *Note:* +BR2_LINUX_KERNEL_PATCH+ specifies kernel patches that are applied after patches available in +BR2_GLOBAL_PATCH_DIR+, as it is done from a post-patch hook of the Linux package. diff --git a/docs/manual/customize-rootfs.txt b/docs/manual/customize-rootfs.txt index 6b72a37b32..e1dbadda5b 100644 --- a/docs/manual/customize-rootfs.txt +++ b/docs/manual/customize-rootfs.txt @@ -145,7 +145,7 @@ It is recommended to use the existing mechanisms to set file permissions The difference between post-build scripts (above) and fakeroot scripts, is that post-build scripts are not called in the fakeroot context. + -.Note; +.Note: Using `fakeroot` is not an absolute substitute for actually being root. `fakeroot` only ever fakes the file access rights and types (regular, block-or-char device...) and uid/gid; these are emulated in-memory. diff --git a/docs/manual/docbook-xsl.css b/docs/manual/docbook-xsl.css deleted file mode 100644 index ee9ca46d6f..0000000000 --- a/docs/manual/docbook-xsl.css +++ /dev/null @@ -1,329 +0,0 @@ -/* - CSS stylesheet for XHTML produced by DocBook XSL stylesheets. -*/ - -body { - font-family: Georgia,serif; -} - -code, pre { - font-family: "Courier New", Courier, monospace; -} - -span.strong { - font-weight: bold; -} - -body blockquote { - margin-top: .75em; - line-height: 1.5; - margin-bottom: .75em; -} - -html body { - margin: 1em 5% 1em 5%; - line-height: 1.2; -} - -body div { - margin: 0; -} - -h1, h2, h3, h4, h5, h6 -{ - color: #527bbd; - font-family: Arial,Helvetica,sans-serif; -} - -div.toc p:first-child, -div.list-of-figures p:first-child, -div.list-of-tables p:first-child, -div.list-of-examples p:first-child, -div.example p.title, -div.sidebar p.title -{ - font-weight: bold; - color: #527bbd; - font-family: Arial,Helvetica,sans-serif; - margin-bottom: 0.2em; -} - -body h1 { - margin: .0em 0 0 -4%; - line-height: 1.3; - border-bottom: 2px solid silver; -} - -body h2 { - margin: 0.5em 0 0 -4%; - line-height: 1.3; - border-bottom: 2px solid silver; -} - -body h3 { - margin: .8em 0 0 -3%; - line-height: 1.3; -} - -body h4 { - margin: .8em 0 0 -3%; - line-height: 1.3; -} - -body h5 { - margin: .8em 0 0 -2%; - line-height: 1.3; -} - -body h6 { - margin: .8em 0 0 -1%; - line-height: 1.3; -} - -body hr { - border: none; /* Broken on IE6 */ -} -div.footnotes hr { - border: 1px solid silver; -} - -div.navheader th, div.navheader td, div.navfooter td { - font-family: Arial,Helvetica,sans-serif; - font-size: 0.9em; - font-weight: bold; - color: #527bbd; -} -div.navheader img, div.navfooter img { - border-style: none; -} -div.navheader a, div.navfooter a { - font-weight: normal; -} -div.navfooter hr { - border: 1px solid silver; -} - -body td { - line-height: 1.2 -} - -body th { - line-height: 1.2; -} - -ol { - line-height: 1.2; -} - -ul, body dir, body menu { - line-height: 1.2; -} - -html { - margin: 0; - padding: 0; -} - -body h1, body h2, body h3, body h4, body h5, body h6 { - margin-left: 0 -} - -body pre { - margin: 0.5em 10% 0.5em 1em; - line-height: 1.0; - color: navy; -} - -tt.literal, code.literal { - color: navy; -} - -.programlisting, .screen { - border: 1px solid silver; - background: #f4f4f4; - margin: 0.5em 10% 0.5em 0; - padding: 0.5em 1em; -} - -div.sidebar { - background: #ffffee; - margin: 1.0em 10% 0.5em 0; - padding: 0.5em 1em; - border: 1px solid silver; -} -div.sidebar * { padding: 0; } -div.sidebar div { margin: 0; } -div.sidebar p.title { - margin-top: 0.5em; - margin-bottom: 0.2em; -} - -div.bibliomixed { - margin: 0.5em 5% 0.5em 1em; -} - -div.glossary dt { - font-weight: bold; -} -div.glossary dd p { - margin-top: 0.2em; -} - -dl { - margin: .8em 0; - line-height: 1.2; -} - -dt { - margin-top: 0.5em; -} - -dt span.term { - font-style: normal; - color: navy; -} - -div.variablelist dd p { - margin-top: 0; -} - -div.itemizedlist li, div.orderedlist li { - margin-left: -0.8em; - margin-top: 0.5em; -} - -ul, ol { - list-style-position: outside; -} - -div.sidebar ul, div.sidebar ol { - margin-left: 2.8em; -} - -div.itemizedlist p.title, -div.orderedlist p.title, -div.variablelist p.title -{ - margin-bottom: -0.8em; -} - -div.revhistory table { - border-collapse: collapse; - border: none; -} -div.revhistory th { - border: none; - color: #527bbd; - font-family: Arial,Helvetica,sans-serif; -} -div.revhistory td { - border: 1px solid silver; -} - -/* Keep TOC and index lines close together. */ -div.toc dl, div.toc dt, -div.list-of-figures dl, div.list-of-figures dt, -div.list-of-tables dl, div.list-of-tables dt, -div.indexdiv dl, div.indexdiv dt -{ - line-height: normal; - margin-top: 0; - margin-bottom: 0; -} - -/* - Table styling does not work because of overriding attributes in - generated HTML. -*/ -div.table table, -div.informaltable table -{ - margin-left: 0; - margin-right: 5%; - margin-bottom: 0.8em; -} -div.informaltable table -{ - margin-top: 0.4em -} -div.table thead, -div.table tfoot, -div.table tbody, -div.informaltable thead, -div.informaltable tfoot, -div.informaltable tbody -{ - /* No effect in IE6. */ - border-top: 3px solid #527bbd; - border-bottom: 3px solid #527bbd; -} -div.table thead, div.table tfoot, -div.informaltable thead, div.informaltable tfoot -{ - font-weight: bold; -} - -div.mediaobject img { - margin-bottom: 0.8em; -} -div.figure p.title, -div.table p.title -{ - margin-top: 1em; - margin-bottom: 0.4em; -} - -div.calloutlist p -{ - margin-top: 0em; - margin-bottom: 0.4em; -} - -a img { - border-style: none; -} - -@media print { - div.navheader, div.navfooter { display: none; } -} - -span.aqua { color: aqua; } -span.black { color: black; } -span.blue { color: blue; } -span.fuchsia { color: fuchsia; } -span.gray { color: gray; } -span.green { color: green; } -span.lime { color: lime; } -span.maroon { color: maroon; } -span.navy { color: navy; } -span.olive { color: olive; } -span.purple { color: purple; } -span.red { color: red; } -span.silver { color: silver; } -span.teal { color: teal; } -span.white { color: white; } -span.yellow { color: yellow; } - -span.aqua-background { background: aqua; } -span.black-background { background: black; } -span.blue-background { background: blue; } -span.fuchsia-background { background: fuchsia; } -span.gray-background { background: gray; } -span.green-background { background: green; } -span.lime-background { background: lime; } -span.maroon-background { background: maroon; } -span.navy-background { background: navy; } -span.olive-background { background: olive; } -span.purple-background { background: purple; } -span.red-background { background: red; } -span.silver-background { background: silver; } -span.teal-background { background: teal; } -span.white-background { background: white; } -span.yellow-background { background: yellow; } - -span.big { font-size: 2em; } -span.small { font-size: 0.6em; } - -span.underline { text-decoration: underline; } -span.overline { text-decoration: overline; } -span.line-through { text-decoration: line-through; } diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt index b144c9e7f0..5adf3fa6ce 100644 --- a/docs/manual/faq-troubleshooting.txt +++ b/docs/manual/faq-troubleshooting.txt @@ -239,3 +239,6 @@ help reduce the build time: * Buy new hardware. SSDs and lots of RAM are key to speeding up the builds. + + * Experiment with top-level parallel build, see + xref:top-level-parallel-build[]. diff --git a/docs/manual/github_hash_mongrel2.png b/docs/manual/github_hash_mongrel2.png deleted file mode 100644 index c695c3181a..0000000000 Binary files a/docs/manual/github_hash_mongrel2.png and /dev/null differ diff --git a/docs/manual/legal-notice.txt b/docs/manual/legal-notice.txt index 69753282ec..179aa6b179 100644 --- a/docs/manual/legal-notice.txt +++ b/docs/manual/legal-notice.txt @@ -67,9 +67,8 @@ for packages released under BSD-like licenses, that you are not required to redistribute in source form. Moreover, due to technical limitations, Buildroot does not produce some -material that you will or may need, such as the toolchain source code and the -Buildroot source code itself (including patches to packages for which source -distribution is required). +material that you will or may need, such as the toolchain source code for +some of the external toolchains and the Buildroot source code itself. When you run +make legal-info+, Buildroot produces warnings in the +README+ file to inform you of relevant material that could not be saved. diff --git a/docs/manual/logo.png b/docs/manual/logo.png deleted file mode 100644 index 2db743b4fa..0000000000 Binary files a/docs/manual/logo.png and /dev/null differ diff --git a/docs/manual/make-tips.txt b/docs/manual/make-tips.txt index ea1d825bef..869b6807dd 100644 --- a/docs/manual/make-tips.txt +++ b/docs/manual/make-tips.txt @@ -80,18 +80,18 @@ to xref:ccache[]. .Dumping the internal make variables: -One can dump all the variables known to make, along with their values: +One can dump the variables known to make, along with their values: ---- - $ make -s printvars - VARIABLE=value_of_variable - ... + $ make -s printvars VARS='VARIABLE1 VARIABLE2' + VARIABLE1=value_of_variable + VARIABLE2=value_of_variable ---- It is possible to tweak the output using some variables: - +VARS+ will limit the listing to variables which names match the - specified make-pattern + specified make-patterns - this must be set else nothing is printed - +QUOTED_VARS+, if set to +YES+, will single-quote the value - +RAW_VARS+, if set to +YES+, will print the unexpanded value diff --git a/docs/manual/manual.html b/docs/manual/manual.html deleted file mode 100644 index 7086edbbbc..0000000000 --- a/docs/manual/manual.html +++ /dev/null @@ -1,5079 +0,0 @@ - -The Buildroot user manual

The Buildroot user manual


Table of Contents

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

Buildroot 2018.02.7 manual generated on 2018-10-25 -18:44:36 UTC from git revision 8c9284703c

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

Copyright © 2004-2018 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

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

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

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

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



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

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

2.1. Mandatory packages

  • -Build tools: -

    • -which -
    • -sed -
    • -make (version 3.81 or any later) -
    • -binutils -
    • -build-essential (only for Debian based systems) -
    • -gcc (version 4.4 or any later) -
    • -g++ (version 4.4 or any later) -
    • -bash -
    • -patch -
    • -gzip -
    • -bzip2 -
    • -perl (version 5.8.7 or any later) -
    • -tar -
    • -cpio -
    • -python (version 2.6 or any later) -
    • -unzip -
    • -rsync -
    • -file (must be in /usr/bin/file) -
    • -bc -
  • -Source fetching tools: -

    • -wget -

2.2. Optional packages

  • -Configuration interface dependencies: -

    For these libraries, you need to install both runtime and development -data, which in many distributions are packaged separately. The -development packages typically have a -dev or -devel suffix.

    • -ncurses5 to use the menuconfig interface -
    • -qt4 to use the xconfig interface -
    • -glib2, gtk2 and glade2 to use the gconfig interface -
  • -Source fetching tools: -

    In the official tree, most of the package sources are retrieved using -wget from ftp, http or https locations. A few packages are only -available through a version control system. Moreover, Buildroot is -capable of downloading sources via other tools, like rsync or scp -(refer to Chapter 19, Download infrastructure for more details). If you enable -packages using any of these methods, you will need to install the -corresponding tool on the host system:

    • -bazaar -
    • -cvs -
    • -git -
    • -mercurial -
    • -rsync -
    • -scp -
    • -subversion -
  • -Java-related packages, if the Java Classpath needs to be built for - the target system: -

    • -The javac compiler -
    • -The jar tool -
  • -Documentation generation tools: -

    • -asciidoc, version 8.6.3 or higher -
    • -w3m -
    • -python with the argparse module (automatically present in 2.7+ and 3.2+) -
    • -dblatex (required for the pdf manual only) -
  • -Graph generation tools: -

    • -graphviz to use graph-depends and <pkg>-graph-depends -
    • -python-matplotlib to use graph-build -

Chapter 3. Getting Buildroot

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

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

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

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

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

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

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

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

Chapter 4. Buildroot quick start

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

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

From the buildroot directory, run

 $ make menuconfig

for the original curses-based configurator, or

 $ make nconfig

for the new curses-based configurator, or

 $ make xconfig

for the Qt-based configurator, or

 $ make gconfig

for the GTK-based configurator.

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

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

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

To start the build process, simply run:

 $ make

You should never use make -jN with Buildroot: top-level parallel -make is currently not supported. Instead, use the BR2_JLEVEL option -to tell Buildroot to run the compilation of each individual package -with make -jN.

The make command will generally perform the following steps:

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

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

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

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

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

Chapter 5. Community resources

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

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

-Mailing List -

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

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

Mails that are sent to the mailing list are also available in the -mailing list archives and -via Gmane, at -gmane.comp.lib.uclibc.buildroot. -Please search the mailing list archives before asking questions, since -there is a good chance someone else has asked the same question before.

-IRC -

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

When asking for help on IRC, share relevant logs or pieces of code -using a code sharing website, such as http://code.bulix.org.

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

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

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

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

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

Part II. User guide

Chapter 6. Buildroot configuration

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

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

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

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

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

6.1. Cross-compilation toolchain

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

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

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

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

Buildroot provides two solutions for the cross-compilation toolchain:

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

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

6.1.1. Internal toolchain backend

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

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

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

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

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

Advantages of this backend:

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

Drawbacks of this backend:

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

6.1.2. External toolchain backend

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

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

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

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

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

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

If you want to generate a custom toolchain for your project, that can -be used as an external toolchain in Buildroot, our recommendation is -definitely to build it with crosstool-NG. We -recommend to build the toolchain separately from Buildroot, and then -import it in Buildroot using the external toolchain backend.

Advantages of this backend:

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

Drawbacks of this backend:

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

External toolchain wrapper

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

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

6.2. /dev management

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

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

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

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

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

6.3. init system

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

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

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

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



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

Chapter 7. Configuration of other components

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

-BusyBox -

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

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

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

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

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

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

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

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

Chapter 8. General Buildroot usage

8.1. make tips

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

Display all commands executed by make:  -

 $ make V=1 <target>

-

Display the list of boards with a defconfig:  -

 $ make list-defconfigs

-

Display all available targets:  -

 $ make help

-

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

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

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

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

 $ make clean

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

 $ make manual-clean
- $ make manual

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

Notes

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

 $ make distclean

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

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

 $ make -s printvars
- VARIABLE=value_of_variable
- ...

It is possible to tweak the output using some variables:

  • -VARS will limit the listing to variables which names match the - specified make-pattern -
  • -QUOTED_VARS, if set to YES, will single-quote the value -
  • -RAW_VARS, if set to YES, will print the unexpanded value -

For example:

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

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

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

8.2. Understanding when a full rebuild is necessary

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

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

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

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

For reference, a full rebuild is achieved by running:

$ make clean all

8.3. Understanding how to rebuild packages

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

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

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

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

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

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

Further details about package special make targets are explained in -Section 8.12.5, “Package-specific make targets”.

8.4. Offline builds

If you intend to do an offline build and just want to download -all sources that you previously selected in the configurator -(menuconfig, nconfig, xconfig or gconfig), then issue:

 $ make source

You can now disconnect or copy the content of your dl -directory to the build-host.

8.5. Building out-of-tree

As default, everything built by Buildroot is stored in the directory -output in the Buildroot tree.

Buildroot also supports building out of tree with a syntax similar to -the Linux kernel. To use it, add O=<directory> to the make command -line:

 $ make O=/tmp/build

Or:

 $ cd /tmp/build; make O=$PWD -C path/to/buildroot

All the output files will be located under /tmp/build. If the O -path does not exist, Buildroot will create it.

Note: the O path can be either an absolute or a relative path, but if it’s -passed as a relative path, it is important to note that it is interpreted -relative to the main Buildroot source directory, not the current working -directory.

When using out-of-tree builds, the Buildroot .config and temporary -files are also stored in the output directory. This means that you can -safely run multiple builds in parallel using the same source tree as -long as they use unique output directories.

For ease of use, Buildroot generates a Makefile wrapper in the output -directory - so after the first run, you no longer need to pass O=<…> -and -C <…>, simply run (in the output directory):

 $ make <target>

8.6. Environment variables

Buildroot also honors some environment variables, when they are passed -to make or set in the environment:

  • -HOSTCXX, the host C++ compiler to use -
  • -HOSTCC, the host C compiler to use -
  • -UCLIBC_CONFIG_FILE=<path/to/.config>, path to - the uClibc configuration file, used to compile uClibc, if an - internal toolchain is being built. - - Note that the uClibc configuration file can also be set from the - configuration interface, so through the Buildroot .config file; this - is the recommended way of setting it. - -
  • -BUSYBOX_CONFIG_FILE=<path/to/.config>, path to - the BusyBox configuration file. - - Note that the BusyBox configuration file can also be set from the - configuration interface, so through the Buildroot .config file; this - is the recommended way of setting it. - -
  • -BR2_CCACHE_DIR to override the directory where - Buildroot stores the cached files when using ccache. - -
  • -BR2_DL_DIR to override the directory in which - Buildroot stores/retrieves downloaded files - - Note that the Buildroot download directory can also be set from the - configuration interface, so through the Buildroot .config file. See - Section 8.12.4, “Location of downloaded packages” for more details on how you can set the download - directory. -
  • -BR2_GRAPH_ALT, if set and non-empty, to use an alternate color-scheme in - build-time graphs -
  • -BR2_GRAPH_OUT to set the filetype of generated graphs, either pdf (the - default), or png. -
  • -BR2_GRAPH_DEPS_OPTS to pass extra options to the dependency graph; see - Section 8.8, “Graphing the dependencies between packages” for the accepted options -
  • -BR2_GRAPH_DOT_OPTS is passed verbatim as options to the dot utility to - draw the dependency graph. -

An example that uses config files located in the toplevel directory and -in your $HOME:

 $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config

If you want to use a compiler other than the default gcc -or g++ for building helper-binaries on your host, then do

 $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD

8.7. Dealing efficiently with filesystem images

Filesystem images can get pretty big, depending on the filesystem you choose, -the number of packages, whether you provisioned free space… Yet, some -locations in the filesystems images may just be empty (e.g. a long run of -zeroes); such a file is called a sparse file.

Most tools can handle sparse files efficiently, and will only store or write -those parts of a sparse file that are not empty.

For example:

  • -tar accepts the -S option to tell it to only store non-zero blocks - of sparse files: -

    • -tar cf archive.tar -S [files…] will efficiently store sparse files - in a tarball -
    • -tar xf archive.tar -S will efficiently store sparse files extracted - from a tarball -
  • -cp accepts the --sparse=WHEN option (WHEN is one of auto, - never or always): -

    • -cp --sparse=always source.file dest.file will make dest.file a - sparse file if source.file has long runs of zeroes -

Other tools may have similar options. Please consult their respective man -pages.

You can use sparse files if you need to store the filesystem images (e.g. -to transfer from one machine to another), or if you need to send them (e.g. -to the Q&A team).

Note however that flashing a filesystem image to a device while using the -sparse mode of dd may result in a broken filesystem (e.g. the block bitmap -of an ext2 filesystem may be corrupted; or, if you have sparse files in -your filesystem, those parts may not be all-zeroes when read back). You -should only use sparse files when handling files on the build machine, not -when transferring them to an actual device that will be used on the target.

8.8. Graphing the dependencies between packages

One of Buildroot’s jobs is to know the dependencies between packages, -and make sure they are built in the right order. These dependencies -can sometimes be quite complicated, and for a given system, it is -often not easy to understand why such or such package was brought into -the build by Buildroot.

In order to help understanding the dependencies, and therefore better -understand what is the role of the different components in your -embedded Linux system, Buildroot is capable of generating dependency -graphs.

To generate a dependency graph of the full system you have compiled, -simply run:

make graph-depends

You will find the generated graph in -output/graphs/graph-depends.pdf.

If your system is quite large, the dependency graph may be too complex -and difficult to read. It is therefore possible to generate the -dependency graph just for a given package:

make <pkg>-graph-depends

You will find the generated graph in -output/graph/<pkg>-graph-depends.pdf.

Note that the dependency graphs are generated using the dot tool -from the Graphviz project, which you must have installed on your -system to use this feature. In most distributions, it is available as -the graphviz package.

By default, the dependency graphs are generated in the PDF -format. However, by passing the BR2_GRAPH_OUT environment variable, you -can switch to other output formats, such as PNG, PostScript or -SVG. All formats supported by the -T option of the dot tool are -supported.

BR2_GRAPH_OUT=svg make graph-depends

The graph-depends behaviour can be controlled by setting options in the -BR2_GRAPH_DEPS_OPTS environment variable. The accepted options are:

  • ---depth N, -d N, to limit the dependency depth to N levels. The - default, 0, means no limit. -
  • ---stop-on PKG, -s PKG, to stop the graph on the package PKG. - PKG can be an actual package name, a glob, the keyword virtual - (to stop on virtual packages), or the keyword host (to stop on - host packages). The package is still present on the graph, but its - dependencies are not. -
  • ---exclude PKG, -x PKG, like --stop-on, but also omits PKG from - the graph. -
  • ---transitive, --no-transitive, to draw (or not) the transitive - dependencies. The default is to not draw transitive dependencies. -
  • ---colours R,T,H, the comma-separated list of colours to draw the - root package (R), the target packages (T) and the host packages - (H). Defaults to: lightblue,grey,gainsboro -
BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colours=red,green,blue' make graph-depends

8.9. Graphing the build duration

When the build of a system takes a long time, it is sometimes useful -to be able to understand which packages are the longest to build, to -see if anything can be done to speed up the build. In order to help -such build time analysis, Buildroot collects the build time of each -step of each package, and allows to generate graphs from this data.

To generate the build time graph after a build, run:

make graph-build

This will generate a set of files in output/graphs :

  • -build.hist-build.pdf, a histogram of the build time for each - package, ordered in the build order. -
  • -build.hist-duration.pdf, a histogram of the build time for each - package, ordered by duration (longest first) -
  • -build.hist-name.pdf, a histogram of the build time for each - package, order by package name. -
  • -build.pie-packages.pdf, a pie chart of the build time per package -
  • -build.pie-steps.pdf, a pie chart of the global time spent in each - step of the packages build process. -

This graph-build target requires the Python Matplotlib and Numpy -libraries to be installed (python-matplotlib and python-numpy on -most distributions), and also the argparse module if you’re using a -Python version older than 2.7 (python-argparse on most -distributions).

By default, the output format for the graph is PDF, but a different -format can be selected using the BR2_GRAPH_OUT environment variable. The -only other format supported is PNG:

BR2_GRAPH_OUT=png make graph-build

8.10. Graphing the filesystem size contribution of packages

When your target system grows, it is sometimes useful to understand -how much each Buildroot package is contributing to the overall root -filesystem size. To help with such an analysis, Buildroot collects -data about files installed by each package and using this data, -generates a graph and CSV files detailing the size contribution of -the different packages.

To generate these data after a build, run:

make graph-size

This will generate:

  • -output/graphs/graph-size.pdf, a pie chart of the contribution of - each package to the overall root filesystem size -
  • -output/graphs/package-size-stats.csv, a CSV file giving the size - contribution of each package to the overall root filesystem size -
  • -output/graphs/file-size-stats.csv, a CSV file giving the size - contribution of each installed file to the package it belongs, and - to the overall filesystem size. -

This graph-size target requires the Python Matplotlib library to be -installed (python-matplotlib on most distributions), and also the -argparse module if you’re using a Python version older than 2.7 -(python-argparse on most distributions).

Just like for the duration graph, a BR2_GRAPH_OUT environment is -supported to adjust the output file format. See Section 8.8, “Graphing the dependencies between packages” -for details about this environment variable.

Note. The collected filesystem size data is only meaningful after a complete -clean rebuild. Be sure to run make clean all before using make -graph-size.

To compare the root filesystem size of two different Buildroot compilations, -for example after adjusting the configuration or when switching to another -Buildroot release, use the size-stats-compare script. It takes two -file-size-stats.csv files (produced by make graph-size) as input. -Refer to the help text of this script for more details:

utils/size-stats-compare -h

8.11. Integration with Eclipse

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

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

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

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

8.12. Advanced usage

8.12.1. Using the generated toolchain outside Buildroot

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

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

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

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

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

8.12.2. Using gdb in Buildroot

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

To achieve this:

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

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

gdbserver :2345 foo

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

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

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

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

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

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

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

8.12.3. Using ccache in Buildroot

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

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

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

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

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

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

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

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

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

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

8.12.4. Location of downloaded packages

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

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

 export BR2_DL_DIR=<shared download location>

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

8.12.5. Package-specific make targets

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

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

make <package>-<target>

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

command/target Description

source

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

depends

Build and install all dependencies required to -build the package

extract

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

patch

Apply the patches, if any

configure

Run the configure commands, if any

build

Run the compilation commands

install-staging

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

install-target

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

install

target package: Run the 2 previous installation commands

-

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

Additionally, there are some other useful make targets:

command/target Description

show-depends

Displays the dependencies required to build the -package

graph-depends

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

dirclean

Remove the whole package build directory

reinstall

Re-run the install commands

rebuild

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

reconfigure

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

8.12.6. Using Buildroot during development

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

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

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

Therefore, Buildroot provides a specific mechanism for this use case: -the <pkg>_OVERRIDE_SRCDIR mechanism. Buildroot reads an override -file, which allows the user to tell Buildroot the location of the -source for certain packages. By default this override file is named -local.mk and located in the top directory of the Buildroot source -tree, but a different location can be specified through the -BR2_PACKAGE_OVERRIDE_FILE configuration option.

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

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

For example:

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

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

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

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

make linux-rebuild all

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

make busybox-rebuild all

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

Chapter 9. Project-specific customization

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

  • -configuring Buildroot (including build options and toolchain, - bootloader, kernel, package and filesystem image type selection) -
  • -configuring other components, like the Linux kernel and BusyBox -
  • -customizing the generated target filesystem -

    • -adding or overwriting files on the target filesystem (using - BR2_ROOTFS_OVERLAY) -
    • -modifying or deleting files on the target filesystem (using - BR2_ROOTFS_POST_BUILD_SCRIPT) -
    • -running arbitrary commands prior to generating the filesystem image - (using BR2_ROOTFS_POST_BUILD_SCRIPT) -
    • -setting file permissions and ownership (using - BR2_ROOTFS_DEVICE_TABLE) -
    • -adding custom devices nodes (using - BR2_ROOTFS_STATIC_DEVICE_TABLE) -
  • -adding custom user accounts (using BR2_ROOTFS_USERS_TABLES) -
  • -running arbitrary commands after generating the filesystem image - (using BR2_ROOTFS_POST_IMAGE_SCRIPT) -
  • -adding project-specific patches to some packages (using - BR2_GLOBAL_PATCH_DIR) -
  • -adding project-specific packages -

An important note regarding such project-specific customizations: -please carefully consider which changes are indeed project-specific and -which changes are also useful to developers outside your project. The -Buildroot community highly recommends and encourages the upstreaming of -improvements, packages and board support to the official Buildroot -project. Of course, it is sometimes not possible or desirable to -upstream because the changes are highly specific or proprietary.

This chapter describes how to make such project-specific customizations -in Buildroot and how to store them in a way that you can build the same -image in a reproducible way, even after running make clean. By -following the recommended strategy, you can even use the same Buildroot -tree to build multiple distinct projects!

9.1. Recommended directory structure

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

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

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

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

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

9.1.1. Implementing layered customizations

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

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

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

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

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

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

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

9.2. Keeping customizations outside of Buildroot

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

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

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

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

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

Some examples:

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

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

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

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

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

We can also use multiple br2-external trees:

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

Or disable the usage of any br2-external tree:

buildroot/ $ make BR2_EXTERNAL= xconfig

9.2.1. Layout of a br2-external tree

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

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

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

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

The external.desc file

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

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

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

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

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

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

  • -FOOBR2_EXTERNAL_FOO_PATH -
  • -BAR_42BR2_EXTERNAL_BAR_42_PATH -

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

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

The Config.in and external.mk files

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

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

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

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

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

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

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

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

The configs/ directory

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

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

Free-form content

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

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

Example layout

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

/path/to/br2-ext-tree/
-  |- external.desc
-  |     |name: BAR_42
-  |     |desc: Example br2-external tree
-  |     `----
-  |
-  |- Config.in
-  |     |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in"
-  |     |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in"
-  |     |
-  |     |config BAR_42_FLASH_ADDR
-  |     |    hex "my-board flash address"
-  |     |    default 0x10AD
-  |     `----
-  |
-  |- external.mk
-  |     |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk))
-  |     |
-  |     |flash-my-board:
-  |     |    $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \
-  |     |        --image $(BINARIES_DIR)/image.bin \
-  |     |        --address $(BAR_42_FLASH_ADDR)
-  |     `----
-  |
-  |- package/pkg-1/Config.in
-  |     |config BR2_PACKAGE_PKG_1
-  |     |    bool "pkg-1"
-  |     |    help
-  |     |      Some help about pkg-1
-  |     `----
-  |- package/pkg-1/pkg-1.hash
-  |- package/pkg-1/pkg-1.mk
-  |     |PKG_1_VERSION = 1.2.3
-  |     |PKG_1_SITE = /some/where/to/get/pkg-1
-  |     |PKG_1_LICENSE = blabla
-  |     |
-  |     |define PKG_1_INSTALL_INIT_SYSV
-  |     |    $(INSTALL) -D -m 0755 $(PKG_1_PKGDIR)/S99my-daemon \
-  |     |                          $(TARGET_DIR)/etc/init.d/S99my-daemon
-  |     |endef
-  |     |
-  |     |$(eval $(autotools-package))
-  |     `----
-  |- package/pkg-1/S99my-daemon
-  |
-  |- package/pkg-2/Config.in
-  |- package/pkg-2/pkg-2.hash
-  |- package/pkg-2/pkg-2.mk
-  |
-  |- configs/my-board_defconfig
-  |     |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/"
-  |     |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/"
-  |     |BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/post-image.sh"
-  |     |BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/kernel.config"
-  |     `----
-  |
-  |- patches/linux/0001-some-change.patch
-  |- patches/linux/0002-some-other-change.patch
-  |- patches/busybox/0001-fix-something.patch
-  |
-  |- board/my-board/kernel.config
-  |- board/my-board/overlay/var/www/index.html
-  |- board/my-board/overlay/var/www/my.css
-  |- board/my-board/flash-image
-  `- board/my-board/post-image.sh
-        |#!/bin/sh
-        |generate-my-binary-image \
-        |    --root ${BINARIES_DIR}/rootfs.tar \
-        |    --kernel ${BINARIES_DIR}/zImage \
-        |    --dtb ${BINARIES_DIR}/my-board.dtb \
-        |    --output ${BINARIES_DIR}/image.bin
-        `----

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

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

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

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

9.3. Storing the Buildroot configuration

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

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

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

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

9.4. Storing the configuration of other components

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

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

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

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

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

9.5. Customizing the generated target filesystem

Besides changing the configuration through make *config, -there are a few other ways to customize the resulting target filesystem.

The two recommended methods, which can co-exist, are root filesystem -overlay(s) and post build script(s).

-Root filesystem overlays (BR2_ROOTFS_OVERLAY) -

A filesystem overlay is a tree of files that is copied directly - over the target filesystem after it has been built. To enable this - feature, set config option BR2_ROOTFS_OVERLAY (in the System - configuration menu) to the root of the overlay. You can even specify - multiple overlays, space-separated. If you specify a relative path, - it will be relative to the root of the Buildroot tree. Hidden - directories of version control systems, like .git, .svn, .hg, - etc., files called .empty and files ending in ~ are excluded from - the copy.

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

-Post-build scripts (BR2_ROOTFS_POST_BUILD_SCRIPT) -

Post-build scripts are shell scripts called after Buildroot builds - all the selected software, but before the rootfs images are - assembled. To enable this feature, specify a space-separated list of - post-build scripts in config option BR2_ROOTFS_POST_BUILD_SCRIPT (in - the System configuration menu). If you specify a relative path, it - will be relative to the root of the Buildroot tree.

Using post-build scripts, you can remove or modify any file in your - target filesystem. You should, however, use this feature with care. - Whenever you find that a certain package generates wrong or unneeded - files, you should fix that package rather than work around it with some - post-build cleanup scripts.

As shown in Section 9.1, “Recommended directory structure”, the recommended path for - this script is board/<company>/<boardname>/post_build.sh.

The post-build scripts are run with the main Buildroot tree as current - working directory. The path to the target filesystem is passed as the - first argument to each script. If the config option - BR2_ROOTFS_POST_SCRIPT_ARGS is not empty, these arguments will be - passed to the script too. All the scripts will be passed the exact - same set of arguments, it is not possible to pass different sets of - arguments to each script.

In addition, you may also use these environment variables:

  • -BR2_CONFIG: the path to the Buildroot .config file -
  • -HOST_DIR, STAGING_DIR, TARGET_DIR: see - Section 17.5.2, “generic-package reference” -
  • -BUILD_DIR: the directory where packages are extracted and built -
  • -BINARIES_DIR: the place where all binary files (aka images) are - stored -
  • -BASE_DIR: the base output directory -

Below three more methods of customizing the target filesystem are -described, but they are not recommended.

-Direct modification of the target filesystem -

For temporary modifications, you can modify the target filesystem - directly and rebuild the image. The target filesystem is available - under output/target/. After making your changes, run make to - rebuild the target filesystem image.

This method allows you to do anything to the target filesystem, but if - you need to clean your Buildroot tree using make clean, these - changes will be lost. Such cleaning is necessary in several cases, - refer to Section 8.2, “Understanding when a full rebuild is necessary” for details. This solution is therefore - only useful for quick tests: changes do not survive the make clean - command. Once you have validated your changes, you should make sure - that they will persist after a make clean, using a root filesystem - overlay or a post-build script.

-Custom target skeleton (BR2_ROOTFS_SKELETON_CUSTOM) -

The root filesystem image is created from a target skeleton, on top of - which all packages install their files. The skeleton is copied to the - target directory output/target before any package is built and - installed. The default target skeleton provides the standard Unix - filesystem layout and some basic init scripts and configuration files.

If the default skeleton (available under system/skeleton) does not - match your needs, you would typically use a root filesystem overlay or - post-build script to adapt it. However, if the default skeleton is - entirely different than what you need, using a custom skeleton may be - more suitable.

To enable this feature, enable config option - BR2_ROOTFS_SKELETON_CUSTOM and set BR2_ROOTFS_SKELETON_CUSTOM_PATH - to the path of your custom skeleton. Both options are available in the - System configuration menu. If you specify a relative path, it will - be relative to the root of the Buildroot tree.

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

-Post-fakeroot scripts (BR2_ROOTFS_POST_FAKEROOT_SCRIPT) -

When aggregating the final images, some parts of the process requires - root rights: creating device nodes in /dev, setting permissions or - ownership to files and directories… To avoid requiring actual root - rights, Buildroot uses fakeroot to simulate root rights. This is not - a complete substitute for actually being root, but is enough for what - Buildroot needs.

Post-fakeroot scripts are shell scripts that are called at the end of - the fakeroot phase, right before the filesystem image generator is - called. As such, they are called in the fakeroot context.

Post-fakeroot scripts can be useful in case you need to tweak the - filesystem to do modifications that are usually only available to the - root user.

Note: It is recommended to use the existing mechanisms to set file permissions - or create entries in /dev (see Section 9.5.1, “Setting file permissions and ownership and adding custom devices nodes”) or - to create users (see Section 9.6, “Adding custom user accounts”)

Note: The difference between post-build scripts (above) and fakeroot scripts, - is that post-build scripts are not called in the fakeroot context.

Note;. Using fakeroot is not an absolute substitute for actually being root. - fakeroot only ever fakes the file access rights and types (regular, - block-or-char device…) and uid/gid; these are emulated in-memory.

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

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

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

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

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

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

9.6. Adding custom user accounts

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

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

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

9.7. Customization after the images have been created

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

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

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

Just like post-build scripts, post-image scripts are run with the main -Buildroot tree as current working directory. The path to the images -output directory is passed as the first argument to each script. If the -config option BR2_ROOTFS_POST_SCRIPT_ARGS is not empty, these -arguments will be passed to the script too. All the scripts will be -passed the exact same set of arguments, it is not possible to pass -different sets of arguments to each script.

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

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

9.8. Adding project-specific patches

It is sometimes useful to apply extra patches to packages - on top of -those provided in Buildroot. This might be used to support custom -features in a project, for example, or when working on a new -architecture.

The BR2_GLOBAL_PATCH_DIR configuration option can be used to specify -a space separated list of one or more directories containing package -patches.

For a specific version <packageversion> of a specific package -<packagename>, patches are applied from BR2_GLOBAL_PATCH_DIR as -follows:

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

    • -<global-patch-dir>/<packagename>/<packageversion>/ if the - directory exists. -
    • -Otherwise, <global-patch-dir>/<packagename> if the directory - exists. -
  2. -Patches will then be applied from a <package-patch-dir> as - follows: -

    • -If a series file exists in the package directory, then patches are - applied according to the series file; -
    • -Otherwise, patch files matching *.patch are applied in - alphabetical order. So, to ensure they are applied in the right - order, it is highly recommended to name the patch files like this: - <number>-<description>.patch, where <number> refers to the - apply order. -

For information about how patches are applied for a package, see -Section 18.2, “How patches are applied”

The BR2_GLOBAL_PATCH_DIR option is the preferred method for -specifying a custom patch directory for packages. It can be used to -specify a patch directory for any package in buildroot. It should also -be used in place of the custom patch directory options that are -available for packages such as U-Boot and Barebox. By doing this, it -will allow a user to manage their patches from one top-level -directory.

The exception to BR2_GLOBAL_PATCH_DIR being the preferred method for -specifying custom patches is BR2_LINUX_KERNEL_PATCH. -BR2_LINUX_KERNEL_PATCH should be used to specify kernel patches that -are available at an URL. Note: BR2_LINUX_KERNEL_PATCH specifies kernel -patches that are applied after patches available in BR2_GLOBAL_PATCH_DIR, -as it is done from a post-patch hook of the Linux package.

9.9. Adding project-specific packages

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

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

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

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

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

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

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

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

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

9.10. Quick guide to storing your project-specific customizations

Earlier in this chapter, the different methods for making -project-specific customizations have been described. This section will -now summarize all this by providing step-by-step instructions to storing your -project-specific customizations. Clearly, the steps that are not relevant to -your project can be skipped.

  1. -make menuconfig to configure toolchain, packages and kernel. -
  2. -make linux-menuconfig to update the kernel config, similar for - other configuration like busybox, uclibc, … -
  3. -mkdir -p board/<manufacturer>/<boardname> -
  4. -Set the following options to board/<manufacturer>/<boardname>/<package>.config - (as far as they are relevant): -

    • -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE -
    • -BR2_PACKAGE_BUSYBOX_CONFIG -
    • -BR2_UCLIBC_CONFIG -
    • -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE -
    • -BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE -
    • -BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE -
  5. -Write the configuration files: -

    • -make linux-update-defconfig -
    • -make busybox-update-config -
    • -make uclibc-update-config -
    • -cp <output>/build/at91bootstrap3-*/.config - board/<manufacturer>/<boardname>/at91bootstrap3.config -
    • -make barebox-update-defconfig -
    • -make uboot-update-defconfig -
  6. -Create board/<manufacturer>/<boardname>/rootfs-overlay/ and fill it - with additional files you need on your rootfs, e.g. - board/<manufacturer>/<boardname>/rootfs-overlay/etc/inittab. - Set BR2_ROOTFS_OVERLAY - to board/<manufacturer>/<boardname>/rootfs-overlay. -
  7. -Create a post-build script - board/<manufacturer>/<boardname>/post_build.sh. Set - BR2_ROOTFS_POST_BUILD_SCRIPT to - board/<manufacturer>/<boardname>/post_build.sh -
  8. -If additional setuid permissions have to be set or device nodes have - to be created, create board/<manufacturer>/<boardname>/device_table.txt - and add that path to BR2_ROOTFS_DEVICE_TABLE. -
  9. -If additional user accounts have to be created, create - board/<manufacturer>/<boardname>/users_table.txt and add that path - to BR2_ROOTFS_USERS_TABLES. -
  10. -To add custom patches to certain packages, set BR2_GLOBAL_PATCH_DIR - to board/<manufacturer>/<boardname>/patches/ and add your patches - for each package in a subdirectory named after the package. Each - patch should be called <packagename>-<num>-<description>.patch. -
  11. -Specifically for the Linux kernel, there also exists the option - BR2_LINUX_KERNEL_PATCH with as main advantage that it can also - download patches from a URL. If you do not need this, - BR2_GLOBAL_PATCH_DIR is preferred. U-Boot, Barebox, at91bootstrap - and at91bootstrap3 also have separate options, but these do not - provide any advantage over BR2_GLOBAL_PATCH_DIR and will likely be - removed in the future. -
  12. -If you need to add project-specific packages, create - package/<manufacturer>/ and place your packages in that - directory. Create an overall <manufacturer>.mk file that - includes the .mk files of all your packages. Create an overall - Config.in file that sources the Config.in files of all your - packages. Include this Config.in file from Buildroot’s - package/Config.in file. -
  13. -make savedefconfig to save the buildroot configuration. -
  14. -cp defconfig configs/<boardname>_defconfig -

Chapter 10. Frequently Asked Questions & Troubleshooting

10.1. The boot hangs after Starting network…

If the boot process seems to hang after the following messages -(messages not necessarily exactly similar, depending on the list of -packages selected):

Freeing init memory: 3972K
-Initializing random number generator... done.
-Starting network...
-Starting dropbear sshd: generating rsa key... generating dsa key... OK

then it means that your system is running, but didn’t start a shell on -the serial console. In order to have the system start a shell on your -serial console, you have to go into the Buildroot configuration, in -System configuration, modify Run a getty (login prompt) after boot -and set the appropriate port and baud rate in the getty options -submenu. This will automatically tune the /etc/inittab file of the -generated system so that a shell starts on the correct serial port.

10.2. Why is there no compiler on the target?

It has been decided that support for the native compiler on the -target would be stopped from the Buildroot-2012.11 release because:

  • -this feature was neither maintained nor tested, and often broken; -
  • -this feature was only available for Buildroot toolchains; -
  • -Buildroot mostly targets small or very small target hardware - with limited resource onboard (CPU, ram, mass-storage), for which - compiling on the target does not make much sense; -
  • -Buildroot aims at easing the cross-compilation, making native - compilation on the target unnecessary. -

If you need a compiler on your target anyway, then Buildroot is not -suitable for your purpose. In such case, you need a real -distribution and you should opt for something like:

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

Since there is no compiler available on the target (see -Section 10.2, “Why is there no compiler on the target?”), it does not make sense to waste -space with headers or static libraries.

Therefore, those files are always removed from the target since the -Buildroot-2012.11 release.

10.4. Why is there no documentation on the target?

Because Buildroot mostly targets small or very small target -hardware with limited resource onboard (CPU, ram, mass-storage), it -does not make sense to waste space with the documentation data.

If you need documentation data on your target anyway, then Buildroot -is not suitable for your purpose, and you should look for a real -distribution (see: Section 10.2, “Why is there no compiler on the target?”).

10.5. Why are some packages not visible in the Buildroot config menu?

If a package exists in the Buildroot tree and does not appear in the -config menu, this most likely means that some of the package’s -dependencies are not met.

To know more about the dependencies of a package, search for the -package symbol in the config menu (see Section 8.1, “make tips”).

Then, you may have to recursively enable several options (which -correspond to the unmet dependencies) to finally be able to select -the package.

If the package is not visible due to some unmet toolchain options, -then you should certainly run a full rebuild (see Section 8.1, “make tips” for -more explanations).

10.6. Why not use the target directory as a chroot directory?

There are plenty of reasons to not use the target directory a chroot -one, among these:

  • -file ownerships, modes and permissions are not correctly set in the - target directory; -
  • -device nodes are not created in the target directory. -

For these reasons, commands run through chroot, using the target -directory as the new root, will most likely fail.

If you want to run the target filesystem inside a chroot, or as an NFS -root, then use the tarball image generated in images/ and extract it -as root.

10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?

One feature that is often discussed on the Buildroot list is the -general topic of "package management". To summarize, the idea -would be to add some tracking of which Buildroot package installs -what files, with the goals of:

  • -being able to remove files installed by a package when this package - gets unselected from the menuconfig; -
  • -being able to generate binary packages (ipk or other format) that - can be installed on the target without re-generating a new root - filesystem image. -

In general, most people think it is easy to do: just track which package -installed what and remove it when the package is unselected. However, it -is much more complicated than that:

  • -It is not only about the target/ directory, but also the sysroot in - host/<tuple>/sysroot and the host/ directory itself. All files - installed in those directories by various packages must be tracked. -
  • -When a package is unselected from the configuration, it is not - sufficient to remove just the files it installed. One must also - remove all its reverse dependencies (i.e. packages relying on it) - and rebuild all those packages. For example, package A depends - optionally on the OpenSSL library. Both are selected, and Buildroot - is built. Package A is built with crypto support using OpenSSL. - Later on, OpenSSL gets unselected from the configuration, but - package A remains (since OpenSSL is an optional dependency, this - is possible.) If only OpenSSL files are removed, then the files - installed by package A are broken: they use a library that is no - longer present on the target. Although this is technically doable, - it adds a lot of complexity to Buildroot, which goes against the - simplicity we try to stick to. -
  • -In addition to the previous problem, there is the case where the - optional dependency is not even known to Buildroot. For example, - package A in version 1.0 never used OpenSSL, but in version 2.0 it - automatically uses OpenSSL if available. If the Buildroot .mk file - hasn’t been updated to take this into account, then package A will - not be part of the reverse dependencies of OpenSSL and will not be - removed and rebuilt when OpenSSL is removed. For sure, the .mk file - of package A should be fixed to mention this optional dependency, - but in the mean time, you can have non-reproducible behaviors. -
  • -The request is to also allow changes in the menuconfig to be - applied on the output directory without having to rebuild - everything from scratch. However, this is very difficult to achieve - in a reliable way: what happens when the suboptions of a package - are changed (we would have to detect this, and rebuild the package - from scratch and potentially all its reverse dependencies), what - happens if toolchain options are changed, etc. At the moment, what - Buildroot does is clear and simple so its behaviour is very - reliable and it is easy to support users. If configuration changes - done in menuconfig are applied after the next make, then it has to - work correctly and properly in all situations, and not have some - bizarre corner cases. The risk is to get bug reports like "I have - enabled package A, B and C, then ran make, then disabled package - C and enabled package D and ran make, then re-enabled package C - and enabled package E and then there is a build failure". Or worse - "I did some configuration, then built, then did some changes, - built, some more changes, built, some more changes, built, and now - it fails, but I don’t remember all the changes I did and in which - order". This will be impossible to support. -

For all these reasons, the conclusion is that adding tracking of -installed files to remove them when the package is unselected, or to -generate a repository of binary packages, is something that is very -hard to achieve reliably and will add a lot of complexity.

On this matter, the Buildroot developers make this position statement:

  • -Buildroot strives to make it easy to generate a root filesystem (hence - the name, by the way.) That is what we want to make Buildroot good at: - building root filesystems. -
  • -Buildroot is not meant to be a distribution (or rather, a distribution - generator.) It is the opinion of most Buildroot developers that this - is not a goal we should pursue. We believe that there are other tools - better suited to generate a distro than Buildroot is. For example, - Open Embedded, or openWRT, - are such tools. -
  • -We prefer to push Buildroot in a direction that makes it easy (or even - easier) to generate complete root filesystems. This is what makes - Buildroot stands out in the crowd (among other things, of course!) -
  • -We believe that for most embedded Linux systems, binary packages are - not necessary, and potentially harmful. When binary packages are - used, it means that the system can be partially upgraded, which - creates an enormous number of possible combinations of package - versions that should be tested before doing the upgrade on the - embedded device. On the other hand, by doing complete system - upgrades by upgrading the entire root filesystem image at once, - the image deployed to the embedded system is guaranteed to really - be the one that has been tested and validated. -

10.8. How to speed-up the build process?

Since Buildroot often involves doing full rebuilds of the entire -system that can be quite long, we provide below a number of tips to -help reduce the build time:

  • -Use a pre-built external toolchain instead of the default Buildroot - internal toolchain. By using a pre-built Linaro toolchain (on ARM) - or a Sourcery CodeBench toolchain (for ARM, x86, x86-64, MIPS, - etc.), you will save the build time of the toolchain at each - complete rebuild, approximately 15 to 20 minutes. Note that - temporarily using an external toolchain does not prevent you to - switch back to an internal toolchain (that may provide a higher - level of customization) once the rest of your system is working; -
  • -Use the ccache compiler cache (see: Section 8.12.3, “Using ccache in Buildroot”); -
  • -Learn about rebuilding only the few packages you actually care - about (see Section 8.3, “Understanding how to rebuild packages”), but beware that sometimes full - rebuilds are anyway necessary (see Section 8.2, “Understanding when a full rebuild is necessary”); -
  • -Make sure you are not using a virtual machine for the Linux system - used to run Buildroot. Most of the virtual machine technologies are - known to cause a significant performance impact on I/O, which is - really important for building source code; -
  • -Make sure that you’re using only local files: do not attempt to do - a build over NFS, which significantly slows down the build. Having - the Buildroot download folder available locally also helps a bit. -
  • -Buy new hardware. SSDs and lots of RAM are key to speeding up the - builds. -

Chapter 11. Known issues

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

Chapter 12. Legal notice and licensing

12.1. Complying with open source licenses

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

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

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

make legal-info

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

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

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

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

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

12.2. Complying with the Buildroot license

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

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

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

12.2.1. Patches to packages

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

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

Chapter 13. Beyond Buildroot

13.1. Boot the generated images

13.1.1. NFS boot

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

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

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

Remember to add this path to /etc/exports.

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

13.1.2. Live CD

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

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

You can test your live CD image using QEMU:

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

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

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

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

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

13.2. Chroot

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

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

Part III. Developer guide

Chapter 14. How Buildroot works

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

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

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

Each directory contains at least 2 files:

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

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

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

Chapter 15. Coding style

Overall, these coding style rules are here to help you to add new files in -Buildroot or refactor existing ones.

If you slightly modify some existing file, the important thing is -to keep the consistency of the whole file, so you can:

  • -either follow the potentially deprecated coding style used in this -file, -
  • -or entirely rework it in order to make it comply with these rules. -

15.1. Config.in file

Config.in files contain entries for almost anything configurable in -Buildroot.

An entry has the following pattern:

config BR2_PACKAGE_LIBFOO
-        bool "libfoo"
-        depends on BR2_PACKAGE_LIBBAZ
-        select BR2_PACKAGE_LIBBAR
-        help
-          This is a comment that explains what libfoo is. The help text
-          should be wrapped.
-
-          http://foosoftware.org/libfoo/
  • -The bool, depends on, select and help lines are indented - with one tab. -
  • -The help text itself should be indented with one tab and two - spaces. -
  • -The help text should be wrapped to fit 72 columns, where tab counts - for 8, so 62 characters in the text itself. -

The Config.in files are the input for the configuration tool -used in Buildroot, which is the regular Kconfig. For further -details about the Kconfig language, refer to -http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt.

15.2. The .mk file

  • -Header: The file starts with a header. It contains the module name, -preferably in lowercase, enclosed between separators made of 80 hashes. A -blank line is mandatory after the header: -

    ################################################################################
    -#
    -# libfoo
    -#
    -################################################################################
  • -Assignment: use = preceded and followed by one space: -

    LIBFOO_VERSION = 1.0
    -LIBFOO_CONF_OPTS += --without-python-support

    Do not align the = signs.

  • -Indentation: use tab only: -

    define LIBFOO_REMOVE_DOC
    -        $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/doc \
    -                $(TARGET_DIR)/usr/share/man/man3/libfoo*
    -endef

    Note that commands inside a define block should always start with a tab, -so make recognizes them as commands.

  • -Optional dependency: -

    • -Prefer multi-line syntax. -

      YES:

      ifeq ($(BR2_PACKAGE_PYTHON),y)
      -LIBFOO_CONF_OPTS += --with-python-support
      -LIBFOO_DEPENDENCIES += python
      -else
      -LIBFOO_CONF_OPTS += --without-python-support
      -endif

      NO:

      LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support
      -LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,)
    • -Keep configure options and dependencies close together. -
  • -Optional hooks: keep hook definition and assignment together in one - if block. -

    YES:

    ifneq ($(BR2_LIBFOO_INSTALL_DATA),y)
    -define LIBFOO_REMOVE_DATA
    -        $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data
    -endef
    -LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA
    -endif

    NO:

    define LIBFOO_REMOVE_DATA
    -        $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data
    -endef
    -
    -ifneq ($(BR2_LIBFOO_INSTALL_DATA),y)
    -LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA
    -endif

15.3. The documentation

The documentation uses the -asciidoc format.

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

15.4. Support scripts

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

Chapter 16. Adding support for a particular board

Buildroot contains basic configurations for several publicly available -hardware boards, so that users of such a board can easily build a system -that is known to work. You are welcome to add support for other boards -to Buildroot too.

To do so, you need to create a normal Buildroot configuration that -builds a basic system for the hardware: toolchain, kernel, bootloader, -filesystem and a simple BusyBox-only userspace. No specific package -should be selected: the configuration should be as minimal as -possible, and should only build a working basic BusyBox system for the -target platform. You can of course use more complicated configurations -for your internal projects, but the Buildroot project will only -integrate basic board configurations. This is because package -selections are highly application-specific.

Once you have a known working configuration, run make -savedefconfig. This will generate a minimal defconfig file at the -root of the Buildroot source tree. Move this file into the configs/ -directory, and rename it <boardname>_defconfig.

It is recommended to use as much as possible upstream versions of the -Linux kernel and bootloaders, and to use as much as possible default -kernel and bootloader configurations. If they are incorrect for your -board, or no default exists, we encourage you to send fixes to the -corresponding upstream projects.

However, in the mean time, you may want to store kernel or bootloader -configuration or patches specific to your target platform. To do so, -create a directory board/<manufacturer> and a subdirectory -board/<manufacturer>/<boardname>. You can then store your patches -and configurations in these directories, and reference them from the main -Buildroot configuration. Refer to Chapter 9, Project-specific customization for more details.

Chapter 17. Adding new packages to Buildroot

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

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

17.1. Package directory

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

Some packages have been grouped by topic in a sub-directory: -x11r7, qt5 and gstreamer. If your package fits in -one of these categories, then create your package directory in these. -New subdirectories are discouraged, however.

17.2. Config files

For the package to be displayed in the configuration tool, you need to -create a Config file in your package directory. There are two types: -Config.in and Config.in.host.

17.2.1. Config.in file

For packages used on the target, create a file named Config.in. This -file will contain the option descriptions related to our libfoo software -that will be used and displayed in the configuration tool. It should basically -contain:

config BR2_PACKAGE_LIBFOO
-        bool "libfoo"
-        help
-          This is a comment that explains what libfoo is. The help text
-          should be wrapped.
-
-          http://foosoftware.org/libfoo/

The bool line, help line and other metadata information about the -configuration option must be indented with one tab. The help text -itself should be indented with one tab and two spaces, lines should -be wrapped to fit 72 columns, where tab counts for 8, so 62 characters -in the text itself. The help text must mention the upstream URL of the -project after an empty line.

As a convention specific to Buildroot, the ordering of the attributes -is as follows:

  1. -The type of option: bool, string… with the prompt -
  2. -If needed, the default value(s) -
  3. -Any dependency of the depends on form -
  4. -Any dependency of the select form -
  5. -The help keyword and help text. -

You can add other sub-options into a if BR2_PACKAGE_LIBFOO…endif -statement to configure particular things in your software. You can look at -examples in other packages. The syntax of the Config.in file is the same -as the one for the kernel Kconfig file. The documentation for this syntax is -available at http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt

Finally you have to add your new libfoo/Config.in to -package/Config.in (or in a category subdirectory if you decided to -put your package in one of the existing categories). The files -included there are sorted alphabetically per category and are NOT -supposed to contain anything but the bare name of the package.

source "package/libfoo/Config.in"

17.2.2. Config.in.host file

Some packages also need to be built for the host system. There are two -options here:

  • -The host package is only required to satisfy build-time - dependencies of one or more target packages. In this case, add - host-foo to the target package’s BAR_DEPENDENCIES variable. No - Config.in.host file should be created. -
  • -The host package should be explicitly selectable by the user from - the configuration menu. In this case, create a Config.in.host file - for that host package: -

    config BR2_PACKAGE_HOST_FOO
    -        bool "host foo"
    -        help
    -          This is a comment that explains what foo for the host is.
    -
    -          http://foosoftware.org/foo/

    The same coding style and options as for the Config.in file are valid.

    Finally you have to add your new libfoo/Config.in.host to -package/Config.in.host. The files included there are sorted alphabetically -and are NOT supposed to contain anything but the bare name of the package.

    source "package/foo/Config.in.host"

    The host package will then be available from the Host utilities menu.

17.2.3. Choosing depends on or select

The Config.in file of your package must also ensure that -dependencies are enabled. Typically, Buildroot uses the following -rules:

  • -Use a select type of dependency for dependencies on - libraries. These dependencies are generally not obvious and it - therefore make sense to have the kconfig system ensure that the - dependencies are selected. For example, the libgtk2 package uses - select BR2_PACKAGE_LIBGLIB2 to make sure this library is also - enabled. - The select keyword expresses the dependency with a backward - semantic. -
  • -Use a depends on type of dependency when the user really needs to - be aware of the dependency. Typically, Buildroot uses this type of - dependency for dependencies on target architecture, MMU support and - toolchain options (see Section 17.2.4, “Dependencies on target and toolchain options”), - or for dependencies on "big" things, such as the X.org system. - The depends on keyword expresses the dependency with a forward - semantic. -

Note. The current problem with the kconfig language is that these two -dependency semantics are not internally linked. Therefore, it may be -possible to select a package, whom one of its dependencies/requirement -is not met.

An example illustrates both the usage of select and depends on.

config BR2_PACKAGE_RRDTOOL
-        bool "rrdtool"
-        depends on BR2_USE_WCHAR
-        select BR2_PACKAGE_FREETYPE
-        select BR2_PACKAGE_LIBART
-        select BR2_PACKAGE_LIBPNG
-        select BR2_PACKAGE_ZLIB
-        help
-          RRDtool is the OpenSource industry standard, high performance
-          data logging and graphing system for time series data.
-
-          http://oss.oetiker.ch/rrdtool/
-
-comment "rrdtool needs a toolchain w/ wchar"
-        depends on !BR2_USE_WCHAR

Note that these two dependency types are only transitive with the -dependencies of the same kind.

This means, in the following example:

config BR2_PACKAGE_A
-        bool "Package A"
-
-config BR2_PACKAGE_B
-        bool "Package B"
-        depends on BR2_PACKAGE_A
-
-config BR2_PACKAGE_C
-        bool "Package C"
-        depends on BR2_PACKAGE_B
-
-config BR2_PACKAGE_D
-        bool "Package D"
-        select BR2_PACKAGE_B
-
-config BR2_PACKAGE_E
-        bool "Package E"
-        select BR2_PACKAGE_D
  • -Selecting Package C will be visible if Package B has been - selected, which in turn is only visible if Package A has been - selected. -
  • -Selecting Package E will select Package D, which will select - Package B, it will not check for the dependencies of Package B, - so it will not select Package A. -
  • -Since Package B is selected but Package A is not, this violates - the dependency of Package B on Package A. Therefore, in such a - situation, the transitive dependency has to be added explicitly: -
config BR2_PACKAGE_D
-        bool "Package D"
-        select BR2_PACKAGE_B
-        depends on BR2_PACKAGE_A
-
-config BR2_PACKAGE_E
-        bool "Package E"
-        select BR2_PACKAGE_D
-        depends on BR2_PACKAGE_A

Overall, for package library dependencies, select should be -preferred.

Note that such dependencies will ensure that the dependency option -is also enabled, but not necessarily built before your package. To do -so, the dependency also needs to be expressed in the .mk file of the -package.

Further formatting details: see the -coding style -Section 15.1, “Config.in file”.

17.2.4. Dependencies on target and toolchain options

Many packages depend on certain options of the toolchain: the choice of -C library, C++ support, thread support, RPC support, wchar support, -or dynamic library support. Some packages can only be built on certain -target architectures, or if an MMU is available in the processor.

These dependencies have to be expressed with the appropriate depends -on statements in the Config.in file. Additionally, for dependencies on -toolchain options, a comment should be displayed when the option is -not enabled, so that the user knows why the package is not available. -Dependencies on target architecture or MMU support should not be -made visible in a comment: since it is unlikely that the user can -freely choose another target, it makes little sense to show these -dependencies explicitly.

The comment should only be visible if the config option itself would -be visible when the toolchain option dependencies are met. This means -that all other dependencies of the package (including dependencies on -target architecture and MMU support) have to be repeated on the -comment definition. To keep it clear, the depends on statement for -these non-toolchain option should be kept separate from the depends on -statement for the toolchain options. -If there is a dependency on a config option in that same file (typically -the main package) it is preferable to have a global if … endif -construct rather than repeating the depends on statement on the -comment and other config options.

The general format of a dependency comment for package foo is:

foo needs a toolchain w/ featA, featB, featC

for example:

mpd needs a toolchain w/ C++, threads, wchar

or

crda needs a toolchain w/ threads

Note that this text is kept brief on purpose, so that it will fit on a -80-character terminal.

The rest of this section enumerates the different target and toolchain -options, the corresponding config symbols to depend on, and the text to -use in the comment.

  • -Target architecture -

    • -Dependency symbol: BR2_powerpc, BR2_mips, … (see arch/Config.in) -
    • -Comment string: no comment to be added -
  • -MMU support -

    • -Dependency symbol: BR2_USE_MMU -
    • -Comment string: no comment to be added -
  • -Gcc _sync* built-ins used for atomic operations. They are - available in variants operating on 1 byte, 2 bytes, 4 bytes and 8 - bytes. Since different architectures support atomic operations on - different sizes, one dependency symbol is available for each size: -

    • -Dependency symbol: BR2_TOOLCHAIN_HAS_SYNC_1 for 1 byte, - BR2_TOOLCHAIN_HAS_SYNC_2 for 2 bytes, - BR2_TOOLCHAIN_HAS_SYNC_4 for 4 bytes, BR2_TOOLCHAIN_HAS_SYNC_8 - for 8 bytes. -
    • -Comment string: no comment to be added -
  • -Gcc _atomic* built-ins used for atomic operations. -

    • -Dependency symbol: BR2_TOOLCHAIN_HAS_ATOMIC. -
    • -Comment string: no comment to be added -
  • -Kernel headers -

    • -Dependency symbol: BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y, (replace - X_Y with the proper version, see toolchain/toolchain-common.in) -
    • -Comment string: headers >= X.Y and/or headers <= X.Y (replace - X.Y with the proper version) -
  • -GCC version -

    • -Dependency symbol: BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y, (replace - X_Y with the proper version, see toolchain/toolchain-common.in) -
    • -Comment string: gcc >= X.Y and/or gcc <= X.Y (replace - X.Y with the proper version) -
  • -Host GCC version -

    • -Dependency symbol: BR2_HOST_GCC_AT_LEAST_X_Y, (replace - X_Y with the proper version, see Config.in) -
    • -Comment string: no comment to be added -
    • -Note that it is usually not the package itself that has a minimum - host GCC version, but rather a host-package on which it depends. -
  • -C library -

    • -Dependency symbol: BR2_TOOLCHAIN_USES_GLIBC, - BR2_TOOLCHAIN_USES_MUSL, BR2_TOOLCHAIN_USES_UCLIBC -
    • -Comment string: for the C library, a slightly different comment text - is used: foo needs a glibc toolchain, or foo needs a glibc - toolchain w/ C++ -
  • -C++ support -

    • -Dependency symbol: BR2_INSTALL_LIBSTDCPP -
    • -Comment string: C++ -
  • -Fortran support -

    • -Dependency symbol: BR2_TOOLCHAIN_HAS_FORTRAN -
    • -Comment string: fortran -
  • -thread support -

    • -Dependency symbol: BR2_TOOLCHAIN_HAS_THREADS -
    • -Comment string: threads (unless BR2_TOOLCHAIN_HAS_THREADS_NPTL - is also needed, in which case, specifying only NPTL is sufficient) -
  • -NPTL thread support -

    • -Dependency symbol: BR2_TOOLCHAIN_HAS_THREADS_NPTL -
    • -Comment string: NPTL -
  • -RPC support -

    • -Dependency symbol: BR2_TOOLCHAIN_HAS_NATIVE_RPC -
    • -Comment string: RPC -
  • -wchar support -

    • -Dependency symbol: BR2_USE_WCHAR -
    • -Comment string: wchar -
  • -dynamic library -

    • -Dependency symbol: !BR2_STATIC_LIBS -
    • -Comment string: dynamic library -

17.2.5. Dependencies on a Linux kernel built by buildroot

Some packages need a Linux kernel to be built by buildroot. These are -typically kernel modules or firmware. A comment should be added in the -Config.in file to express this dependency, similar to dependencies on -toolchain options. The general format is:

foo needs a Linux kernel to be built

If there is a dependency on both toolchain options and the Linux -kernel, use this format:

foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built

17.2.6. Dependencies on udev /dev management

If a package needs udev /dev management, it should depend on symbol -BR2_PACKAGE_HAS_UDEV, and the following comment should be added:

foo needs udev /dev management

If there is a dependency on both toolchain options and udev /dev -management, use this format:

foo needs udev /dev management and a toolchain w/ featA, featB, featC

17.2.7. Dependencies on features provided by virtual packages

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

See Section 17.11, “Infrastructure for virtual packages” for more on the virtual packages.

17.3. The .mk file

Finally, here’s the hardest part. Create a file named libfoo.mk. It -describes how the package should be downloaded, configured, built, -installed, etc.

Depending on the package type, the .mk file must be written in a -different way, using different infrastructures:

Further formatting details: see the writing -rules -Section 15.2, “The .mk file”.

17.4. The .hash file

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

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

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

  • -the type of hash, one of: -

    • -md5, sha1, sha224, sha256, sha384, sha512, none -
  • -the hash of the file: -

    • -for none, one or more non-space chars, usually just the string xxx -
    • -for md5, 32 hexadecimal characters -
    • -for sha1, 40 hexadecimal characters -
    • -for sha224, 56 hexadecimal characters -
    • -for sha256, 64 hexadecimal characters -
    • -for sha384, 96 hexadecimal characters -
    • -for sha512, 128 hexadecimal characters -
  • -the name of the file: -

    • -for a source archive: the basename of the file, without any directory - component, -
    • -for a license file: the path as it appears in FOO_LICENSE_FILES. -

Lines starting with a # sign are considered comments, and ignored. Empty -lines are ignored.

There can be more than one hash for a single file, each on its own line. In -this case, all hashes must match.

Note. Ideally, the hashes stored in this file should match the hashes published by -upstream, e.g. on their website, in the e-mail announcement… If upstream -provides more than one type of hash (e.g. sha1 and sha512), then it is -best to add all those hashes in the .hash file. If upstream does not -provide any hash, or only provides an md5 hash, then compute at least one -strong hash yourself (preferably sha256, but not md5), and mention -this in a comment line above the hashes.

Note. The hashes for license files are used to detect a license change when a -package version is bumped. The hashes are checked during the make legal-info -target run. For a package with multiple versions (like Qt5), -create the hash file in a subdirectory <packageversion> of that package -(see also Section 18.2, “How patches are applied”).

Note. The number of spaces does not matter, so one can use spaces (or tabs) to -properly align the different fields.

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

The example below defines a sha1 and a sha256 published by upstream for -the main libfoo-1.2.3.tar.bz2 tarball, an md5 from upstream and a -locally-computed sha256 hashes for a binary blob, a sha256 for a -downloaded patch, and an archive with no hash:

# Hashes from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.{sha1,sha256}:
-sha1   486fb55c3efa71148fe07895fd713ea3a5ae343a                         libfoo-1.2.3.tar.bz2
-sha256 efc8103cc3bcb06bda6a781532d12701eb081ad83e8f90004b39ab81b65d4369 libfoo-1.2.3.tar.bz2
-
-# md5 from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.md5, sha256 locally computed:
-md5    2d608f3c318c6b7557d551a5a09314f03452f1a1                         libfoo-data.bin
-sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b libfoo-data.bin
-
-# Locally computed:
-sha256 ff52101fb90bbfc3fe9475e425688c660f46216d7e751c4bbdb1dc85cdccacb9 libfoo-fix-blabla.patch
-
-# No hash for 1234:
-none   xxx                                                              libfoo-1234.tar.gz
-
-# Hash for license files:
-sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8  COPYING
-sha256 01b1f9f2c8ee648a7a596a1abe8aa4ed7899b1c9e5551bda06da6e422b04aa55  doc/COPYING.LGPL

If the .hash file is present, and it contains one or more hashes for a -downloaded file, the hash(es) computed by Buildroot (after download) must -match the hash(es) stored in the .hash file. If one or more hashes do -not match, Buildroot considers this an error, deletes the downloaded file, -and aborts.

If the .hash file is present, but it does not contain a hash for a -downloaded file, Buildroot considers this an error and aborts. However, -the downloaded file is left in the download directory since this -typically indicates that the .hash file is wrong but the downloaded -file is probably OK.

Hashes are currently checked for files fetched from http/ftp servers, -Git repositories, files copied using scp and local files. Hashes are -not checked for other version control systems (such as Subversion, -CVS, etc.) because Buildroot currently does not generate reproducible -tarballs when source code is fetched from such version control -systems.

Hashes should only be added in .hash files for files that are -guaranteed to be stable. For example, patches auto-generated by Github -are not guaranteed to be stable, and therefore their hashes can change -over time. Such patches should not be downloaded, and instead be added -locally to the package folder.

If the .hash file is missing, then no check is done at all.

17.5. Infrastructure for packages with specific build systems

By packages with specific build systems we mean all the packages -whose build system is not one of the standard ones, such as -autotools or CMake. This typically includes packages whose build -system is based on hand-written Makefiles or shell scripts.

17.5.1. generic-package tutorial

01: ################################################################################
-02: #
-03: # libfoo
-04: #
-05: ################################################################################
-06:
-07: LIBFOO_VERSION = 1.0
-08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
-09: LIBFOO_SITE = http://www.foosoftware.org/download
-10: LIBFOO_LICENSE = GPL-3.0+
-11: LIBFOO_LICENSE_FILES = COPYING
-12: LIBFOO_INSTALL_STAGING = YES
-13: LIBFOO_CONFIG_SCRIPTS = libfoo-config
-14: LIBFOO_DEPENDENCIES = host-libaaa libbbb
-15:
-16: define LIBFOO_BUILD_CMDS
-17:     $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all
-18: endef
-19:
-20: define LIBFOO_INSTALL_STAGING_CMDS
-21:     $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a
-22:     $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h
-23:     $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib
-24: endef
-25:
-26: define LIBFOO_INSTALL_TARGET_CMDS
-27:     $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib
-28:     $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d
-29: endef
-30:
-31: define LIBFOO_USERS
-32:     foo -1 libfoo -1 * - - - LibFoo daemon
-33: endef
-34:
-35: define LIBFOO_DEVICES
-36:     /dev/foo  c  666  0  0  42  0  -  -  -
-37: endef
-38:
-39: define LIBFOO_PERMISSIONS
-40:     /bin/foo  f  4755  foo  libfoo   -  -  -  -  -
-41: endef
-42:
-43: $(eval $(generic-package))

The Makefile begins on line 7 to 11 with metadata information: the -version of the package (LIBFOO_VERSION), the name of the -tarball containing the package (LIBFOO_SOURCE) (xz-ed tarball recommended) -the Internet location at which the tarball can be downloaded from -(LIBFOO_SITE), the license (LIBFOO_LICENSE) and file with the -license text (LIBFOO_LICENSE_FILES). All variables must start with -the same prefix, LIBFOO_ in this case. This prefix is always the -uppercased version of the package name (see below to understand where -the package name is defined).

On line 12, we specify that this package wants to install something to -the staging space. This is often needed for libraries, since they must -install header files and other development files in the staging space. -This will ensure that the commands listed in the -LIBFOO_INSTALL_STAGING_CMDS variable will be executed.

On line 13, we specify that there is some fixing to be done to some -of the libfoo-config files that were installed during -LIBFOO_INSTALL_STAGING_CMDS phase. -These *-config files are executable shell script files that are -located in $(STAGING_DIR)/usr/bin directory and are executed -by other 3rd party packages to find out the location and the linking -flags of this particular package.

The problem is that all these *-config files by default give wrong, -host system linking flags that are unsuitable for cross-compiling.

For example: -I/usr/include instead of -I$(STAGING_DIR)/usr/include -or: -L/usr/lib instead of -L$(STAGING_DIR)/usr/lib

So some sed magic is done to these scripts to make them give correct -flags. -The argument to be given to LIBFOO_CONFIG_SCRIPTS is the file name(s) -of the shell script(s) needing fixing. All these names are relative to -$(STAGING_DIR)/usr/bin and if needed multiple names can be given.

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

Example 17.1. Config script: divine package

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

So its fixup would be:

DIVINE_CONFIG_SCRIPTS = divine-config

Example 17.2. Config script: imagemagick package:

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

So it’s fixup would be:

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

On line 14, we specify the list of dependencies this package relies -on. These dependencies are listed in terms of lower-case package names, -which can be packages for the target (without the host- -prefix) or packages for the host (with the host-) prefix). -Buildroot will ensure that all these packages are built and installed -before the current package starts its configuration.

The rest of the Makefile, lines 16..29, defines what should be done -at the different steps of the package configuration, compilation and -installation. -LIBFOO_BUILD_CMDS tells what steps should be performed to -build the package. LIBFOO_INSTALL_STAGING_CMDS tells what -steps should be performed to install the package in the staging space. -LIBFOO_INSTALL_TARGET_CMDS tells what steps should be -performed to install the package in the target space.

All these steps rely on the $(@D) variable, which -contains the directory where the source code of the package has been -extracted.

On lines 31..43, we define a user that is used by this package (e.g. -to run a daemon as non-root) (LIBFOO_USERS).

On line 35..37, we define a device-node file used by this package -(LIBFOO_DEVICES).

On line 39..41, we define the permissions to set to specific files -installed by this package (LIBFOO_PERMISSIONS).

Finally, on line 43, we call the generic-package function, which -generates, according to the variables defined previously, all the -Makefile code necessary to make your package working.

17.5.2. generic-package reference

There are two variants of the generic target. The generic-package macro is -used for packages to be cross-compiled for the target. The -host-generic-package macro is used for host packages, natively compiled -for the host. It is possible to call both of them in a single .mk -file: once to create the rules to generate a target -package and once to create the rules to generate a host package:

$(eval $(generic-package))
-$(eval $(host-generic-package))

This might be useful if the compilation of the target package requires -some tools to be installed on the host. If the package name is -libfoo, then the name of the package for the target is also -libfoo, while the name of the package for the host is -host-libfoo. These names should be used in the DEPENDENCIES -variables of other packages, if they depend on libfoo or -host-libfoo.

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

For the target package, the generic-package uses the variables defined by -the .mk file and prefixed by the uppercased package name: -LIBFOO_*. host-generic-package uses the HOST_LIBFOO_* variables. For -some variables, if the HOST_LIBFOO_ prefixed variable doesn’t -exist, the package infrastructure uses the corresponding variable -prefixed by LIBFOO_. This is done for variables that are likely to -have the same value for both the target and host packages. See below -for details.

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

  • -LIBFOO_VERSION, mandatory, must contain the version of the - package. Note that if HOST_LIBFOO_VERSION doesn’t exist, it is - assumed to be the same as LIBFOO_VERSION. It can also be a - revision number or a tag for packages that are fetched directly - from their version control system. Examples: -

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

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

      1. -due to local caching, Buildroot will not re-fetch the repository, - so people who expect to be able to follow the remote repository - would be quite surprised and disappointed; -
      2. -because two builds can never be perfectly simultaneous, and because - the remote repository may get new commits on the branch anytime, - two users, using the same Buildroot tree and building the same - configuration, may get different source, thus rendering the build - non reproducible, and people would be quite surprised and - disappointed. -
  • -LIBFOO_SOURCE may contain the name of the tarball of the package, - which Buildroot will use to download the tarball from - LIBFOO_SITE. If HOST_LIBFOO_SOURCE is not specified, it defaults - to LIBFOO_SOURCE. If none are specified, then the value is assumed - to be libfoo-$(LIBFOO_VERSION).tar.gz. - Example: LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2 -
  • -LIBFOO_PATCH may contain a space-separated list of patch file - names, that Buildroot will download and apply to the package source - code. If an entry contains ://, then Buildroot will assume it is a - full URL and download the patch from this location. Otherwise, - Buildroot will assume that the patch should be downloaded from - LIBFOO_SITE. If HOST_LIBFOO_PATCH is not specified, it defaults - to LIBFOO_PATCH. Note that patches that are included in Buildroot - itself use a different mechanism: all files of the form - *.patch present in the package directory inside - Buildroot will be applied to the package after extraction (see - patching a package -Chapter 18, Patching a package). Finally, patches listed in - the LIBFOO_PATCH variable are applied before the patches stored - in the Buildroot package directory. -
  • -LIBFOO_SITE provides the location of the package, which can be a - URL or a local filesystem path. HTTP, FTP and SCP are supported URL - types for retrieving package tarballs. In these cases don’t include a - trailing slash: it will be added by Buildroot between the directory - and the filename as appropriate. Git, Subversion, Mercurial, - and Bazaar are supported URL types for retrieving packages directly - from source code management systems. There is a helper function to make - it easier to download source tarballs from GitHub (refer to - Section 17.22.3, “How to add a package from GitHub” for details). A filesystem path may be used - to specify either a tarball or a directory containing the package - source code. See LIBFOO_SITE_METHOD below for more details on how - retrieval works. - Note that SCP URLs should be of the form - scp://[user@]host:filepath, and that filepath is relative to the - user’s home directory, so you may want to prepend the path with a - slash for absolute paths: - scp://[user@]host:/absolutepath. - If HOST_LIBFOO_SITE is not specified, it defaults to - LIBFOO_SITE. - Examples: - LIBFOO_SITE=http://www.libfoosoftware.org/libfoo - LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor - LIBFOO_SITE=/opt/software/libfoo.tar.gz - LIBFOO_SITE=$(TOPDIR)/../src/libfoo -
  • -LIBFOO_DL_OPTS is a space-separated list of additional options to - pass to the downloader. Useful for retrieving documents with - server-side checking for user logins and passwords, or to use a proxy. - All download methods valid for LIBFOO_SITE_METHOD are supported; - valid options depend on the download method (consult the man page - for the respective download utilities). -
  • -LIBFOO_EXTRA_DOWNLOADS is a space-separated list of additional - files that Buildroot should download. If an entry contains :// - then Buildroot will assume it is a complete URL and will download - the file using this URL. Otherwise, Buildroot will assume the file - to be downloaded is located at LIBFOO_SITE. Buildroot will not do - anything with those additional files, except download them: it will - be up to the package recipe to use them from $(DL_DIR). -
  • -LIBFOO_SITE_METHOD determines the method used to fetch or copy the - package source code. In many cases, Buildroot guesses the method - from the contents of LIBFOO_SITE and setting LIBFOO_SITE_METHOD - is unnecessary. When HOST_LIBFOO_SITE_METHOD is not specified, it - defaults to the value of LIBFOO_SITE_METHOD. - The possible values of LIBFOO_SITE_METHOD are: -

    • -wget for normal FTP/HTTP downloads of tarballs. Used by - default when LIBFOO_SITE begins with http://, https:// or - ftp://. -
    • -scp for downloads of tarballs over SSH with scp. Used by - default when LIBFOO_SITE begins with scp://. -
    • -svn for retrieving source code from a Subversion repository. - Used by default when LIBFOO_SITE begins with svn://. When a - http:// Subversion repository URL is specified in - LIBFOO_SITE, one must specify LIBFOO_SITE_METHOD=svn. - Buildroot performs a checkout which is preserved as a tarball in - the download cache; subsequent builds use the tarball instead of - performing another checkout. -
    • -cvs for retrieving source code from a CVS repository. - Used by default when LIBFOO_SITE begins with cvs://. - The downloaded source code is cached as with the svn method. - Anonymous pserver mode is assumed otherwise explicitly defined - on LIBFOO_SITE. Both - LIBFOO_SITE=cvs://libfoo.net:/cvsroot/libfoo and - LIBFOO_SITE=cvs://:ext:libfoo.net:/cvsroot/libfoo - are accepted, on the former anonymous pserver access mode is - assumed. - LIBFOO_SITE must contain the source URL as well as the remote - repository directory. The module is the package name. - LIBFOO_VERSION is mandatory and must be a tag, a branch, or - a date (e.g. "2014-10-20", "2014-10-20 13:45", "2014-10-20 - 13:45+01" see "man cvs" for further details). -
    • -git for retrieving source code from a Git repository. Used by - default when LIBFOO_SITE begins with git://. The downloaded - source code is cached as with the svn - method. -
    • -hg for retrieving source code from a Mercurial repository. One - must specify LIBFOO_SITE_METHOD=hg when LIBFOO_SITE - contains a Mercurial repository URL. The downloaded source code - is cached as with the svn method. -
    • -bzr for retrieving source code from a Bazaar repository. Used - by default when LIBFOO_SITE begins with bzr://. The - downloaded source code is cached as with the svn method. -
    • -file for a local tarball. One should use this when - LIBFOO_SITE specifies a package tarball as a local filename. - Useful for software that isn’t available publicly or in version - control. -
    • -local for a local source code directory. One should use this - when LIBFOO_SITE specifies a local directory path containing - the package source code. Buildroot copies the contents of the - source directory into the package’s build directory. Note that - for local packages, no patches are applied. If you need to - still patch the source code, use LIBFOO_POST_RSYNC_HOOKS, see - Section 17.20.1, “Using the POST_RSYNC hook”. -
  • -LIBFOO_GIT_SUBMODULES can be set to YES to create an archive - with the git submodules in the repository. This is only available - for packages downloaded with git (i.e. when - LIBFOO_SITE_METHOD=git). Note that we try not to use such git - submodules when they contain bundled libraries, in which case we - prefer to use those libraries from their own package. -
  • -LIBFOO_STRIP_COMPONENTS is the number of leading components - (directories) that tar must strip from file names on extraction. - The tarball for most packages has one leading component named - "<pkg-name>-<pkg-version>", thus Buildroot passes - --strip-components=1 to tar to remove it. - For non-standard packages that don’t have this component, or - that have more than one leading component to strip, set this - variable with the value to be passed to tar. Default: 1. -
  • -LIBFOO_EXCLUDES is a space-separated list of patterns to exclude - when extracting the archive. Each item from that list is passed as - a tar’s --exclude option. By default, empty. -
  • -LIBFOO_DEPENDENCIES lists the dependencies (in terms of package - name) that are required for the current target package to - compile. These dependencies are guaranteed to be compiled and - installed before the configuration of the current package starts. In - a similar way, HOST_LIBFOO_DEPENDENCIES lists the dependencies for - the current host package. -
  • -LIBFOO_PATCH_DEPENDENCIES lists the dependencies (in terms of - package name) that are required for the current package to be - patched. These dependencies are guaranteed to be extracted and - patched before the current package is patched. In a similar way, - HOST_LIBFOO_PATCH_DEPENDENCIES lists the dependencies for the - current host package. - This is seldom used; usually, LIBFOO_DEPENDENCIES is what you - really want to use. -
  • -LIBFOO_PROVIDES lists all the virtual packages libfoo is an - implementation of. See Section 17.11, “Infrastructure for virtual packages”. -
  • -LIBFOO_INSTALL_STAGING can be set to YES or NO (default). If - set to YES, then the commands in the LIBFOO_INSTALL_STAGING_CMDS - variables are executed to install the package into the staging - directory. -
  • -LIBFOO_INSTALL_TARGET can be set to YES (default) or NO. If - set to YES, then the commands in the LIBFOO_INSTALL_TARGET_CMDS - variables are executed to install the package into the target - directory. -
  • -LIBFOO_INSTALL_IMAGES can be set to YES or NO (default). If - set to YES, then the commands in the LIBFOO_INSTALL_IMAGES_CMDS - variable are executed to install the package into the images - directory. -
  • -LIBFOO_CONFIG_SCRIPTS lists the names of the files in - $(STAGING_DIR)/usr/bin that need some special fixing to make them - cross-compiling friendly. Multiple file names separated by space can - be given and all are relative to $(STAGING_DIR)/usr/bin. The files - listed in LIBFOO_CONFIG_SCRIPTS are also removed from - $(TARGET_DIR)/usr/bin since they are not needed on the target. -
  • -LIBFOO_DEVICES lists the device files to be created by Buildroot - when using the static device table. The syntax to use is the - makedevs one. You can find some documentation for this syntax in the - Chapter 23, Makedev syntax documentation. This variable is optional. -
  • -LIBFOO_PERMISSIONS lists the changes of permissions to be done at - the end of the build process. The syntax is once again the makedevs one. - You can find some documentation for this syntax in the Chapter 23, Makedev syntax documentation. - This variable is optional. -
  • -LIBFOO_USERS lists the users to create for this package, if it installs - a program you want to run as a specific user (e.g. as a daemon, or as a - cron-job). The syntax is similar in spirit to the makedevs one, and is - described in the Chapter 24, Makeusers syntax documentation. This variable is optional. -
  • -LIBFOO_LICENSE defines the license (or licenses) under which the package - is released. - This name will appear in the manifest file produced by make legal-info. - If the license appears in the SPDX License List, - use the SPDX short identifier to make the manifest file uniform. - Otherwise, describe the license in a precise and concise way, avoiding - ambiguous names such as BSD which actually name a family of licenses. - This variable is optional. If it is not defined, unknown will appear in - the license field of the manifest file for this package. - The expected format for this variable must comply with the following rules: -

    • -If different parts of the package are released under different - licenses, then comma separate licenses (e.g. LIBFOO_LICENSE = - GPL-2.0+, LGPL-2.1+). If there is clear distinction between which - component is licensed under what license, then annotate the license - with that component, between parenthesis (e.g. LIBFOO_LICENSE = - GPL-2.0+ (programs), LGPL-2.1+ (libraries)). -
    • -If the package is dual licensed, then separate licenses with the - or keyword (e.g. LIBFOO_LICENSE = AFL-2.1 or GPL-2.0+). -
  • -LIBFOO_LICENSE_FILES is a space-separated list of files in the package - tarball that contain the license(s) under which the package is released. - make legal-info copies all of these files in the legal-info directory. - See Chapter 12, Legal notice and licensing for more information. - This variable is optional. If it is not defined, a warning will be produced - to let you know, and not saved will appear in the license files field - of the manifest file for this package. -
  • -LIBFOO_ACTUAL_SOURCE_TARBALL only applies to packages whose - LIBFOO_SITE / LIBTOO_SOURCE pair points to an archive that does - not actually contain source code, but binary code. This a very - uncommon case, only known to apply to external toolchains which come - already compiled, although theoretically it might apply to other - packages. In such cases a separate tarball is usually available with - the actual source code. Set LIBFOO_ACTUAL_SOURCE_TARBALL to the - name of the actual source code archive and Buildroot will download - it and use it when you run make legal-info to collect - legally-relevant material. Note this file will not be downloaded - during regular builds nor by make source. -
  • -LIBFOO_ACTUAL_SOURCE_SITE provides the location of the actual - source tarball. The default value is LIBFOO_SITE, so you don’t - need to set this variable if the binary and source archives are - hosted on the same directory. If LIBFOO_ACTUAL_SOURCE_TARBALL is - not set, it doesn’t make sense to define - LIBFOO_ACTUAL_SOURCE_SITE. -
  • -LIBFOO_REDISTRIBUTE can be set to YES (default) or NO to indicate if - the package source code is allowed to be redistributed. Set it to NO for - non-opensource packages: Buildroot will not save the source code for this - package when collecting the legal-info. -
  • -LIBFOO_FLAT_STACKSIZE defines the stack size of an application built into - the FLAT binary format. The application stack size on the NOMMU architecture - processors can’t be enlarged at run time. The default stack size for the - FLAT binary format is only 4k bytes. If the application consumes more stack, - append the required number here. -
  • -LIBFOO_BIN_ARCH_EXCLUDE is a space-separated list of paths (relative - to the target directory) to ignore when checking that the package - installs correctly cross-compiled binaries. You seldom need to set this - variable, unless the package installs binary blobs outside the default - locations, /lib/firmware, /usr/lib/firmware, /lib/modules, - /usr/lib/modules, and /usr/share, which are automatically excluded. -

The recommended way to define these variables is to use the following -syntax:

LIBFOO_VERSION = 2.32

Now, the variables that define what should be performed at the -different steps of the build process.

  • -LIBFOO_EXTRACT_CMDS lists the actions to be performed to extract - the package. This is generally not needed as tarballs are - automatically handled by Buildroot. However, if the package uses a - non-standard archive format, such as a ZIP or RAR file, or has a - tarball with a non-standard organization, this variable allows to - override the package infrastructure default behavior. -
  • -LIBFOO_CONFIGURE_CMDS lists the actions to be performed to - configure the package before its compilation. -
  • -LIBFOO_BUILD_CMDS lists the actions to be performed to - compile the package. -
  • -HOST_LIBFOO_INSTALL_CMDS lists the actions to be performed - to install the package, when the package is a host package. The - package must install its files to the directory given by - $(HOST_DIR). All files, including development files such as - headers should be installed, since other packages might be compiled - on top of this package. -
  • -LIBFOO_INSTALL_TARGET_CMDS lists the actions to be - performed to install the package to the target directory, when the - package is a target package. The package must install its files to - the directory given by $(TARGET_DIR). Only the files required for - execution of the package have to be - installed. Header files, static libraries and documentation will be - removed again when the target filesystem is finalized. -
  • -LIBFOO_INSTALL_STAGING_CMDS lists the actions to be - performed to install the package to the staging directory, when the - package is a target package. The package must install its files to - the directory given by $(STAGING_DIR). All development files - should be installed, since they might be needed to compile other - packages. -
  • -LIBFOO_INSTALL_IMAGES_CMDS lists the actions to be performed to - install the package to the images directory, when the package is a - target package. The package must install its files to the directory - given by $(BINARIES_DIR). Only files that are binary images (aka - images) that do not belong in the TARGET_DIR but are necessary - for booting the board should be placed here. For example, a package - should utilize this step if it has binaries which would be similar - to the kernel image, bootloader or root filesystem images. -
  • -LIBFOO_INSTALL_INIT_SYSV and LIBFOO_INSTALL_INIT_SYSTEMD list the - actions to install init scripts either for the systemV-like init systems - (busybox, sysvinit, etc.) or for the systemd units. These commands - will be run only when the relevant init system is installed (i.e. if - systemd is selected as the init system in the configuration, only - LIBFOO_INSTALL_INIT_SYSTEMD will be run). -
  • -LIBFOO_HELP_CMDS lists the actions to print the package help, which - is included to the main make help output. These commands can print - anything in any format. - This is seldom used, as packages rarely have custom rules. Do not use - this variable, unless you really know that you need to print help. -

The preferred way to define these variables is:

define LIBFOO_CONFIGURE_CMDS
-        action 1
-        action 2
-        action 3
-endef

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

  • -$(LIBFOO_PKGDIR) contains the path to the directory containing the - libfoo.mk and Config.in files. This variable is useful when it is - necessary to install a file bundled in Buildroot, like a runtime - configuration file, a splashscreen image… -
  • -$(@D), which contains the directory in which the package source - code has been uncompressed. -
  • -$(DL_DIR) contains the path to the directory where all the downloads made - by Buildroot are stored. -
  • -$(TARGET_CC), $(TARGET_LD), etc. to get the target - cross-compilation utilities -
  • -$(TARGET_CROSS) to get the cross-compilation toolchain prefix -
  • -Of course the $(HOST_DIR), $(STAGING_DIR) and $(TARGET_DIR) - variables to install the packages properly. -

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

17.6. Infrastructure for autotools-based packages

17.6.1. autotools-package tutorial

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

01: ################################################################################
-02: #
-03: # libfoo
-04: #
-05: ################################################################################
-06:
-07: LIBFOO_VERSION = 1.0
-08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
-09: LIBFOO_SITE = http://www.foosoftware.org/download
-10: LIBFOO_INSTALL_STAGING = YES
-11: LIBFOO_INSTALL_TARGET = NO
-12: LIBFOO_CONF_OPTS = --disable-shared
-13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
-14:
-15: $(eval $(autotools-package))

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

On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) -and the location of the tarball on the Web. Buildroot will automatically -download the tarball from this location.

On line 10, we tell Buildroot to install the package to the staging -directory. The staging directory, located in output/staging/ -is the directory where all the packages are installed, including their -development files, etc. By default, packages are not installed to the -staging directory, since usually, only libraries need to be installed in -the staging directory: their development files are needed to compile -other libraries or applications depending on them. Also by default, when -staging installation is enabled, packages are installed in this location -using the make install command.

On line 11, we tell Buildroot to not install the package to the -target directory. This directory contains what will become the root -filesystem running on the target. For purely static libraries, it is -not necessary to install them in the target directory because they will -not be used at runtime. By default, target installation is enabled; setting -this variable to NO is almost never needed. Also by default, packages are -installed in this location using the make install command.

On line 12, we tell Buildroot to pass a custom configure option, that -will be passed to the ./configure script before configuring -and building the package.

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

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

17.6.2. autotools-package reference

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

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

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

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

  • -LIBFOO_SUBDIR may contain the name of a subdirectory - inside the package that contains the configure script. This is useful, - if for example, the main configure script is not at the root of the - tree extracted by the tarball. If HOST_LIBFOO_SUBDIR is - not specified, it defaults to LIBFOO_SUBDIR. -
  • -LIBFOO_CONF_ENV, to specify additional environment - variables to pass to the configure script. By default, empty. -
  • -LIBFOO_CONF_OPTS, to specify additional configure - options to pass to the configure script. By default, empty. -
  • -LIBFOO_MAKE, to specify an alternate make - command. This is typically useful when parallel make is enabled in - the configuration (using BR2_JLEVEL) but that this - feature should be disabled for the given package, for one reason or - another. By default, set to $(MAKE). If parallel building - is not supported by the package, then it should be set to - LIBFOO_MAKE=$(MAKE1). -
  • -LIBFOO_MAKE_ENV, to specify additional environment - variables to pass to make in the build step. These are passed before - the make command. By default, empty. -
  • -LIBFOO_MAKE_OPTS, to specify additional variables to - pass to make in the build step. These are passed after the - make command. By default, empty. -
  • -LIBFOO_AUTORECONF, tells whether the package should - be autoreconfigured or not (i.e. if the configure script and - Makefile.in files should be re-generated by re-running autoconf, - automake, libtool, etc.). Valid values are YES and - NO. By default, the value is NO -
  • -LIBFOO_AUTORECONF_ENV, to specify additional environment - variables to pass to the autoreconf program if - LIBFOO_AUTORECONF=YES. These are passed in the environment of - the autoreconf command. By default, empty. -
  • -LIBFOO_AUTORECONF_OPTS to specify additional options - passed to the autoreconf program if - LIBFOO_AUTORECONF=YES. By default, empty. -
  • -LIBFOO_GETTEXTIZE, tells whether the package should be - gettextized or not (i.e. if the package uses a different gettext - version than Buildroot provides, and it is needed to run - gettextize.) Only valid when LIBFOO_AUTORECONF=YES. Valid - values are YES and NO. The default is NO. -
  • -LIBFOO_GETTEXTIZE_OPTS, to specify additional options passed to - the gettextize program, if LIBFOO_GETTEXTIZE=YES. You may - use that if, for example, the .po files are not located in the - standard place (i.e. in po/ at the root of the package.) By - default, -f. -
  • -LIBFOO_LIBTOOL_PATCH tells whether the Buildroot - patch to fix libtool cross-compilation issues should be applied or - not. Valid values are YES and NO. By - default, the value is YES -
  • -LIBFOO_INSTALL_STAGING_OPTS contains the make options - used to install the package to the staging directory. By default, the - value is DESTDIR=$(STAGING_DIR) install, which is - correct for most autotools packages. It is still possible to override - it. -
  • -LIBFOO_INSTALL_TARGET_OPTS contains the make options - used to install the package to the target directory. By default, the - value is DESTDIR=$(TARGET_DIR) install. The default - value is correct for most autotools packages, but it is still possible - to override it if needed. -

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

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

17.7. Infrastructure for CMake-based packages

17.7.1. cmake-package tutorial

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

01: ################################################################################
-02: #
-03: # libfoo
-04: #
-05: ################################################################################
-06:
-07: LIBFOO_VERSION = 1.0
-08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
-09: LIBFOO_SITE = http://www.foosoftware.org/download
-10: LIBFOO_INSTALL_STAGING = YES
-11: LIBFOO_INSTALL_TARGET = NO
-12: LIBFOO_CONF_OPTS = -DBUILD_DEMOS=ON
-13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
-14:
-15: $(eval $(cmake-package))

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

On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) -and the location of the tarball on the Web. Buildroot will automatically -download the tarball from this location.

On line 10, we tell Buildroot to install the package to the staging -directory. The staging directory, located in output/staging/ -is the directory where all the packages are installed, including their -development files, etc. By default, packages are not installed to the -staging directory, since usually, only libraries need to be installed in -the staging directory: their development files are needed to compile -other libraries or applications depending on them. Also by default, when -staging installation is enabled, packages are installed in this location -using the make install command.

On line 11, we tell Buildroot to not install the package to the -target directory. This directory contains what will become the root -filesystem running on the target. For purely static libraries, it is -not necessary to install them in the target directory because they will -not be used at runtime. By default, target installation is enabled; setting -this variable to NO is almost never needed. Also by default, packages are -installed in this location using the make install command.

On line 12, we tell Buildroot to pass custom options to CMake when it is -configuring the package.

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

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

17.7.2. cmake-package reference

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

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

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

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

  • -LIBFOO_SUBDIR may contain the name of a subdirectory inside the - package that contains the main CMakeLists.txt file. This is useful, - if for example, the main CMakeLists.txt file is not at the root of - the tree extracted by the tarball. If HOST_LIBFOO_SUBDIR is not - specified, it defaults to LIBFOO_SUBDIR. -
  • -LIBFOO_CONF_ENV, to specify additional environment variables to - pass to CMake. By default, empty. -
  • -LIBFOO_CONF_OPTS, to specify additional configure options to pass - to CMake. By default, empty. A number of common CMake options are - set by the cmake-package infrastructure; so it is normally not - necessary to set them in the package’s *.mk file unless you want - to override them: -

    • -CMAKE_BUILD_TYPE is driven by BR2_ENABLE_DEBUG; -
    • -CMAKE_INSTALL_PREFIX; -
    • -BUILD_SHARED_LIBS is driven by BR2_STATIC_LIBS; -
    • -BUILD_DOC, BUILD_DOCS are disabled; -
    • -BUILD_EXAMPLE, BUILD_EXAMPLES are disabled; -
    • -BUILD_TEST, BUILD_TESTS, BUILD_TESTING are disabled. -
  • -LIBFOO_SUPPORTS_IN_SOURCE_BUILD = NO should be set when the package - cannot be built inside the source tree but needs a separate build - directory. -
  • -LIBFOO_MAKE, to specify an alternate make command. This is - typically useful when parallel make is enabled in the configuration - (using BR2_JLEVEL) but that this feature should be disabled for - the given package, for one reason or another. By default, set to - $(MAKE). If parallel building is not supported by the package, - then it should be set to LIBFOO_MAKE=$(MAKE1). -
  • -LIBFOO_MAKE_ENV, to specify additional environment variables to - pass to make in the build step. These are passed before the make - command. By default, empty. -
  • -LIBFOO_MAKE_OPTS, to specify additional variables to pass to make - in the build step. These are passed after the make command. By - default, empty. -
  • -LIBFOO_INSTALL_STAGING_OPTS contains the make options used to - install the package to the staging directory. By default, the value - is DESTDIR=$(STAGING_DIR) install, which is correct for most - CMake packages. It is still possible to override it. -
  • -LIBFOO_INSTALL_TARGET_OPTS contains the make options used to - install the package to the target directory. By default, the value - is DESTDIR=$(TARGET_DIR) install. The default value is correct - for most CMake packages, but it is still possible to override it if - needed. -

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

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

17.8. Infrastructure for Python packages

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

17.8.1. python-package tutorial

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

01: ################################################################################
-02: #
-03: # python-foo
-04: #
-05: ################################################################################
-06:
-07: PYTHON_FOO_VERSION = 1.0
-08: PYTHON_FOO_SOURCE = python-foo-$(PYTHON_FOO_VERSION).tar.xz
-09: PYTHON_FOO_SITE = http://www.foosoftware.org/download
-10: PYTHON_FOO_LICENSE = BSD-3-Clause
-11: PYTHON_FOO_LICENSE_FILES = LICENSE
-12: PYTHON_FOO_ENV = SOME_VAR=1
-13: PYTHON_FOO_DEPENDENCIES = libmad
-14: PYTHON_FOO_SETUP_TYPE = distutils
-15:
-16: $(eval $(python-package))

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

On line 8 and 9, we declare the name of the tarball (xz-ed tarball -recommended) and the location of the tarball on the Web. Buildroot -will automatically download the tarball from this location.

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

On line 12, we tell Buildroot to pass custom options to the Python -setup.py script when it is configuring the package.

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

On line 14, we declare the specific Python build system being used. In -this case the distutils Python build system is used. The two -supported ones are distutils and setuptools.

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

17.8.2. python-package reference

As a policy, packages that merely provide Python modules should all be -named python-<something> in Buildroot. Other packages that use the -Python build system, but are not Python modules, can freely choose -their name (existing examples in Buildroot are scons and -supervisor).

In their Config.in file, they should depend on BR2_PACKAGE_PYTHON -so that when Buildroot will enable Python 3 usage for modules, we will -be able to enable Python modules progressively on Python 3.

The main macro of the Python package infrastructure is -python-package. It is similar to the generic-package macro. It is -also possible to create Python host packages with the -host-python-package macro.

Just like the generic infrastructure, the Python infrastructure works -by defining a number of variables before calling the python-package -or host-python-package macros.

All the package metadata information variables that exist in the -generic package infrastructure -Section 17.5.2, “generic-package reference” also -exist in the Python infrastructure: PYTHON_FOO_VERSION, -PYTHON_FOO_SOURCE, PYTHON_FOO_PATCH, PYTHON_FOO_SITE, -PYTHON_FOO_SUBDIR, PYTHON_FOO_DEPENDENCIES, PYTHON_FOO_LICENSE, -PYTHON_FOO_LICENSE_FILES, PYTHON_FOO_INSTALL_STAGING, etc.

Note that:

  • -It is not necessary to add python or host-python in the - PYTHON_FOO_DEPENDENCIES variable of a package, since these basic - dependencies are automatically added as needed by the Python - package infrastructure. -
  • -Similarly, it is not needed to add host-setuptools and/or - host-distutilscross dependencies to PYTHON_FOO_DEPENDENCIES for - setuptools-based packages, since these are automatically added by - the Python infrastructure as needed. -

One variable specific to the Python infrastructure is mandatory:

  • -PYTHON_FOO_SETUP_TYPE, to define which Python build system is used - by the package. The two supported values are distutils and - setuptools. If you don’t know which one is used in your package, - look at the setup.py file in your package source code, and see - whether it imports things from the distutils module or the - setuptools module. -

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

  • -PYTHON_FOO_ENV, to specify additional environment variables to - pass to the Python setup.py script (for both the build and install - steps). Note that the infrastructure is automatically passing - several standard variables, defined in PKG_PYTHON_DISTUTILS_ENV - (for distutils target packages), HOST_PKG_PYTHON_DISTUTILS_ENV - (for distutils host packages), PKG_PYTHON_SETUPTOOLS_ENV (for - setuptools target packages) and HOST_PKG_PYTHON_SETUPTOOLS_ENV - (for setuptools host packages). -
  • -PYTHON_FOO_BUILD_OPTS, to specify additional options to pass to the - Python setup.py script during the build step. For target distutils - packages, the PKG_PYTHON_DISTUTILS_BUILD_OPTS options are already - passed automatically by the infrastructure. -
  • -PYTHON_FOO_INSTALL_TARGET_OPTS, PYTHON_FOO_INSTALL_STAGING_OPTS, - HOST_PYTHON_FOO_INSTALL_OPTS to specify additional options to pass - to the Python setup.py script during the target installation step, - the staging installation step or the host installation, - respectively. Note that the infrastructure is automatically passing - some options, defined in PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS - or PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS (for target distutils - packages), HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS (for host - distutils packages), PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS or - PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS (for target setuptools - packages) and HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS (for host - setuptools packages). -
  • -HOST_PYTHON_FOO_NEEDS_HOST_PYTHON, to define the host python - interpreter. The usage of this variable is limited to host - packages. The two supported value are python2 and python3. It - will ensure the right host python package is available and will - invoke it for the build. If some build steps are overloaded, the - right python interpreter must be explicitly called in the commands. -

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

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

17.8.3. Generating a python-package from a PyPI repository

If the Python package for which you would like to create a Buildroot -package is available on PyPI, you may want to use the scanpypi tool -located in utils/ to automate the process.

You can find the list of existing PyPI packages -here.

scanpypi requires Python’s setuptools package to be installed on -your host.

When at the root of your buildroot directory just do :

utils/scanpypi foo bar -o package

This will generate packages python-foo and python-bar in the package -folder if they exist on https://pypi.python.org.

Find the external python modules menu and insert your package inside. -Keep in mind that the items inside a menu should be in alphabetical order.

Please keep in mind that you’ll most likely have to manually check the -package for any mistakes as there are things that cannot be guessed by -the generator (e.g. dependencies on any of the python core modules -such as BR2_PACKAGE_PYTHON_ZLIB). Also, please take note that the -license and license files are guessed and must be checked. You also -need to manually add the package to the package/Config.in file.

If your Buildroot package is not in the official Buildroot tree but in -a br2-external tree, use the -o flag as follows:

utils/scanpypi foo bar -o other_package_dir

This will generate packages python-foo and python-bar in the -other_package_directory instead of package.

Option -h will list the available options:

utils/scanpypi -h

17.8.4. python-package CFFI backend

C Foreign Function Interface for Python (CFFI) provides a convenient -and reliable way to call compiled C code from Python using interface -declarations written in C. Python packages relying on this backend can -be identified by the appearance of a cffi dependency in the -install_requires field of their setup.py file.

Such a package should:

  • -add python-cffi as a runtime dependency in order to install the -compiled C library wrapper on the target. This is achieved by adding -select BR2_PACKAGE_PYTHON_CFFI to the package Config.in. -
config BR2_PACKAGE_PYTHON_FOO
-        bool "python-foo"
-        select BR2_PACKAGE_PYTHON_CFFI # runtime
  • -add host-python-cffi as a build-time dependency in order to -cross-compile the C wrapper. This is achieved by adding -host-python-cffi to the PYTHON_FOO_DEPENDENCIES variable. -
################################################################################
-#
-# python-foo
-#
-################################################################################
-
-...
-
-PYTHON_FOO_DEPENDENCIES = host-python-cffi
-
-$(eval $(python-package))

17.9. Infrastructure for LuaRocks-based packages

17.9.1. luarocks-package tutorial

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

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

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

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

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

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

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

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

17.9.2. luarocks-package reference

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

The main macro of the LuaRocks package infrastructure is luarocks-package: -like generic-package it works by defining a number of variables providing -metadata information about the package, and then calling luarocks-package. It -is worth mentioning that building LuaRocks packages for the host is not -supported, so the macro host-luarocks-package is not implemented.

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

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

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

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

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

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

17.10. Infrastructure for Perl/CPAN packages

17.10.1. perl-package tutorial

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

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

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

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

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

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

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

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

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

17.10.2. perl-package reference

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

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

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

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

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

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

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

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

17.11. Infrastructure for virtual packages

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

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

17.11.1. virtual-package tutorial

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

First, let’s create the virtual package.

17.11.2. Virtual package’s Config.in file

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

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

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

17.11.3. Virtual package’s .mk file

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

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

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

17.11.4. Provider’s Config.in file

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

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

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

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

17.11.5. Provider’s .mk file

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

01: SOME_PROVIDER_PROVIDES = something-virtual

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

17.11.6. Notes on depending on a virtual package

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

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

17.11.7. Notes on depending on a specific provider

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

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

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

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

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

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

17.12. Infrastructure for packages using kconfig for configuration files

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

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

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

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

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

This snippet creates the following make targets:

  • -foo-menuconfig, which calls the package’s menuconfig target -
  • -foo-update-config, which copies the configuration back to the - source configuration file. It is not possible to use this target - when fragment files are set. -
  • -foo-update-defconfig, which copies the configuration back to the - source configuration file. The configuration file will only list the - options that differ from the default values. It is not possible to - use this target when fragment files are set. -

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

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

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

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

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

17.13. Infrastructure for rebar-based packages

17.13.1. rebar-package tutorial

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

01: ################################################################################
-02: #
-03: # erlang-foobar
-04: #
-05: ################################################################################
-06:
-07: ERLANG_FOOBAR_VERSION = 1.0
-08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz
-09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download
-10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb
-11:
-12: $(eval $(rebar-package))

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

On line 8 and 9, we declare the name of the tarball (xz-ed tarball -recommended) and the location of the tarball on the Web. Buildroot -will automatically download the tarball from this location.

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

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

17.13.2. rebar-package reference

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

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

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

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

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

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

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

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

  • -ERLANG_FOOBAR_REBAR_ENV, to specify additional environment - variables to pass to the rebar utility. -

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

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

17.14. Infrastructure for Waf-based packages

17.14.1. waf-package tutorial

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

01: ################################################################################
-02: #
-03: # libfoo
-04: #
-05: ################################################################################
-06:
-07: LIBFOO_VERSION = 1.0
-08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
-09: LIBFOO_SITE = http://www.foosoftware.org/download
-10: LIBFOO_CONF_OPTS = --enable-bar --disable-baz
-11: LIBFOO_DEPENDENCIES = bar
-12:
-13: $(eval $(waf-package))

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

On line 8 and 9, we declare the name of the tarball (xz-ed tarball -recommended) and the location of the tarball on the Web. Buildroot -will automatically download the tarball from this location.

On line 10, we tell Buildroot what options to enable for libfoo.

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

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

17.14.2. waf-package reference

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

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

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

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

  • -LIBFOO_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, - install waf as a host tool and use it to build the package. -
  • -LIBFOO_WAF_OPTS, to specify additional options to pass to the - waf script at every step of the package build process: configure, - build and installation. By default, empty. -
  • -LIBFOO_CONF_OPTS, to specify additional options to pass to the - waf script for the configuration step. By default, empty. -
  • -LIBFOO_BUILD_OPTS, to specify additional options to pass to the - waf script during the build step. By default, empty. -
  • -LIBFOO_INSTALL_STAGING_OPTS, to specify additional options to pass - to the waf script during the staging installation step. By default, - empty. -
  • -LIBFOO_INSTALL_TARGET_OPTS, to specify additional options to pass - to the waf script during the target installation step. By default, - empty. -

17.15. Integration of Meson-based packages

17.15.1. meson-package tutorial

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

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

01: ################################################################################
-02: #
-03: # foo
-04: #
-05: ################################################################################
-06:
-07: FOO_VERSION = 1.0
-08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz
-09: FOO_SITE = http://www.foosoftware.org/download
-10: FOO_LICENSE = GPL-3.0+
-11: FOO_LICENSE_FILES = COPYING
-12: FOO_INSTALL_STAGING = YES
-13:
-14: FOO_DEPENDENCIES = host-meson host-pkgconf bar
-15:
-16: FOO_CONF_OPTS += \
-17:     --prefix=/usr \
-18:     --buildtype $(if $(BR2_ENABLE_DEBUG),debug,release) \
-19:     --cross-file $(HOST_DIR)/etc/meson/cross-compilation.conf
-20:
-21: FOO_NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS)
-22:
-23: ifeq ($(BR2_PACKAGE_BAZ),y)
-24: FOO_CONF_OPTS += -Dbaz
-25: endif
-26:
-27: define FOO_CONFIGURE_CMDS
-28:     rm -rf $(@D)/build
-29:     mkdir -p $(@D)/build
-30:     $(TARGET_MAKE_ENV) meson $(FOO_CONF_OPTS) $(@D) $(@D)/build
-31: endef
-32:
-33: define FOO_BUILD_CMDS
-34:     $(TARGET_MAKE_ENV) ninja $(FOO_NINJA_OPTS) -C $(@D)/build
-35: endef
-36:
-37: define FOO_INSTALL_TARGET_CMDS
-38:     $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) ninja $(FOO_NINJA_OPTS) \
-39:             -C $(@D)/build install
-40: endef
-41:
-42: define FOO_INSTALL_STAGING_CMDS
-43:     $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) ninja $(FOO_NINJA_OPTS) \
-44:             -C $(@D)/build install
-45: endef
-46:
-47: $(eval $(generic-package))

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

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

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

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

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

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

17.16. Integration of Cargo-based packages

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

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

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

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

17.16.2. Cargo-based package’s .mk file

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

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

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

As seen in line 35, it is based on the -generic-package infrastructure -Section 17.5.1, “generic-package tutorial”. So, it defines -the variables required by this particular infrastructure, where Cargo is -invoked:

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

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

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

17.16.3. About Dependencies Management

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

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

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

17.17. Infrastructure for packages building kernel modules

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

17.17.1. kernel-module tutorial

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

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

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

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

Finally, on line 14, we invoke the -generic-package infrastructure -Section 17.5.1, “generic-package tutorial”.

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

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

Let’s look at a more complex example:

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

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

17.17.2. kernel-module reference

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

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

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

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

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

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

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

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

17.18. Infrastructure for asciidoc documents

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

  • -html -
  • -split-html -
  • -pdf -
  • -epub -
  • -text -

Although Buildroot only contains one document written in AsciiDoc, there -is, as for packages, an infrastructure for rendering documents using the -AsciiDoc syntax.

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

17.18.1. asciidoc-document tutorial

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

Here is an example to render a simple AsciiDoc document.

01: ################################################################################
-02: #
-03: # foo-document
-04: #
-05: ################################################################################
-06:
-07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*))
-08: $(eval $(call asciidoc-document))

On line 7, the Makefile declares what the sources of the document are. -Currently, it is expected that the document’s sources are only local; -Buildroot will not attempt to download anything to render a document. -Thus, you must indicate where the sources are. Usually, the string -above is sufficient for a document with no sub-directory structure.

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

17.18.2. asciidoc-document reference

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

  • -FOO_SOURCES, mandatory, defines the source files for the document. -
  • -FOO_RESOURCES, optional, may contain a space-separated list of paths - to one or more directories containing so-called resources (like CSS or - images). By default, empty. -
  • -FOO_DEPENDENCIES, optional, the list of packages (most probably, - host-packages) that must be built before building this document. - If a hook of your document needs to access the Kconfig structure, - you may add prepare-kconfig to the list of dependencies. -

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

  • -FOO_POST_RSYNC_HOOKS to run additional commands after the sources - have been copied by Buildroot. This can for example be used to - generate part of the manual with information extracted from the - tree. As an example, Buildroot uses this hook to generate the tables - in the appendices. -
  • -FOO_CHECK_DEPENDENCIES_HOOKS to run additional tests on required - components to generate the document. In AsciiDoc, it is possible to - call filters, that is, programs that will parse an AsciiDoc block and - render it appropriately (e.g. ditaa or - aafigure). -
  • -FOO_CHECK_DEPENDENCIES_<FMT>_HOOKS, to run additional tests for - the specified format <FMT> (see the list of rendered formats, above). -

Here is a complete example that uses all variables and all hooks:

01: ################################################################################
-02: #
-03: # foo-document
-04: #
-05: ################################################################################
-06:
-07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*))
-08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/ressources))
-09:
-10: define FOO_GEN_EXTRA_DOC
-11:     /path/to/generate-script --outdir=$(@D)
-12: endef
-13: FOO_POST_RSYNC_HOOKS += FOO_GEN_EXTRA_DOC
-14:
-15: define FOO_CHECK_MY_PROG
-16:     if ! which my-prog >/dev/null 2>&1; then \
-17:         echo "You need my-prog to generate the foo document"; \
-18:         exit 1; \
-19:     fi
-20: endef
-21: FOO_CHECK_DEPENDENCIES_HOOKS += FOO_CHECK_MY_PROG
-22:
-23: define FOO_CHECK_MY_OTHER_PROG
-24:     if ! which my-other-prog >/dev/null 2>&1; then \
-25:         echo "You need my-other-prog to generate the foo document as PDF"; \
-26:         exit 1; \
-27:     fi
-28: endef
-29: FOO_CHECK_DEPENDENCIES_PDF_HOOKS += FOO_CHECK_MY_OTHER_PROG
-30:
-31: $(eval $(call asciidoc-document))

17.19. Infrastructure specific to the Linux kernel package

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

17.19.1. linux-kernel-tools

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

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

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

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

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

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

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

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

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

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

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

17.19.2. linux-kernel-extensions

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

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

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

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

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

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

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

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

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

17.20. Hooks available in the various build steps

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

The following hook points are available:

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

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

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

17.20.1. Using the POST_RSYNC hook

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

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

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

17.20.2. Target-finalize hook

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

17.21. Gettext integration and interaction with packages

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

The glibc C library integrates a full-blown implementation of -gettext, supporting translation. Native Language Support is -therefore built-in in glibc.

On the other hand, the uClibc and musl C libraries only provide a -stub implementation of the gettext functionality, which allows to -compile libraries and programs using gettext functions, but without -providing the translation capabilities of a full-blown gettext -implementation. With such C libraries, if real Native Language Support -is necessary, it can be provided by the libintl library of the -gettext package.

Due to this, and in order to make sure that Native Language Support is -properly handled, packages in Buildroot that can use NLS support -should:

  1. -Ensure NLS support is enabled when BR2_SYSTEM_ENABLE_NLS=y. This - is done automatically for autotools packages and therefore should - only be done for packages using other package infrastructures. -
  2. -Add $(TARGET_NLS_DEPENDENCIES) to the package - <pkg>_DEPENDENCIES variable. This addition should be done - unconditionally: the value of this variable is automatically - adjusted by the core infrastructure to contain the relevant list of - packages. If NLS support is disabled, this variable is empty. If - NLS support is enabled, this variable contains host-gettext so - that tools needed to compile translation files are available on the - host. In addition, if uClibc or musl are used, this variable - also contains gettext in order to get the full-blown gettext - implementation. -
  3. -If needed, add $(TARGET_NLS_LIBS) to the linker flags, so that - the package gets linked with libintl. This is generally not - needed with autotools packages as they usually detect - automatically that they should link with libintl. However, - packages using other build systems, or problematic autotools-based - packages may need this. $(TARGET_NLS_LIBS) should be added - unconditionally to the linker flags, as the core automatically - makes it empty or defined to -lintl depending on the - configuration. -

No changes should be made to the Config.in file to support NLS.

Finally, certain packages need some gettext utilities on the target, -such as the gettext program itself, which allows to retrieve -translated strings, from the command line. In such a case, the package -should:

  • -use select BR2_PACKAGE_GETTEXT in their Config.in file, - indicating in a comment above that it’s a runtime dependency only. -
  • -not add any gettext dependency in the DEPENDENCIES variable of - their .mk file. -

17.22. Tips and tricks

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

In Buildroot, there is some relationship between:

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

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

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

17.22.2. How to test your package

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

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

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

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

$ cat libcurl.config
-BR2_PACKAGE_LIBCURL=y

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

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

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

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

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

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

The results mean:

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

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

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

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

$ ./utils/test-pkg -h

17.22.3. How to add a package from GitHub

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

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

Notes

  • -The FOO_VERSION can either be a tag or a commit ID. -
  • -The tarball name generated by github matches the default one from - Buildroot (e.g.: foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz), - so it is not necessary to specify it in the .mk file. -
  • -When using a commit ID as version, you should use the full 40 hex characters. -

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

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

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

17.23. Conclusion

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

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

Chapter 18. Patching a package

While integrating a new package or updating an existing one, it may be -necessary to patch the source of the software to get it cross-built within -Buildroot.

Buildroot offers an infrastructure to automatically handle this during -the builds. It supports three ways of applying patch sets: downloaded patches, -patches supplied within buildroot and patches located in a user-defined -global patch directory.

18.1. Providing patches

18.1.1. Downloaded

If it is necessary to apply a patch that is available for download, then add it -to the <packagename>_PATCH variable. If an entry contains ://, -then Buildroot will assume it is a full URL and download the patch -from this location. Otherwise, Buildroot will assume that the patch should be -downloaded from <packagename>_SITE. It can be a single patch, -or a tarball containing a patch series.

Like for all downloads, a hash should be added to the <packagename>.hash -file.

This method is typically used for packages from Debian.

18.1.2. Within Buildroot

Most patches are provided within Buildroot, in the package -directory; these typically aim to fix cross-compilation, libc support, -or other such issues.

These patch files should be named <number>-<description>.patch.

Notes

  • -The patch files coming with Buildroot should not contain any package version - reference in their filename. -
  • -The field <number> in the patch file name refers to the apply order, - and shall start at 1; It is preferred to pad the number with zeros up to 4 - digits, like git-format-patch does. E.g.: 0001-foobar-the-buz.patch -
  • -Previously, it was mandatory for patches to be prefixed with the name of - the package, like <package>-<number>-<description>.patch, but that is - no longer the case. Existing packages will be fixed as time passes. Do - not prefix patches with the package name. -
  • -Previously, a series file, as used by quilt, could also be added in - the package directory. In that case, the series file defines the patch - application order. This is deprecated, and will be removed in the future. - Do not use a series file. -

18.1.3. Global patch directory

The BR2_GLOBAL_PATCH_DIR configuration file option can be -used to specify a space separated list of one or more directories -containing global package patches. See Section 9.8, “Adding project-specific patches” for -details.

18.2. How patches are applied

  1. -Run the <packagename>_PRE_PATCH_HOOKS commands if defined; -
  2. -Cleanup the build directory, removing any existing *.rej files; -
  3. -If <packagename>_PATCH is defined, then patches from these - tarballs are applied; -
  4. -If there are some *.patch files in the package’s Buildroot - directory or in a package subdirectory named <packageversion>, - then: -

    • -If a series file exists in the package directory, then patches are - applied according to the series file; -
    • -Otherwise, patch files matching *.patch are applied in alphabetical - order. - So, to ensure they are applied in the right order, it is highly - recommended to name the patch files like this: - <number>-<description>.patch, where <number> refers to the - apply order. -
  5. -If BR2_GLOBAL_PATCH_DIR is defined, the directories will be - enumerated in the order they are specified. The patches are applied - as described in the previous step. -
  6. -Run the <packagename>_POST_PATCH_HOOKS commands if defined. -

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

18.3. Format and licensing of the package patches

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

A message explaining what the patch does, and why it is needed, should -be added in the header commentary of the patch.

You should add a Signed-off-by statement in the header of the each -patch to help with keeping track of the changes and to certify that the -patch is released under the same license as the software that is modified.

If the software is under version control, it is recommended to use the -upstream SCM software to generate the patch set.

Otherwise, concatenate the header with the output of the -diff -purN package-version.orig/ package-version/ command.

If you update an existing patch (e.g. when bumping the package version), -make sure the existing From header and Signed-off-by tags are not -removed, but do update the rest of the patch comment when appropriate.

At the end, the patch should look like:

configure.ac: add C++ support test
-
-Signed-off-by: John Doe <john.doe@noname.org>
-
---- configure.ac.orig
-+++ configure.ac
-@@ -40,2 +40,12 @@
-
-AC_PROG_MAKE_SET
-+
-+AC_CACHE_CHECK([whether the C++ compiler works],
-+               [rw_cv_prog_cxx_works],
-+               [AC_LANG_PUSH([C++])
-+                AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
-+                               [rw_cv_prog_cxx_works=yes],
-+                               [rw_cv_prog_cxx_works=no])
-+                AC_LANG_POP([C++])])
-+
-+AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"])

18.4. Integrating patches found on the Web

When integrating a patch of which you are not the author, you have to -add a few things in the header of the patch itself.

Depending on whether the patch has been obtained from the project -repository itself, or from somewhere on the web, add one of the -following tags:

Backported from: <some commit id>

or

Fetch from: <some url>

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

Chapter 19. Download infrastructure

TODO

Chapter 20. Debugging Buildroot

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

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

For example :

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

The list of steps is:

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

The script has access to the following variables:

  • -BR2_CONFIG: the path to the Buildroot .config file -
  • -HOST_DIR, STAGING_DIR, TARGET_DIR: see - Section 17.5.2, “generic-package reference” -
  • -BUILD_DIR: the directory where packages are extracted and built -
  • -BINARIES_DIR: the place where all binary files (aka images) are - stored -
  • -BASE_DIR: the base output directory -

Chapter 21. Contributing to Buildroot

There are many ways in which you can contribute to Buildroot: analyzing -and fixing bugs, analyzing and fixing package build failures detected by -the autobuilders, testing and reviewing patches sent by other -developers, working on the items in our TODO list and sending your own -improvements to Buildroot or its manual. The following sections give a -little more detail on each of these items.

If you are interested in contributing to Buildroot, the first thing you -should do is to subscribe to the Buildroot mailing list. This list is -the main way of interacting with other Buildroot developers and to send -contributions to. If you aren’t subscribed yet, then refer to -Chapter 5, Community resources for the subscription link.

If you are going to touch the code, it is highly recommended to use a -git repository of Buildroot, rather than starting from an extracted -source code tarball. Git is the easiest way to develop from and directly -send your patches to the mailing list. Refer to Chapter 3, Getting Buildroot -for more information on obtaining a Buildroot git tree.

21.1. Reproducing, analyzing and fixing bugs

A first way of contributing is to have a look at the open bug reports in -the Buildroot bug -tracker. As we strive to keep the bug count as small as possible, all -help in reproducing, analyzing and fixing reported bugs is more than -welcome. Don’t hesitate to add a comment to bug reports reporting your -findings, even if you don’t yet see the full picture.

21.2. Analyzing and fixing autobuild failures

The Buildroot autobuilders are a set of build machines that continuously -run Buildroot builds based on random configurations. This is done for -all architectures supported by Buildroot, with various toolchains, and -with a random selection of packages. With the large commit activity on -Buildroot, these autobuilders are a great help in detecting problems -very early after commit.

All build results are available at http://autobuild.buildroot.org, -statistics are at http://autobuild.buildroot.org/stats.php. Every day, -an overview of all failed packages is sent to the mailing list.

Detecting problems is great, but obviously these problems have to be -fixed as well. Your contribution is very welcome here! There are -basically two things that can be done:

  • -Analyzing the problems. The daily summary mails do not contain details - about the actual failures: in order to see what’s going on you have to - open the build log and check the last output. Having someone doing - this for all packages in the mail is very useful for other developers, - as they can make a quick initial analysis based on this output alone. -
  • -Fixing a problem. When fixing autobuild failures, you should follow - these steps: -

    1. -Check if you can reproduce the problem by building with the same - configuration. You can do this manually, or use the - br-reproduce-build - script that will automatically clone a Buildroot git repository, - checkout the correct revision, download and set the right - configuration, and start the build. -
    2. -Analyze the problem and create a fix. -
    3. -Verify that the problem is really fixed by starting from a clean - Buildroot tree and only applying your fix. -
    4. -Send the fix to the Buildroot mailing list (see - Section 21.5, “Submitting patches”). In case you created a patch against the - package sources, you should also send the patch upstream so that the - problem will be fixed in a later release, and the patch in Buildroot - can be removed. - In the commit message of a patch fixing an autobuild failure, add a - reference to the build result directory, as follows: -
Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069

21.3. Reviewing and testing patches

With the amount of patches sent to the mailing list each day, the -maintainer has a very hard job to judge which patches are ready to apply -and which ones aren’t. Contributors can greatly help here by reviewing -and testing these patches.

In the review process, do not hesitate to respond to patch submissions -for remarks, suggestions or anything that will help everyone to -understand the patches and make them better. Please use internet -style replies in plain text emails when responding to patch -submissions.

To indicate approval of a patch, there are three formal tags that keep -track of this approval. To add your tag to a patch, reply to it with the -approval tag below the original author’s Signed-off-by line. These tags -will be picked up automatically by patchwork (see -Section 21.3.1, “Applying Patches from Patchwork”) and will be part of the commit log when -the patch is accepted.

-Tested-by -
-Indicates that the patch has been tested successfully. - You are encouraged to specify what kind of testing you performed - (compile-test on architecture X and Y, runtime test on target A, - …). This additional information helps other testers and the - maintainer. -
-Reviewed-by -
-Indicates that you code-reviewed the patch and did your - best in spotting problems, but you are not sufficiently familiar with - the area touched to provide an Acked-by tag. This means that there - may be remaining problems in the patch that would be spotted by - someone with more experience in that area. Should such problems be - detected, your Reviewed-by tag remains appropriate and you cannot - be blamed. -
-Acked-by -
-Indicates that you code-reviewed the patch and you are - familiar enough with the area touched to feel that the patch can be - committed as-is (no additional changes required). In case it later - turns out that something is wrong with the patch, your Acked-by could - be considered inappropriate. The difference between Acked-by and - Reviewed-by is thus mainly that you are prepared to take the blame on - Acked patches, but not on Reviewed ones. -

If you reviewed a patch and have comments on it, you should simply reply -to the patch stating these comments, without providing a Reviewed-by or -Acked-by tag. These tags should only be provided if you judge the patch -to be good as it is.

It is important to note that neither Reviewed-by nor Acked-by imply -that testing has been performed. To indicate that you both reviewed and -tested the patch, provide two separate tags (Reviewed/Acked-by and -Tested-by).

Note also that any developer can provide Tested/Reviewed/Acked-by -tags, without exception, and we encourage everyone to do this. Buildroot -does not have a defined group of core developers, it just so happens -that some developers are more active than others. The maintainer will -value tags according to the track record of their submitter. Tags -provided by a regular contributor will naturally be trusted more than -tags provided by a newcomer. As you provide tags more regularly, your -trustworthiness (in the eyes of the maintainer) will go up, but any -tag provided is valuable.

Buildroot’s Patchwork website can be used to pull in patches for testing -purposes. Please see Section 21.3.1, “Applying Patches from Patchwork” for more -information on using Buildroot’s Patchwork website to apply patches.

21.3.1. Applying Patches from Patchwork

The main use of Buildroot’s Patchwork website for a developer is for -pulling in patches into their local git repository for testing -purposes.

When browsing patches in the patchwork management interface, an mbox -link is provided at the top of the page. Copy this link address and -run the following commands:

$ git checkout -b <test-branch-name>
-$ wget -O - <mbox-url> | git am

Another option for applying patches is to create a bundle. A bundle is -a set of patches that you can group together using the patchwork -interface. Once the bundle is created and the bundle is made public, -you can copy the mbox link for the bundle and apply the bundle -using the above commands.

21.4. Work on items from the TODO list

If you want to contribute to Buildroot but don’t know where to start, -and you don’t like any of the above topics, you can always work on items -from the Buildroot TODO list. -Don’t hesitate to discuss an item first on the mailing list or on IRC. -Do edit the wiki to indicate when you start working on an item, so we -avoid duplicate efforts.

21.5. Submitting patches

Note

Please, do not attach patches to bugs, send them to the mailing list -instead.

If you made some changes to Buildroot and you would like to contribute -them to the Buildroot project, proceed as follows.

21.5.1. The formatting of a patch

We expect patches to be formatted in a specific way. This is necessary -to make it easy to review patches, to be able to apply them easily to -the git repository, to make it easy to find back in the history how -and why things have changed, and to make it possible to use git -bisect to locate the origin of a problem.

First of all, it is essential that the patch has a good commit -message. The commit message should start with a separate line with a -brief summary of the change, starting with the name of the affected -package. 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 -completely. Two unrelated or weakly related changes should usually be -done in two separate patches. This usually means that a patch affects -only a single package. If several changes are related, it is often -still possible to split them up in small patches and apply them in a -specific order. Small patches make it easier to review, and often -make it easier to understand afterwards why a change was done. -However, each patch must be complete. It is not allowed that the -build is broken when only the first but not the second patch is -applied. This is necessary to be able to use git bisect afterwards.

Of course, while you’re doing your development, you’re probably going -back and forth between packages, and certainly not committing things -immediately in a way that is clean enough for submission. So most -developers rewrite the history of commits to produce a clean set of -commits that is appropriate for submission. To do this, you need to -use interactive rebasing. You can learn about it -in the Pro -Git book. Sometimes, it is even easier to discard you history with -git reset --soft origin/master and select individual changes with -git add -i or git add -p.

Finally, the patch should be signed off. This is done by adding -Signed-off-by: Your Real Name <your@email.address> at the end of the -commit message. git commit -s does that for you, if configured -properly. The Signed-off-by tag means that you publish the patch -under the Buildroot license (i.e. GPL-2.0+, except for package patches, -which have the upstream license), and that you are allowed to do so. -See the Developer Certificate of -Origin for details.

When adding new packages, you should submit every package in a -separate patch. This patch should have the update to -package/Config.in, the package Config.in file, the .mk file, the -.hash file, any init script, and all package patches. If the package -has many sub-options, these are sometimes better added as separate -follow-up patches. The summary line should be something like -<packagename>: new package. The body of the commit message can be -empty for simple packages, or it can contain the description of the -package (like the Config.in help text). If anything special has to be -done to build the package, this should also be explained explicitly in -the commit message body.

When you bump a package to a new version, you should also submit a -separate patch for each package. Don’t forget to update the .hash -file, or add it if it doesn’t exist yet. Also don’t forget to check if -the _LICENSE and _LICENSE_FILES are still valid. The summary line -should be something like <packagename>: bump to version <new -version>. If the new version only contains security updates compared -to the existing one, the summary should be <packagename>: security -bump to version <new version> and the commit message body should show -the CVE numbers that are fixed. If some package patches can be removed -in the new version, it should be explained explicitly why they can be -removed, preferably with the upstream commit ID. Also any other -required changes should be explained explicitly, like configure -options that no longer exist or are no longer needed.

If you are interested in getting notified of build failures and of -further changes in the packages you added or modified, please add -yourself to the DEVELOPERS file. This should be done in the same patch -creating or modifying the package. See the DEVELOPERS file -Chapter 22, DEVELOPERS file and get-developers -for more information.

21.5.2. Preparing a patch series

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

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

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

To generate it, run:

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

This will generate patch files in the outgoing subdirectory, -automatically adding the Signed-off-by line.

Once patch files are generated, you can review/edit the commit message -before submitting them, using your favorite text editor.

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

$ ./utils/get-developers outgoing/*

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

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

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

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

21.5.3. Cover letter

If you want to present the whole patch set in a separate mail, add ---cover-letter to the git format-patch command (see man -git-format-patch for further information). This will generate a -template for an introduction e-mail to your patch series.

A cover letter may be useful to introduce the changes you propose -in the following cases:

  • -large number of commits in the series; -
  • -deep impact of the changes in the rest of the project; -
  • -RFC [4]; -
  • -whenever you feel it will help presenting your work, your choices, - the review process, etc. -

21.5.4. Patch revision changelog

When improvements are requested, the new revision of each commit -should include a changelog of the modifications between each -submission. Note that when your patch series is introduced by a cover -letter, an overall changelog may be added to the cover letter in -addition to the changelog in the individual commits. -The best thing to rework a patch series is by interactive rebasing: -git rebase -i origin/master. Consult the git manual for more -information.

When added to the individual commits, this changelog is added when -editing the commit message. Below the Signed-off-by section, add ---- and your changelog.

Although the changelog will be visible for the reviewers in the mail -thread, as well as in patchwork, git -will automatically ignores lines below --- when the patch will be -merged. This is the intended behavior: the changelog is not meant to -be preserved forever in the git history of the project.

Hereafter the recommended layout:

Patch title: short explanation, max 72 chars
-
-A paragraph that explains the problem, and how it manifests itself. If
-the problem is complex, it is OK to add more paragraphs. All paragraphs
-should be wrapped at 72 characters.
-
-A paragraph that explains the root cause of the problem. Again, more
-than on paragraph is OK.
-
-Finally, one or more paragraphs that explain how the problem is solved.
-Don't hesitate to explain complex solutions in detail.
-
-Signed-off-by: John DOE <john.doe@example.net>
-
----
-Changes v2 -> v3:
-  - foo bar  (suggested by Jane)
-  - bar buz
-
-Changes v1 -> v2:
-  - alpha bravo  (suggested by John)
-  - charly delta

Any patch revision should include the version number. The version number -is simply composed of the letter v followed by an integer greater or -equal to two (i.e. "PATCH v2", "PATCH v3" …).

This can be easily handled with git format-patch by using the option ---subject-prefix:

$ git format-patch --subject-prefix "PATCH v4" \
-    -M -s -o outgoing origin/master

Since git version 1.8.1, you can also use -v <n> (where <n> is the -version number):

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

When you provide a new version of a patch, please mark the old one as -superseded in patchwork. You need to -create an account on patchwork to be -able to modify the status of your patches. Note that you can only change -the status of patches you submitted yourself, which means the email -address you register in patchwork should -match the one you use for sending patches to the mailing list.

You can also add the --in-reply-to <message-id> option when -submitting a patch to the mailing list. The id of the mail to reply to -can be found under the "Message Id" tag on -patchwork. The advantage of -in-reply-to is that patchwork will automatically mark the previous -version of the patch as superseded.

21.6. Reporting issues/bugs or getting help

Before reporting any issue, please check in -the mailing list archive -Chapter 5, Community resources whether someone has -already reported and/or fixed a similar problem.

However you choose to report bugs or get help, either by -opening a bug in the bug tracker -Chapter 5, Community resources or by -sending a mail to the mailing list -Chapter 5, Community resources, there are -a number of details to provide in order to help people reproduce and -find a solution to the issue.

Try to think as if you were trying to help someone else; in -that case, what would you need?

Here is a short list of details to provide in such case:

  • -host machine (OS/release) -
  • -version of Buildroot -
  • -target for which the build fails -
  • -package(s) for which the build fails -
  • -the command that fails and its output -
  • -any information you think that may be relevant -

Additionally, you should add the .config file (or if you know how, a -defconfig; see Section 9.3, “Storing the Buildroot configuration”).

If some of these details are too large, do not hesitate to use a -pastebin service. Note that not all available pastebin services will -preserve Unix-style line terminators when downloading raw pastes. -Following pastebin services are known to work correctly: -- https://gist.github.com/ -- http://code.bulix.org/



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

Chapter 22. DEVELOPERS file and get-developers

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

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

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

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

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

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

Part IV. Appendix

Chapter 23. Makedev syntax documentation

The makedev syntax is used in several places in Buildroot to -define changes to be made for permissions, or which device files to -create and how to create them, in order to avoid calls to mknod.

This syntax is derived from the makedev utility, and more complete -documentation can be found in the package/makedevs/README file.

It takes the form of a space separated list of fields, one file per -line; the fields are:

name

type

mode

uid

gid

major

minor

start

inc

count

There are a few non-trivial blocks:

  • -name is the path to the file you want to create/modify -
  • -type is the type of the file, being one of: -

    • -f: a regular file -
    • -d: a directory -
    • -r: a directory recursively -
    • -c: a character device file -
    • -b: a block device file -
    • -p: a named pipe -
  • -mode are the usual permissions settings (only numerical values - are allowed) -
  • -uid and gid are the UID and GID to set on this file; can be - either numerical values or actual names -
  • -major and minor are here for device files, set to - for other - files -
  • -start, inc and count are for when you want to create a batch - of files, and can be reduced to a loop, beginning at start, - incrementing its counter by inc until it reaches count -

Let’s say you want to change the permissions of a given file; using -this syntax, you will need to write:

/usr/bin/foo f 755 0 0 - - - - -
-/usr/bin/bar f 755 root root - - - - -
-/data/buz f 644 buz-user buz-group - - - - -

Alternatively, if you want to change owner/permission of a directory -recursively, you can write (to set UID to foo, GID to bar and access -rights to rwxr-x--- for the directory /usr/share/myapp and all files -and directories below it):

/usr/share/myapp r 750 foo bar - - - - -

On the other hand, if you want to create the device file /dev/hda -and the corresponding 15 files for the partitions, you will need for -/dev/hda:

/dev/hda b 640 root root 3 0 0 0 -

and then for device files corresponding to the partitions of -/dev/hda, /dev/hdaX, X ranging from 1 to 15:

/dev/hda b 640 root root 3 1 1 1 15

Extended attributes are supported if -BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is enabled. -This is done by adding a line starting with |xattr after -the line describing the file. Right now, only capability -is supported as extended attribute.

|xattr

capability

  • -|xattr is a "flag" that indicate an extended attribute -
  • -capability is a capability to add to the previous file -

If you want to add the capability cap_sys_admin to the binary foo, -you will write :

/usr/bin/foo f 755 root root - - - - -
-|xattr cap_sys_admin+eip

You can add several capabilities to a file by using several |xattr lines. -If you want to add the capability cap_sys_admin and cap_net_admin to the -binary foo, you will write :

/usr/bin/foo f 755 root root - - - - -
-|xattr cap_sys_admin+eip
-|xattr cap_net_admin+eip

Chapter 24. Makeusers syntax documentation

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

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

username

uid

group

gid

password

home

shell

groups

comment

Where:

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

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

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

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

Examples:

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

This will create this user:

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

This will create this user:

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

Chapter 25. Migrating from older Buildroot versions

Some versions have introduced backward incompatibilities. This section -explains those incompatibilities, and for each explains what to do to -complete the migration.

25.1. Migrating to 2016.11

Before Buildroot 2016.11, it was possible to use only one br2-external -tree at once. With Buildroot 2016.11 came the possibility to use more -than one simultaneously (for details, see Section 9.2, “Keeping customizations outside of Buildroot”).

This however means that older br2-external trees are not usable as-is. -A minor change has to be made: adding a name to your br2-external tree.

This can be done very easily in just a few steps:

  • -First, create a new file named external.desc, at the root of your - br2-external tree, with a single line defining the name of your - br2-external tree: -

    $ echo 'name: NAME_OF_YOUR_TREE' >external.desc

    Note. Be careful when choosing a name: It has to be unique and be made -with only ASCII characters from the set [A-Za-z0-9_].

  • -Then, change every occurence of BR2_EXTERNAL in your br2-external - tree with the new variable: -

    $ find . -type f | xargs sed -i 's/BR2_EXTERNAL/BR2_EXTERNAL_NAME_OF_YOUR_TREE_PATH/g'

Now, your br2-external tree can be used with Buildroot 2016.11 onward.

Note: This change makes your br2-external tree incompatible with Buildroot -before 2016.11.

25.2. Migrating to 2017.08

Before Buildroot 2017.08, host packages were installed in $(HOST_DIR)/usr -(with e.g. the autotools' --prefix=$(HOST_DIR)/usr). With Buildroot -2017.08, they are now installed directly in $(HOST_DIR).

Whenever a package installs an executable that is linked with a library -in $(HOST_DIR)/lib, it must have an RPATH pointing to that directory.

An RPATH pointing to $(HOST_DIR)/usr/lib is no longer accepted.

\ No newline at end of file diff --git a/docs/manual/manual.pdf b/docs/manual/manual.pdf deleted file mode 100644 index 2255e05816..0000000000 Binary files a/docs/manual/manual.pdf and /dev/null differ diff --git a/docs/manual/manual.text b/docs/manual/manual.text deleted file mode 100644 index a1baf781e6..0000000000 --- a/docs/manual/manual.text +++ /dev/null @@ -1,7309 +0,0 @@ - ---------------------------------------------------------------------- - -The Buildroot user manual - ---------------------------------------------------------------------- ---------------------------------------------------------------------- - -Table of Contents - - -I. Getting started - - 1. About Buildroot - 2. System requirements - - 2.1. Mandatory packages - 2.2. Optional packages - - 3. Getting Buildroot - 4. Buildroot quick start - 5. Community resources - -II. User guide - - 6. Buildroot configuration - - 6.1. Cross-compilation toolchain - 6.2. /dev management - 6.3. init system - - 7. Configuration of other components - 8. General Buildroot usage - - 8.1. make tips - 8.2. Understanding when a full rebuild is necessary - 8.3. Understanding how to rebuild packages - 8.4. Offline builds - 8.5. Building out-of-tree - 8.6. Environment variables - 8.7. Dealing efficiently with filesystem images - 8.8. Graphing the dependencies between packages - 8.9. Graphing the build duration - 8.10. Graphing the filesystem size contribution of packages - 8.11. Integration with Eclipse - 8.12. Advanced usage - - 9. Project-specific customization - - 9.1. Recommended directory structure - 9.2. Keeping customizations outside of Buildroot - 9.3. Storing the Buildroot configuration - 9.4. Storing the configuration of other components - 9.5. Customizing the generated target filesystem - 9.6. Adding custom user accounts - 9.7. Customization after the images have been created - 9.8. Adding project-specific patches - 9.9. Adding project-specific packages - 9.10. Quick guide to storing your project-specific - customizations - - 10. Frequently Asked Questions & Troubleshooting - - 10.1. The boot hangs after Starting network… - 10.2. Why is there no compiler on the target? - 10.3. Why are there no development files on the target? - 10.4. Why is there no documentation on the target? - 10.5. Why are some packages not visible in the Buildroot - config menu? - 10.6. Why not use the target directory as a chroot directory? - 10.7. Why doesn’t Buildroot generate binary packages (.deb, - .ipkg…)? - 10.8. How to speed-up the build process? - - 11. Known issues - 12. Legal notice and licensing - - 12.1. Complying with open source licenses - 12.2. Complying with the Buildroot license - - 13. Beyond Buildroot - - 13.1. Boot the generated images - 13.2. Chroot - -III. Developer guide - - 14. How Buildroot works - 15. Coding style - - 15.1. Config.in file - 15.2. The .mk file - 15.3. The documentation - 15.4. Support scripts - - 16. Adding support for a particular board - 17. Adding new packages to Buildroot - - 17.1. Package directory - 17.2. Config files - 17.3. The .mk file - 17.4. The .hash file - 17.5. Infrastructure for packages with specific build systems - 17.6. Infrastructure for autotools-based packages - 17.7. Infrastructure for CMake-based packages - 17.8. Infrastructure for Python packages - 17.9. Infrastructure for LuaRocks-based packages - 17.10. Infrastructure for Perl/CPAN packages - 17.11. Infrastructure for virtual packages - 17.12. Infrastructure for packages using kconfig for - configuration files - 17.13. Infrastructure for rebar-based packages - 17.14. Infrastructure for Waf-based packages - 17.15. Integration of Meson-based packages - 17.16. Integration of Cargo-based packages - 17.17. Infrastructure for packages building kernel modules - 17.18. Infrastructure for asciidoc documents - 17.19. Infrastructure specific to the Linux kernel package - 17.20. Hooks available in the various build steps - 17.21. Gettext integration and interaction with packages - 17.22. Tips and tricks - 17.23. Conclusion - - 18. Patching a package - - 18.1. Providing patches - 18.2. How patches are applied - 18.3. Format and licensing of the package patches - 18.4. Integrating patches found on the Web - - 19. Download infrastructure - 20. Debugging Buildroot - 21. Contributing to Buildroot - - 21.1. Reproducing, analyzing and fixing bugs - 21.2. Analyzing and fixing autobuild failures - 21.3. Reviewing and testing patches - 21.4. Work on items from the TODO list - 21.5. Submitting patches - 21.6. Reporting issues/bugs or getting help - - 22. DEVELOPERS file and get-developers - -IV. Appendix - - 23. Makedev syntax documentation - 24. Makeusers syntax documentation - 25. Migrating from older Buildroot versions - - 25.1. Migrating to 2016.11 - 25.2. Migrating to 2017.08 - -List of Examples - -17.1. Config script: divine package -17.2. Config script: imagemagick package: - - ---------------------------------------------------------------------- - ---------------------------------------------------------------------- - -Buildroot 2018.02.7 manual generated on 2018-10-25 18:44:41 UTC from -git revision 8c9284703c - -The Buildroot manual is written by the Buildroot developers. It is -licensed under the GNU General Public License, version 2. Refer to -the COPYING [http://git.buildroot.org/buildroot/tree/COPYING?id= -8c9284703c496b913d936689df72d49e095442e4] file in the Buildroot -sources for the full text of this license. - -Copyright © 2004-2018 The Buildroot developers - -Part I. Getting started - -Table of Contents - -1. About Buildroot -2. System requirements - - 2.1. Mandatory packages - 2.2. Optional packages - -3. Getting Buildroot -4. Buildroot quick start -5. Community resources - -Chapter 1. About Buildroot - -Buildroot is a tool that simplifies and automates the process of -building a complete Linux system for an embedded system, using -cross-compilation. - -In order to achieve this, Buildroot is able to generate a -cross-compilation toolchain, a root filesystem, a Linux kernel image -and a bootloader for your target. Buildroot can be used for any -combination of these options, independently (you can for example use -an existing cross-compilation toolchain, and build only your root -filesystem with Buildroot). - -Buildroot is useful mainly for people working with embedded systems. -Embedded systems often use processors that are not the regular x86 -processors everyone is used to having in his PC. They can be PowerPC -processors, MIPS processors, ARM processors, etc. - -Buildroot supports numerous processors and their variants; it also -comes with default configurations for several boards available -off-the-shelf. Besides this, a number of third-party projects are -based on, or develop their BSP ^[1] or SDK ^[2] on top of Buildroot. - - ---------------------------------------------------------------------- - -^[1] BSP: Board Support Package - -^[2] SDK: Software Development Kit - -Chapter 2. System requirements - -Buildroot is designed to run on Linux systems. - -While Buildroot itself will build most host packages it needs for the -compilation, certain standard Linux utilities are expected to be -already installed on the host system. Below you will find an overview -of the mandatory and optional packages (note that package names may -vary between distributions). - -2.1. Mandatory packages - - * Build tools: - - + which - + sed - + make (version 3.81 or any later) - + binutils - + build-essential (only for Debian based systems) - + gcc (version 4.4 or any later) - + g++ (version 4.4 or any later) - + bash - + patch - + gzip - + bzip2 - + perl (version 5.8.7 or any later) - + tar - + cpio - + python (version 2.6 or any later) - + unzip - + rsync - + file (must be in /usr/bin/file) - + bc - * Source fetching tools: - - + wget - -2.2. Optional packages - - * Configuration interface dependencies: - - For these libraries, you need to install both runtime and - development data, which in many distributions are packaged - separately. The development packages typically have a -dev or - -devel suffix. - - + ncurses5 to use the menuconfig interface - + qt4 to use the xconfig interface - + glib2, gtk2 and glade2 to use the gconfig interface - * Source fetching tools: - - In the official tree, most of the package sources are retrieved - using wget from ftp, http or https locations. A few packages are - only available through a version control system. Moreover, - Buildroot is capable of downloading sources via other tools, like - rsync or scp (refer to Chapter 19, Download infrastructure for - more details). If you enable packages using any of these methods, - you will need to install the corresponding tool on the host - system: - - + bazaar - + cvs - + git - + mercurial - + rsync - + scp - + subversion - * Java-related packages, if the Java Classpath needs to be built - for the target system: - - + The javac compiler - + The jar tool - * Documentation generation tools: - - + asciidoc, version 8.6.3 or higher - + w3m - + python with the argparse module (automatically present in - 2.7+ and 3.2+) - + dblatex (required for the pdf manual only) - * Graph generation tools: - - + graphviz to use graph-depends and -graph-depends - + python-matplotlib to use graph-build - -Chapter 3. Getting Buildroot - -Buildroot releases are made every 3 months, in February, May, August -and November. Release numbers are in the format YYYY.MM, so for -example 2013.02, 2014.08. - -Release tarballs are available at http://buildroot.org/downloads/. - -For your convenience, a Vagrantfile [https://www.vagrantup.com/] is -available in support/misc/Vagrantfile in the Buildroot source tree to -quickly set up a virtual machine with the needed dependencies to get -started. - -If you want to setup an isolated buildroot environment on Linux or -Mac Os X, paste this line onto your terminal: - -curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up - -If you are on Windows, paste this into your powershell: - -(new-object System.Net.WebClient).DownloadFile( -"https://buildroot.org/downloads/Vagrantfile","Vagrantfile"); -vagrant up - -If you want to follow development, you can use the daily snapshots or -make a clone of the Git repository. Refer to the Download page [http: -//buildroot.org/download] of the Buildroot website for more details. - -Chapter 4. Buildroot quick start - -Important: you can and should build everything as a normal user. -There is no need to be root to configure and use Buildroot. By -running all commands as a regular user, you protect your system -against packages behaving badly during compilation and installation. - -The first step when using Buildroot is to create a configuration. -Buildroot has a nice configuration tool similar to the one you can -find in the Linux kernel [http://www.kernel.org/] or in BusyBox -[http://www.busybox.net/]. - -From the buildroot directory, run - - $ make menuconfig - -for the original curses-based configurator, or - - $ make nconfig - -for the new curses-based configurator, or - - $ make xconfig - -for the Qt-based configurator, or - - $ make gconfig - -for the GTK-based configurator. - -All of these "make" commands will need to build a configuration -utility (including the interface), so you may need to install -"development" packages for relevant libraries used by the -configuration utilities. Refer to Chapter 2, System requirements for -more details, specifically the optional requirements Section 2.2, -“Optional packages” to get the dependencies of your favorite -interface. - -For each menu entry in the configuration tool, you can find -associated help that describes the purpose of the entry. Refer to -Chapter 6, Buildroot configuration for details on some specific -configuration aspects. - -Once everything is configured, the configuration tool generates a -.config file that contains the entire configuration. This file will -be read by the top-level Makefile. - -To start the build process, simply run: - - $ make - -You should never use make -jN with Buildroot: top-level parallel make -is currently not supported. Instead, use the BR2_JLEVEL option to -tell Buildroot to run the compilation of each individual package with -make -jN. - -The make command will generally perform the following steps: - - * download source files (as required); - * configure, build and install the cross-compilation toolchain, or - simply import an external toolchain; - * configure, build and install selected target packages; - * build a kernel image, if selected; - * build a bootloader image, if selected; - * create a root filesystem in selected formats. - -Buildroot output is stored in a single directory, output/. This -directory contains several subdirectories: - - * images/ where all the images (kernel image, bootloader and root - filesystem images) are stored. These are the files you need to - put on your target system. - * build/ where all the components are built (this includes tools - needed by Buildroot on the host and packages compiled for the - target). This directory contains one subdirectory for each of - these components. - * staging/ which contains a hierarchy similar to a root filesystem - hierarchy. This directory contains the headers and libraries of - the cross-compilation toolchain and all the userspace packages - selected for the target. However, this directory is not intended - to be the root filesystem for the target: it contains a lot of - development files, unstripped binaries and libraries that make it - far too big for an embedded system. These development files are - used to compile libraries and applications for the target that - depend on other libraries. - * target/ which contains almost the complete root filesystem for - the target: everything needed is present except the device files - in /dev/ (Buildroot can’t create them because Buildroot doesn’t - run as root and doesn’t want to run as root). Also, it doesn’t - have the correct permissions (e.g. setuid for the busybox - binary). Therefore, this directory should not be used on your - target. Instead, you should use one of the images built in the - images/ directory. If you need an extracted image of the root - filesystem for booting over NFS, then use the tarball image - generated in images/ and extract it as root. Compared to staging - /, target/ contains only the files and libraries needed to run - the selected target applications: the development files (headers, - etc.) are not present, the binaries are stripped. - * host/ contains the installation of tools compiled for the host - that are needed for the proper execution of Buildroot, including - the cross-compilation toolchain. - -These commands, make menuconfig|nconfig|gconfig|xconfig and make, are -the basic ones that allow to easily and quickly generate images -fitting your needs, with all the features and applications you -enabled. - -More details about the "make" command usage are given in Section 8.1, -“make tips”. - -Chapter 5. Community resources - -Like any open source project, Buildroot has different ways to share -information in its community and outside. - -Each of those ways may interest you if you are looking for some help, -want to understand Buildroot or contribute to the project. - -Mailing List - - Buildroot has a mailing list for discussion and development. It - is the main method of interaction for Buildroot users and - developers. - - Only subscribers to the Buildroot mailing list are allowed to - post to this list. You can subscribe via the mailing list info - page [http://lists.buildroot.org/mailman/listinfo/buildroot]. - - Mails that are sent to the mailing list are also available in the - mailing list archives [http://lists.buildroot.org/pipermail/ - buildroot] and via Gmane [http://gmane.org], at - gmane.comp.lib.uclibc.buildroot [http://dir.gmane.org/ - gmane.comp.lib.uclibc.buildroot]. Please search the mailing list - archives before asking questions, since there is a good chance - someone else has asked the same question before. - -IRC - - The Buildroot IRC channel #buildroot [irc://freenode.net/# - buildroot] is hosted on Freenode [http://webchat.freenode.net]. - It is a useful place to ask quick questions or discuss on certain - topics. - - When asking for help on IRC, share relevant logs or pieces of - code using a code sharing website, such as http://code.bulix.org. - - Note that for certain questions, posting to the mailing list may - be better as it will reach more people, both developers and - users. - -Bug tracker - Bugs in Buildroot can be reported via the mailing list or - alternatively via the Buildroot bugtracker [https:// - bugs.buildroot.org/buglist.cgi?product=buildroot]. Please refer - to Section 21.6, “Reporting issues/bugs or getting help” before - creating a bug report. -Wiki - The Buildroot wiki page [http://elinux.org/Buildroot] is hosted - on the eLinux [http://elinux.org] wiki. It contains some useful - links, an overview of past and upcoming events, and a TODO list. -Patchwork - - Patchwork is a web-based patch tracking system designed to - facilitate the contribution and management of contributions to an - open-source project. Patches that have been sent to a mailing - list are 'caught' by the system, and appear on a web page. Any - comments posted that reference the patch are appended to the - patch page too. For more information on Patchwork see http:// - jk.ozlabs.org/projects/patchwork/. - - Buildroot’s Patchwork website is mainly for use by Buildroot’s - maintainer to ensure patches aren’t missed. It is also used by - Buildroot patch reviewers (see also Section 21.3.1, “Applying - Patches from Patchwork”). However, since the website exposes - patches and their corresponding review comments in a clean and - concise web interface, it can be useful for all Buildroot - developers. - - The Buildroot patch management interface is available at http:// - patchwork.buildroot.org. - -Part II. User guide - -Table of Contents - -6. Buildroot configuration - - 6.1. Cross-compilation toolchain - 6.2. /dev management - 6.3. init system - -7. Configuration of other components -8. General Buildroot usage - - 8.1. make tips - 8.2. Understanding when a full rebuild is necessary - 8.3. Understanding how to rebuild packages - 8.4. Offline builds - 8.5. Building out-of-tree - 8.6. Environment variables - 8.7. Dealing efficiently with filesystem images - 8.8. Graphing the dependencies between packages - 8.9. Graphing the build duration - 8.10. Graphing the filesystem size contribution of packages - 8.11. Integration with Eclipse - 8.12. Advanced usage - -9. Project-specific customization - - 9.1. Recommended directory structure - 9.2. Keeping customizations outside of Buildroot - 9.3. Storing the Buildroot configuration - 9.4. Storing the configuration of other components - 9.5. Customizing the generated target filesystem - 9.6. Adding custom user accounts - 9.7. Customization after the images have been created - 9.8. Adding project-specific patches - 9.9. Adding project-specific packages - 9.10. Quick guide to storing your project-specific customizations - -10. Frequently Asked Questions & Troubleshooting - - 10.1. The boot hangs after Starting network… - 10.2. Why is there no compiler on the target? - 10.3. Why are there no development files on the target? - 10.4. Why is there no documentation on the target? - 10.5. Why are some packages not visible in the Buildroot config - menu? - 10.6. Why not use the target directory as a chroot directory? - 10.7. Why doesn’t Buildroot generate binary packages (.deb, - .ipkg…)? - 10.8. How to speed-up the build process? - -11. Known issues -12. Legal notice and licensing - - 12.1. Complying with open source licenses - 12.2. Complying with the Buildroot license - -13. Beyond Buildroot - - 13.1. Boot the generated images - 13.2. Chroot - -Chapter 6. Buildroot configuration - -All the configuration options in make *config have a help text -providing details about the option. - -The make *config commands also offer a search tool. Read the help -message in the different frontend menus to know how to use it: - - * in menuconfig, the search tool is called by pressing /; - * in xconfig, the search tool is called by pressing Ctrl + f. - -The result of the search shows the help message of the matching -items. In menuconfig, numbers in the left column provide a shortcut -to the corresponding entry. Just type this number to directly jump to -the entry, or to the containing menu in case the entry is not -selectable due to a missing dependency. - -Although the menu structure and the help text of the entries should -be sufficiently self-explanatory, a number of topics require -additional explanation that cannot easily be covered in the help text -and are therefore covered in the following sections. - -6.1. Cross-compilation toolchain - -A compilation toolchain is the set of tools that allows you to -compile code for your system. It consists of a compiler (in our case, -gcc), binary utils like assembler and linker (in our case, binutils) -and a C standard library (for example GNU Libc [http://www.gnu.org/ -software/libc/libc.html], uClibc-ng [http://www.uclibc-ng.org/]). - -The system installed on your development station certainly already -has a compilation toolchain that you can use to compile an -application that runs on your system. If you’re using a PC, your -compilation toolchain runs on an x86 processor and generates code for -an x86 processor. Under most Linux systems, the compilation toolchain -uses the GNU libc (glibc) as the C standard library. This compilation -toolchain is called the "host compilation toolchain". The machine on -which it is running, and on which you’re working, is called the "host -system" ^[3]. - -The compilation toolchain is provided by your distribution, and -Buildroot has nothing to do with it (other than using it to build a -cross-compilation toolchain and other tools that are run on the -development host). - -As said above, the compilation toolchain that comes with your system -runs on and generates code for the processor in your host system. As -your embedded system has a different processor, you need a -cross-compilation toolchain - a compilation toolchain that runs on -your host system but generates code for your target system (and -target processor). For example, if your host system uses x86 and your -target system uses ARM, the regular compilation toolchain on your -host runs on x86 and generates code for x86, while the -cross-compilation toolchain runs on x86 and generates code for ARM. - -Buildroot provides two solutions for the cross-compilation toolchain: - - * The internal toolchain backend, called Buildroot toolchain in the - configuration interface. - * The external toolchain backend, called External toolchain in the - configuration interface. - -The choice between these two solutions is done using the Toolchain -Type option in the Toolchain menu. Once one solution has been chosen, -a number of configuration options appear, they are detailed in the -following sections. - -6.1.1. Internal toolchain backend - -The internal toolchain backend is the backend where Buildroot builds -by itself a cross-compilation toolchain, before building the -userspace applications and libraries for your target embedded system. - -This backend supports several C libraries: uClibc-ng [http:// -www.uclibc-ng.org], glibc [http://www.gnu.org/software/libc/ -libc.html] and musl [http://www.musl-libc.org]. - -Once you have selected this backend, a number of options appear. The -most important ones allow to: - - * Change the version of the Linux kernel headers used to build the - toolchain. This item deserves a few explanations. In the process - of building a cross-compilation toolchain, the C library is being - built. This library provides the interface between userspace - applications and the Linux kernel. In order to know how to "talk" - to the Linux kernel, the C library needs to have access to the - Linux kernel headers (i.e. the .h files from the kernel), which - define the interface between userspace and the kernel (system - calls, data structures, etc.). Since this interface is backward - compatible, the version of the Linux kernel headers used to build - your toolchain do not need to match exactly the version of the - Linux kernel you intend to run on your embedded system. They only - need to have a version equal or older to the version of the Linux - kernel you intend to run. If you use kernel headers that are more - recent than the Linux kernel you run on your embedded system, - then the C library might be using interfaces that are not - provided by your Linux kernel. - * Change the version of the GCC compiler, binutils and the C - library. - * Select a number of toolchain options (uClibc only): whether the - toolchain should have RPC support (used mainly for NFS), - wide-char support, locale support (for internationalization), C++ - support or thread support. Depending on which options you choose, - the number of userspace applications and libraries visible in - Buildroot menus will change: many applications and libraries - require certain toolchain options to be enabled. Most packages - show a comment when a certain toolchain option is required to be - able to enable those packages. If needed, you can further refine - the uClibc configuration by running make uclibc-menuconfig. Note - however that all packages in Buildroot are tested against the - default uClibc configuration bundled in Buildroot: if you deviate - from this configuration by removing features from uClibc, some - packages may no longer build. - -It is worth noting that whenever one of those options is modified, -then the entire toolchain and system must be rebuilt. See -Section 8.2, “Understanding when a full rebuild is necessary”. - -Advantages of this backend: - - * Well integrated with Buildroot - * Fast, only builds what’s necessary - -Drawbacks of this backend: - - * Rebuilding the toolchain is needed when doing make clean, which - takes time. If you’re trying to reduce your build time, consider - using the External toolchain backend. - -6.1.2. External toolchain backend - -The external toolchain backend allows to use existing pre-built -cross-compilation toolchains. Buildroot knows about a number of -well-known cross-compilation toolchains (from Linaro [http:// -www.linaro.org] for ARM, Sourcery CodeBench [http://www.mentor.com/ -embedded-software/sourcery-tools/sourcery-codebench/editions/ -lite-edition/] for ARM, x86-64, PowerPC, and MIPS, and is capable of -downloading them automatically, or it can be pointed to a custom -toolchain, either available for download or installed locally. - -Then, you have three solutions to use an external toolchain: - - * Use a predefined external toolchain profile, and let Buildroot - download, extract and install the toolchain. Buildroot already - knows about a few CodeSourcery and Linaro toolchains. Just select - the toolchain profile in Toolchain from the available ones. This - is definitely the easiest solution. - * Use a predefined external toolchain profile, but instead of - having Buildroot download and extract the toolchain, you can tell - Buildroot where your toolchain is already installed on your - system. Just select the toolchain profile in Toolchain through - the available ones, unselect Download toolchain automatically, - and fill the Toolchain path text entry with the path to your - cross-compiling toolchain. - * Use a completely custom external toolchain. This is particularly - useful for toolchains generated using crosstool-NG or with - Buildroot itself. To do this, select the Custom toolchain - solution in the Toolchain list. You need to fill the Toolchain - path, Toolchain prefix and External toolchain C library options. - Then, you have to tell Buildroot what your external toolchain - supports. If your external toolchain uses the glibc library, you - only have to tell whether your toolchain supports C++ or not and - whether it has built-in RPC support. If your external toolchain - uses the uClibc library, then you have to tell Buildroot if it - supports RPC, wide-char, locale, program invocation, threads and - C++. At the beginning of the execution, Buildroot will tell you - if the selected options do not match the toolchain configuration. - -Our external toolchain support has been tested with toolchains from -CodeSourcery and Linaro, toolchains generated by crosstool-NG [http:/ -/crosstool-ng.org], and toolchains generated by Buildroot itself. In -general, all toolchains that support the sysroot feature should work. -If not, do not hesitate to contact the developers. - -We do not support toolchains or SDK generated by OpenEmbedded or -Yocto, because these toolchains are not pure toolchains (i.e. just -the compiler, binutils, the C and C++ libraries). Instead these -toolchains come with a very large set of pre-compiled libraries and -programs. Therefore, Buildroot cannot import the sysroot of the -toolchain, as it would contain hundreds of megabytes of pre-compiled -libraries that are normally built by Buildroot. - -We also do not support using the distribution toolchain (i.e. the gcc -/binutils/C library installed by your distribution) as the toolchain -to build software for the target. This is because your distribution -toolchain is not a "pure" toolchain (i.e. only with the C/C++ -library), so we cannot import it properly into the Buildroot build -environment. So even if you are building a system for a x86 or x86_64 -target, you have to generate a cross-compilation toolchain with -Buildroot or crosstool-NG. - -If you want to generate a custom toolchain for your project, that can -be used as an external toolchain in Buildroot, our recommendation is -definitely to build it with crosstool-NG [http://crosstool-ng.org]. -We recommend to build the toolchain separately from Buildroot, and -then import it in Buildroot using the external toolchain backend. - -Advantages of this backend: - - * Allows to use well-known and well-tested cross-compilation - toolchains. - * Avoids the build time of the cross-compilation toolchain, which - is often very significant in the overall build time of an - embedded Linux system. - -Drawbacks of this backend: - - * If your pre-built external toolchain has a bug, may be hard to - get a fix from the toolchain vendor, unless you build your - external toolchain by yourself using Crosstool-NG. - -6.1.2.1. External toolchain wrapper - -When using an external toolchain, Buildroot generates a wrapper -program, that transparently passes the appropriate options (according -to the configuration) to the external toolchain programs. In case you -need to debug this wrapper to check exactly what arguments are -passed, you can set the environment variable BR2_DEBUG_WRAPPER to -either one of: - - * 0, empty or not set: no debug - * 1: trace all arguments on a single line - * 2: trace one argument per line - -6.2. /dev management - -On a Linux system, the /dev directory contains special files, called -device files, that allow userspace applications to access the -hardware devices managed by the Linux kernel. Without these device -files, your userspace applications would not be able to use the -hardware devices, even if they are properly recognized by the Linux -kernel. - -Under System configuration, /dev management, Buildroot offers four -different solutions to handle the /dev directory : - - * The first solution is Static using device table. This is the old - classical way of handling device files in Linux. With this - method, the device files are persistently stored in the root - filesystem (i.e. they persist across reboots), and there is - nothing that will automatically create and remove those device - files when hardware devices are added or removed from the system. - Buildroot therefore creates a standard set of device files using - a device table, the default one being stored in system/ - device_table_dev.txt in the Buildroot source code. This file is - processed when Buildroot generates the final root filesystem - image, and the device files are therefore not visible in the - output/target directory. The BR2_ROOTFS_STATIC_DEVICE_TABLE - option allows to change the default device table used by - Buildroot, or to add an additional device table, so that - additional device files are created by Buildroot during the - build. So, if you use this method, and a device file is missing - in your system, you can for example create a board// - /device_table_dev.txt file that contains the - description of your additional device files, and then you can set - BR2_ROOTFS_STATIC_DEVICE_TABLE to system/device_table_dev.txt - board///device_table_dev.txt. For more - details about the format of the device table file, see - Chapter 23, Makedev syntax documentation. - * The second solution is Dynamic using devtmpfs only. devtmpfs is a - virtual filesystem inside the Linux kernel that has been - introduced in kernel 2.6.32 (if you use an older kernel, it is - not possible to use this option). When mounted in /dev, this - virtual filesystem will automatically make device files appear - and disappear as hardware devices are added and removed from the - system. This filesystem is not persistent across reboots: it is - filled dynamically by the kernel. Using devtmpfs requires the - following kernel configuration options to be enabled: - CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT. When Buildroot is in - charge of building the Linux kernel for your embedded device, it - makes sure that those two options are enabled. However, if you - build your Linux kernel outside of Buildroot, then it is your - responsibility to enable those two options (if you fail to do so, - your Buildroot system will not boot). - * The third solution is Dynamic using devtmpfs + mdev. This method - also relies on the devtmpfs virtual filesystem detailed above (so - the requirement to have CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT - enabled in the kernel configuration still apply), but adds the - mdev userspace utility on top of it. mdev is a program part of - BusyBox that the kernel will call every time a device is added or - removed. Thanks to the /etc/mdev.conf configuration file, mdev - can be configured to for example, set specific permissions or - ownership on a device file, call a script or application whenever - a device appears or disappear, etc. Basically, it allows - userspace to react on device addition and removal events. mdev - can for example be used to automatically load kernel modules when - devices appear on the system. mdev is also important if you have - devices that require a firmware, as it will be responsible for - pushing the firmware contents to the kernel. mdev is a - lightweight implementation (with fewer features) of udev. For - more details about mdev and the syntax of its configuration file, - see http://git.busybox.net/busybox/tree/docs/mdev.txt. - * The fourth solution is Dynamic using devtmpfs + eudev. This - method also relies on the devtmpfs virtual filesystem detailed - above, but adds the eudev userspace daemon on top of it. eudev is - a daemon that runs in the background, and gets called by the - kernel when a device gets added or removed from the system. It is - a more heavyweight solution than mdev, but provides higher - flexibility. eudev is a standalone version of udev, the original - userspace daemon used in most desktop Linux distributions, which - is now part of Systemd. For more details, see http:// - en.wikipedia.org/wiki/Udev. - -The Buildroot developers recommendation is to start with the Dynamic -using devtmpfs only solution, until you have the need for userspace -to be notified when devices are added/removed, or if firmwares are -needed, in which case Dynamic using devtmpfs + mdev is usually a good -solution. - -Note that if systemd is chosen as init system, /dev management will -be performed by the udev program provided by systemd. - -6.3. init system - -The init program is the first userspace program started by the kernel -(it carries the PID number 1), and is responsible for starting the -userspace services and programs (for example: web server, graphical -applications, other network servers, etc.). - -Buildroot allows to use three different types of init systems, which -can be chosen from System configuration, Init system: - - * The first solution is BusyBox. Amongst many programs, BusyBox has - an implementation of a basic init program, which is sufficient - for most embedded systems. Enabling the BR2_INIT_BUSYBOX will - ensure BusyBox will build and install its init program. This is - the default solution in Buildroot. The BusyBox init program will - read the /etc/inittab file at boot to know what to do. The syntax - of this file can be found in http://git.busybox.net/busybox/tree/ - examples/inittab (note that BusyBox inittab syntax is special: do - not use a random inittab documentation from the Internet to learn - about BusyBox inittab). The default inittab in Buildroot is - stored in system/skeleton/etc/inittab. Apart from mounting a few - important filesystems, the main job the default inittab does is - to start the /etc/init.d/rcS shell script, and start a getty - program (which provides a login prompt). - * The second solution is systemV. This solution uses the old - traditional sysvinit program, packed in Buildroot in package/ - sysvinit. This was the solution used in most desktop Linux - distributions, until they switched to more recent alternatives - such as Upstart or Systemd. sysvinit also works with an inittab - file (which has a slightly different syntax than the one from - BusyBox). The default inittab installed with this init solution - is located in package/sysvinit/inittab. - * The third solution is systemd. systemd is the new generation init - system for Linux. It does far more than traditional init - programs: aggressive parallelization capabilities, uses socket - and D-Bus activation for starting services, offers on-demand - starting of daemons, keeps track of processes using Linux control - groups, supports snapshotting and restoring of the system state, - etc. systemd will be useful on relatively complex embedded - systems, for example the ones requiring D-Bus and services - communicating between each other. It is worth noting that systemd - brings a fairly big number of large dependencies: dbus, udev and - more. For more details about systemd, see http:// - www.freedesktop.org/wiki/Software/systemd. - -The solution recommended by Buildroot developers is to use the -BusyBox init as it is sufficient for most embedded systems. systemd -can be used for more complex situations. - - ---------------------------------------------------------------------- - -^[3] This terminology differs from what is used by GNU configure, -where the host is the machine on which the application will run -(which is usually the same as target) - -Chapter 7. Configuration of other components - -Before attempting to modify any of the components below, make sure -you have already configured Buildroot itself, and have enabled the -corresponding package. - -BusyBox - - If you already have a BusyBox configuration file, you can - directly specify this file in the Buildroot configuration, using - BR2_PACKAGE_BUSYBOX_CONFIG. Otherwise, Buildroot will start from - a default BusyBox configuration file. - - To make subsequent changes to the configuration, use make - busybox-menuconfig to open the BusyBox configuration editor. - - It is also possible to specify a BusyBox configuration file - through an environment variable, although this is not - recommended. Refer to Section 8.6, “Environment variables” for - more details. - -uClibc - Configuration of uClibc is done in the same way as for BusyBox. - The configuration variable to specify an existing configuration - file is BR2_UCLIBC_CONFIG. The command to make subsequent changes - is make uclibc-menuconfig. -Linux kernel - - If you already have a kernel configuration file, you can directly - specify this file in the Buildroot configuration, using - BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG. - - If you do not yet have a kernel configuration file, you can - either start by specifying a defconfig in the Buildroot - configuration, using BR2_LINUX_KERNEL_USE_DEFCONFIG, or start by - creating an empty file and specifying it as custom configuration - file, using BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG. - - To make subsequent changes to the configuration, use make - linux-menuconfig to open the Linux configuration editor. - -Barebox - Configuration of Barebox is done in the same way as for the Linux - kernel. The corresponding configuration variables are - BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG and - BR2_TARGET_BAREBOX_USE_DEFCONFIG. To open the configuration - editor, use make barebox-menuconfig. -U-Boot - Configuration of U-Boot (version 2015.04 or newer) is done in the - same way as for the Linux kernel. The corresponding configuration - variables are BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG and - BR2_TARGET_UBOOT_USE_DEFCONFIG. To open the configuration editor, - use make uboot-menuconfig. - -Chapter 8. General Buildroot usage - -8.1. make tips - -This is a collection of tips that help you make the most of -Buildroot. - -Display all commands executed by make:  - - $ make V=1 - -Display the list of boards with a defconfig:  - - $ make list-defconfigs - -Display all available targets:  - - $ make help - -Not all targets are always available, some settings in the .config -file may hide some targets: - - * busybox-menuconfig only works when busybox is enabled; - * linux-menuconfig and linux-savedefconfig only work when linux is - enabled; - * uclibc-menuconfig is only available when the uClibc C library is - selected in the internal toolchain backend; - * barebox-menuconfig and barebox-savedefconfig only work when the - barebox bootloader is enabled. - * uboot-menuconfig and uboot-savedefconfig only work when the - U-Boot bootloader is enabled. - -Cleaning: Explicit cleaning is required when any of the architecture -or toolchain configuration options are changed. - -To delete all build products (including build directories, host, -staging and target trees, the images and the toolchain): - - $ make clean - -Generating the manual: The present manual sources are located in the -docs/manual directory. To generate the manual: - - $ make manual-clean - $ make manual - -The manual outputs will be generated in output/docs/manual. - -Notes - - * A few tools are required to build the documentation (see: - Section 2.2, “Optional packages”). - -Resetting Buildroot for a new target: To delete all build products as -well as the configuration: - - $ make distclean - -Notes. If ccache is enabled, running make clean or distclean does not -empty the compiler cache used by Buildroot. To delete it, refer to -Section 8.12.3, “Using ccache in Buildroot”. - -Dumping the internal make variables: One can dump all the variables -known to make, along with their values: - - $ make -s printvars - VARIABLE=value_of_variable - ... - -It is possible to tweak the output using some variables: - - * VARS will limit the listing to variables which names match the - specified make-pattern - * QUOTED_VARS, if set to YES, will single-quote the value - * RAW_VARS, if set to YES, will print the unexpanded value - -For example: - - $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES - BUSYBOX_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_ALL_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_PATCH_DEPENDENCIES= - BUSYBOX_RDEPENDENCIES=ncurses util-linux - - $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES QUOTED_VARS=YES - BUSYBOX_DEPENDENCIES='skeleton toolchain' - BUSYBOX_FINAL_ALL_DEPENDENCIES='skeleton toolchain' - BUSYBOX_FINAL_DEPENDENCIES='skeleton toolchain' - BUSYBOX_FINAL_PATCH_DEPENDENCIES='' - BUSYBOX_RDEPENDENCIES='ncurses util-linux' - - $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES RAW_VARS=YES - BUSYBOX_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_ALL_DEPENDENCIES=$(sort $(BUSYBOX_FINAL_DEPENDENCIES) $(BUSYBOX_FINAL_PATCH_DEPENDENCIES)) - BUSYBOX_FINAL_DEPENDENCIES=$(sort $(BUSYBOX_DEPENDENCIES)) - BUSYBOX_FINAL_PATCH_DEPENDENCIES=$(sort $(BUSYBOX_PATCH_DEPENDENCIES)) - BUSYBOX_RDEPENDENCIES=ncurses util-linux - -The output of quoted variables can be reused in shell scripts, for -example: - - $ eval $(make -s printvars VARS=BUSYBOX_DEPENDENCIES QUOTED_VARS=YES) - $ echo $BUSYBOX_DEPENDENCIES - skeleton toolchain - -8.2. Understanding when a full rebuild is necessary - -Buildroot does not attempt to detect what parts of the system should -be rebuilt when the system configuration is changed through make -menuconfig, make xconfig or one of the other configuration tools. In -some cases, Buildroot should rebuild the entire system, in some -cases, only a specific subset of packages. But detecting this in a -completely reliable manner is very difficult, and therefore the -Buildroot developers have decided to simply not attempt to do this. - -Instead, it is the responsibility of the user to know when a full -rebuild is necessary. As a hint, here are a few rules of thumb that -can help you understand how to work with Buildroot: - - * When the target architecture configuration is changed, a complete - rebuild is needed. Changing the architecture variant, the binary - format or the floating point strategy for example has an impact - on the entire system. - * When the toolchain configuration is changed, a complete rebuild - generally is needed. Changing the toolchain configuration often - involves changing the compiler version, the type of C library or - its configuration, or some other fundamental configuration item, - and these changes have an impact on the entire system. - * When an additional package is added to the configuration, a full - rebuild is not necessarily needed. Buildroot will detect that - this package has never been built, and will build it. However, if - this package is a library that can optionally be used by packages - that have already been built, Buildroot will not automatically - rebuild those. Either you know which packages should be rebuilt, - and you can rebuild them manually, or you should do a full - rebuild. For example, let’s suppose you have built a system with - the ctorrent package, but without openssl. Your system works, but - you realize you would like to have SSL support in ctorrent, so - you enable the openssl package in Buildroot configuration and - restart the build. Buildroot will detect that openssl should be - built and will be build it, but it will not detect that ctorrent - should be rebuilt to benefit from openssl to add OpenSSL support. - You will either have to do a full rebuild, or rebuild ctorrent - itself. - * When a package is removed from the configuration, Buildroot does - not do anything special. It does not remove the files installed - by this package from the target root filesystem or from the - toolchain sysroot. A full rebuild is needed to get rid of this - package. However, generally you don’t necessarily need this - package to be removed right now: you can wait for the next lunch - break to restart the build from scratch. - * When the sub-options of a package are changed, the package is not - automatically rebuilt. After making such changes, rebuilding only - this package is often sufficient, unless enabling the package - sub-option adds some features to the package that are useful for - another package which has already been built. Again, Buildroot - does not track when a package should be rebuilt: once a package - has been built, it is never rebuilt unless explicitly told to do - so. - * When a change to the root filesystem skeleton is made, a full - rebuild is needed. However, when changes to the root filesystem - overlay, a post-build script or a post-image script are made, - there is no need for a full rebuild: a simple make invocation - will take the changes into account. - -Generally speaking, when you’re facing a build error and you’re -unsure of the potential consequences of the configuration changes -you’ve made, do a full rebuild. If you get the same build error, then -you are sure that the error is not related to partial rebuilds of -packages, and if this error occurs with packages from the official -Buildroot, do not hesitate to report the problem! As your experience -with Buildroot progresses, you will progressively learn when a full -rebuild is really necessary, and you will save more and more time. - -For reference, a full rebuild is achieved by running: - -$ make clean all - -8.3. Understanding how to rebuild packages - -One of the most common questions asked by Buildroot users is how to -rebuild a given package or how to remove a package without rebuilding -everything from scratch. - -Removing a package is unsupported by Buildroot without rebuilding -from scratch. This is because Buildroot doesn’t keep track of which -package installs what files in the output/staging and output/target -directories, or which package would be compiled differently depending -on the availability of another package. - -The easiest way to rebuild a single package from scratch is to remove -its build directory in output/build. Buildroot will then re-extract, -re-configure, re-compile and re-install this package from scratch. -You can ask buildroot to do this with the make -dirclean -command. - -On the other hand, if you only want to restart the build process of a -package from its compilation step, you can run make --rebuild, followed by make or make . It will restart the -compilation and installation of the package, but not from scratch: it -basically re-executes make and make install inside the package, so it -will only rebuild files that changed. - -If you want to restart the build process of a package from its -configuration step, you can run make -reconfigure, followed -by make or make . It will restart the configuration, -compilation and installation of the package. - -Internally, Buildroot creates so-called stamp files to keep track of -which build steps have been completed for each package. They are -stored in the package build directory, output/build/- -/ and are named .stamp_. The commands detailed -above simply manipulate these stamp files to force Buildroot to -restart a specific set of steps of a package build process. - -Further details about package special make targets are explained in -Section 8.12.5, “Package-specific make targets”. - -8.4. Offline builds - -If you intend to do an offline build and just want to download all -sources that you previously selected in the configurator (menuconfig, -nconfig, xconfig or gconfig), then issue: - - $ make source - -You can now disconnect or copy the content of your dl directory to -the build-host. - -8.5. Building out-of-tree - -As default, everything built by Buildroot is stored in the directory -output in the Buildroot tree. - -Buildroot also supports building out of tree with a syntax similar to -the Linux kernel. To use it, add O= to the make command -line: - - $ make O=/tmp/build - -Or: - - $ cd /tmp/build; make O=$PWD -C path/to/buildroot - -All the output files will be located under /tmp/build. If the O path -does not exist, Buildroot will create it. - -Note: the O path can be either an absolute or a relative path, but if -it’s passed as a relative path, it is important to note that it is -interpreted relative to the main Buildroot source directory, not the -current working directory. - -When using out-of-tree builds, the Buildroot .config and temporary -files are also stored in the output directory. This means that you -can safely run multiple builds in parallel using the same source tree -as long as they use unique output directories. - -For ease of use, Buildroot generates a Makefile wrapper in the output -directory - so after the first run, you no longer need to pass O=<…> -and -C <…>, simply run (in the output directory): - - $ make - -8.6. Environment variables - -Buildroot also honors some environment variables, when they are -passed to make or set in the environment: - - * HOSTCXX, the host C++ compiler to use - * HOSTCC, the host C compiler to use - * UCLIBC_CONFIG_FILE=, path to the uClibc - configuration file, used to compile uClibc, if an internal - toolchain is being built. Note that the uClibc configuration file - can also be set from the configuration interface, so through the - Buildroot .config file; this is the recommended way of setting - it. - * BUSYBOX_CONFIG_FILE=, path to the BusyBox - configuration file. Note that the BusyBox configuration file can - also be set from the configuration interface, so through the - Buildroot .config file; this is the recommended way of setting - it. - * BR2_CCACHE_DIR to override the directory where Buildroot stores - the cached files when using ccache. - * BR2_DL_DIR to override the directory in which Buildroot stores/ - retrieves downloaded files Note that the Buildroot download - directory can also be set from the configuration interface, so - through the Buildroot .config file. See Section 8.12.4, “Location - of downloaded packages” for more details on how you can set the - download directory. - * BR2_GRAPH_ALT, if set and non-empty, to use an alternate - color-scheme in build-time graphs - * BR2_GRAPH_OUT to set the filetype of generated graphs, either pdf - (the default), or png. - * BR2_GRAPH_DEPS_OPTS to pass extra options to the dependency - graph; see Section 8.8, “Graphing the dependencies between - packages” for the accepted options - * BR2_GRAPH_DOT_OPTS is passed verbatim as options to the dot - utility to draw the dependency graph. - -An example that uses config files located in the toplevel directory -and in your $HOME: - - $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config - -If you want to use a compiler other than the default gcc or g++ for -building helper-binaries on your host, then do - - $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD - -8.7. Dealing efficiently with filesystem images - -Filesystem images can get pretty big, depending on the filesystem you -choose, the number of packages, whether you provisioned free space… -Yet, some locations in the filesystems images may just be empty (e.g. -a long run of zeroes); such a file is called a sparse file. - -Most tools can handle sparse files efficiently, and will only store -or write those parts of a sparse file that are not empty. - -For example: - - * tar accepts the -S option to tell it to only store non-zero - blocks of sparse files: - - + tar cf archive.tar -S [files…] will efficiently store sparse - files in a tarball - + tar xf archive.tar -S will efficiently store sparse files - extracted from a tarball - * cp accepts the --sparse=WHEN option (WHEN is one of auto, never - or always): - - + cp --sparse=always source.file dest.file will make dest.file - a sparse file if source.file has long runs of zeroes - -Other tools may have similar options. Please consult their respective -man pages. - -You can use sparse files if you need to store the filesystem images -(e.g. to transfer from one machine to another), or if you need to -send them (e.g. to the Q&A team). - -Note however that flashing a filesystem image to a device while using -the sparse mode of dd may result in a broken filesystem (e.g. the -block bitmap of an ext2 filesystem may be corrupted; or, if you have -sparse files in your filesystem, those parts may not be all-zeroes -when read back). You should only use sparse files when handling files -on the build machine, not when transferring them to an actual device -that will be used on the target. - -8.8. Graphing the dependencies between packages - -One of Buildroot’s jobs is to know the dependencies between packages, -and make sure they are built in the right order. These dependencies -can sometimes be quite complicated, and for a given system, it is -often not easy to understand why such or such package was brought -into the build by Buildroot. - -In order to help understanding the dependencies, and therefore better -understand what is the role of the different components in your -embedded Linux system, Buildroot is capable of generating dependency -graphs. - -To generate a dependency graph of the full system you have compiled, -simply run: - -make graph-depends - -You will find the generated graph in output/graphs/graph-depends.pdf. - -If your system is quite large, the dependency graph may be too -complex and difficult to read. It is therefore possible to generate -the dependency graph just for a given package: - -make -graph-depends - -You will find the generated graph in output/graph/ --graph-depends.pdf. - -Note that the dependency graphs are generated using the dot tool from -the Graphviz project, which you must have installed on your system to -use this feature. In most distributions, it is available as the -graphviz package. - -By default, the dependency graphs are generated in the PDF format. -However, by passing the BR2_GRAPH_OUT environment variable, you can -switch to other output formats, such as PNG, PostScript or SVG. All -formats supported by the -T option of the dot tool are supported. - -BR2_GRAPH_OUT=svg make graph-depends - -The graph-depends behaviour can be controlled by setting options in -the BR2_GRAPH_DEPS_OPTS environment variable. The accepted options -are: - - * --depth N, -d N, to limit the dependency depth to N levels. The - default, 0, means no limit. - * --stop-on PKG, -s PKG, to stop the graph on the package PKG. PKG - can be an actual package name, a glob, the keyword virtual (to - stop on virtual packages), or the keyword host (to stop on host - packages). The package is still present on the graph, but its - dependencies are not. - * --exclude PKG, -x PKG, like --stop-on, but also omits PKG from - the graph. - * --transitive, --no-transitive, to draw (or not) the transitive - dependencies. The default is to not draw transitive dependencies. - * --colours R,T,H, the comma-separated list of colours to draw the - root package (R), the target packages (T) and the host packages - (H). Defaults to: lightblue,grey,gainsboro - -BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colours=red,green,blue' make graph-depends - -8.9. Graphing the build duration - -When the build of a system takes a long time, it is sometimes useful -to be able to understand which packages are the longest to build, to -see if anything can be done to speed up the build. In order to help -such build time analysis, Buildroot collects the build time of each -step of each package, and allows to generate graphs from this data. - -To generate the build time graph after a build, run: - -make graph-build - -This will generate a set of files in output/graphs : - - * build.hist-build.pdf, a histogram of the build time for each - package, ordered in the build order. - * build.hist-duration.pdf, a histogram of the build time for each - package, ordered by duration (longest first) - * build.hist-name.pdf, a histogram of the build time for each - package, order by package name. - * build.pie-packages.pdf, a pie chart of the build time per package - * build.pie-steps.pdf, a pie chart of the global time spent in each - step of the packages build process. - -This graph-build target requires the Python Matplotlib and Numpy -libraries to be installed (python-matplotlib and python-numpy on most -distributions), and also the argparse module if you’re using a Python -version older than 2.7 (python-argparse on most distributions). - -By default, the output format for the graph is PDF, but a different -format can be selected using the BR2_GRAPH_OUT environment variable. -The only other format supported is PNG: - -BR2_GRAPH_OUT=png make graph-build - -8.10. Graphing the filesystem size contribution of packages - -When your target system grows, it is sometimes useful to understand -how much each Buildroot package is contributing to the overall root -filesystem size. To help with such an analysis, Buildroot collects -data about files installed by each package and using this data, -generates a graph and CSV files detailing the size contribution of -the different packages. - -To generate these data after a build, run: - -make graph-size - -This will generate: - - * output/graphs/graph-size.pdf, a pie chart of the contribution of - each package to the overall root filesystem size - * output/graphs/package-size-stats.csv, a CSV file giving the size - contribution of each package to the overall root filesystem size - * output/graphs/file-size-stats.csv, a CSV file giving the size - contribution of each installed file to the package it belongs, - and to the overall filesystem size. - -This graph-size target requires the Python Matplotlib library to be -installed (python-matplotlib on most distributions), and also the -argparse module if you’re using a Python version older than 2.7 -(python-argparse on most distributions). - -Just like for the duration graph, a BR2_GRAPH_OUT environment is -supported to adjust the output file format. See Section 8.8, -“Graphing the dependencies between packages” for details about this -environment variable. - -Note. The collected filesystem size data is only meaningful after a -complete clean rebuild. Be sure to run make clean all before using -make graph-size. - -To compare the root filesystem size of two different Buildroot -compilations, for example after adjusting the configuration or when -switching to another Buildroot release, use the size-stats-compare -script. It takes two file-size-stats.csv files (produced by make -graph-size) as input. Refer to the help text of this script for more -details: - -utils/size-stats-compare -h - -8.11. Integration with Eclipse - -While a part of the embedded Linux developers like classical text -editors like Vim or Emacs, and command-line based interfaces, a -number of other embedded Linux developers like richer graphical -interfaces to do their development work. Eclipse being one of the -most popular Integrated Development Environment, Buildroot integrates -with Eclipse in order to ease the development work of Eclipse users. - -Our integration with Eclipse simplifies the compilation, remote -execution and remote debugging of applications and libraries that are -built on top of a Buildroot system. It does not integrate the -Buildroot configuration and build processes themselves with Eclipse. -Therefore, the typical usage model of our Eclipse integration would -be: - - * Configure your Buildroot system with make menuconfig, make - xconfig or any other configuration interface provided with - Buildroot. - * Build your Buildroot system by running make. - * Start Eclipse to develop, execute and debug your own custom - applications and libraries, that will rely on the libraries built - and installed by Buildroot. - -The Buildroot Eclipse integration installation process and usage is -described in detail at https://github.com/mbats/ -eclipse-buildroot-bundle/wiki. - -8.12. Advanced usage - -8.12.1. Using the generated toolchain outside Buildroot - -You may want to compile, for your target, your own programs or other -software that are not packaged in Buildroot. In order to do this you -can use the toolchain that was generated by Buildroot. - -The toolchain generated by Buildroot is located by default in output/ -host/. The simplest way to use it is to add output/host/bin/ to your -PATH environment variable and then to use ARCH-linux-gcc, -ARCH-linux-objdump, ARCH-linux-ld, etc. - -It is possible to relocate the toolchain, this allows to distribute -the toolchain to other developers to build applications for your -target. To achieve this: - - * run make sdk, which prepares the toolchain to be relocatable; - * tarball the contents of the output/host directory; - * distribute the resulting tarball. - -Once the toolchain is installed to the new location, the user must -run the relocate-sdk.sh script to make sure all paths are updated -with the new location. - -8.12.2. Using gdb in Buildroot - -Buildroot allows to do cross-debugging, where the debugger runs on -the build machine and communicates with gdbserver on the target to -control the execution of the program. - -To achieve this: - - * If you are using an internal toolchain (built by Buildroot), you - must enable BR2_PACKAGE_HOST_GDB, BR2_PACKAGE_GDB and - BR2_PACKAGE_GDB_SERVER. This ensures that both the cross gdb and - gdbserver get built, and that gdbserver gets installed to your - target. - * If you are using an external toolchain, you should enable - BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY, which will copy the - gdbserver included with the external toolchain to the target. If - your external toolchain does not have a cross gdb or gdbserver, - it is also possible to let Buildroot build them, by enabling the - same options as for the internal toolchain backend. - -Now, to start debugging a program called foo, you should run on the -target: - -gdbserver :2345 foo - -This will cause gdbserver to listen on TCP port 2345 for a connection -from the cross gdb. - -Then, on the host, you should start the cross gdb using the following -command line: - -/output/host/bin/-gdb -x /output/staging/usr/share/buildroot/gdbinit foo - -Of course, foo must be available in the current directory, built with -debugging symbols. Typically you start this command from the -directory where foo is built (and not from output/target/ as the -binaries in that directory are stripped). - -The /output/staging/usr/share/buildroot/gdbinit file will -tell the cross gdb where to find the libraries of the target. - -Finally, to connect to the target from the cross gdb: - -(gdb) target remote :2345 - -8.12.3. Using ccache in Buildroot - -ccache [http://ccache.samba.org] is a compiler cache. It stores the -object files resulting from each compilation process, and is able to -skip future compilation of the same source file (with same compiler -and same arguments) by using the pre-existing object files. When -doing almost identical builds from scratch a number of times, it can -nicely speed up the build process. - -ccache support is integrated in Buildroot. You just have to enable -Enable compiler cache in Build options. This will automatically build -ccache and use it for every host and target compilation. - -The cache is located in $HOME/.buildroot-ccache. It is stored outside -of Buildroot output directory so that it can be shared by separate -Buildroot builds. If you want to get rid of the cache, simply remove -this directory. - -You can get statistics on the cache (its size, number of hits, -misses, etc.) by running make ccache-stats. - -The make target ccache-options and the CCACHE_OPTIONS variable -provide more generic access to the ccache. For example - -# set cache limit size -make CCACHE_OPTIONS="--max-size=5G" ccache-options - -# zero statistics counters -make CCACHE_OPTIONS="--zero-stats" ccache-options - -ccache makes a hash of the source files and of the compiler options. -If a compiler option is different, the cached object file will not be -used. Many compiler options, however, contain an absolute path to the -staging directory. Because of this, building in a different output -directory would lead to many cache misses. - -To avoid this issue, buildroot has the Use relative paths option -(BR2_CCACHE_USE_BASEDIR). This will rewrite all absolute paths that -point inside the output directory into relative paths. Thus, changing -the output directory no longer leads to cache misses. - -A disadvantage of the relative paths is that they also end up to be -relative paths in the object file. Therefore, for example, the -debugger will no longer find the file, unless you cd to the output -directory first. - -See the ccache manual’s section on "Compiling in different -directories" [https://ccache.samba.org/manual.html# -_compiling_in_different_directories] for more details about this -rewriting of absolute paths. - -8.12.4. Location of downloaded packages - -The various tarballs that are downloaded by Buildroot are all stored -in BR2_DL_DIR, which by default is the dl directory. If you want to -keep a complete version of Buildroot which is known to be working -with the associated tarballs, you can make a copy of this directory. -This will allow you to regenerate the toolchain and the target -filesystem with exactly the same versions. - -If you maintain several Buildroot trees, it might be better to have a -shared download location. This can be achieved by pointing the -BR2_DL_DIR environment variable to a directory. If this is set, then -the value of BR2_DL_DIR in the Buildroot configuration is overridden. -The following line should be added to <~/.bashrc>. - - export BR2_DL_DIR= - -The download location can also be set in the .config file, with the -BR2_DL_DIR option. Unlike most options in the .config file, this -value is overridden by the BR2_DL_DIR environment variable. - -8.12.5. Package-specific make targets - -Running make builds and installs that particular package -and its dependencies. - -For packages relying on the Buildroot infrastructure, there are -numerous special make targets that can be called independently like -this: - -make - - -The package build targets are (in the order they are executed): - -+------------------------------------------------------------+ -|command/target |Description | -|---------------+--------------------------------------------| -| source |Fetch the source (download the tarball, | -| |clone the source repository, etc) | -|---------------+--------------------------------------------| -| depends |Build and install all dependencies required | -| |to build the package | -|---------------+--------------------------------------------| -| extract |Put the source in the package build | -| |directory (extract the tarball, copy the | -| |source, etc) | -|---------------+--------------------------------------------| -| patch |Apply the patches, if any | -|---------------+--------------------------------------------| -| configure |Run the configure commands, if any | -|---------------+--------------------------------------------| -| build |Run the compilation commands | -|---------------+--------------------------------------------| -|install-staging|target package: Run the installation of the | -| |package in the staging directory, if | -| |necessary | -|---------------+--------------------------------------------| -|install-target |target package: Run the installation of the | -| |package in the target directory, if | -| |necessary | -|---------------+--------------------------------------------| -| install |target package: Run the 2 previous | -| |installation commands | -| | | -| |host package: Run the installation of the | -| |package in the host directory | -+------------------------------------------------------------+ - -Additionally, there are some other useful make targets: - -+------------------------------------------------------------+ -| command/ |Description | -| target | | -|-------------+----------------------------------------------| -|show-depends |Displays the dependencies required to build | -| |the package | -|-------------+----------------------------------------------| -|graph-depends|Generate a dependency graph of the package, in| -| |the context of the current Buildroot | -| |configuration. See this section Section 8.8, | -| |“Graphing the dependencies between packages” | -| |for more details about dependency graphs. | -|-------------+----------------------------------------------| -| dirclean |Remove the whole package build directory | -|-------------+----------------------------------------------| -| reinstall |Re-run the install commands | -|-------------+----------------------------------------------| -| rebuild |Re-run the compilation commands - this only | -| |makes sense when using the OVERRIDE_SRCDIR | -| |feature or when you modified a file directly | -| |in the build directory | -|-------------+----------------------------------------------| -| reconfigure |Re-run the configure commands, then rebuild - | -| |this only makes sense when using the | -| |OVERRIDE_SRCDIR feature or when you modified a| -| |file directly in the build directory | -+------------------------------------------------------------+ - -8.12.6. Using Buildroot during development - -The normal operation of Buildroot is to download a tarball, extract -it, configure, compile and install the software component found -inside this tarball. The source code is extracted in output/build/ --, which is a temporary directory: whenever make -clean is used, this directory is entirely removed, and re-created at -the next make invocation. Even when a Git or Subversion repository is -used as the input for the package source code, Buildroot creates a -tarball out of it, and then behaves as it normally does with -tarballs. - -This behavior is well-suited when Buildroot is used mainly as an -integration tool, to build and integrate all the components of an -embedded Linux system. However, if one uses Buildroot during the -development of certain components of the system, this behavior is not -very convenient: one would instead like to make a small change to the -source code of one package, and be able to quickly rebuild the system -with Buildroot. - -Making changes directly in output/build/- is not an -appropriate solution, because this directory is removed on make -clean. - -Therefore, Buildroot provides a specific mechanism for this use case: -the _OVERRIDE_SRCDIR mechanism. Buildroot reads an override -file, which allows the user to tell Buildroot the location of the -source for certain packages. By default this override file is named -local.mk and located in the top directory of the Buildroot source -tree, but a different location can be specified through the -BR2_PACKAGE_OVERRIDE_FILE configuration option. - -In this override file, Buildroot expects to find lines of the form: - -_OVERRIDE_SRCDIR = /path/to/pkg1/sources -_OVERRIDE_SRCDIR = /path/to/pkg2/sources - -For example: - -LINUX_OVERRIDE_SRCDIR = /home/bob/linux/ -BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/ - -When Buildroot finds that for a given package, an -_OVERRIDE_SRCDIR has been defined, it will no longer attempt to -download, extract and patch the package. Instead, it will directly -use the source code available in the specified directory and make -clean will not touch this directory. This allows to point Buildroot -to your own directories, that can be managed by Git, Subversion, or -any other version control system. To achieve this, Buildroot will use -rsync to copy the source code of the component from the specified -_OVERRIDE_SRCDIR to output/build/-custom/. - -This mechanism is best used in conjunction with the make --rebuild and make -reconfigure targets. A make -rebuild all -sequence will rsync the source code from _OVERRIDE_SRCDIR to -output/build/-custom (thanks to rsync, only the modified -files are copied), and restart the build process of just this -package. - -In the example of the linux package above, the developer can then -make a source code change in /home/bob/linux and then run: - -make linux-rebuild all - -and in a matter of seconds gets the updated Linux kernel image in -output/images. Similarly, a change can be made to the BusyBox source -code in /home/bob/busybox, and after: - -make busybox-rebuild all - -the root filesystem image in output/images contains the updated -BusyBox. - -Chapter 9. Project-specific customization - -Typical actions you may need to perform for a given project are: - - * configuring Buildroot (including build options and toolchain, - bootloader, kernel, package and filesystem image type selection) - * configuring other components, like the Linux kernel and BusyBox - * customizing the generated target filesystem - - + adding or overwriting files on the target filesystem (using - BR2_ROOTFS_OVERLAY) - + modifying or deleting files on the target filesystem (using - BR2_ROOTFS_POST_BUILD_SCRIPT) - + running arbitrary commands prior to generating the filesystem - image (using BR2_ROOTFS_POST_BUILD_SCRIPT) - + setting file permissions and ownership (using - BR2_ROOTFS_DEVICE_TABLE) - + adding custom devices nodes (using - BR2_ROOTFS_STATIC_DEVICE_TABLE) - * adding custom user accounts (using BR2_ROOTFS_USERS_TABLES) - * running arbitrary commands after generating the filesystem image - (using BR2_ROOTFS_POST_IMAGE_SCRIPT) - * adding project-specific patches to some packages (using - BR2_GLOBAL_PATCH_DIR) - * adding project-specific packages - -An important note regarding such project-specific customizations: -please carefully consider which changes are indeed project-specific -and which changes are also useful to developers outside your project. -The Buildroot community highly recommends and encourages the -upstreaming of improvements, packages and board support to the -official Buildroot project. Of course, it is sometimes not possible -or desirable to upstream because the changes are highly specific or -proprietary. - -This chapter describes how to make such project-specific -customizations in Buildroot and how to store them in a way that you -can build the same image in a reproducible way, even after running -make clean. By following the recommended strategy, you can even use -the same Buildroot tree to build multiple distinct projects! - -9.1. Recommended directory structure - -When customizing Buildroot for your project, you will be creating one -or more project-specific files that need to be stored somewhere. -While most of these files could be placed in any location as their -path is to be specified in the Buildroot configuration, the Buildroot -developers recommend a specific directory structure which is -described in this section. - -Orthogonal to this directory structure, you can choose where you -place this structure itself: either inside the Buildroot tree, or -outside of it using a br2-external tree. Both options are valid, the -choice is up to you. - -+-- board/ -| +-- / -| +-- / -| +-- linux.config -| +-- busybox.config -| +-- -| +-- post_build.sh -| +-- post_image.sh -| +-- rootfs_overlay/ -| | +-- etc/ -| | +-- -| +-- patches/ -| +-- foo/ -| | +-- -| +-- libbar/ -| +-- -| -+-- configs/ -| +-- _defconfig -| -+-- package/ -| +-- / -| +-- Config.in (if not using a br2-external tree) -| +-- .mk (if not using a br2-external tree) -| +-- package1/ -| | +-- Config.in -| | +-- package1.mk -| +-- package2/ -| +-- Config.in -| +-- package2.mk -| -+-- Config.in (if using a br2-external tree) -+-- external.mk (if using a br2-external tree) - -Details on the files shown above are given further in this chapter. - -Note: if you choose to place this structure outside of the Buildroot -tree but in a br2-external tree, the and possibly - components may be superfluous and can be left out. - -9.1.1. Implementing layered customizations - -It is quite common for a user to have several related projects that -partly need the same customizations. Instead of duplicating these -customizations for each project, it is recommended to use a layered -customization approach, as explained in this section. - -Almost all of the customization methods available in Buildroot, like -post-build scripts and root filesystem overlays, accept a -space-separated list of items. The specified items are always treated -in order, from left to right. By creating more than one such item, -one for the common customizations and another one for the really -project-specific customizations, you can avoid unnecessary -duplication. Each layer is typically embodied by a separate directory -inside board//. Depending on your projects, you could even -introduce more than two layers. - -An example directory structure for where a user has two customization -layers common and fooboard is: - -+-- board/ - +-- / - +-- common/ - | +-- post_build.sh - | +-- rootfs_overlay/ - | | +-- ... - | +-- patches/ - | +-- ... - | - +-- fooboard/ - +-- linux.config - +-- busybox.config - +-- - +-- post_build.sh - +-- rootfs_overlay/ - | +-- ... - +-- patches/ - +-- ... - -For example, if the user has the BR2_GLOBAL_PATCH_DIR configuration -option set as: - -BR2_GLOBAL_PATCH_DIR="board//common/patches board//fooboard/patches" - -then first the patches from the common layer would be applied, -followed by the patches from the fooboard layer. - -9.2. Keeping customizations outside of Buildroot - -As already briefly mentioned in Section 9.1, “Recommended directory -structure”, you can place project-specific customizations in two -locations: - - * directly within the Buildroot tree, typically maintaining them - using branches in a version control system so that upgrading to a - newer Buildroot release is easy. - * outside of the Buildroot tree, using the br2-external mechanism. - This mechanism allows to keep package recipes, board support and - configuration files outside of the Buildroot tree, while still - having them nicely integrated in the build logic. We call this - location a br2-external tree. This section explains how to use - the br2-external mechanism and what to provide in a br2-external - tree. - -One can tell Buildroot to use one or more br2-external trees by -setting the BR2_EXTERNAL make variable set to the path(s) of the -br2-external tree(s) to use. It can be passed to any Buildroot make -invocation. It is automatically saved in the hidden .br-external.mk -file in the output directory. Thanks to this, there is no need to -pass BR2_EXTERNAL at every make invocation. It can however be changed -at any time by passing a new value, and can be removed by passing an -empty value. - -Note. The path to a br2-external tree can be either absolute or -relative. If it is passed as a relative path, it is important to note -that it is interpreted relative to the main Buildroot source -directory, not to the Buildroot output directory. - -Note: If using an br2-external tree from before Buildroot 2016.11, -you need to convert it before you can use it with Buildroot 2016.11 -onward. See Section 25.1, “Migrating to 2016.11” for help on doing -so. - -Some examples: - -buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig - -From now on, definitions from the /path/to/foo br2-external tree will -be used: - -buildroot/ $ make -buildroot/ $ make legal-info - -We can switch to another br2-external tree at any time: - -buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig - -We can also use multiple br2-external trees: - -buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig - -Or disable the usage of any br2-external tree: - -buildroot/ $ make BR2_EXTERNAL= xconfig - -9.2.1. Layout of a br2-external tree - -A br2-external tree must contain at least those three files, -described in the following chapters: - - * external.desc - * external.mk - * Config.in - -Apart from those mandatory files, there may be additional and -optional content that may be present in a br2-external tree, like the -configs/ directory. They are described in the following chapters as -well. - -A complete example br2-external tree layout is also described later. - -9.2.1.1. The external.desc file - -That file describes the br2-external tree: the name and description -for that br2-external tree. - -The format for this file is line based, with each line starting by a -keyword, followed by a colon and one or more spaces, followed by the -value assigned to that keyword. There are two keywords currently -recognised: - - * name, mandatory, defines the name for that br2-external tree. - That name must only use ASCII characters in the set [A-Za-z0-9_]; - any other character is forbidden. Buildroot sets the variable - BR2_EXTERNAL_$(NAME)_PATH to the absolute path of the - br2-external tree, so that you can use it to refer to your - br2-external tree. This variable is available both in Kconfig, so - you can use it to source your Kconfig files (see below) and in - the Makefile, so that you can use it to include other Makefiles - (see below) or refer to other files (like data files) from your - br2-external tree. - - Note: Since it is possible to use multiple br2-external trees at - once, this name is used by Buildroot to generate variables for - each of those trees. That name is used to identify your - br2-external tree, so try to come up with a name that really - describes your br2-external tree, in order for it to be - relatively unique, so that it does not clash with another name - from another br2-external tree, especially if you are planning on - somehow sharing your br2-external tree with third parties or - using br2-external trees from third parties. - - * desc, optional, provides a short description for that - br2-external tree. It shall fit on a single line, is mostly - free-form (see below), and is used when displaying information - about a br2-external tree (e.g. above the list of defconfig - files, or as the prompt in the menuconfig); as such, it should - relatively brief (40 chars is probably a good upper limit). The - description is available in the BR2_EXTERNAL_$(NAME)_DESC - variable. - -Examples of names and the corresponding BR2_EXTERNAL_$(NAME)_PATH -variables: - - * FOO → BR2_EXTERNAL_FOO_PATH - * BAR_42 → BR2_EXTERNAL_BAR_42_PATH - -In the following examples, it is assumed the name to be set to -BAR_42. - -Note: Both BR2_EXTERNAL_$(NAME)_PATH and BR2_EXTERNAL_$(NAME)_DESC -are available in the Kconfig files and the Makefiles. They are also -exported in the environment so are available in post-build, -post-image and in-fakeroot scripts. - -9.2.1.2. The Config.in and external.mk files - -Those files (which may each be empty) can be used to define package -recipes (i.e. foo/Config.in and foo/foo.mk like for packages bundled -in Buildroot itself) or other custom configuration options or make -logic. - -Buildroot automatically includes the Config.in from each br2-external -tree to make it appear in the top-level configuration menu, and -includes the external.mk from each br2-external tree with the rest of -the makefile logic. - -The main usage of this is to store package recipes. The recommended -way to do this is to write a Config.in file that looks like: - -source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in" -source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in" - -Then, have an external.mk file that looks like: - -include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) - -And then in $(BR2_EXTERNAL_BAR_42_PATH)/package/package1 and $ -(BR2_EXTERNAL_BAR_42_PATH)/package/package2 create normal Buildroot -package recipes, as explained in Chapter 17, Adding new packages to -Buildroot. If you prefer, you can also group the packages in -subdirectories called and adapt the above paths -accordingly. - -You can also define custom configuration options in Config.in and -custom make logic in external.mk. - -9.2.1.3. The configs/ directory - -One can store Buildroot defconfigs in the configs subdirectory of the -br2-external tree. Buildroot will automatically show them in the -output of make list-defconfigs and allow them to be loaded with the -normal make _defconfig command. They will be visible in the -make list-defconfigs output, below an External configs label that -contains the name of the br2-external tree they are defined in. - -Note: If a defconfig file is present in more than one br2-external -tree, then the one from the last br2-external tree is used. It is -thus possible to override a defconfig bundled in Buildroot or another -br2-external tree. - -9.2.1.4. Free-form content - -One can store all the board-specific configuration files there, such -as the kernel configuration, the root filesystem overlay, or any -other configuration file for which Buildroot allows to set the -location (by using the BR2_EXTERNAL_$(NAME)_PATH variable). For -example, you could set the paths to a global patch directory, to a -rootfs overlay and to the kernel configuration file as follows (e.g. -by running make menuconfig and filling in these options): - -BR2_GLOBAL_PATCH_DIR=$(BR2_EXTERNAL_BAR_42_PATH)/patches/ -BR2_ROOTFS_OVERLAY=$(BR2_EXTERNAL_BAR_42_PATH)/board//overlay/ -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=$(BR2_EXTERNAL_BAR_42_PATH)/board//kernel.config - -9.2.1.5. Example layout - -Here is an example layout using all features of br2-external (the -sample content is shown for the file above it, when it is relevant to -explain the br2-external tree; this is all entirely made up just for -the sake of illustration, of course): - -/path/to/br2-ext-tree/ - |- external.desc - | |name: BAR_42 - | |desc: Example br2-external tree - | `---- - | - |- Config.in - | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in" - | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in" - | | - | |config BAR_42_FLASH_ADDR - | | hex "my-board flash address" - | | default 0x10AD - | `---- - | - |- external.mk - | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) - | | - | |flash-my-board: - | | $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \ - | | --image $(BINARIES_DIR)/image.bin \ - | | --address $(BAR_42_FLASH_ADDR) - | `---- - | - |- package/pkg-1/Config.in - | |config BR2_PACKAGE_PKG_1 - | | bool "pkg-1" - | | help - | | Some help about pkg-1 - | `---- - |- package/pkg-1/pkg-1.hash - |- package/pkg-1/pkg-1.mk - | |PKG_1_VERSION = 1.2.3 - | |PKG_1_SITE = /some/where/to/get/pkg-1 - | |PKG_1_LICENSE = blabla - | | - | |define PKG_1_INSTALL_INIT_SYSV - | | $(INSTALL) -D -m 0755 $(PKG_1_PKGDIR)/S99my-daemon \ - | | $(TARGET_DIR)/etc/init.d/S99my-daemon - | |endef - | | - | |$(eval $(autotools-package)) - | `---- - |- package/pkg-1/S99my-daemon - | - |- package/pkg-2/Config.in - |- package/pkg-2/pkg-2.hash - |- package/pkg-2/pkg-2.mk - | - |- configs/my-board_defconfig - | |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/" - | |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/" - | |BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/post-image.sh" - | |BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/kernel.config" - | `---- - | - |- patches/linux/0001-some-change.patch - |- patches/linux/0002-some-other-change.patch - |- patches/busybox/0001-fix-something.patch - | - |- board/my-board/kernel.config - |- board/my-board/overlay/var/www/index.html - |- board/my-board/overlay/var/www/my.css - |- board/my-board/flash-image - `- board/my-board/post-image.sh - |#!/bin/sh - |generate-my-binary-image \ - | --root ${BINARIES_DIR}/rootfs.tar \ - | --kernel ${BINARIES_DIR}/zImage \ - | --dtb ${BINARIES_DIR}/my-board.dtb \ - | --output ${BINARIES_DIR}/image.bin - `---- - -The br2-external tree will then be visible in the menuconfig (with -the layout expanded): - -External options ---> - *** Example br2-external tree (in /path/to/br2-ext-tree/) - [ ] pkg-1 - [ ] pkg-2 - (0x10AD) my-board flash address - -If you are using more than one br2-external tree, it would look like -(with the layout expanded and the second one with name FOO_27 but no -desc: field in external.desc): - -External options ---> - Example br2-external tree ---> - *** Example br2-external tree (in /path/to/br2-ext-tree) - [ ] pkg-1 - [ ] pkg-2 - (0x10AD) my-board flash address - FOO_27 ---> - *** FOO_27 (in /path/to/another-br2-ext) - [ ] foo - [ ] bar - -9.3. Storing the Buildroot configuration - -The Buildroot configuration can be stored using the command make -savedefconfig. - -This strips the Buildroot configuration down by removing -configuration options that are at their default value. The result is -stored in a file called defconfig. If you want to save it in another -place, change the BR2_DEFCONFIG option in the Buildroot configuration -itself, or call make with make savedefconfig BR2_DEFCONFIG= -. - -The recommended place to store this defconfig is configs/ -_defconfig. If you follow this recommendation, the configuration will -be listed in make help and can be set again by running make -_defconfig. - -Alternatively, you can copy the file to any other place and rebuild -with make defconfig BR2_DEFCONFIG=. - -9.4. Storing the configuration of other components - -The configuration files for BusyBox, the Linux kernel, Barebox, -U-Boot and uClibc should be stored as well if changed. For each of -these components, a Buildroot configuration option exists to point to -an input configuration file, e.g. -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. To store their configuration, -set these configuration options to a path where you want to save the -configuration files, and then use the helper targets described below -to actually store the configuration. - -As explained in Section 9.1, “Recommended directory structure”, the -recommended path to store these configuration files is board/ -//foo.config. - -Make sure that you create a configuration file before changing the -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE etc. options. Otherwise, -Buildroot will try to access this config file, which doesn’t exist -yet, and will fail. You can create the configuration file by running -make linux-menuconfig etc. - -Buildroot provides a few helper targets to make the saving of -configuration files easier. - - * make linux-update-defconfig saves the linux configuration to the - path specified by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. It - simplifies the config file by removing default values. However, - this only works with kernels starting from 2.6.33. For earlier - kernels, use make linux-update-config. - * make busybox-update-config saves the busybox configuration to the - path specified by BR2_PACKAGE_BUSYBOX_CONFIG. - * make uclibc-update-config saves the uClibc configuration to the - path specified by BR2_UCLIBC_CONFIG. - * make barebox-update-defconfig saves the barebox configuration to - the path specified by BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE. - * make uboot-update-defconfig saves the U-Boot configuration to the - path specified by BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE. - * For at91bootstrap3, no helper exists so you have to copy the - config file manually to - BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE. - -9.5. Customizing the generated target filesystem - -Besides changing the configuration through make *config, there are a -few other ways to customize the resulting target filesystem. - -The two recommended methods, which can co-exist, are root filesystem -overlay(s) and post build script(s). - -Root filesystem overlays (BR2_ROOTFS_OVERLAY) - - A filesystem overlay is a tree of files that is copied directly - over the target filesystem after it has been built. To enable - this feature, set config option BR2_ROOTFS_OVERLAY (in the System - configuration menu) to the root of the overlay. You can even - specify multiple overlays, space-separated. If you specify a - relative path, it will be relative to the root of the Buildroot - tree. Hidden directories of version control systems, like .git, - .svn, .hg, etc., files called .empty and files ending in ~ are - excluded from the copy. - - As shown in Section 9.1, “Recommended directory structure”, the - recommended path for this overlay is board/// - rootfs-overlay. - -Post-build scripts (BR2_ROOTFS_POST_BUILD_SCRIPT) - - Post-build scripts are shell scripts called after Buildroot - builds all the selected software, but before the rootfs images - are assembled. To enable this feature, specify a space-separated - list of post-build scripts in config option - BR2_ROOTFS_POST_BUILD_SCRIPT (in the System configuration menu). - If you specify a relative path, it will be relative to the root - of the Buildroot tree. - - Using post-build scripts, you can remove or modify any file in - your target filesystem. You should, however, use this feature - with care. Whenever you find that a certain package generates - wrong or unneeded files, you should fix that package rather than - work around it with some post-build cleanup scripts. - - As shown in Section 9.1, “Recommended directory structure”, the - recommended path for this script is board/// - post_build.sh. - - The post-build scripts are run with the main Buildroot tree as - current working directory. The path to the target filesystem is - passed as the first argument to each script. If the config option - BR2_ROOTFS_POST_SCRIPT_ARGS is not empty, these arguments will be - passed to the script too. All the scripts will be passed the - exact same set of arguments, it is not possible to pass different - sets of arguments to each script. - - In addition, you may also use these environment variables: - - + BR2_CONFIG: the path to the Buildroot .config file - + HOST_DIR, STAGING_DIR, TARGET_DIR: see Section 17.5.2, - “generic-package reference” - + BUILD_DIR: the directory where packages are extracted and - built - + BINARIES_DIR: the place where all binary files (aka images) - are stored - + BASE_DIR: the base output directory - -Below three more methods of customizing the target filesystem are -described, but they are not recommended. - -Direct modification of the target filesystem - - For temporary modifications, you can modify the target filesystem - directly and rebuild the image. The target filesystem is - available under output/target/. After making your changes, run - make to rebuild the target filesystem image. - - This method allows you to do anything to the target filesystem, - but if you need to clean your Buildroot tree using make clean, - these changes will be lost. Such cleaning is necessary in several - cases, refer to Section 8.2, “Understanding when a full rebuild - is necessary” for details. This solution is therefore only useful - for quick tests: changes do not survive the make clean command. - Once you have validated your changes, you should make sure that - they will persist after a make clean, using a root filesystem - overlay or a post-build script. - -Custom target skeleton (BR2_ROOTFS_SKELETON_CUSTOM) - - The root filesystem image is created from a target skeleton, on - top of which all packages install their files. The skeleton is - copied to the target directory output/target before any package - is built and installed. The default target skeleton provides the - standard Unix filesystem layout and some basic init scripts and - configuration files. - - If the default skeleton (available under system/skeleton) does - not match your needs, you would typically use a root filesystem - overlay or post-build script to adapt it. However, if the default - skeleton is entirely different than what you need, using a custom - skeleton may be more suitable. - - To enable this feature, enable config option - BR2_ROOTFS_SKELETON_CUSTOM and set - BR2_ROOTFS_SKELETON_CUSTOM_PATH to the path of your custom - skeleton. Both options are available in the System configuration - menu. If you specify a relative path, it will be relative to the - root of the Buildroot tree. - - This method is not recommended because it duplicates the entire - skeleton, which prevents taking advantage of the fixes or - improvements brought to the default skeleton in later Buildroot - releases. - -Post-fakeroot scripts (BR2_ROOTFS_POST_FAKEROOT_SCRIPT) - - When aggregating the final images, some parts of the process - requires root rights: creating device nodes in /dev, setting - permissions or ownership to files and directories… To avoid - requiring actual root rights, Buildroot uses fakeroot to simulate - root rights. This is not a complete substitute for actually being - root, but is enough for what Buildroot needs. - - Post-fakeroot scripts are shell scripts that are called at the - end of the fakeroot phase, right before the filesystem image - generator is called. As such, they are called in the fakeroot - context. - - Post-fakeroot scripts can be useful in case you need to tweak the - filesystem to do modifications that are usually only available to - the root user. - - Note: It is recommended to use the existing mechanisms to set - file permissions or create entries in /dev (see Section 9.5.1, - “Setting file permissions and ownership and adding custom devices - nodes”) or to create users (see Section 9.6, “Adding custom user - accounts”) - - Note: The difference between post-build scripts (above) and - fakeroot scripts, is that post-build scripts are not called in - the fakeroot context. - - Note;. Using fakeroot is not an absolute substitute for actually - being root. fakeroot only ever fakes the file access rights and - types (regular, block-or-char device…) and uid/gid; these are - emulated in-memory. - -9.5.1. Setting file permissions and ownership and adding custom -devices nodes - -Sometimes it is needed to set specific permissions or ownership on -files or device nodes. For example, certain files may need to be -owned by root. Since the post-build scripts are not run as root, you -cannot do such changes from there unless you use an explicit fakeroot -from the post-build script. - -Instead, Buildroot provides support for so-called permission tables. -To use this feature, set config option BR2_ROOTFS_DEVICE_TABLE to a -space-separated list of permission tables, regular text files -following the makedev syntax Chapter 23, Makedev syntax documentation -. - -If you are using a static device table (i.e. not using devtmpfs, -mdev, or (e)udev) then you can add device nodes using the same -syntax, in so-called device tables. To use this feature, set config -option BR2_ROOTFS_STATIC_DEVICE_TABLE to a space-separated list of -device tables. - -As shown in Section 9.1, “Recommended directory structure”, the -recommended location for such files is board///. - -It should be noted that if the specific permissions or device nodes -are related to a specific application, you should set variables -FOO_PERMISSIONS and FOO_DEVICES in the package’s .mk file instead -(see Section 17.5.2, “generic-package reference”). - -9.6. Adding custom user accounts - -Sometimes it is needed to add specific users in the target system. To -cover this requirement, Buildroot provides support for so-called -users tables. To use this feature, set config option -BR2_ROOTFS_USERS_TABLES to a space-separated list of users tables, -regular text files following the makeusers syntax Chapter 24, -Makeusers syntax documentation. - -As shown in Section 9.1, “Recommended directory structure”, the -recommended location for such files is board///. - -It should be noted that if the custom users are related to a specific -application, you should set variable FOO_USERS in the package’s .mk -file instead (see Section 17.5.2, “generic-package reference”). - -9.7. Customization after the images have been created - -While post-build scripts (Section 9.5, “Customizing the generated -target filesystem”) are run before building the filesystem image, -kernel and bootloader, post-image scripts can be used to perform some -specific actions after all images have been created. - -Post-image scripts can for example be used to automatically extract -your root filesystem tarball in a location exported by your NFS -server, or to create a special firmware image that bundles your root -filesystem and kernel image, or any other custom action required for -your project. - -To enable this feature, specify a space-separated list of post-image -scripts in config option BR2_ROOTFS_POST_IMAGE_SCRIPT (in the System -configuration menu). If you specify a relative path, it will be -relative to the root of the Buildroot tree. - -Just like post-build scripts, post-image scripts are run with the -main Buildroot tree as current working directory. The path to the -images output directory is passed as the first argument to each -script. If the config option BR2_ROOTFS_POST_SCRIPT_ARGS is not -empty, these arguments will be passed to the script too. All the -scripts will be passed the exact same set of arguments, it is not -possible to pass different sets of arguments to each script. - -Again just like for the post-build scripts, the scripts have access -to the environment variables BR2_CONFIG, HOST_DIR, STAGING_DIR, -TARGET_DIR, BUILD_DIR, BINARIES_DIR and BASE_DIR. - -The post-image scripts will be executed as the user that executes -Buildroot, which should normally not be the root user. Therefore, any -action requiring root permissions in one of these scripts will -require special handling (usage of fakeroot or sudo), which is left -to the script developer. - -9.8. Adding project-specific patches - -It is sometimes useful to apply extra patches to packages - on top of -those provided in Buildroot. This might be used to support custom -features in a project, for example, or when working on a new -architecture. - -The BR2_GLOBAL_PATCH_DIR configuration option can be used to specify -a space separated list of one or more directories containing package -patches. - -For a specific version of a specific package -, patches are applied from BR2_GLOBAL_PATCH_DIR as -follows: - - 1. For every directory - - that exists in - BR2_GLOBAL_PATCH_DIR, a will be determined as - follows: - - + /// if the - directory exists. - + Otherwise, / if the directory - exists. - 2. Patches will then be applied from a as - follows: - - + If a series file exists in the package directory, then - patches are applied according to the series file; - + Otherwise, patch files matching *.patch are applied in - alphabetical order. So, to ensure they are applied in the - right order, it is highly recommended to name the patch files - like this: -.patch, where - refers to the apply order. - -For information about how patches are applied for a package, see -Section 18.2, “How patches are applied” - -The BR2_GLOBAL_PATCH_DIR option is the preferred method for -specifying a custom patch directory for packages. It can be used to -specify a patch directory for any package in buildroot. It should -also be used in place of the custom patch directory options that are -available for packages such as U-Boot and Barebox. By doing this, it -will allow a user to manage their patches from one top-level -directory. - -The exception to BR2_GLOBAL_PATCH_DIR being the preferred method for -specifying custom patches is BR2_LINUX_KERNEL_PATCH. -BR2_LINUX_KERNEL_PATCH should be used to specify kernel patches that -are available at an URL. Note: BR2_LINUX_KERNEL_PATCH specifies -kernel patches that are applied after patches available in -BR2_GLOBAL_PATCH_DIR, as it is done from a post-patch hook of the -Linux package. - -9.9. Adding project-specific packages - -In general, any new package should be added directly in the package -directory and submitted to the Buildroot upstream project. How to add -packages to Buildroot in general is explained in full detail in -Chapter 17, Adding new packages to Buildroot and will not be repeated -here. However, your project may need some proprietary packages that -cannot be upstreamed. This section will explain how you can keep such -project-specific packages in a project-specific directory. - -As shown in Section 9.1, “Recommended directory structure”, the -recommended location for project-specific packages is package/ -/. If you are using the br2-external tree feature (see -Section 9.2, “Keeping customizations outside of Buildroot”) the -recommended location is to put them in a sub-directory named package/ -in your br2-external tree. - -However, Buildroot will not be aware of the packages in this -location, unless we perform some additional steps. As explained in -Chapter 17, Adding new packages to Buildroot, a package in Buildroot -basically consists of two files: a .mk file (describing how to build -the package) and a Config.in file (describing the configuration -options for this package). - -Buildroot will automatically include the .mk files in first-level -subdirectories of the package directory (using the pattern package/*/ -*.mk). If we want Buildroot to include .mk files from deeper -subdirectories (like package//package1/) then we simply have -to add a .mk file in a first-level subdirectory that includes these -additional .mk files. Therefore, create a file package// -.mk with following contents (assuming you have only one -extra directory level below package//): - -include $(sort $(wildcard package//*/*.mk)) - -For the Config.in files, create a file package//Config.in -that includes the Config.in files of all your packages. An exhaustive -list has to be provided since wildcards are not supported in the -source command of kconfig. For example: - -source "package//package1/Config.in" -source "package//package2/Config.in" - -Include this new file package//Config.in from package/ -Config.in, preferably in a company-specific menu to make merges with -future Buildroot versions easier. - -If using a br2-external tree, refer to Section 9.2, “Keeping -customizations outside of Buildroot” for how to fill in those files. - -9.10. Quick guide to storing your project-specific customizations - -Earlier in this chapter, the different methods for making -project-specific customizations have been described. This section -will now summarize all this by providing step-by-step instructions to -storing your project-specific customizations. Clearly, the steps that -are not relevant to your project can be skipped. - - 1. make menuconfig to configure toolchain, packages and kernel. - 2. make linux-menuconfig to update the kernel config, similar for - other configuration like busybox, uclibc, … - 3. mkdir -p board// - 4. Set the following options to board/// - .config (as far as they are relevant): - - + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE - + BR2_PACKAGE_BUSYBOX_CONFIG - + BR2_UCLIBC_CONFIG - + BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE - + BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE - + BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE - 5. Write the configuration files: - - + make linux-update-defconfig - + make busybox-update-config - + make uclibc-update-config - + cp /build/at91bootstrap3-*/.config board/ - //at91bootstrap3.config - + make barebox-update-defconfig - + make uboot-update-defconfig - 6. Create board///rootfs-overlay/ and fill - it with additional files you need on your rootfs, e.g. board/ - //rootfs-overlay/etc/inittab. Set - BR2_ROOTFS_OVERLAY to board/// - rootfs-overlay. - 7. Create a post-build script board/// - post_build.sh. Set BR2_ROOTFS_POST_BUILD_SCRIPT to board/ - //post_build.sh - 8. If additional setuid permissions have to be set or device nodes - have to be created, create board/// - device_table.txt and add that path to BR2_ROOTFS_DEVICE_TABLE. - 9. If additional user accounts have to be created, create board/ - //users_table.txt and add that path to - BR2_ROOTFS_USERS_TABLES. -10. To add custom patches to certain packages, set - BR2_GLOBAL_PATCH_DIR to board///patches/ - and add your patches for each package in a subdirectory named - after the package. Each patch should be called - - -.patch. -11. Specifically for the Linux kernel, there also exists the option - BR2_LINUX_KERNEL_PATCH with as main advantage that it can also - download patches from a URL. If you do not need this, - BR2_GLOBAL_PATCH_DIR is preferred. U-Boot, Barebox, at91bootstrap - and at91bootstrap3 also have separate options, but these do not - provide any advantage over BR2_GLOBAL_PATCH_DIR and will likely - be removed in the future. -12. If you need to add project-specific packages, create package/ - / and place your packages in that directory. Create - an overall .mk file that includes the .mk files of - all your packages. Create an overall Config.in file that sources - the Config.in files of all your packages. Include this Config.in - file from Buildroot’s package/Config.in file. -13. make savedefconfig to save the buildroot configuration. -14. cp defconfig configs/_defconfig - -Chapter 10. Frequently Asked Questions & Troubleshooting - -10.1. The boot hangs after Starting network… - -If the boot process seems to hang after the following messages -(messages not necessarily exactly similar, depending on the list of -packages selected): - -Freeing init memory: 3972K -Initializing random number generator... done. -Starting network... -Starting dropbear sshd: generating rsa key... generating dsa key... OK - -then it means that your system is running, but didn’t start a shell -on the serial console. In order to have the system start a shell on -your serial console, you have to go into the Buildroot configuration, -in System configuration, modify Run a getty (login prompt) after boot -and set the appropriate port and baud rate in the getty options -submenu. This will automatically tune the /etc/inittab file of the -generated system so that a shell starts on the correct serial port. - -10.2. Why is there no compiler on the target? - -It has been decided that support for the native compiler on the -target would be stopped from the Buildroot-2012.11 release because: - - * this feature was neither maintained nor tested, and often broken; - * this feature was only available for Buildroot toolchains; - * Buildroot mostly targets small or very small target hardware with - limited resource onboard (CPU, ram, mass-storage), for which - compiling on the target does not make much sense; - * Buildroot aims at easing the cross-compilation, making native - compilation on the target unnecessary. - -If you need a compiler on your target anyway, then Buildroot is not -suitable for your purpose. In such case, you need a real distribution -and you should opt for something like: - - * openembedded [http://www.openembedded.org] - * yocto [https://www.yoctoproject.org] - * emdebian [http://www.emdebian.org] - * Fedora [https://fedoraproject.org/wiki/Architectures] - * openSUSE ARM [http://en.opensuse.org/Portal:ARM] - * Arch Linux ARM [http://archlinuxarm.org] - * … - -10.3. Why are there no development files on the target? - -Since there is no compiler available on the target (see Section 10.2, -“Why is there no compiler on the target?”), it does not make sense to -waste space with headers or static libraries. - -Therefore, those files are always removed from the target since the -Buildroot-2012.11 release. - -10.4. Why is there no documentation on the target? - -Because Buildroot mostly targets small or very small target hardware -with limited resource onboard (CPU, ram, mass-storage), it does not -make sense to waste space with the documentation data. - -If you need documentation data on your target anyway, then Buildroot -is not suitable for your purpose, and you should look for a real -distribution (see: Section 10.2, “Why is there no compiler on the -target?”). - -10.5. Why are some packages not visible in the Buildroot config menu? - -If a package exists in the Buildroot tree and does not appear in the -config menu, this most likely means that some of the package’s -dependencies are not met. - -To know more about the dependencies of a package, search for the -package symbol in the config menu (see Section 8.1, “make tips”). - -Then, you may have to recursively enable several options (which -correspond to the unmet dependencies) to finally be able to select -the package. - -If the package is not visible due to some unmet toolchain options, -then you should certainly run a full rebuild (see Section 8.1, “make -tips” for more explanations). - -10.6. Why not use the target directory as a chroot directory? - -There are plenty of reasons to not use the target directory a chroot -one, among these: - - * file ownerships, modes and permissions are not correctly set in - the target directory; - * device nodes are not created in the target directory. - -For these reasons, commands run through chroot, using the target -directory as the new root, will most likely fail. - -If you want to run the target filesystem inside a chroot, or as an -NFS root, then use the tarball image generated in images/ and extract -it as root. - -10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)? - -One feature that is often discussed on the Buildroot list is the -general topic of "package management". To summarize, the idea would -be to add some tracking of which Buildroot package installs what -files, with the goals of: - - * being able to remove files installed by a package when this - package gets unselected from the menuconfig; - * being able to generate binary packages (ipk or other format) that - can be installed on the target without re-generating a new root - filesystem image. - -In general, most people think it is easy to do: just track which -package installed what and remove it when the package is unselected. -However, it is much more complicated than that: - - * It is not only about the target/ directory, but also the sysroot - in host//sysroot and the host/ directory itself. All files - installed in those directories by various packages must be - tracked. - * When a package is unselected from the configuration, it is not - sufficient to remove just the files it installed. One must also - remove all its reverse dependencies (i.e. packages relying on it) - and rebuild all those packages. For example, package A depends - optionally on the OpenSSL library. Both are selected, and - Buildroot is built. Package A is built with crypto support using - OpenSSL. Later on, OpenSSL gets unselected from the - configuration, but package A remains (since OpenSSL is an - optional dependency, this is possible.) If only OpenSSL files are - removed, then the files installed by package A are broken: they - use a library that is no longer present on the target. Although - this is technically doable, it adds a lot of complexity to - Buildroot, which goes against the simplicity we try to stick to. - * In addition to the previous problem, there is the case where the - optional dependency is not even known to Buildroot. For example, - package A in version 1.0 never used OpenSSL, but in version 2.0 - it automatically uses OpenSSL if available. If the Buildroot .mk - file hasn’t been updated to take this into account, then package - A will not be part of the reverse dependencies of OpenSSL and - will not be removed and rebuilt when OpenSSL is removed. For - sure, the .mk file of package A should be fixed to mention this - optional dependency, but in the mean time, you can have - non-reproducible behaviors. - * The request is to also allow changes in the menuconfig to be - applied on the output directory without having to rebuild - everything from scratch. However, this is very difficult to - achieve in a reliable way: what happens when the suboptions of a - package are changed (we would have to detect this, and rebuild - the package from scratch and potentially all its reverse - dependencies), what happens if toolchain options are changed, - etc. At the moment, what Buildroot does is clear and simple so - its behaviour is very reliable and it is easy to support users. - If configuration changes done in menuconfig are applied after the - next make, then it has to work correctly and properly in all - situations, and not have some bizarre corner cases. The risk is - to get bug reports like "I have enabled package A, B and C, then - ran make, then disabled package C and enabled package D and ran - make, then re-enabled package C and enabled package E and then - there is a build failure". Or worse "I did some configuration, - then built, then did some changes, built, some more changes, - built, some more changes, built, and now it fails, but I don’t - remember all the changes I did and in which order". This will be - impossible to support. - -For all these reasons, the conclusion is that adding tracking of -installed files to remove them when the package is unselected, or to -generate a repository of binary packages, is something that is very -hard to achieve reliably and will add a lot of complexity. - -On this matter, the Buildroot developers make this position -statement: - - * Buildroot strives to make it easy to generate a root filesystem - (hence the name, by the way.) That is what we want to make - Buildroot good at: building root filesystems. - * Buildroot is not meant to be a distribution (or rather, a - distribution generator.) It is the opinion of most Buildroot - developers that this is not a goal we should pursue. We believe - that there are other tools better suited to generate a distro - than Buildroot is. For example, Open Embedded [http:// - openembedded.org/], or openWRT [https://openwrt.org/], are such - tools. - * We prefer to push Buildroot in a direction that makes it easy (or - even easier) to generate complete root filesystems. This is what - makes Buildroot stands out in the crowd (among other things, of - course!) - * We believe that for most embedded Linux systems, binary packages - are not necessary, and potentially harmful. When binary packages - are used, it means that the system can be partially upgraded, - which creates an enormous number of possible combinations of - package versions that should be tested before doing the upgrade - on the embedded device. On the other hand, by doing complete - system upgrades by upgrading the entire root filesystem image at - once, the image deployed to the embedded system is guaranteed to - really be the one that has been tested and validated. - -10.8. How to speed-up the build process? - -Since Buildroot often involves doing full rebuilds of the entire -system that can be quite long, we provide below a number of tips to -help reduce the build time: - - * Use a pre-built external toolchain instead of the default - Buildroot internal toolchain. By using a pre-built Linaro - toolchain (on ARM) or a Sourcery CodeBench toolchain (for ARM, - x86, x86-64, MIPS, etc.), you will save the build time of the - toolchain at each complete rebuild, approximately 15 to 20 - minutes. Note that temporarily using an external toolchain does - not prevent you to switch back to an internal toolchain (that may - provide a higher level of customization) once the rest of your - system is working; - * Use the ccache compiler cache (see: Section 8.12.3, “Using ccache - in Buildroot”); - * Learn about rebuilding only the few packages you actually care - about (see Section 8.3, “Understanding how to rebuild packages”), - but beware that sometimes full rebuilds are anyway necessary (see - Section 8.2, “Understanding when a full rebuild is necessary”); - * Make sure you are not using a virtual machine for the Linux - system used to run Buildroot. Most of the virtual machine - technologies are known to cause a significant performance impact - on I/O, which is really important for building source code; - * Make sure that you’re using only local files: do not attempt to - do a build over NFS, which significantly slows down the build. - Having the Buildroot download folder available locally also helps - a bit. - * Buy new hardware. SSDs and lots of RAM are key to speeding up the - builds. - -Chapter 11. Known issues - - * It is not possible to pass extra linker options via - BR2_TARGET_LDFLAGS if such options contain a $ sign. For example, - the following is known to break: BR2_TARGET_LDFLAGS="-Wl,-rpath= - '$ORIGIN/../lib'" - * The libffi package is not supported on the SuperH 2 and ARC - architectures. - * The prboom package triggers a compiler failure with the SuperH 4 - compiler from Sourcery CodeBench, version 2012.09. - -Chapter 12. Legal notice and licensing - -12.1. Complying with open source licenses - -All of the end products of Buildroot (toolchain, root filesystem, -kernel, bootloaders) contain open source software, released under -various licenses. - -Using open source software gives you the freedom to build rich -embedded systems, choosing from a wide range of packages, but also -imposes some obligations that you must know and honour. Some licenses -require you to publish the license text in the documentation of your -product. Others require you to redistribute the source code of the -software to those that receive your product. - -The exact requirements of each license are documented in each -package, and it is your responsibility (or that of your legal office) -to comply with those requirements. To make this easier for you, -Buildroot can collect for you some material you will probably need. -To produce this material, after you have configured Buildroot with -make menuconfig, make xconfig or make gconfig, run: - -make legal-info - -Buildroot will collect legally-relevant material in your output -directory, under the legal-info/ subdirectory. There you will find: - - * A README file, that summarizes the produced material and contains - warnings about material that Buildroot could not produce. - * buildroot.config: this is the Buildroot configuration file that - is usually produced with make menuconfig, and which is necessary - to reproduce the build. - * The source code for all packages; this is saved in the sources/ - and host-sources/ subdirectories for target and host packages - respectively. The source code for packages that set - _REDISTRIBUTE = NO will not be saved. Patches that were applied - are also saved, along with a file named series that lists the - patches in the order they were applied. Patches are under the - same license as the files that they modify. Note: Buildroot - applies additional patches to Libtool scripts of autotools-based - packages. These patches can be found under support/libtool in the - Buildroot source and, due to technical limitations, are not saved - with the package sources. You may need to collect them manually. - * A manifest file (one for host and one for target packages) - listing the configured packages, their version, license and - related information. Some of this information might not be - defined in Buildroot; such items are marked as "unknown". - * The license texts of all packages, in the licenses/ and - host-licenses/ subdirectories for target and host packages - respectively. If the license file(s) are not defined in - Buildroot, the file is not produced and a warning in the README - indicates this. - -Please note that the aim of the legal-info feature of Buildroot is to -produce all the material that is somehow relevant for legal -compliance with the package licenses. Buildroot does not try to -produce the exact material that you must somehow make public. -Certainly, more material is produced than is needed for a strict -legal compliance. For example, it produces the source code for -packages released under BSD-like licenses, that you are not required -to redistribute in source form. - -Moreover, due to technical limitations, Buildroot does not produce -some material that you will or may need, such as the toolchain source -code and the Buildroot source code itself (including patches to -packages for which source distribution is required). When you run -make legal-info, Buildroot produces warnings in the README file to -inform you of relevant material that could not be saved. - -Finally, keep in mind that the output of make legal-info is based on -declarative statements in each of the packages recipes. The Buildroot -developers try to do their best to keep those declarative statements -as accurate as possible, to the best of their knowledge. However, it -is very well possible that those declarative statements are not all -fully accurate nor exhaustive. You (or your legal department) have to -check the output of make legal-info before using it as your own -compliance delivery. See the NO WARRANTY clauses (clauses 11 and 12) -in the COPYING file at the root of the Buildroot distribution. - -12.2. Complying with the Buildroot license - -Buildroot itself is an open source software, released under the GNU -General Public License, version 2 [http://www.gnu.org/licenses/ -old-licenses/gpl-2.0.html] or (at your option) any later version, -with the exception of the package patches detailed below. However, -being a build system, it is not normally part of the end product: if -you develop the root filesystem, kernel, bootloader or toolchain for -a device, the code of Buildroot is only present on the development -machine, not in the device storage. - -Nevertheless, the general view of the Buildroot developers is that -you should release the Buildroot source code along with the source -code of other packages when releasing a product that contains -GPL-licensed software. This is because the GNU GPL [http:// -www.gnu.org/licenses/old-licenses/gpl-2.0.html] defines the "complete -source code" for an executable work as "all the source code for all -modules it contains, plus any associated interface definition files, -plus the scripts used to control compilation and installation of the -executable". Buildroot is part of the scripts used to control -compilation and installation of the executable, and as such it is -considered part of the material that must be redistributed. - -Keep in mind that this is only the Buildroot developers' opinion, and -you should consult your legal department or lawyer in case of any -doubt. - -12.2.1. Patches to packages - -Buildroot also bundles patch files, which are applied to the sources -of the various packages. Those patches are not covered by the license -of Buildroot. Instead, they are covered by the license of the -software to which the patches are applied. When said software is -available under multiple licenses, the Buildroot patches are only -provided under the publicly accessible licenses. - -See Chapter 18, Patching a package for the technical details. - -Chapter 13. Beyond Buildroot - -13.1. Boot the generated images - -13.1.1. NFS boot - -To achieve NFS-boot, enable tar root filesystem in the Filesystem -images menu. - -After a complete build, just run the following commands to setup the -NFS-root directory: - -sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir - -Remember to add this path to /etc/exports. - -Then, you can execute a NFS-boot from your target. - -13.1.2. Live CD - -To build a live CD image, enable the iso image option in the -Filesystem images menu. Note that this option is only available on -the x86 and x86-64 architectures, and if you are building your kernel -with Buildroot. - -You can build a live CD image with either IsoLinux, Grub or Grub 2 as -a bootloader, but only Isolinux supports making this image usable -both as a live CD and live USB (through the Build hybrid image -option). - -You can test your live CD image using QEMU: - -qemu-system-i386 -cdrom output/images/rootfs.iso9660 - -Or use it as a hard-drive image if it is a hybrid ISO: - -qemu-system-i386 -hda output/images/rootfs.iso9660 - -It can be easily flashed to a USB drive with dd: - -dd if=output/images/rootfs.iso9660 of=/dev/sdb - -13.2. Chroot - -If you want to chroot in a generated image, then there are few thing -you should be aware of: - - * you should setup the new root from the tar root filesystem image; - * either the selected target architecture is compatible with your - host machine, or you should use some qemu-* binary and correctly - set it within the binfmt properties to be able to run the - binaries built for the target on your host machine; - * Buildroot does not currently provide host-qemu and binfmt - correctly built and set for that kind of use. - -Part III. Developer guide - -Table of Contents - -14. How Buildroot works -15. Coding style - - 15.1. Config.in file - 15.2. The .mk file - 15.3. The documentation - 15.4. Support scripts - -16. Adding support for a particular board -17. Adding new packages to Buildroot - - 17.1. Package directory - 17.2. Config files - 17.3. The .mk file - 17.4. The .hash file - 17.5. Infrastructure for packages with specific build systems - 17.6. Infrastructure for autotools-based packages - 17.7. Infrastructure for CMake-based packages - 17.8. Infrastructure for Python packages - 17.9. Infrastructure for LuaRocks-based packages - 17.10. Infrastructure for Perl/CPAN packages - 17.11. Infrastructure for virtual packages - 17.12. Infrastructure for packages using kconfig for - configuration files - 17.13. Infrastructure for rebar-based packages - 17.14. Infrastructure for Waf-based packages - 17.15. Integration of Meson-based packages - 17.16. Integration of Cargo-based packages - 17.17. Infrastructure for packages building kernel modules - 17.18. Infrastructure for asciidoc documents - 17.19. Infrastructure specific to the Linux kernel package - 17.20. Hooks available in the various build steps - 17.21. Gettext integration and interaction with packages - 17.22. Tips and tricks - 17.23. Conclusion - -18. Patching a package - - 18.1. Providing patches - 18.2. How patches are applied - 18.3. Format and licensing of the package patches - 18.4. Integrating patches found on the Web - -19. Download infrastructure -20. Debugging Buildroot -21. Contributing to Buildroot - - 21.1. Reproducing, analyzing and fixing bugs - 21.2. Analyzing and fixing autobuild failures - 21.3. Reviewing and testing patches - 21.4. Work on items from the TODO list - 21.5. Submitting patches - 21.6. Reporting issues/bugs or getting help - -22. DEVELOPERS file and get-developers - -Chapter 14. How Buildroot works - -As mentioned above, Buildroot is basically a set of Makefiles that -download, configure, and compile software with the correct options. -It also includes patches for various software packages - mainly the -ones involved in the cross-compilation toolchain (gcc, binutils and -uClibc). - -There is basically one Makefile per software package, and they are -named with the .mk extension. Makefiles are split into many different -parts. - - * The toolchain/ directory contains the Makefiles and associated - files for all software related to the cross-compilation - toolchain: binutils, gcc, gdb, kernel-headers and uClibc. - * The arch/ directory contains the definitions for all the - processor architectures that are supported by Buildroot. - * The package/ directory contains the Makefiles and associated - files for all user-space tools and libraries that Buildroot can - compile and add to the target root filesystem. There is one - sub-directory per package. - * The linux/ directory contains the Makefiles and associated files - for the Linux kernel. - * The boot/ directory contains the Makefiles and associated files - for the bootloaders supported by Buildroot. - * The system/ directory contains support for system integration, - e.g. the target filesystem skeleton and the selection of an init - system. - * The fs/ directory contains the Makefiles and associated files for - software related to the generation of the target root filesystem - image. - -Each directory contains at least 2 files: - - * something.mk is the Makefile that downloads, configures, compiles - and installs the package something. - * Config.in is a part of the configuration tool description file. - It describes the options related to the package. - -The main Makefile performs the following steps (once the -configuration is done): - - * Create all the output directories: staging, target, build, etc. - in the output directory (output/ by default, another value can be - specified using O=) - * Generate the toolchain target. When an internal toolchain is - used, this means generating the cross-compilation toolchain. When - an external toolchain is used, this means checking the features - of the external toolchain and importing it into the Buildroot - environment. - * Generate all the targets listed in the TARGETS variable. This - variable is filled by all the individual components' Makefiles. - Generating these targets will trigger the compilation of the - userspace packages (libraries, programs), the kernel, the - bootloader and the generation of the root filesystem images, - depending on the configuration. - -Chapter 15. Coding style - -Overall, these coding style rules are here to help you to add new -files in Buildroot or refactor existing ones. - -If you slightly modify some existing file, the important thing is to -keep the consistency of the whole file, so you can: - - * either follow the potentially deprecated coding style used in - this file, - * or entirely rework it in order to make it comply with these - rules. - -15.1. Config.in file - -Config.in files contain entries for almost anything configurable in -Buildroot. - -An entry has the following pattern: - -config BR2_PACKAGE_LIBFOO - bool "libfoo" - depends on BR2_PACKAGE_LIBBAZ - select BR2_PACKAGE_LIBBAR - help - This is a comment that explains what libfoo is. The help text - should be wrapped. - - http://foosoftware.org/libfoo/ - - * The bool, depends on, select and help lines are indented with one - tab. - * The help text itself should be indented with one tab and two - spaces. - * The help text should be wrapped to fit 72 columns, where tab - counts for 8, so 62 characters in the text itself. - -The Config.in files are the input for the configuration tool used in -Buildroot, which is the regular Kconfig. For further details about -the Kconfig language, refer to http://kernel.org/doc/Documentation/ -kbuild/kconfig-language.txt. - -15.2. The .mk file - - * Header: The file starts with a header. It contains the module - name, preferably in lowercase, enclosed between separators made - of 80 hashes. A blank line is mandatory after the header: - - ################################################################################ - # - # libfoo - # - ################################################################################ - - * Assignment: use = preceded and followed by one space: - - LIBFOO_VERSION = 1.0 - LIBFOO_CONF_OPTS += --without-python-support - - Do not align the = signs. - - * Indentation: use tab only: - - define LIBFOO_REMOVE_DOC - $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/doc \ - $(TARGET_DIR)/usr/share/man/man3/libfoo* - endef - - Note that commands inside a define block should always start with - a tab, so make recognizes them as commands. - - * Optional dependency: - - + Prefer multi-line syntax. - - YES: - - ifeq ($(BR2_PACKAGE_PYTHON),y) - LIBFOO_CONF_OPTS += --with-python-support - LIBFOO_DEPENDENCIES += python - else - LIBFOO_CONF_OPTS += --without-python-support - endif - - NO: - - LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support - LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,) - - + Keep configure options and dependencies close together. - * Optional hooks: keep hook definition and assignment together in - one if block. - - YES: - - ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) - define LIBFOO_REMOVE_DATA - $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data - endef - LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA - endif - - NO: - - define LIBFOO_REMOVE_DATA - $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data - endef - - ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) - LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA - endif - -15.3. The documentation - -The documentation uses the asciidoc [http://www.methods.co.nz/ -asciidoc/] format. - -For further details about the asciidoc [http://www.methods.co.nz/ -asciidoc/] syntax, refer to http://www.methods.co.nz/asciidoc/ -userguide.html. - -15.4. Support scripts - -Some scripts in the support/ and utils/ directories are written in -Python and should follow the PEP8 Style Guide for Python Code [https: -//www.python.org/dev/peps/pep-0008/]. - -Chapter 16. Adding support for a particular board - -Buildroot contains basic configurations for several publicly -available hardware boards, so that users of such a board can easily -build a system that is known to work. You are welcome to add support -for other boards to Buildroot too. - -To do so, you need to create a normal Buildroot configuration that -builds a basic system for the hardware: toolchain, kernel, -bootloader, filesystem and a simple BusyBox-only userspace. No -specific package should be selected: the configuration should be as -minimal as possible, and should only build a working basic BusyBox -system for the target platform. You can of course use more -complicated configurations for your internal projects, but the -Buildroot project will only integrate basic board configurations. -This is because package selections are highly application-specific. - -Once you have a known working configuration, run make savedefconfig. -This will generate a minimal defconfig file at the root of the -Buildroot source tree. Move this file into the configs/ directory, -and rename it _defconfig. - -It is recommended to use as much as possible upstream versions of the -Linux kernel and bootloaders, and to use as much as possible default -kernel and bootloader configurations. If they are incorrect for your -board, or no default exists, we encourage you to send fixes to the -corresponding upstream projects. - -However, in the mean time, you may want to store kernel or bootloader -configuration or patches specific to your target platform. To do so, -create a directory board/ and a subdirectory board/ -/. You can then store your patches and -configurations in these directories, and reference them from the main -Buildroot configuration. Refer to Chapter 9, Project-specific -customization for more details. - -Chapter 17. Adding new packages to Buildroot - -This section covers how new packages (userspace libraries or -applications) can be integrated into Buildroot. It also shows how -existing packages are integrated, which is needed for fixing issues -or tuning their configuration. - -When you add a new package, be sure to test it in various conditions; -see Section 17.22.2, “How to test your package” - -17.1. Package directory - -First of all, create a directory under the package directory for your -software, for example libfoo. - -Some packages have been grouped by topic in a sub-directory: x11r7, -qt5 and gstreamer. If your package fits in one of these categories, -then create your package directory in these. New subdirectories are -discouraged, however. - -17.2. Config files - -For the package to be displayed in the configuration tool, you need -to create a Config file in your package directory. There are two -types: Config.in and Config.in.host. - -17.2.1. Config.in file - -For packages used on the target, create a file named Config.in. This -file will contain the option descriptions related to our libfoo -software that will be used and displayed in the configuration tool. -It should basically contain: - -config BR2_PACKAGE_LIBFOO - bool "libfoo" - help - This is a comment that explains what libfoo is. The help text - should be wrapped. - - http://foosoftware.org/libfoo/ - -The bool line, help line and other metadata information about the -configuration option must be indented with one tab. The help text -itself should be indented with one tab and two spaces, lines should -be wrapped to fit 72 columns, where tab counts for 8, so 62 -characters in the text itself. The help text must mention the -upstream URL of the project after an empty line. - -As a convention specific to Buildroot, the ordering of the attributes -is as follows: - - 1. The type of option: bool, string… with the prompt - 2. If needed, the default value(s) - 3. Any dependency of the depends on form - 4. Any dependency of the select form - 5. The help keyword and help text. - -You can add other sub-options into a if BR2_PACKAGE_LIBFOO…endif -statement to configure particular things in your software. You can -look at examples in other packages. The syntax of the Config.in file -is the same as the one for the kernel Kconfig file. The documentation -for this syntax is available at http://kernel.org/doc/Documentation/ -kbuild/kconfig-language.txt - -Finally you have to add your new libfoo/Config.in to package/ -Config.in (or in a category subdirectory if you decided to put your -package in one of the existing categories). The files included there -are sorted alphabetically per category and are NOT supposed to -contain anything but the bare name of the package. - -source "package/libfoo/Config.in" - -17.2.2. Config.in.host file - -Some packages also need to be built for the host system. There are -two options here: - - * The host package is only required to satisfy build-time - dependencies of one or more target packages. In this case, add - host-foo to the target package’s BAR_DEPENDENCIES variable. No - Config.in.host file should be created. - * The host package should be explicitly selectable by the user from - the configuration menu. In this case, create a Config.in.host - file for that host package: - - config BR2_PACKAGE_HOST_FOO - bool "host foo" - help - This is a comment that explains what foo for the host is. - - http://foosoftware.org/foo/ - - The same coding style and options as for the Config.in file are - valid. - - Finally you have to add your new libfoo/Config.in.host to package - /Config.in.host. The files included there are sorted - alphabetically and are NOT supposed to contain anything but the - bare name of the package. - - source "package/foo/Config.in.host" - - The host package will then be available from the Host utilities - menu. - -17.2.3. Choosing depends on or select - -The Config.in file of your package must also ensure that dependencies -are enabled. Typically, Buildroot uses the following rules: - - * Use a select type of dependency for dependencies on libraries. - These dependencies are generally not obvious and it therefore - make sense to have the kconfig system ensure that the - dependencies are selected. For example, the libgtk2 package uses - select BR2_PACKAGE_LIBGLIB2 to make sure this library is also - enabled. The select keyword expresses the dependency with a - backward semantic. - * Use a depends on type of dependency when the user really needs to - be aware of the dependency. Typically, Buildroot uses this type - of dependency for dependencies on target architecture, MMU - support and toolchain options (see Section 17.2.4, “Dependencies - on target and toolchain options”), or for dependencies on "big" - things, such as the X.org system. The depends on keyword - expresses the dependency with a forward semantic. - -Note. The current problem with the kconfig language is that these two -dependency semantics are not internally linked. Therefore, it may be -possible to select a package, whom one of its dependencies/ -requirement is not met. - -An example illustrates both the usage of select and depends on. - -config BR2_PACKAGE_RRDTOOL - bool "rrdtool" - depends on BR2_USE_WCHAR - select BR2_PACKAGE_FREETYPE - select BR2_PACKAGE_LIBART - select BR2_PACKAGE_LIBPNG - select BR2_PACKAGE_ZLIB - help - RRDtool is the OpenSource industry standard, high performance - data logging and graphing system for time series data. - - http://oss.oetiker.ch/rrdtool/ - -comment "rrdtool needs a toolchain w/ wchar" - depends on !BR2_USE_WCHAR - -Note that these two dependency types are only transitive with the -dependencies of the same kind. - -This means, in the following example: - -config BR2_PACKAGE_A - bool "Package A" - -config BR2_PACKAGE_B - bool "Package B" - depends on BR2_PACKAGE_A - -config BR2_PACKAGE_C - bool "Package C" - depends on BR2_PACKAGE_B - -config BR2_PACKAGE_D - bool "Package D" - select BR2_PACKAGE_B - -config BR2_PACKAGE_E - bool "Package E" - select BR2_PACKAGE_D - - * Selecting Package C will be visible if Package B has been - selected, which in turn is only visible if Package A has been - selected. - * Selecting Package E will select Package D, which will select - Package B, it will not check for the dependencies of Package B, - so it will not select Package A. - * Since Package B is selected but Package A is not, this violates - the dependency of Package B on Package A. Therefore, in such a - situation, the transitive dependency has to be added explicitly: - -config BR2_PACKAGE_D - bool "Package D" - select BR2_PACKAGE_B - depends on BR2_PACKAGE_A - -config BR2_PACKAGE_E - bool "Package E" - select BR2_PACKAGE_D - depends on BR2_PACKAGE_A - -Overall, for package library dependencies, select should be -preferred. - -Note that such dependencies will ensure that the dependency option is -also enabled, but not necessarily built before your package. To do -so, the dependency also needs to be expressed in the .mk file of the -package. - -Further formatting details: see the coding style Section 15.1, -“Config.in file”. - -17.2.4. Dependencies on target and toolchain options - -Many packages depend on certain options of the toolchain: the choice -of C library, C++ support, thread support, RPC support, wchar -support, or dynamic library support. Some packages can only be built -on certain target architectures, or if an MMU is available in the -processor. - -These dependencies have to be expressed with the appropriate depends -on statements in the Config.in file. Additionally, for dependencies -on toolchain options, a comment should be displayed when the option -is not enabled, so that the user knows why the package is not -available. Dependencies on target architecture or MMU support should -not be made visible in a comment: since it is unlikely that the user -can freely choose another target, it makes little sense to show these -dependencies explicitly. - -The comment should only be visible if the config option itself would -be visible when the toolchain option dependencies are met. This means -that all other dependencies of the package (including dependencies on -target architecture and MMU support) have to be repeated on the -comment definition. To keep it clear, the depends on statement for -these non-toolchain option should be kept separate from the depends -on statement for the toolchain options. If there is a dependency on a -config option in that same file (typically the main package) it is -preferable to have a global if … endif construct rather than -repeating the depends on statement on the comment and other config -options. - -The general format of a dependency comment for package foo is: - -foo needs a toolchain w/ featA, featB, featC - -for example: - -mpd needs a toolchain w/ C++, threads, wchar - -or - -crda needs a toolchain w/ threads - -Note that this text is kept brief on purpose, so that it will fit on -a 80-character terminal. - -The rest of this section enumerates the different target and -toolchain options, the corresponding config symbols to depend on, and -the text to use in the comment. - - * Target architecture - - + Dependency symbol: BR2_powerpc, BR2_mips, … (see arch/ - Config.in) - + Comment string: no comment to be added - * MMU support - - + Dependency symbol: BR2_USE_MMU - + Comment string: no comment to be added - * Gcc _sync* built-ins used for atomic operations. They are - available in variants operating on 1 byte, 2 bytes, 4 bytes and 8 - bytes. Since different architectures support atomic operations on - different sizes, one dependency symbol is available for each - size: - - + Dependency symbol: BR2_TOOLCHAIN_HAS_SYNC_1 for 1 byte, - BR2_TOOLCHAIN_HAS_SYNC_2 for 2 bytes, - BR2_TOOLCHAIN_HAS_SYNC_4 for 4 bytes, - BR2_TOOLCHAIN_HAS_SYNC_8 for 8 bytes. - + Comment string: no comment to be added - * Gcc _atomic* built-ins used for atomic operations. - - + Dependency symbol: BR2_TOOLCHAIN_HAS_ATOMIC. - + Comment string: no comment to be added - * Kernel headers - - + Dependency symbol: BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y, - (replace X_Y with the proper version, see toolchain/ - toolchain-common.in) - + Comment string: headers >= X.Y and/or headers <= X.Y (replace - X.Y with the proper version) - * GCC version - - + Dependency symbol: BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y, (replace - X_Y with the proper version, see toolchain/ - toolchain-common.in) - + Comment string: gcc >= X.Y and/or gcc <= X.Y (replace X.Y - with the proper version) - * Host GCC version - - + Dependency symbol: BR2_HOST_GCC_AT_LEAST_X_Y, (replace X_Y - with the proper version, see Config.in) - + Comment string: no comment to be added - + Note that it is usually not the package itself that has a - minimum host GCC version, but rather a host-package on which - it depends. - * C library - - + Dependency symbol: BR2_TOOLCHAIN_USES_GLIBC, - BR2_TOOLCHAIN_USES_MUSL, BR2_TOOLCHAIN_USES_UCLIBC - + Comment string: for the C library, a slightly different - comment text is used: foo needs a glibc toolchain, or foo - needs a glibc toolchain w/ C++ - * C++ support - - + Dependency symbol: BR2_INSTALL_LIBSTDCPP - + Comment string: C++ - * Fortran support - - + Dependency symbol: BR2_TOOLCHAIN_HAS_FORTRAN - + Comment string: fortran - * thread support - - + Dependency symbol: BR2_TOOLCHAIN_HAS_THREADS - + Comment string: threads (unless - BR2_TOOLCHAIN_HAS_THREADS_NPTL is also needed, in which case, - specifying only NPTL is sufficient) - * NPTL thread support - - + Dependency symbol: BR2_TOOLCHAIN_HAS_THREADS_NPTL - + Comment string: NPTL - * RPC support - - + Dependency symbol: BR2_TOOLCHAIN_HAS_NATIVE_RPC - + Comment string: RPC - * wchar support - - + Dependency symbol: BR2_USE_WCHAR - + Comment string: wchar - * dynamic library - - + Dependency symbol: !BR2_STATIC_LIBS - + Comment string: dynamic library - -17.2.5. Dependencies on a Linux kernel built by buildroot - -Some packages need a Linux kernel to be built by buildroot. These are -typically kernel modules or firmware. A comment should be added in -the Config.in file to express this dependency, similar to -dependencies on toolchain options. The general format is: - -foo needs a Linux kernel to be built - -If there is a dependency on both toolchain options and the Linux -kernel, use this format: - -foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built - -17.2.6. Dependencies on udev /dev management - -If a package needs udev /dev management, it should depend on symbol -BR2_PACKAGE_HAS_UDEV, and the following comment should be added: - -foo needs udev /dev management - -If there is a dependency on both toolchain options and udev /dev -management, use this format: - -foo needs udev /dev management and a toolchain w/ featA, featB, featC - -17.2.7. Dependencies on features provided by virtual packages - -Some features can be provided by more than one package, such as the -openGL libraries. - -See Section 17.11, “Infrastructure for virtual packages” for more on -the virtual packages. - -17.3. The .mk file - -Finally, here’s the hardest part. Create a file named libfoo.mk. It -describes how the package should be downloaded, configured, built, -installed, etc. - -Depending on the package type, the .mk file must be written in a -different way, using different infrastructures: - - * Makefiles for generic packages (not using autotools or CMake): - These are based on an infrastructure similar to the one used for - autotools-based packages, but require a little more work from the - developer. They specify what should be done for the - configuration, compilation and installation of the package. This - infrastructure must be used for all packages that do not use the - autotools as their build system. In the future, other specialized - infrastructures might be written for other build systems. We - cover them through in a tutorial Section 17.5.1, “generic-package - tutorial” and a reference Section 17.5.2, “generic-package - reference”. - * Makefiles for autotools-based software (autoconf, automake, - etc.): We provide a dedicated infrastructure for such packages, - since autotools is a very common build system. This - infrastructure must be used for new packages that rely on the - autotools as their build system. We cover them through a tutorial - Section 17.6.1, “autotools-package tutorial” and reference - Section 17.6.2, “autotools-package reference”. - * Makefiles for cmake-based software: We provide a dedicated - infrastructure for such packages, as CMake is a more and more - commonly used build system and has a standardized behaviour. This - infrastructure must be used for new packages that rely on CMake. - We cover them through a tutorial Section 17.7.1, “cmake-package - tutorial” and reference Section 17.7.2, “cmake-package reference” - . - * Makefiles for Python modules: We have a dedicated infrastructure - for Python modules that use either the distutils or the - setuptools mechanism. We cover them through a tutorial - Section 17.8.1, “python-package tutorial” and a reference - Section 17.8.2, “python-package reference”. - * Makefiles for Lua modules: We have a dedicated infrastructure for - Lua modules available through the LuaRocks web site. We cover - them through a tutorial Section 17.9.1, “luarocks-package - tutorial” and a reference Section 17.9.2, “luarocks-package - reference”. - -Further formatting details: see the writing rules Section 15.2, “The -.mk file”. - -17.4. The .hash file - -When possible, you must add a third file, named libfoo.hash, that -contains the hashes of the downloaded files for the libfoo package. -The only reason for not adding a .hash file is when hash checking is -not possible due to how the package is downloaded. - -The hashes stored in that file are used to validate the integrity of -the downloaded files and of the license files. - -The format of this file is one line for each file for which to check -the hash, each line being space-separated, with these three fields: - - * the type of hash, one of: - - + md5, sha1, sha224, sha256, sha384, sha512, none - * the hash of the file: - - + for none, one or more non-space chars, usually just the - string xxx - + for md5, 32 hexadecimal characters - + for sha1, 40 hexadecimal characters - + for sha224, 56 hexadecimal characters - + for sha256, 64 hexadecimal characters - + for sha384, 96 hexadecimal characters - + for sha512, 128 hexadecimal characters - * the name of the file: - - + for a source archive: the basename of the file, without any - directory component, - + for a license file: the path as it appears in - FOO_LICENSE_FILES. - -Lines starting with a # sign are considered comments, and ignored. -Empty lines are ignored. - -There can be more than one hash for a single file, each on its own -line. In this case, all hashes must match. - -Note. Ideally, the hashes stored in this file should match the hashes -published by upstream, e.g. on their website, in the e-mail -announcement… If upstream provides more than one type of hash (e.g. -sha1 and sha512), then it is best to add all those hashes in the -.hash file. If upstream does not provide any hash, or only provides -an md5 hash, then compute at least one strong hash yourself -(preferably sha256, but not md5), and mention this in a comment line -above the hashes. - -Note. The hashes for license files are used to detect a license -change when a package version is bumped. The hashes are checked -during the make legal-info target run. For a package with multiple -versions (like Qt5), create the hash file in a subdirectory - of that package (see also Section 18.2, “How patches -are applied”). - -Note. The number of spaces does not matter, so one can use spaces (or -tabs) to properly align the different fields. - -The none hash type is reserved to those archives downloaded from a -repository, like a git clone, a subversion checkout… - -The example below defines a sha1 and a sha256 published by upstream -for the main libfoo-1.2.3.tar.bz2 tarball, an md5 from upstream and a -locally-computed sha256 hashes for a binary blob, a sha256 for a -downloaded patch, and an archive with no hash: - -# Hashes from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.{sha1,sha256}: -sha1 486fb55c3efa71148fe07895fd713ea3a5ae343a libfoo-1.2.3.tar.bz2 -sha256 efc8103cc3bcb06bda6a781532d12701eb081ad83e8f90004b39ab81b65d4369 libfoo-1.2.3.tar.bz2 - -# md5 from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.md5, sha256 locally computed: -md5 2d608f3c318c6b7557d551a5a09314f03452f1a1 libfoo-data.bin -sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b libfoo-data.bin - -# Locally computed: -sha256 ff52101fb90bbfc3fe9475e425688c660f46216d7e751c4bbdb1dc85cdccacb9 libfoo-fix-blabla.patch - -# No hash for 1234: -none xxx libfoo-1234.tar.gz - -# Hash for license files: -sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8 COPYING -sha256 01b1f9f2c8ee648a7a596a1abe8aa4ed7899b1c9e5551bda06da6e422b04aa55 doc/COPYING.LGPL - -If the .hash file is present, and it contains one or more hashes for -a downloaded file, the hash(es) computed by Buildroot (after -download) must match the hash(es) stored in the .hash file. If one or -more hashes do not match, Buildroot considers this an error, deletes -the downloaded file, and aborts. - -If the .hash file is present, but it does not contain a hash for a -downloaded file, Buildroot considers this an error and aborts. -However, the downloaded file is left in the download directory since -this typically indicates that the .hash file is wrong but the -downloaded file is probably OK. - -Hashes are currently checked for files fetched from http/ftp servers, -Git repositories, files copied using scp and local files. Hashes are -not checked for other version control systems (such as Subversion, -CVS, etc.) because Buildroot currently does not generate reproducible -tarballs when source code is fetched from such version control -systems. - -Hashes should only be added in .hash files for files that are -guaranteed to be stable. For example, patches auto-generated by -Github are not guaranteed to be stable, and therefore their hashes -can change over time. Such patches should not be downloaded, and -instead be added locally to the package folder. - -If the .hash file is missing, then no check is done at all. - -17.5. Infrastructure for packages with specific build systems - -By packages with specific build systems we mean all the packages -whose build system is not one of the standard ones, such as autotools -or CMake. This typically includes packages whose build system is -based on hand-written Makefiles or shell scripts. - -17.5.1. generic-package tutorial - -01: ################################################################################ -02: # -03: # libfoo -04: # -05: ################################################################################ -06: -07: LIBFOO_VERSION = 1.0 -08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz -09: LIBFOO_SITE = http://www.foosoftware.org/download -10: LIBFOO_LICENSE = GPL-3.0+ -11: LIBFOO_LICENSE_FILES = COPYING -12: LIBFOO_INSTALL_STAGING = YES -13: LIBFOO_CONFIG_SCRIPTS = libfoo-config -14: LIBFOO_DEPENDENCIES = host-libaaa libbbb -15: -16: define LIBFOO_BUILD_CMDS -17: $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all -18: endef -19: -20: define LIBFOO_INSTALL_STAGING_CMDS -21: $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a -22: $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h -23: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib -24: endef -25: -26: define LIBFOO_INSTALL_TARGET_CMDS -27: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib -28: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d -29: endef -30: -31: define LIBFOO_USERS -32: foo -1 libfoo -1 * - - - LibFoo daemon -33: endef -34: -35: define LIBFOO_DEVICES -36: /dev/foo c 666 0 0 42 0 - - - -37: endef -38: -39: define LIBFOO_PERMISSIONS -40: /bin/foo f 4755 foo libfoo - - - - - -41: endef -42: -43: $(eval $(generic-package)) - -The Makefile begins on line 7 to 11 with metadata information: the -version of the package (LIBFOO_VERSION), the name of the tarball -containing the package (LIBFOO_SOURCE) (xz-ed tarball recommended) -the Internet location at which the tarball can be downloaded from -(LIBFOO_SITE), the license (LIBFOO_LICENSE) and file with the license -text (LIBFOO_LICENSE_FILES). All variables must start with the same -prefix, LIBFOO_ in this case. This prefix is always the uppercased -version of the package name (see below to understand where the -package name is defined). - -On line 12, we specify that this package wants to install something -to the staging space. This is often needed for libraries, since they -must install header files and other development files in the staging -space. This will ensure that the commands listed in the -LIBFOO_INSTALL_STAGING_CMDS variable will be executed. - -On line 13, we specify that there is some fixing to be done to some -of the libfoo-config files that were installed during -LIBFOO_INSTALL_STAGING_CMDS phase. These *-config files are -executable shell script files that are located in $(STAGING_DIR)/usr/ -bin directory and are executed by other 3rd party packages to find -out the location and the linking flags of this particular package. - -The problem is that all these *-config files by default give wrong, -host system linking flags that are unsuitable for cross-compiling. - -For example: -I/usr/include instead of -I$(STAGING_DIR)/usr/include -or: -L/usr/lib instead of -L$(STAGING_DIR)/usr/lib - -So some sed magic is done to these scripts to make them give correct -flags. The argument to be given to LIBFOO_CONFIG_SCRIPTS is the file -name(s) of the shell script(s) needing fixing. All these names are -relative to $(STAGING_DIR)/usr/bin and if needed multiple names can -be given. - -In addition, the scripts listed in LIBFOO_CONFIG_SCRIPTS are removed -from $(TARGET_DIR)/usr/bin, since they are not needed on the target. - -Example 17.1. Config script: divine package - -Package divine installs shell script $(STAGING_DIR)/usr/bin/ -divine-config. - -So its fixup would be: - -DIVINE_CONFIG_SCRIPTS = divine-config - - -Example 17.2. Config script: imagemagick package: - -Package imagemagick installs the following scripts: $(STAGING_DIR)/ -usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config - -So it’s fixup would be: - -IMAGEMAGICK_CONFIG_SCRIPTS = \ - Magick-config Magick++-config \ - MagickCore-config MagickWand-config Wand-config - - -On line 14, we specify the list of dependencies this package relies -on. These dependencies are listed in terms of lower-case package -names, which can be packages for the target (without the host- -prefix) or packages for the host (with the host-) prefix). Buildroot -will ensure that all these packages are built and installed before -the current package starts its configuration. - -The rest of the Makefile, lines 16..29, defines what should be done -at the different steps of the package configuration, compilation and -installation. LIBFOO_BUILD_CMDS tells what steps should be performed -to build the package. LIBFOO_INSTALL_STAGING_CMDS tells what steps -should be performed to install the package in the staging space. -LIBFOO_INSTALL_TARGET_CMDS tells what steps should be performed to -install the package in the target space. - -All these steps rely on the $(@D) variable, which contains the -directory where the source code of the package has been extracted. - -On lines 31..43, we define a user that is used by this package (e.g. -to run a daemon as non-root) (LIBFOO_USERS). - -On line 35..37, we define a device-node file used by this package -(LIBFOO_DEVICES). - -On line 39..41, we define the permissions to set to specific files -installed by this package (LIBFOO_PERMISSIONS). - -Finally, on line 43, we call the generic-package function, which -generates, according to the variables defined previously, all the -Makefile code necessary to make your package working. - -17.5.2. generic-package reference - -There are two variants of the generic target. The generic-package -macro is used for packages to be cross-compiled for the target. The -host-generic-package macro is used for host packages, natively -compiled for the host. It is possible to call both of them in a -single .mk file: once to create the rules to generate a target -package and once to create the rules to generate a host package: - -$(eval $(generic-package)) -$(eval $(host-generic-package)) - -This might be useful if the compilation of the target package -requires some tools to be installed on the host. If the package name -is libfoo, then the name of the package for the target is also -libfoo, while the name of the package for the host is host-libfoo. -These names should be used in the DEPENDENCIES variables of other -packages, if they depend on libfoo or host-libfoo. - -The call to the generic-package and/or host-generic-package macro -must be at the end of the .mk file, after all variable definitions. - -For the target package, the generic-package uses the variables -defined by the .mk file and prefixed by the uppercased package name: -LIBFOO_*. host-generic-package uses the HOST_LIBFOO_* variables. For -some variables, if the HOST_LIBFOO_ prefixed variable doesn’t exist, -the package infrastructure uses the corresponding variable prefixed -by LIBFOO_. This is done for variables that are likely to have the -same value for both the target and host packages. See below for -details. - -The list of variables that can be set in a .mk file to give metadata -information is (assuming the package name is libfoo) : - - * LIBFOO_VERSION, mandatory, must contain the version of the - package. Note that if HOST_LIBFOO_VERSION doesn’t exist, it is - assumed to be the same as LIBFOO_VERSION. It can also be a - revision number or a tag for packages that are fetched directly - from their version control system. Examples: - - + a version for a release tarball: LIBFOO_VERSION = 0.1.2 - + a sha1 for a git tree: LIBFOO_VERSION = - cb9d6aa9429e838f0e54faa3d455bcbab5eef057 - + a tag for a git tree LIBFOO_VERSION = v0.1.2 - - Note: Using a branch name as FOO_VERSION is not supported, - because it does not and can not work as people would expect - it should: - - 1. due to local caching, Buildroot will not re-fetch the - repository, so people who expect to be able to follow the - remote repository would be quite surprised and - disappointed; - 2. because two builds can never be perfectly simultaneous, - and because the remote repository may get new commits on - the branch anytime, two users, using the same Buildroot - tree and building the same configuration, may get - different source, thus rendering the build non - reproducible, and people would be quite surprised and - disappointed. - * LIBFOO_SOURCE may contain the name of the tarball of the package, - which Buildroot will use to download the tarball from - LIBFOO_SITE. If HOST_LIBFOO_SOURCE is not specified, it defaults - to LIBFOO_SOURCE. If none are specified, then the value is - assumed to be libfoo-$(LIBFOO_VERSION).tar.gz. Example: - LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2 - * LIBFOO_PATCH may contain a space-separated list of patch file - names, that Buildroot will download and apply to the package - source code. If an entry contains ://, then Buildroot will assume - it is a full URL and download the patch from this location. - Otherwise, Buildroot will assume that the patch should be - downloaded from LIBFOO_SITE. If HOST_LIBFOO_PATCH is not - specified, it defaults to LIBFOO_PATCH. Note that patches that - are included in Buildroot itself use a different mechanism: all - files of the form *.patch present in the package directory inside - Buildroot will be applied to the package after extraction (see - patching a package Chapter 18, Patching a package). Finally, - patches listed in the LIBFOO_PATCH variable are applied before - the patches stored in the Buildroot package directory. - * LIBFOO_SITE provides the location of the package, which can be a - URL or a local filesystem path. HTTP, FTP and SCP are supported - URL types for retrieving package tarballs. In these cases don’t - include a trailing slash: it will be added by Buildroot between - the directory and the filename as appropriate. Git, Subversion, - Mercurial, and Bazaar are supported URL types for retrieving - packages directly from source code management systems. There is a - helper function to make it easier to download source tarballs - from GitHub (refer to Section 17.22.3, “How to add a package from - GitHub” for details). A filesystem path may be used to specify - either a tarball or a directory containing the package source - code. See LIBFOO_SITE_METHOD below for more details on how - retrieval works. Note that SCP URLs should be of the form scp:// - [user@]host:filepath, and that filepath is relative to the user’s - home directory, so you may want to prepend the path with a slash - for absolute paths: scp://[user@]host:/absolutepath. If - HOST_LIBFOO_SITE is not specified, it defaults to LIBFOO_SITE. - Examples: LIBFOO_SITE=http://www.libfoosoftware.org/libfoo - LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor LIBFOO_SITE=/opt/ - software/libfoo.tar.gz LIBFOO_SITE=$(TOPDIR)/../src/libfoo - * LIBFOO_DL_OPTS is a space-separated list of additional options to - pass to the downloader. Useful for retrieving documents with - server-side checking for user logins and passwords, or to use a - proxy. All download methods valid for LIBFOO_SITE_METHOD are - supported; valid options depend on the download method (consult - the man page for the respective download utilities). - * LIBFOO_EXTRA_DOWNLOADS is a space-separated list of additional - files that Buildroot should download. If an entry contains :// - then Buildroot will assume it is a complete URL and will download - the file using this URL. Otherwise, Buildroot will assume the - file to be downloaded is located at LIBFOO_SITE. Buildroot will - not do anything with those additional files, except download - them: it will be up to the package recipe to use them from $ - (DL_DIR). - * LIBFOO_SITE_METHOD determines the method used to fetch or copy - the package source code. In many cases, Buildroot guesses the - method from the contents of LIBFOO_SITE and setting - LIBFOO_SITE_METHOD is unnecessary. When HOST_LIBFOO_SITE_METHOD - is not specified, it defaults to the value of LIBFOO_SITE_METHOD. - The possible values of LIBFOO_SITE_METHOD are: - - + wget for normal FTP/HTTP downloads of tarballs. Used by - default when LIBFOO_SITE begins with http://, https:// or - ftp://. - + scp for downloads of tarballs over SSH with scp. Used by - default when LIBFOO_SITE begins with scp://. - + svn for retrieving source code from a Subversion repository. - Used by default when LIBFOO_SITE begins with svn://. When a - http:// Subversion repository URL is specified in - LIBFOO_SITE, one must specify LIBFOO_SITE_METHOD=svn. - Buildroot performs a checkout which is preserved as a tarball - in the download cache; subsequent builds use the tarball - instead of performing another checkout. - + cvs for retrieving source code from a CVS repository. Used by - default when LIBFOO_SITE begins with cvs://. The downloaded - source code is cached as with the svn method. Anonymous - pserver mode is assumed otherwise explicitly defined on - LIBFOO_SITE. Both LIBFOO_SITE=cvs://libfoo.net:/cvsroot/ - libfoo and LIBFOO_SITE=cvs://:ext:libfoo.net:/cvsroot/libfoo - are accepted, on the former anonymous pserver access mode is - assumed. LIBFOO_SITE must contain the source URL as well as - the remote repository directory. The module is the package - name. LIBFOO_VERSION is mandatory and must be a tag, a - branch, or a date (e.g. "2014-10-20", "2014-10-20 13:45", - "2014-10-20 13:45+01" see "man cvs" for further details). - + git for retrieving source code from a Git repository. Used by - default when LIBFOO_SITE begins with git://. The downloaded - source code is cached as with the svn method. - + hg for retrieving source code from a Mercurial repository. - One must specify LIBFOO_SITE_METHOD=hg when LIBFOO_SITE - contains a Mercurial repository URL. The downloaded source - code is cached as with the svn method. - + bzr for retrieving source code from a Bazaar repository. Used - by default when LIBFOO_SITE begins with bzr://. The - downloaded source code is cached as with the svn method. - + file for a local tarball. One should use this when - LIBFOO_SITE specifies a package tarball as a local filename. - Useful for software that isn’t available publicly or in - version control. - + local for a local source code directory. One should use this - when LIBFOO_SITE specifies a local directory path containing - the package source code. Buildroot copies the contents of the - source directory into the package’s build directory. Note - that for local packages, no patches are applied. If you need - to still patch the source code, use LIBFOO_POST_RSYNC_HOOKS, - see Section 17.20.1, “Using the POST_RSYNC hook”. - * LIBFOO_GIT_SUBMODULES can be set to YES to create an archive with - the git submodules in the repository. This is only available for - packages downloaded with git (i.e. when LIBFOO_SITE_METHOD=git). - Note that we try not to use such git submodules when they contain - bundled libraries, in which case we prefer to use those libraries - from their own package. - * LIBFOO_STRIP_COMPONENTS is the number of leading components - (directories) that tar must strip from file names on extraction. - The tarball for most packages has one leading component named " - -", thus Buildroot passes - --strip-components=1 to tar to remove it. For non-standard - packages that don’t have this component, or that have more than - one leading component to strip, set this variable with the value - to be passed to tar. Default: 1. - * LIBFOO_EXCLUDES is a space-separated list of patterns to exclude - when extracting the archive. Each item from that list is passed - as a tar’s --exclude option. By default, empty. - * LIBFOO_DEPENDENCIES lists the dependencies (in terms of package - name) that are required for the current target package to - compile. These dependencies are guaranteed to be compiled and - installed before the configuration of the current package starts. - In a similar way, HOST_LIBFOO_DEPENDENCIES lists the dependencies - for the current host package. - * LIBFOO_PATCH_DEPENDENCIES lists the dependencies (in terms of - package name) that are required for the current package to be - patched. These dependencies are guaranteed to be extracted and - patched before the current package is patched. In a similar way, - HOST_LIBFOO_PATCH_DEPENDENCIES lists the dependencies for the - current host package. This is seldom used; usually, - LIBFOO_DEPENDENCIES is what you really want to use. - * LIBFOO_PROVIDES lists all the virtual packages libfoo is an - implementation of. See Section 17.11, “Infrastructure for virtual - packages”. - * LIBFOO_INSTALL_STAGING can be set to YES or NO (default). If set - to YES, then the commands in the LIBFOO_INSTALL_STAGING_CMDS - variables are executed to install the package into the staging - directory. - * LIBFOO_INSTALL_TARGET can be set to YES (default) or NO. If set - to YES, then the commands in the LIBFOO_INSTALL_TARGET_CMDS - variables are executed to install the package into the target - directory. - * LIBFOO_INSTALL_IMAGES can be set to YES or NO (default). If set - to YES, then the commands in the LIBFOO_INSTALL_IMAGES_CMDS - variable are executed to install the package into the images - directory. - * LIBFOO_CONFIG_SCRIPTS lists the names of the files in $ - (STAGING_DIR)/usr/bin that need some special fixing to make them - cross-compiling friendly. Multiple file names separated by space - can be given and all are relative to $(STAGING_DIR)/usr/bin. The - files listed in LIBFOO_CONFIG_SCRIPTS are also removed from $ - (TARGET_DIR)/usr/bin since they are not needed on the target. - * LIBFOO_DEVICES lists the device files to be created by Buildroot - when using the static device table. The syntax to use is the - makedevs one. You can find some documentation for this syntax in - the Chapter 23, Makedev syntax documentation. This variable is - optional. - * LIBFOO_PERMISSIONS lists the changes of permissions to be done at - the end of the build process. The syntax is once again the - makedevs one. You can find some documentation for this syntax in - the Chapter 23, Makedev syntax documentation. This variable is - optional. - * LIBFOO_USERS lists the users to create for this package, if it - installs a program you want to run as a specific user (e.g. as a - daemon, or as a cron-job). The syntax is similar in spirit to the - makedevs one, and is described in the Chapter 24, Makeusers - syntax documentation. This variable is optional. - * LIBFOO_LICENSE defines the license (or licenses) under which the - package is released. This name will appear in the manifest file - produced by make legal-info. If the license appears in the SPDX - License List [https://spdx.org/licenses/], use the SPDX short - identifier to make the manifest file uniform. Otherwise, describe - the license in a precise and concise way, avoiding ambiguous - names such as BSD which actually name a family of licenses. This - variable is optional. If it is not defined, unknown will appear - in the license field of the manifest file for this package. The - expected format for this variable must comply with the following - rules: - - + If different parts of the package are released under - different licenses, then comma separate licenses (e.g. - LIBFOO_LICENSE = GPL-2.0+, LGPL-2.1+). If there is clear - distinction between which component is licensed under what - license, then annotate the license with that component, - between parenthesis (e.g. LIBFOO_LICENSE = GPL-2.0+ - (programs), LGPL-2.1+ (libraries)). - + If the package is dual licensed, then separate licenses with - the or keyword (e.g. LIBFOO_LICENSE = AFL-2.1 or GPL-2.0+). - * LIBFOO_LICENSE_FILES is a space-separated list of files in the - package tarball that contain the license(s) under which the - package is released. make legal-info copies all of these files in - the legal-info directory. See Chapter 12, Legal notice and - licensing for more information. This variable is optional. If it - is not defined, a warning will be produced to let you know, and - not saved will appear in the license files field of the manifest - file for this package. - * LIBFOO_ACTUAL_SOURCE_TARBALL only applies to packages whose - LIBFOO_SITE / LIBTOO_SOURCE pair points to an archive that does - not actually contain source code, but binary code. This a very - uncommon case, only known to apply to external toolchains which - come already compiled, although theoretically it might apply to - other packages. In such cases a separate tarball is usually - available with the actual source code. Set - LIBFOO_ACTUAL_SOURCE_TARBALL to the name of the actual source - code archive and Buildroot will download it and use it when you - run make legal-info to collect legally-relevant material. Note - this file will not be downloaded during regular builds nor by - make source. - * LIBFOO_ACTUAL_SOURCE_SITE provides the location of the actual - source tarball. The default value is LIBFOO_SITE, so you don’t - need to set this variable if the binary and source archives are - hosted on the same directory. If LIBFOO_ACTUAL_SOURCE_TARBALL is - not set, it doesn’t make sense to define - LIBFOO_ACTUAL_SOURCE_SITE. - * LIBFOO_REDISTRIBUTE can be set to YES (default) or NO to indicate - if the package source code is allowed to be redistributed. Set it - to NO for non-opensource packages: Buildroot will not save the - source code for this package when collecting the legal-info. - * LIBFOO_FLAT_STACKSIZE defines the stack size of an application - built into the FLAT binary format. The application stack size on - the NOMMU architecture processors can’t be enlarged at run time. - The default stack size for the FLAT binary format is only 4k - bytes. If the application consumes more stack, append the - required number here. - * LIBFOO_BIN_ARCH_EXCLUDE is a space-separated list of paths - (relative to the target directory) to ignore when checking that - the package installs correctly cross-compiled binaries. You - seldom need to set this variable, unless the package installs - binary blobs outside the default locations, /lib/firmware, /usr/ - lib/firmware, /lib/modules, /usr/lib/modules, and /usr/share, - which are automatically excluded. - -The recommended way to define these variables is to use the following -syntax: - -LIBFOO_VERSION = 2.32 - -Now, the variables that define what should be performed at the -different steps of the build process. - - * LIBFOO_EXTRACT_CMDS lists the actions to be performed to extract - the package. This is generally not needed as tarballs are - automatically handled by Buildroot. However, if the package uses - a non-standard archive format, such as a ZIP or RAR file, or has - a tarball with a non-standard organization, this variable allows - to override the package infrastructure default behavior. - * LIBFOO_CONFIGURE_CMDS lists the actions to be performed to - configure the package before its compilation. - * LIBFOO_BUILD_CMDS lists the actions to be performed to compile - the package. - * HOST_LIBFOO_INSTALL_CMDS lists the actions to be performed to - install the package, when the package is a host package. The - package must install its files to the directory given by $ - (HOST_DIR). All files, including development files such as - headers should be installed, since other packages might be - compiled on top of this package. - * LIBFOO_INSTALL_TARGET_CMDS lists the actions to be performed to - install the package to the target directory, when the package is - a target package. The package must install its files to the - directory given by $(TARGET_DIR). Only the files required for - execution of the package have to be installed. Header files, - static libraries and documentation will be removed again when the - target filesystem is finalized. - * LIBFOO_INSTALL_STAGING_CMDS lists the actions to be performed to - install the package to the staging directory, when the package is - a target package. The package must install its files to the - directory given by $(STAGING_DIR). All development files should - be installed, since they might be needed to compile other - packages. - * LIBFOO_INSTALL_IMAGES_CMDS lists the actions to be performed to - install the package to the images directory, when the package is - a target package. The package must install its files to the - directory given by $(BINARIES_DIR). Only files that are binary - images (aka images) that do not belong in the TARGET_DIR but are - necessary for booting the board should be placed here. For - example, a package should utilize this step if it has binaries - which would be similar to the kernel image, bootloader or root - filesystem images. - * LIBFOO_INSTALL_INIT_SYSV and LIBFOO_INSTALL_INIT_SYSTEMD list the - actions to install init scripts either for the systemV-like init - systems (busybox, sysvinit, etc.) or for the systemd units. These - commands will be run only when the relevant init system is - installed (i.e. if systemd is selected as the init system in the - configuration, only LIBFOO_INSTALL_INIT_SYSTEMD will be run). - * LIBFOO_HELP_CMDS lists the actions to print the package help, - which is included to the main make help output. These commands - can print anything in any format. This is seldom used, as - packages rarely have custom rules. Do not use this variable, - unless you really know that you need to print help. - -The preferred way to define these variables is: - -define LIBFOO_CONFIGURE_CMDS - action 1 - action 2 - action 3 -endef - -In the action definitions, you can use the following variables: - - * $(LIBFOO_PKGDIR) contains the path to the directory containing - the libfoo.mk and Config.in files. This variable is useful when - it is necessary to install a file bundled in Buildroot, like a - runtime configuration file, a splashscreen image… - * $(@D), which contains the directory in which the package source - code has been uncompressed. - * $(DL_DIR) contains the path to the directory where all the - downloads made by Buildroot are stored. - * $(TARGET_CC), $(TARGET_LD), etc. to get the target - cross-compilation utilities - * $(TARGET_CROSS) to get the cross-compilation toolchain prefix - * Of course the $(HOST_DIR), $(STAGING_DIR) and $(TARGET_DIR) - variables to install the packages properly. - -Finally, you can also use hooks. See Section 17.20, “Hooks available -in the various build steps” for more information. - -17.6. Infrastructure for autotools-based packages - -17.6.1. autotools-package tutorial - -First, let’s see how to write a .mk file for an autotools-based -package, with an example : - -01: ################################################################################ -02: # -03: # libfoo -04: # -05: ################################################################################ -06: -07: LIBFOO_VERSION = 1.0 -08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz -09: LIBFOO_SITE = http://www.foosoftware.org/download -10: LIBFOO_INSTALL_STAGING = YES -11: LIBFOO_INSTALL_TARGET = NO -12: LIBFOO_CONF_OPTS = --disable-shared -13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf -14: -15: $(eval $(autotools-package)) - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball (xz-ed tarball -recommended) and the location of the tarball on the Web. Buildroot -will automatically download the tarball from this location. - -On line 10, we tell Buildroot to install the package to the staging -directory. The staging directory, located in output/staging/ is the -directory where all the packages are installed, including their -development files, etc. By default, packages are not installed to the -staging directory, since usually, only libraries need to be installed -in the staging directory: their development files are needed to -compile other libraries or applications depending on them. Also by -default, when staging installation is enabled, packages are installed -in this location using the make install command. - -On line 11, we tell Buildroot to not install the package to the -target directory. This directory contains what will become the root -filesystem running on the target. For purely static libraries, it is -not necessary to install them in the target directory because they -will not be used at runtime. By default, target installation is -enabled; setting this variable to NO is almost never needed. Also by -default, packages are installed in this location using the make -install command. - -On line 12, we tell Buildroot to pass a custom configure option, that -will be passed to the ./configure script before configuring and -building the package. - -On line 13, we declare our dependencies, so that they are built -before the build process of our package starts. - -Finally, on line line 15, we invoke the autotools-package macro that -generates all the Makefile rules that actually allows the package to -be built. - -17.6.2. autotools-package reference - -The main macro of the autotools package infrastructure is -autotools-package. It is similar to the generic-package macro. The -ability to have target and host packages is also available, with the -host-autotools-package macro. - -Just like the generic infrastructure, the autotools infrastructure -works by defining a number of variables before calling the -autotools-package macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the autotools -infrastructure: LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, -LIBFOO_SITE, LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, -LIBFOO_INSTALL_STAGING, LIBFOO_INSTALL_TARGET. - -A few additional variables, specific to the autotools infrastructure, -can also be defined. Many of them are only useful in very specific -cases, typical packages will therefore only use a few of them. - - * LIBFOO_SUBDIR may contain the name of a subdirectory inside the - package that contains the configure script. This is useful, if - for example, the main configure script is not at the root of the - tree extracted by the tarball. If HOST_LIBFOO_SUBDIR is not - specified, it defaults to LIBFOO_SUBDIR. - * LIBFOO_CONF_ENV, to specify additional environment variables to - pass to the configure script. By default, empty. - * LIBFOO_CONF_OPTS, to specify additional configure options to pass - to the configure script. By default, empty. - * LIBFOO_MAKE, to specify an alternate make command. This is - typically useful when parallel make is enabled in the - configuration (using BR2_JLEVEL) but that this feature should be - disabled for the given package, for one reason or another. By - default, set to $(MAKE). If parallel building is not supported by - the package, then it should be set to LIBFOO_MAKE=$(MAKE1). - * LIBFOO_MAKE_ENV, to specify additional environment variables to - pass to make in the build step. These are passed before the make - command. By default, empty. - * LIBFOO_MAKE_OPTS, to specify additional variables to pass to make - in the build step. These are passed after the make command. By - default, empty. - * LIBFOO_AUTORECONF, tells whether the package should be - autoreconfigured or not (i.e. if the configure script and - Makefile.in files should be re-generated by re-running autoconf, - automake, libtool, etc.). Valid values are YES and NO. By - default, the value is NO - * LIBFOO_AUTORECONF_ENV, to specify additional environment - variables to pass to the autoreconf program if LIBFOO_AUTORECONF= - YES. These are passed in the environment of the autoreconf - command. By default, empty. - * LIBFOO_AUTORECONF_OPTS to specify additional options passed to - the autoreconf program if LIBFOO_AUTORECONF=YES. By default, - empty. - * LIBFOO_GETTEXTIZE, tells whether the package should be - gettextized or not (i.e. if the package uses a different gettext - version than Buildroot provides, and it is needed to run - gettextize.) Only valid when LIBFOO_AUTORECONF=YES. Valid values - are YES and NO. The default is NO. - * LIBFOO_GETTEXTIZE_OPTS, to specify additional options passed to - the gettextize program, if LIBFOO_GETTEXTIZE=YES. You may use - that if, for example, the .po files are not located in the - standard place (i.e. in po/ at the root of the package.) By - default, -f. - * LIBFOO_LIBTOOL_PATCH tells whether the Buildroot patch to fix - libtool cross-compilation issues should be applied or not. Valid - values are YES and NO. By default, the value is YES - * LIBFOO_INSTALL_STAGING_OPTS contains the make options used to - install the package to the staging directory. By default, the - value is DESTDIR=$(STAGING_DIR) install, which is correct for - most autotools packages. It is still possible to override it. - * LIBFOO_INSTALL_TARGET_OPTS contains the make options used to - install the package to the target directory. By default, the - value is DESTDIR=$(TARGET_DIR) install. The default value is - correct for most autotools packages, but it is still possible to - override it if needed. - -With the autotools infrastructure, all the steps required to build -and install the packages are already defined, and they generally work -well for most autotools-based packages. However, when required, it is -still possible to customize what is done in any particular step: - - * By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.20, “Hooks available in the - various build steps” for details. - * By overriding one of the steps. For example, even if the - autotools infrastructure is used, if the package .mk file defines - its own LIBFOO_CONFIGURE_CMDS variable, it will be used instead - of the default autotools one. However, using this method should - be restricted to very specific cases. Do not use it in the - general case. - -17.7. Infrastructure for CMake-based packages - -17.7.1. cmake-package tutorial - -First, let’s see how to write a .mk file for a CMake-based package, -with an example : - -01: ################################################################################ -02: # -03: # libfoo -04: # -05: ################################################################################ -06: -07: LIBFOO_VERSION = 1.0 -08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz -09: LIBFOO_SITE = http://www.foosoftware.org/download -10: LIBFOO_INSTALL_STAGING = YES -11: LIBFOO_INSTALL_TARGET = NO -12: LIBFOO_CONF_OPTS = -DBUILD_DEMOS=ON -13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf -14: -15: $(eval $(cmake-package)) - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball (xz-ed tarball -recommended) and the location of the tarball on the Web. Buildroot -will automatically download the tarball from this location. - -On line 10, we tell Buildroot to install the package to the staging -directory. The staging directory, located in output/staging/ is the -directory where all the packages are installed, including their -development files, etc. By default, packages are not installed to the -staging directory, since usually, only libraries need to be installed -in the staging directory: their development files are needed to -compile other libraries or applications depending on them. Also by -default, when staging installation is enabled, packages are installed -in this location using the make install command. - -On line 11, we tell Buildroot to not install the package to the -target directory. This directory contains what will become the root -filesystem running on the target. For purely static libraries, it is -not necessary to install them in the target directory because they -will not be used at runtime. By default, target installation is -enabled; setting this variable to NO is almost never needed. Also by -default, packages are installed in this location using the make -install command. - -On line 12, we tell Buildroot to pass custom options to CMake when it -is configuring the package. - -On line 13, we declare our dependencies, so that they are built -before the build process of our package starts. - -Finally, on line line 15, we invoke the cmake-package macro that -generates all the Makefile rules that actually allows the package to -be built. - -17.7.2. cmake-package reference - -The main macro of the CMake package infrastructure is cmake-package. -It is similar to the generic-package macro. The ability to have -target and host packages is also available, with the -host-cmake-package macro. - -Just like the generic infrastructure, the CMake infrastructure works -by defining a number of variables before calling the cmake-package -macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the CMake infrastructure: -LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, -LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, -LIBFOO_INSTALL_TARGET. - -A few additional variables, specific to the CMake infrastructure, can -also be defined. Many of them are only useful in very specific cases, -typical packages will therefore only use a few of them. - - * LIBFOO_SUBDIR may contain the name of a subdirectory inside the - package that contains the main CMakeLists.txt file. This is - useful, if for example, the main CMakeLists.txt file is not at - the root of the tree extracted by the tarball. If - HOST_LIBFOO_SUBDIR is not specified, it defaults to - LIBFOO_SUBDIR. - * LIBFOO_CONF_ENV, to specify additional environment variables to - pass to CMake. By default, empty. - * LIBFOO_CONF_OPTS, to specify additional configure options to pass - to CMake. By default, empty. A number of common CMake options are - set by the cmake-package infrastructure; so it is normally not - necessary to set them in the package’s *.mk file unless you want - to override them: - - + CMAKE_BUILD_TYPE is driven by BR2_ENABLE_DEBUG; - + CMAKE_INSTALL_PREFIX; - + BUILD_SHARED_LIBS is driven by BR2_STATIC_LIBS; - + BUILD_DOC, BUILD_DOCS are disabled; - + BUILD_EXAMPLE, BUILD_EXAMPLES are disabled; - + BUILD_TEST, BUILD_TESTS, BUILD_TESTING are disabled. - * LIBFOO_SUPPORTS_IN_SOURCE_BUILD = NO should be set when the - package cannot be built inside the source tree but needs a - separate build directory. - * LIBFOO_MAKE, to specify an alternate make command. This is - typically useful when parallel make is enabled in the - configuration (using BR2_JLEVEL) but that this feature should be - disabled for the given package, for one reason or another. By - default, set to $(MAKE). If parallel building is not supported by - the package, then it should be set to LIBFOO_MAKE=$(MAKE1). - * LIBFOO_MAKE_ENV, to specify additional environment variables to - pass to make in the build step. These are passed before the make - command. By default, empty. - * LIBFOO_MAKE_OPTS, to specify additional variables to pass to make - in the build step. These are passed after the make command. By - default, empty. - * LIBFOO_INSTALL_STAGING_OPTS contains the make options used to - install the package to the staging directory. By default, the - value is DESTDIR=$(STAGING_DIR) install, which is correct for - most CMake packages. It is still possible to override it. - * LIBFOO_INSTALL_TARGET_OPTS contains the make options used to - install the package to the target directory. By default, the - value is DESTDIR=$(TARGET_DIR) install. The default value is - correct for most CMake packages, but it is still possible to - override it if needed. - -With the CMake infrastructure, all the steps required to build and -install the packages are already defined, and they generally work -well for most CMake-based packages. However, when required, it is -still possible to customize what is done in any particular step: - - * By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.20, “Hooks available in the - various build steps” for details. - * By overriding one of the steps. For example, even if the CMake - infrastructure is used, if the package .mk file defines its own - LIBFOO_CONFIGURE_CMDS variable, it will be used instead of the - default CMake one. However, using this method should be - restricted to very specific cases. Do not use it in the general - case. - -17.8. Infrastructure for Python packages - -This infrastructure applies to Python packages that use the standard -Python setuptools mechanism as their build system, generally -recognizable by the usage of a setup.py script. - -17.8.1. python-package tutorial - -First, let’s see how to write a .mk file for a Python package, with -an example : - -01: ################################################################################ -02: # -03: # python-foo -04: # -05: ################################################################################ -06: -07: PYTHON_FOO_VERSION = 1.0 -08: PYTHON_FOO_SOURCE = python-foo-$(PYTHON_FOO_VERSION).tar.xz -09: PYTHON_FOO_SITE = http://www.foosoftware.org/download -10: PYTHON_FOO_LICENSE = BSD-3-Clause -11: PYTHON_FOO_LICENSE_FILES = LICENSE -12: PYTHON_FOO_ENV = SOME_VAR=1 -13: PYTHON_FOO_DEPENDENCIES = libmad -14: PYTHON_FOO_SETUP_TYPE = distutils -15: -16: $(eval $(python-package)) - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball (xz-ed tarball -recommended) and the location of the tarball on the Web. Buildroot -will automatically download the tarball from this location. - -On line 10 and 11, we give licensing details about the package (its -license on line 10, and the file containing the license text on line -11). - -On line 12, we tell Buildroot to pass custom options to the Python -setup.py script when it is configuring the package. - -On line 13, we declare our dependencies, so that they are built -before the build process of our package starts. - -On line 14, we declare the specific Python build system being used. -In this case the distutils Python build system is used. The two -supported ones are distutils and setuptools. - -Finally, on line 16, we invoke the python-package macro that -generates all the Makefile rules that actually allow the package to -be built. - -17.8.2. python-package reference - -As a policy, packages that merely provide Python modules should all -be named python- in Buildroot. Other packages that use the -Python build system, but are not Python modules, can freely choose -their name (existing examples in Buildroot are scons and supervisor). - -In their Config.in file, they should depend on BR2_PACKAGE_PYTHON so -that when Buildroot will enable Python 3 usage for modules, we will -be able to enable Python modules progressively on Python 3. - -The main macro of the Python package infrastructure is -python-package. It is similar to the generic-package macro. It is -also possible to create Python host packages with the -host-python-package macro. - -Just like the generic infrastructure, the Python infrastructure works -by defining a number of variables before calling the python-package -or host-python-package macros. - -All the package metadata information variables that exist in the -generic package infrastructure Section 17.5.2, “generic-package -reference” also exist in the Python infrastructure: -PYTHON_FOO_VERSION, PYTHON_FOO_SOURCE, PYTHON_FOO_PATCH, -PYTHON_FOO_SITE, PYTHON_FOO_SUBDIR, PYTHON_FOO_DEPENDENCIES, -PYTHON_FOO_LICENSE, PYTHON_FOO_LICENSE_FILES, -PYTHON_FOO_INSTALL_STAGING, etc. - -Note that: - - * It is not necessary to add python or host-python in the - PYTHON_FOO_DEPENDENCIES variable of a package, since these basic - dependencies are automatically added as needed by the Python - package infrastructure. - * Similarly, it is not needed to add host-setuptools and/or - host-distutilscross dependencies to PYTHON_FOO_DEPENDENCIES for - setuptools-based packages, since these are automatically added by - the Python infrastructure as needed. - -One variable specific to the Python infrastructure is mandatory: - - * PYTHON_FOO_SETUP_TYPE, to define which Python build system is - used by the package. The two supported values are distutils and - setuptools. If you don’t know which one is used in your package, - look at the setup.py file in your package source code, and see - whether it imports things from the distutils module or the - setuptools module. - -A few additional variables, specific to the Python infrastructure, -can optionally be defined, depending on the package’s needs. Many of -them are only useful in very specific cases, typical packages will -therefore only use a few of them, or none. - - * PYTHON_FOO_ENV, to specify additional environment variables to - pass to the Python setup.py script (for both the build and - install steps). Note that the infrastructure is automatically - passing several standard variables, defined in - PKG_PYTHON_DISTUTILS_ENV (for distutils target packages), - HOST_PKG_PYTHON_DISTUTILS_ENV (for distutils host packages), - PKG_PYTHON_SETUPTOOLS_ENV (for setuptools target packages) and - HOST_PKG_PYTHON_SETUPTOOLS_ENV (for setuptools host packages). - * PYTHON_FOO_BUILD_OPTS, to specify additional options to pass to - the Python setup.py script during the build step. For target - distutils packages, the PKG_PYTHON_DISTUTILS_BUILD_OPTS options - are already passed automatically by the infrastructure. - * PYTHON_FOO_INSTALL_TARGET_OPTS, PYTHON_FOO_INSTALL_STAGING_OPTS, - HOST_PYTHON_FOO_INSTALL_OPTS to specify additional options to - pass to the Python setup.py script during the target installation - step, the staging installation step or the host installation, - respectively. Note that the infrastructure is automatically - passing some options, defined in - PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS or - PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS (for target distutils - packages), HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS (for host - distutils packages), PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS or - PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS (for target setuptools - packages) and HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS (for host - setuptools packages). - * HOST_PYTHON_FOO_NEEDS_HOST_PYTHON, to define the host python - interpreter. The usage of this variable is limited to host - packages. The two supported value are python2 and python3. It - will ensure the right host python package is available and will - invoke it for the build. If some build steps are overloaded, the - right python interpreter must be explicitly called in the - commands. - -With the Python infrastructure, all the steps required to build and -install the packages are already defined, and they generally work -well for most Python-based packages. However, when required, it is -still possible to customize what is done in any particular step: - - * By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.20, “Hooks available in the - various build steps” for details. - * By overriding one of the steps. For example, even if the Python - infrastructure is used, if the package .mk file defines its own - PYTHON_FOO_BUILD_CMDS variable, it will be used instead of the - default Python one. However, using this method should be - restricted to very specific cases. Do not use it in the general - case. - -17.8.3. Generating a python-package from a PyPI repository - -If the Python package for which you would like to create a Buildroot -package is available on PyPI, you may want to use the scanpypi tool -located in utils/ to automate the process. - -You can find the list of existing PyPI packages here [https:// -pypi.python.org]. - -scanpypi requires Python’s setuptools package to be installed on your -host. - -When at the root of your buildroot directory just do : - -utils/scanpypi foo bar -o package - -This will generate packages python-foo and python-bar in the package -folder if they exist on https://pypi.python.org. - -Find the external python modules menu and insert your package inside. -Keep in mind that the items inside a menu should be in alphabetical -order. - -Please keep in mind that you’ll most likely have to manually check -the package for any mistakes as there are things that cannot be -guessed by the generator (e.g. dependencies on any of the python core -modules such as BR2_PACKAGE_PYTHON_ZLIB). Also, please take note that -the license and license files are guessed and must be checked. You -also need to manually add the package to the package/Config.in file. - -If your Buildroot package is not in the official Buildroot tree but -in a br2-external tree, use the -o flag as follows: - -utils/scanpypi foo bar -o other_package_dir - -This will generate packages python-foo and python-bar in the -other_package_directory instead of package. - -Option -h will list the available options: - -utils/scanpypi -h - -17.8.4. python-package CFFI backend - -C Foreign Function Interface for Python (CFFI) provides a convenient -and reliable way to call compiled C code from Python using interface -declarations written in C. Python packages relying on this backend -can be identified by the appearance of a cffi dependency in the -install_requires field of their setup.py file. - -Such a package should: - - * add python-cffi as a runtime dependency in order to install the - compiled C library wrapper on the target. This is achieved by - adding select BR2_PACKAGE_PYTHON_CFFI to the package Config.in. - -config BR2_PACKAGE_PYTHON_FOO - bool "python-foo" - select BR2_PACKAGE_PYTHON_CFFI # runtime - - * add host-python-cffi as a build-time dependency in order to - cross-compile the C wrapper. This is achieved by adding - host-python-cffi to the PYTHON_FOO_DEPENDENCIES variable. - -################################################################################ -# -# python-foo -# -################################################################################ - -... - -PYTHON_FOO_DEPENDENCIES = host-python-cffi - -$(eval $(python-package)) - -17.9. Infrastructure for LuaRocks-based packages - -17.9.1. luarocks-package tutorial - -First, let’s see how to write a .mk file for a LuaRocks-based -package, with an example : - -01: ################################################################################ -02: # -03: # lua-foo -04: # -05: ################################################################################ -06: -07: LUA_FOO_VERSION = 1.0.2-1 -08: LUA_FOO_NAME_UPSTREAM = foo -09: LUA_FOO_DEPENDENCIES = bar -10: -11: LUA_FOO_BUILD_OPTS += BAR_INCDIR=$(STAGING_DIR)/usr/include -12: LUA_FOO_BUILD_OPTS += BAR_LIBDIR=$(STAGING_DIR)/usr/lib -13: LUA_FOO_LICENSE = luaFoo license -14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING -15: -16: $(eval $(luarocks-package)) - -On line 7, we declare the version of the package (the same as in the -rockspec, which is the concatenation of the upstream version and the -rockspec revision, separated by a hyphen -). - -On line 8, we declare that the package is called "foo" on LuaRocks. -In Buildroot, we give Lua-related packages a name that starts with -"lua", so the Buildroot name is different from the upstream name. -LUA_FOO_NAME_UPSTREAM makes the link between the two names. - -On line 9, we declare our dependencies against native libraries, so -that they are built before the build process of our package starts. - -On lines 11-12, we tell Buildroot to pass custom options to LuaRocks -when it is building the package. - -On lines 13-14, we specify the licensing terms for the package. - -Finally, on line 16, we invoke the luarocks-package macro that -generates all the Makefile rules that actually allows the package to -be built. - -17.9.2. luarocks-package reference - -LuaRocks is a deployment and management system for Lua modules, and -supports various build.type: builtin, make and cmake. In the context -of Buildroot, the luarocks-package infrastructure only supports the -builtin mode. LuaRocks packages that use the make or cmake build -mechanisms should instead be packaged using the generic-package and -cmake-package infrastructures in Buildroot, respectively. - -The main macro of the LuaRocks package infrastructure is -luarocks-package: like generic-package it works by defining a number -of variables providing metadata information about the package, and -then calling luarocks-package. It is worth mentioning that building -LuaRocks packages for the host is not supported, so the macro -host-luarocks-package is not implemented. - -Just like the generic infrastructure, the LuaRocks infrastructure -works by defining a number of variables before calling the -luarocks-package macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the LuaRocks infrastructure: -LUA_FOO_VERSION, LUA_FOO_SOURCE, LUA_FOO_SITE, LUA_FOO_DEPENDENCIES, -LUA_FOO_LICENSE, LUA_FOO_LICENSE_FILES. - -Two of them are populated by the LuaRocks infrastructure (for the -download step). If your package is not hosted on the LuaRocks mirror -$(BR2_LUAROCKS_MIRROR), you can override them: - - * LUA_FOO_SITE, which defaults to $(BR2_LUAROCKS_MIRROR) - * LUA_FOO_SOURCE, which defaults to $(lowercase - LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).src.rock - -A few additional variables, specific to the LuaRocks infrastructure, -are also defined. They can be overridden in specific cases. - - * LUA_FOO_NAME_UPSTREAM, which defaults to lua-foo, i.e. the - Buildroot package name - * LUA_FOO_ROCKSPEC, which defaults to $(lowercase - LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).rockspec - * LUA_FOO_SUBDIR, which defaults to $(LUA_FOO_NAME_UPSTREAM)-$ - (LUA_FOO_VERSION_WITHOUT_ROCKSPEC_REVISION) - * LUA_FOO_BUILD_OPTS contains additional build options for the - luarocks build call. - -17.10. Infrastructure for Perl/CPAN packages - -17.10.1. perl-package tutorial - -First, let’s see how to write a .mk file for a Perl/CPAN package, -with an example : - -01: ################################################################################ -02: # -03: # perl-foo-bar -04: # -05: ################################################################################ -06: -07: PERL_FOO_BAR_VERSION = 0.02 -08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz -09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER -10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures -11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+ -12: PERL_FOO_BAR_LICENSE_FILES = LICENSE -13: -14: $(eval $(perl-package)) - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball and the location -of the tarball on a CPAN server. Buildroot will automatically -download the tarball from this location. - -On line 10, we declare our dependencies, so that they are built -before the build process of our package starts. - -On line 11 and 12, we give licensing details about the package (its -license on line 11, and the file containing the license text on line -12). - -Finally, on line 14, we invoke the perl-package macro that generates -all the Makefile rules that actually allow the package to be built. - -Most of these data can be retrieved from https://metacpan.org/. So, -this file and the Config.in can be generated by running the script -utils/scancpan Foo-Bar in the Buildroot directory (or in a -br2-external tree). This script creates a Config.in file and -foo-bar.mk file for the requested package, and also recursively for -all dependencies specified by CPAN. You should still manually edit -the result. In particular, the following things should be checked. - - * If the perl module links with a shared library that is provided - by another (non-perl) package, this dependency is not added - automatically. It has to be added manually to - PERL_FOO_BAR_DEPENDENCIES. - * The package/Config.in file has to be updated manually to include - the generated Config.in files. As a hint, the scancpan script - prints out the required source "…" statements, sorted - alphabetically. - -17.10.2. perl-package reference - -As a policy, packages that provide Perl/CPAN modules should all be -named perl- in Buildroot. - -This infrastructure handles various Perl build systems : -ExtUtils-MakeMaker (EUMM), Module-Build (MB) and Module-Build-Tiny. -Build.PL is preferred by default when a package provides a -Makefile.PL and a Build.PL. - -The main macro of the Perl/CPAN package infrastructure is -perl-package. It is similar to the generic-package macro. The ability -to have target and host packages is also available, with the -host-perl-package macro. - -Just like the generic infrastructure, the Perl/CPAN infrastructure -works by defining a number of variables before calling the -perl-package macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the Perl/CPAN -infrastructure: PERL_FOO_VERSION, PERL_FOO_SOURCE, PERL_FOO_PATCH, -PERL_FOO_SITE, PERL_FOO_SUBDIR, PERL_FOO_DEPENDENCIES, -PERL_FOO_INSTALL_TARGET. - -Note that setting PERL_FOO_INSTALL_STAGING to YES has no effect -unless a PERL_FOO_INSTALL_STAGING_CMDS variable is defined. The perl -infrastructure doesn’t define these commands since Perl modules -generally don’t need to be installed to the staging directory. - -A few additional variables, specific to the Perl/CPAN infrastructure, -can also be defined. Many of them are only useful in very specific -cases, typical packages will therefore only use a few of them. - - * PERL_FOO_PREFER_INSTALLER/HOST_PERL_FOO_PREFER_INSTALLER, - specifies the preferred installation method. Possible values are - EUMM (for Makefile.PL based installation using - ExtUtils-MakeMaker) and MB (for Build.PL based installation using - Module-Build). This variable is only used when the package - provides both installation methods. - * PERL_FOO_CONF_ENV/HOST_PERL_FOO_CONF_ENV, to specify additional - environment variables to pass to the perl Makefile.PL or perl - Build.PL. By default, empty. - * PERL_FOO_CONF_OPTS/HOST_PERL_FOO_CONF_OPTS, to specify additional - configure options to pass to the perl Makefile.PL or perl - Build.PL. By default, empty. - * PERL_FOO_BUILD_OPTS/HOST_PERL_FOO_BUILD_OPTS, to specify - additional options to pass to make pure_all or perl Build build - in the build step. By default, empty. - * PERL_FOO_INSTALL_TARGET_OPTS, to specify additional options to - pass to make pure_install or perl Build install in the install - step. By default, empty. - * HOST_PERL_FOO_INSTALL_OPTS, to specify additional options to pass - to make pure_install or perl Build install in the install step. - By default, empty. - -17.11. Infrastructure for virtual packages - -In Buildroot, a virtual package is a package whose functionalities -are provided by one or more packages, referred to as providers. The -virtual package management is an extensible mechanism allowing the -user to choose the provider used in the rootfs. - -For example, OpenGL ES is an API for 2D and 3D graphics on embedded -systems. The implementation of this API is different for the -Allwinner Tech Sunxi and the Texas Instruments OMAP35xx platforms. So -libgles will be a virtual package and sunxi-mali and ti-gfx will be -the providers. - -17.11.1. virtual-package tutorial - -In the following example, we will explain how to add a new virtual -package (something-virtual) and a provider for it (some-provider). - -First, let’s create the virtual package. - -17.11.2. Virtual package’s Config.in file - -The Config.in file of virtual package something-virtual should -contain: - -01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL -02: bool -03: -04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL -05: depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL -06: string - -In this file, we declare two options, -BR2_PACKAGE_HAS_SOMETHING_VIRTUAL and -BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL, whose values will be used by -the providers. - -17.11.3. Virtual package’s .mk file - -The .mk for the virtual package should just evaluate the -virtual-package macro: - -01: ################################################################################ -02: # -03: # something-virtual -04: # -05: ################################################################################ -06: -07: $(eval $(virtual-package)) - -The ability to have target and host packages is also available, with -the host-virtual-package macro. - -17.11.4. Provider’s Config.in file - -When adding a package as a provider, only the Config.in file requires -some modifications. - -The Config.in file of the package some-provider, which provides the -functionalities of something-virtual, should contain: - -01: config BR2_PACKAGE_SOME_PROVIDER -02: bool "some-provider" -03: select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL -04: help -05: This is a comment that explains what some-provider is. -06: -07: http://foosoftware.org/some-provider/ -08: -09: if BR2_PACKAGE_SOME_PROVIDER -10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL -11: default "some-provider" -12: endif - -On line 3, we select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL, and on line -11, we set the value of BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL to the -name of the provider, but only if it is selected. - -17.11.5. Provider’s .mk file - -The .mk file should also declare an additional variable -SOME_PROVIDER_PROVIDES to contain the names of all the virtual -packages it is an implementation of: - -01: SOME_PROVIDER_PROVIDES = something-virtual - -Of course, do not forget to add the proper build and runtime -dependencies for this package! - -17.11.6. Notes on depending on a virtual package - -When adding a package that requires a certain FEATURE provided by a -virtual package, you have to use depends on BR2_PACKAGE_HAS_FEATURE, -like so: - -config BR2_PACKAGE_HAS_FEATURE - bool - -config BR2_PACKAGE_FOO - bool "foo" - depends on BR2_PACKAGE_HAS_FEATURE - -17.11.7. Notes on depending on a specific provider - -If your package really requires a specific provider, then you’ll have -to make your package depends on this provider; you can not select a -provider. - -Let’s take an example with two providers for a FEATURE: - -config BR2_PACKAGE_HAS_FEATURE - bool - -config BR2_PACKAGE_FOO - bool "foo" - select BR2_PACKAGE_HAS_FEATURE - -config BR2_PACKAGE_BAR - bool "bar" - select BR2_PACKAGE_HAS_FEATURE - -And you are adding a package that needs FEATURE as provided by foo, -but not as provided by bar. - -If you were to use select BR2_PACKAGE_FOO, then the user would still -be able to select BR2_PACKAGE_BAR in the menuconfig. This would -create a configuration inconsistency, whereby two providers of the -same FEATURE would be enabled at once, one explicitly set by the -user, the other implicitly by your select. - -Instead, you have to use depends on BR2_PACKAGE_FOO, which avoids any -implicit configuration inconsistency. - -17.12. Infrastructure for packages using kconfig for configuration -files - -A popular way for a software package to handle user-specified -configuration is kconfig. Among others, it is used by the Linux -kernel, Busybox, and Buildroot itself. The presence of a .config file -and a menuconfig target are two well-known symptoms of kconfig being -used. - -Buildroot features an infrastructure for packages that use kconfig -for their configuration. This infrastructure provides the necessary -logic to expose the package’s menuconfig target as foo-menuconfig in -Buildroot, and to handle the copying back and forth of the -configuration file in a correct way. - -The kconfig-package infrastructure is based on the generic-package -infrastructure. All variables supported by generic-package are -available in kconfig-package as well. See Section 17.5.2, -“generic-package reference” for more details. - -In order to use the kconfig-package infrastructure for a Buildroot -package, the minimally required lines in the .mk file, in addition to -the variables required by the generic-package infrastructure, are: - -FOO_KCONFIG_FILE = reference-to-source-configuration-file - -$(eval $(kconfig-package)) - -This snippet creates the following make targets: - - * foo-menuconfig, which calls the package’s menuconfig target - * foo-update-config, which copies the configuration back to the - source configuration file. It is not possible to use this target - when fragment files are set. - * foo-update-defconfig, which copies the configuration back to the - source configuration file. The configuration file will only list - the options that differ from the default values. It is not - possible to use this target when fragment files are set. - -and ensures that the source configuration file is copied to the build -directory at the right moment. - -There are two options to specify a configuration file to use, either -FOO_KCONFIG_FILE (as in the example, above) or FOO_KCONFIG_DEFCONFIG. -It is mandatory to provide either, but not both: - - * FOO_KCONFIG_FILE specifies the path to a defconfig or full-config - file to be used to configure the package. - * FOO_KCONFIG_DEFCONFIG specifies the defconfig make rule to call - to configure the package. - -In addition to these minimally required lines, several optional -variables can be set to suit the needs of the package under -consideration: - - * FOO_KCONFIG_EDITORS: a space-separated list of kconfig editors to - support, for example menuconfig xconfig. By default, menuconfig. - * FOO_KCONFIG_FRAGMENT_FILES: a space-separated list of - configuration fragment files that are merged to the main - configuration file. Fragment files are typically used when there - is a desire to stay in sync with an upstream (def)config file, - with some minor modifications. - * FOO_KCONFIG_OPTS: extra options to pass when calling the kconfig - editors. This may need to include $(FOO_MAKE_OPTS), for example. - By default, empty. - * FOO_KCONFIG_FIXUP_CMDS: a list of shell commands needed to fixup - the configuration file after copying it or running a kconfig - editor. Such commands may be needed to ensure a configuration - consistent with other configuration of Buildroot, for example. By - default, empty. - * FOO_KCONFIG_DOTCONFIG: path (with filename) of the .config file, - relative to the package source tree. The default, .config, should - be well suited for all packages that use the standard kconfig - infrastructure as inherited from the Linux kernel; some packages - use a derivative of kconfig that use a different location. - -17.13. Infrastructure for rebar-based packages - -17.13.1. rebar-package tutorial - -First, let’s see how to write a .mk file for a rebar-based package, -with an example : - -01: ################################################################################ -02: # -03: # erlang-foobar -04: # -05: ################################################################################ -06: -07: ERLANG_FOOBAR_VERSION = 1.0 -08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz -09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download -10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb -11: -12: $(eval $(rebar-package)) - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball (xz-ed tarball -recommended) and the location of the tarball on the Web. Buildroot -will automatically download the tarball from this location. - -On line 10, we declare our dependencies, so that they are built -before the build process of our package starts. - -Finally, on line 12, we invoke the rebar-package macro that generates -all the Makefile rules that actually allows the package to be built. - -17.13.2. rebar-package reference - -The main macro of the rebar package infrastructure is rebar-package. -It is similar to the generic-package macro. The ability to have host -packages is also available, with the host-rebar-package macro. - -Just like the generic infrastructure, the rebar infrastructure works -by defining a number of variables before calling the rebar-package -macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the rebar infrastructure: -ERLANG_FOOBAR_VERSION, ERLANG_FOOBAR_SOURCE, ERLANG_FOOBAR_PATCH, -ERLANG_FOOBAR_SITE, ERLANG_FOOBAR_SUBDIR, ERLANG_FOOBAR_DEPENDENCIES, -ERLANG_FOOBAR_INSTALL_STAGING, ERLANG_FOOBAR_INSTALL_TARGET, -ERLANG_FOOBAR_LICENSE and ERLANG_FOOBAR_LICENSE_FILES. - -A few additional variables, specific to the rebar infrastructure, can -also be defined. Many of them are only useful in very specific cases, -typical packages will therefore only use a few of them. - - * ERLANG_FOOBAR_USE_AUTOCONF, to specify that the package uses - autoconf at the configuration step. When a package sets this - variable to YES, the autotools infrastructure is used. - - Note. You can also use some of the variables from the autotools - infrastructure: ERLANG_FOOBAR_CONF_ENV, ERLANG_FOOBAR_CONF_OPTS, - ERLANG_FOOBAR_AUTORECONF, ERLANG_FOOBAR_AUTORECONF_ENV and - ERLANG_FOOBAR_AUTORECONF_OPTS. - - * ERLANG_FOOBAR_USE_BUNDLED_REBAR, to specify that the package has - a bundled version of rebar and that it shall be used. Valid - values are YES or NO (the default). - - Note. If the package bundles a rebar utility, but can use the - generic one that Buildroot provides, just say NO (i.e., do not - specify this variable). Only set if it is mandatory to use the - rebar utility bundled in this package. - - * ERLANG_FOOBAR_REBAR_ENV, to specify additional environment - variables to pass to the rebar utility. - -With the rebar infrastructure, all the steps required to build and -install the packages are already defined, and they generally work -well for most rebar-based packages. However, when required, it is -still possible to customize what is done in any particular step: - - * By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.20, “Hooks available in the - various build steps” for details. - * By overriding one of the steps. For example, even if the rebar - infrastructure is used, if the package .mk file defines its own - ERLANG_FOOBAR_BUILD_CMDS variable, it will be used instead of the - default rebar one. However, using this method should be - restricted to very specific cases. Do not use it in the general - case. - -17.14. Infrastructure for Waf-based packages - -17.14.1. waf-package tutorial - -First, let’s see how to write a .mk file for a Waf-based package, -with an example : - -01: ################################################################################ -02: # -03: # libfoo -04: # -05: ################################################################################ -06: -07: LIBFOO_VERSION = 1.0 -08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz -09: LIBFOO_SITE = http://www.foosoftware.org/download -10: LIBFOO_CONF_OPTS = --enable-bar --disable-baz -11: LIBFOO_DEPENDENCIES = bar -12: -13: $(eval $(waf-package)) - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball (xz-ed tarball -recommended) and the location of the tarball on the Web. Buildroot -will automatically download the tarball from this location. - -On line 10, we tell Buildroot what options to enable for libfoo. - -On line 11, we tell Buildroot the depednencies of libfoo. - -Finally, on line line 13, we invoke the waf-package macro that -generates all the Makefile rules that actually allows the package to -be built. - -17.14.2. waf-package reference - -The main macro of the Waf package infrastructure is waf-package. It -is similar to the generic-package macro. - -Just like the generic infrastructure, the Waf infrastructure works by -defining a number of variables before calling the waf-package macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the Waf infrastructure: -LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, -LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, -LIBFOO_INSTALL_TARGET. - -An additional variable, specific to the Waf infrastructure, can also -be defined. - - * LIBFOO_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, install waf as a host tool and use it to build the - package. - * LIBFOO_WAF_OPTS, to specify additional options to pass to the waf - script at every step of the package build process: configure, - build and installation. By default, empty. - * LIBFOO_CONF_OPTS, to specify additional options to pass to the - waf script for the configuration step. By default, empty. - * LIBFOO_BUILD_OPTS, to specify additional options to pass to the - waf script during the build step. By default, empty. - * LIBFOO_INSTALL_STAGING_OPTS, to specify additional options to - pass to the waf script during the staging installation step. By - default, empty. - * LIBFOO_INSTALL_TARGET_OPTS, to specify additional options to pass - to the waf script during the target installation step. By - default, empty. - -17.15. Integration of Meson-based packages - -17.15.1. meson-package tutorial - -Meson [http://mesonbuild.com] is an open source build system meant to -be both extremely fast, and, even more importantly, as user friendly -as possible. - -Buildroot does not (yet) provide a dedicated package infrastructure -for meson-based packages. So, we will explain how to write a .mk file -for such a package. Let’s start with an example: - -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.0 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-3.0+ -11: FOO_LICENSE_FILES = COPYING -12: FOO_INSTALL_STAGING = YES -13: -14: FOO_DEPENDENCIES = host-meson host-pkgconf bar -15: -16: FOO_CONF_OPTS += \ -17: --prefix=/usr \ -18: --buildtype $(if $(BR2_ENABLE_DEBUG),debug,release) \ -19: --cross-file $(HOST_DIR)/etc/meson/cross-compilation.conf -20: -21: FOO_NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS) -22: -23: ifeq ($(BR2_PACKAGE_BAZ),y) -24: FOO_CONF_OPTS += -Dbaz -25: endif -26: -27: define FOO_CONFIGURE_CMDS -28: rm -rf $(@D)/build -29: mkdir -p $(@D)/build -30: $(TARGET_MAKE_ENV) meson $(FOO_CONF_OPTS) $(@D) $(@D)/build -31: endef -32: -33: define FOO_BUILD_CMDS -34: $(TARGET_MAKE_ENV) ninja $(FOO_NINJA_OPTS) -C $(@D)/build -35: endef -36: -37: define FOO_INSTALL_TARGET_CMDS -38: $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) ninja $(FOO_NINJA_OPTS) \ -39: -C $(@D)/build install -40: endef -41: -42: define FOO_INSTALL_STAGING_CMDS -43: $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) ninja $(FOO_NINJA_OPTS) \ -44: -C $(@D)/build install -45: endef -46: -47: $(eval $(generic-package)) - -The Makefile starts with the definition of the standard variables for -package declaration (lines 7 to 11). - -As seen in line 47, it is based on the generic-package infrastructure -Section 17.5.1, “generic-package tutorial”. So, it defines the -variables required by this particular infrastructure, where Meson and -its companion tool, Ninja, are invoked: - - * FOO_CONFIGURE_CMDS: the build directory required by Meson is - created, and Meson is invoked to generate the Ninja build file. - The options required to configure the cross-compilation of the - package are passed via FOO_CONF_OPTS. - * FOO_BUILD_CMDS: Ninja is invoked to perform the build. - * FOO_INSTALL_TARGET_CMDS: Ninja is invoked to install the files - generated during the build step in the target directory. - * FOO_INSTALL_STAGING_CMDS: Ninja is invoked to install the files - generated during the build step in the staging directory, as - FOO_INSTALL_STAGING is set to "YES". - -In order to have Meson available for the build, FOO_DEPENDENCIES -needs to contain host-meson. In the example, host-pkgconf and bar are -also declared as dependencies because the Meson build file of foo -uses pkg-config to determine the compilation flags and libraries of -package bar. - -If the "baz" package is selected, then support for the "baz" feature -in "foo" is activated by adding -Dbaz to FOO_CONF_OPTS, as specified -in the meson_options.txt file in "foo" source tree. - -To sum it up, to add a new meson-based package, the Makefile example -can be copied verbatim then edited to replace all occurences of FOO -with the uppercase name of the new package and update the values of -the standard variables. - -17.16. Integration of Cargo-based packages - -Cargo is the package manager for the Rust programming language. It -allows the user to build programs or libraries written in Rust, but -it also downloads and manages their dependencies, to ensure -repeatable builds. Cargo packages are called "crates". - -17.16.1. Cargo-based package’s Config.in file - -The Config.in file of Cargo-based package foo should contain: - -01: config BR2_PACKAGE_FOO -02: bool "foo" -03: depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS -04: select BR2_PACKAGE_HOST_CARGO -05: help -06: This is a comment that explains what foo is. -07: -08: http://foosoftware.org/foo/ - -17.16.2. Cargo-based package’s .mk file - -Buildroot does not (yet) provide a dedicated package infrastructure -for Cargo-based packages. So, we will explain how to write a .mk file -for such a package. Let’s start with an example: - -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.0 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-3.0+ -11: FOO_LICENSE_FILES = COPYING -12: -13: FOO_DEPENDENCIES = host-cargo -14: -15: FOO_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo -16: FOO_CARGO_MODE = $(if $(BR2_ENABLE_DEBUG),debug,release) -17: -18: FOO_BIN_DIR = target/$(RUSTC_TARGET_NAME)/$(FOO_CARGO_MODE) -19: -20: FOO_CARGO_OPTS = \ -21: --$(FOO_CARGO_MODE) \ -22: --target=$(RUSTC_TARGET_NAME) \ -23: --manifest-path=$(@D)/Cargo.toml -24: -25: define FOO_BUILD_CMDS -26: $(TARGET_MAKE_ENV) $(FOO_CARGO_ENV) \ -27: cargo build $(FOO_CARGO_OPTS) -28: endef -29: -30: define FOO_INSTALL_TARGET_CMDS -31: $(INSTALL) -D -m 0755 $(@D)/$(FOO_BIN_DIR)/foo \ -32: $(TARGET_DIR)/usr/bin/foo -33: endef -34: -35: $(eval $(generic-package)) - -The Makefile starts with the definition of the standard variables for -package declaration (lines 7 to 11). - -As seen in line 35, it is based on the generic-package infrastructure -Section 17.5.1, “generic-package tutorial”. So, it defines the -variables required by this particular infrastructure, where Cargo is -invoked: - - * FOO_BUILD_CMDS: Cargo is invoked to perform the build. The - options required to configure the cross-compilation of the - package are passed via FOO_CONF_OPTS. - * FOO_INSTALL_TARGET_CMDS: The binary executable generated is - installed on the target. - -In order to have Cargo available for the build, FOO_DEPENDENCIES -needs to contain host-cargo. - -To sum it up, to add a new Cargo-based package, the Makefile example -can be copied verbatim then edited to replace all occurences of FOO -with the uppercase name of the new package and update the values of -the standard variables. - -17.16.3. About Dependencies Management - -A crate can depend on other libraries from crates.io or git -repositories, listed in its Cargo.toml file. Before starting a build, -Cargo usually downloads automatically them. This step can also be -performed independently, via the cargo fetch command. - -Cargo maintains a local cache of the registry index and of git -checkouts of the crates, whose location is given by $CARGO_HOME. As -seen in the package Makefile example at line 15, this environment -variable is set to $(HOST_DIR)/share/cargo. - -This dependency download mechanism is not convenient when performing -an offline build, as Cargo will fail to fetch the dependencies. In -that case, it is advised to generate a tarball of the dependencies -using the cargo vendor and add it to FOO_EXTRA_DOWNLOADS. - -17.17. Infrastructure for packages building kernel modules - -Buildroot offers a helper infrastructure to make it easy to write -packages that build and install Linux kernel modules. Some packages -only contain a kernel module, other packages contain programs and -libraries in addition to kernel modules. Buildroot’s helper -infrastructure supports either case. - -17.17.1. kernel-module tutorial - -Let’s start with an example on how to prepare a simple package that -only builds a kernel module, and no other component: - -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.2.3 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-2.0 -11: FOO_LICENSE_FILES = COPYING -12: -13: $(eval $(kernel-module)) -14: $(eval $(generic-package)) - -Lines 7-11 define the usual meta-data to specify the version, archive -name, remote URI where to find the package source, licensing -information. - -On line 13, we invoke the kernel-module helper infrastructure, that -generates all the appropriate Makefile rules and variables to build -that kernel module. - -Finally, on line 14, we invoke the generic-package infrastructure -Section 17.5.1, “generic-package tutorial”. - -The dependency on linux is automatically added, so it is not needed -to specify it in FOO_DEPENDENCIES. - -What you may have noticed is that, unlike other package -infrastructures, we explicitly invoke a second infrastructure. This -allows a package to build a kernel module, but also, if needed, use -any one of other package infrastructures to build normal userland -components (libraries, executables…). Using the kernel-module -infrastructure on its own is not sufficient; another package -infrastructure must be used. - -Let’s look at a more complex example: - -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.2.3 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-2.0 -11: FOO_LICENSE_FILES = COPYING -12: -13: FOO_MODULE_SUBDIRS = driver/base -14: FOO_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED) -15: -16: ifeq ($(BR2_PACKAGE_LIBBAR),y) -17: FOO_DEPENDENCIES = libbar -18: FOO_CONF_OPTS = --enable-bar -19: FOO_MODULE_SUBDIRS += driver/bar -20: else -21: FOO_CONF_OPTS = --disable-bar -22: endif -23: -24: $(eval $(kernel-module)) -26: $(eval $(autotools-package)) - -Here, we see that we have an autotools-based package, that also -builds the kernel module located in sub-directory driver/base and, if -libbar is enabled, the kernel module located in sub-directory driver/ -bar, and defines the variable KVERSION to be passed to the Linux -buildsystem when building the module(s). - -17.17.2. kernel-module reference - -The main macro for the kernel module infrastructure is kernel-module. -Unlike other package infrastructures, it is not stand-alone, and -requires any of the other *-package macros be called after it. - -The kernel-module macro defines post-build and post-target-install -hooks to build the kernel modules. If the package’s .mk needs access -to the built kernel modules, it should do so in a post-build hook, -registered after the call to kernel-module. Similarly, if the -package’s .mk needs access to the kernel module after it has been -installed, it should do so in a post-install hook, registered after -the call to kernel-module. Here’s an example: - -$(eval $(kernel-module)) - -define FOO_DO_STUFF_WITH_KERNEL_MODULE - # Do something with it... -endef -FOO_POST_BUILD_HOOKS += FOO_DO_STUFF_WITH_KERNEL_MODULE - -$(eval $(generic-package)) - -Finally, unlike the other package infrastructures, there is no -host-kernel-module variant to build a host kernel module. - -The following additional variables can optionally be defined to -further configure the build of the kernel module: - - * FOO_MODULE_SUBDIRS may be set to one or more sub-directories - (relative to the package source top-directory) where the kernel - module sources are. If empty or not set, the sources for the - kernel module(s) are considered to be located at the top of the - package source tree. - * FOO_MODULE_MAKE_OPTS may be set to contain extra variable - definitions to pass to the Linux buildsystem. - -You may also reference (but you may not set!) those variables: - - * LINUX_DIR contains the path to where the Linux kernel has been - extracted and built. - * LINUX_VERSION contains the version string as configured by the - user. - * LINUX_VERSION_PROBED contains the real version string of the - kernel, retrieved with running make -C $(LINUX_DIR) kernelrelease - * KERNEL_ARCH contains the name of the current architecture, like - arm, mips… - -17.18. Infrastructure for asciidoc documents - -The Buildroot manual, which you are currently reading, is entirely -written using the AsciiDoc [http://asciidoc.org/] mark-up syntax. The -manual is then rendered to many formats: - - * html - * split-html - * pdf - * epub - * text - -Although Buildroot only contains one document written in AsciiDoc, -there is, as for packages, an infrastructure for rendering documents -using the AsciiDoc syntax. - -Also as for packages, the AsciiDoc infrastructure is available from a -br2-external tree Section 9.2, “Keeping customizations outside of -Buildroot”. This allows documentation for a br2-external tree to -match the Buildroot documentation, as it will be rendered to the same -formats and use the same layout and theme. - -17.18.1. asciidoc-document tutorial - -Whereas package infrastructures are suffixed with -package, the -document infrastructures are suffixed with -document. So, the -AsciiDoc infrastructure is named asciidoc-document. - -Here is an example to render a simple AsciiDoc document. - -01: ################################################################################ -02: # -03: # foo-document -04: # -05: ################################################################################ -06: -07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*)) -08: $(eval $(call asciidoc-document)) - -On line 7, the Makefile declares what the sources of the document -are. Currently, it is expected that the document’s sources are only -local; Buildroot will not attempt to download anything to render a -document. Thus, you must indicate where the sources are. Usually, the -string above is sufficient for a document with no sub-directory -structure. - -On line 8, we call the asciidoc-document function, which generates -all the Makefile code necessary to render the document. - -17.18.2. asciidoc-document reference - -The list of variables that can be set in a .mk file to give metadata -information is (assuming the document name is foo) : - - * FOO_SOURCES, mandatory, defines the source files for the - document. - * FOO_RESOURCES, optional, may contain a space-separated list of - paths to one or more directories containing so-called resources - (like CSS or images). By default, empty. - * FOO_DEPENDENCIES, optional, the list of packages (most probably, - host-packages) that must be built before building this document. - If a hook of your document needs to access the Kconfig structure, - you may add prepare-kconfig to the list of dependencies. - -There are also additional hooks (see Section 17.20, “Hooks available -in the various build steps” for general information on hooks), that a -document may set to define extra actions to be done at various steps: - - * FOO_POST_RSYNC_HOOKS to run additional commands after the sources - have been copied by Buildroot. This can for example be used to - generate part of the manual with information extracted from the - tree. As an example, Buildroot uses this hook to generate the - tables in the appendices. - * FOO_CHECK_DEPENDENCIES_HOOKS to run additional tests on required - components to generate the document. In AsciiDoc, it is possible - to call filters, that is, programs that will parse an AsciiDoc - block and render it appropriately (e.g. ditaa [http:// - ditaa.sourceforge.net/] or aafigure [https://pythonhosted.org/ - aafigure/]). - * FOO_CHECK_DEPENDENCIES__HOOKS, to run additional tests for - the specified format (see the list of rendered formats, - above). - -Here is a complete example that uses all variables and all hooks: - -01: ################################################################################ -02: # -03: # foo-document -04: # -05: ################################################################################ -06: -07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*)) -08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/ressources)) -09: -10: define FOO_GEN_EXTRA_DOC -11: /path/to/generate-script --outdir=$(@D) -12: endef -13: FOO_POST_RSYNC_HOOKS += FOO_GEN_EXTRA_DOC -14: -15: define FOO_CHECK_MY_PROG -16: if ! which my-prog >/dev/null 2>&1; then \ -17: echo "You need my-prog to generate the foo document"; \ -18: exit 1; \ -19: fi -20: endef -21: FOO_CHECK_DEPENDENCIES_HOOKS += FOO_CHECK_MY_PROG -22: -23: define FOO_CHECK_MY_OTHER_PROG -24: if ! which my-other-prog >/dev/null 2>&1; then \ -25: echo "You need my-other-prog to generate the foo document as PDF"; \ -26: exit 1; \ -27: fi -28: endef -29: FOO_CHECK_DEPENDENCIES_PDF_HOOKS += FOO_CHECK_MY_OTHER_PROG -30: -31: $(eval $(call asciidoc-document)) - -17.19. Infrastructure specific to the Linux kernel package - -The Linux kernel package can use some specific infrastructures based -on package hooks for building Linux kernel tools or/and building -Linux kernel extensions. - -17.19.1. linux-kernel-tools - -Buildroot offers a helper infrastructure to build some userspace -tools for the target available within the Linux kernel sources. Since -their source code is part of the kernel source code, a special -package, linux-tools, exists and re-uses the sources of the Linux -kernel that runs on the target. - -Let’s look at an example of a Linux tool. For a new Linux tool named -foo, create a new menu entry in the existing package/linux-tools/ -Config.in. This file will contain the option descriptions related to -each kernel tool that will be used and displayed in the configuration -tool. It would basically look like: - -01: config BR2_PACKAGE_LINUX_TOOLS_FOO -02: bool "foo" -03: select BR2_PACKAGE_LINUX_TOOLS -04: help -05: This is a comment that explains what foo kernel tool is. -06: -07: http://foosoftware.org/foo/ - -The name of the option starts with the prefix -BR2_PACKAGE_LINUX_TOOLS_, followed by the uppercase name of the tool -(like is done for packages). - -Note. Unlike other packages, the linux-tools package options appear -in the linux kernel menu, under the Linux Kernel Tools sub-menu, not -under the Target packages main menu. - -Then for each linux tool, add a new .mk.in file named package/ -linux-tools/linux-tool-foo.mk.in. It would basically look like: - -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: LINUX_TOOLS += foo -08: -09: FOO_DEPENDENCIES = libbbb -10: -11: define FOO_BUILD_CMDS -12: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools foo -13: endef -14: -15: define FOO_INSTALL_STAGING_CMDS -16: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ -17: DESTDIR=$(STAGING_DIR) \ -18: foo_install -19: endef -20: -21: define FOO_INSTALL_TARGET_CMDS -22: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ -23: DESTDIR=$(TARGET_DIR) \ -24: foo_install -25: endef - -On line 7, we register the Linux tool foo to the list of available -Linux tools. - -On line 9, we specify the list of dependencies this tool relies on. -These dependencies are added to the Linux package dependencies list -only when the foo tool is selected. - -The rest of the Makefile, lines 11-25 defines what should be done at -the different steps of the Linux tool build process like for a -generic package Section 17.5.1, “generic-package tutorial”. They will -actually be used only when the foo tool is selected. The only -supported commands are _BUILD_CMDS, _INSTALL_STAGING_CMDS and -_INSTALL_TARGET_CMDS. - -Note. One must not call $(eval $(generic-package)) or any other -package infrastructure! Linux tools are not packages by themselves, -they are part of the linux-tools package. - -17.19.2. linux-kernel-extensions - -Some packages provide new features that require the Linux kernel tree -to be modified. This can be in the form of patches to be applied on -the kernel tree, or in the form of new files to be added to the tree. -The Buildroot’s Linux kernel extensions infrastructure provides a -simple solution to automatically do this, just after the kernel -sources are extracted and before the kernel patches are applied. -Examples of extensions packaged using this mechanism are the -real-time extensions Xenomai and RTAI, as well as the set of -out-of-tree LCD screens drivers fbtft. - -Let’s look at an example on how to add a new Linux extension foo. - -First, create the package foo that provides the extension: this -package is a standard package; see the previous chapters on how to -create such a package. This package is in charge of downloading the -sources archive, checking the hash, defining the licence informations -and building user space tools if any. - -Then create the Linux extension proper: create a new menu entry in -the existing linux/Config.ext.in. This file contains the option -descriptions related to each kernel extension that will be used and -displayed in the configuration tool. It would basically look like: - -01: config BR2_LINUX_KERNEL_EXT_FOO -02: bool "foo" -03: help -04: This is a comment that explains what foo kernel extension is. -05: -06: http://foosoftware.org/foo/ - -Then for each linux extension, add a new .mk file named linux/ -linux-ext-foo.mk. It should basically contain: - -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: LINUX_EXTENSIONS += foo -08: -09: define FOO_PREPARE_KERNEL -10: $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D) -11: endef - -On line 7, we add the Linux extension foo to the list of available -Linux extensions. - -On line 9-11, we define what should be done by the extension to -modify the Linux kernel tree; this is specific to the linux extension -and can use the variables defined by the foo package, like: $ -(FOO_DIR) or $(FOO_VERSION)… as well as all the Linux variables, -like: $(LINUX_VERSION) or $(LINUX_VERSION_PROBED), $(KERNEL_ARCH)… -See the definition of those kernel variables Section 17.17.2, -“kernel-module reference”. - -17.20. Hooks available in the various build steps - -The generic infrastructure (and as a result also the derived -autotools and cmake infrastructures) allow packages to specify hooks. -These define further actions to perform after existing steps. Most -hooks aren’t really useful for generic packages, since the .mk file -already has full control over the actions performed in each step of -the package construction. - -The following hook points are available: - - * LIBFOO_PRE_DOWNLOAD_HOOKS - * LIBFOO_POST_DOWNLOAD_HOOKS - * LIBFOO_PRE_EXTRACT_HOOKS - * LIBFOO_POST_EXTRACT_HOOKS - * LIBFOO_PRE_RSYNC_HOOKS - * LIBFOO_POST_RSYNC_HOOKS - * LIBFOO_PRE_PATCH_HOOKS - * LIBFOO_POST_PATCH_HOOKS - * LIBFOO_PRE_CONFIGURE_HOOKS - * LIBFOO_POST_CONFIGURE_HOOKS - * LIBFOO_PRE_BUILD_HOOKS - * LIBFOO_POST_BUILD_HOOKS - * LIBFOO_PRE_INSTALL_HOOKS (for host packages only) - * LIBFOO_POST_INSTALL_HOOKS (for host packages only) - * LIBFOO_PRE_INSTALL_STAGING_HOOKS (for target packages only) - * LIBFOO_POST_INSTALL_STAGING_HOOKS (for target packages only) - * LIBFOO_PRE_INSTALL_TARGET_HOOKS (for target packages only) - * LIBFOO_POST_INSTALL_TARGET_HOOKS (for target packages only) - * LIBFOO_PRE_INSTALL_IMAGES_HOOKS - * LIBFOO_POST_INSTALL_IMAGES_HOOKS - * LIBFOO_PRE_LEGAL_INFO_HOOKS - * LIBFOO_POST_LEGAL_INFO_HOOKS - -These variables are lists of variable names containing actions to be -performed at this hook point. This allows several hooks to be -registered at a given hook point. Here is an example: - -define LIBFOO_POST_PATCH_FIXUP - action1 - action2 -endef - -LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP - -17.20.1. Using the POST_RSYNC hook - -The POST_RSYNC hook is run only for packages that use a local source, -either through the local site method or the OVERRIDE_SRCDIR -mechanism. In this case, package sources are copied using rsync from -the local location into the buildroot build directory. The rsync -command does not copy all files from the source directory, though. -Files belonging to a version control system, like the directories -.git, .hg, etc. are not copied. For most packages this is sufficient, -but a given package can perform additional actions using the -POST_RSYNC hook. - -In principle, the hook can contain any command you want. One specific -use case, though, is the intentional copying of the version control -directory using rsync. The rsync command you use in the hook can, -among others, use the following variables: - - * $(SRCDIR): the path to the overridden source directory - * $(@D): the path to the build directory - -17.20.2. Target-finalize hook - -Packages may also register hooks in LIBFOO_TARGET_FINALIZE_HOOKS. -These hooks are run after all packages are built, but before the -filesystem images are generated. They are seldom used, and your -package probably do not need them. - -17.21. Gettext integration and interaction with packages - -Many packages that support internationalization use the gettext -library. Dependencies for this library are fairly complicated and -therefore, deserve some explanation. - -The glibc C library integrates a full-blown implementation of gettext -, supporting translation. Native Language Support is therefore -built-in in glibc. - -On the other hand, the uClibc and musl C libraries only provide a -stub implementation of the gettext functionality, which allows to -compile libraries and programs using gettext functions, but without -providing the translation capabilities of a full-blown gettext -implementation. With such C libraries, if real Native Language -Support is necessary, it can be provided by the libintl library of -the gettext package. - -Due to this, and in order to make sure that Native Language Support -is properly handled, packages in Buildroot that can use NLS support -should: - - 1. Ensure NLS support is enabled when BR2_SYSTEM_ENABLE_NLS=y. This - is done automatically for autotools packages and therefore should - only be done for packages using other package infrastructures. - 2. Add $(TARGET_NLS_DEPENDENCIES) to the package _DEPENDENCIES - variable. This addition should be done unconditionally: the value - of this variable is automatically adjusted by the core - infrastructure to contain the relevant list of packages. If NLS - support is disabled, this variable is empty. If NLS support is - enabled, this variable contains host-gettext so that tools needed - to compile translation files are available on the host. In - addition, if uClibc or musl are used, this variable also contains - gettext in order to get the full-blown gettext implementation. - 3. If needed, add $(TARGET_NLS_LIBS) to the linker flags, so that - the package gets linked with libintl. This is generally not - needed with autotools packages as they usually detect - automatically that they should link with libintl. However, - packages using other build systems, or problematic - autotools-based packages may need this. $(TARGET_NLS_LIBS) should - be added unconditionally to the linker flags, as the core - automatically makes it empty or defined to -lintl depending on - the configuration. - -No changes should be made to the Config.in file to support NLS. - -Finally, certain packages need some gettext utilities on the target, -such as the gettext program itself, which allows to retrieve -translated strings, from the command line. In such a case, the -package should: - - * use select BR2_PACKAGE_GETTEXT in their Config.in file, - indicating in a comment above that it’s a runtime dependency - only. - * not add any gettext dependency in the DEPENDENCIES variable of - their .mk file. - -17.22. Tips and tricks - -17.22.1. Package name, config entry name and makefile variable -relationship - -In Buildroot, there is some relationship between: - - * the package name, which is the package directory name (and the - name of the *.mk file); - * the config entry name that is declared in the Config.in file; - * the makefile variable prefix. - -It is mandatory to maintain consistency between these elements, using -the following rules: - - * the package directory and the *.mk name are the package name - itself (e.g.: package/foo-bar_boo/foo-bar_boo.mk); - * the make target name is the package name itself (e.g.: - foo-bar_boo); - * the config entry is the upper case package name with . and - - characters substituted with _, prefixed with BR2_PACKAGE_ (e.g.: - BR2_PACKAGE_FOO_BAR_BOO); - * the *.mk file variable prefix is the upper case package name with - . and - characters substituted with _ (e.g.: - FOO_BAR_BOO_VERSION). - -17.22.2. How to test your package - -Once you have added your new package, it is important that you test -it under various conditions: does it build for all architectures? -Does it build with the different C libraries? Does it need threads, -NPTL? And so on… - -Buildroot runs autobuilders [http://autobuild.buildroot.org/] which -continuously test random configurations. However, these only build -the master branch of the git tree, and your new fancy package is not -yet there. - -Buildroot provides a script in utils/test-pkg that uses the same base -configurations as used by the autobuilders so you can test your -package in the same conditions. - -First, create a config snippet that contains all the necessary -options needed to enable your package, but without any architecture -or toolchain option. For example, let’s create a config snippet that -just enables libcurl, without any TLS backend: - -$ cat libcurl.config -BR2_PACKAGE_LIBCURL=y - -If your package needs more configuration options, you can add them to -the config snippet. For example, here’s how you would test libcurl -with openssl as a TLS backend and the curl program: - -$ cat libcurl.config -BR2_PACKAGE_LIBCURL=y -BR2_PACKAGE_CURL=y -BR2_PACKAGE_OPENSSL=y - -Then run the test-pkg script, by telling it what config snippet to -use and what package to test: - -$ ./utils/test-pkg -c libcurl.config -p libcurl - -This will try to build your package against all the toolchains used -by the autobuilders (except for the internal toolchains, because it -takes too long to do so). The output lists all toolchains and the -corresponding result (excerpt, results are fake): - -$ ./utils/test-pkg -c libcurl.config -p libcurl - armv5-ctng-linux-gnueabi [ 1/11]: OK - armv7-ctng-linux-gnueabihf [ 2/11]: OK - br-aarch64-glibc [ 3/11]: SKIPPED - br-arcle-hs38 [ 4/11]: SKIPPED - br-arm-basic [ 5/11]: FAILED - br-arm-cortex-a9-glibc [ 6/11]: OK - br-arm-cortex-a9-musl [ 7/11]: FAILED - br-arm-cortex-m4-full [ 8/11]: OK - br-arm-full [ 9/11]: OK - br-arm-full-nothread [10/11]: FAILED - br-arm-full-static [11/11]: OK -11 builds, 2 skipped, 2 build failed, 1 legal-info failed - -The results mean: - - * OK: the build was successful. - * SKIPPED: one or more configuration options listed in the config - snippet were not present in the final configuration. This is due - to options having dependencies not satisfied by the toolchain, - such as for example a package that depends on BR2_USE_MMU with a - noMMU toolchain. The missing options are reported in - missing.config in the output build directory (~/br-test-pkg/ - TOOLCHAIN_NAME/ by default). - * FAILED: the build failed. Inspect the logfile file in the output - build directory to see what went wrong: - - + the actual build failed, - + the legal-info failed, - + one of the preliminary steps (downloading the config file, - applying the configuration, running dirclean for the package) - failed. - -When there are failures, you can just re-run the script with the same -options (after you fixed your package); the script will attempt to -re-build the package specified with -p for all toolchains, without -the need to re-build all the dependencies of that package. - -The test-pkg script accepts a few options, for which you can get some -help by running: - -$ ./utils/test-pkg -h - -17.22.3. How to add a package from GitHub - -Packages on GitHub often don’t have a download area with release -tarballs. However, it is possible to download tarballs directly from -the repository on GitHub. As GitHub is known to have changed download -mechanisms in the past, the github helper function should be used as -shown below. - -# Use a tag or a full commit ID -FOO_VERSION = v1.0 -FOO_SITE = $(call github,,,$(FOO_VERSION)) - -Notes - - * The FOO_VERSION can either be a tag or a commit ID. - * The tarball name generated by github matches the default one from - Buildroot (e.g.: - foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz), so it is - not necessary to specify it in the .mk file. - * When using a commit ID as version, you should use the full 40 hex - characters. - -If the package you wish to add does have a release section on GitHub, -the maintainer may have uploaded a release tarball, or the release -may just point to the automatically generated tarball from the git -tag. If there is a release tarball uploaded by the maintainer, we -prefer to use that since it may be slightly different (e.g. it -contains a configure script so we don’t need to do AUTORECONF). - -You can see on the release page if it’s an uploaded tarball or a git -tag: - - * If it looks like the image above then it was uploaded by the - maintainer and you should use that link (in that example: - mongrel2-v1.9.2.tar.bz2) to specify FOO_SITE, and not use the - github helper. - * On the other hand, if there’s is only the "Source code" link, - then it’s an automatically generated tarball and you should use - the github helper function. - -17.23. Conclusion - -As you can see, adding a software package to Buildroot is simply a -matter of writing a Makefile using an existing example and modifying -it according to the compilation process required by the package. - -If you package software that might be useful for other people, don’t -forget to send a patch to the Buildroot mailing list (see -Section 21.5, “Submitting patches”)! - -Chapter 18. Patching a package - -While integrating a new package or updating an existing one, it may -be necessary to patch the source of the software to get it -cross-built within Buildroot. - -Buildroot offers an infrastructure to automatically handle this -during the builds. It supports three ways of applying patch sets: -downloaded patches, patches supplied within buildroot and patches -located in a user-defined global patch directory. - -18.1. Providing patches - -18.1.1. Downloaded - -If it is necessary to apply a patch that is available for download, -then add it to the _PATCH variable. If an entry contains -://, then Buildroot will assume it is a full URL and download the -patch from this location. Otherwise, Buildroot will assume that the -patch should be downloaded from _SITE. It can be a -single patch, or a tarball containing a patch series. - -Like for all downloads, a hash should be added to the -.hash file. - -This method is typically used for packages from Debian. - -18.1.2. Within Buildroot - -Most patches are provided within Buildroot, in the package directory; -these typically aim to fix cross-compilation, libc support, or other -such issues. - -These patch files should be named -.patch. - -Notes - - * The patch files coming with Buildroot should not contain any - package version reference in their filename. - * The field in the patch file name refers to the apply - order, and shall start at 1; It is preferred to pad the number - with zeros up to 4 digits, like git-format-patch does. E.g.: - 0001-foobar-the-buz.patch - * Previously, it was mandatory for patches to be prefixed with the - name of the package, like --.patch, - but that is no longer the case. Existing packages will be fixed - as time passes. Do not prefix patches with the package name. - * Previously, a series file, as used by quilt, could also be added - in the package directory. In that case, the series file defines - the patch application order. This is deprecated, and will be - removed in the future. Do not use a series file. - -18.1.3. Global patch directory - -The BR2_GLOBAL_PATCH_DIR configuration file option can be used to -specify a space separated list of one or more directories containing -global package patches. See Section 9.8, “Adding project-specific -patches” for details. - -18.2. How patches are applied - - 1. Run the _PRE_PATCH_HOOKS commands if defined; - 2. Cleanup the build directory, removing any existing *.rej files; - 3. If _PATCH is defined, then patches from these - tarballs are applied; - 4. If there are some *.patch files in the package’s Buildroot - directory or in a package subdirectory named , - then: - - + If a series file exists in the package directory, then - patches are applied according to the series file; - + Otherwise, patch files matching *.patch are applied in - alphabetical order. So, to ensure they are applied in the - right order, it is highly recommended to name the patch files - like this: -.patch, where - refers to the apply order. - 5. If BR2_GLOBAL_PATCH_DIR is defined, the directories will be - enumerated in the order they are specified. The patches are - applied as described in the previous step. - 6. Run the _POST_PATCH_HOOKS commands if defined. - -If something goes wrong in the steps 3 or 4, then the build fails. - -18.3. Format and licensing of the package patches - -Patches are released under the same license as the software they -apply to (see Section 12.2, “Complying with the Buildroot license”). - -A message explaining what the patch does, and why it is needed, -should be added in the header commentary of the patch. - -You should add a Signed-off-by statement in the header of the each -patch to help with keeping track of the changes and to certify that -the patch is released under the same license as the software that is -modified. - -If the software is under version control, it is recommended to use -the upstream SCM software to generate the patch set. - -Otherwise, concatenate the header with the output of the diff -purN -package-version.orig/ package-version/ command. - -If you update an existing patch (e.g. when bumping the package -version), make sure the existing From header and Signed-off-by tags -are not removed, but do update the rest of the patch comment when -appropriate. - -At the end, the patch should look like: - -configure.ac: add C++ support test - -Signed-off-by: John Doe - ---- configure.ac.orig -+++ configure.ac -@@ -40,2 +40,12 @@ - -AC_PROG_MAKE_SET -+ -+AC_CACHE_CHECK([whether the C++ compiler works], -+ [rw_cv_prog_cxx_works], -+ [AC_LANG_PUSH([C++]) -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], -+ [rw_cv_prog_cxx_works=yes], -+ [rw_cv_prog_cxx_works=no]) -+ AC_LANG_POP([C++])]) -+ -+AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"]) - -18.4. Integrating patches found on the Web - -When integrating a patch of which you are not the author, you have to -add a few things in the header of the patch itself. - -Depending on whether the patch has been obtained from the project -repository itself, or from somewhere on the web, add one of the -following tags: - -Backported from: - -or - -Fetch from: - -It is also sensible to add a few words about any changes to the patch -that may have been necessary. - -Chapter 19. Download infrastructure - -TODO - -Chapter 20. Debugging Buildroot - -It is possible to instrument the steps Buildroot does when building -packages. Define the variable BR2_INSTRUMENTATION_SCRIPTS to contain -the path of one or more scripts (or other executables), in a -space-separated list, you want called before and after each step. The -scripts are called in sequence, with three parameters: - - * start or end to denote the start (resp. the end) of a step; - * the name of the step about to be started, or which just ended; - * the name of the package. - -For example : - -make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2" - -The list of steps is: - - * extract - * patch - * configure - * build - * install-host, when a host-package is installed in $(HOST_DIR) - * install-target, when a target-package is installed in $ - (TARGET_DIR) - * install-staging, when a target-package is installed in $ - (STAGING_DIR) - * install-image, when a target-package installs files in $ - (BINARIES_DIR) - -The script has access to the following variables: - - * BR2_CONFIG: the path to the Buildroot .config file - * HOST_DIR, STAGING_DIR, TARGET_DIR: see Section 17.5.2, - “generic-package reference” - * BUILD_DIR: the directory where packages are extracted and built - * BINARIES_DIR: the place where all binary files (aka images) are - stored - * BASE_DIR: the base output directory - -Chapter 21. Contributing to Buildroot - -There are many ways in which you can contribute to Buildroot: -analyzing and fixing bugs, analyzing and fixing package build -failures detected by the autobuilders, testing and reviewing patches -sent by other developers, working on the items in our TODO list and -sending your own improvements to Buildroot or its manual. The -following sections give a little more detail on each of these items. - -If you are interested in contributing to Buildroot, the first thing -you should do is to subscribe to the Buildroot mailing list. This -list is the main way of interacting with other Buildroot developers -and to send contributions to. If you aren’t subscribed yet, then -refer to Chapter 5, Community resources for the subscription link. - -If you are going to touch the code, it is highly recommended to use a -git repository of Buildroot, rather than starting from an extracted -source code tarball. Git is the easiest way to develop from and -directly send your patches to the mailing list. Refer to Chapter 3, -Getting Buildroot for more information on obtaining a Buildroot git -tree. - -21.1. Reproducing, analyzing and fixing bugs - -A first way of contributing is to have a look at the open bug reports -in the Buildroot bug tracker [https://bugs.buildroot.org/buglist.cgi? -product=buildroot]. As we strive to keep the bug count as small as -possible, all help in reproducing, analyzing and fixing reported bugs -is more than welcome. Don’t hesitate to add a comment to bug reports -reporting your findings, even if you don’t yet see the full picture. - -21.2. Analyzing and fixing autobuild failures - -The Buildroot autobuilders are a set of build machines that -continuously run Buildroot builds based on random configurations. -This is done for all architectures supported by Buildroot, with -various toolchains, and with a random selection of packages. With the -large commit activity on Buildroot, these autobuilders are a great -help in detecting problems very early after commit. - -All build results are available at http://autobuild.buildroot.org, -statistics are at http://autobuild.buildroot.org/stats.php. Every -day, an overview of all failed packages is sent to the mailing list. - -Detecting problems is great, but obviously these problems have to be -fixed as well. Your contribution is very welcome here! There are -basically two things that can be done: - - * Analyzing the problems. The daily summary mails do not contain - details about the actual failures: in order to see what’s going - on you have to open the build log and check the last output. - Having someone doing this for all packages in the mail is very - useful for other developers, as they can make a quick initial - analysis based on this output alone. - * Fixing a problem. When fixing autobuild failures, you should - follow these steps: - - 1. Check if you can reproduce the problem by building with the - same configuration. You can do this manually, or use the - br-reproduce-build [http://git.buildroot.org/buildroot-test/ - tree/utils/br-reproduce-build] script that will automatically - clone a Buildroot git repository, checkout the correct - revision, download and set the right configuration, and start - the build. - 2. Analyze the problem and create a fix. - 3. Verify that the problem is really fixed by starting from a - clean Buildroot tree and only applying your fix. - 4. Send the fix to the Buildroot mailing list (see Section 21.5, - “Submitting patches”). In case you created a patch against - the package sources, you should also send the patch upstream - so that the problem will be fixed in a later release, and the - patch in Buildroot can be removed. In the commit message of a - patch fixing an autobuild failure, add a reference to the - build result directory, as follows: - -Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069 - -21.3. Reviewing and testing patches - -With the amount of patches sent to the mailing list each day, the -maintainer has a very hard job to judge which patches are ready to -apply and which ones aren’t. Contributors can greatly help here by -reviewing and testing these patches. - -In the review process, do not hesitate to respond to patch -submissions for remarks, suggestions or anything that will help -everyone to understand the patches and make them better. Please use -internet style replies in plain text emails when responding to patch -submissions. - -To indicate approval of a patch, there are three formal tags that -keep track of this approval. To add your tag to a patch, reply to it -with the approval tag below the original author’s Signed-off-by line. -These tags will be picked up automatically by patchwork (see -Section 21.3.1, “Applying Patches from Patchwork”) and will be part -of the commit log when the patch is accepted. - -Tested-by - Indicates that the patch has been tested successfully. You are - encouraged to specify what kind of testing you performed - (compile-test on architecture X and Y, runtime test on target A, - …). This additional information helps other testers and the - maintainer. -Reviewed-by - Indicates that you code-reviewed the patch and did your best in - spotting problems, but you are not sufficiently familiar with the - area touched to provide an Acked-by tag. This means that there - may be remaining problems in the patch that would be spotted by - someone with more experience in that area. Should such problems - be detected, your Reviewed-by tag remains appropriate and you - cannot be blamed. -Acked-by - Indicates that you code-reviewed the patch and you are familiar - enough with the area touched to feel that the patch can be - committed as-is (no additional changes required). In case it - later turns out that something is wrong with the patch, your - Acked-by could be considered inappropriate. The difference - between Acked-by and Reviewed-by is thus mainly that you are - prepared to take the blame on Acked patches, but not on Reviewed - ones. - -If you reviewed a patch and have comments on it, you should simply -reply to the patch stating these comments, without providing a -Reviewed-by or Acked-by tag. These tags should only be provided if -you judge the patch to be good as it is. - -It is important to note that neither Reviewed-by nor Acked-by imply -that testing has been performed. To indicate that you both reviewed -and tested the patch, provide two separate tags (Reviewed/Acked-by -and Tested-by). - -Note also that any developer can provide Tested/Reviewed/Acked-by -tags, without exception, and we encourage everyone to do this. -Buildroot does not have a defined group of core developers, it just -so happens that some developers are more active than others. The -maintainer will value tags according to the track record of their -submitter. Tags provided by a regular contributor will naturally be -trusted more than tags provided by a newcomer. As you provide tags -more regularly, your trustworthiness (in the eyes of the maintainer) -will go up, but any tag provided is valuable. - -Buildroot’s Patchwork website can be used to pull in patches for -testing purposes. Please see Section 21.3.1, “Applying Patches from -Patchwork” for more information on using Buildroot’s Patchwork -website to apply patches. - -21.3.1. Applying Patches from Patchwork - -The main use of Buildroot’s Patchwork website for a developer is for -pulling in patches into their local git repository for testing -purposes. - -When browsing patches in the patchwork management interface, an mbox -link is provided at the top of the page. Copy this link address and -run the following commands: - -$ git checkout -b -$ wget -O - | git am - -Another option for applying patches is to create a bundle. A bundle -is a set of patches that you can group together using the patchwork -interface. Once the bundle is created and the bundle is made public, -you can copy the mbox link for the bundle and apply the bundle using -the above commands. - -21.4. Work on items from the TODO list - -If you want to contribute to Buildroot but don’t know where to start, -and you don’t like any of the above topics, you can always work on -items from the Buildroot TODO list [http://elinux.org/Buildroot# -Todo_list]. Don’t hesitate to discuss an item first on the mailing -list or on IRC. Do edit the wiki to indicate when you start working -on an item, so we avoid duplicate efforts. - -21.5. Submitting patches - -Note - -Please, do not attach patches to bugs, send them to the mailing list -instead. - -If you made some changes to Buildroot and you would like to -contribute them to the Buildroot project, proceed as follows. - -21.5.1. The formatting of a patch - -We expect patches to be formatted in a specific way. This is -necessary to make it easy to review patches, to be able to apply them -easily to the git repository, to make it easy to find back in the -history how and why things have changed, and to make it possible to -use git bisect to locate the origin of a problem. - -First of all, it is essential that the patch has a good commit -message. The commit message should start with a separate line with a -brief summary of the change, starting with the name of the affected -package. 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 -completely. Two unrelated or weakly related changes should usually be -done in two separate patches. This usually means that a patch affects -only a single package. If several changes are related, it is often -still possible to split them up in small patches and apply them in a -specific order. Small patches make it easier to review, and often -make it easier to understand afterwards why a change was done. -However, each patch must be complete. It is not allowed that the -build is broken when only the first but not the second patch is -applied. This is necessary to be able to use git bisect afterwards. - -Of course, while you’re doing your development, you’re probably going -back and forth between packages, and certainly not committing things -immediately in a way that is clean enough for submission. So most -developers rewrite the history of commits to produce a clean set of -commits that is appropriate for submission. To do this, you need to -use interactive rebasing. You can learn about it in the Pro Git book -[https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History]. -Sometimes, it is even easier to discard you history with git reset ---soft origin/master and select individual changes with git add -i or -git add -p. - -Finally, the patch should be signed off. This is done by adding -Signed-off-by: Your Real Name <> at the end of the commit message. -git commit -s does that for you, if configured properly. The -Signed-off-by tag means that you publish the patch under the -Buildroot license (i.e. GPL-2.0+, except for package patches, which -have the upstream license), and that you are allowed to do so. See -the Developer Certificate of Origin [http://developercertificate.org -/] for details. - -When adding new packages, you should submit every package in a -separate patch. This patch should have the update to package/ -Config.in, the package Config.in file, the .mk file, the .hash file, -any init script, and all package patches. If the package has many -sub-options, these are sometimes better added as separate follow-up -patches. The summary line should be something like : new -package. The body of the commit message can be empty for simple -packages, or it can contain the description of the package (like the -Config.in help text). If anything special has to be done to build the -package, this should also be explained explicitly in the commit -message body. - -When you bump a package to a new version, you should also submit a -separate patch for each package. Don’t forget to update the .hash -file, or add it if it doesn’t exist yet. Also don’t forget to check -if the _LICENSE and _LICENSE_FILES are still valid. The summary line -should be something like : bump to version . If the new version only contains security updates compared -to the existing one, the summary should be : security -bump to version and the commit message body should show -the CVE numbers that are fixed. If some package patches can be -removed in the new version, it should be explained explicitly why -they can be removed, preferably with the upstream commit ID. Also any -other required changes should be explained explicitly, like configure -options that no longer exist or are no longer needed. - -If you are interested in getting notified of build failures and of -further changes in the packages you added or modified, please add -yourself to the DEVELOPERS file. This should be done in the same -patch creating or modifying the package. See the DEVELOPERS file -Chapter 22, DEVELOPERS file and get-developers for more information. - -21.5.2. Preparing a patch series - -Starting from the changes committed in your local git view, rebase -your development branch on top of the upstream tree before generating -a patch set. To do so, run: - -$ git fetch --all --tags -$ git rebase origin/master - -Now, you are ready to generate then submit your patch set. - -To generate it, run: - -$ git format-patch -M -n -s -o outgoing origin/master - -This will generate patch files in the outgoing subdirectory, -automatically adding the Signed-off-by line. - -Once patch files are generated, you can review/edit the commit -message before submitting them, using your favorite text editor. - -Buildroot provides a handy tool to know to whom your patches should -be sent, called get-developers (see Chapter 22, DEVELOPERS file and -get-developers for more information). This tool reads your patches -and outputs the appropriate git send-email command to use: - -$ ./utils/get-developers outgoing/* - -Use the output of get-developers to send your patches: - -$ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/* - -Note that git should be configured to use your mail account. To -configure git, see man git-send-email or google it. - -If you do not use git send-email, make sure posted patches are not -line-wrapped, otherwise they cannot easily be applied. In such a -case, fix your e-mail client, or better yet, learn to use git -send-email. - -21.5.3. Cover letter - -If you want to present the whole patch set in a separate mail, add ---cover-letter to the git format-patch command (see man -git-format-patch for further information). This will generate a -template for an introduction e-mail to your patch series. - -A cover letter may be useful to introduce the changes you propose in -the following cases: - - * large number of commits in the series; - * deep impact of the changes in the rest of the project; - * RFC ^[4]; - * whenever you feel it will help presenting your work, your - choices, the review process, etc. - -21.5.4. Patch revision changelog - -When improvements are requested, the new revision of each commit -should include a changelog of the modifications between each -submission. Note that when your patch series is introduced by a cover -letter, an overall changelog may be added to the cover letter in -addition to the changelog in the individual commits. The best thing -to rework a patch series is by interactive rebasing: git rebase -i -origin/master. Consult the git manual for more information. - -When added to the individual commits, this changelog is added when -editing the commit message. Below the Signed-off-by section, add --- -and your changelog. - -Although the changelog will be visible for the reviewers in the mail -thread, as well as in patchwork [http://patchwork.buildroot.org], git -will automatically ignores lines below --- when the patch will be -merged. This is the intended behavior: the changelog is not meant to -be preserved forever in the git history of the project. - -Hereafter the recommended layout: - -Patch title: short explanation, max 72 chars - -A paragraph that explains the problem, and how it manifests itself. If -the problem is complex, it is OK to add more paragraphs. All paragraphs -should be wrapped at 72 characters. - -A paragraph that explains the root cause of the problem. Again, more -than on paragraph is OK. - -Finally, one or more paragraphs that explain how the problem is solved. -Don't hesitate to explain complex solutions in detail. - -Signed-off-by: John DOE - ---- -Changes v2 -> v3: - - foo bar (suggested by Jane) - - bar buz - -Changes v1 -> v2: - - alpha bravo (suggested by John) - - charly delta - -Any patch revision should include the version number. The version -number is simply composed of the letter v followed by an integer -greater or equal to two (i.e. "PATCH v2", "PATCH v3" …). - -This can be easily handled with git format-patch by using the option ---subject-prefix: - -$ git format-patch --subject-prefix "PATCH v4" \ - -M -s -o outgoing origin/master - -Since git version 1.8.1, you can also use -v (where is the -version number): - -$ git format-patch -v4 -M -s -o outgoing origin/master - -When you provide a new version of a patch, please mark the old one as -superseded in patchwork [http://patchwork.buildroot.org]. You need to -create an account on patchwork [http://patchwork.buildroot.org] to be -able to modify the status of your patches. Note that you can only -change the status of patches you submitted yourself, which means the -email address you register in patchwork [http:// -patchwork.buildroot.org] should match the one you use for sending -patches to the mailing list. - -You can also add the --in-reply-to option when -submitting a patch to the mailing list. The id of the mail to reply -to can be found under the "Message Id" tag on patchwork [http:// -patchwork.buildroot.org]. The advantage of in-reply-to is that -patchwork will automatically mark the previous version of the patch -as superseded. - -21.6. Reporting issues/bugs or getting help - -Before reporting any issue, please check in the mailing list archive -Chapter 5, Community resources whether someone has already reported -and/or fixed a similar problem. - -However you choose to report bugs or get help, either by opening a -bug in the bug tracker Chapter 5, Community resources or by sending a -mail to the mailing list Chapter 5, Community resources, there are a -number of details to provide in order to help people reproduce and -find a solution to the issue. - -Try to think as if you were trying to help someone else; in that -case, what would you need? - -Here is a short list of details to provide in such case: - - * host machine (OS/release) - * version of Buildroot - * target for which the build fails - * package(s) for which the build fails - * the command that fails and its output - * any information you think that may be relevant - -Additionally, you should add the .config file (or if you know how, a -defconfig; see Section 9.3, “Storing the Buildroot configuration”). - -If some of these details are too large, do not hesitate to use a -pastebin service. Note that not all available pastebin services will -preserve Unix-style line terminators when downloading raw pastes. -Following pastebin services are known to work correctly: - https:// -gist.github.com/ - http://code.bulix.org/ - - ---------------------------------------------------------------------- - -^[4] RFC: (Request for comments) change proposal - -Chapter 22. DEVELOPERS file and get-developers - -The main Buildroot directory contains a file named DEVELOPERS that -lists the developers involved with various areas of Buildroot. Thanks -to this file, the get-developer tool allows to: - - * Calculate the list of developers to whom patches should be sent, - by parsing the patches and matching the modified files with the - relevant developers. See Section 21.5, “Submitting patches” for - details. - * Find which developers are taking care of a given architecture or - package, so that they can be notified when a build failure occurs - on this architecture or package. This is done in interaction with - Buildroot’s autobuild infrastructure. - -We ask developers adding new packages, new boards, or generally new -functionality in Buildroot, to register themselves in the DEVELOPERS -file. As an example, we expect a developer contributing a new package -to include in his patch the appropriate modification to the -DEVELOPERS file. - -The DEVELOPERS file format is documented in detail inside the file -itself. - -The get-developer tool, located in utils/ allows to use the -DEVELOPERS file for various tasks: - - * When passing one or several patches as command line argument, - get-developer will return the appropriate git send-email command. - * When using the -a command line option, get-developer will - return the list of developers in charge of the given - architecture. - * When using the -p command line option, get-developer - will return the list of developers in charge of the given - package. - * When using the -c command line option, get-developer will look at - all files under version control in the Buildroot repository, and - list the ones that are not handled by any developer. The purpose - of this option is to help completing the DEVELOPERS file. - * When using without any arguments, it validates the integrity of - the DEVELOPERS file and will note WARNINGS for items that don’t - match. - -Part IV. Appendix - -Table of Contents - -23. Makedev syntax documentation -24. Makeusers syntax documentation -25. Migrating from older Buildroot versions - - 25.1. Migrating to 2016.11 - 25.2. Migrating to 2017.08 - -Chapter 23. Makedev syntax documentation - -The makedev syntax is used in several places in Buildroot to define -changes to be made for permissions, or which device files to create -and how to create them, in order to avoid calls to mknod. - -This syntax is derived from the makedev utility, and more complete -documentation can be found in the package/makedevs/README file. - -It takes the form of a space separated list of fields, one file per -line; the fields are: - -+--------------------------------------------------+ -|name|type|mode|uid|gid|major|minor|start|inc|count| -+--------------------------------------------------+ - -There are a few non-trivial blocks: - - * name is the path to the file you want to create/modify - * type is the type of the file, being one of: - - + f: a regular file - + d: a directory - + r: a directory recursively - + c: a character device file - + b: a block device file - + p: a named pipe - * mode are the usual permissions settings (only numerical values - are allowed) - * uid and gid are the UID and GID to set on this file; can be - either numerical values or actual names - * major and minor are here for device files, set to - for other - files - * start, inc and count are for when you want to create a batch of - files, and can be reduced to a loop, beginning at start, - incrementing its counter by inc until it reaches count - -Let’s say you want to change the permissions of a given file; using -this syntax, you will need to write: - -/usr/bin/foo f 755 0 0 - - - - - -/usr/bin/bar f 755 root root - - - - - -/data/buz f 644 buz-user buz-group - - - - - - -Alternatively, if you want to change owner/permission of a directory -recursively, you can write (to set UID to foo, GID to bar and access -rights to rwxr-x--- for the directory /usr/share/myapp and all files -and directories below it): - -/usr/share/myapp r 750 foo bar - - - - - - -On the other hand, if you want to create the device file /dev/hda and -the corresponding 15 files for the partitions, you will need for /dev -/hda: - -/dev/hda b 640 root root 3 0 0 0 - - -and then for device files corresponding to the partitions of /dev/ -hda, /dev/hdaX, X ranging from 1 to 15: - -/dev/hda b 640 root root 3 1 1 1 15 - -Extended attributes are supported if -BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is enabled. This -is done by adding a line starting with |xattr after the line -describing the file. Right now, only capability is supported as -extended attribute. - -+------------------+ -||xattr|capability | -+------------------+ - - * |xattr is a "flag" that indicate an extended attribute - * capability is a capability to add to the previous file - -If you want to add the capability cap_sys_admin to the binary foo, -you will write : - -/usr/bin/foo f 755 root root - - - - - -|xattr cap_sys_admin+eip - -You can add several capabilities to a file by using several |xattr -lines. If you want to add the capability cap_sys_admin and -cap_net_admin to the binary foo, you will write : - -/usr/bin/foo f 755 root root - - - - - -|xattr cap_sys_admin+eip -|xattr cap_net_admin+eip - -Chapter 24. Makeusers syntax documentation - -The syntax to create users is inspired by the makedev syntax, above, -but is specific to Buildroot. - -The syntax for adding a user is a space-separated list of fields, one -user per line; the fields are: - -+---------------------------------------------------------+ -|username|uid|group|gid|password|home|shell|groups|comment| -+---------------------------------------------------------+ - -Where: - - * username is the desired user name (aka login name) for the user. - It can not be root, and must be unique. If set to -, then just a - group will be created. - * uid is the desired UID for the user. It must be unique, and not - 0. If set to -1, then a unique UID will be computed by Buildroot - in the range [1000…1999] - * group is the desired name for the user’s main group. It can not - be root. If the group does not exist, it will be created. - * gid is the desired GID for the user’s main group. It must be - unique, and not 0. If set to -1, and the group does not already - exist, then a unique GID will be computed by Buildroot in the - range [1000..1999] - * password is the crypt(3)-encoded password. If prefixed with !, - then login is disabled. If prefixed with =, then it is - interpreted as clear-text, and will be crypt-encoded (using MD5). - If prefixed with !=, then the password will be crypt-encoded - (using MD5) and login will be disabled. If set to *, then login - is not allowed. If set to -, then no password value will be set. - * home is the desired home directory for the user. If set to -, no - home directory will be created, and the user’s home will be /. - Explicitly setting home to / is not allowed. - * shell is the desired shell for the user. If set to -, then /bin/ - false is set as the user’s shell. - * groups is the comma-separated list of additional groups the user - should be part of. If set to -, then the user will be a member of - no additional group. Missing groups will be created with an - arbitrary gid. - * comment (aka GECOS [https://en.wikipedia.org/wiki/Gecos_field] - field) is an almost-free-form text. - -There are a few restrictions on the content of each field: - - * except for comment, all fields are mandatory. - * except for comment, fields may not contain spaces. - * no field may contain a colon (:). - -If home is not -, then the home directory, and all files below, will -belong to the user and its main group. - -Examples: - -foo -1 bar -1 !=blabla /home/foo /bin/sh alpha,bravo Foo user - -This will create this user: - - * username (aka login name) is: foo - * uid is computed by Buildroot - * main group is: bar - * main group gid is computed by Buildroot - * clear-text password is: blabla, will be crypt(3)-encoded, and - login is disabled. - * home is: /home/foo - * shell is: /bin/sh - * foo is also a member of groups: alpha and bravo - * comment is: Foo user - -test 8000 wheel -1 = - /bin/sh - Test user - -This will create this user: - - * username (aka login name) is: test - * uid is : 8000 - * main group is: wheel - * main group gid is computed by Buildroot, and will use the value - defined in the rootfs skeleton - * password is empty (aka no password). - * home is / but will not belong to test - * shell is: /bin/sh - * test is not a member of any additional groups - * comment is: Test user - -Chapter 25. Migrating from older Buildroot versions - -Some versions have introduced backward incompatibilities. This -section explains those incompatibilities, and for each explains what -to do to complete the migration. - -25.1. Migrating to 2016.11 - -Before Buildroot 2016.11, it was possible to use only one -br2-external tree at once. With Buildroot 2016.11 came the -possibility to use more than one simultaneously (for details, see -Section 9.2, “Keeping customizations outside of Buildroot”). - -This however means that older br2-external trees are not usable -as-is. A minor change has to be made: adding a name to your -br2-external tree. - -This can be done very easily in just a few steps: - - * First, create a new file named external.desc, at the root of your - br2-external tree, with a single line defining the name of your - br2-external tree: - - $ echo 'name: NAME_OF_YOUR_TREE' >external.desc - - Note. Be careful when choosing a name: It has to be unique and be - made with only ASCII characters from the set [A-Za-z0-9_]. - - * Then, change every occurence of BR2_EXTERNAL in your br2-external - tree with the new variable: - - $ find . -type f | xargs sed -i 's/BR2_EXTERNAL/BR2_EXTERNAL_NAME_OF_YOUR_TREE_PATH/g' - -Now, your br2-external tree can be used with Buildroot 2016.11 -onward. - -Note: This change makes your br2-external tree incompatible with -Buildroot before 2016.11. - -25.2. Migrating to 2017.08 - -Before Buildroot 2017.08, host packages were installed in $(HOST_DIR) -/usr (with e.g. the autotools' --prefix=$(HOST_DIR)/usr). With -Buildroot 2017.08, they are now installed directly in $(HOST_DIR). - -Whenever a package installs an executable that is linked with a -library in $(HOST_DIR)/lib, it must have an RPATH pointing to that -directory. - -An RPATH pointing to $(HOST_DIR)/usr/lib is no longer accepted. - diff --git a/docs/manual/manual.txt b/docs/manual/manual.txt index 4eb4ba9bf0..48de65ee10 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-2019 The Buildroot developers +Copyright (C) 2004-2020 The Buildroot developers image::logo.png[] @@ -66,6 +66,8 @@ include::contribute.txt[] include::developers.txt[] +include::release-engineering.txt[] + = Appendix include::appendix.txt[] diff --git a/docs/manual/prerequisite.txt b/docs/manual/prerequisite.txt index dcd3fd255e..4e614cfa1b 100644 --- a/docs/manual/prerequisite.txt +++ b/docs/manual/prerequisite.txt @@ -23,8 +23,8 @@ between distributions). ** +make+ (version 3.81 or any later) ** +binutils+ ** +build-essential+ (only for Debian based systems) -** +gcc+ (version 4.4 or any later) -** `g++` (version 4.4 or any later) +** +gcc+ (version 4.8 or any later) +** `g++` (version 4.8 or any later) ** +bash+ ** +patch+ ** +gzip+ @@ -32,7 +32,6 @@ between distributions). ** +perl+ (version 5.8.7 or any later) ** +tar+ ** +cpio+ -** +python+ (version 2.7 or any later) ** +unzip+ ** +rsync+ ** +file+ (must be in +/usr/bin/file+) @@ -45,6 +44,14 @@ between distributions). === Optional packages +* Recommended dependencies: ++ +Some features or utilities in Buildroot, like the legal-info, or the +graph generation tools, have additional dependencies. Although they +are not mandatory for a simple build, they are still highly recommended: ++ +** +python+ (version 2.7 or any later) + * Configuration interface dependencies: + For these libraries, you need to install both runtime and development @@ -52,7 +59,7 @@ data, which in many distributions are packaged separately. The development packages typically have a _-dev_ or _-devel_ suffix. + ** +ncurses5+ to use the 'menuconfig' interface -** +qt4+ to use the 'xconfig' interface +** +qt5+ to use the 'xconfig' interface ** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface * Source fetching tools: diff --git a/docs/manual/quickstart.txt b/docs/manual/quickstart.txt index 74158ae249..80569e85f4 100644 --- a/docs/manual/quickstart.txt +++ b/docs/manual/quickstart.txt @@ -60,10 +60,10 @@ To start the build process, simply run: $ make -------------------- -You *should never* use +make -jN+ with Buildroot: top-level parallel -make is currently not supported. Instead, use the +BR2_JLEVEL+ option -to tell Buildroot to run the compilation of each individual package -with +make -jN+. +By default, Buildroot does not support top-level parallel build, so +running +make -jN+ is not necessary. There is however experimental +support for top-level parallel build, see +xref:top-level-parallel-build[]. The `make` command will generally perform the following steps: @@ -87,15 +87,21 @@ This directory contains several subdirectories: target). This directory contains one subdirectory for each of these components. -* +staging/+ which contains a hierarchy similar to a root filesystem - hierarchy. This directory contains the headers and libraries of the - cross-compilation toolchain and all the userspace packages selected - for the target. However, this directory is 'not' intended to be - the root filesystem for the target: it contains a lot of development - files, unstripped binaries and libraries that make it far too big - for an embedded system. These development files are used to compile - libraries and applications for the target that depend on other - libraries. +* +host/+ contains both the tools built for the host, and the sysroot + of the target toolchain. The former is an installation of tools + compiled for the host that are needed for the proper execution of + Buildroot, including the cross-compilation toolchain. The latter + is a hierarchy similar to a root filesystem hierarchy. It contains + the headers and libraries of all user-space packages that provide + and install libraries used by other packages. However, this + directory is 'not' intended to be the root filesystem for the target: + it contains a lot of development files, unstripped binaries and + libraries that make it far too big for an embedded system. These + development files are used to compile libraries and applications for + the target that depend on other libraries. + +* +staging/+ is a symlink to the target toolchain sysroot inside + +host/+, which exists for backwards compatibility. * +target/+ which contains 'almost' the complete root filesystem for the target: everything needed is present except the device files in @@ -111,10 +117,6 @@ This directory contains several subdirectories: development files (headers, etc.) are not present, the binaries are stripped. -* +host/+ contains the installation of tools compiled for the host - that are needed for the proper execution of Buildroot, including the - cross-compilation toolchain. - These commands, +make menuconfig|nconfig|gconfig|xconfig+ and +make+, are the basic ones that allow to easily and quickly generate images fitting your needs, with all the features and applications you enabled. diff --git a/docs/manual/rebuilding-packages.txt b/docs/manual/rebuilding-packages.txt index 6faa67adcb..06d3855148 100644 --- a/docs/manual/rebuilding-packages.txt +++ b/docs/manual/rebuilding-packages.txt @@ -65,6 +65,16 @@ can help you understand how to work with Buildroot: there is no need for a full rebuild: a simple +make+ invocation will take the changes into account. + * When a package listed in +FOO_DEPENDENCIES+ is rebuilt or removed, + the package +foo+ is not automatically rebuilt. For example, if a + package +bar+ is listed in +FOO_DEPENDENCIES+ with +FOO_DEPENDENCIES + = bar+ and the configuration of the +bar+ package is changed, the + configuration change would not result in a rebuild of package +foo+ + automatically. In this scenario, you may need to either rebuild any + packages in your build which reference +bar+ in their +DEPENDENCIES+, + or perform a full rebuild to ensure any +bar+ dependent packages are + up to date. + Generally speaking, when you're facing a build error and you're unsure of the potential consequences of the configuration changes you've made, do a full rebuild. If you get the same build error, then you are @@ -99,16 +109,20 @@ re-configure, re-compile and re-install this package from scratch. You can ask buildroot to do this with the +make -dirclean+ command. On the other hand, if you only want to restart the build process of a -package from its compilation step, you can run +make --rebuild+, followed by +make+ or +make +. It will -restart the compilation and installation of the package, but not from -scratch: it basically re-executes +make+ and +make install+ -inside the package, so it will only rebuild files that changed. +package from its compilation step, you can run +make -rebuild+. It +will restart the compilation and installation of the package, but not from +scratch: it basically re-executes +make+ and +make install+ inside the package, +so it will only rebuild files that changed. -If you want to restart the build process of a package from its -configuration step, you can run +make -reconfigure+, followed -by +make+ or +make +. It will restart the configuration, -compilation and installation of the package. +If you want to restart the build process of a package from its configuration +step, you can run +make -reconfigure+. It will restart the +configuration, compilation and installation of the package. + +While +-rebuild+ implies +-reinstall+ and ++-reconfigure+ implies +-rebuild+, these targets as well +as ++ only act on the said package, and do not trigger re-creating +the root filesystem image. If re-creating the root filesystem in necessary, +one should in addition run +make+ or +make all+. Internally, Buildroot creates so-called _stamp files_ to keep track of which build steps have been completed for each package. They are diff --git a/docs/manual/release-engineering.txt b/docs/manual/release-engineering.txt new file mode 100644 index 0000000000..0cf38183f9 --- /dev/null +++ b/docs/manual/release-engineering.txt @@ -0,0 +1,34 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[RELENG]] +== Release Engineering +=== Releases + +The Buildroot project makes quarterly releases with monthly bugfix +releases. The first release of each year is a long term support +release, LTS. + + - Quarterly releases: 2020.02, 2020.05, 2020.08, and 2020.11 + - Bugfix releases: 2020.02.1, 2020.02.2, ... + - LTS releases: 2020.02, 2021.02, ... + +Releases are supported until the first bugfix release of the next +release, e.g., 2020.05.x is EOL when 2020.08.1 is released. + +LTS releases are supported until the first bugfix release of the next +LTS, e.g., 2020.02.x is supported until 2021.02.1 is released. + +=== Development + +Each release cycle consist of two months of development on the +master+ +branch and one month stabilization before the release is made. During +this phase no new features are added to +master+, only bugfixes. + +The stabilization phase starts with tagging +-rc1+, and every week until +the release, another release candidate is tagged. + +To handle new features and version bumps during the stabilization phase, +a +next+ branch may be created for these features. Once the current +release has been made, the +next+ branch is merged into +master+ and +the development cycle for the next release continues there. diff --git a/docs/manual/using-buildroot-development.txt b/docs/manual/using-buildroot-development.txt index 3389a37b39..da6dd822fb 100644 --- a/docs/manual/using-buildroot-development.txt +++ b/docs/manual/using-buildroot-development.txt @@ -28,10 +28,22 @@ clean+. Therefore, Buildroot provides a specific mechanism for this use case: the +_OVERRIDE_SRCDIR+ mechanism. Buildroot reads an _override_ file, which allows the user to tell Buildroot the location of the -source for certain packages. By default this _override_ file is named -+local.mk+ and located in the top directory of the Buildroot source -tree, but a different location can be specified through the -+BR2_PACKAGE_OVERRIDE_FILE+ configuration option. +source for certain packages. + +The default location of the override file is +$(CONFIG_DIR)/local.mk+, +as defined by the +BR2_PACKAGE_OVERRIDE_FILE+ configuration option. ++$(CONFIG_DIR)+ is the location of the Buildroot +.config+ file, so ++local.mk+ by default lives side-by-side with the +.config+ file, +which means: + +* In the top-level Buildroot source directory for in-tree builds + (i.e., when +O=+ is not used) +* In the out-of-tree directory for out-of-tree builds (i.e., when + +O=+ is used) + +If a different location than these defaults is required, it can be +specified through the +BR2_PACKAGE_OVERRIDE_FILE+ configuration +option. In this _override_ file, Buildroot expects to find lines of the form: @@ -97,3 +109,13 @@ WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \ --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \ --exclude WebKit.xcworkspace --exclude Websites --exclude Examples ------------------ + +By default, Buildroot skips syncing of VCS artifacts (e.g., the *.git* and +*.svn* directories). Some packages prefer to have these VCS directories +available during build, for example for automatically determining a precise +commit reference for version information. To undo this built-in filtering at a +cost of a slower speed, add these directories back: + +------------------ +LINUX_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = --include .git +------------------ diff --git a/docs/manual/writing-rules.txt b/docs/manual/writing-rules.txt index ca43272287..3b809d5c48 100644 --- a/docs/manual/writing-rules.txt +++ b/docs/manual/writing-rules.txt @@ -141,8 +141,8 @@ endif The documentation uses the http://www.methods.co.nz/asciidoc/[asciidoc] format. -For further details about the http://www.methods.co.nz/asciidoc/[asciidoc] -syntax, refer to http://www.methods.co.nz/asciidoc/userguide.html[]. +For further details about the asciidoc syntax, refer to +http://www.methods.co.nz/asciidoc/userguide.html[]. === Support scripts diff --git a/docs/website/copyright.txt b/docs/website/copyright.txt index 600bf7df77..b15ac5f919 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-2019 The Buildroot +Copyright (c) 1999-2005 by Erik Andersen, 2006-2020 The Buildroot developers. All rights reserved. Documents on this Web site including their graphical elements, design, and diff --git a/docs/website/download.html b/docs/website/download.html index a3d69cdcd8..0f8efbd577 100644 --- a/docs/website/download.html +++ b/docs/website/download.html @@ -8,105 +8,105 @@
Download
-

Latest stable / long term support release: 2019.02

+

Latest long term support release: 2020.02.2

+ +

Latest stable release: 2020.05

+ +
+
+
+
+
+ +
+
+ +
+
+
+

buildroot-2020.05.tar.gz

+

PGP signature

+
+
+
+
+
+ +
+
+ +
+
+
+ +

buildroot-2020.05.tar.bz2

+

PGP signature

diff --git a/docs/website/images/smile-logo.png b/docs/website/images/smile-logo.png index 7bcea3334c..046c999a25 100644 Binary files a/docs/website/images/smile-logo.png and b/docs/website/images/smile-logo.png differ diff --git a/docs/website/images/tap2open-logo.png b/docs/website/images/tap2open-logo.png new file mode 100644 index 0000000000..136019b621 Binary files /dev/null and b/docs/website/images/tap2open-logo.png differ diff --git a/docs/website/js/buildroot.js b/docs/website/js/buildroot.js index 48fafa67ac..bf80f11d7a 100644 --- a/docs/website/js/buildroot.js +++ b/docs/website/js/buildroot.js @@ -1,11 +1,11 @@ function load_activity(feedurl, divid) { let container = document.getElementById(divid); $.ajax({ - url: "https://cors.io/?" + feedurl + url: "https://cors-anywhere.herokuapp.com/" + feedurl }) .done(function(data){ let x2js = new X2JS(); - let result = x2js.xml_str2json(data); + let result = x2js.xml_str2json(data.documentElement.outerHTML); let loaded = 0; let nb_display = 8; if (result==null) return; diff --git a/docs/website/news.html b/docs/website/news.html index 6fe12c708a..f8ccb4eac0 100644 --- a/docs/website/news.html +++ b/docs/website/news.html @@ -9,6 +9,901 @@

News

    +
  • +
    +
    +
    +

    2020.05 released

    +

    1 June 2020

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2020.05-rc3 released

    +

    29 May 2020

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2020.05-rc2 released

    +

    22 May 2020

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2020.02.2 released

    +

    12 May 2020

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2020.05-rc1 released

    +

    10 April 2020

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2020.02.1 released

    +

    10 April 2020

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.11.3 released, 2019.11.x series EOL

    +

    10 April 2020

    +
    +
    +

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

    + +

    Notice that the 2019.11.x series is now end of life. Please migrate to + the 2020.02 series instead which will be supported until April 2021.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.02.11 released, 2019.02.x series EOL

    +

    9 April 2020

    +
    +
    +

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

    + +

    Notice that the 2019.02.x series is now end of life. Please migrate to + the 2020.02 series instead which will be supported until April 2021.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.02.10 released

    +

    16 march 2020

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.11.2 released

    +

    16 March 2020

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2020.02 released

    +

    8 March 2020

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2020.02-rc3 released

    +

    2 March 2020

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2020.02-rc2 released

    +

    26 February 2020

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2020.02-rc1 released

    +

    18 February 2020

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.02.9 released

    +

    12 January 2020

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.11.1 released

    +

    12 January 2020

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.02.8 released

    +

    7 December 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.08.3 released

    +

    7 December 2019

    +
    +
    +

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

    + +

    Notice that the 2019.08.x series is now end of life. Please migrate to + the 2019.02 or 2019.11 series instead.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.11 released

    +

    1 December 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.11-rc3 released

    +

    24 November 2019

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.11-rc2 released

    +

    16 November 2019

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.02.7 released

    +

    10 November 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.08.2 released

    +

    9 November 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.11-rc1 released

    +

    5 November 2019

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.02.6 released

    +

    4 October 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.05.3 released

    +

    4 October 2019

    +
    +
    +

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

    + +

    Notice that the 2019.05.x series is now end of life. Please migrate to + the 2019.02 or 2019.08 series instead.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.08.1 released

    +

    4 October 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.05.2 released

    +

    3 September 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.02.5 released

    +

    2 September 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.08 released

    +

    1 September 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.08-rc3 released

    +

    28 August 2019

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.08-rc2 released

    +

    20 August 2019

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.08-rc1 released

    +

    9 August 2019

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.02.4 released

    +

    7 June 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.05.1 released

    +

    7 July 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.02.3 released

    +

    7 June 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.05 released

    +

    2 June 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.05-rc3 released

    +

    25 May 2019

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.05-rc2 released

    +

    15 May 2019

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.05-rc1 released

    +

    8 May 2019

    +
    +
    +

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

    + +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.02.2 released

    +

    29 April 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2019.02.1 released

    +

    29 March 2019

    +
    +
    +

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

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2018.02.12 released, 2018.02.x series EOL

    +

    29 March 2019

    +
    +
    +

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

    + +

    Notice that the 2018.02.x series is now end of life. Please migrate to + the 2019.02 series instead which will be supported until March 2020.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2018.11.4 released

    +

    28 March 2019

    +
    +
    +

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

    + +

    Notice that the 2018.11.x series is now end of life. Please migrate to + the 2019.02 series instead which will be supported until March 2020.

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

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

    diff --git a/docs/website/sponsors.html b/docs/website/sponsors.html index 7370ecb017..2f3f6309ae 100644 --- a/docs/website/sponsors.html +++ b/docs/website/sponsors.html @@ -4,6 +4,46 @@
    +
    +
    Current sponsors
    +
    + +
    +
    +
    +
    +
    + + + +
    +
    + Tap2Open + financially sponsored the Buildroot Association + in 2020.
    +
    +
    +
    + +
    +
    +
    +
    + + + +
    +
    + Logilin + financially sponsored the Buildroot Association + in 2020.
    +
    +
    +
    +
    +
    +
    +
    Sponsor of the Buildroot.org domain
    @@ -22,30 +62,28 @@
    -
    Sponsors of the Buildroot Developers Meeting @ ELCE 2018
    +
    Past sponsors
    - -

    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.

    +

    Throughout its history, the Buildroot project has been sponsored by + various companies, that we would like to thank below.

    -
    -
    - - + -
    - Mind sponsored the - event by contributing financially to the Buildroot - Association. +
    + Smile provided the meeting location for the + ELCE 2019 + meeting and sponsored the Buildroot Summer Camp that took place on July 1-5 2016 + in Toulouse, France. Smile sponsored the participation of Romain Naour and paid + the food expenses for the meeting participants. + In 2018, Smile sponsored of LLVM/Clang integration into Buildroot, see the final + report.
    @@ -53,6 +91,48 @@
    +
    +
    + + + +
    +
    + Mind sponsored + financially the Buildroot Association for the ELCE + 2018 meeting, sponsored the dinner of the FOSDEM 2014, + 2015, 2016, 2017 and 2018 Developers Meeting + (Brussels) and ELCE 2016 (Berlin) and 2017 (Prague), + and the meeting room and the dinner for the ELCE 2014 + Developers Meeting (Düsseldorf). +
    +
    +
    +
    + +
    +
    +
    +
    +

    +

    +
    +
    +

    Google provided + the logistics for the FOSDEM 2013, FOSDEM 2014, + FOSDEM 2015, FOSDEM 2016, FOSDEM 2017, FOSDEM 2018, + FOSDEM 2019 and FOSDEM 2020 Developer Days in Brussels, + Belgium.

    +
    +
    +
    +
    +
    + +
    + +
    +
    -
    +
    +
    - Bootlin - sponsored the event by contributing financially to - the Buildroot Association. +

    Bootlin + sponsored financially the Buildroot Association for + the ELCE 2018 meeting, sponsored the meeting + location for the ELCE 2016 Developer Days in Berlin, + Germany, and the lunch for the ELCE 2009 Developer + Days in Grenoble, France.

    -
    - -
    -
    +
    - Logilin sponsored the - event by contributing financially to the Buildroot - Association. + Logilin sponsored + the ELCE 2018 Buildroot Developers meeting by + contributing financially to the Buildroot + Association.
    +
    + +
    +
    @@ -113,8 +199,9 @@
    Tk Open Systems - sponsored the event by contributing financially to - the Buildroot Association. + sponsored the ELCE 2018 Buildroot Developers meeting + by contributing financially to the Buildroot + Association.
    @@ -123,101 +210,34 @@
    -
    +
    Rockwell - Collins sponsored the event by funding the social - Saturday dinner for the participants. + Collins sponsored the ELCE 2018 Buildroot + Developers meeting 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.

    -
    -
    - - - -
    -
    -
    - -
    -
    Past sponsors
    -
    -

    Throughout its history, the Buildroot project has been sponsored by - various companies, that we would like to thank below.

    - -
    -
    - - +
    - 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. -
    -
    -
    -
    - -
    -
    -
    -
    - - - -
    -
    - Mind sponsored the - dinner of the FOSDEM 2014, 2015, 2016, 2017 and 2018 - Developers Meeting (Brussels) and ELCE 2016 (Berlin) - and 2017 (Prague), and the meeting room and the dinner for - the ELCE 2014 Developers Meeting (Düsseldorf). -
    -
    -
    -
    - -
    -
    -
    -
    -

    -

    -
    -
    -

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

    + Scaleway + sponsored the complete logistics to organize our Buildroot + Hackathon in Paris in March 2018: meeting room, Internet + connectivity and accommodation.
    @@ -323,26 +343,6 @@
    -
    -
    -
    -
    -
    -

    -

    -
    -
    -

    Free - Electrons sponsored the meeting location for the - ELCE 2016 Developer Days in Berlin, Germany, and the - lunch for the ELCE 2009 Developer Days in Grenoble, - France.

    -
    -
    -
    -
    -
    -
    diff --git a/docs/website/support.html b/docs/website/support.html index 1a5ce9e225..6c602b42d2 100644 --- a/docs/website/support.html +++ b/docs/website/support.html @@ -92,6 +92,31 @@
    +
    +
    Commercial support
    +
    +

    In addition, the following companies are able to provide commercial + support. Only companies heavily involved in Buildroot maintenance and + community are listed here.

    + +
    +
    +
    + + + + + + + + + +
    +
    +
    +
    +
    +
    diff --git a/fs/Config.in b/fs/Config.in index 527051ef54..37a2aa21f8 100644 --- a/fs/Config.in +++ b/fs/Config.in @@ -5,6 +5,7 @@ source "fs/btrfs/Config.in" source "fs/cloop/Config.in" source "fs/cpio/Config.in" source "fs/cramfs/Config.in" +source "fs/erofs/Config.in" source "fs/ext2/Config.in" source "fs/f2fs/Config.in" source "fs/initramfs/Config.in" diff --git a/fs/btrfs/btrfs.mk b/fs/btrfs/btrfs.mk index 388516389b..70e3ead97c 100644 --- a/fs/btrfs/btrfs.mk +++ b/fs/btrfs/btrfs.mk @@ -14,7 +14,7 @@ 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_LABEL = $(subst ",,$(BR2_TARGET_ROOTFS_BTRFS_LABEL)) # ") BTRFS_OPTS = \ diff --git a/fs/common.mk b/fs/common.mk index b361ecce25..842ea924a5 100644 --- a/fs/common.mk +++ b/fs/common.mk @@ -42,11 +42,25 @@ define ROOTFS_REPRODUCIBLE endef endif +ROOTFS_COMMON_NAME = rootfs-common +ROOTFS_COMMON_TYPE = rootfs ROOTFS_COMMON_DEPENDENCIES = \ host-fakeroot host-makedevs \ $(BR2_TAR_HOST_DEPENDENCY) \ $(if $(PACKAGES_USERS)$(ROOTFS_USERS_TABLES),host-mkpasswd) +ROOTFS_COMMON_FINAL_RECURSIVE_DEPENDENCIES = $(sort \ + $(if $(filter undefined,$(origin ROOTFS_COMMON_FINAL_RECURSIVE_DEPENDENCIES__X)), \ + $(eval ROOTFS_COMMON_FINAL_RECURSIVE_DEPENDENCIES__X := \ + $(foreach p, \ + $(ROOTFS_COMMON_DEPENDENCIES), \ + $(p) \ + $($(call UPPERCASE,$(p))_FINAL_RECURSIVE_DEPENDENCIES) \ + ) \ + ) \ + ) \ + $(ROOTFS_COMMON_FINAL_RECURSIVE_DEPENDENCIES__X)) + .PHONY: rootfs-common rootfs-common: $(ROOTFS_COMMON_DEPENDENCIES) target-finalize @$(call MESSAGE,"Generating root filesystems common tables") @@ -69,10 +83,17 @@ endif rootfs-common-show-depends: @echo $(ROOTFS_COMMON_DEPENDENCIES) +.PHONY: rootfs-common-show-info +rootfs-common-show-info: + @: + $(info $(call clean-json,{ $(call json-info,ROOTFS_COMMON) })) + # Since this function will be called from within an $(eval ...) # all variable references except the arguments must be $$-quoted. define inner-rootfs +ROOTFS_$(2)_NAME = rootfs-$(1) +ROOTFS_$(2)_TYPE = rootfs ROOTFS_$(2)_IMAGE_NAME ?= rootfs.$(1) ROOTFS_$(2)_FINAL_IMAGE_NAME = $$(strip $$(ROOTFS_$(2)_IMAGE_NAME)) ROOTFS_$(2)_DIR = $$(FS_DIR)/$(1) @@ -80,9 +101,21 @@ ROOTFS_$(2)_TARGET_DIR = $$(ROOTFS_$(2)_DIR)/target ROOTFS_$(2)_DEPENDENCIES += rootfs-common +ROOTFS_$(2)_FINAL_RECURSIVE_DEPENDENCIES = $$(sort \ + $$(if $$(filter undefined,$$(origin ROOTFS_$(2)_FINAL_RECURSIVE_DEPENDENCIES__X)), \ + $$(eval ROOTFS_$(2)_FINAL_RECURSIVE_DEPENDENCIES__X := \ + $$(foreach p, \ + $$(ROOTFS_$(2)_DEPENDENCIES), \ + $$(p) \ + $$($$(call UPPERCASE,$$(p))_FINAL_RECURSIVE_DEPENDENCIES) \ + ) \ + ) \ + ) \ + $$(ROOTFS_$(2)_FINAL_RECURSIVE_DEPENDENCIES__X)) + ifeq ($$(BR2_TARGET_ROOTFS_$(2)_GZIP),y) ROOTFS_$(2)_COMPRESS_EXT = .gz -ROOTFS_$(2)_COMPRESS_CMD = gzip -9 -c +ROOTFS_$(2)_COMPRESS_CMD = gzip -9 -c -n endif ifeq ($$(BR2_TARGET_ROOTFS_$(2)_BZIP2),y) ROOTFS_$(2)_COMPRESS_EXT = .bz2 @@ -107,6 +140,9 @@ ifeq ($$(BR2_TARGET_ROOTFS_$(2)_XZ),y) ROOTFS_$(2)_DEPENDENCIES += host-xz ROOTFS_$(2)_COMPRESS_EXT = .xz ROOTFS_$(2)_COMPRESS_CMD = xz -9 -C crc32 -c +ifeq ($(BR2_REPRODUCIBLE),) +ROOTFS_$(2)_COMPRESS_CMD += -T $(PARALLEL_JOBS) +endif endif $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): ROOTFS=$(2) @@ -148,13 +184,17 @@ endif rootfs-$(1)-show-depends: @echo $$(ROOTFS_$(2)_DEPENDENCIES) +rootfs-$(1)-show-info: + @: + $$(info $$(call clean-json,{ $$(call json-info,ROOTFS_$(2)) })) + rootfs-$(1): $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME) -.PHONY: rootfs-$(1) rootfs-$(1)-show-depends +.PHONY: rootfs-$(1) rootfs-$(1)-show-depends rootfs-$(1)-show-info ifeq ($$(BR2_TARGET_ROOTFS_$(2)),y) TARGETS_ROOTFS += rootfs-$(1) -PACKAGES += $$(filter-out rootfs-%,$$(ROOTFS_$(2)_DEPENDENCIES) $$(ROOTFS_COMMON_DEPENDENCIES)) +PACKAGES += $$(filter-out rootfs-%,$$(ROOTFS_$(2)_FINAL_RECURSIVE_DEPENDENCIES)) endif # Check for legacy POST_TARGETS rules diff --git a/fs/cpio/cpio.mk b/fs/cpio/cpio.mk index 1f0cafe62f..81f8c393d1 100644 --- a/fs/cpio/cpio.mk +++ b/fs/cpio/cpio.mk @@ -29,8 +29,19 @@ endif # BR2_ROOTFS_DEVICE_CREATION_STATIC ROOTFS_CPIO_PRE_GEN_HOOKS += ROOTFS_CPIO_ADD_INIT +# --reproducible option was introduced in cpio v2.12, which may not be +# available in some old distributions, so we build host-cpio +ifeq ($(BR2_REPRODUCIBLE),y) +ROOTFS_CPIO_DEPENDENCIES += host-cpio +ROOTFS_CPIO_OPTS += --reproducible +endif + define ROOTFS_CPIO_CMD - cd $(TARGET_DIR) && find . | cpio --quiet -o -H newc > $@ + cd $(TARGET_DIR) && \ + find . \ + | LC_ALL=C sort \ + | cpio $(ROOTFS_CPIO_OPTS) --quiet -o -H newc \ + > $@ endef ifeq ($(BR2_TARGET_ROOTFS_CPIO_UIMAGE),y) diff --git a/fs/cpio/init b/fs/cpio/init index dbe09ac68e..b0af18b67a 100755 --- a/fs/cpio/init +++ b/fs/cpio/init @@ -1,7 +1,4 @@ #!/bin/sh # devtmpfs does not get automounted for initramfs /bin/mount -t devtmpfs devtmpfs /dev -exec 0/dev/console -exec 2>/dev/console exec /sbin/init "$@" diff --git a/fs/erofs/Config.in b/fs/erofs/Config.in new file mode 100644 index 0000000000..d7360edeab --- /dev/null +++ b/fs/erofs/Config.in @@ -0,0 +1,14 @@ +config BR2_TARGET_ROOTFS_EROFS + bool "erofs root filesystem" + select BR2_PACKAGE_HOST_EROFS_UTILS + help + Build a EROFS root filesystem. + +if BR2_TARGET_ROOTFS_EROFS + +config BR2_TARGET_ROOTFS_EROFS_LZ4HC + bool "lz4hc compression" + help + Use lz4 high-compression to compress data in the filesystem. + +endif # BR2_TARGET_ROOTFS_EROFS diff --git a/fs/erofs/erofs.mk b/fs/erofs/erofs.mk new file mode 100644 index 0000000000..58559d4833 --- /dev/null +++ b/fs/erofs/erofs.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# Build the EROFS root filesystem image +# +################################################################################ + +ROOTFS_EROFS_DEPENDENCIES = host-erofs-utils + +ifeq ($(BR2_TARGET_ROOTFS_EROFS_LZ4HC),y) +ROOTFS_EROFS_ARGS += -zlz4hc +endif + +define ROOTFS_EROFS_CMD + $(HOST_DIR)/bin/mkfs.erofs $(ROOTFS_EROFS_ARGS) $@ $(TARGET_DIR) +endef + +$(eval $(rootfs)) diff --git a/fs/ext2/Config.in b/fs/ext2/Config.in index 74bacc1141..333ead95fe 100644 --- a/fs/ext2/Config.in +++ b/fs/ext2/Config.in @@ -43,6 +43,7 @@ config BR2_TARGET_ROOTFS_EXT2_REV config BR2_TARGET_ROOTFS_EXT2_LABEL string "filesystem label" + default "rootfs" config BR2_TARGET_ROOTFS_EXT2_SIZE string "exact size" diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk index 6bb4b1c7f8..74c99bd7b1 100644 --- a/fs/ext2/ext2.mk +++ b/fs/ext2/ext2.mk @@ -13,7 +13,7 @@ EXT2_MKFS_OPTS = $(call qstrip,$(BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS)) # 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. -EXT2_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_LABEL)) +EXT2_LABEL = $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_LABEL)) #" Syntax highlighting... :-/ ) EXT2_OPTS = \ diff --git a/fs/f2fs/f2fs.mk b/fs/f2fs/f2fs.mk index f35bb60ad0..21a2879c17 100644 --- a/fs/f2fs/f2fs.mk +++ b/fs/f2fs/f2fs.mk @@ -11,7 +11,7 @@ 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_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)) diff --git a/fs/initramfs/initramfs.mk b/fs/initramfs/initramfs.mk index c751093214..3b3d4ed8b9 100644 --- a/fs/initramfs/initramfs.mk +++ b/fs/initramfs/initramfs.mk @@ -29,3 +29,8 @@ rootfs-initramfs-show-depends: ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y) TARGETS_ROOTFS += rootfs-initramfs endif + +# Not using the rootfs infra, so fake the variables +ROOTFS_INITRAMFS_NAME = rootfs-initramfs +ROOTFS_INITRAMFS_TYPE = rootfs +ROOTFS_INITRAMFS_DEPENDENCIES = rootfs-cpio linux diff --git a/fs/jffs2/jffs2.mk b/fs/jffs2/jffs2.mk index 740ab3e03d..2adbc2320e 100644 --- a/fs/jffs2/jffs2.mk +++ b/fs/jffs2/jffs2.mk @@ -4,8 +4,8 @@ # ################################################################################ -JFFS2_OPTS := -e $(BR2_TARGET_ROOTFS_JFFS2_EBSIZE) -SUMTOOL_OPTS := $(JFFS2_OPTS) +JFFS2_OPTS = -e $(BR2_TARGET_ROOTFS_JFFS2_EBSIZE) +SUMTOOL_OPTS = -e $(BR2_TARGET_ROOTFS_JFFS2_EBSIZE) ifeq ($(BR2_TARGET_ROOTFS_JFFS2_PAD),y) ifneq ($(strip $(BR2_TARGET_ROOTFS_JFFS2_PADSIZE)),0x0) diff --git a/fs/tar/tar.mk b/fs/tar/tar.mk index 4c6327ace8..841af14706 100644 --- a/fs/tar/tar.mk +++ b/fs/tar/tar.mk @@ -4,10 +4,13 @@ # ################################################################################ -TAR_OPTS := $(call qstrip,$(BR2_TARGET_ROOTFS_TAR_OPTIONS)) +TAR_OPTS = $(call qstrip,$(BR2_TARGET_ROOTFS_TAR_OPTIONS)) ROOTFS_TAR_DEPENDENCIES = $(BR2_TAR_HOST_DEPENDENCY) +# do not store atime/ctime in PaxHeaders to ensure reproducbility +TAR_OPTS += --pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0,ctime:=0 + define ROOTFS_TAR_CMD (cd $(TARGET_DIR); find -print0 | LC_ALL=C sort -z | \ tar $(TAR_OPTS) -cf $@ --null --xattrs-include='*' --no-recursion -T - --numeric-owner) diff --git a/fs/ubi/ubi.mk b/fs/ubi/ubi.mk index 9874e73ff6..d848f8b23a 100644 --- a/fs/ubi/ubi.mk +++ b/fs/ubi/ubi.mk @@ -4,7 +4,7 @@ # ################################################################################ -UBI_UBINIZE_OPTS := -m $(BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE) +UBI_UBINIZE_OPTS = -m $(BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE) UBI_UBINIZE_OPTS += -p $(BR2_TARGET_ROOTFS_UBI_PEBSIZE) ifneq ($(BR2_TARGET_ROOTFS_UBI_SUBSIZE),0) UBI_UBINIZE_OPTS += -s $(BR2_TARGET_ROOTFS_UBI_SUBSIZE) diff --git a/linux/Config.ext.in b/linux/Config.ext.in index 32dacbdf06..734a52a533 100644 --- a/linux/Config.ext.in +++ b/linux/Config.ext.in @@ -22,18 +22,21 @@ config BR2_LINUX_KERNEL_EXT_XENOMAI However, it is recommended to use the latest version of the Adeos/Ipipe patch available at - http://download.gna.org/adeos/patches + https://xenomai.org/downloads/ipipe/ Xenomai is know to support Blackfin, SH4, x86, ARM, NIOS2 and PowerPC architectures. config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH - string "Path for Adeos patch file" + string "Path/URL for Adeos patch file" depends on BR2_LINUX_KERNEL_EXT_XENOMAI help - Optionally, explicitly specify the Adeos patch to use. - Download it at http://download.gna.org/adeos/patches - and verify that your kernel version in buildroot matches. + Optionally, explicitly specify where to find the Adeos + patch to use. + Examples: + https://xenomai.org/downloads/ipipe/v4.x/arm/ipipe-core-4.19.33-arm-2.patch + or /home/foo/ipipe-core-4.19.33-arm-2.patch + Please verify that your kernel version in Buildroot matches. comment "xenomai needs a uClibc or glibc toolchain w/ threads" depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS @@ -99,7 +102,8 @@ choice help Select the major series of this version. This must match the major version of your kernel (e.g. for kernels 3.x, select - aufs3.x; for kernels 4.x, select aufs4.x). + aufs3.x; for kernels 4.x, select aufs4.x; for kernels 5.x, + select aufs5.x ). Note: neither aufs1.x nor aufs2.x (both for kernels older than 3.x) are supported. @@ -110,12 +114,16 @@ config BR2_LINUX_KERNEL_EXT_AUFS_SERIES_3 config BR2_LINUX_KERNEL_EXT_AUFS_SERIES_4 bool "aufs4.x" +config BR2_LINUX_KERNEL_EXT_AUFS_SERIES_5 + bool "aufs5.x" + endchoice config BR2_LINUX_KERNEL_EXT_AUFS_SERIES int default 3 if BR2_LINUX_KERNEL_EXT_AUFS_SERIES_3 default 4 if BR2_LINUX_KERNEL_EXT_AUFS_SERIES_4 + default 5 if BR2_LINUX_KERNEL_EXT_AUFS_SERIES_5 config BR2_LINUX_KERNEL_EXT_AUFS_VERSION string "aufs-standalone version" @@ -132,6 +140,8 @@ config BR2_LINUX_KERNEL_EXT_AUFS_VERSION https://sourceforge.net/p/aufs/aufs3-standalone/ref/master/branches/ For aufs4.x: https://github.com/sfjro/aufs4-standalone/branches/all + For aufs5.x: + https://github.com/sfjro/aufs5-standalone/branches/all endif # aufs diff --git a/linux/Config.in b/linux/Config.in index f35c9ec4d6..4f98b8dcfa 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -2,16 +2,13 @@ menu "Kernel" config BR2_LINUX_KERNEL bool "Linux Kernel" + select BR2_PACKAGE_HOST_IMAGEMAGICK if BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH != "" help Enable this option if you want to build a Linux kernel for your embedded device if BR2_LINUX_KERNEL -comment "Linux kernel in thumb mode may be broken with binutils >= 2.29" - depends on BR2_arm || BR2_armeb - depends on !BR2_BINUTILS_VERSION_2_28_X - # Packages that need to have a kernel with support for loadable modules, # but do not use the kernel-modules infrastructure, should select that # option. @@ -29,13 +26,11 @@ 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.19)" + bool "Latest version (5.6)" config BR2_LINUX_KERNEL_LATEST_CIP_VERSION - bool "Latest CIP SLTS version (v4.4.176-cip31)" + bool "Latest CIP SLTS version (4.19.118-cip25)" help CIP launched in the spring of 2016 to address the needs of organizations in industries such as power generation and @@ -53,6 +48,17 @@ config BR2_LINUX_KERNEL_LATEST_CIP_VERSION https://www.cip-project.org +config BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION + bool "Latest CIP RT SLTS version (4.19.115-cip24-rt9)" + help + Same as the CIP version, but this is the PREEMPT_RT realtime + variant. + + The CIP community plans to maintain 4.19 for security and + bug fixes for more than 10 years. + + https://www.cip-project.org + config BR2_LINUX_KERNEL_CUSTOM_VERSION bool "Custom version" help @@ -122,8 +128,9 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "4.19.36" if BR2_LINUX_KERNEL_LATEST_VERSION - default "v4.4.176-cip31" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION + default "5.6.16" if BR2_LINUX_KERNEL_LATEST_VERSION + default "4.19.118-cip25" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION + default "4.19.115-cip24-rt9" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL @@ -331,10 +338,10 @@ config BR2_LINUX_KERNEL_IMAGE_NAME string "Kernel image name" depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM help - The filename of the kernel image, if it is different from the - make target (above). Only Xtensa uses a filename different - from the make target. Defaults to - BR2_LINUX_KERNEL_IMAGE_TARGET_NAME. + The filename of the kernel image, if it is different from + the make target (above). Defaults to + BR2_LINUX_KERNEL_IMAGE_TARGET_NAME. If specified, the + filename is relative to arch/ARCH/boot/. If unsure, leave it empty. @@ -375,7 +382,13 @@ if BR2_LINUX_KERNEL_DTS_SUPPORT # The variable below address the second case, were you only want # limited actions from buildroot. config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT - bool + bool "DTB is built by kernel itself" + help + Normally, the device tree(s) to be built have to be passed + explicitly to the kernel build system. For some binary + formats, however, the kernel build system links in the + device tree directly in the kernel binary. Select this option + if you have such a kernel binary format. config BR2_LINUX_KERNEL_APPENDED_DTB bool diff --git a/linux/linux-ext-xenomai.mk b/linux/linux-ext-xenomai.mk index d066bb32ac..5ec6891bbf 100644 --- a/linux/linux-ext-xenomai.mk +++ b/linux/linux-ext-xenomai.mk @@ -8,10 +8,21 @@ LINUX_EXTENSIONS += xenomai # Adeos patch version XENOMAI_ADEOS_PATCH = $(call qstrip,$(BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH)) + +ifneq ($(filter ftp://% http://% https://%,$(XENOMAI_ADEOS_PATCH)),) +XENOMAI_ADEOS_PATCH_NAME = $(notdir $(XENOMAI_ADEOS_PATCH)) +XENOMAI_ADEOS_PATCH_PATH = $(LINUX_DL_DIR)/$(XENOMAI_ADEOS_PATCH_NAME) +# check-package TypoInPackageVariable +LINUX_EXTRA_DOWNLOADS += $(XENOMAI_ADEOS_PATCH) +BR_NO_CHECK_HASH_FOR += $(XENOMAI_ADEOS_PATCH_NAME) +else +XENOMAI_ADEOS_PATCH_PATH = $(XENOMAI_ADEOS_PATCH) +endif + ifeq ($(XENOMAI_ADEOS_PATCH),) XENOMAI_ADEOS_OPTS = --default else -XENOMAI_ADEOS_OPTS = --adeos=$(XENOMAI_ADEOS_PATCH) +XENOMAI_ADEOS_OPTS = --adeos=$(XENOMAI_ADEOS_PATCH_PATH) endif # Prepare kernel patch diff --git a/linux/linux.hash b/linux/linux.hash index 76cc547206..5ceb4247ae 100644 --- a/linux/linux.hash +++ b/linux/linux.hash @@ -1,6 +1,17 @@ +# From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc +sha256 25504b4de7baf912071d1ed40b13af0689305442b9dea9218fd096d8bd997cf7 linux-5.6.16.tar.xz +sha256 1448334371fb52f511255726832464d33877a210a7350260fb18eb225ae211eb linux-5.5.19.tar.xz +sha256 103f039f34a9009c42ea643b4f473bda6bb9607d5ad7f63b56b3e2351615fe2e linux-5.4.45.tar.xz # 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 +sha256 418299385195f09b27e371a35f305f3aff148e7557a341b53460091303aa9bb7 linux-4.4.226.tar.xz +sha256 460a8c168fe5c60ce5b30015a4e4bf348d93a89f8b949de1f90779567ef345ca linux-4.9.226.tar.xz +sha256 4265afef56819b04656107a5abecde205c5bc5fb04b2e81447955e7e45db8085 linux-4.14.183.tar.xz +sha256 82af886bc588b5c8d7474beb2bac13810ee3ed07da356a2553c81ae8e52e586f linux-4.19.127.tar.xz +# Locally computed +sha256 ea53913813cb5a9069608532b327de7a7ed0fdc8fed8c6f10cd55d1ac6a58ffb linux-cip-4.19.118-cip25.tar.gz +sha256 7f0a0db0e1cfb14053523f4432f1ad1468b5bd42305b44905c4b103466c8d655 linux-cip-4.19.115-cip24-rt9.tar.gz + +# Licenses hashes +sha256 fb5a425bd3b3cd6071a3a9aff9909a859e7c1158d54d32e07658398cd67eb6a0 COPYING +sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 LICENSES/preferred/GPL-2.0 +sha256 8e378ab93586eb55135d3bc119cce787f7324f48394777d00c34fa3d0be3303f LICENSES/exceptions/Linux-syscall-note diff --git a/linux/linux.mk b/linux/linux.mk index 51fd41fa15..b9f2052ee7 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -6,7 +6,12 @@ LINUX_VERSION = $(call qstrip,$(BR2_LINUX_KERNEL_VERSION)) LINUX_LICENSE = GPL-2.0 -LINUX_LICENSE_FILES = COPYING +ifeq ($(BR2_LINUX_KERNEL_LATEST_VERSION),y) +LINUX_LICENSE_FILES = \ + COPYING \ + LICENSES/preferred/GPL-2.0 \ + LICENSES/exceptions/Linux-syscall-note +endif define LINUX_HELP_CMDS @echo ' linux-menuconfig - Run Linux kernel menuconfig' @@ -29,8 +34,9 @@ LINUX_SITE_METHOD = hg 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/cip/linux-cip.git +else ifeq ($(BR2_LINUX_KERNEL_LATEST_CIP_VERSION)$(BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION),y) +LINUX_SOURCE = linux-cip-$(LINUX_VERSION).tar.gz +LINUX_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git/snapshot else ifneq ($(findstring -rc,$(LINUX_VERSION)),) # Since 4.12-rc1, -rc kernels are generated from cgit. This also works for # older -rc kernels. @@ -59,12 +65,17 @@ BR_NO_CHECK_HASH_FOR += $(notdir $(LINUX_PATCHES)) # be directories in the patch list (unlike for other packages). LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES)) +# while the kernel is built for the target, the build may need various +# host libraries depending on config (and version), so use +# HOST_MAKE_ENV here. In particular, this ensures that our +# host-pkgconf will look for host libraries and not target ones. LINUX_MAKE_ENV = \ - $(TARGET_MAKE_ENV) \ + $(HOST_MAKE_ENV) \ BR_BINARIES_DIR=$(BINARIES_DIR) LINUX_INSTALL_IMAGES = YES -LINUX_DEPENDENCIES = host-kmod +LINUX_DEPENDENCIES = host-kmod \ + $(if $(BR2_PACKAGE_INTEL_MICROCODE),intel-microcode) # Starting with 4.16, the generated kconfig paser code is no longer # shipped with the kernel sources, so we need flex and bison, but @@ -100,12 +111,6 @@ endif ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y) 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 @@ -122,6 +127,8 @@ LINUX_POST_EXTRACT_HOOKS += LINUX_XTENSA_OVERLAY_EXTRACT LINUX_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL) endif +# We don't want to run depmod after installing the kernel. It's done in a +# target-finalize hook, to encompass modules installed by packages. LINUX_MAKE_FLAGS = \ HOSTCC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS)" \ ARCH=$(KERNEL_ARCH) \ @@ -297,26 +304,40 @@ LINUX_NEEDS_MODULES ?= $(BR2_LINUX_NEEDS_MODULES) # option will be thrown away and ignored if it doesn't exist. ifeq ($(BR2_ENDIAN),"BIG") define LINUX_FIXUP_CONFIG_ENDIANNESS - $(call KCONFIG_ENABLE_OPT,CONFIG_CPU_BIG_ENDIAN,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_CPU_BIG_ENDIAN) endef else define LINUX_FIXUP_CONFIG_ENDIANNESS - $(call KCONFIG_ENABLE_OPT,CONFIG_CPU_LITTLE_ENDIAN,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_CPU_LITTLE_ENDIAN) endef endif define LINUX_KCONFIG_FIXUP_CMDS $(if $(LINUX_NEEDS_MODULES), - $(call KCONFIG_ENABLE_OPT,CONFIG_MODULES,$(@D)/.config)) - $(call KCONFIG_ENABLE_OPT,$(strip $(LINUX_COMPRESSION_OPT_y)),$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_MODULES)) + $(call KCONFIG_ENABLE_OPT,$(strip $(LINUX_COMPRESSION_OPT_y))) $(foreach opt, $(LINUX_COMPRESSION_OPT_), - $(call KCONFIG_DISABLE_OPT,$(opt),$(@D)/.config) + $(call KCONFIG_DISABLE_OPT,$(opt)) ) $(LINUX_FIXUP_CONFIG_ENDIANNESS) $(if $(BR2_arm)$(BR2_armeb), - $(call KCONFIG_ENABLE_OPT,CONFIG_AEABI,$(@D)/.config)) + $(call KCONFIG_ENABLE_OPT,CONFIG_AEABI)) + $(if $(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le), + $(call KCONFIG_ENABLE_OPT,CONFIG_PPC_DISABLE_WERROR)) + $(if $(BR2_ARC_PAGE_SIZE_4K), + $(call KCONFIG_ENABLE_OPT,CONFIG_ARC_PAGE_SIZE_4K) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_8K) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_16K)) + $(if $(BR2_ARC_PAGE_SIZE_8K), + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_4K) + $(call KCONFIG_ENABLE_OPT,CONFIG_ARC_PAGE_SIZE_8K) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_16K)) + $(if $(BR2_ARC_PAGE_SIZE_16K), + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_4K) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_8K) + $(call KCONFIG_ENABLE_OPT,CONFIG_ARC_PAGE_SIZE_16K)) $(if $(BR2_TARGET_ROOTFS_CPIO), - $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD,$(@D)/.config)) + $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD)) # As the kernel gets compiled before root filesystems are # built, we create a fake cpio file. It'll be # replaced later by the real cpio archive, and the kernel will be @@ -324,66 +345,26 @@ define LINUX_KCONFIG_FIXUP_CMDS $(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) - $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0,$(@D)/.config)) + $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,"$${BR_BINARIES_DIR}/rootfs.cpio") + $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0) + $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0)) $(if $(BR2_ROOTFS_DEVICE_CREATION_STATIC),, - $(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT,$(@D)/.config)) + $(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS) + $(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT)) $(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) - $(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER,$(@D)/.config)) + $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER)) + $(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV), + $(call KCONFIG_ENABLE_OPT,CONFIG_NET)) $(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) - $(call KCONFIG_ENABLE_OPT,CONFIG_FHANDLE,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_AUTOFS4_FS,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_ACL,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_XATTR,$(@D)/.config)) - $(if $(BR2_PACKAGE_SMACK), - $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_SMACK,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_NETWORK,$(@D)/.config)) - $(if $(BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER), - $(call KCONFIG_ENABLE_OPT,CONFIG_CMA,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_DMA_CMA,$(@D)/.config)) - $(if $(BR2_PACKAGE_IPTABLES), - $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XTABLES,$(@D)/.config)) - $(if $(BR2_PACKAGE_XTABLES_ADDONS), - $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_ADVANCED,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_MARK,$(@D)/.config)) - $(if $(BR2_PACKAGE_WIREGUARD), - $(call KCONFIG_ENABLE_OPT,CONFIG_INET,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_NET,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_NET_FOU,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_MANAGER,$(@D)/.config)) + $(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS)) $(if $(BR2_LINUX_KERNEL_APPENDED_DTB), - $(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)) + $(call KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB)) $(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)) + $(call KCONFIG_ENABLE_OPT,CONFIG_FB) + $(call KCONFIG_ENABLE_OPT,CONFIG_LOGO) + $(call KCONFIG_ENABLE_OPT,CONFIG_LOGO_LINUX_CLUT224)) + $(call KCONFIG_DISABLE_OPT,CONFIG_GCC_PLUGINS) + $(PACKAGES_LINUX_CONFIG_FIXUPS) endef ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT),y) @@ -443,7 +424,10 @@ endif # '$(LINUX_TARGET_NAME)' targets separately because calling them in # the same $(MAKE) invocation has shown to cause parallel build # issues. +# The call to disable gcc-plugins is a stop-gap measure: +# http://lists.busybox.net/pipermail/buildroot/2020-May/282727.html define LINUX_BUILD_CMDS + $(call KCONFIG_DISABLE_OPT,CONFIG_GCC_PLUGINS) $(foreach dts,$(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)), \ cp -f $(dts) $(LINUX_ARCH_PATH)/boot/dts/ ) @@ -464,7 +448,7 @@ else # Otherwise, just install the unique image generated by the kernel # build process. define LINUX_INSTALL_IMAGE - $(INSTALL) -m 0644 -D $(LINUX_IMAGE_PATH) $(1)/$(LINUX_IMAGE_NAME) + $(INSTALL) -m 0644 -D $(LINUX_IMAGE_PATH) $(1)/$(notdir $(LINUX_IMAGE_NAME)) endef endif @@ -504,16 +488,35 @@ define LINUX_INSTALL_TARGET_CMDS $(LINUX_INSTALL_HOST_TOOLS) endef +# Run depmod in a target-finalize hook, to encompass modules installed by +# packages. +define LINUX_RUN_DEPMOD + if grep -q "CONFIG_MODULES=y" $(LINUX_DIR)/.config; then \ + $(HOST_DIR)/sbin/depmod -a -b $(TARGET_DIR) $(LINUX_VERSION_PROBED); \ + fi +endef +LINUX_TARGET_FINALIZE_HOOKS += LINUX_RUN_DEPMOD + # Include all our extensions. # # Note: our package infrastructure uses the full-path of the last-scanned # Makefile to determine what package we're currently defining, using the -# last directory component in the path. As such, including other Makefile, -# like below, before we call one of the *-package macro is usally not -# working. -# However, since the files we include here are in the same directory as -# the current Makefile, we are OK. But this is a hard requirement: files -# included here *must* be in the same directory! +# last directory component in the path. Additionally, the full path of +# the package directory is also stored in _PKGDIR (e.g. to find patches) +# +# As such, including other Makefiles, like below, before we call one of +# the *-package macros usually doesn't work. +# +# However, by including the in-tree extensions after the ones from the +# br2-external trees, we're back to the situation where the last Makefile +# scanned *is* included from the correct directory. +# +# NOTE: this is very fragile, and extra care must be taken to ensure that +# we always end up with an in-tree included file. That's mostly OK, because +# we do have in-tree linux-extensions. +# +include $(sort $(wildcard $(foreach ext,$(BR2_EXTERNAL_DIRS), \ + $(ext)/linux/linux-ext-*.mk))) include $(sort $(wildcard linux/linux-ext-*.mk)) LINUX_PATCH_DEPENDENCIES += $(foreach ext,$(LINUX_EXTENSIONS),\ diff --git a/package/4th/4th.hash b/package/4th/4th.hash index 97083da8f6..36d2941055 100644 --- a/package/4th/4th.hash +++ b/package/4th/4th.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 1c7adbb1a56dad4c4c781e6e023d77ac862842560c05246b691d07e9a4460ab2 4th-3.62.4-unix.tar.gz +sha256 f822f7dd8cfb0b1744a62d653c6efe933578ae1789ec60a088509a38bca4b4fc 4th-3.62.5-unix.tar.gz +sha256 8c6111b645a02219579ea66e84aa8e78a0ed4f4dd80857ffb91bcda5528717d4 COPYING diff --git a/package/4th/4th.mk b/package/4th/4th.mk index f272e02808..aee59c463f 100644 --- a/package/4th/4th.mk +++ b/package/4th/4th.mk @@ -4,7 +4,7 @@ # ################################################################################ -4TH_VERSION = 3.62.4 +4TH_VERSION = 3.62.5 4TH_SOURCE = 4th-$(4TH_VERSION)-unix.tar.gz 4TH_SITE = http://downloads.sourceforge.net/project/forth-4th/4th-$(4TH_VERSION) 4TH_LICENSE = GPL-3.0+, LGPL-3.0+ diff --git a/package/Config.in b/package/Config.in index 7df4047211..53fa44f0a0 100644 --- a/package/Config.in +++ b/package/Config.in @@ -5,6 +5,7 @@ menu "Target packages" source "package/skeleton-custom/Config.in" source "package/skeleton-init-common/Config.in" source "package/skeleton-init-none/Config.in" + source "package/skeleton-init-openrc/Config.in" source "package/skeleton-init-systemd/Config.in" source "package/skeleton-init-sysv/Config.in" @@ -22,15 +23,18 @@ menu "Audio and video applications" source "package/ffmpeg/Config.in" source "package/flac/Config.in" source "package/flite/Config.in" + source "package/fluid-soundfont/Config.in" + source "package/fluidsynth/Config.in" source "package/gmrender-resurrect/Config.in" - source "package/gstreamer/Config.in" source "package/gstreamer1/Config.in" + source "package/jack1/Config.in" source "package/jack2/Config.in" source "package/kodi/Config.in" source "package/lame/Config.in" source "package/libwebcam/Config.in" source "package/madplay/Config.in" source "package/mimic/Config.in" + source "package/minimodem/Config.in" source "package/miraclecast/Config.in" source "package/mjpegtools/Config.in" source "package/modplugtools/Config.in" @@ -69,6 +73,7 @@ menu "Compressors and decompressors" source "package/brotli/Config.in" source "package/bzip2/Config.in" source "package/gzip/Config.in" + source "package/lrzip/Config.in" source "package/lz4/Config.in" source "package/lzip/Config.in" source "package/lzop/Config.in" @@ -87,6 +92,7 @@ menu "Debugging, profiling and benchmark" source "package/bonnie/Config.in" source "package/cache-calibrator/Config.in" source "package/clinfo/Config.in" + source "package/dacapo/Config.in" source "package/dhrystone/Config.in" source "package/dieharder/Config.in" source "package/dmalloc/Config.in" @@ -120,6 +126,8 @@ menu "Debugging, profiling and benchmark" source "package/oprofile/Config.in" source "package/pax-utils/Config.in" source "package/pcm-tools/Config.in" + source "package/piglit/Config.in" + source "package/ptm2human/Config.in" source "package/pv/Config.in" source "package/racehound/Config.in" source "package/ramsmp/Config.in" @@ -142,6 +150,7 @@ menu "Debugging, profiling and benchmark" endmenu menu "Development tools" + source "package/bats-core/Config.in" source "package/binutils/Config.in" source "package/bsdiff/Config.in" source "package/bustle/Config.in" @@ -157,6 +166,8 @@ menu "Development tools" source "package/flex/Config.in" source "package/gawk/Config.in" source "package/gettext/Config.in" + source "package/gettext-gnu/Config.in" + source "package/gettext-tiny/Config.in" source "package/git/Config.in" source "package/git-crypt/Config.in" source "package/gperf/Config.in" @@ -167,6 +178,7 @@ menu "Development tools" source "package/make/Config.in" source "package/patch/Config.in" source "package/pkgconf/Config.in" + source "package/ripgrep/Config.in" source "package/sed/Config.in" source "package/subversion/Config.in" source "package/tree/Config.in" @@ -188,8 +200,10 @@ menu "Filesystem and flash utilities" source "package/e2fsprogs/Config.in" source "package/e2tools/Config.in" source "package/ecryptfs-utils/Config.in" + source "package/erofs-utils/Config.in" source "package/exfat/Config.in" source "package/exfat-utils/Config.in" + source "package/exfatprogs/Config.in" source "package/f2fs-tools/Config.in" source "package/flashbench/Config.in" source "package/fscryptctl/Config.in" @@ -243,6 +257,7 @@ comment "Themes" endmenu menu "Games" + source "package/ascii-invaders/Config.in" source "package/chocolate-doom/Config.in" source "package/doom-wad/Config.in" source "package/flare-engine/Config.in" @@ -267,9 +282,12 @@ endmenu menu "Graphic libraries and applications (graphic/text)" comment "Graphic applications" + source "package/cage/Config.in" + source "package/cog/Config.in" source "package/fswebcam/Config.in" source "package/ghostscript/Config.in" source "package/glmark2/Config.in" + source "package/glslsandbox-player/Config.in" source "package/gnuplot/Config.in" source "package/jhead/Config.in" source "package/kmscube/Config.in" @@ -279,17 +297,18 @@ comment "Graphic applications" source "package/pngquant/Config.in" source "package/qt5cinex/Config.in" source "package/rrdtool/Config.in" + source "package/stellarium/Config.in" source "package/tesseract-ocr/Config.in" comment "Graphic libraries" - source "package/cegui06/Config.in" + source "package/cegui/Config.in" source "package/directfb/Config.in" source "package/directfb-examples/Config.in" source "package/efl/Config.in" + source "package/fb-test-app/Config.in" source "package/fbdump/Config.in" source "package/fbgrab/Config.in" source "package/fbset/Config.in" - source "package/fb-test-app/Config.in" source "package/fbterm/Config.in" source "package/fbv/Config.in" source "package/freerdp/Config.in" @@ -299,6 +318,7 @@ comment "Graphic libraries" source "package/mesa3d/Config.in" source "package/mesa3d-headers/Config.in" source "package/ocrad/Config.in" + source "package/ogre/Config.in" source "package/psplash/Config.in" source "package/sdl/Config.in" source "package/sdl_gfx/Config.in" @@ -317,11 +337,11 @@ comment "Graphic libraries" comment "Other GUIs" source "package/qt5/Config.in" - source "package/kf5/Config.in" if BR2_PACKAGE_QT5 comment "QT libraries and helper libraries" source "package/cutelyst/Config.in" source "package/grantlee/Config.in" + source "package/kf5/Config.in" source "package/qextserialport/Config.in" source "package/qjson/Config.in" source "package/quazip/Config.in" @@ -329,6 +349,7 @@ comment "QT libraries and helper libraries" endif source "package/tekui/Config.in" source "package/weston/Config.in" + source "package/weston-imx/Config.in" source "package/x11r7/Config.in" comment "X applications" @@ -381,6 +402,7 @@ menu "Firmware" source "package/armbian-firmware/Config.in" source "package/b43-firmware/Config.in" source "package/linux-firmware/Config.in" + source "package/murata-cyw-fw/Config.in" source "package/rpi-bt-firmware/Config.in" source "package/rpi-firmware/Config.in" source "package/rpi-wifi-firmware/Config.in" @@ -399,13 +421,16 @@ endmenu source "package/aer-inject/Config.in" source "package/am335x-pru-package/Config.in" source "package/amd-catalyst/Config.in" + source "package/apcupsd/Config.in" source "package/avrdude/Config.in" source "package/bcache-tools/Config.in" source "package/biosdevname/Config.in" + source "package/brickd/Config.in" source "package/brltty/Config.in" source "package/cbootimage/Config.in" source "package/cc-tool/Config.in" source "package/cdrkit/Config.in" + source "package/cpuburn-arm/Config.in" source "package/cryptsetup/Config.in" source "package/cwiid/Config.in" source "package/dahdi-linux/Config.in" @@ -415,7 +440,6 @@ endmenu source "package/dbus-glib/Config.in" source "package/dbus-python/Config.in" source "package/dbus-triggerd/Config.in" - source "package/devmem2/Config.in" source "package/dfu-util/Config.in" source "package/dmidecode/Config.in" source "package/dmraid/Config.in" @@ -432,12 +456,11 @@ endmenu source "package/fan-ctrl/Config.in" source "package/fbtft/Config.in" source "package/fconfig/Config.in" - source "package/fis/Config.in" source "package/flashrom/Config.in" source "package/fmtools/Config.in" source "package/freescale-imx/Config.in" source "package/fxload/Config.in" - source "package/gadgetfs-test/Config.in" + source "package/gcnano-binaries/Config.in" source "package/gpm/Config.in" source "package/gpsd/Config.in" source "package/gptfdisk/Config.in" @@ -457,10 +480,11 @@ endmenu source "package/kbd/Config.in" source "package/lan951x-led-ctl/Config.in" source "package/lcdproc/Config.in" + source "package/libubootenv/Config.in" source "package/libuio/Config.in" - source "package/libump/Config.in" - source "package/linuxconsoletools/Config.in" source "package/linux-backports/Config.in" + source "package/linux-serial-test/Config.in" + source "package/linuxconsoletools/Config.in" source "package/lirc-tools/Config.in" source "package/lm-sensors/Config.in" source "package/lshw/Config.in" @@ -470,6 +494,7 @@ endmenu source "package/lvm2/Config.in" source "package/mali-t76x/Config.in" source "package/mdadm/Config.in" + source "package/mdevd/Config.in" source "package/memtest86/Config.in" source "package/memtester/Config.in" source "package/memtool/Config.in" @@ -480,11 +505,10 @@ endmenu source "package/nvidia-driver/Config.in" source "package/nvidia-tegra23/Config.in" source "package/nvme/Config.in" - source "package/odroid-mali/Config.in" - source "package/odroid-scripts/Config.in" source "package/ofono/Config.in" source "package/on2-8170-modules/Config.in" source "package/open2300/Config.in" + source "package/openfpgaloader/Config.in" source "package/openipmi/Config.in" source "package/openocd/Config.in" source "package/openpowerlink/Config.in" @@ -499,6 +523,7 @@ endmenu source "package/pps-tools/Config.in" source "package/pru-software-support/Config.in" source "package/pulseview/Config.in" + source "package/raspi-gpio/Config.in" source "package/read-edid/Config.in" source "package/rng-tools/Config.in" source "package/rpi-armmem/Config.in" @@ -524,7 +549,6 @@ endmenu source "package/statserial/Config.in" source "package/stm32flash/Config.in" source "package/sunxi-cedarx/Config.in" - source "package/sunxi-mali/Config.in" source "package/sunxi-mali-mainline/Config.in" source "package/sunxi-mali-mainline-driver/Config.in" source "package/sysstat/Config.in" @@ -532,16 +556,20 @@ endmenu source "package/ti-gfx/Config.in" source "package/ti-sgx-demos/Config.in" source "package/ti-sgx-km/Config.in" + source "package/ti-sgx-libgbm/Config.in" source "package/ti-sgx-um/Config.in" source "package/ti-uim/Config.in" source "package/ti-utils/Config.in" + source "package/tio/Config.in" source "package/triggerhappy/Config.in" source "package/uboot-tools/Config.in" source "package/ubus/Config.in" source "package/uccp420wlan/Config.in" source "package/udev/Config.in" + source "package/udev-gentoo-scripts/Config.in" source "package/udisks/Config.in" source "package/uhubctl/Config.in" + source "package/umtprd/Config.in" source "package/upower/Config.in" source "package/usb_modeswitch/Config.in" source "package/usb_modeswitch_data/Config.in" @@ -560,13 +588,18 @@ menu "Interpreter languages and scripting" source "package/erlang/Config.in" if BR2_PACKAGE_ERLANG menu "Erlang libraries/modules" + source "package/erlang-base64url/Config.in" source "package/erlang-eimp/Config.in" source "package/erlang-goldrush/Config.in" + source "package/erlang-idna/Config.in" source "package/erlang-jiffy/Config.in" + source "package/erlang-jose/Config.in" source "package/erlang-lager/Config.in" + source "package/erlang-p1-acme/Config.in" source "package/erlang-p1-cache-tab/Config.in" - source "package/erlang-p1-iconv/Config.in" + source "package/erlang-p1-mqtree/Config.in" source "package/erlang-p1-oauth2/Config.in" + source "package/erlang-p1-pkix/Config.in" source "package/erlang-p1-sip/Config.in" source "package/erlang-p1-stringprep/Config.in" source "package/erlang-p1-stun/Config.in" @@ -575,6 +608,7 @@ menu "Erlang libraries/modules" source "package/erlang-p1-xml/Config.in" source "package/erlang-p1-xmpp/Config.in" source "package/erlang-p1-yaml/Config.in" + source "package/erlang-p1-yconf/Config.in" source "package/erlang-p1-zlib/Config.in" endmenu endif @@ -583,7 +617,6 @@ endif source "package/gauche/Config.in" source "package/guile/Config.in" source "package/haserl/Config.in" - source "package/jamvm/Config.in" source "package/jimtcl/Config.in" source "package/lua/Config.in" source "package/luainterpreter/Config.in" @@ -609,10 +642,12 @@ menu "Lua libraries/modules" source "package/lrandom/Config.in" source "package/lsqlite3/Config.in" source "package/lua-basexx/Config.in" + source "package/lua-binaryheap/Config.in" source "package/lua-bit32/Config.in" source "package/lua-cjson/Config.in" source "package/lua-coat/Config.in" source "package/lua-coatpersistent/Config.in" + source "package/lua-codegen/Config.in" source "package/lua-compat53/Config.in" source "package/lua-cqueues/Config.in" source "package/lua-csnappy/Config.in" @@ -621,19 +656,29 @@ menu "Lua libraries/modules" source "package/lua-ev/Config.in" source "package/lua-fifo/Config.in" source "package/lua-flu/Config.in" + source "package/lua-gd/Config.in" source "package/lua-http/Config.in" source "package/lua-iconv/Config.in" + source "package/lua-livr/Config.in" + source "package/lua-livr-extra/Config.in" source "package/lua-lpeg-patterns/Config.in" + source "package/lua-lunitx/Config.in" + source "package/lua-lyaml/Config.in" source "package/lua-markdown/Config.in" source "package/lua-messagepack/Config.in" source "package/lua-msgpack-native/Config.in" source "package/lua-periphery/Config.in" + source "package/lua-resty-http/Config.in" + source "package/lua-rotas/Config.in" + source "package/lua-sailor/Config.in" source "package/lua-sdl2/Config.in" + source "package/lua-silva/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/lua-valua/Config.in" source "package/luabitop/Config.in" source "package/luadbi/Config.in" source "package/luadbi-sqlite3/Config.in" @@ -644,13 +689,10 @@ menu "Lua libraries/modules" source "package/lualogging/Config.in" source "package/luaossl/Config.in" source "package/luaposix/Config.in" - source "package/lua-resty-http/Config.in" - source "package/lua-sailor/Config.in" source "package/luasec/Config.in" source "package/luasocket/Config.in" source "package/luasql-sqlite3/Config.in" - source "package/lua-valua/Config.in" - source "package/lunit/Config.in" + source "package/luasyslog/Config.in" source "package/lutok/Config.in" source "package/luv/Config.in" source "package/luvi/Config.in" @@ -674,6 +716,7 @@ menu "Mono libraries/modules" endmenu endif source "package/nodejs/Config.in" + source "package/openjdk/Config.in" source "package/perl/Config.in" if BR2_PACKAGE_PERL menu "Perl libraries/modules" @@ -689,6 +732,7 @@ menu "Perl libraries/modules" 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-aes/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" @@ -703,7 +747,6 @@ menu "Perl libraries/modules" 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" @@ -728,6 +771,7 @@ menu "Perl libraries/modules" source "package/perl-http-message/Config.in" source "package/perl-http-multipartparser/Config.in" source "package/perl-http-negotiate/Config.in" + source "package/perl-i18n/Config.in" source "package/perl-io-html/Config.in" source "package/perl-io-interface/Config.in" source "package/perl-io-socket-multicast/Config.in" @@ -735,20 +779,26 @@ menu "Perl libraries/modules" source "package/perl-json-maybexs/Config.in" source "package/perl-json-tiny/Config.in" source "package/perl-libwww-perl/Config.in" + source "package/perl-locale-maketext-lexicon/Config.in" source "package/perl-lwp-mediatypes/Config.in" + source "package/perl-lwp-protocol-https/Config.in" source "package/perl-mail-dkim/Config.in" source "package/perl-mailtools/Config.in" + source "package/perl-math-prime-util/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-mojolicious-plugin-authentication/Config.in" + source "package/perl-mojolicious-plugin-authorization/Config.in" + source "package/perl-mojolicious-plugin-cspheader/Config.in" + source "package/perl-mojolicious-plugin-i18n/Config.in" + source "package/perl-mojolicious-plugin-securityheader/Config.in" source "package/perl-moo/Config.in" + source "package/perl-mozilla-ca/Config.in" source "package/perl-net-dns/Config.in" source "package/perl-net-http/Config.in" - source "package/perl-net-ping/Config.in" source "package/perl-net-snmp/Config.in" source "package/perl-net-ssh2/Config.in" source "package/perl-net-ssleay/Config.in" @@ -763,8 +813,8 @@ menu "Perl libraries/modules" 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-sub-quote/Config.in" source "package/perl-sys-cpu/Config.in" source "package/perl-sys-meminfo/Config.in" source "package/perl-sys-mmap/Config.in" @@ -804,42 +854,65 @@ endif source "package/python3/Config.in" if BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 menu "External python modules" + source "package/python-aenum/Config.in" + source "package/python-aioblescan/Config.in" source "package/python-aiocoap/Config.in" + source "package/python-aioconsole/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-cors/Config.in" + source "package/python-aiohttp-debugtoolbar/Config.in" source "package/python-aiohttp-jinja2/Config.in" + source "package/python-aiohttp-mako/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-aiologstash/Config.in" + source "package/python-aiomonitor/Config.in" + source "package/python-aioredis/Config.in" + source "package/python-aiorwlock/Config.in" + source "package/python-aiosignal/Config.in" + source "package/python-aiozipkin/Config.in" source "package/python-alsaaudio/Config.in" source "package/python-apispec/Config.in" source "package/python-argh/Config.in" + source "package/python-argon2-cffi/Config.in" source "package/python-arrow/Config.in" + source "package/python-asgiref/Config.in" source "package/python-asn1crypto/Config.in" + source "package/python-async-lru/Config.in" source "package/python-async-timeout/Config.in" source "package/python-attrs/Config.in" source "package/python-autobahn/Config.in" source "package/python-automat/Config.in" + source "package/python-avro/Config.in" source "package/python-babel/Config.in" + source "package/python-backcall/Config.in" source "package/python-backports-abc/Config.in" + source "package/python-backports-functools-lru-cache/Config.in" source "package/python-backports-shutil-get-terminal-size/Config.in" source "package/python-backports-ssl-match-hostname/Config.in" source "package/python-bcrypt/Config.in" source "package/python-beautifulsoup4/Config.in" source "package/python-bitstring/Config.in" source "package/python-bluepy/Config.in" + source "package/python-bluezero/Config.in" source "package/python-bottle/Config.in" + source "package/python-brotli/Config.in" + source "package/python-bunch/Config.in" source "package/python-cached-property/Config.in" source "package/python-can/Config.in" + source "package/python-canopen/Config.in" source "package/python-cbor/Config.in" + source "package/python-cbor2/Config.in" source "package/python-cchardet/Config.in" source "package/python-certifi/Config.in" source "package/python-cffi/Config.in" + source "package/python-channels/Config.in" + source "package/python-channels-redis/Config.in" source "package/python-characteristic/Config.in" source "package/python-chardet/Config.in" source "package/python-cheetah/Config.in" @@ -848,18 +921,23 @@ menu "External python modules" source "package/python-click/Config.in" source "package/python-coherence/Config.in" source "package/python-colibris/Config.in" + source "package/python-colorama/Config.in" + source "package/python-colorlog/Config.in" source "package/python-configobj/Config.in" source "package/python-configshell-fb/Config.in" source "package/python-constantly/Config.in" source "package/python-couchdb/Config.in" source "package/python-crc16/Config.in" source "package/python-crcmod/Config.in" + source "package/python-crontab/Config.in" source "package/python-crossbar/Config.in" source "package/python-cryptography/Config.in" source "package/python-cssselect/Config.in" source "package/python-cssutils/Config.in" + source "package/python-cycler/Config.in" source "package/python-daemon/Config.in" source "package/python-daemonize/Config.in" + source "package/python-daphne/Config.in" source "package/python-dataproperty/Config.in" source "package/python-dateutil/Config.in" source "package/python-decorator/Config.in" @@ -867,9 +945,11 @@ menu "External python modules" source "package/python-dialog3/Config.in" source "package/python-dicttoxml/Config.in" source "package/python-django/Config.in" + source "package/python-django-enumfields/Config.in" + source "package/python-dnspython/Config.in" source "package/python-docker/Config.in" - source "package/python-dockerpty/Config.in" source "package/python-docker-pycreds/Config.in" + source "package/python-dockerpty/Config.in" source "package/python-docopt/Config.in" source "package/python-docutils/Config.in" source "package/python-dominate/Config.in" @@ -877,25 +957,35 @@ menu "External python modules" source "package/python-dpkt/Config.in" source "package/python-ecdsa/Config.in" source "package/python-engineio/Config.in" + source "package/python-entrypoints/Config.in" source "package/python-enum/Config.in" source "package/python-enum34/Config.in" + source "package/python-esptool/Config.in" source "package/python-falcon/Config.in" + source "package/python-filelock/Config.in" source "package/python-fire/Config.in" source "package/python-flask/Config.in" - source "package/python-flask-cors/Config.in" source "package/python-flask-babel/Config.in" + source "package/python-flask-cors/Config.in" source "package/python-flask-jsonrpc/Config.in" source "package/python-flask-login/Config.in" source "package/python-flask-sqlalchemy/Config.in" + source "package/python-flatbuffers/Config.in" source "package/python-flup/Config.in" + source "package/python-frozenlist/Config.in" source "package/python-functools32/Config.in" + source "package/python-future/Config.in" source "package/python-futures/Config.in" + source "package/python-gitdb2/Config.in" source "package/python-gobject/Config.in" + source "package/python-greenlet/Config.in" source "package/python-gunicorn/Config.in" source "package/python-h2/Config.in" + source "package/python-hiredis/Config.in" source "package/python-hpack/Config.in" source "package/python-html5lib/Config.in" source "package/python-httplib2/Config.in" + source "package/python-huepy/Config.in" source "package/python-humanize/Config.in" source "package/python-hyperframe/Config.in" source "package/python-hyperlink/Config.in" @@ -903,28 +993,37 @@ menu "External python modules" source "package/python-id3/Config.in" source "package/python-idna/Config.in" source "package/python-idna-ssl/Config.in" + source "package/python-ifaddr/Config.in" source "package/python-incremental/Config.in" + source "package/python-inflection/Config.in" source "package/python-influxdb/Config.in" source "package/python-iniparse/Config.in" source "package/python-iowait/Config.in" source "package/python-ipaddr/Config.in" source "package/python-ipaddress/Config.in" + source "package/python-iptables/Config.in" source "package/python-ipy/Config.in" source "package/python-ipython/Config.in" source "package/python-ipython-genutils/Config.in" source "package/python-iso8601/Config.in" source "package/python-itsdangerous/Config.in" + source "package/python-janus/Config.in" source "package/python-jaraco-classes/Config.in" + source "package/python-jaraco-functools/Config.in" + source "package/python-jedi/Config.in" source "package/python-jinja2/Config.in" + source "package/python-json-schema-validator/Config.in" source "package/python-jsonmodels/Config.in" source "package/python-jsonpointer/Config.in" source "package/python-jsonschema/Config.in" - source "package/python-json-schema-validator/Config.in" source "package/python-keyring/Config.in" + source "package/python-kiwisolver/Config.in" source "package/python-libconfig/Config.in" source "package/python-libusb1/Config.in" source "package/python-lmdb/Config.in" + source "package/python-lockfile/Config.in" source "package/python-logbook/Config.in" + source "package/python-logstash/Config.in" source "package/python-lxml/Config.in" source "package/python-m2r/Config.in" source "package/python-mad/Config.in" @@ -934,18 +1033,22 @@ menu "External python modules" source "package/python-markupsafe/Config.in" source "package/python-marshmallow/Config.in" source "package/python-marshmallow-peewee/Config.in" + source "package/python-matplotlib/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-modbus-tk/Config.in" source "package/python-more-itertools/Config.in" + source "package/python-msgfy/Config.in" source "package/python-msgpack/Config.in" source "package/python-multidict/Config.in" source "package/python-mutagen/Config.in" source "package/python-mwclient/Config.in" source "package/python-mwscrape/Config.in" source "package/python-mwscrape2slob/Config.in" + source "package/python-nested-dict/Config.in" source "package/python-netaddr/Config.in" source "package/python-netifaces/Config.in" source "package/python-networkmanager/Config.in" @@ -956,6 +1059,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-parso/Config.in" source "package/python-passlib/Config.in" source "package/python-pathlib2/Config.in" source "package/python-pathpy/Config.in" @@ -964,6 +1068,7 @@ menu "External python modules" source "package/python-pbr/Config.in" source "package/python-peewee/Config.in" source "package/python-peewee-migrate/Config.in" + source "package/python-periphery/Config.in" source "package/python-pexpect/Config.in" source "package/python-picamera/Config.in" source "package/python-pickleshare/Config.in" @@ -981,17 +1086,18 @@ menu "External python modules" 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-pyaes/Config.in" + source "package/python-pyalsa/Config.in" source "package/python-pyasn1/Config.in" source "package/python-pyasn1-modules/Config.in" + source "package/python-pycairo/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-pydantic/Config.in" source "package/python-pyelftools/Config.in" source "package/python-pyftpdlib/Config.in" source "package/python-pygame/Config.in" @@ -1017,10 +1123,10 @@ menu "External python modules" source "package/python-pyro/Config.in" source "package/python-pyroute2/Config.in" source "package/python-pysendfile/Config.in" + source "package/python-pysftp/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" source "package/python-pysocks/Config.in" source "package/python-pytablereader/Config.in" @@ -1035,17 +1141,18 @@ menu "External python modules" source "package/python-raven/Config.in" source "package/python-redis/Config.in" source "package/python-reentry/Config.in" + source "package/python-regex/Config.in" source "package/python-remi/Config.in" source "package/python-request-id/Config.in" source "package/python-requests/Config.in" source "package/python-requests-oauthlib/Config.in" source "package/python-requests-toolbelt/Config.in" source "package/python-rpi-gpio/Config.in" + source "package/python-rpi-ws281x/Config.in" 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" @@ -1062,29 +1169,41 @@ menu "External python modules" source "package/python-simpleaudio/Config.in" source "package/python-simplegeneric/Config.in" source "package/python-simplejson/Config.in" + source "package/python-simplelogging/Config.in" source "package/python-simplesqlite/Config.in" source "package/python-singledispatch/Config.in" source "package/python-sip/Config.in" source "package/python-six/Config.in" source "package/python-slob/Config.in" source "package/python-smbus-cffi/Config.in" + source "package/python-smmap2/Config.in" + source "package/python-snappy/Config.in" source "package/python-socketio/Config.in" - source "package/python-sortedcontainers//Config.in" + source "package/python-sockjs/Config.in" + source "package/python-sortedcontainers/Config.in" + source "package/python-soupsieve/Config.in" source "package/python-spidev/Config.in" source "package/python-sqlalchemy/Config.in" + source "package/python-sqliteschema/Config.in" + source "package/python-sqlparse/Config.in" source "package/python-subprocess32/Config.in" source "package/python-systemd/Config.in" source "package/python-tabledata/Config.in" source "package/python-tempora/Config.in" + source "package/python-termcolor/Config.in" + source "package/python-terminaltables/Config.in" source "package/python-texttable/Config.in" source "package/python-thrift/Config.in" + source "package/python-tinyrpc/Config.in" source "package/python-tomako/Config.in" source "package/python-toml/Config.in" source "package/python-tornado/Config.in" + source "package/python-tqdm/Config.in" source "package/python-traitlets/Config.in" source "package/python-treq/Config.in" source "package/python-twisted/Config.in" source "package/python-txaio/Config.in" + source "package/python-txdbus/Config.in" source "package/python-txtorcon/Config.in" source "package/python-typepy/Config.in" source "package/python-typing/Config.in" @@ -1102,6 +1221,7 @@ menu "External python modules" source "package/python-wcwidth/Config.in" source "package/python-web2py/Config.in" source "package/python-webargs/Config.in" + source "package/python-webencodings/Config.in" source "package/python-webob/Config.in" source "package/python-webpy/Config.in" source "package/python-websocket-client/Config.in" @@ -1120,6 +1240,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-zc-lockfile/Config.in" source "package/python-zeroconf/Config.in" source "package/python-zope-interface/Config.in" endmenu @@ -1138,10 +1259,11 @@ menu "Libraries" menu "Audio/Sound" source "package/alsa-lib/Config.in" + source "package/alure/Config.in" source "package/aubio/Config.in" source "package/audiofile/Config.in" source "package/bcg729/Config.in" - source "package/celt051/Config.in" + source "package/caps/Config.in" source "package/fdk-aac/Config.in" source "package/libao/Config.in" source "package/libasplib/Config.in" @@ -1190,6 +1312,7 @@ endmenu menu "Compression and decompression" source "package/libarchive/Config.in" + source "package/libmspack/Config.in" source "package/libsquish/Config.in" source "package/libzip/Config.in" source "package/lzo/Config.in" @@ -1197,15 +1320,18 @@ menu "Compression and decompression" source "package/snappy/Config.in" source "package/szip/Config.in" source "package/zlib/Config.in" + source "package/zziplib/Config.in" endmenu menu "Crypto" + source "package/bearssl/Config.in" source "package/beecrypt/Config.in" source "package/botan/Config.in" source "package/ca-certificates/Config.in" source "package/cryptodev/Config.in" source "package/gcr/Config.in" source "package/gnutls/Config.in" + source "package/libargon2/Config.in" source "package/libassuan/Config.in" source "package/libgcrypt/Config.in" source "package/libgpg-error/Config.in" @@ -1215,6 +1341,8 @@ menu "Crypto" source "package/libmcrypt/Config.in" source "package/libmhash/Config.in" source "package/libnss/Config.in" + source "package/libolm/Config.in" + source "package/libp11/Config.in" source "package/libscrypt/Config.in" source "package/libsecret/Config.in" source "package/libsha1/Config.in" @@ -1226,6 +1354,7 @@ menu "Crypto" source "package/mbedtls/Config.in" source "package/nettle/Config.in" source "package/openssl/Config.in" + source "package/pkcs11-helper/Config.in" source "package/rhash/Config.in" source "package/tinydtls/Config.in" source "package/tpm2-tss/Config.in" @@ -1247,6 +1376,7 @@ menu "Database" source "package/mysql/Config.in" source "package/postgresql/Config.in" source "package/redis/Config.in" + source "package/rocksdb/Config.in" source "package/sqlcipher/Config.in" source "package/sqlite/Config.in" source "package/unixodbc/Config.in" @@ -1257,6 +1387,7 @@ menu "Filesystem" source "package/libconfig/Config.in" source "package/libconfuse/Config.in" source "package/libfuse/Config.in" + source "package/libfuse3/Config.in" source "package/liblockfile/Config.in" source "package/libnfs/Config.in" source "package/libsysfs/Config.in" @@ -1270,12 +1401,13 @@ menu "Graphics" source "package/at-spi2-core/Config.in" source "package/atk/Config.in" source "package/atkmm/Config.in" + source "package/bayer2rgb-neon/Config.in" source "package/bullet/Config.in" source "package/cairo/Config.in" source "package/cairomm/Config.in" source "package/chipmunk/Config.in" - source "package/exiv2/Config.in" source "package/exempi/Config.in" + source "package/exiv2/Config.in" source "package/fltk/Config.in" source "package/fontconfig/Config.in" source "package/freetype/Config.in" @@ -1291,8 +1423,11 @@ menu "Graphics" source "package/ijs/Config.in" source "package/imlib2/Config.in" source "package/intel-gmmlib/Config.in" + source "package/intel-mediadriver/Config.in" + source "package/intel-mediasdk/Config.in" source "package/irrlicht/Config.in" source "package/jasper/Config.in" + source "package/jbig2dec/Config.in" source "package/jpeg/Config.in" source "package/kmsxx/Config.in" source "package/lcms2/Config.in" @@ -1332,6 +1467,7 @@ menu "Graphics" source "package/libva-intel-driver/Config.in" source "package/libvdpau/Config.in" source "package/libvips/Config.in" + source "package/libwpe/Config.in" source "package/menu-cache/Config.in" source "package/opencv/Config.in" source "package/opencv3/Config.in" @@ -1339,6 +1475,7 @@ menu "Graphics" source "package/openjpeg/Config.in" source "package/pango/Config.in" source "package/pangomm/Config.in" + source "package/pipewire/Config.in" source "package/pixman/Config.in" source "package/poppler/Config.in" source "package/powervr/Config.in" @@ -1349,7 +1486,10 @@ menu "Graphics" source "package/waylandpp/Config.in" source "package/webkitgtk/Config.in" source "package/webp/Config.in" + source "package/wlroots/Config.in" source "package/woff2/Config.in" + source "package/wpebackend-fdo/Config.in" + source "package/wpewebkit/Config.in" source "package/zbar/Config.in" source "package/zxing-cpp/Config.in" endmenu @@ -1363,6 +1503,7 @@ menu "Hardware handling" source "package/gnu-efi/Config.in" source "package/hackrf/Config.in" source "package/hidapi/Config.in" + source "package/jitterentropy-library/Config.in" source "package/lcdapi/Config.in" source "package/let-me-create/Config.in" source "package/libaio/Config.in" @@ -1407,7 +1548,6 @@ menu "Hardware handling" source "package/pcsc-lite/Config.in" source "package/tslib/Config.in" source "package/urg/Config.in" - source "package/wiringpi/Config.in" endmenu menu "Javascript" @@ -1418,6 +1558,7 @@ menu "External AngularJS plugins" endmenu endif source "package/bootstrap/Config.in" + source "package/chartjs/Config.in" source "package/duktape/Config.in" source "package/explorercanvas/Config.in" source "package/flot/Config.in" @@ -1436,13 +1577,15 @@ endmenu endif source "package/jsmin/Config.in" source "package/json-javascript/Config.in" + source "package/openlayers/Config.in" + source "package/spidermonkey/Config.in" + source "package/vuejs/Config.in" endmenu menu "JSON/XML" source "package/benejson/Config.in" source "package/cjson/Config.in" source "package/expat/Config.in" - source "package/ezxml/Config.in" source "package/jansson/Config.in" source "package/jose/Config.in" source "package/jsmn/Config.in" @@ -1474,7 +1617,6 @@ menu "JSON/XML" endmenu menu "Logging" - source "package/eventlog/Config.in" source "package/glog/Config.in" source "package/liblog4c-localtime/Config.in" source "package/liblogging/Config.in" @@ -1482,17 +1624,19 @@ menu "Logging" source "package/log4cpp/Config.in" source "package/log4cxx/Config.in" source "package/opentracing-cpp/Config.in" + source "package/spdlog/Config.in" source "package/zlog/Config.in" endmenu menu "Multimedia" source "package/bitstream/Config.in" + source "package/dav1d/Config.in" source "package/kvazaar/Config.in" source "package/libaacs/Config.in" - source "package/libamcodec/Config.in" source "package/libass/Config.in" source "package/libbdplus/Config.in" source "package/libbluray/Config.in" + source "package/libcamera/Config.in" source "package/libdcadec/Config.in" source "package/libdvbcsa/Config.in" source "package/libdvbpsi/Config.in" @@ -1509,8 +1653,8 @@ menu "Multimedia" source "package/libogg/Config.in" source "package/libopenh264/Config.in" source "package/libopusenc/Config.in" - source "package/libplayer/Config.in" source "package/libtheora/Config.in" + source "package/libudfread/Config.in" source "package/libvpx/Config.in" source "package/libyuv/Config.in" source "package/live555/Config.in" @@ -1522,13 +1666,10 @@ endmenu menu "Networking" source "package/agentpp/Config.in" - source "package/alljoyn/Config.in" - source "package/alljoyn-base/Config.in" - source "package/alljoyn-tcl/Config.in" - source "package/alljoyn-tcl-base/Config.in" source "package/azmq/Config.in" source "package/azure-iot-sdk-c/Config.in" source "package/batman-adv/Config.in" + source "package/belle-sip/Config.in" source "package/bluez5_utils-headers/Config.in" source "package/c-ares/Config.in" source "package/canfestival/Config.in" @@ -1538,10 +1679,12 @@ menu "Networking" source "package/czmq/Config.in" source "package/daq/Config.in" source "package/davici/Config.in" + source "package/enet/Config.in" source "package/filemq/Config.in" source "package/flickcurl/Config.in" source "package/fmlib/Config.in" source "package/freeradius-client/Config.in" + source "package/gensio/Config.in" source "package/geoip/Config.in" source "package/glib-networking/Config.in" source "package/grpc/Config.in" @@ -1560,7 +1703,9 @@ menu "Networking" source "package/libeXosip2/Config.in" source "package/libfcgi/Config.in" source "package/libgsasl/Config.in" + source "package/libhtp/Config.in" source "package/libhttpparser/Config.in" + source "package/libhttpserver/Config.in" source "package/libidn/Config.in" source "package/libidn2/Config.in" source "package/libiscsi/Config.in" @@ -1573,9 +1718,11 @@ menu "Networking" source "package/libminiupnpc/Config.in" source "package/libmnl/Config.in" source "package/libmodbus/Config.in" + source "package/libmodsecurity/Config.in" source "package/libnatpmp/Config.in" source "package/libndp/Config.in" source "package/libnet/Config.in" + source "package/libnetconf2/Config.in" source "package/libnetfilter_acct/Config.in" source "package/libnetfilter_conntrack/Config.in" source "package/libnetfilter_cthelper/Config.in" @@ -1599,17 +1746,22 @@ menu "Networking" source "package/libsoup/Config.in" source "package/libsrtp/Config.in" source "package/libstrophe/Config.in" + source "package/libtelnet/Config.in" source "package/libtirpc/Config.in" source "package/libtorrent/Config.in" source "package/libtorrent-rasterbar/Config.in" + source "package/libuhttpd/Config.in" source "package/libupnp/Config.in" source "package/libupnp18/Config.in" source "package/libupnpp/Config.in" source "package/liburiparser/Config.in" + source "package/libuwsc/Config.in" source "package/libvncserver/Config.in" source "package/libwebsock/Config.in" source "package/libwebsockets/Config.in" + source "package/libyang/Config.in" source "package/lksctp-tools/Config.in" + source "package/mbuffer/Config.in" source "package/mongoose/Config.in" source "package/nanomsg/Config.in" source "package/neon/Config.in" @@ -1625,13 +1777,17 @@ menu "Networking" source "package/openzwave/Config.in" source "package/ortp/Config.in" source "package/paho-mqtt-c/Config.in" + source "package/paho-mqtt-cpp/Config.in" + source "package/pistache/Config.in" source "package/qdecoder/Config.in" source "package/qpid-proton/Config.in" source "package/rabbitmq-c/Config.in" + source "package/restclient-cpp/Config.in" source "package/rtmpdump/Config.in" source "package/slirp/Config.in" source "package/snmppp/Config.in" source "package/sofia-sip/Config.in" + source "package/sysrepo/Config.in" source "package/thrift/Config.in" source "package/usbredir/Config.in" source "package/wampcc/Config.in" @@ -1647,13 +1803,17 @@ menu "Other" source "package/argp-standalone/Config.in" source "package/armadillo/Config.in" source "package/atf/Config.in" + source "package/avro-c/Config.in" source "package/bctoolbox/Config.in" source "package/bdwgc/Config.in" + source "package/belr/Config.in" source "package/boost/Config.in" + source "package/c-capnproto/Config.in" source "package/capnproto/Config.in" + source "package/cctz/Config.in" + source "package/cereal/Config.in" source "package/clang/Config.in" source "package/clapack/Config.in" - source "package/classpath/Config.in" source "package/cmocka/Config.in" source "package/cppcms/Config.in" source "package/cracklib/Config.in" @@ -1668,15 +1828,18 @@ menu "Other" source "package/flatcc/Config.in" source "package/gconf/Config.in" source "package/gflags/Config.in" + source "package/gli/Config.in" source "package/glibmm/Config.in" source "package/glm/Config.in" source "package/gmp/Config.in" + source "package/gobject-introspection/Config.in" source "package/gsl/Config.in" source "package/gtest/Config.in" source "package/jemalloc/Config.in" source "package/lapack/Config.in" source "package/libargtable2/Config.in" source "package/libatomic_ops/Config.in" + source "package/libavl/Config.in" source "package/libb64/Config.in" source "package/libbsd/Config.in" source "package/libcap/Config.in" @@ -1726,19 +1889,21 @@ menu "Other" source "package/linux-pam/Config.in" if BR2_PACKAGE_LINUX_PAM comment "linux-pam plugins" + source "package/libpam-nfc/Config.in" source "package/libpam-radius-auth/Config.in" source "package/libpam-tacplus/Config.in" endif source "package/liquid-dsp/Config.in" source "package/llvm/Config.in" source "package/lttng-libust/Config.in" + source "package/matio/Config.in" source "package/mpc/Config.in" source "package/mpdecimal/Config.in" source "package/mpfr/Config.in" source "package/mpir/Config.in" source "package/msgpack/Config.in" - source "package/mtdev2tuio/Config.in" source "package/musl-compat-headers/Config.in" + source "package/musl-fts/Config.in" source "package/openblas/Config.in" source "package/orc/Config.in" source "package/p11-kit/Config.in" @@ -1755,10 +1920,12 @@ endif source "package/tinycbor/Config.in" source "package/tz/Config.in" source "package/tzdata/Config.in" + source "package/uvw/Config.in" source "package/xapian/Config.in" endmenu menu "Security" + source "package/libapparmor/Config.in" source "package/libselinux/Config.in" source "package/libsemanage/Config.in" source "package/libsepol/Config.in" @@ -1769,6 +1936,7 @@ menu "Text and terminal handling" source "package/augeas/Config.in" source "package/enchant/Config.in" source "package/fmt/Config.in" + source "package/fstrcmp/Config.in" source "package/icu/Config.in" source "package/libcli/Config.in" source "package/libedit/Config.in" @@ -1780,13 +1948,14 @@ menu "Text and terminal handling" source "package/linenoise/Config.in" source "package/ncurses/Config.in" source "package/newt/Config.in" + source "package/oniguruma/Config.in" source "package/pcre/Config.in" source "package/pcre2/Config.in" source "package/popt/Config.in" source "package/readline/Config.in" source "package/slang/Config.in" source "package/tclap/Config.in" - source "package/ustr/Config.in" + source "package/utf8proc/Config.in" endmenu endmenu @@ -1805,8 +1974,10 @@ endmenu menu "Miscellaneous" source "package/aespipe/Config.in" source "package/bc/Config.in" + source "package/bitcoin/Config.in" source "package/clamav/Config.in" source "package/collectd/Config.in" + source "package/collectl/Config.in" source "package/domoticz/Config.in" source "package/empty/Config.in" source "package/gnuradio/Config.in" @@ -1818,11 +1989,13 @@ menu "Miscellaneous" source "package/linux-syscall-support/Config.in" source "package/mcrypt/Config.in" source "package/mobile-broadband-provider-info/Config.in" + source "package/netdata/Config.in" source "package/proj/Config.in" source "package/qemu/Config.in" source "package/qpdf/Config.in" source "package/semver-sort/Config.in" source "package/shared-mime-info/Config.in" + source "package/sunwait/Config.in" source "package/taskd/Config.in" source "package/wine/Config.in" source "package/xutil_util-macros/Config.in" @@ -1847,7 +2020,6 @@ menu "Networking applications" 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" @@ -1905,6 +2077,7 @@ menu "Networking applications" source "package/ibrdtn-tools/Config.in" source "package/ibrdtnd/Config.in" source "package/ifenslave/Config.in" + source "package/ifmetric/Config.in" source "package/ifplugd/Config.in" source "package/iftop/Config.in" source "package/ifupdown/Config.in" @@ -1958,20 +2131,22 @@ menu "Networking applications" source "package/nbd/Config.in" source "package/ncftp/Config.in" source "package/ndisc6/Config.in" + source "package/net-tools/Config.in" source "package/netatalk/Config.in" source "package/netcat/Config.in" source "package/netcat-openbsd/Config.in" source "package/netplug/Config.in" source "package/netsnmp/Config.in" source "package/netstat-nat/Config.in" - source "package/net-tools/Config.in" source "package/network-manager/Config.in" + source "package/network-manager-openvpn/Config.in" source "package/nfacct/Config.in" source "package/nftables/Config.in" source "package/nginx/Config.in" if BR2_PACKAGE_NGINX menu "External nginx modules" source "package/nginx-dav-ext/Config.in" + source "package/nginx-modsecurity/Config.in" source "package/nginx-naxsi/Config.in" source "package/nginx-upload/Config.in" endmenu @@ -2031,6 +2206,7 @@ endif source "package/shellinabox/Config.in" source "package/smcroute/Config.in" source "package/sngrep/Config.in" + source "package/snmpclitools/Config.in" source "package/snort/Config.in" source "package/socat/Config.in" source "package/socketcand/Config.in" @@ -2039,10 +2215,12 @@ endif source "package/spice/Config.in" source "package/spice-protocol/Config.in" source "package/squid/Config.in" + source "package/sshguard/Config.in" source "package/sshpass/Config.in" source "package/sslh/Config.in" source "package/strongswan/Config.in" source "package/stunnel/Config.in" + source "package/suricata/Config.in" source "package/tcpdump/Config.in" source "package/tcping/Config.in" source "package/tcpreplay/Config.in" @@ -2050,14 +2228,19 @@ endif source "package/thttpd/Config.in" source "package/tinc/Config.in" source "package/tinyhttpd/Config.in" + source "package/tinyproxy/Config.in" + source "package/tinyssh/Config.in" source "package/tor/Config.in" source "package/traceroute/Config.in" source "package/transmission/Config.in" source "package/tunctl/Config.in" source "package/tvheadend/Config.in" + source "package/uacme/Config.in" source "package/udpcast/Config.in" + source "package/uftp/Config.in" source "package/uhttpd/Config.in" source "package/ulogd/Config.in" + source "package/unbound/Config.in" source "package/ushare/Config.in" source "package/ussp-push/Config.in" source "package/vde2/Config.in" @@ -2070,7 +2253,8 @@ endif source "package/wavemon/Config.in" source "package/wget/Config.in" source "package/whois/Config.in" - source "package/wireguard/Config.in" + source "package/wireguard-linux-compat/Config.in" + source "package/wireguard-tools/Config.in" source "package/wireless-regdb/Config.in" source "package/wireless_tools/Config.in" source "package/wireshark/Config.in" @@ -2105,7 +2289,13 @@ menu "Real-Time" endmenu menu "Security" + source "package/apparmor/Config.in" source "package/checkpolicy/Config.in" + source "package/ima-evm-utils/Config.in" + source "package/optee-benchmark/Config.in" + source "package/optee-client/Config.in" + source "package/optee-examples/Config.in" + source "package/optee-test/Config.in" source "package/paxtest/Config.in" source "package/policycoreutils/Config.in" source "package/refpolicy/Config.in" @@ -2139,6 +2329,7 @@ comment "Utilities" source "package/pdmenu/Config.in" source "package/pinentry/Config.in" source "package/ranger/Config.in" + source "package/rtty/Config.in" source "package/screen/Config.in" source "package/sudo/Config.in" source "package/terminology/Config.in" @@ -2148,6 +2339,7 @@ comment "Utilities" source "package/which/Config.in" source "package/xmlstarlet/Config.in" source "package/xxhash/Config.in" + source "package/ytree/Config.in" endmenu menu "System tools" @@ -2156,6 +2348,7 @@ menu "System tools" source "package/atop/Config.in" source "package/attr/Config.in" source "package/audit/Config.in" + source "package/bubblewrap/Config.in" source "package/cgroupfs-mount/Config.in" source "package/circus/Config.in" source "package/coreutils/Config.in" @@ -2176,20 +2369,26 @@ menu "System tools" source "package/ftop/Config.in" source "package/getent/Config.in" source "package/htop/Config.in" + source "package/ibm-sw-tpm2/Config.in" source "package/initscripts/Config.in" source "package/iotop/Config.in" source "package/iprutils/Config.in" source "package/irqbalance/Config.in" + source "package/jailhouse/Config.in" source "package/keyutils/Config.in" source "package/kmod/Config.in" source "package/kvmtool/Config.in" source "package/libostree/Config.in" source "package/lxc/Config.in" source "package/mender/Config.in" + source "package/mender-grubenv/Config.in" + source "package/mfoc/Config.in" source "package/monit/Config.in" source "package/ncdu/Config.in" + source "package/netifrc/Config.in" source "package/numactl/Config.in" source "package/nut/Config.in" + source "package/openrc/Config.in" source "package/openvmtools/Config.in" source "package/pamtester/Config.in" source "package/polkit/Config.in" @@ -2210,6 +2409,7 @@ menu "System tools" source "package/s6-rc/Config.in" source "package/scrub/Config.in" source "package/scrypt/Config.in" + source "package/sdbusplus/Config.in" source "package/smack/Config.in" source "package/start-stop-daemon/Config.in" source "package/supervisor/Config.in" @@ -2220,11 +2420,14 @@ menu "System tools" source "package/systemd-bootchart/Config.in" source "package/sysvinit/Config.in" source "package/tar/Config.in" + source "package/thermald/Config.in" source "package/tpm-tools/Config.in" source "package/tpm2-abrmd/Config.in" source "package/tpm2-tools/Config.in" + source "package/tpm2-totp/Config.in" source "package/unscd/Config.in" source "package/util-linux/Config.in" + source "package/xdg-dbus-proxy/Config.in" source "package/xen/Config.in" source "package/xvisor/Config.in" endmenu @@ -2234,6 +2437,7 @@ menu "Text editors and viewers" source "package/joe/Config.in" source "package/less/Config.in" source "package/mc/Config.in" + source "package/most/Config.in" source "package/nano/Config.in" source "package/uemacs/Config.in" source "package/vim/Config.in" diff --git a/package/Config.in.host b/package/Config.in.host index 750fb1d279..2f2902bb66 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -10,14 +10,20 @@ menu "Host utilities" source "package/cmake/Config.in.host" source "package/cramfs/Config.in.host" source "package/cryptsetup/Config.in.host" + source "package/dbus-python/Config.in.host" source "package/dfu-util/Config.in.host" source "package/dos2unix/Config.in.host" source "package/dosfstools/Config.in.host" + source "package/doxygen/Config.in.host" source "package/dtc/Config.in.host" source "package/e2fsprogs/Config.in.host" source "package/e2tools/Config.in.host" + source "package/erofs-utils/Config.in.host" + source "package/eudev/Config.in.host" + source "package/exfatprogs/Config.in.host" source "package/f2fs-tools/Config.in.host" source "package/faketime/Config.in.host" + source "package/fatcat/Config.in.host" source "package/fwup/Config.in.host" source "package/genext2fs/Config.in.host" source "package/genimage/Config.in.host" @@ -27,12 +33,16 @@ menu "Host utilities" source "package/go-bootstrap/Config.in.host" source "package/google-breakpad/Config.in.host" source "package/gptfdisk/Config.in.host" + source "package/imagemagick/Config.in.host" source "package/imx-mkimage/Config.in.host" source "package/imx-usb-loader/Config.in.host" source "package/jq/Config.in.host" source "package/jsmin/Config.in.host" + source "package/libp11/Config.in.host" + source "package/lld/Config.in.host" source "package/lpc3250loader/Config.in.host" source "package/lttng-babeltrace/Config.in.host" + source "package/mender-artifact/Config.in.host" source "package/mfgtools/Config.in.host" source "package/mkpasswd/Config.in.host" source "package/mtd/Config.in.host" @@ -43,14 +53,17 @@ menu "Host utilities" source "package/opkg-utils/Config.in.host" source "package/parted/Config.in.host" source "package/patchelf/Config.in.host" + source "package/pigz/Config.in.host" source "package/pkgconf/Config.in.host" source "package/pru-software-support/Config.in.host" source "package/pwgen/Config.in.host" + source "package/python/Config.in.host" source "package/python-cython/Config.in.host" source "package/python-lxml/Config.in.host" source "package/python-pbr/Config.in.host" source "package/python-six/Config.in.host" source "package/python-xlrd/Config.in.host" + source "package/python3/Config.in.host" source "package/qemu/Config.in.host" source "package/raspberrypi-usbboot/Config.in.host" source "package/rauc/Config.in.host" @@ -58,9 +71,11 @@ menu "Host utilities" source "package/rustc/Config.in.host" source "package/s6-rc/Config.in.host" source "package/sam-ba/Config.in.host" + source "package/sdbusplus/Config.in.host" source "package/squashfs/Config.in.host" source "package/sunxi-tools/Config.in.host" source "package/swig/Config.in.host" + source "package/systemd/Config.in.host" source "package/tegrarcm/Config.in.host" source "package/ti-cgt-pru/Config.in.host" source "package/uboot-tools/Config.in.host" diff --git a/package/Makefile.in b/package/Makefile.in index dc818a2c18..51f5cbce4f 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -70,6 +70,15 @@ ABI := $(ABI)hf endif endif +# For C-SKY abiv1 & abiv2 +ifeq ($(BR2_csky),y) +ifeq ($(BR2_ck610),y) +ABI = abiv1 +else +ABI = abiv2 +endif +endif + # For FSL PowerPC there's SPE ifeq ($(BR2_powerpc_SPE),y) ABI = spe @@ -103,10 +112,6 @@ ifeq ($(BR2_xtensa),y) TARGET_ABI += -mlongcalls -mauto-litpools endif -ifeq ($(BR2_arc)$(BR2_ARC_ATOMIC_EXT),yy) -TARGET_ABI += -matomic -endif - STAGING_SUBDIR = $(GNU_TARGET_NAME)/sysroot STAGING_DIR = $(HOST_DIR)/$(STAGING_SUBDIR) @@ -225,27 +230,6 @@ HOST_CFLAGS += $(HOST_CPPFLAGS) HOST_CXXFLAGS += $(HOST_CFLAGS) HOST_LDFLAGS += -L$(HOST_DIR)/lib -Wl,-rpath,$(HOST_DIR)/lib -# The macros below are taken from linux 4.11 and adapted slightly. -# Copy more when needed. - -# try-run -# Usage: option = $(call try-run, $(CC)...-o "$$TMP",option-ok,otherwise) -# Exit code chooses option. "$$TMP" is can be used as temporary file and -# is automatically cleaned up. -try-run = $(shell set -e; \ - TMP="$$(mktemp)"; \ - if ($(1)) >/dev/null 2>&1; \ - then echo "$(2)"; \ - else echo "$(3)"; \ - fi; \ - rm -f "$$TMP") - -# host-cc-option -# Usage: HOST_FOO_CFLAGS += $(call host-cc-option,-no-pie,) -host-cc-option = $(call try-run,\ - $(HOSTCC) $(HOST_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2)) - - # host-intltool should be executed with the system perl, so we save # the path to the system perl, before a host-perl built by Buildroot # might get installed into $(HOST_DIR)/bin and therefore appears @@ -442,3 +426,4 @@ include package/pkg-kernel-module.mk include package/pkg-waf.mk include package/pkg-golang.mk include package/pkg-meson.mk +include package/pkg-qmake.mk diff --git a/package/a10disp/a10disp.hash b/package/a10disp/a10disp.hash index a1ec11c759..acaafc3530 100644 --- a/package/a10disp/a10disp.hash +++ b/package/a10disp/a10disp.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 5077405030e8f97a1edd4b86d469466abbc4d32b4a4609e58459347fcd1ba35b a10disp-v0.6.1.tar.gz +sha256 5077405030e8f97a1edd4b86d469466abbc4d32b4a4609e58459347fcd1ba35b a10disp-0.6.1.tar.gz +sha256 ddf849966f57fee8f9675f5a3c7791353d1cba71695cd58016212fc236bbdbee a10disp.c diff --git a/package/a10disp/a10disp.mk b/package/a10disp/a10disp.mk index 7353edea62..c919202329 100644 --- a/package/a10disp/a10disp.mk +++ b/package/a10disp/a10disp.mk @@ -4,9 +4,10 @@ # ################################################################################ -A10DISP_VERSION = v0.6.1 -A10DISP_SITE = $(call github,hglm,a10disp,$(A10DISP_VERSION)) +A10DISP_VERSION = 0.6.1 +A10DISP_SITE = $(call github,hglm,a10disp,v$(A10DISP_VERSION)) A10DISP_LICENSE = MIT +A10DISP_LICENSE_FILES = a10disp.c A10DISP_DEPENDENCIES = linux diff --git a/package/acl/acl.hash b/package/acl/acl.hash index 091092a1c5..50c32d7734 100644 --- a/package/acl/acl.hash +++ b/package/acl/acl.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature sha256 06be9865c6f418d851ff4494e12406568353b891ffe1f596b34693c387af26c7 acl-2.2.53.tar.gz + +# Locally calculated +sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8 doc/COPYING +sha256 01b1f9f2c8ee648a7a596a1abe8aa4ed7899b1c9e5551bda06da6e422b04aa55 doc/COPYING.LGPL diff --git a/package/acl/acl.mk b/package/acl/acl.mk index 038bc7a050..8dce274150 100644 --- a/package/acl/acl.mk +++ b/package/acl/acl.mk @@ -15,7 +15,6 @@ HOST_ACL_DEPENDENCIES = host-attr ACL_INSTALL_STAGING = YES ACL_CONF_OPTS = --disable-nls -HOST_ACL_CONF_OPTS = --disable-nls $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/acpica/0001-build-do-not-use-Werror.patch b/package/acpica/0001-build-do-not-use-Werror.patch index e7449e982b..f905e552bd 100644 --- a/package/acpica/0001-build-do-not-use-Werror.patch +++ b/package/acpica/0001-build-do-not-use-Werror.patch @@ -10,19 +10,21 @@ newer versions that introduce new warnings. Remove use of -Werror. [Vincent: tweak patch for 20170531 release] +[Bernd: tweak patch for 20191018 release] Signed-off-by: "Yann E. MORIN" Signed-off-by: "Vicente Olivert Riera" +Signed-off-by: Bernd Kuhls --- generate/unix/Makefile.config | 1 - - generate/unix/iasl/Makefile | 12 ++++++------ - 2 files changed, 6 insertions(+), 7 deletions(-) + generate/unix/iasl/Makefile | 16 ++++++++-------- + 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/generate/unix/Makefile.config b/generate/unix/Makefile.config -index 4d4f182..a7120e3 100644 +index c28e8a9b1..7064bed97 100644 --- a/generate/unix/Makefile.config +++ b/generate/unix/Makefile.config -@@ -194,7 +194,6 @@ CWARNINGFLAGS = \ +@@ -204,7 +204,6 @@ CWARNINGFLAGS = \ -Wall\ -Wbad-function-cast\ -Wdeclaration-after-statement\ @@ -31,10 +33,10 @@ index 4d4f182..a7120e3 100644 -Wmissing-declarations\ -Wmissing-prototypes\ diff --git a/generate/unix/iasl/Makefile b/generate/unix/iasl/Makefile -index 156c23a..28ffc06 100644 +index 47ea73cab..2c756af79 100644 --- a/generate/unix/iasl/Makefile +++ b/generate/unix/iasl/Makefile -@@ -335,24 +335,24 @@ $(OBJDIR)/prparserparse.c $(OBJDIR)/prparser.y.h : $(ASL_COMPILER)/prparse +@@ -360,32 +360,32 @@ $(OBJDIR)/prparserparse.c $(OBJDIR)/prparser.y.h : $(ASL_COMPILER)/prparse # $(OBJDIR)/aslcompilerlex.o : $(OBJDIR)/aslcompilerlex.c @echo "- " "Intermediate" $< @@ -44,6 +46,16 @@ index 156c23a..28ffc06 100644 $(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c @echo "- " "Intermediate" $< - @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< ++ @$(CC) -c $(CFLAGS) -Wall -o$@ $< + + $(OBJDIR)/dtcompilerparserlex.o : $(OBJDIR)/dtcompilerparserlex.c + @echo "- " "Intermediate" $< +- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< ++ @$(CC) -c $(CFLAGS) -Wall -o$@ $< + + $(OBJDIR)/dtcompilerparserparse.o : $(OBJDIR)/dtcompilerparserparse.c + @echo "- " "Intermediate" $< +- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< + @$(CC) -c $(CFLAGS) -Wall -o$@ $< $(OBJDIR)/dtparserlex.o : $(OBJDIR)/dtparserlex.c @@ -65,3 +77,6 @@ index 156c23a..28ffc06 100644 @echo "- " "Intermediate" $< - @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< + @$(CC) -c $(CFLAGS) -Wall -o$@ $< +-- +2.20.1 + diff --git a/package/acpica/acpica.hash b/package/acpica/acpica.hash index 4942fe4548..ac2201d570 100644 --- a/package/acpica/acpica.hash +++ b/package/acpica/acpica.hash @@ -1,2 +1,3 @@ # locally computed hash -sha256 0b979b778bcf711a2b8702b1831affd7dac4a776235d7877fd185651b6a390a3 acpica-unix2-20170531.tar.gz +sha256 edb9a886455d22955c93753e2de61b780bed94fb434079e844dc5e4376cadd4c acpica-unix2-20191018.tar.gz +sha256 65464cea6ee2f7a5d38e2b5f1050a4b39a15358a09b8e36119416d4e2c5031b8 source/include/acpi.h diff --git a/package/acpica/acpica.mk b/package/acpica/acpica.mk index c540061928..68b948c86d 100644 --- a/package/acpica/acpica.mk +++ b/package/acpica/acpica.mk @@ -4,7 +4,7 @@ # ################################################################################ -ACPICA_VERSION = 20170531 +ACPICA_VERSION = 20191018 ACPICA_SOURCE = acpica-unix2-$(ACPICA_VERSION).tar.gz ACPICA_SITE = https://acpica.org/sites/acpica/files ACPICA_LICENSE = BSD-3-Clause or GPL-2.0 diff --git a/package/acpid/S02acpid b/package/acpid/S02acpid index e8d3661674..9017d508ff 100644 --- a/package/acpid/S02acpid +++ b/package/acpid/S02acpid @@ -1,22 +1,53 @@ #!/bin/sh -case "$1" in - start) - printf "Starting acpid: " - start-stop-daemon -S -q -m -b -p /var/run/acpid.pid --exec /usr/sbin/acpid -- -n - [ $? = 0 ] && echo "OK" || echo "FAIL" - ;; - stop) - printf "Stopping acpid: " - start-stop-daemon -K -q -p /var/run/acpid.pid - [ $? = 0 ] && echo "OK" || echo "FAIL" - ;; - restart) - "$0" stop +DAEMON="acpid" +EXEC="/usr/sbin/$DAEMON" +PIDFILE="/var/run/$DAEMON.pid" + +ACPID_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 "$EXEC" \ + -- -n $ACPID_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" -x "$EXEC" + status=$? + if [ "$status" -eq 0 ]; then + # Give acpid time to send dying gasp to syslog sleep 1 - "$0" start - ;; + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + restart;; *) - echo "Usage: $0 {start|stop|restart}" - ;; + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 esac diff --git a/package/acpid/acpid.hash b/package/acpid/acpid.hash index 0286219621..f325325b9c 100644 --- a/package/acpid/acpid.hash +++ b/package/acpid/acpid.hash @@ -1,3 +1,7 @@ # From https://sourceforge.net/projects/acpid2/files/ -md5 1528040b5d34f8c24ebabd97befbf913 acpid-2.0.30.tar.xz -sha1 680bbb3fa9cdabb78fb19c6d24bb57224fbbbaed acpid-2.0.30.tar.xz +md5 248995264b9d1cd8bdb923d5b190fd44 acpid-2.0.32.tar.xz +sha1 a194e99c5b596186c7865e7ddfec55dea6d7fc73 acpid-2.0.32.tar.xz + +# Locally computed +sha256 f2d2d30b3edc3234bd82f6f7186699a6aa3c85c8d20bc4e30e9b3c68a1ed157e acpid-2.0.32.tar.xz +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/acpid/acpid.mk b/package/acpid/acpid.mk index adcc1757aa..ff6e62b5cd 100644 --- a/package/acpid/acpid.mk +++ b/package/acpid/acpid.mk @@ -4,7 +4,7 @@ # ################################################################################ -ACPID_VERSION = 2.0.30 +ACPID_VERSION = 2.0.32 ACPID_SOURCE = acpid-$(ACPID_VERSION).tar.xz ACPID_SITE = http://downloads.sourceforge.net/project/acpid2 ACPID_LICENSE = GPL-2.0+ @@ -13,9 +13,6 @@ 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 diff --git a/package/acpitool/acpitool.hash b/package/acpitool/acpitool.hash index e25dc546f3..b43bc374ca 100644 --- a/package/acpitool/acpitool.hash +++ b/package/acpitool/acpitool.hash @@ -1,2 +1,3 @@ # locally computed hash -sha256 004fb6cd43102918b6302cf537a2db7ceadda04aef2e0906ddf230f820dad34f acpitool-0.5.1.tar.bz2 +sha256 004fb6cd43102918b6302cf537a2db7ceadda04aef2e0906ddf230f820dad34f acpitool-0.5.1.tar.bz2 +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/acsccid/Config.in b/package/acsccid/Config.in index 90624ee797..74dd6de295 100644 --- a/package/acsccid/Config.in +++ b/package/acsccid/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_ACSCCID depends on BR2_TOOLCHAIN_HAS_THREADS # pcsc-lite, libusb depends on BR2_USE_MMU # pcsc-lite depends on !BR2_STATIC_LIBS # pcsc-lite + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_PCSC_LITE # Even though there is a --disable-libusb option, it has in # fact no effect, and acsccid really requires libusb. diff --git a/package/acsccid/acsccid.hash b/package/acsccid/acsccid.hash index 24d2fa735f..2d61ad6643 100644 --- a/package/acsccid/acsccid.hash +++ b/package/acsccid/acsccid.hash @@ -1,3 +1,6 @@ -# From https://sourceforge.net/projects/acsccid/files/acsccid/1.1.4/ -sha1 8c0b42ff79032289731916d18a2698b258dfd6a2 acsccid-1.1.4.tar.bz2 -md5 ac77b3aeae0a11723c96c7f98769490e acsccid-1.1.4.tar.bz2 +# From https://sourceforge.net/projects/acsccid/files/acsccid/1.1.7/ +sha1 f4db3c2393f392191291df128008832e245d821b acsccid-1.1.7.tar.bz2 +md5 0b34146571d9492ecfff066582dd9356 acsccid-1.1.7.tar.bz2 +# Locally computed +sha256 3778548ff9b639dd46d1570922e425698e16c5a0a0840ed1fad235052e291ee3 acsccid-1.1.7.tar.bz2 +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING diff --git a/package/acsccid/acsccid.mk b/package/acsccid/acsccid.mk index a59a16d76f..28a31b95a3 100644 --- a/package/acsccid/acsccid.mk +++ b/package/acsccid/acsccid.mk @@ -4,7 +4,7 @@ # ################################################################################ -ACSCCID_VERSION = 1.1.4 +ACSCCID_VERSION = 1.1.7 ACSCCID_SOURCE = acsccid-$(ACSCCID_VERSION).tar.bz2 ACSCCID_SITE = http://downloads.sourceforge.net/acsccid ACSCCID_LICENSE = LGPL-2.1+ @@ -13,4 +13,8 @@ ACSCCID_INSTALL_STAGING = YES ACSCCID_DEPENDENCIES = pcsc-lite host-flex host-pkgconf libusb ACSCCID_CONF_OPTS = --enable-usbdropdir=/usr/lib/pcsc/drivers +ifeq ($(BR2_PACKAGE_LIBICONV),y) +ACSCCID_DEPENDENCIES += libiconv +endif + $(eval $(autotools-package)) diff --git a/package/adwaita-icon-theme/adwaita-icon-theme.hash b/package/adwaita-icon-theme/adwaita-icon-theme.hash index 61b5f14d25..0daef24db5 100644 --- a/package/adwaita-icon-theme/adwaita-icon-theme.hash +++ b/package/adwaita-icon-theme/adwaita-icon-theme.hash @@ -1,2 +1,6 @@ # From http://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/3.22/adwaita-icon-theme-3.22.0.sha256sum -sha256 c18bf6e26087d9819a962c77288b291efab25d0419b73d909dd771716a45dcb7 adwaita-icon-theme-3.22.0.tar.xz +sha256 c18bf6e26087d9819a962c77288b291efab25d0419b73d909dd771716a45dcb7 adwaita-icon-theme-3.22.0.tar.xz +# locally computed +sha256 51f83b2b4e9ed2beebc9b8eed2ecad29314a58ed8c5184b22ad8f9df703d3ce5 COPYING +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING_LGPL +sha256 207fe75c396c0ae197c57d42c727163428b6667d98cef3644e41c6f1afe1895f COPYING_CCBYSA3 diff --git a/package/aer-inject/aer-inject.hash b/package/aer-inject/aer-inject.hash index 6329de6df7..ee097c873a 100644 --- a/package/aer-inject/aer-inject.hash +++ b/package/aer-inject/aer-inject.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 49a44b7a9e3983dc15fdc5bacd0e095df650296024f43f9d6c080ad54de0b07f aer-inject-9bd5e2c7886fca72f139cd8402488a2235957d41.tar.gz +sha256 49a44b7a9e3983dc15fdc5bacd0e095df650296024f43f9d6c080ad54de0b07f aer-inject-9bd5e2c7886fca72f139cd8402488a2235957d41.tar.gz +sha256 659a191d8775e05c6c6a9a4ba66b3577c577342bb83f20d393135eb6633c8973 README diff --git a/package/aespipe/Config.in b/package/aespipe/Config.in index 2c2ff5cd8c..e1683a0aa2 100644 --- a/package/aespipe/Config.in +++ b/package/aespipe/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_AESPIPE It can be used to encrypt and decrypt loop-AES compatible encrypted disk images. - http://koti.tnnet.fi/jari.ruusu/linux/ + http://loop-aes.sourceforge.net/ diff --git a/package/aespipe/Config.in.host b/package/aespipe/Config.in.host index b64868ce74..1e98c21c9a 100644 --- a/package/aespipe/Config.in.host +++ b/package/aespipe/Config.in.host @@ -7,4 +7,4 @@ config BR2_PACKAGE_HOST_AESPIPE archives. It can be used to encrypt and decrypt loop-AES compatible encrypted disk images. - http://koti.tnnet.fi/jari.ruusu/linux/ + http://loop-aes.sourceforge.net/ diff --git a/package/aespipe/aespipe.hash b/package/aespipe/aespipe.hash index cc7640a0d0..134a16df48 100644 --- a/package/aespipe/aespipe.hash +++ b/package/aespipe/aespipe.hash @@ -1,2 +1,5 @@ +# From https://sourceforge.net/projects/loop-aes/files/aespipe/v2.4f/ +sha1 2c23e1a6be298cf4f173f06b1123e4ecd5e9a202 aespipe-v2.4f.tar.bz2 +md5 ed05c62c1954110f009bedda4bc1562f aespipe-v2.4f.tar.bz2 # Locally computed: -sha256 c5ce656e0ade49b93e1163ec7b35450721d5743d8d804ad3a9e39add0389e50f aespipe-v2.4d.tar.bz2 +sha256 b135e1659f58dc9be5e3c88923cd03d2a936096ab8cd7f2b3af4cb7a844cef96 aespipe-v2.4f.tar.bz2 diff --git a/package/aespipe/aespipe.mk b/package/aespipe/aespipe.mk index 5ef95d5206..fd4f776dda 100644 --- a/package/aespipe/aespipe.mk +++ b/package/aespipe/aespipe.mk @@ -4,20 +4,10 @@ # ################################################################################ -AESPIPE_VERSION = 2.4d +AESPIPE_VERSION = 2.4f AESPIPE_SOURCE = aespipe-v$(AESPIPE_VERSION).tar.bz2 AESPIPE_SITE = http://loop-aes.sourceforge.net/aespipe AESPIPE_LICENSE = GPL -# Recent Debian, Gentoo and Ubuntu enable -fPIE by default, breaking the build: -# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837393 -# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835148 -# Older gcc versions however don't support the -no-pie flag, so we have to -# check its availability. -HOST_AESPIPE_NO_PIE_FLAG = $(call host-cc-option,-no-pie) -HOST_AESPIPE_CONF_ENV = \ - CFLAGS="$(HOST_CFLAGS) $(HOST_AESPIPE_NO_PIE_FLAG)" \ - LDFLAGS="$(HOST_LDFLAGS) $(HOST_AESPIPE_NO_PIE_FLAG)" - $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/agentpp/agentpp.hash b/package/agentpp/agentpp.hash index 131edc4a17..f458190720 100644 --- a/package/agentpp/agentpp.hash +++ b/package/agentpp/agentpp.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 6775fa2a038801edddedc148d7846427ddc4d438e3bb33362d9eec6074918a88 agent++-4.0.7.tar.gz +sha256 ffbd06e6582978b6ea7344ae0ccfe58e634b84d31496bb6eb77f0a9e8f1e1df1 agent++-4.1.2.tar.gz +sha256 1eb85fc97224598dad1852b5d6483bbcf0aa8608790dcc657a5a2a761ae9c8c6 LICENSE-2_0.txt diff --git a/package/agentpp/agentpp.mk b/package/agentpp/agentpp.mk index 12cf2089e9..0b6ef0a2a7 100644 --- a/package/agentpp/agentpp.mk +++ b/package/agentpp/agentpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -AGENTPP_VERSION = 4.0.7 +AGENTPP_VERSION = 4.1.2 AGENTPP_SOURCE = agent++-$(AGENTPP_VERSION).tar.gz AGENTPP_SITE = http://www.agentpp.com/download AGENTPP_LICENSE = Apache-2.0 diff --git a/package/aircrack-ng/aircrack-ng.hash b/package/aircrack-ng/aircrack-ng.hash index d8a171dc07..990c3ef563 100644 --- a/package/aircrack-ng/aircrack-ng.hash +++ b/package/aircrack-ng/aircrack-ng.hash @@ -1,6 +1,6 @@ # From http://www.aircrack-ng.org/downloads.html -sha1 7b63c7ce01cb65a4775833c6cadf7ddd82bf46d5 aircrack-ng-1.5.2.tar.gz -md5 2648c192d206e953c67dca64967d2982 aircrack-ng-1.5.2.tar.gz +sha1 ffeb4816476e7b329dc0c154f1aa4a30ad171beb aircrack-ng-1.6.tar.gz +md5 22ddc85549b51ed0da0931d01ef215e5 aircrack-ng-1.6.tar.gz # Hash for license file: sha256 fc51fd3a97223f2fd47b057202d4a6b0daaedf23b5a1f5ff8723c192fc1e021d LICENSE diff --git a/package/aircrack-ng/aircrack-ng.mk b/package/aircrack-ng/aircrack-ng.mk index a6db384b84..baa1fad9e1 100644 --- a/package/aircrack-ng/aircrack-ng.mk +++ b/package/aircrack-ng/aircrack-ng.mk @@ -4,7 +4,7 @@ # ################################################################################ -AIRCRACK_NG_VERSION = 1.5.2 +AIRCRACK_NG_VERSION = 1.6 AIRCRACK_NG_SITE = http://download.aircrack-ng.org AIRCRACK_NG_LICENSE = GPL-2.0+ AIRCRACK_NG_LICENSE_FILES = LICENSE diff --git a/package/alljoyn-base/Config.in b/package/alljoyn-base/Config.in deleted file mode 100644 index 8556d66c60..0000000000 --- a/package/alljoyn-base/Config.in +++ /dev/null @@ -1,51 +0,0 @@ -config BR2_PACKAGE_ALLJOYN_BASE - bool "alljoyn-base" - depends on BR2_USE_MMU # alljoyn - depends on !BR2_STATIC_LIBS - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_USE_WCHAR # alljoyn - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # alljoyn - select BR2_PACKAGE_ALLJOYN - select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL if \ - !BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION && \ - !BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING - help - - AllJoyn Base Services are common services used by many - devices, providing a set of interfaces for different devices - to interact and interoperate with one another. - - https://allseenalliance.org - -if BR2_PACKAGE_ALLJOYN_BASE - -config BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL - bool "controlpanel" - help - Enable AllJoyn Control Panel base service which allows - devices to advertise a virtual control panel to be - controlled remotely. - -config BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION - bool "notification" - help - Enable AllJoyn Notification base service which allows - text-based notifications to be sent and received by devices - on the AllJoyn network. Also supports audio and images via - URLs. - -config BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING - bool "onboarding" - help - Enable AllJoyn Onboarding base service which provides a - consistent way to bring a new device onto the Wi-Fi network. - -endif # BR2_PACKAGE_ALLJOYN_BASE - -comment "alljoyn-base needs a toolchain w/ C++, threads, wchar, dynamic library" - depends on BR2_USE_MMU - depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_USE_WCHAR || BR2_STATIC_LIBS diff --git a/package/alljoyn-base/alljoyn-base.hash b/package/alljoyn-base/alljoyn-base.hash deleted file mode 100644 index dbec3a3539..0000000000 --- a/package/alljoyn-base/alljoyn-base.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 742f724b3a06c8fc4039591dba24871755728221ca5dc4afb78ebd9a7e3beb44 alljoyn-base-16.04.00.tar.gz diff --git a/package/alljoyn-base/alljoyn-base.mk b/package/alljoyn-base/alljoyn-base.mk deleted file mode 100644 index ad19802823..0000000000 --- a/package/alljoyn-base/alljoyn-base.mk +++ /dev/null @@ -1,91 +0,0 @@ -################################################################################ -# -# alljoyn-base -# -################################################################################ - -ALLJOYN_BASE_REV = 16.04 -ALLJOYN_BASE_VERSION = $(ALLJOYN_BASE_REV).00 -ALLJOYN_BASE_SITE = \ - https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_BASE_REV) -# See https://allseenalliance.org/alliance/ip-policy -ALLJOYN_BASE_LICENSE = ISC - -ALLJOYN_BASE_DEPENDENCIES = host-scons alljoyn openssl -ALLJOYN_BASE_INSTALL_STAGING = YES - -ALLJOYN_BASE_CRYPTO = openssl - -# AllJoyn can be compiled in debug or release mode. By default, -# AllJoyn is built in debug mode. -ALLJOYN_BASE_VARIANT = release - -ALLJOYN_BASE_BINDINGS = c,cpp - -# By setting openwrt for OS and CPU, AllJoyn cross-compilation can be finely -# tuned through TARGET_xxx options. All TARGET_xxx variables must be defined -# otherwise compilation will fail. -# CROSS_COMPILE option should not be used as it works only for linux/ARM. -ALLJOYN_BASE_OS = openwrt -ALLJOYN_BASE_CPU = openwrt - -# AllJoyn install everything in this relative path -ALLJOYN_BASE_DISTDIR = \ - build/$(ALLJOYN_OS)/$(ALLJOYN_CPU)/$(ALLJOYN_VARIANT)/dist - -ALLJOYN_BASE_SCONS_OPTS = \ - -j$(PARALLEL_JOBS) \ - V=1 \ - OS=$(ALLJOYN_BASE_OS) \ - CPU=$(ALLJOYN_BASE_CPU) \ - VARIANT=$(ALLJOYN_BASE_VARIANT) \ - BR=off \ - CRYPTO=$(ALLJOYN_BASE_CRYPTO) \ - BINDINGS=$(ALLJOYN_BASE_BINDINGS) \ - ALLJOYN_DISTDIR="$(STAGING_DIR)"\ - TARGET_CFLAGS="$(TARGET_CFLAGS)" \ - TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \ - TARGET_LINKFLAGS="$(TARGET_LINKFLAGS)" \ - TARGET_CC="$(TARGET_CC)" \ - TARGET_CXX="$(TARGET_CXX)" \ - TARGET_LD="$(TARGET_LD)" \ - TARGET_LINK="$(TARGET_CXX)" \ - TARGET_AR="$(TARGET_AR)" \ - TARGET_RANLIB="$(TARGET_RANLIB)" \ - TARGET_PATH="$(BR_PATH)" - -ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL), y) -ALLJOYN_BASE_TARGETS += controlpanel -endif - -ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION), y) -ALLJOYN_BASE_TARGETS += notification -endif - -ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING), y) -ALLJOYN_BASE_TARGETS += onboarding -endif - -define ALLJOYN_BASE_BUILD_CMDS - $(foreach target,$(ALLJOYN_BASE_TARGETS),\ - cd $(@D)/$(target); $(SCONS) $(ALLJOYN_BASE_SCONS_OPTS) - ) -endef - -define ALLJOYN_BASE_INSTALL_STAGING_CMDS - $(foreach target,$(ALLJOYN_BASE_TARGETS),\ - cp -a $(@D)/$(target)/$(ALLJOYN_BASE_DISTDIR)/*/lib/lib* \ - $(STAGING_DIR)/usr/lib/ - cp -a $(@D)/$(target)/$(ALLJOYN_BASE_DISTDIR)/*/inc/* \ - $(STAGING_DIR)/usr/include/ - ) -endef - -define ALLJOYN_BASE_INSTALL_TARGET_CMDS - $(foreach target,$(ALLJOYN_BASE_TARGETS),\ - cp -a $(@D)/$(target)/$(ALLJOYN_BASE_DISTDIR)/*/lib/lib* \ - $(TARGET_DIR)/usr/lib/ - ) -endef - -$(eval $(generic-package)) diff --git a/package/alljoyn-tcl-base/Config.in b/package/alljoyn-tcl-base/Config.in deleted file mode 100644 index ebc3370afb..0000000000 --- a/package/alljoyn-tcl-base/Config.in +++ /dev/null @@ -1,18 +0,0 @@ -config BR2_PACKAGE_ALLJOYN_TCL_BASE - bool "alljoyn-tcl-base" - depends on !BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_HAS_THREADS # alljoyn-tcl - select BR2_PACKAGE_ALLJOYN_TCL - help - AllJoyn Base Services are common services used by many - devices, providing a set of interfaces for different devices - to interact and interoperate with one another. - - Thin Client Library is designed to bring the benefits of the - AllJoyn distributed programming environment to embedded - systems. - - https://allseenalliance.org - -comment "alljoyn-tcl-base needs a toolchain w/ threads and dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/alljoyn-tcl-base/alljoyn-tcl-base.hash b/package/alljoyn-tcl-base/alljoyn-tcl-base.hash deleted file mode 100644 index 882839d7de..0000000000 --- a/package/alljoyn-tcl-base/alljoyn-tcl-base.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 741f7a71929ccd6a66bf75d2b03affc62411e229b70bb89399be9b1b2ce40629 alljoyn-base_tcl-16.04.00.tar.gz diff --git a/package/alljoyn-tcl-base/alljoyn-tcl-base.mk b/package/alljoyn-tcl-base/alljoyn-tcl-base.mk deleted file mode 100644 index 461cd097d6..0000000000 --- a/package/alljoyn-tcl-base/alljoyn-tcl-base.mk +++ /dev/null @@ -1,45 +0,0 @@ -################################################################################ -# -# alljoyn-tcl-base -# -################################################################################ - -ALLJOYN_TCL_BASE_REV = 16.04 -ALLJOYN_TCL_BASE_VERSION = $(ALLJOYN_TCL_BASE_REV).00 -ALLJOYN_TCL_BASE_SOURCE = alljoyn-base_tcl-$(ALLJOYN_TCL_BASE_VERSION).tar.gz -ALLJOYN_TCL_BASE_SITE = \ - https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_TCL_BASE_REV) -# See https://allseenalliance.org/alliance/ip-policy -ALLJOYN_TCL_BASE_LICENSE = ISC - -ALLJOYN_TCL_BASE_DEPENDENCIES = host-scons alljoyn-tcl -ALLJOYN_TCL_BASE_INSTALL_STAGING = YES - -# AllJoyn Base Thin Core can be compiled in debug or release mode. By default, -# AllJoyn Base Thin Core is built in debug mode. -ALLJOYN_TCL_BASE_VARIANT = release - -ALLJOYN_TCL_BASE_SCONS_OPTS = \ - -j$(PARALLEL_JOBS) \ - V=1 \ - VARIANT=$(ALLJOYN_TCL_BASE_VARIANT) \ - CC="$(TARGET_CC)" \ - CXX="$(TARGET_CXX)" \ - AJTCL_DIST=$(STAGING_DIR) \ - WS=off - -define ALLJOYN_TCL_BASE_BUILD_CMDS - cd $(@D); $(SCONS) $(ALLJOYN_TCL_BASE_SCONS_OPTS) -endef - -define ALLJOYN_TCL_BASE_INSTALL_STAGING_CMDS - cp -a $(@D)/dist/lib/lib* $(STAGING_DIR)/usr/lib/ - cp -a $(@D)/dist/include/* $(STAGING_DIR)/usr/include/ -endef - -# Only install AllJoyn Base Thin Core dynamic libraries into target directory -define ALLJOYN_TCL_BASE_INSTALL_TARGET_CMDS - cp -a $(@D)/dist/lib/lib*.so* $(TARGET_DIR)/usr/lib/ -endef - -$(eval $(generic-package)) diff --git a/package/alljoyn-tcl/Config.in b/package/alljoyn-tcl/Config.in deleted file mode 100644 index fe54af08d4..0000000000 --- a/package/alljoyn-tcl/Config.in +++ /dev/null @@ -1,20 +0,0 @@ -config BR2_PACKAGE_ALLJOYN_TCL - bool "alljoyn-tcl" - depends on !BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_HAS_THREADS - help - The AllJoyn framework defines a common way for devices and - apps to communicate with one another regardless of brands, - categories, transports, and OSes. Developers write - applications that discover nearby devices, and communicate - with each other directly and through the cloud, unleashing - new possibilities in the Internet of Things. - - AllJoyn Thin Core Library (AJTCL) is designed to bring the - benefits of the AllJoyn distributed programming environment - to embedded systems. - - https://allseenalliance.org - -comment "alljoyn-tcl needs a toolchain w/ threads and dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/alljoyn-tcl/alljoyn-tcl.hash b/package/alljoyn-tcl/alljoyn-tcl.hash deleted file mode 100644 index 208d676c8b..0000000000 --- a/package/alljoyn-tcl/alljoyn-tcl.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 da13614a9db79067937b744a87328fed84d99ba62e3de19b0ddc4a83e4b2447e ajtcl-16.04.00a-src.tar.gz diff --git a/package/alljoyn-tcl/alljoyn-tcl.mk b/package/alljoyn-tcl/alljoyn-tcl.mk deleted file mode 100644 index cabdf8992a..0000000000 --- a/package/alljoyn-tcl/alljoyn-tcl.mk +++ /dev/null @@ -1,43 +0,0 @@ -################################################################################ -# -# alljoyn-tcl -# -################################################################################ - -ALLJOYN_TCL_REV = 16.04 -ALLJOYN_TCL_VERSION = $(ALLJOYN_TCL_REV).00a -ALLJOYN_TCL_SOURCE = ajtcl-$(ALLJOYN_TCL_VERSION)-src.tar.gz -ALLJOYN_TCL_SITE = \ - https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_TCL_REV) -# See https://allseenalliance.org/alliance/ip-policy -ALLJOYN_TCL_LICENSE = ISC - -ALLJOYN_TCL_DEPENDENCIES = host-scons -ALLJOYN_TCL_INSTALL_STAGING = YES - -# AllJoyn Thin Core can be compiled in debug or release mode. By default, -# AllJoyn Thin Core is built in debug mode. -ALLJOYN_TCL_VARIANT = release - -ALLJOYN_TCL_SCONS_OPTS = \ - -j$(PARALLEL_JOBS) \ - V=1 \ - VARIANT=$(ALLJOYN_TCL_VARIANT) \ - CC="$(TARGET_CC)" \ - CXX="$(TARGET_CXX)" - -define ALLJOYN_TCL_BUILD_CMDS - cd $(@D); $(SCONS) $(ALLJOYN_TCL_SCONS_OPTS) -endef - -define ALLJOYN_TCL_INSTALL_STAGING_CMDS - cp -a $(@D)/dist/lib/lib* $(STAGING_DIR)/usr/lib/ - cp -a $(@D)/dist/include/* $(STAGING_DIR)/usr/include/ -endef - -# Only install AllJoyn Thin Core dynamic libraries into target directory -define ALLJOYN_TCL_INSTALL_TARGET_CMDS - cp -a $(@D)/dist/lib/lib*.so* $(TARGET_DIR)/usr/lib/ -endef - -$(eval $(generic-package)) diff --git a/package/alljoyn/0001-UARTStreamLinux-fix-build-on-sparc.patch b/package/alljoyn/0001-UARTStreamLinux-fix-build-on-sparc.patch deleted file mode 100644 index efca67feae..0000000000 --- a/package/alljoyn/0001-UARTStreamLinux-fix-build-on-sparc.patch +++ /dev/null @@ -1,56 +0,0 @@ -From b8e35cf95184ff18bcf923f900439f56c93609db Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 16 Jul 2016 15:23:41 +0200 -Subject: [PATCH] UARTStreamLinux: fix build on sparc - -Some of the serial port highest speed are not defined on SPARC, so -alljoyn should not use them, so we add a patch to fix that. - -From: -https://git.buildroot.org/buildroot/commit/?id=c5e96d8935016456bea342db170ae6a139a8470f - -Fixes: -http://autobuild.buildroot.net/results/e5b/e5b30b5e0d86b44b97410d434b771e1fb7b18de0 - -Signed-off-by: Romain Naour ---- - common/os/posix/UARTStreamLinux.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/common/os/posix/UARTStreamLinux.cc b/common/os/posix/UARTStreamLinux.cc -index c193b70..ae81d9d 100644 ---- a/common/os/posix/UARTStreamLinux.cc -+++ b/common/os/posix/UARTStreamLinux.cc -@@ -111,21 +111,29 @@ QStatus UART(const qcc::String& devName, uint32_t baud, uint8_t databits, const - speed = B2000000; - break; - -+#ifdef B2500000 - case 2500000: - speed = B2500000; - break; -+#endif - -+#ifdef B3000000 - case 3000000: - speed = B3000000; - break; -+#endif - -+#ifdef B3500000 - case 3500000: - speed = B3500000; - break; -+#endif - -+#ifdef B4000000 - case 4000000: - speed = B4000000; - break; -+#endif - - default: - QCC_LogError(ER_BAD_ARG_2, ("Invalid baud %d", baud)); --- -2.5.5 - diff --git a/package/alljoyn/Config.in b/package/alljoyn/Config.in deleted file mode 100644 index 781d91bbe9..0000000000 --- a/package/alljoyn/Config.in +++ /dev/null @@ -1,24 +0,0 @@ -config BR2_PACKAGE_ALLJOYN - bool "alljoyn" - depends on BR2_USE_MMU # fork() - depends on !BR2_STATIC_LIBS - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_USE_WCHAR - select BR2_PACKAGE_LIBCAP - help - The AllJoyn framework defines a common way for devices and - apps to communicate with one another regardless of brands, - categories, transports, and OSes. Developers write - applications that discover nearby devices, and communicate - with each other directly and through the cloud, unleashing - new possibilities in the Internet of Things. - - https://allseenalliance.org - -comment "alljoyn needs a toolchain w/ C++, threads, wchar and dynamic library" - depends on BR2_USE_MMU - depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_USE_WCHAR || BR2_STATIC_LIBS diff --git a/package/alljoyn/alljoyn.hash b/package/alljoyn/alljoyn.hash deleted file mode 100644 index 47dd0d4de4..0000000000 --- a/package/alljoyn/alljoyn.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 fc437d96cf1213f18048240b5d12a374b31894d21830a0a6ccf562ffa13425d5 alljoyn-16.04.00a-src.tar.gz diff --git a/package/alljoyn/alljoyn.mk b/package/alljoyn/alljoyn.mk deleted file mode 100644 index 1281674e38..0000000000 --- a/package/alljoyn/alljoyn.mk +++ /dev/null @@ -1,67 +0,0 @@ -################################################################################ -# -# alljoyn -# -################################################################################ - -ALLJOYN_REV = 16.04 -ALLJOYN_VERSION = $(ALLJOYN_REV).00a -ALLJOYN_SOURCE = alljoyn-$(ALLJOYN_VERSION)-src.tar.gz -ALLJOYN_SITE = https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_REV) -# See https://allseenalliance.org/alliance/ip-policy -ALLJOYN_LICENSE = ISC - -ALLJOYN_DEPENDENCIES = host-scons libcap -ALLJOYN_INSTALL_STAGING = YES - -# AllJoyn can be compiled in debug or release mode. By default, AllJoyn is built -# in debug mode. -ALLJOYN_VARIANT = release - -ALLJOYN_BINDINGS = c,cpp - -# By setting openwrt for OS and CPU, AllJoyn cross-compilation can be finely -# tuned through TARGET_xxx options. All TARGET_xxx variables must be defined -# otherwise compilation will fail. -# CROSS_COMPILE option should not be used as it works only for linux/ARM. -ALLJOYN_OS = openwrt -ALLJOYN_CPU = openwrt - -# AllJoyn installs everything in this relative path -ALLJOYN_DISTDIR = build/$(ALLJOYN_OS)/$(ALLJOYN_CPU)/$(ALLJOYN_VARIANT)/dist/ - -ALLJOYN_SCONS_OPTS = \ - -j$(PARALLEL_JOBS) \ - V=1 \ - OS=$(ALLJOYN_OS) \ - CPU=$(ALLJOYN_CPU) \ - VARIANT=$(ALLJOYN_VARIANT) \ - BR=off \ - CRYPTO=builtin \ - BINDINGS=$(ALLJOYN_BINDINGS) \ - TARGET_CFLAGS="$(TARGET_CFLAGS)" \ - TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \ - TARGET_LINKFLAGS="$(TARGET_LINKFLAGS)" \ - TARGET_CC="$(TARGET_CC)" \ - TARGET_CXX="$(TARGET_CXX)" \ - TARGET_LD="$(TARGET_LD)" \ - TARGET_LINK="$(TARGET_CXX)" \ - TARGET_AR="$(TARGET_AR)" \ - TARGET_RANLIB="$(TARGET_RANLIB)" \ - TARGET_PATH="$(BR_PATH)" - -define ALLJOYN_BUILD_CMDS - cd $(@D); $(SCONS) $(ALLJOYN_SCONS_OPTS) -endef - -define ALLJOYN_INSTALL_STAGING_CMDS - cp -a $(@D)/$(ALLJOYN_DISTDIR)/*/lib/lib* $(STAGING_DIR)/usr/lib/ - cp -a $(@D)/$(ALLJOYN_DISTDIR)/*/inc/* $(STAGING_DIR)/usr/include/ -endef - -# Only install alljoyn dynamic libraries into target directory -define ALLJOYN_INSTALL_TARGET_CMDS - cp -a $(@D)/$(ALLJOYN_DISTDIR)/*/lib/lib*.so* $(TARGET_DIR)/usr/lib/ -endef - -$(eval $(generic-package)) diff --git a/package/alsa-lib/0002-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 deleted file mode 100644 index 3aab64e5e8..0000000000 --- a/package/alsa-lib/0002-alsa-lib-conditionally-enable-libdl-in-AM_PATH_ALSA-.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 2aba563bd077fda94fb9c2c33002ee0ac119b345 Mon Sep 17 00:00:00 2001 -From: Thomas De Schampheleire -Date: Fri, 13 Apr 2018 09:13:46 +0200 -Subject: [PATCH] alsa-lib: conditionally enable libdl in AM_PATH_ALSA m4 macro -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The AM_PATH_ALSA macro in utils/alsa.m4 unconditionally uses -ldl. This -breaks compilation of alsa-utils (and probably other packages using this -macro) for targets that do not support dynamic loading, such as for -Blackfin FLAT binaries. - -This patch updates the macro to check if dlopen is available, and use that -result to conditionally add -ldl to the list of libraries. - -Signed-off-by: Thomas De Schampheleire -[Jörg: update for 1.1.6] -Signed-off-by: Jörg Krause -Upstream: http://mailman.alsa-project.org/pipermail/alsa-devel/2018-November/141377.html ---- - utils/alsa.m4 | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/utils/alsa.m4 b/utils/alsa.m4 -index e12310df..a5c5a292 100644 ---- a/utils/alsa.m4 -+++ b/utils/alsa.m4 -@@ -44,6 +44,8 @@ if test "$alsa_inc_prefix" != "" ; then - fi - AC_MSG_RESULT($ALSA_CFLAGS) - -+AC_CHECK_LIB(c, dlopen, LIBDL="", [AC_CHECK_LIB(dl, dlopen, LIBDL="-ldl")]) -+ - dnl add any special lib dirs - AC_MSG_CHECKING(for ALSA LDFLAGS) - if test "$alsa_prefix" != "" ; then -@@ -52,7 +54,7 @@ if test "$alsa_prefix" != "" ; then - fi - - dnl add the alsa library --ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl -lpthread" -+ALSA_LIBS="$ALSA_LIBS -lasound -lm $LIBDL -lpthread" - LIBS="$ALSA_LIBS $LIBS" - AC_MSG_RESULT($ALSA_LIBS) - --- -2.14.3 - diff --git a/package/alsa-lib/Config.in b/package/alsa-lib/Config.in index 995d379167..f334b66bff 100644 --- a/package/alsa-lib/Config.in +++ b/package/alsa-lib/Config.in @@ -66,6 +66,11 @@ config BR2_PACKAGE_ALSA_LIB_SEQ bool "seq" default y +config BR2_PACKAGE_ALSA_LIB_UCM + bool "ucm" + default y + select BR2_PACKAGE_ALSA_LIB_MIXER + config BR2_PACKAGE_ALSA_LIB_ALISP bool "alisp" default y diff --git a/package/alsa-lib/alsa-lib.hash b/package/alsa-lib/alsa-lib.hash index 4373a2a592..a4656e230c 100644 --- a/package/alsa-lib/alsa-lib.hash +++ b/package/alsa-lib/alsa-lib.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 9d6000b882a3b2df56300521225d69717be6741b71269e488bb20a20783bdc09 alsa-lib-1.1.7.tar.bz2 -sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING -sha256 bfe16cf823bcff261fc6a062c07ee96660e3c39678f42f39a788a68dbc234ced aserver/COPYING +sha256 d8e853d8805574777bbe40937812ad1419c9ea7210e176f0def3e6ed255ab3ec alsa-lib-1.2.2.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 9de45d2089..1855eb3d08 100644 --- a/package/alsa-lib/alsa-lib.mk +++ b/package/alsa-lib/alsa-lib.mk @@ -4,9 +4,9 @@ # ################################################################################ -ALSA_LIB_VERSION = 1.1.7 +ALSA_LIB_VERSION = 1.2.2 ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VERSION).tar.bz2 -ALSA_LIB_SITE = ftp://ftp.alsa-project.org/pub/lib +ALSA_LIB_SITE = https://www.alsa-project.org/files/pub/lib ALSA_LIB_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (aserver) ALSA_LIB_LICENSE_FILES = COPYING aserver/COPYING ALSA_LIB_INSTALL_STAGING = YES @@ -45,6 +45,9 @@ endif ifneq ($(BR2_PACKAGE_ALSA_LIB_SEQ),y) ALSA_LIB_CONF_OPTS += --disable-seq endif +ifneq ($(BR2_PACKAGE_ALSA_LIB_UCM),y) +ALSA_LIB_CONF_OPTS += --disable-ucm +endif ifneq ($(BR2_PACKAGE_ALSA_LIB_ALISP),y) ALSA_LIB_CONF_OPTS += --disable-alisp endif 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 deleted file mode 100644 index 2a8be0b0b7..0000000000 --- a/package/alsa-utils/0001-topology-topology.c-drop-unneeded-dlfcn.h-include.patch +++ /dev/null @@ -1,29 +0,0 @@ -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 012f28aef4..2d7062b0ca 100644 --- a/package/alsa-utils/Config.in +++ b/package/alsa-utils/Config.in @@ -41,6 +41,7 @@ comment "alsamixer needs a toolchain w/ wchar" config BR2_PACKAGE_ALSA_UTILS_ALSAUCM bool "alsaucm" + select BR2_PACKAGE_ALSA_LIB_UCM config BR2_PACKAGE_ALSA_UTILS_ALSATPLG bool "alsatplg" diff --git a/package/alsa-utils/alsa-utils.hash b/package/alsa-utils/alsa-utils.hash index f0468fb886..3db06ab4c1 100644 --- a/package/alsa-utils/alsa-utils.hash +++ b/package/alsa-utils/alsa-utils.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1db27fb54ab7fdeb54b00d68b8a174808ffea198cfbd67e3c959482194e1540a alsa-utils-1.1.7.tar.bz2 -sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING +sha256 44807bd578c5f6df6e91a11b8d37e546424a5a1ea8d8e659ee359fe01730e4f3 alsa-utils-1.2.2.tar.bz2 +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/alsa-utils/alsa-utils.mk b/package/alsa-utils/alsa-utils.mk index b5c36e0a46..7afa36d503 100644 --- a/package/alsa-utils/alsa-utils.mk +++ b/package/alsa-utils/alsa-utils.mk @@ -4,9 +4,9 @@ # ################################################################################ -ALSA_UTILS_VERSION = 1.1.7 +ALSA_UTILS_VERSION = 1.2.2 ALSA_UTILS_SOURCE = alsa-utils-$(ALSA_UTILS_VERSION).tar.bz2 -ALSA_UTILS_SITE = ftp://ftp.alsa-project.org/pub/utils +ALSA_UTILS_SITE = https://www.alsa-project.org/files/pub/utils ALSA_UTILS_LICENSE = GPL-2.0 ALSA_UTILS_LICENSE_FILES = COPYING ALSA_UTILS_INSTALL_STAGING = YES @@ -35,7 +35,7 @@ ALSA_UTILS_CONF_OPTS += --disable-alsaloop endif ifneq ($(BR2_PACKAGE_ALSA_UTILS_ALSAMIXER),y) -ALSA_UTILS_CONF_OPTS += --disable-alsamixer --disable-alsatest +ALSA_UTILS_CONF_OPTS += --disable-alsamixer endif ifeq ($(BR2_PACKAGE_ALSA_UTILS_BAT),y) @@ -90,11 +90,12 @@ define ALSA_UTILS_INSTALL_INIT_SYSTEMD $(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 + mkdir $(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service.d + printf '[Install]\nWantedBy=multi-user.target\n' \ + >$(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service.d/buildroot-enable.conf + mkdir $(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service.d + printf '[Install]\nWantedBy=multi-user.target\n' \ + >$(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service.d/buildroot-enable.conf; endef endif diff --git a/package/alsamixergui/0002-configure-fix-detection-of-fltk-libs.patch b/package/alsamixergui/0002-configure-fix-detection-of-fltk-libs.patch new file mode 100644 index 0000000000..cc72d33bee --- /dev/null +++ b/package/alsamixergui/0002-configure-fix-detection-of-fltk-libs.patch @@ -0,0 +1,53 @@ +From c154195fa161575363280aac9e928b7225f0de9e Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Sun, 29 Dec 2019 17:42:13 +0100 +Subject: [PATCH] configure: fix detection of fltk libs + +Chaining calls to AC_CHECK_LIB one in the other, breaks the configure +script, because some internal functions (e.g. ac_fn_c_try_link) would +not be defined before they are needed, leading the build to fail as +thus: + + checking for snd_tplg_new in -latopology... ./configure: line 4630: + ac_fn_c_try_link: command not found + no + configure: error: No linkable libatopology was found. + +Using AC_CHECK_LIB() in sequence (i.e. one after the other) and +memorising the result is not trivial: AC_CHECK_LIB() implements a +ddefault action-if-found that append to LIBS, but not if the user +ptrovides their own action-if-found. + +Instead, AC_SEARH_LIBS() always append to LIBS, *and* run the +user-provided action. + +So, we switch to AC_SEARCH_LIBS() and memorise the result for each +test, to eventually test if ether worked. + +Signed-off-by: Yann E. MORIN +--- + configure.in | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.in b/configure.in +index 9307cc2..55f6864 100644 +--- a/configure.in ++++ b/configure.in +@@ -11,10 +11,10 @@ AC_PROG_INSTALL + AC_PROG_LN_S + + dnl Checks for libraries. +-AC_CHECK_LIB(fltk,numericsort,, +-AC_CHECK_LIB(fltk,fl_numericsort,, +-AC_MSG_ERROR("missing fltk")) +-) ++has_fltk=false ++AC_SEARCH_LIBS(numericsort,fltk,has_fltk=true) ++AC_SEARCH_LIBS(fl_numericsort,fltk,has_fltk=true) ++AS_IF(test "${has_fltk}" = "false", AC_MSG_ERROR("missing fltk")) + AM_PATH_ALSA(0.9.0) + + dnl Checks for header files. +-- +2.20.1 + diff --git a/package/alsamixergui/alsamixergui.hash b/package/alsamixergui/alsamixergui.hash index 5cea490a49..85c9ffe75e 100644 --- a/package/alsamixergui/alsamixergui.hash +++ b/package/alsamixergui/alsamixergui.hash @@ -1,2 +1,4 @@ # From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/alsamixergui/alsamixergui_0.9.0rc2-1-9.dsc md5 af942a41b81ba27e2e4d0a1e1ab0decb alsamixergui_0.9.0rc2-1.orig.tar.gz +# locally computed +sha256 ea617b76dcd0df74576686ca34c281f43bb9d844015cea91e3debc91538d2b1d debian/copyright diff --git a/package/alsamixergui/alsamixergui.mk b/package/alsamixergui/alsamixergui.mk index 24e2497f3b..8bf3f8e073 100644 --- a/package/alsamixergui/alsamixergui.mk +++ b/package/alsamixergui/alsamixergui.mk @@ -11,11 +11,6 @@ ALSAMIXERGUI_LICENSE = GPL-2.0+ ALSAMIXERGUI_LICENSE_FILES = debian/copyright ALSAMIXERGUI_AUTORECONF = YES -ALSAMIXERGUI_CONF_ENV = \ - ac_cv_lib_fltk_numericsort=yes \ - ac_cv_lib_fltk_fl_numericsort=yes \ - ac_cv_lib_asound_snd_ctl_open=yes - ALSAMIXERGUI_DEPENDENCIES = fltk alsa-lib $(eval $(autotools-package)) diff --git a/package/alure/Config.in b/package/alure/Config.in new file mode 100644 index 0000000000..e0064accba --- /dev/null +++ b/package/alure/Config.in @@ -0,0 +1,61 @@ +config BR2_PACKAGE_ALURE + bool "alure" + depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal + depends on BR2_USE_WCHAR # use wchar_t + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future + select BR2_PACKAGE_OPENAL + help + Alure is a C++ 3D audio API. It uses OpenAL for audio + rendering, and provides common higher-level features such as + file loading and decoding, buffer caching, background + streaming, and source management for virtually unlimited + sound source handles. + + https://kcat.strangesoft.net/alure.html + +if BR2_PACKAGE_ALURE + +config BR2_PACKAGE_ALURE_FLAC_DECODER + bool "flac decoder" + help + Enables the built-in FLAC decoder. + +config BR2_PACKAGE_ALURE_MINIMP3_DECODER + bool "minimp3 decoder" + help + Enables the built-in minimp3 decoder. + +config BR2_PACKAGE_ALURE_OPUS_DECODER + bool "opus decoder" + select BR2_PACKAGE_LIBOGG + select BR2_PACKAGE_OPUS + help + Enables the built-in libopusfile decoder. + +config BR2_PACKAGE_ALURE_SNDFILE_DECODER + bool "sndfile decoder" + select BR2_PACKAGE_LIBSNDFILE + help + Enables the built-in libsndfile decoder. + +config BR2_PACKAGE_ALURE_VORBIS_DECODER + bool "vorbis decoder" + select BR2_PACKAGE_LIBOGG + select BR2_PACKAGE_LIBVORBIS + help + Enables the built-in libvorbis decoder. + +endif + +comment "alure needs a toolchain w/ C++, gcc >= 4.9, NPTL, wchar" + depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \ + || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR + +comment "alure needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/alure/alure.hash b/package/alure/alure.hash new file mode 100644 index 0000000000..d84af0a35e --- /dev/null +++ b/package/alure/alure.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 9b808e5b5a54d156348221dc86704c7831115047d5238691e6088f8c4814b2ca alure-14beed2a86d5a36030e907b21c46614d505f07cd.tar.gz +sha256 7331ddc67daaf1a283c81e8dc17bac8dc40f54ed3fab3d3964616f4bd502a0a3 LICENSE diff --git a/package/alure/alure.mk b/package/alure/alure.mk new file mode 100644 index 0000000000..f0eca8a2ee --- /dev/null +++ b/package/alure/alure.mk @@ -0,0 +1,65 @@ +################################################################################ +# +# alure +# +################################################################################ + +ALURE_VERSION = 14beed2a86d5a36030e907b21c46614d505f07cd +ALURE_SITE = $(call github,kcat,alure,$(ALURE_VERSION)) +ALURE_LICENSE = Zlib, Public Domain (src/decoders/dr_flac.h) +ALURE_LICENSE_FILES = LICENSE +ALURE_INSTALL_STAGING = YES + +ALURE_DEPENDENCIES = openal + +# Disabling alure examples remove the dependecies on physfs and dump libraries. +# Enable at least one built-in decoder (wave). +ALURE_CONF_OPTS = -DALURE_INSTALL=ON \ + -DALURE_BUILD_EXAMPLES=OFF \ + -DALURE_ENABLE_WAVE=ON + +ifeq ($(BR2_PACKAGE_ALURE_FLAC_DECODER),y) +ALURE_CONF_OPTS += -DALURE_ENABLE_FLAC=ON +else +ALURE_CONF_OPTS += -DALURE_ENABLE_FLAC=OFF +endif + +ifeq ($(BR2_PACKAGE_ALURE_MINIMP3_DECODER),y) +ALURE_CONF_OPTS += -DALURE_ENABLE_MINIMP3=ON +else +ALURE_CONF_OPTS += -DALURE_ENABLE_MINIMP3=OFF +endif + +ifeq ($(BR2_PACKAGE_ALURE_OPUS_DECODER),y) +ALURE_CONF_OPTS += -DALURE_ENABLE_OPUS=ON +ALURE_DEPENDENCIES += libogg opus +else +ALURE_CONF_OPTS += -DALURE_ENABLE_OPUS=OFF +endif + +ifeq ($(BR2_PACKAGE_ALURE_SNDFILE_DECODER),y) +ALURE_CONF_OPTS += -DALURE_ENABLE_SNDFILE=ON +ALURE_DEPENDENCIES += libsndfile +else +ALURE_CONF_OPTS += -DALURE_ENABLE_SNDFILE=OFF +endif + +ifeq ($(BR2_PACKAGE_ALURE_VORBIS_DECODER),y) +ALURE_CONF_OPTS += -DALURE_ENABLE_VORBIS=ON +ALURE_DEPENDENCIES += libogg libvorbis +else +ALURE_CONF_OPTS += -DALURE_ENABLE_VORBIS=OFF +endif + +ifeq ($(BR2_STATIC_LIBS),y) +ALURE_CONF_OPTS += -DALURE_BUILD_SHARED=OFF \ + -DALURE_BUILD_STATIC=ON +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +ALURE_CONF_OPTS += -DALURE_BUILD_SHARED=ON \ + -DALURE_BUILD_STATIC=ON +else +ALURE_CONF_OPTS += -DALURE_BUILD_SHARED=ON \ + -DALURE_BUILD_STATIC=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/am335x-pru-package/am335x-pru-package.hash b/package/am335x-pru-package/am335x-pru-package.hash index 36671b488a..ad386fe04b 100644 --- a/package/am335x-pru-package/am335x-pru-package.hash +++ b/package/am335x-pru-package/am335x-pru-package.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 2a902f825ccc1885c5dccd83e1ccee104aa30e601c9964a24f49459f76f674b9 am335x-pru-package-5f374ad57cc195f28bf5e585c3d446aba6ee7096.tar.gz +sha256 2a902f825ccc1885c5dccd83e1ccee104aa30e601c9964a24f49459f76f674b9 am335x-pru-package-5f374ad57cc195f28bf5e585c3d446aba6ee7096.tar.gz +sha256 f0fcdf9b2090896389eb4b784f23be96d5544c5ce5282d84f82ae9a8e8331beb pru_sw/utils/LICENCE.txt diff --git a/package/am33x-cm3/0002-Makefile-unconditionally-disable-SSP.patch b/package/am33x-cm3/0002-Makefile-unconditionally-disable-SSP.patch new file mode 100644 index 0000000000..ed333bfe05 --- /dev/null +++ b/package/am33x-cm3/0002-Makefile-unconditionally-disable-SSP.patch @@ -0,0 +1,35 @@ +From 6c3b05b74ccd49d8ba246bfef0c2e549b9f2bf7b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 29 Oct 2019 16:14:18 +0100 +Subject: [PATCH] Makefile: unconditionally disable SSP + +Though -nostdlib is passed in $(CFLAGS), -fno-stack-protector must also be +passed to avoid linking errors related to undefined references to +'__stack_chk_guard' and '__stack_chk_fail' if toolchain enforces +-fstack-protector. + +Fixes: + - http://autobuild.buildroot.net/results/3a3a21f3c35ea025e9b93e09c2454aed0ad31034 + +Signed-off-by: Fabrice Fontaine +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index c3ec071..5226006 100644 +--- a/Makefile ++++ b/Makefile +@@ -16,7 +16,8 @@ INCLUDES = $(SRCDIR)/include + CFLAGS =-march=armv7-m -mcpu=cortex-m3 -mthumb -nostdlib -Wall -Wundef \ + -Werror-implicit-function-declaration -Wstrict-prototypes \ + -Wdeclaration-after-statement -fno-delete-null-pointer-checks \ +- -Wempty-body -fno-strict-overflow -g -I$(INCLUDES) -O2 ++ -Wempty-body -fno-strict-overflow -fno-stack-protector \ ++ -g -I$(INCLUDES) -O2 + LDFLAGS =-nostartfiles -fno-exceptions -Tfirmware.ld + + EXECUTABLE=am335x-pm-firmware.elf +-- +2.23.0 + diff --git a/package/am33x-cm3/0003-Makefile-unconditionally-disable-PIE.patch b/package/am33x-cm3/0003-Makefile-unconditionally-disable-PIE.patch new file mode 100644 index 0000000000..6be157932d --- /dev/null +++ b/package/am33x-cm3/0003-Makefile-unconditionally-disable-PIE.patch @@ -0,0 +1,33 @@ +From 0e8c3c4851ce64268a8ae1810ef72594251d917d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 10 Nov 2019 21:57:12 +0100 +Subject: [PATCH] Makefile: unconditionally disable PIE + +Though -nostdlib is passed in $(CFLAGS), -fno-pie must also be passed to +avoid linking errors related to overlapping sections if toolchain +enforces PIE. + +Fixes: + - http://autobuild.buildroot.org/results/418a40b995e91bc66e692dfbc4b0521db3fa5fbb + +Signed-off-by: Fabrice Fontaine +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 5226006..fe3d844 100644 +--- a/Makefile ++++ b/Makefile +@@ -17,7 +17,7 @@ CFLAGS =-march=armv7-m -mcpu=cortex-m3 -mthumb -nostdlib -Wall -Wundef \ + -Werror-implicit-function-declaration -Wstrict-prototypes \ + -Wdeclaration-after-statement -fno-delete-null-pointer-checks \ + -Wempty-body -fno-strict-overflow -fno-stack-protector \ +- -g -I$(INCLUDES) -O2 ++ -fno-pie -g -I$(INCLUDES) -O2 + LDFLAGS =-nostartfiles -fno-exceptions -Tfirmware.ld + + EXECUTABLE=am335x-pm-firmware.elf +-- +2.23.0 + diff --git a/package/am33x-cm3/am33x-cm3.hash b/package/am33x-cm3/am33x-cm3.hash index bb8c2f665e..a63ba64a3c 100644 --- a/package/am33x-cm3/am33x-cm3.hash +++ b/package/am33x-cm3/am33x-cm3.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 a722098b362f58f4dfb2a7c30afd604424d435b3d5ebe6ebf5d76ad942f796d0 am33x-cm3-11107db2f1e9e58ee75d4fe9cc38423c9a6e4365.tar.gz +sha256 a722098b362f58f4dfb2a7c30afd604424d435b3d5ebe6ebf5d76ad942f796d0 am33x-cm3-11107db2f1e9e58ee75d4fe9cc38423c9a6e4365.tar.gz +sha256 e136e6949a1d3ca144374375af8b9387faa11d2eee7debff8cf22ca8fe7bf7e9 License.txt diff --git a/package/android-tools/Config.in b/package/android-tools/Config.in index 478f1392dc..a36c4db189 100644 --- a/package/android-tools/Config.in +++ b/package/android-tools/Config.in @@ -38,8 +38,6 @@ config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT bool "fastboot" depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux depends on !BR2_STATIC_LIBS # libselinux - depends on BR2_TOOLCHAIN_USES_GLIBC # libselinux - depends on !BR2_arc # libselinux depends on BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS select BR2_PACKAGE_LIBSELINUX select BR2_PACKAGE_ZLIB @@ -48,10 +46,8 @@ config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT the target, which can be used to reflash other target devices implementing the fastboot protocol. -comment "fastboot needs a glibc toolchain w/ threads, dynamic library" - depends on !BR2_arc - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ - !BR2_TOOLCHAIN_USES_GLIBC +comment "fastboot needs a toolchain w/ threads, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS comment "fastboot needs headers >= 3.10 (PowerPC64), headers >= 3.16 (MIPS64)" depends on !BR2_arc diff --git a/package/android-tools/android-tools.hash b/package/android-tools/android-tools.hash index 7afa04430b..27602fb2f7 100644 --- a/package/android-tools/android-tools.hash +++ b/package/android-tools/android-tools.hash @@ -1,3 +1,4 @@ # locally computed sha256 9bfba987e1351b12aa983787b9ae4424ab752e9e646d8e93771538dc1e5d932f android-tools_4.2.2+git20130218.orig.tar.xz sha256 73c3078de3e44d8a3cadf7a360863c63155d9d558c2f0933cf38ad901a3f5998 android-tools_4.2.2+git20130218-3ubuntu41.debian.tar.gz +sha256 170c5939bf8c8eed1db8f66f2d6155e8c1a3e799e390b55e7aad253195b1ebf5 debian/copyright diff --git a/package/angular-websocket/angular-websocket.hash b/package/angular-websocket/angular-websocket.hash index 36700684b9..f589abe5e8 100644 --- a/package/angular-websocket/angular-websocket.hash +++ b/package/angular-websocket/angular-websocket.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 69d752896bc17c08750a2fda24b5eb3c6d653afc6f406dd90a6b7c920b22a14a angular-websocket-v2.0.0.tar.gz +sha256 69d752896bc17c08750a2fda24b5eb3c6d653afc6f406dd90a6b7c920b22a14a angular-websocket-2.0.0.tar.gz +sha256 3013a57f2c8df37775804b8be5b107665a2ca209607bb92c618bcc084feb00a7 LICENSE diff --git a/package/angular-websocket/angular-websocket.mk b/package/angular-websocket/angular-websocket.mk index b422847e2d..d45bfdf910 100644 --- a/package/angular-websocket/angular-websocket.mk +++ b/package/angular-websocket/angular-websocket.mk @@ -4,8 +4,8 @@ # ################################################################################ -ANGULAR_WEBSOCKET_VERSION = v2.0.0 -ANGULAR_WEBSOCKET_SITE = $(call github,AngularClass,angular-websocket,$(ANGULAR_WEBSOCKET_VERSION)) +ANGULAR_WEBSOCKET_VERSION = 2.0.0 +ANGULAR_WEBSOCKET_SITE = $(call github,AngularClass,angular-websocket,v$(ANGULAR_WEBSOCKET_VERSION)) ANGULAR_WEBSOCKET_LICENSE = MIT ANGULAR_WEBSOCKET_LICENSE_FILES = LICENSE diff --git a/package/angularjs/angularjs.hash b/package/angularjs/angularjs.hash index 918c049c73..4f0f36b2a1 100644 --- a/package/angularjs/angularjs.hash +++ b/package/angularjs/angularjs.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 4d4e87d24c7d522f4ee765e4f7d454b9cf2a0f6407248545528064e66ad7b085 angular-1.6.7.zip -sha256 cec36623ceba33c503784164917c206047079159bf88f51a695a4dfb9d9b7ede angular.js +sha256 7182e7f39b921469157971d9e0783745758df4b625322d606ec7d9abf2b28af2 angular-1.7.9.zip +sha256 2420c59374dcdc1ca9721c334a32afee92f0610280cae0d1b3952b1279bc2b24 angular.js diff --git a/package/angularjs/angularjs.mk b/package/angularjs/angularjs.mk index a941bc3828..295be5400a 100644 --- a/package/angularjs/angularjs.mk +++ b/package/angularjs/angularjs.mk @@ -4,7 +4,7 @@ # ################################################################################ -ANGULARJS_VERSION = 1.6.7 +ANGULARJS_VERSION = 1.7.9 ANGULARJS_SOURCE = angular-$(ANGULARJS_VERSION).zip ANGULARJS_SITE = https://code.angularjs.org/$(ANGULARJS_VERSION) ANGULARJS_LICENSE = MIT diff --git a/package/apache/0003-server-Makefile.in-handle-separate-APR_INCLUDE_DIR-A.patch b/package/apache/0003-server-Makefile.in-handle-separate-APR_INCLUDE_DIR-A.patch new file mode 100644 index 0000000000..b4ad128677 --- /dev/null +++ b/package/apache/0003-server-Makefile.in-handle-separate-APR_INCLUDE_DIR-A.patch @@ -0,0 +1,48 @@ +From 00281390e82db18fe0de4033be4045f9391a8ee5 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 15 Nov 2018 14:04:29 +0100 +Subject: [PATCH] server/Makefile.in: handle separate + APR_INCLUDE_DIR/APU_INCLUDE_DIR + +If APR_INCLUDEDIR and APU_INCLUDEDIR point to different directories, +but for example APU_INCLUDEDIR contains both the apr headers and apu +headers, the "export_files" file will contain duplicate header files, +causing the exports.c file to contain duplicate definitions, making +the build fail. + +This commit fixes that by making sure we only use the apr headers from +APR_INCLUDEDIR and the apu headers from the APU_INCLUDEDIR. + +Signed-off-by: Thomas Petazzoni +Upstream: https://bz.apache.org/bugzilla/show_bug.cgi?id=62930 +--- + server/Makefile.in | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/server/Makefile.in b/server/Makefile.in +index 1fa334467d..2258f0bdf2 100644 +--- a/server/Makefile.in ++++ b/server/Makefile.in +@@ -34,7 +34,6 @@ test_char.h: gen_test_char + util.lo: test_char.h + + EXPORT_DIRS = $(top_srcdir)/include $(top_srcdir)/os/$(OS_DIR) +-EXPORT_DIRS_APR = $(APR_INCLUDEDIR) $(APU_INCLUDEDIR) + + # If export_files is a dependency here, but we remove it during this stage, + # when exports.c is generated, make will not detect that export_files is no +@@ -60,9 +59,8 @@ export_files: + ls $$dir/*.h ; \ + done; \ + echo "$(top_srcdir)/server/mpm_fdqueue.h"; \ +- for dir in $(EXPORT_DIRS_APR); do \ +- ls $$dir/ap[ru].h $$dir/ap[ru]_*.h 2>/dev/null; \ +- done; \ ++ ls $(APR_INCLUDE_DIR)/{apr.h,apr_*.h} 2>/dev/null; \ ++ ls $(APU_INCLUDE_DIR)/{apu.h,apu_*.h} 2>/dev/null; \ + ) | sed -e s,//,/,g | sort -u > $@ + + exports.c: export_files +-- +2.19.1 + diff --git a/package/apache/0004-server-log.c-ap_log_pid-Use-a-temporary-file-then-re.patch b/package/apache/0004-server-log.c-ap_log_pid-Use-a-temporary-file-then-re.patch new file mode 100644 index 0000000000..af3cd47a30 --- /dev/null +++ b/package/apache/0004-server-log.c-ap_log_pid-Use-a-temporary-file-then-re.patch @@ -0,0 +1,77 @@ +From 5b95d256387b45fbe33f7ee7890ae35afdd5c371 Mon Sep 17 00:00:00 2001 +From: Joe Orton +Date: Fri, 13 Mar 2020 14:34:18 +0000 +Subject: [PATCH] * server/log.c (ap_log_pid): Use a temporary file, then + rename once successfully written; also add error checking. Avoids startup + failures if a previous httpd invocation crashed while writing the pidfile. + +Submitted by: Nicolas Carrier , jorton +Github: closes #100, closes #69 +PR: 63140 + +git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1875153 13f79535-47bb-0310-9956-ffa450edef68 +Signed-off-by: Nicolas Carrier +--- + server/log.c | 33 ++++++++++++++++++++++++++------- + 1 file changed, 26 insertions(+), 7 deletions(-) + +diff --git a/server/log.c b/server/log.c +index f0bde6e4b8..8d54b4e057 100644 +--- a/server/log.c ++++ b/server/log.c +@@ -1598,6 +1598,9 @@ AP_DECLARE(void) ap_log_pid(apr_pool_t *p, const char *filename) + pid_t mypid; + apr_status_t rv; + const char *fname; ++ char *temp_fname; ++ apr_fileperms_t perms; ++ char pidstr[64]; + + if (!filename) { + return; +@@ -1626,19 +1629,35 @@ AP_DECLARE(void) ap_log_pid(apr_pool_t *p, const char *filename) + fname); + } + +- if ((rv = apr_file_open(&pid_file, fname, +- APR_WRITE | APR_CREATE | APR_TRUNCATE, +- APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD, p)) +- != APR_SUCCESS) { ++ temp_fname = apr_pstrcat(p, fname, ".XXXXXX", NULL); ++ rv = apr_file_mktemp(&pid_file, temp_fname, ++ APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE, p); ++ if (rv != APR_SUCCESS) { + ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL, APLOGNO(00099) +- "could not create %s", fname); ++ "could not create %s", temp_fname); + ap_log_error(APLOG_MARK, APLOG_ERR, 0, NULL, APLOGNO(00100) + "%s: could not log pid to file %s", + ap_server_argv0, fname); + exit(1); + } +- apr_file_printf(pid_file, "%" APR_PID_T_FMT APR_EOL_STR, mypid); +- apr_file_close(pid_file); ++ ++ apr_snprintf(pidstr, sizeof pidstr, "%" APR_PID_T_FMT APR_EOL_STR, mypid); ++ ++ perms = APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD; ++ rv = apr_file_perms_set(temp_fname, perms); ++ if (rv == APR_SUCCESS) ++ rv = apr_file_write_full(pid_file, pidstr, strlen(pidstr), NULL); ++ if (rv == APR_SUCCESS) ++ rv = apr_file_close(pid_file); ++ if (rv == APR_SUCCESS) ++ rv = apr_file_rename(temp_fname, fname, p); ++ if (rv != APR_SUCCESS) { ++ ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL, APLOGNO(10231) ++ "%s: Failed creating pid file %s", ++ ap_server_argv0, temp_fname); ++ exit(1); ++ } ++ + saved_pid = mypid; + } + +-- +2.25.2 + diff --git a/package/apache/apache.hash b/package/apache/apache.hash index 0c3a1d5303..7b0e4ad8e7 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.39.tar.bz2.sha256 -sha256 b4ca9d05773aa59b54d66cd8f4744b945289f084d3be17d7981d1783a5decfa2 httpd-2.4.39.tar.bz2 +# From http://archive.apache.org/dist/httpd/httpd-2.4.43.tar.bz2.sha256 +sha256 a497652ab3fc81318cdc2a203090a999150d86461acff97c1065dc910fe10f43 httpd-2.4.43.tar.bz2 # Locally computed -sha256 c49c0819a726b70142621715dae3159c47b0349c2bc9db079070f28dadac0229 LICENSE +sha256 47b8c2b6c3309282a99d4a3001575c790fead690cc14734628c4667d2bbffc43 LICENSE diff --git a/package/apache/apache.mk b/package/apache/apache.mk index ebb28b653a..068f36e325 100644 --- a/package/apache/apache.mk +++ b/package/apache/apache.mk @@ -4,7 +4,7 @@ # ################################################################################ -APACHE_VERSION = 2.4.39 +APACHE_VERSION = 2.4.43 APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2 APACHE_SITE = http://archive.apache.org/dist/httpd APACHE_LICENSE = Apache-2.0 @@ -16,6 +16,14 @@ APACHE_INSTALL_STAGING = YES APACHE_AUTORECONF = YES APACHE_DEPENDENCIES = apr apr-util pcre +ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) +define APACHE_FIXUP_APR_LIBTOOL + $(SED) "s@$(PER_PACKAGE_DIR)/[^/]\+/@$(PER_PACKAGE_DIR)/apache/@g" \ + $(STAGING_DIR)/usr/build-1/libtool +endef +APACHE_POST_CONFIGURE_HOOKS += APACHE_FIXUP_APR_LIBTOOL +endif + APACHE_CONF_ENV= \ ap_cv_void_ptr_lt_long=no \ PCRE_CONFIG=$(STAGING_DIR)/usr/bin/pcre-config @@ -91,6 +99,7 @@ APACHE_CONF_OPTS += --disable-deflate endif define APACHE_FIX_STAGING_APACHE_CONFIG + $(SED) 's%"/usr/bin"%"$(STAGING_DIR)/usr/bin"%' $(STAGING_DIR)/usr/bin/apxs $(SED) 's%/usr/build%$(STAGING_DIR)/usr/build%' $(STAGING_DIR)/usr/bin/apxs $(SED) 's%^prefix =.*%prefix = $(STAGING_DIR)/usr%' $(STAGING_DIR)/usr/build/config_vars.mk endef @@ -109,9 +118,6 @@ endef define APACHE_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/apache/apache.service \ $(TARGET_DIR)/usr/lib/systemd/system/apache.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -sf ../../../../usr/lib/systemd/system/apache.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/apache.service endef $(eval $(autotools-package)) diff --git a/package/apcupsd/Config.in b/package/apcupsd/Config.in new file mode 100644 index 0000000000..4bc523eed4 --- /dev/null +++ b/package/apcupsd/Config.in @@ -0,0 +1,70 @@ +config BR2_PACKAGE_APCUPSD + bool "apcupsd" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU # fork() + help + A daemon for controlling APC UPSes. + + http://www.apcupsd.org/ + +if BR2_PACKAGE_APCUPSD + +config BR2_PACKAGE_APCUPSD_APCSMART + bool "apcsmart" + help + Compile APC SmartUPS serial driver + +config BR2_PACKAGE_APCUPSD_DUMB + bool "dumb" + help + Compile dumb UPS driver + +config BR2_PACKAGE_APCUPSD_MODBUS + bool "modbus" + help + Compile MODBUS driver code + +config BR2_PACKAGE_APCUPSD_MODBUS_USB + bool "modbus usb" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB + select BR2_PACKAGE_LIBUSB_COMPAT + select BR2_PACKAGE_APCUPSD_MODBUS + help + Compile MODBUS/USB driver code + +comment "modbus usb support needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_APCUPSD_NET + bool "net" + help + Compile networking driver for slaves + +config BR2_PACKAGE_APCUPSD_PCNET + bool "pcnet" + help + Compile PCNET driver code + +config BR2_PACKAGE_APCUPSD_SNMP + bool "snmp" + help + Compile SNMP driver + +config BR2_PACKAGE_APCUPSD_USB + bool "usb" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB + select BR2_PACKAGE_LIBUSB_COMPAT + help + Compile USB UPS code + +comment "usb support needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + +endif + +comment "apcupsd needs a toolchain w/ C++, threads" + depends on BR2_USE_MMU + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/apcupsd/apcupsd.hash b/package/apcupsd/apcupsd.hash new file mode 100644 index 0000000000..6795560f62 --- /dev/null +++ b/package/apcupsd/apcupsd.hash @@ -0,0 +1,6 @@ +# From https://sourceforge.net/projects/apcupsd/files/apcupsd%20-%20Stable/3.14.14/ +md5 cc8f5ced77f38906a274787acb9bc980 apcupsd-3.14.14.tar.gz +sha1 f027fa141c929371fe860443b6d911ef3a3606fb apcupsd-3.14.14.tar.gz +# Locally computed: +sha256 db7748559b6b4c3784f9856561ef6ac6199ef7bd019b3edcd7e0a647bf8f9867 apcupsd-3.14.14.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/apcupsd/apcupsd.mk b/package/apcupsd/apcupsd.mk new file mode 100644 index 0000000000..410bce9aec --- /dev/null +++ b/package/apcupsd/apcupsd.mk @@ -0,0 +1,81 @@ +################################################################################ +# +# apcupsd +# +################################################################################ + +APCUPSD_VERSION = 3.14.14 +APCUPSD_SITE = http://downloads.sourceforge.net/project/apcupsd/apcupsd%20-%20Stable/$(APCUPSD_VERSION) +APCUPSD_LICENSE = GPL-2.0 +APCUPSD_LICENSE_FILES = COPYING +APCUPSD_CONF_OPTS = --disable-test + +ifneq ($(BR2_PACKAGE_APCUPSD_MODBUS_USB)$(BR2_PACKAGE_APCUPSD_USB),) +APCUPSD_CONF_ENV += ac_cv_path_usbcfg=$(STAGING_DIR)/usr/bin/libusb-config +ifeq ($(BR2_STATIC_LIBS),y) +APCUPSD_DEPENDENCIES += host-pkgconf +APCUPSD_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libusb`" +endif +endif + +ifeq ($(BR2_PACKAGE_APCUPSD_APCSMART),y) +APCUPSD_CONF_OPTS += --enable-apcsmart +else +APCUPSD_CONF_OPTS += --disable-apcsmart +endif + +ifeq ($(BR2_PACKAGE_APCUPSD_DUMB),y) +APCUPSD_CONF_OPTS += --enable-dumb +else +APCUPSD_CONF_OPTS += --disable-dumb +endif + +ifeq ($(BR2_PACKAGE_APCUPSD_MODBUS_USB),y) +APCUPSD_CONF_OPTS += --enable-modbus-usb +APCUPSD_DEPENDENCIES = libusb libusb-compat +else +APCUPSD_CONF_OPTS += --disable-modbus-usb +endif + +ifeq ($(BR2_PACKAGE_APCUPSD_MODBUS),y) +APCUPSD_CONF_OPTS += --enable-modbus +else +APCUPSD_CONF_OPTS += --disable-modbus +endif + +ifeq ($(BR2_PACKAGE_APCUPSD_NET),y) +APCUPSD_CONF_OPTS += --enable-net +else +APCUPSD_CONF_OPTS += --disable-net +endif + +ifeq ($(BR2_PACKAGE_APCUPSD_PCNET),y) +APCUPSD_CONF_OPTS += --enable-pcnet +else +APCUPSD_CONF_OPTS += --disable-pcnet +endif + +ifeq ($(BR2_PACKAGE_APCUPSD_SNMP),y) +APCUPSD_CONF_OPTS += --enable-snmp +else +APCUPSD_CONF_OPTS += --disable-snmp +endif + +ifeq ($(BR2_PACKAGE_APCUPSD_USB),y) +APCUPSD_CONF_OPTS += --enable-usb +APCUPSD_DEPENDENCIES = libusb libusb-compat +else +APCUPSD_CONF_OPTS += --disable-usb +endif + +define APCUPSD_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/platforms +endef + +define APCUPSD_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src DESTDIR=$(TARGET_DIR) install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/platforms DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(autotools-package)) diff --git a/package/apitrace/0001-dlsym-Fix-build-under-uClibc.patch b/package/apitrace/0001-dlsym-Fix-build-under-uClibc.patch new file mode 100644 index 0000000000..bf47bba931 --- /dev/null +++ b/package/apitrace/0001-dlsym-Fix-build-under-uClibc.patch @@ -0,0 +1,31 @@ +From 189a3b8397c61ba262a2221885e38dc514c59d94 Mon Sep 17 00:00:00 2001 +From: Paul Cercueil +Date: Sat, 7 Dec 2019 00:00:57 +0100 +Subject: [PATCH] dlsym: Fix build under uClibc + +uClibc defines the __GLIBC__ macro too (I know, right?), so verify that +__UCLIBC__ is not defined before we can use glibc-specific internal +functions. + +Signed-off-by: Paul Cercueil +Upstream: https://github.com/apitrace/apitrace/commit/189a3b8397c61ba262a2221885e38dc514c59d94 +--- + wrappers/dlsym.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/wrappers/dlsym.cpp b/wrappers/dlsym.cpp +index 2eda082a..5ab8465b 100644 +--- a/wrappers/dlsym.cpp ++++ b/wrappers/dlsym.cpp +@@ -34,7 +34,7 @@ + #include "os.hpp" + + +-#ifdef __GLIBC__ ++#if defined(__GLIBC__) && !defined(__UCLIBC__) + + + #include +-- +2.24.0 + diff --git a/package/apitrace/0002-Support-libc-that-don-t-have-RTLD_DEEPBIND.patch b/package/apitrace/0002-Support-libc-that-don-t-have-RTLD_DEEPBIND.patch new file mode 100644 index 0000000000..e34357428a --- /dev/null +++ b/package/apitrace/0002-Support-libc-that-don-t-have-RTLD_DEEPBIND.patch @@ -0,0 +1,25 @@ +From d495d15e20bf655afa3be62ada792e8dfc8d29b6 Mon Sep 17 00:00:00 2001 +From: Gleb Mazovetskiy +Date: Fri, 13 Dec 2019 13:39:19 +0000 +Subject: [PATCH] Support libc that don't have RTLD_DEEPBIND + +[Retrieved from: https://github.com/apitrace/apitrace/pull/646] +Signed-off-by: Fabrice Fontaine +--- + dispatch/glproc_gl.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/dispatch/glproc_gl.cpp b/dispatch/glproc_gl.cpp +index 5d7903a0c..456fcc42e 100644 +--- a/dispatch/glproc_gl.cpp ++++ b/dispatch/glproc_gl.cpp +@@ -148,6 +148,9 @@ _getPrivateProcAddress(const char *procName) + + #else + ++#ifndef RTLD_DEEPBIND ++#define RTLD_DEEPBIND 0 ++#endif + + static inline void + logSymbol(const char *name, void *ptr) { diff --git a/package/apitrace/Config.in b/package/apitrace/Config.in index b622823c29..263eec5e7d 100644 --- a/package/apitrace/Config.in +++ b/package/apitrace/Config.in @@ -1,15 +1,18 @@ -comment "apitrace needs a glibc toolchain w/ C++, gcc >= 4.9" - depends on BR2_PACKAGE_XORG7 - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_GLIBC \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 +comment "apitrace needs a toolchain w/ C++, wchar, dynamic library, threads, gcc >= 4.9" + depends on BR2_USE_MMU + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_PACKAGE_APITRACE bool "apitrace" + depends on BR2_USE_MMU # fork() + depends on BR2_USE_WCHAR depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_USES_GLIBC # uses glibc specific __libc_dlsym + depends on !BR2_STATIC_LIBS # dlfcn.h depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - depends on BR2_PACKAGE_XORG7 - select BR2_PACKAGE_XLIB_LIBX11 + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBPNG help Trace and replay OpenGL and OpenGL ES APIs calls to/from a diff --git a/package/apitrace/apitrace.hash b/package/apitrace/apitrace.hash index 1daaa46e84..9479f06425 100644 --- a/package/apitrace/apitrace.hash +++ b/package/apitrace/apitrace.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 0aae8902696ad23ba91d61c57007861a3f6e3c2d4f0f43b783b4b7a58e3f9172 apitrace-15d7f975f9688372467ebd63d2a57d3957823f93.tar.gz +sha256 0eec81ba7d3799622336319785465a2982a0621898842517a07894d7e2aa18eb apitrace-9.0.tar.gz +sha256 7066bb1b787519c42f8278b77757c21de522cd97755cb30a22759ac401c62260 LICENSE diff --git a/package/apitrace/apitrace.mk b/package/apitrace/apitrace.mk index c66f6b3e38..e4e6c41fed 100644 --- a/package/apitrace/apitrace.mk +++ b/package/apitrace/apitrace.mk @@ -4,14 +4,38 @@ # ################################################################################ -APITRACE_VERSION = 15d7f975f9688372467ebd63d2a57d3957823f93 +APITRACE_VERSION = 9.0 APITRACE_SITE = $(call github,apitrace,apitrace,$(APITRACE_VERSION)) APITRACE_LICENSE = MIT APITRACE_LICENSE_FILES = LICENSE -APITRACE_DEPENDENCIES = xlib_libX11 host-python libpng +APITRACE_DEPENDENCIES = host-python3 libpng + +ifeq ($(BR2_PACKAGE_XORG7),y) +APITRACE_DEPENDENCIES += xlib_libX11 +APITRACE_CONF_OPTS += -DENABLE_X11=ON +else +APITRACE_CONF_OPTS += -DENABLE_X11=OFF +endif # Gui was never tested, so we prefer to explicitly disable it APITRACE_CONF_OPTS += -DENABLE_GUI=false +APITRACE_CFLAGS = $(TARGET_CFLAGS) +APITRACE_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) +# This works around embedded Brotli build failure +APITRACE_CFLAGS += -O0 +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +# This works around Apitrace itself build failure +APITRACE_CXXFLAGS += -O0 +endif + +APITRACE_CONF_OPTS += \ + -DCMAKE_C_FLAGS="$(APITRACE_CFLAGS)" \ + -DCMAKE_CXX_FLAGS="$(APITRACE_CXXFLAGS)" + $(eval $(cmake-package)) diff --git a/package/apparmor/0001-parser-binutils-fix-compilation-with-libintl.patch b/package/apparmor/0001-parser-binutils-fix-compilation-with-libintl.patch new file mode 100644 index 0000000000..d3f4a51646 --- /dev/null +++ b/package/apparmor/0001-parser-binutils-fix-compilation-with-libintl.patch @@ -0,0 +1,48 @@ +From c9fe40d9386a5e4cf99f44df9b98382d83f1c4f4 Mon Sep 17 00:00:00 2001 +From: Angelo Compagnucci +Date: Fri, 24 Apr 2020 17:34:24 +0200 +Subject: [PATCH] parser: binutils: fix compilation with libintl + +When libintl is available on the system, we need to link against the +libintl library too. + +Signed-off-by: Angelo Compagnucci +--- + binutils/Makefile | 4 ++++ + parser/Makefile | 5 +++++ + 2 files changed, 9 insertions(+) + +diff --git a/binutils/Makefile b/binutils/Makefile +index 11459bec..d8c1b634 100644 +--- a/binutils/Makefile ++++ b/binutils/Makefile +@@ -56,6 +56,10 @@ SBINTOOLS = aa-status + + AALIB = -Wl,-Bstatic -lapparmor -Wl,-Bdynamic -lpthread + ++ifdef WITH_LIBINTL ++ AALIB += -lintl ++endif ++ + ifdef USE_SYSTEM + # Using the system libapparmor so Makefile dependencies can't be used + LIBAPPARMOR_A = +diff --git a/parser/Makefile b/parser/Makefile +index eab64be9..998230ee 100644 +--- a/parser/Makefile ++++ b/parser/Makefile +@@ -91,6 +91,11 @@ AAREOBJECTS = $(AAREOBJECT) + AARE_LDFLAGS = -static-libgcc -static-libstdc++ -L. $(LDFLAGS) + AALIB = -Wl,-Bstatic -lapparmor -Wl,-Bdynamic -lpthread + ++ifdef WITH_LIBINTL ++ AALIB += -lintl ++endif ++ ++ + ifdef USE_SYSTEM + # Using the system libapparmor so Makefile dependencies can't be used + LIBAPPARMOR_A = +-- +2.25.1 + diff --git a/package/apparmor/0002-replace-deprecated-egrep-with-grep-e.patch b/package/apparmor/0002-replace-deprecated-egrep-with-grep-e.patch new file mode 100644 index 0000000000..4caefe447b --- /dev/null +++ b/package/apparmor/0002-replace-deprecated-egrep-with-grep-e.patch @@ -0,0 +1,28 @@ +From 5f46dedd6e8109d845af118b36039a5d7dd05af9 Mon Sep 17 00:00:00 2001 +From: Christian Boltz +Date: Mon, 18 Mar 2019 19:17:16 +0100 +Subject: [PATCH] replace deprecated egrep with grep -e + +(cherry picked from commit 5f46dedd6e8109d845af118b36039a5d7dd05af9) +Signed-off-by: Christian Boltz +Signed-off-by: Adam Duskett +--- + parser/rc.apparmor.functions | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/parser/rc.apparmor.functions b/parser/rc.apparmor.functions +index 22e8367..f3108f8 100644 +--- a/parser/rc.apparmor.functions ++++ b/parser/rc.apparmor.functions +@@ -129,7 +129,7 @@ skip_profile() { + "${profile%.pacnew}" != "${profile}" ] ; then + return 2 + fi +- if echo "${profile}" | egrep -q '^.+\.new-[0-9\.]+_[0-9]+$'; then ++ if echo "${profile}" | grep -E -q '^.+\.new-[0-9\.]+_[0-9]+$'; then + return 2 + fi + +-- +2.26.2 + diff --git a/package/apparmor/0003-fix-regex-in-rc.apparmor.functions-to-work-with-busy.patch b/package/apparmor/0003-fix-regex-in-rc.apparmor.functions-to-work-with-busy.patch new file mode 100644 index 0000000000..c372a86998 --- /dev/null +++ b/package/apparmor/0003-fix-regex-in-rc.apparmor.functions-to-work-with-busy.patch @@ -0,0 +1,37 @@ +From 12764faa0a01bcc4e0ffc92ce308985dbad0d954 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Thu, 7 May 2020 18:25:29 -0700 +Subject: [PATCH] fix regex in rc.apparmor.functions to work with busybox + +The following regex string in rc.apparmor.functions +"^/.*[ \t]+flags[ \t]*=[ \t]*\([ \t]*complain[ \t]*\)[ \t]+{" is broken due to +the unescaped {. GNU grep ignores the error. However, the Busybox grep does +not and throws the error "unescaped character {" + +Escape the "{" character to fix this issue. + +Note: Upstream has rewritten large sections of the rc.apparmor.functions file +and the function this patch fixes will no longer be necessary after the next +version is released. + +Signed-off-by: Adam Duskett +--- + parser/rc.apparmor.functions | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/parser/rc.apparmor.functions b/parser/rc.apparmor.functions +index f3108f8..db0697c 100644 +--- a/parser/rc.apparmor.functions ++++ b/parser/rc.apparmor.functions +@@ -140,7 +140,7 @@ force_complain() { + local profile=$1 + + # if profile not in complain mode +- if ! egrep -q "^/.*[ \t]+flags[ \t]*=[ \t]*\([ \t]*complain[ \t]*\)[ \t]+{" $profile ; then ++ if ! grep -E -q "^/.*[ \t]+flags[ \t]*=[ \t]*\([ \t]*complain[ \t]*\)[ \t]+\{" $profile ; then + local link="${PROFILE_DIR}/force-complain/`basename ${profile}`" + if [ -e "$link" ] ; then + aa_log_warning_msg "found $link, forcing complain mode" +-- +2.26.2 + diff --git a/package/apparmor/Config.in b/package/apparmor/Config.in new file mode 100644 index 0000000000..1cc9daa7b5 --- /dev/null +++ b/package/apparmor/Config.in @@ -0,0 +1,77 @@ +config BR2_PACKAGE_APPARMOR + bool "apparmor" + depends on BR2_USE_MMU # fork() + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libapparmor + depends on BR2_TOOLCHAIN_HAS_THREADS # libapparmor + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 # libapparmor + select BR2_PACKAGE_LIBAPPARMOR + help + AppArmor is an effective and easy-to-use Linux application + security system. AppArmor proactively protects the operating + system and applications from external or internal threats, + even zero-day attacks, by enforcing good behavior and + preventing even unknown application flaws from being + exploited. + + This package builds the parser (which can load profiles). + + http://wiki.apparmor.net + +if BR2_PACKAGE_APPARMOR + +config BR2_PACKAGE_APPARMOR_BINUTILS + bool "binutils" + help + A set of utilities (written in C): + aa-enabled aa-exec + +comment "utils need python3" + depends on !BR2_PACKAGE_PYTHON3 + +config BR2_PACKAGE_APPARMOR_UTILS + bool "utils" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # net-tools + select BR2_PACKAGE_NET_TOOLS # runtime (aa-unconfined) + select BR2_PACKAGE_PYTHON3_READLINE + help + A set of utilities (written in python): + aa-audit aa-disable aa-logprof + aa-autodep aa-easyprof aa-mergeprof + aa-cleanprof aa-enforce aa-status + aa-complain aa-genprof aa-unconfined + +if BR2_PACKAGE_APPARMOR_UTILS + +comment "utils (extras) need bash and perl, and busybox or gawk" + depends on !BR2_PACKAGE_BASH || !BR2_PACKAGE_PERL \ + || !(BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_GAWK) + +config BR2_PACKAGE_APPARMOR_UTILS_EXTRA + bool "utils (extras)" + depends on BR2_PACKAGE_BASH + depends on BR2_PACKAGE_PERL + depends on BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_GAWK + help + An extra set of utilities (written in a mixture of sh, + bash, perl, and awk): + aa-decode (bash + perl) + aa-notify (perl) + aa-remove-unknown (sh + awk) + +endif # BR2_PACKAGE_APPARMOR_UTILS + +config BR2_PACKAGE_APPARMOR_PROFILES + bool "profiles" + help + Installs server-class profiles for a wide range of + usual programs and daemons. + +endif # BR2_PACKAGE_APPARMOR + +comment "apparmor needs a toolchain w/ headers >= 3.16, threads, C++" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 diff --git a/package/apparmor/apparmor.hash b/package/apparmor/apparmor.hash new file mode 100644 index 0000000000..c7caef7beb --- /dev/null +++ b/package/apparmor/apparmor.hash @@ -0,0 +1,4 @@ +# locally computed +sha256 90bf86c07ffbe2c22be46d75c7345fad12d5911653c59750a37d59c63ad5d10e apparmor-2.13.4.tar.gz +sha256 a7e0cdcbea5c14927cedfc600d46526bdcbb1eb0a4d951e2ea53c2a6de159cb4 LICENSE +sha256 dd54950fa69a3096fe907a466a454d217ccca9bca77398d5232704766d5a0040 parser/COPYING.GPL diff --git a/package/apparmor/apparmor.mk b/package/apparmor/apparmor.mk new file mode 100644 index 0000000000..f667966082 --- /dev/null +++ b/package/apparmor/apparmor.mk @@ -0,0 +1,86 @@ +################################################################################ +# +# apparmor +# +################################################################################ + +# When updating the version here, please also update the libapparmor package +APPARMOR_VERSION_MAJOR = 2.13 +APPARMOR_VERSION = $(APPARMOR_VERSION_MAJOR).4 +APPARMOR_SITE = https://launchpad.net/apparmor/$(APPARMOR_VERSION_MAJOR)/$(APPARMOR_VERSION)/+download +APPARMOR_DL_SUBDIR = libapparmor +APPARMOR_LICENSE = GPL-2.0 +APPARMOR_LICENSE_FILES = LICENSE parser/COPYING.GPL + +APPARMOR_DEPENDENCIES = libapparmor + +APPARMOR_TOOLS = parser +APPARMOR_MAKE_OPTS = USE_SYSTEM=1 DISTRO=unknown POD2MAN=true POD2HTML=true + +ifeq ($(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y) +APPARMOR_DEPENDENCIES += gettext +APPARMOR_MAKE_OPTS += WITH_LIBINTL=1 +endif + +ifeq ($(BR2_PACKAGE_APPARMOR_BINUTILS),y) +APPARMOR_TOOLS += binutils +endif + +ifeq ($(BR2_PACKAGE_APPARMOR_UTILS),y) +APPARMOR_DEPENDENCIES += host-python3 python3 +APPARMOR_TOOLS += utils +APPARMOR_MAKE_OPTS += PYTHON=$(HOST_DIR)/bin/python3 + +ifeq ($(BR2_PACKAGE_APPARMOR_UTILS_EXTRA),) +define APPARMOR_UTILS_NO_EXTRA + $(Q)rm -f $(addprefix $(TARGET_DIR)/usr/sbin/,aa-decode aa-notify aa-remove-unknown) +endef +APPARMOR_POST_INSTALL_TARGET_HOOKS += APPARMOR_UTILS_NO_EXTRA +endif # BR2_PACKAGE_APPARMOR_UTILS_EXTRA + +endif # BR2_PACKAGE_APPARMOR_UTILS + +ifeq ($(BR2_PACKAGE_APPARMOR_PROFILES),y) +APPARMOR_TOOLS += profiles +endif + +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +APPARMOR_DEPENDENCIES += linux-pam +APPARMOR_TOOLS += changehat/pam_apparmor +endif + +ifeq ($(BR2_PACKAGE_APACHE),y) +APPARMOR_DEPENDENCIES += apache +APPARMOR_TOOLS += changehat/mod_apparmor +APPARMOR_MAKE_OPTS += APXS=$(STAGING_DIR)/usr/bin/apxs +endif + +define APPARMOR_BUILD_CMDS + $(foreach tool,$(APPARMOR_TOOLS),\ + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D)/$(tool) $(APPARMOR_MAKE_OPTS) + ) +endef + +define APPARMOR_INSTALL_TARGET_CMDS + $(foreach tool,$(APPARMOR_TOOLS),\ + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D)/$(tool) $(APPARMOR_MAKE_OPTS) \ + DESTDIR=$(TARGET_DIR) install + ) +endef + +# Despite its name, apparmor.systemd is a sysv-init compatible startup script +define APPARMOR_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 $(@D)/parser/apparmor.systemd \ + $(TARGET_DIR)/etc/init.d/S00apparmor +endef + +define APPARMOR_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0755 $(@D)/parser/apparmor.systemd \ + $(TARGET_DIR)/lib/apparmor/apparmor.systemd + $(INSTALL) -D -m 0755 $(@D)/parser/apparmor.service \ + $(TARGET_DIR)/usr/lib/systemd/system/apparmor.service +endef + +$(eval $(generic-package)) diff --git a/package/apr-util/apr-util.mk b/package/apr-util/apr-util.mk index b006964ccb..53b633b159 100644 --- a/package/apr-util/apr-util.mk +++ b/package/apr-util/apr-util.mk @@ -15,6 +15,16 @@ APR_UTIL_CONF_OPTS = \ --with-apr=$(STAGING_DIR)/usr/bin/apr-1-config APR_UTIL_CONFIG_SCRIPTS = apu-1-config +ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) +define APR_UTIL_FIX_RULES_MK_LIBTOOL + $(SED) 's,$(PER_PACKAGE_DIR)/apr/,$(PER_PACKAGE_DIR)/apr-util/,g' \ + $(@D)/build/rules.mk + $(SED) 's,$(PER_PACKAGE_DIR)/apr/,$(PER_PACKAGE_DIR)/apr-util/,g' \ + $(STAGING_DIR)/usr/build-1/libtool +endef +APR_UTIL_POST_CONFIGURE_HOOKS += APR_UTIL_FIX_RULES_MK_LIBTOOL +endif + # When iconv is available, then use it to provide charset conversion # features. APR_UTIL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) diff --git a/package/apr/0002-sys-param-h.patch b/package/apr/0002-sys-param-h.patch new file mode 100644 index 0000000000..49f963c4d5 --- /dev/null +++ b/package/apr/0002-sys-param-h.patch @@ -0,0 +1,39 @@ +Fix PATH_MAX detection by including sys/param.h if available + +Patch sent upstream: +https://bz.apache.org/bugzilla/show_bug.cgi?id=63782 + +Signed-off-by: Bernd Kuhls + +diff -uNr apr-1.7.0.orig/configure.in apr-1.7.0/configure.in +--- apr-1.7.0.orig/configure.in 2019-04-01 19:40:46.000000000 +0200 ++++ apr-1.7.0/configure.in 2019-09-29 17:03:41.803326791 +0200 +@@ -1586,6 +1586,7 @@ + AC_SUBST(stringh) + AC_SUBST(stringsh) + AC_SUBST(sys_ioctlh) ++AC_SUBST(sys_paramh) + AC_SUBST(sys_sendfileh) + AC_SUBST(sys_signalh) + AC_SUBST(sys_socketh) +diff -uNr apr-1.7.0.orig/include/apr.h.in apr-1.7.0/include/apr.h.in +--- apr-1.7.0.orig/include/apr.h.in 2019-03-22 14:30:31.000000000 +0100 ++++ apr-1.7.0/include/apr.h.in 2019-09-29 17:04:54.203815469 +0200 +@@ -95,6 +95,7 @@ + #define APR_HAVE_STRINGS_H @stringsh@ + #define APR_HAVE_INTTYPES_H @inttypesh@ + #define APR_HAVE_SYS_IOCTL_H @sys_ioctlh@ ++#define APR_HAVE_SYS_PARAM_H @sys_paramh@ + #define APR_HAVE_SYS_SENDFILE_H @sys_sendfileh@ + #define APR_HAVE_SYS_SIGNAL_H @sys_signalh@ + #define APR_HAVE_SYS_SOCKET_H @sys_socketh@ +@@ -206,6 +207,9 @@ + #include + #endif + #endif ++#if APR_HAVE_SYS_PARAM_H ++#include ++#endif + + /* __APPLE__ is now the official pre-defined macro for macOS */ + #ifdef __APPLE__ diff --git a/package/apr/apr.hash b/package/apr/apr.hash index be130a5d78..0a3f5c8527 100644 --- a/package/apr/apr.hash +++ b/package/apr/apr.hash @@ -1,4 +1,4 @@ -# From http://www.apache.org/dist/apr/apr-1.6.3.tar.bz2.sha256 -sha256 131f06d16d7aabd097fa992a33eec2b6af3962f93e6d570a9bd4d85e95993172 apr-1.6.3.tar.bz2 +# From http://archive.apache.org/dist/apr/apr-1.7.0.tar.bz2.sha256 +sha256 e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea apr-1.7.0.tar.bz2 # Locally calculated sha256 f854aeef66ecd55a126226e82b3f26793fc3b1c584647f6a0edc5639974c38ad LICENSE diff --git a/package/apr/apr.mk b/package/apr/apr.mk index 8f29e57c59..466222586c 100644 --- a/package/apr/apr.mk +++ b/package/apr/apr.mk @@ -4,7 +4,7 @@ # ################################################################################ -APR_VERSION = 1.6.3 +APR_VERSION = 1.7.0 APR_SOURCE = apr-$(APR_VERSION).tar.bz2 APR_SITE = http://archive.apache.org/dist/apr APR_LICENSE = Apache-2.0 @@ -14,9 +14,18 @@ APR_INSTALL_STAGING = YES # so we need to autoreconf: APR_AUTORECONF = YES +# avoid apr_hints.m4 by setting apr_preload_done=yes and set +# the needed CFLAGS on our own (avoids '-D_REENTRANT' in case +# not supported by toolchain and subsequent configure failure) +APR_CFLAGS = $(TARGET_CFLAGS) -DLINUX -D_GNU_SOURCE +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +APR_CFLAGS += -D_REENTRANT +endif + APR_CONF_ENV = \ CC_FOR_BUILD="$(HOSTCC)" \ CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ + CFLAGS="$(APR_CFLAGS)" \ ac_cv_file__dev_zero=yes \ ac_cv_func_setpgrp_void=yes \ apr_cv_process_shared_works=yes \ @@ -31,7 +40,8 @@ APR_CONF_ENV = \ apr_cv_epoll_create1=yes \ apr_cv_dup3=yes \ apr_cv_sock_cloexec=yes \ - apr_cv_accept4=yes + apr_cv_accept4=yes \ + apr_preload_done=yes APR_CONFIG_SCRIPTS = apr-1-config # Doesn't even try to guess when cross compiling @@ -42,15 +52,10 @@ endif # Fix lfs detection when cross compiling APR_CONF_ENV += apr_cv_use_lfs64=yes -# Use non-portable atomics when available: 8 bytes atomics are used on -# 64-bits architectures, 4 bytes atomics on 32-bits architectures. We -# have to override ap_cv_atomic_builtins because the test used to -# check for atomic builtins uses AC_TRY_RUN, which doesn't work when -# cross-compiling. -ifeq ($(BR2_ARCH_IS_64):$(BR2_TOOLCHAIN_HAS_SYNC_8),y:y) -APR_CONF_OPTS += --enable-nonportable-atomics -APR_CONF_ENV += ap_cv_atomic_builtins=yes -else ifeq ($(BR2_ARCH_IS_64):$(BR2_TOOLCHAIN_HAS_SYNC_4),:y) +# Use non-portable atomics when available. We have to override +# ap_cv_atomic_builtins because the test used to check for atomic +# builtins uses AC_TRY_RUN, which doesn't work when cross-compiling. +ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_8),y) APR_CONF_OPTS += --enable-nonportable-atomics APR_CONF_ENV += ap_cv_atomic_builtins=yes else diff --git a/package/argparse/Config.in b/package/argparse/Config.in index d207b0482c..d02b191254 100644 --- a/package/argparse/Config.in +++ b/package/argparse/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_ARGPARSE subcommands and more. Argparse automatically generates usage, help and error messages. - https://github.com/mpeterv/argparse + https://github.com/luarocks/argparse diff --git a/package/argparse/argparse.hash b/package/argparse/argparse.hash index fa99609cc8..1b01e4b6f9 100644 --- a/package/argparse/argparse.hash +++ b/package/argparse/argparse.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 e4029f42d61cbdde1540e0a098a24b1fed0bc8a2803efe2a0d0d3e7f2f2f2c82 argparse-0.6.0-1.src.rock -sha256 c9b9a9667934d50f028a99b2617469db66663dc3b09d289b82e73e950b2b85eb argparse/LICENSE +sha256 47b3ca9e734971ba24ef26b0beff692ce6008f53aaf78c303f3d883648c96acb argparse-0.7.0-1.src.rock +sha256 9a918f21485b2a4529c901491d9101392f03586d65ad5b024a4445ebc1dc37b4 argparse-0.7.0/LICENSE diff --git a/package/argparse/argparse.mk b/package/argparse/argparse.mk index 04c46b5279..a9b7a2f719 100644 --- a/package/argparse/argparse.mk +++ b/package/argparse/argparse.mk @@ -4,8 +4,7 @@ # ################################################################################ -ARGPARSE_VERSION = 0.6.0-1 -ARGPARSE_SUBDIR = argparse +ARGPARSE_VERSION = 0.7.0-1 ARGPARSE_LICENSE = MIT ARGPARSE_LICENSE_FILES = $(ARGPARSE_SUBDIR)/LICENSE diff --git a/package/argus/argus.hash b/package/argus/argus.hash index 84edce61ec..b3196cce7d 100644 --- a/package/argus/argus.hash +++ b/package/argus/argus.hash @@ -1,2 +1,6 @@ -# From http://qosient.com/argus/src/argus-3.0.8.tar.gz.md5 -md5 84daae71a502e4f6d088c279de3aa36b argus-3.0.8.tar.gz +# From http://qosient.com/argus/src/argus-3.0.8.2.tar.gz.md5 +md5 eaf5f5ec66569e556392802a70ef9ca5 argus-3.0.8.2.tar.gz + +# Locally computed +sha256 ca4e3bd5b9d4a8ff7c01cc96d1bffd46dbd6321237ec94c52f8badd51032eeff argus-3.0.8.2.tar.gz +sha256 c68221f7207486bfce863fada4ba9b2aaf4adc9e1c672f965ae98e88143e5f16 README diff --git a/package/argus/argus.mk b/package/argus/argus.mk index 941f439fc6..0441df49ea 100644 --- a/package/argus/argus.mk +++ b/package/argus/argus.mk @@ -4,7 +4,7 @@ # ################################################################################ -ARGUS_VERSION = 3.0.8 +ARGUS_VERSION = 3.0.8.2 ARGUS_SITE = http://qosient.com/argus/src ARGUS_DEPENDENCIES = libpcap ARGUS_CONF_ENV = arg_cv_sys_errlist=yes diff --git a/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.hash b/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.hash new file mode 100644 index 0000000000..b18e56c151 --- /dev/null +++ b/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ac952d89ae0fc3543e81099e7d34917efc621f5def112eee843fd1ce755eca8c gcc-arm-9.2-2019.12-x86_64-arm-none-eabi.tar.xz diff --git a/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.mk b/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.mk new file mode 100644 index 0000000000..d7088892ca --- /dev/null +++ b/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# arm-gnu-a-toolchain +# +################################################################################ + +ARM_GNU_A_TOOLCHAIN_VERSION = 9.2-2019.12 +ARM_GNU_A_TOOLCHAIN_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/$(ARM_GNU_A_TOOLCHAIN_VERSION)/binrel +ARM_GNU_A_TOOLCHAIN_SOURCE = gcc-arm-$(ARM_GNU_A_TOOLCHAIN_VERSION)-x86_64-arm-none-eabi.tar.xz +ARM_GNU_A_TOOLCHAIN_LICENSE = GPL-3.0+ + +HOST_ARM_GNU_A_TOOLCHAIN_INSTALL_DIR = $(HOST_DIR)/opt/gcc-arm-none-eabi + +define HOST_ARM_GNU_A_TOOLCHAIN_INSTALL_CMDS + rm -rf $(HOST_ARM_GNU_A_TOOLCHAIN_INSTALL_DIR) + mkdir -p $(HOST_ARM_GNU_A_TOOLCHAIN_INSTALL_DIR) + cp -rf $(@D)/* $(HOST_ARM_GNU_A_TOOLCHAIN_INSTALL_DIR)/ + + mkdir -p $(HOST_DIR)/bin + cd $(HOST_DIR)/bin && \ + for i in ../opt/gcc-arm-none-eabi/bin/*; do \ + ln -sf $$i; \ + done +endef + +$(eval $(host-generic-package)) diff --git a/package/armadillo/armadillo.hash b/package/armadillo/armadillo.hash index 6b3c4a855f..aa21570803 100644 --- a/package/armadillo/armadillo.hash +++ b/package/armadillo/armadillo.hash @@ -1,7 +1,7 @@ # From http://sourceforge.net/projects/arma/files/?source=navbar -md5 5ef71763bd429a3d481499878351f3be armadillo-7.900.1.tar.xz -sha1 8118faf1c6a7a39c55a1103a1f90e85e613cc377 armadillo-7.900.1.tar.xz +md5 12c3b63c301d414659d7592ff58a71cb armadillo-9.850.1.tar.xz +sha1 0a2d3ef140fd8587867def7359fe45f9df4a925a armadillo-9.850.1.tar.xz # Locally computed: -sha256 33eec7013990b5477ccc5ad3abc68bc2326c7a7a2790014d625cfcf37c0e07d3 armadillo-7.900.1.tar.xz +sha256 d4c389b9597a5731500ad7a2656c11a6031757aaaadbcafdea5cc8ac0fd2c01f armadillo-9.850.1.tar.xz # License files, locally calculated -sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 LICENSE.txt diff --git a/package/armadillo/armadillo.mk b/package/armadillo/armadillo.mk index b5fe403a7a..f693d8c946 100644 --- a/package/armadillo/armadillo.mk +++ b/package/armadillo/armadillo.mk @@ -4,12 +4,14 @@ # ################################################################################ -ARMADILLO_VERSION = 7.900.1 +ARMADILLO_VERSION = 9.850.1 ARMADILLO_SOURCE = armadillo-$(ARMADILLO_VERSION).tar.xz ARMADILLO_SITE = https://downloads.sourceforge.net/project/arma ARMADILLO_DEPENDENCIES = clapack ARMADILLO_INSTALL_STAGING = YES -ARMADILLO_LICENSE = MPL-2.0 +ARMADILLO_LICENSE = Apache-2.0 ARMADILLO_LICENSE_FILES = LICENSE.txt +ARMADILLO_CONF_OPTS = -DDETECT_HDF5=false + $(eval $(cmake-package)) diff --git a/package/arp-scan/0001-configure-try-linking-to-detect-stack-protector-supp.patch b/package/arp-scan/0001-configure-try-linking-to-detect-stack-protector-supp.patch deleted file mode 100644 index 8eb9d6eff4..0000000000 --- a/package/arp-scan/0001-configure-try-linking-to-detect-stack-protector-supp.patch +++ /dev/null @@ -1,39 +0,0 @@ -From f406041b58eadc716d6227408d3af553d566ffeb Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Tue, 4 Apr 2017 17:31:29 +0200 -Subject: [PATCH] configure: try linking to detect stack-protector support - -Even if gcc accepts the -fstack-protector argument, it is possible that -the libssp support library is missing. Detect this by linking instead -of just compiling. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - acinclude.m4 | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/acinclude.m4 b/acinclude.m4 -index 3c84118..4725154 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -243,7 +243,7 @@ AC_DEFUN([GCC_STACK_PROTECT_CC],[ - AC_MSG_CHECKING([whether ${CC} accepts -fstack-protector]) - ssp_old_cflags="$CFLAGS" - CFLAGS="$CFLAGS -fstack-protector" -- AC_TRY_COMPILE(,,, ssp_cc=no) -+ AC_TRY_LINK(,,, ssp_cc=no) - echo $ssp_cc - if test "X$ssp_cc" = "Xno"; then - CFLAGS="$ssp_old_cflags" -@@ -259,7 +259,7 @@ AC_DEFUN([GCC_STACK_PROTECT_CXX],[ - AC_MSG_CHECKING([whether ${CXX} accepts -fstack-protector]) - ssp_old_cxxflags="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -fstack-protector" -- AC_TRY_COMPILE(,,, ssp_cxx=no) -+ AC_TRY_LINK(,,, ssp_cxx=no) - echo $ssp_cxx - if test "X$ssp_cxx" = "Xno"; then - CXXFLAGS="$ssp_old_cxxflags" --- -2.11.0 - diff --git a/package/arp-scan/arp-scan.hash b/package/arp-scan/arp-scan.hash index 4b2ddf1816..562deb8ff0 100644 --- a/package/arp-scan/arp-scan.hash +++ b/package/arp-scan/arp-scan.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 ce908ac71c48e85dddf6dd4fe5151d13c7528b1f49717a98b2a2535bd797d892 arp-scan-1.9.tar.gz +sha256 e03c36e4933c655bd0e4a841272554a347cd0136faf42c4a6564059e0761c039 arp-scan-1.9.7.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/arp-scan/arp-scan.mk b/package/arp-scan/arp-scan.mk index b46e941d10..cc1efe84a7 100644 --- a/package/arp-scan/arp-scan.mk +++ b/package/arp-scan/arp-scan.mk @@ -4,13 +4,11 @@ # ################################################################################ -ARP_SCAN_VERSION = 1.9 -ARP_SCAN_SITE = https://github.com/royhills/arp-scan/releases/download/$(ARP_SCAN_VERSION) +ARP_SCAN_VERSION = 1.9.7 +ARP_SCAN_SITE = $(call github,royhills,arp-scan,$(ARP_SCAN_VERSION)) ARP_SCAN_LICENSE = GPL-3.0+ ARP_SCAN_LICENSE_FILES = COPYING ARP_SCAN_DEPENDENCIES = libpcap - -# 0001-configure-try-linking-to-detect-stack-protector-supp.patch touches acinclude.m4 ARP_SCAN_AUTORECONF = YES ifeq ($(BR2_STATIC_LIBS),y) diff --git a/package/arptables/0004-Fix-musl-build-issue.patch b/package/arptables/0001-Fix-musl-build-issue.patch similarity index 100% rename from package/arptables/0004-Fix-musl-build-issue.patch rename to package/arptables/0001-Fix-musl-build-issue.patch diff --git a/package/arptables/0001-arptables-disable-dlfcn.h-include.patch b/package/arptables/0001-arptables-disable-dlfcn.h-include.patch deleted file mode 100644 index a5d56d22a6..0000000000 --- a/package/arptables/0001-arptables-disable-dlfcn.h-include.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 948a96d710f377fb0ed8d78c7fb85b299c80ef13 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Sat, 8 Nov 2014 10:12:54 -0300 -Subject: [PATCH] arptables: disable dlfcn.h include - -The relevant code is disabled in libarptc_incl.c so it's not required -and breaks the ability to build it in a pure-static toolchain. - -Status: sent upstream. - -Signed-off-by: Gustavo Zacarias ---- - arptables.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/arptables.c b/arptables.c -index 64ac3aa..fe270bc 100644 ---- a/arptables.c -+++ b/arptables.c -@@ -35,7 +35,9 @@ - #include - #include - #include -+#if 0 - #include -+#endif - #include - #include - #include --- -2.0.4 - diff --git a/package/arptables/0002-src-Use-stdint-types.patch b/package/arptables/0002-src-Use-stdint-types.patch deleted file mode 100644 index 8a85e705d1..0000000000 --- a/package/arptables/0002-src-Use-stdint-types.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 24957c135eaacd718f3c788285de33d64316b32e Mon Sep 17 00:00:00 2001 -From: Felix Janda -Date: Sat, 16 May 2015 10:31:24 +0200 -Subject: [PATCH 1/2] src: Use stdint types - -Backport of upstream commit 047f37b1d5d865084a435fd7594b8c5c332ccb8d - -Please note that the backported patch does not include two changes -to arptables.h from the upstream - these modified lines added in commit -dbbe9f7de36aa3c7dd61dc89092c03f7902e474e which was committed after -the 0.0.4 release. - -Upstream-status: backport -Signed-off-by: Felix Janda -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Brendan Heading ---- - arptables.c | 8 ++++---- - include/arptables.h | 3 ++- - include/libarptc/libarptc.h | 7 ++++--- - libarptc/libarptc.c | 4 ++-- - libarptc/libarptc_incl.c | 2 +- - 5 files changed, 13 insertions(+), 11 deletions(-) - -diff --git a/arptables.c b/arptables.c -index 5535ab2..6d1377f 100644 ---- a/arptables.c -+++ b/arptables.c -@@ -230,7 +230,7 @@ extern void dump_entries(const arptc_handle_t handle); - /etc/protocols */ - struct pprot { - char *name; -- u_int8_t num; -+ uint8_t num; - }; - - /* Primitive headers... */ -@@ -925,7 +925,7 @@ mask_to_dotted(const struct in_addr *mask) - { - int i; - static char buf[20]; -- u_int32_t maskaddr, bits; -+ uint32_t maskaddr, bits; - - maskaddr = ntohl(mask->s_addr); - -@@ -967,7 +967,7 @@ string_to_number(const char *s, unsigned int min, unsigned int max, - } - - static void --set_option(unsigned int *options, unsigned int option, u_int16_t *invflg, -+set_option(unsigned int *options, unsigned int option, uint16_t *invflg, - int invert) - { - if (*options & option) -@@ -1107,7 +1107,7 @@ register_target(struct arptables_target *me) - } - - static void --print_num(u_int64_t number, unsigned int format) -+print_num(uint64_t number, unsigned int format) - { - if (format & FMT_KILOMEGAGIGA) { - if (number > 99999) { -diff --git a/include/arptables.h b/include/arptables.h -index 820b664..e6a6ba6 100644 ---- a/include/arptables.h -+++ b/include/arptables.h -@@ -1,6 +1,7 @@ - #ifndef _ARPTABLES_USER_H - #define _ARPTABLES_USER_H - -+#include - #include "arptables_common.h" - #include "libarptc/libarptc.h" - -@@ -126,7 +127,7 @@ extern char *mask_to_dotted(const struct in_addr *mask); - - extern void parse_hostnetworkmask(const char *name, struct in_addr **addrpp, - struct in_addr *maskp, unsigned int *naddrs); --extern u_int16_t parse_protocol(const char *s); -+extern uint16_t parse_protocol(const char *s); - - extern int do_command(int argc, char *argv[], char **table, - arptc_handle_t *handle); -diff --git a/include/libarptc/libarptc.h b/include/libarptc/libarptc.h -index e4f1175..76fbfab 100644 ---- a/include/libarptc/libarptc.h -+++ b/include/libarptc/libarptc.h -@@ -6,9 +6,10 @@ - #include - - #ifndef ARPT_MIN_ALIGN --/* arpt_entry has pointers and u_int64_t's in it, so if you align to -- it, you'll also align to any crazy matches and targets someone -- might write */ -+/* arpt_entry has pointers and uint64_t's in it, so if you align to -+ * it, you'll also align to any crazy matches and targets someone -+ * might write. -+ */ - #define ARPT_MIN_ALIGN (__alignof__(struct arpt_entry)) - #endif - -diff --git a/libarptc/libarptc.c b/libarptc/libarptc.c -index 2dcaaef..701bae0 100644 ---- a/libarptc/libarptc.c -+++ b/libarptc/libarptc.c -@@ -256,8 +256,8 @@ unconditional(const struct arpt_arp *arp) - { - unsigned int i; - -- for (i = 0; i < sizeof(*arp)/sizeof(u_int32_t); i++) -- if (((u_int32_t *)arp)[i]) -+ for (i = 0; i < sizeof(*arp) / sizeof(uint32_t); i++) -+ if (((uint32_t *)arp)[i]) - return 0; - - return 1; -diff --git a/libarptc/libarptc_incl.c b/libarptc/libarptc_incl.c -index 2fa3d43..b41fcb2 100644 ---- a/libarptc/libarptc_incl.c -+++ b/libarptc/libarptc_incl.c -@@ -1706,7 +1706,7 @@ TC_COMMIT(TC_HANDLE_T *handle) - /* Kernel will think that pointer should be 64-bits, and get - padding. So we accomodate here (assumption: alignment of - `counters' is on 64-bit boundary). */ -- u_int64_t *kernptr = (u_int64_t *)&newcounters->counters; -+ uint64_t *kernptr = (uint64_t *)&newcounters->counters; - if ((unsigned long)&newcounters->counters % 8 != 0) { - fprintf(stderr, - "counters alignment incorrect! Mail rusty!\n"); --- -2.4.3 - diff --git a/package/arptables/0003-src-Remove-support-for-libc5.patch b/package/arptables/0003-src-Remove-support-for-libc5.patch deleted file mode 100644 index 15e893dd0c..0000000000 --- a/package/arptables/0003-src-Remove-support-for-libc5.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 5f1379ff68bfedb56309527bee266a591b27a19e Mon Sep 17 00:00:00 2001 -From: Felix Janda -Date: Sat, 16 May 2015 10:31:41 +0200 -Subject: [PATCH 2/2] src: Remove support for libc5 - -Fixes compilation with musl libc - -Backport of upstream commit f4ab8f63f11a72f14687a6646d04ae1bae3fa45f -Upstream status: backport -Signed-off-by: Felix Janda -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Brendan Heading ---- - include/libarptc/arpt_kernel_headers.h | 12 ------------ - libarptc/libarptc.c | 4 ---- - 2 files changed, 16 deletions(-) - -diff --git a/include/libarptc/arpt_kernel_headers.h b/include/libarptc/arpt_kernel_headers.h -index 442cc54..140e999 100644 ---- a/include/libarptc/arpt_kernel_headers.h -+++ b/include/libarptc/arpt_kernel_headers.h -@@ -5,7 +5,6 @@ - - #include - --#if defined(__GLIBC__) && __GLIBC__ == 2 - #include - #include - #include -@@ -14,16 +13,5 @@ - #include - #include - #include --#else --#include --#include --#include --#include --#include --#include --#include --#include --#include --#endif - - #endif -diff --git a/libarptc/libarptc.c b/libarptc/libarptc.c -index 701bae0..9c5a5b0 100644 ---- a/libarptc/libarptc.c -+++ b/libarptc/libarptc.c -@@ -23,10 +23,6 @@ - #define inline - #endif - --#if !defined(__GLIBC__) || (__GLIBC__ < 2) --typedef unsigned int socklen_t; --#endif -- - #include "libarptc/libarptc.h" - - #define IP_VERSION 4 --- -2.4.3 - diff --git a/package/arptables/Config.in b/package/arptables/Config.in index 873e791e81..aeb7250a72 100644 --- a/package/arptables/Config.in +++ b/package/arptables/Config.in @@ -1,7 +1,12 @@ config BR2_PACKAGE_ARPTABLES - bool "arptables" + bool "arptables-legacy" depends on BR2_USE_MMU # needs fork() help - Tool to set up, maintain, and inspect the tables of ARP rules. + Legacy tool to set up, maintain, and inspect the tables of ARP + rules. - http://ebtables.sourceforge.net + A more uptodate client of the arptables tool is provided in + the iptables package. The new tool was formerly known as + arptables-compat. + + http://git.netfilter.org/arptables diff --git a/package/arptables/arptables.hash b/package/arptables/arptables.hash index 95b9997569..8366cea412 100644 --- a/package/arptables/arptables.hash +++ b/package/arptables/arptables.hash @@ -1,2 +1,5 @@ -# Locally calculated -sha256 277985e29ecd93bd759a58242cad0e02ba9d4a6e1b7795235e3b507661bc0049 arptables-v0.0.4.tar.gz +# From http://ftp.netfilter.org/pub/arptables/arptables-0.0.5.tar.gz.sha256sum +sha256 4f9a0656ce5c90868f551cd4deeb2d04f33899667e1fb2818b64e432fe8f629c arptables-0.0.5.tar.gz + +# Hash for license file +sha256 ebdb8ae564c952792017ec680e2edd30443642216eb9f8a3d8fa166c0cb628c1 COPYING diff --git a/package/arptables/arptables.mk b/package/arptables/arptables.mk index 257b636d62..320a33bb3c 100644 --- a/package/arptables/arptables.mk +++ b/package/arptables/arptables.mk @@ -4,10 +4,10 @@ # ################################################################################ -ARPTABLES_VERSION = 0.0.4 -ARPTABLES_SOURCE = arptables-v$(ARPTABLES_VERSION).tar.gz -ARPTABLES_SITE = http://downloads.sourceforge.net/project/ebtables/arptables/arptables-v$(ARPTABLES_VERSION) +ARPTABLES_VERSION = 0.0.5 +ARPTABLES_SITE = http://ftp.netfilter.org/pub/arptables ARPTABLES_LICENSE = GPL-2.0+ +ARPTABLES_LICENSE_FILES = COPYING define ARPTABLES_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ @@ -15,7 +15,8 @@ define ARPTABLES_BUILD_CMDS endef define ARPTABLES_INSTALL_TARGET_CMDS - $(INSTALL) -m 755 -D $(@D)/arptables $(TARGET_DIR)/usr/sbin/arptables + $(INSTALL) -m 755 -D $(@D)/arptables-legacy \ + $(TARGET_DIR)/usr/sbin/arptables-legacy endef $(eval $(generic-package)) diff --git a/package/ascii-invaders/Config.in b/package/ascii-invaders/Config.in new file mode 100644 index 0000000000..f02ab74994 --- /dev/null +++ b/package/ascii-invaders/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_ASCII_INVADERS + bool "ascii_invaders" + select BR2_PACKAGE_NCURSES + help + An ASCII-art game like Space Invaders using ncurses. + + https://github.com/macdice/ascii-invaders diff --git a/package/ascii-invaders/ascii-invaders.hash b/package/ascii-invaders/ascii-invaders.hash new file mode 100644 index 0000000000..f08fc2a7da --- /dev/null +++ b/package/ascii-invaders/ascii-invaders.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha512 326708ffc2c277e04575920c58f6a267e0bf46f8d2a3dbca9b5c317fb01006d4f673ab35f92f292549cc52dbee4400a84c85478eb81b9bd7703689a705547bc7 ascii-invaders-1.0.1.tar.gz + +# Hash for license file +sha512 1e455684996d7733b2f1ccd4606d034694d16ceff6ede6125d7f1537d20dabe05976cca4cef5cbf6c31352cbd62a515fd8e34a2ffb54dae1181c1116b24c6cf7 LICENSE diff --git a/package/ascii-invaders/ascii-invaders.mk b/package/ascii-invaders/ascii-invaders.mk new file mode 100644 index 0000000000..a5a25d7abe --- /dev/null +++ b/package/ascii-invaders/ascii-invaders.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# ASCII-Invaders +# +################################################################################ + +ASCII_INVADERS_VERSION = 1.0.1 +ASCII_INVADERS_SITE = $(call github,macdice,ascii-invaders,v$(ASCII_INVADERS_VERSION)) +ASCII_INVADERS_DEPENDENCIES = ncurses +ASCII_INVADERS_LICENSE = GPL-2.0+ +ASCII_INVADERS_LICENSE_FILES = LICENSE + +# For compiling statically, libraries must be specified after the object file +define ASCII_INVADERS_POST_EXTRACT_FIXUP + sed -i 's/\$$(LIBS) invaders.o/invaders.o \$$(LIBS)/' $(@D)/Makefile +endef +ASCII_INVADERS_POST_EXTRACT_HOOKS += ASCII_INVADERS_POST_EXTRACT_FIXUP + +define ASCII_INVADERS_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) +endef + +define ASCII_INVADERS_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/ascii_invaders $(TARGET_DIR)/usr/bin/ascii_invaders +endef + +$(eval $(generic-package)) diff --git a/package/assimp/0001-Fix-FBXConverter-use-proper-64-bit-constant.patch b/package/assimp/0001-Fix-FBXConverter-use-proper-64-bit-constant.patch index bfcbeb55e3..1b23d66364 100644 --- a/package/assimp/0001-Fix-FBXConverter-use-proper-64-bit-constant.patch +++ b/package/assimp/0001-Fix-FBXConverter-use-proper-64-bit-constant.patch @@ -12,15 +12,17 @@ Use proper 64-bit constant for CONVERT_FBX_TIME(time) conversion, fixes: code/FBXConverter.cpp:2878: error: integer constant is too large for 'long' type code/FBXConverter.cpp:2888: error: integer constant is too large for 'long' type +Signed-off-by: Peter Seiderer +[Rebased on 5.0.1] Signed-off-by: Peter Seiderer --- - code/FBXConverter.cpp | 2 +- + code/FBX/FBXConverter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/code/FBXConverter.cpp b/code/FBXConverter.cpp +diff --git a/code/FBX/FBXConverter.cpp b/code/FBXConverter.cpp index e0c6b9c..b1e9a71 100644 ---- a/code/FBXConverter.cpp -+++ b/code/FBXConverter.cpp +--- a/code/FBX/FBXConverter.cpp ++++ b/code/FBX/FBXConverter.cpp @@ -67,7 +67,7 @@ namespace FBX { #define MAGIC_NODE_TAG "_$AssimpFbx$" diff --git a/package/assimp/0002-contrib-zip-fix-ssize_t-typedef-mismatch-for-musl-co.patch b/package/assimp/0002-contrib-zip-fix-ssize_t-typedef-mismatch-for-musl-co.patch new file mode 100644 index 0000000000..a9a30c4834 --- /dev/null +++ b/package/assimp/0002-contrib-zip-fix-ssize_t-typedef-mismatch-for-musl-co.patch @@ -0,0 +1,50 @@ +From 3fef857a570d1ef2c96401358fe8e239625b48c9 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Fri, 10 Apr 2020 18:11:50 +0200 +Subject: [PATCH] contrib/zip: fix ssize_t typedef mismatch for musl compile + +Musl uses defines __DEFINED_ssize_t to indicate ssize_t +availability. So backport this part of upstream commit [1] +to fixl musl compile. + +https://github.com/assimp/assimp/commit/f78446b14aff46db2ef27d062a275b6a01fd68b1 + +Signed-off-by: Peter Seiderer +--- + contrib/zip/src/zip.h | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/contrib/zip/src/zip.h b/contrib/zip/src/zip.h +index 5f39df50..4672eb3e 100644 +--- a/contrib/zip/src/zip.h ++++ b/contrib/zip/src/zip.h +@@ -20,8 +20,9 @@ extern "C" { + #endif + + #if !defined(_SSIZE_T_DEFINED) && !defined(_SSIZE_T_DEFINED_) && \ +- !defined(_SSIZE_T) && !defined(_SSIZE_T_) && !defined(__ssize_t_defined) +-#define _SSIZE_T ++ !defined(__DEFINED_ssize_t) && !defined(__ssize_t_defined) && \ ++ !defined(_SSIZE_T) && !defined(_SSIZE_T_) ++ + // 64-bit Windows is the only mainstream platform + // where sizeof(long) != sizeof(void*) + #ifdef _WIN64 +@@ -29,6 +30,14 @@ typedef long long ssize_t; /* byte count or error */ + #else + typedef long ssize_t; /* byte count or error */ + #endif ++ ++#define _SSIZE_T_DEFINED ++#define _SSIZE_T_DEFINED_ ++#define __DEFINED_ssize_t ++#define __ssize_t_defined ++#define _SSIZE_T ++#define _SSIZE_T_ ++ + #endif + + #ifndef MAX_PATH +-- +2.26.0 + diff --git a/package/assimp/0002-fix-compilation-on-BigEndian.patch b/package/assimp/0002-fix-compilation-on-BigEndian.patch deleted file mode 100644 index 93cba5d120..0000000000 --- a/package/assimp/0002-fix-compilation-on-BigEndian.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8457f3eff89dae35d43f679a66842ceedfd08808 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= - -Date: Fri, 13 Nov 2015 22:33:20 +0100 -Subject: [PATCH] fix compilation on BigEndian - -cannot pass a function by reference where an lvalue is expected -(only applies to bigendian, where a macro expands to a byteswap function) - -Closes https://github.com/assimp/assimp/issues/613 - -Taken from [1] for buildroot assimp package compile fix. - -[1] https://github.com/assimp/assimp/commit/756cfd4f74b866e3183caede69daa8c105b73bab.patch - -Signed-off-by: Peter Seiderer ---- - code/Bitmap.cpp | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/code/Bitmap.cpp b/code/Bitmap.cpp -index 13ec372..829fd02 100644 ---- a/code/Bitmap.cpp -+++ b/code/Bitmap.cpp -@@ -84,7 +84,12 @@ namespace Assimp { - - template - inline std::size_t Copy(uint8_t* data, T& field) { -+#ifdef AI_BUILD_BIG_ENDIAN -+ T field_swapped=AI_BE(field); -+ std::memcpy(data, &field_swapped, sizeof(field)); return sizeof(field); -+#else - std::memcpy(data, &AI_BE(field), sizeof(field)); return sizeof(field); -+#endif - } - - void Bitmap::WriteHeader(Header& header, IOStream* file) { --- -2.1.4 - diff --git a/package/assimp/0003-contrib-zlib-disable-dynamic-library-building.patch b/package/assimp/0003-contrib-zlib-disable-dynamic-library-building.patch new file mode 100644 index 0000000000..8661311be5 --- /dev/null +++ b/package/assimp/0003-contrib-zlib-disable-dynamic-library-building.patch @@ -0,0 +1,31 @@ +From 2b8684aded0c383be64bac0fa59e39870252963f Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sun, 12 Apr 2020 18:19:13 +0200 +Subject: [PATCH] contrib/zlib: disable dynamic library building + +Fixes compile failure for static only toolchains (and assimp +links against the static one). + +Signed-off-by: Peter Seiderer +--- + contrib/zlib/CMakeLists.txt | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/contrib/zlib/CMakeLists.txt b/contrib/zlib/CMakeLists.txt +index 9d1fcc94..78346233 100644 +--- a/contrib/zlib/CMakeLists.txt ++++ b/contrib/zlib/CMakeLists.txt +@@ -195,10 +195,7 @@ if(MINGW) + set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) + endif(MINGW) + +-add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) + add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) +-set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) +-set_target_properties(zlib PROPERTIES SOVERSION 1) + + INSTALL( TARGETS zlibstatic + LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR} +-- +2.26.0 + diff --git a/package/assimp/Config.in b/package/assimp/Config.in index 41c1bb348b..9bdc054909 100644 --- a/package/assimp/Config.in +++ b/package/assimp/Config.in @@ -1,11 +1,7 @@ config BR2_PACKAGE_ASSIMP bool "assimp" - # All gcc versions affected by - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71124, that - # cause an infinite loop in gcc when building this package. - depends on !BR2_microblaze depends on BR2_INSTALL_LIBSTDCPP - select BR2_PACKAGE_ZLIB + depends on BR2_USE_WCHAR help Open Asset Import Library (assimp) is a portable Open Source library to import various well-known 3D model formats in a @@ -15,6 +11,5 @@ config BR2_PACKAGE_ASSIMP http://www.assimp.org -comment "assimp needs a toolchain w/ C++" - depends on !BR2_microblaze - depends on !BR2_INSTALL_LIBSTDCPP +comment "assimp needs a toolchain w/ C++, wchar" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR diff --git a/package/assimp/assimp.hash b/package/assimp/assimp.hash index bee26fb4f3..df5daa79c9 100644 --- a/package/assimp/assimp.hash +++ b/package/assimp/assimp.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 187f825c563e84b1b17527a4da0351aa3d575dfd696a9d204ae4bb19ee7df94a assimp-v3.2.tar.gz +sha256 11310ec1f2ad2cd46b95ba88faca8f7aaa1efe9aa12605c55e3de2b977b3dbfc assimp-5.0.1.tar.gz +sha256 a26ccc3dbf2f58ea99c100945a8a126fa0f9f4d7fd2b49aa8bdb8e09355864d8 LICENSE diff --git a/package/assimp/assimp.mk b/package/assimp/assimp.mk index 4d447487ba..4aeb2963a9 100644 --- a/package/assimp/assimp.mk +++ b/package/assimp/assimp.mk @@ -4,11 +4,10 @@ # ################################################################################ -ASSIMP_VERSION = v3.2 -ASSIMP_SITE = $(call github,assimp,assimp,$(ASSIMP_VERSION)) +ASSIMP_VERSION = 5.0.1 +ASSIMP_SITE = $(call github,assimp,assimp,v$(ASSIMP_VERSION)) ASSIMP_LICENSE = BSD-3-Clause ASSIMP_LICENSE_FILES = LICENSE -ASSIMP_DEPENDENCIES = zlib ASSIMP_INSTALL_STAGING = YES # relocation truncated to fit: R_68K_GOT16O @@ -19,12 +18,16 @@ endif # workaround SuperH compiler failure when static linking (i.e -fPIC is # not passed) in gcc versions 5.x or older. The -Os optimization level # causes a "unable to find a register to spill in class -# ‘GENERAL_REGS’" error. -O2 works fine. +# 'GENERAL_REGS'" error. -O2 works fine. ifeq ($(BR2_sh):$(BR2_STATIC_LIBS):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:y:) ASSIMP_CXXFLAGS += -O2 endif -ASSIMP_CONF_OPTS += -DASSIMP_BUILD_TESTS=OFF \ +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +ASSIMP_CXXFLAGS += -O0 +endif + +ASSIMP_CONF_OPTS += -DASSIMP_BUILD_ZLIB=ON -DASSIMP_BUILD_TESTS=OFF \ -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(ASSIMP_CXXFLAGS)" $(eval $(cmake-package)) diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash index d8cc56695c..50457ba8f5 100644 --- a/package/asterisk/asterisk.hash +++ b/package/asterisk/asterisk.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 c022e9d5410ed94ab1aa51ba1e2a8b196f0dfa15bcd0bd545d06efee4c786578 asterisk-16.2.1.tar.gz +sha256 f0ba5e3c4ef46f6657dd3a7167190f9b6cd6bbf4af09ecc291a9d5868b477609 asterisk-16.10.0.tar.gz # sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases # sha256 locally computed @@ -11,5 +11,5 @@ sha256 449fb810d16502c3052fedf02f7e77b36206ac5a145f3dacf4177843a2fcb538 asteri # License files, locally computed sha256 82af40ed7f49c08685360811993d9396320842f021df828801d733e8fdc0312f COPYING sha256 ac5571f00e558e3b7c9b3f13f421b874cc12cf4250c4f70094c71544cf486312 main/sha1.c -sha256 309462c10e84f46bda22032ebe6359f3e9e3e23afcf1fc2aaed5b59daf800d84 codecs/speex/speex_resampler.h +sha256 6215e3ed73c3982a5c6701127d681ec0b9f1121ac78a28805bd93f93c3eb84c0 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 65f8d3fdf9..97e97c14c8 100644 --- a/package/asterisk/asterisk.mk +++ b/package/asterisk/asterisk.mk @@ -4,7 +4,7 @@ # ################################################################################ -ASTERISK_VERSION = 16.2.1 +ASTERISK_VERSION = 16.10.0 # 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)) @@ -136,8 +136,8 @@ else ASTERISK_CONF_OPTS += --without-asound endif -ifeq ($(BR2_PACKAGE_BLUEZ_UTILS),y) -ASTERISK_DEPENDENCIES += bluez_utils +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS),y) +ASTERISK_DEPENDENCIES += bluez5_utils ASTERISK_CONF_OPTS += --with-bluetooth else ASTERISK_CONF_OPTS += --without-bluetooth diff --git a/package/at-spi2-core/0001-Fix-meson.build-for-meson-0.50.0.patch b/package/at-spi2-core/0001-Fix-meson.build-for-meson-0.50.0.patch new file mode 100644 index 0000000000..154d7010d3 --- /dev/null +++ b/package/at-spi2-core/0001-Fix-meson.build-for-meson-0.50.0.patch @@ -0,0 +1,35 @@ +From 3b154996a27ede1c94cbc590e2db3858389d18c2 Mon Sep 17 00:00:00 2001 +From: Tobias Stoeckmann +Date: Tue, 12 Mar 2019 11:46:24 +0100 +Subject: [PATCH] Fix meson.build for meson 0.50.0. + +Since meson 0.50.0 it is not possible anymore to specify an +absolute directory for subdir. To keep current functionality, +use install_dir instead. + +atspi/meson.build:60:0: ERROR: Subdir keyword must not be an absolute path. + +Signed-off-by: Tobias Stoeckmann + +Upstream: https://github.com/GNOME/at-spi2-core/commit/44a812ea51223d82f21a098a2d45fcc5c329ce7a.patch +Signed-off-by: Peter Seiderer +--- + atspi/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/atspi/meson.build b/atspi/meson.build +index 17bfc45..2e44ffd 100644 +--- a/atspi/meson.build ++++ b/atspi/meson.build +@@ -57,7 +57,7 @@ atspi_headers = [ + + atspi_includedir = join_paths(get_option('prefix'), get_option('includedir'), 'at-spi-2.0', 'atspi') + +-install_headers(atspi_headers, subdir: atspi_includedir) ++install_headers(atspi_headers, install_dir: atspi_includedir) + + atspi_enums = gnome.mkenums('atspi-enum-types', + sources: [ 'atspi-constants.h', 'atspi-types.h' ], +-- +2.21.0 + diff --git a/package/at-spi2-core/at-spi2-core.mk b/package/at-spi2-core/at-spi2-core.mk index 40b29bdb3f..3a5197eb03 100644 --- a/package/at-spi2-core/at-spi2-core.mk +++ b/package/at-spi2-core/at-spi2-core.mk @@ -11,7 +11,10 @@ AT_SPI2_CORE_SITE = http://ftp.gnome.org/pub/gnome/sources/at-spi2-core/$(AT_SPI AT_SPI2_CORE_LICENSE = LGPL-2.0+ AT_SPI2_CORE_LICENSE_FILES = COPYING AT_SPI2_CORE_INSTALL_STAGING = YES -AT_SPI2_CORE_DEPENDENCIES = host-pkgconf dbus libglib2 xlib_libXtst +AT_SPI2_CORE_DEPENDENCIES = host-pkgconf dbus libglib2 xlib_libXtst \ + $(TARGET_NLS_DEPENDENCIES) AT_SPI2_CORE_CONF_OPTS = -Ddbus_daemon=/usr/bin/dbus-daemon +AT_SPI2_CORE_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) + $(eval $(meson-package)) diff --git a/package/at/0002-Makefile.in-replace-IROOT-by-DESTDIR.patch b/package/at/0001-Makefile.in-replace-IROOT-by-DESTDIR.patch similarity index 100% rename from package/at/0002-Makefile.in-replace-IROOT-by-DESTDIR.patch rename to package/at/0001-Makefile.in-replace-IROOT-by-DESTDIR.patch diff --git a/package/at/0001-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch b/package/at/0001-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch deleted file mode 100644 index e4276ac208..0000000000 --- a/package/at/0001-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e12c96cccab550eda31cf7bb1dedddd3670ffe69 Mon Sep 17 00:00:00 2001 -From: Marc Kleine-Budde -Date: Tue, 1 Dec 2009 17:22:22 +0100 -Subject: [PATCH 2/5] configure.ac: convert AC_TRY_COMPILE -> AC_COMPILE_IFELSE - -Signed-off-by: Marc Kleine-Budde ---- - configure.ac | 10 +++++----- - 1 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 997a37f..cab80ed 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -40,11 +40,11 @@ case "$host" in - esac - - AC_MSG_CHECKING(__attribute__((noreturn))) --AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);], -- AC_MSG_RESULT(yes) -- AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1, -- [Define to 1 if compiler supports __attribute__((noreturn))]), -- AC_MSG_RESULT(no) -+AC_COMPILE_IFELSE( -+ [AC_LANG_PROGRAM([[]], [[void __attribute__((noreturn)) panic(void);]])], -+ [AC_MSG_RESULT(yes) -+ AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1, Define to 1 if compiler supports __attribute__((noreturn)))], -+ [AC_MSG_RESULT(no)] - ) - dnl Checks for libraries. - --- -1.6.5.3 - diff --git a/package/at/0003-Makefile.in-make-install-fix.patch b/package/at/0002-Makefile.in-make-install-fix.patch similarity index 100% rename from package/at/0003-Makefile.in-make-install-fix.patch rename to package/at/0002-Makefile.in-make-install-fix.patch diff --git a/package/at/0004-getloadavg.c-fix.patch b/package/at/0003-getloadavg.c-fix.patch similarity index 100% rename from package/at/0004-getloadavg.c-fix.patch rename to package/at/0003-getloadavg.c-fix.patch diff --git a/package/at/0004-Makefile-fix-parallel-build-failure.patch b/package/at/0004-Makefile-fix-parallel-build-failure.patch new file mode 100644 index 0000000000..6e3dc24ca4 --- /dev/null +++ b/package/at/0004-Makefile-fix-parallel-build-failure.patch @@ -0,0 +1,41 @@ +From 3ace0b57e2aacb784c01a3c7694c6c92461937ff Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Thu, 20 Feb 2020 22:00:11 +0100 +Subject: [PATCH] Makefile: fix parallel build failure + +At the moment parallel build fails due to 2 causes: +1) parsetime.l tries to include incomplete y.tab.h, since y.tab.h is the +result of yacc -d parsetime.y +2) when compiling y.tab.c, y.tab.c itself is not complete, since it is +the result of yacc -d parsetime.y + +So fix it by: +1) making parsetime.l to wait for y.tab.h to be created by yacc +2) waiting for y.tab.c and y.tab.h to be created before compile them + +Signed-off-by: Giulio Benetti +--- + Makefile.in | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/Makefile.in b/Makefile.in +index 4c11913..57c3a0c 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -83,6 +83,8 @@ y.tab.c y.tab.h: parsetime.y + lex.yy.c: parsetime.l + $(LEX) -i parsetime.l + ++parsetime.l: y.tab.h ++ + atd.service: atd.service.in + cat $< | sed -e 's![@]sbindir[@]!$(sbindir)!g' | sed -e 's![@]atjobdir[@]!$(atjobdir)!g' > $@ + +@@ -173,3 +175,4 @@ perm.o: perm.c config.h privs.h at.h + posixtm.o: posixtm.c posixtm.h + daemon.o: daemon.c config.h daemon.h privs.h + getloadavg.o: getloadavg.c config.h getloadavg.h ++y.tab.o: y.tab.c y.tab.h +-- +2.20.1 + diff --git a/package/at/0005-parsetime.l-include-config-h.patch b/package/at/0005-parsetime.l-include-config-h.patch deleted file mode 100644 index f4111ebf67..0000000000 --- a/package/at/0005-parsetime.l-include-config-h.patch +++ /dev/null @@ -1,16 +0,0 @@ -Make sure to include config.h so that NEEDS_* macros are properly -taken into account. This was a problem for NEEDS_YYWRAP, which was set -to 1 in config.h, but the corresponding code wasn't compiled in. - -Index: at-3.1.13/parsetime.l -=================================================================== ---- at-3.1.13.orig/parsetime.l -+++ at-3.1.13/parsetime.l -@@ -4,6 +4,7 @@ - #include - #include "y.tab.h" - #include "parsetime.h" -+#include "config.h" - - char *last_token = NULL; - char **my_argv; diff --git a/package/at/0006-remove-glibc-__isleap-assumption.patch b/package/at/0006-remove-glibc-__isleap-assumption.patch deleted file mode 100644 index 21522492c8..0000000000 --- a/package/at/0006-remove-glibc-__isleap-assumption.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 7f811d9c4ebc9444e613e251c31d6bf537a24dc1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 13 Apr 2015 16:35:30 -0700 -Subject: [PATCH] remove glibc assumption - -glibc time.h header has an undocumented __isleap macro -that we are using anf musl is missing it. -Since it is undocumented & does not appear -on any other libc, stop using it and just define the macro in -locally instead. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj -[patch from: http://patchwork.openembedded.org/patch/91893/ ] -Signed-off-by: "Yann E. MORIN" - ---- - parsetime.y | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/parsetime.y b/parsetime.y -index 7005e88..324e6d3 100644 ---- a/parsetime.y -+++ b/parsetime.y -@@ -8,6 +8,9 @@ - - #define YYDEBUG 1 - -+#define is_leap_year(y) \ -+ ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0)) -+ - struct tm exectm; - static int isgmt; - static int yearspec; -@@ -217,8 +220,8 @@ date : month_name day_number - mnum == 12) && dnum > 31) - || ((mnum == 4 || mnum == 6 || mnum == 9 || - mnum == 11) && dnum > 30) -- || (mnum == 2 && dnum > 29 && __isleap(ynum+1900)) -- || (mnum == 2 && dnum > 28 && !__isleap(ynum+1900)) -+ || (mnum == 2 && dnum > 29 && is_leap_year(ynum+1900)) -+ || (mnum == 2 && dnum > 28 && !is_leap_year(ynum+1900)) - ) - { - yyerror("Error in day of month"); -@@ -261,8 +264,8 @@ date : month_name day_number - mnum == 12) && dnum > 31) - || ((mnum == 4 || mnum == 6 || mnum == 9 || - mnum == 11) && dnum > 30) -- || (mnum == 2 && dnum > 29 && __isleap(ynum+1900)) -- || (mnum == 2 && dnum > 28 && !__isleap(ynum+1900)) -+ || (mnum == 2 && dnum > 29 && is_leap_year(ynum+1900)) -+ || (mnum == 2 && dnum > 28 && !is_leap_year(ynum+1900)) - ) - { - yyerror("Error in day of month"); --- -2.1.4 diff --git a/package/at/at.hash b/package/at/at.hash index 530b1257c1..e20c00b3cd 100644 --- a/package/at/at.hash +++ b/package/at/at.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 f5c7c8226fab0bc4e2d16a55e04d4026f3452db51fc5cbcc4bb5a3c79a79f7ef at-release_3.1.23.tar.gz +sha256 9ae5761a1fb897cda3a6f14439bed33cda33c0eedfcee6866e3d2ebad67fbd2f at-7c74fa1aece6bc6db351763dc012193d5d634b7e.tar.gz sha256 01dccc0975aa9ba1a9f83e7c5e04f16077353d3c72a0a759b8846ee7a5b2b616 Copyright sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING diff --git a/package/at/at.mk b/package/at/at.mk index 36aa8c7a42..dbf649c0be 100644 --- a/package/at/at.mk +++ b/package/at/at.mk @@ -4,12 +4,9 @@ # ################################################################################ -AT_VERSION = release/3.1.23 +AT_VERSION = 7c74fa1aece6bc6db351763dc012193d5d634b7e 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 AT_LICENSE = GPL-2.0+, GPL-3.0+, ISC diff --git a/package/atest/atest.hash b/package/atest/atest.hash index 78e3ff8ede..8384f31791 100644 --- a/package/atest/atest.hash +++ b/package/atest/atest.hash @@ -1,2 +1,3 @@ # Locally computed sha256 91da5a6d4d0b0a8d4bae156a40e91a6dccf62863bfa7acae948efbbd2b4154ca atest-895b0183a89c15f5e2305a6795bb1667753cd3f0.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/atest/atest.mk b/package/atest/atest.mk index 2effda5711..68def46cf9 100644 --- a/package/atest/atest.mk +++ b/package/atest/atest.mk @@ -12,10 +12,4 @@ ATEST_DEPENDENCIES = host-pkgconf libev alsa-lib # Fetched from Github, with no configure script ATEST_AUTORECONF = YES -# Autoreconf requires an existing m4 directory -define ATEST_PATCH_M4 - mkdir -p $(@D)/m4 -endef -ATEST_POST_PATCH_HOOKS += ATEST_PATCH_M4 - $(eval $(autotools-package)) diff --git a/package/atf/atf.hash b/package/atf/atf.hash index 78cd3c6828..49c235a636 100644 --- a/package/atf/atf.hash +++ b/package/atf/atf.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 92bc64180135eea8fe84c91c9f894e678767764f6dbc8482021d4dde09857505 atf-0.21.tar.gz +sha256 92bc64180135eea8fe84c91c9f894e678767764f6dbc8482021d4dde09857505 atf-0.21.tar.gz +sha256 2a15172ddf6386297734c9800c899e6e8dc16c5a03931dcf95a9ab321a24cfe4 COPYING diff --git a/package/atftp/atftp.hash b/package/atftp/atftp.hash index b7860c7681..3e5e783cff 100644 --- a/package/atftp/atftp.hash +++ b/package/atftp/atftp.hash @@ -1,2 +1,3 @@ # Locally computed -sha1 fc9e9f821dfd2f257b4a5c32b948ed60b4e31fd1 atftp-0.7.1.tar.gz +sha256 1ad080674e9f974217b3a703e7356c6c8446dc5e7b2014d0d06e1bfaa11b5041 atftp-0.7.2.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 LICENSE diff --git a/package/atftp/atftp.mk b/package/atftp/atftp.mk index e1c257cb8e..cbe05ba7e0 100644 --- a/package/atftp/atftp.mk +++ b/package/atftp/atftp.mk @@ -4,19 +4,19 @@ # ################################################################################ -ATFTP_VERSION = 0.7.1 +ATFTP_VERSION = 0.7.2 ATFTP_SITE = http://sourceforge.net/projects/atftp/files ATFTP_LICENSE = GPL-2.0+ ATFTP_LICENSE_FILES = LICENSE +# 0001-Makefile.am-link-against-libpthread-for-atftp.patch patches Makefile.am +ATFTP_AUTORECONF = YES ATFTP_CONF_OPTS = --disable-libwrap --disable-mtftp # For static we need to explicitly link against libpthread ATFTP_LIBS = -lpthread -# We use CPPFLAGS for -fgnu89-inline even though it's a compiler flag -# because atftp discards configure environment CFLAGS. -fgnu89-inline -# is needed to avoid multiple definition error with gcc 5. See +# -fgnu89-inline is needed to avoid multiple definition error with gcc 5. See # https://gcc.gnu.org/gcc-5/porting_to.html. ATFTP_CONF_ENV = LIBS="$(ATFTP_LIBS)" \ - CPPFLAGS="$(TARGET_CPPFLAGS) -fgnu89-inline" + CFLAGS="$(TARGET_CFLAGS) -fgnu89-inline" ifeq ($(BR2_PACKAGE_READLINE),y) ATFTP_DEPENDENCIES += readline 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 deleted file mode 100644 index 6260cca89f..0000000000 --- a/package/atk/0001-atk-meson.build-replace-shared_library-by-library.patch +++ /dev/null @@ -1,33 +0,0 @@ -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/Config.in b/package/atk/Config.in index c980614998..d9371b879b 100644 --- a/package/atk/Config.in +++ b/package/atk/Config.in @@ -7,6 +7,8 @@ config BR2_PACKAGE_ATK help The ATK accessibility toolkit, needed to build GTK+-2.x. + https://gitlab.gnome.org/GNOME/atk + comment "atk needs a toolchain w/ wchar, threads" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/atk/atk.hash b/package/atk/atk.hash index 911e65fcc7..8c1bad5b1a 100644 --- a/package/atk/atk.hash +++ b/package/atk/atk.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/atk/2.30/atk-2.30.0.sha256sum -sha256 dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b atk-2.30.0.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/atk/2.33/atk-2.33.3.sha256sum +sha256 532d1081e87b9f0a8d71733101e791818442fa1896531621d1aecc189e1a4ffe atk-2.33.3.tar.xz # Hash for license file sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/atk/atk.mk b/package/atk/atk.mk index 228b24a7da..a16143d2c0 100644 --- a/package/atk/atk.mk +++ b/package/atk/atk.mk @@ -4,13 +4,22 @@ # ################################################################################ -ATK_VERSION_MAJOR = 2.30 -ATK_VERSION = $(ATK_VERSION_MAJOR).0 +ATK_VERSION_MAJOR = 2.33 +ATK_VERSION = $(ATK_VERSION_MAJOR).3 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_DEPENDENCIES = libglib2 +ATK_DEPENDENCIES = libglib2 $(TARGET_NLS_DEPENDENCIES) + +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +ATK_CONF_OPTS += -Dintrospection=true +ATK_DEPENDENCIES += gobject-introspection +else +ATK_CONF_OPTS += -Dintrospection=false +endif + +ATK_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) $(eval $(meson-package)) diff --git a/package/atkmm/atkmm.hash b/package/atkmm/atkmm.hash index 4b3577c88d..42cc2d7221 100644 --- a/package/atkmm/atkmm.hash +++ b/package/atkmm/atkmm.hash @@ -1,2 +1,5 @@ # From http://ftp.gnome.org/pub/gnome/sources/atkmm/2.24/atkmm-2.24.2.sha256sum -sha256 ff95385759e2af23828d4056356f25376cfabc41e690ac1df055371537e458bd atkmm-2.24.2.tar.xz +sha256 ff95385759e2af23828d4056356f25376cfabc41e690ac1df055371537e458bd atkmm-2.24.2.tar.xz +# locally computed +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.tools diff --git a/package/atop/atop.hash b/package/atop/atop.hash index 80082d022d..f404ed5d1b 100644 --- a/package/atop/atop.hash +++ b/package/atop/atop.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 be1c010a77086b7d98376fce96514afcd73c3f20a8d1fe01520899ff69a73d69 atop-2.4.0.tar.gz +sha256 4b911057ce50463b6e8b3016c5963d48535c0cddeebc6eda817e292b22f93f33 atop-2.5.0.tar.gz # Hash for license file: sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/atop/atop.mk b/package/atop/atop.mk index aaf02908c4..46baff8f72 100644 --- a/package/atop/atop.mk +++ b/package/atop/atop.mk @@ -4,14 +4,21 @@ # ################################################################################ -ATOP_VERSION = 2.4.0 +ATOP_VERSION = 2.5.0 ATOP_SITE = http://www.atoptool.nl/download ATOP_LICENSE = GPL-2.0+ ATOP_LICENSE_FILES = COPYING ATOP_DEPENDENCIES = ncurses zlib +ATOP_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +ATOP_CFLAGS += -O0 +endif + define ATOP_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) + $(MAKE) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(ATOP_CFLAGS)" \ + -C $(@D) endef define ATOP_INSTALL_TARGET_CMDS diff --git a/package/attr/attr.hash b/package/attr/attr.hash index 88adf44e6a..ba9f45669f 100644 --- a/package/attr/attr.hash +++ b/package/attr/attr.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature sha256 5ead72b358ec709ed00bbf7a9eaef1654baad937c001c044fe8b74c57f5324e7 attr-2.4.48.tar.gz + +# Locally calculated +sha256 98f318493be6b08bff3cd295791cde06c54e17882a3c74a1ed245eaa02533d52 doc/COPYING +sha256 5decad7e58d90d44335bf2f45ce27563bd911065c6a1a02dfa7647c4efee75c8 doc/COPYING.LGPL diff --git a/package/attr/attr.mk b/package/attr/attr.mk index 348dcd2f87..ba77e802d2 100644 --- a/package/attr/attr.mk +++ b/package/attr/attr.mk @@ -12,7 +12,6 @@ ATTR_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL ATTR_INSTALL_STAGING = YES ATTR_CONF_OPTS = --disable-nls -HOST_ATTR_CONF_OPTS = --disable-nls $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/aubio/0001-Fix-build-with-FFmpeg-4.0.patch b/package/aubio/0001-Fix-build-with-FFmpeg-4.0.patch deleted file mode 100644 index 40ff2dfb89..0000000000 --- a/package/aubio/0001-Fix-build-with-FFmpeg-4.0.patch +++ /dev/null @@ -1,32 +0,0 @@ -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.hash b/package/aubio/aubio.hash index edb63f0769..f484776c1b 100644 --- a/package/aubio/aubio.hash +++ b/package/aubio/aubio.hash @@ -1,5 +1,5 @@ -# From https://aubio.org/pub/aubio-0.4.6.tar.bz2.sha256 -sha256 bdc73be1f007218d3ea6d2a503b38a217815a0e2ccc4ed441f6e850ed5d47cfb aubio-0.4.6.tar.bz2 +# From https://aubio.org/pub/aubio-0.4.9.tar.bz2.sha256 +sha256 d48282ae4dab83b3dc94c16cf011bcb63835c1c02b515490e1883049c3d1f3da aubio-0.4.9.tar.bz2 # Hash for license file: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/aubio/aubio.mk b/package/aubio/aubio.mk index ba182d9bd7..b79beccd97 100644 --- a/package/aubio/aubio.mk +++ b/package/aubio/aubio.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUBIO_VERSION = 0.4.6 +AUBIO_VERSION = 0.4.9 AUBIO_SITE = https://aubio.org/pub AUBIO_SOURCE = aubio-$(AUBIO_VERSION).tar.bz2 AUBIO_LICENSE = GPL-3.0+ diff --git a/package/audiofile/audiofile.hash b/package/audiofile/audiofile.hash index 3b9cba64f1..f4028f9a6e 100644 --- a/package/audiofile/audiofile.hash +++ b/package/audiofile/audiofile.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 cdc60df19ab08bfe55344395739bb08f50fc15c92da3962fac334d3bff116965 audiofile-0.3.6.tar.gz +sha256 cdc60df19ab08bfe55344395739bb08f50fc15c92da3962fac334d3bff116965 audiofile-0.3.6.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL diff --git a/package/audiofile/audiofile.mk b/package/audiofile/audiofile.mk index 2f2e8902e9..bb46436d85 100644 --- a/package/audiofile/audiofile.mk +++ b/package/audiofile/audiofile.mk @@ -15,6 +15,22 @@ AUDIOFILE_AUTORECONF = YES AUDIOFILE_LICENSE = GPL-2.0+, LGPL-2.1+ AUDIOFILE_LICENSE_FILES = COPYING COPYING.GPL +# 0003-Always-check-the-number-of-coefficients.patch +AUDIOFILE_IGNORE_CVES += \ + CVE-2017-6827 CVE-2017-6828 CVE-2017-6832 \ + CVE-2017-6833 CVE-2017-6835 CVE-2017-6837 +# 0004-clamp-index-values-to-fix-index-overflow-in-IMA.cpp.patch +AUDIOFILE_IGNORE_CVES += CVE-2017-6829 +# 0005-Check-for-multiplication-overflow-in-sfconvert.patch +AUDIOFILE_IGNORE_CVES += \ + CVE-2017-6830 CVE-2017-6834 CVE-2017-6836 CVE-2017-6838 +# 0006-Actually-fail-when-error-occurs-in-parseFormat.patch +AUDIOFILE_IGNORE_CVES += CVE-2017-6831 +# 0007-Check-for-multiplication-overflow-in-MSADPCM-decodeS.patch +AUDIOFILE_IGNORE_CVES += CVE-2017-6839 +# 0008-CVE-2015-7747.patch +AUDIOFILE_IGNORE_CVES += CVE-2015-7747 + ifeq ($(BR2_PACKAGE_FLAC),y) AUDIOFILE_DEPENDENCIES += flac AUDIOFILE_CONF_OPTS += --enable-flac diff --git a/package/audit/0002-Add-substitue-functions-for-strndupa-rawmemchr.patch b/package/audit/0002-Add-substitue-functions-for-strndupa-rawmemchr.patch new file mode 100644 index 0000000000..ac292c57d1 --- /dev/null +++ b/package/audit/0002-Add-substitue-functions-for-strndupa-rawmemchr.patch @@ -0,0 +1,133 @@ +From c39a071e7c021f6ff3554aca2758e97b47a9777c Mon Sep 17 00:00:00 2001 +From: Steve Grubb +Date: Tue, 26 Feb 2019 18:33:33 -0500 +Subject: [PATCH] Add substitue functions for strndupa & rawmemchr + +(cherry picked from commit d579a08bb1cde71f939c13ac6b2261052ae9f77e) +Signed-off-by: Thomas Petazzoni +--- + auparse/auparse.c | 12 +++++++++++- + auparse/interpret.c | 9 ++++++++- + configure.ac | 14 +++++++++++++- + src/ausearch-lol.c | 12 +++++++++++- + 4 files changed, 43 insertions(+), 4 deletions(-) + +diff --git a/auparse/auparse.c b/auparse/auparse.c +index 650db02..2e1c737 100644 +--- a/auparse/auparse.c ++++ b/auparse/auparse.c +@@ -1,5 +1,5 @@ + /* auparse.c -- +- * Copyright 2006-08,2012-17 Red Hat Inc., Durham, North Carolina. ++ * Copyright 2006-08,2012-19 Red Hat Inc., Durham, North Carolina. + * All Rights Reserved. + * + * This library is free software; you can redistribute it and/or +@@ -1118,6 +1118,16 @@ static int str2event(char *s, au_event_t *e) + return 0; + } + ++#ifndef HAVE_STRNDUPA ++static inline char *strndupa(const char *old, size_t n) ++{ ++ size_t len = strnlen(old, n); ++ char *tmp = alloca(len + 1); ++ tmp[len] = 0; ++ return memcpy(tmp, old, len); ++} ++#endif ++ + /* Returns 0 on success and 1 on error */ + static int extract_timestamp(const char *b, au_event_t *e) + { +diff --git a/auparse/interpret.c b/auparse/interpret.c +index 51c4a5e..67b7b77 100644 +--- a/auparse/interpret.c ++++ b/auparse/interpret.c +@@ -853,6 +853,13 @@ err_out: + return print_escaped(id->val); + } + ++// rawmemchr is faster. Let's use it if we have it. ++#ifdef HAVE_RAWMEMCHR ++#define STRCHR rawmemchr ++#else ++#define STRCHR strchr ++#endif ++ + static const char *print_proctitle(const char *val) + { + char *out = (char *)print_escaped(val); +@@ -863,7 +870,7 @@ static const char *print_proctitle(const char *val) + // Proctitle has arguments separated by NUL bytes + // We need to write over the NUL bytes with a space + // so that we can see the arguments +- while ((ptr = rawmemchr(ptr, '\0'))) { ++ while ((ptr = STRCHR(ptr, '\0'))) { + if (ptr >= end) + break; + *ptr = ' '; +diff --git a/configure.ac b/configure.ac +index 6e345f1..6f3007e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,7 +1,7 @@ + dnl + define([AC_INIT_NOTICE], + [### Generated automatically using autoconf version] AC_ACVERSION [ +-### Copyright 2005-18 Steve Grubb ++### Copyright 2005-19 Steve Grubb + ### + ### Permission is hereby granted, free of charge, to any person obtaining a + ### copy of this software and associated documentation files (the "Software"), +@@ -72,6 +72,18 @@ dnl; posix_fallocate is used in audisp-remote + AC_CHECK_FUNCS([posix_fallocate]) + dnl; signalfd is needed for libev + AC_CHECK_FUNC([signalfd], [], [ AC_MSG_ERROR([The signalfd system call is necessary for auditd]) ]) ++dnl; check if rawmemchr is available ++AC_CHECK_FUNCS([rawmemchr]) ++dnl; check if strndupa is available ++AC_LINK_IFELSE( ++ [AC_LANG_SOURCE( ++ [[ ++ #define _GNU_SOURCE ++ #include ++ int main() { (void) strndupa("test", 10); return 0; }]])], ++ [AC_DEFINE(HAVE_STRNDUPA, 1, [Let us know if we have it or not])], ++ [] ++) + + ALLWARNS="" + ALLDEBUG="-g" +diff --git a/src/ausearch-lol.c b/src/ausearch-lol.c +index 5d17a72..758c33e 100644 +--- a/src/ausearch-lol.c ++++ b/src/ausearch-lol.c +@@ -1,6 +1,6 @@ + /* + * ausearch-lol.c - linked list of linked lists library +-* Copyright (c) 2008,2010,2014,2016 Red Hat Inc., Durham, North Carolina. ++* Copyright (c) 2008,2010,2014,2016,2019 Red Hat Inc., Durham, North Carolina. + * All Rights Reserved. + * + * This software may be freely redistributed and/or modified under the +@@ -152,6 +152,16 @@ static int compare_event_time(event *e1, event *e2) + return 0; + } + ++#ifndef HAVE_STRNDUPA ++static inline char *strndupa(const char *old, size_t n) ++{ ++ size_t len = strnlen(old, n); ++ char *tmp = alloca(len + 1); ++ tmp[len] = 0; ++ return memcpy(tmp, old, len); ++} ++#endif ++ + /* + * This function will look at the line and pick out pieces of it. + */ +-- +2.21.0 + diff --git a/package/audit/0003-Header-definitions-need-to-be-external-when-building.patch b/package/audit/0003-Header-definitions-need-to-be-external-when-building.patch new file mode 100644 index 0000000000..9a546261df --- /dev/null +++ b/package/audit/0003-Header-definitions-need-to-be-external-when-building.patch @@ -0,0 +1,28 @@ +From 017e6c6ab95df55f34e339d2139def83e5dada1f Mon Sep 17 00:00:00 2001 +From: Steve Grubb +Date: Fri, 10 Jan 2020 21:13:50 -0500 +Subject: [PATCH] Header definitions need to be external when building with + -fno-common (which is default in GCC 10) - Tony Jones + +Patch taken from upstream: https://github.com/linux-audit/audit-userspace/commit/017e6c6ab95df55f34e339d2139def83e5dada1f +Signed-off-by: Heiko Thiery +--- + src/ausearch-common.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ausearch-common.h b/src/ausearch-common.h +index 6669203..3040547 100644 +--- a/src/ausearch-common.h ++++ b/src/ausearch-common.h +@@ -50,7 +50,7 @@ extern pid_t event_pid; + extern int event_exact_match; + extern uid_t event_uid, event_euid, event_loginuid; + extern const char *event_tuid, *event_teuid, *event_tauid; +-slist *event_node_list; ++extern slist *event_node_list; + extern const char *event_comm; + extern const char *event_filename; + extern const char *event_hostname; +-- +2.20.1 + diff --git a/package/audit/Config.in b/package/audit/Config.in index 023ac79d30..6e5761533f 100644 --- a/package/audit/Config.in +++ b/package/audit/Config.in @@ -10,7 +10,6 @@ config BR2_PACKAGE_AUDIT depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS - depends on !BR2_TOOLCHAIN_USES_MUSL # strndupa() help The audit package contains the user space utilities for storing and searching the audit records generated by @@ -20,7 +19,6 @@ config BR2_PACKAGE_AUDIT http://people.redhat.com/sgrubb/audit/ -comment "audit needs a uClibc or glibc toolchain w/ threads, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ - || BR2_TOOLCHAIN_USES_MUSL +comment "audit needs a toolchain w/ threads, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS diff --git a/package/audit/audit.hash b/package/audit/audit.hash index d8c11a3d19..71e7df7dbc 100644 --- a/package/audit/audit.hash +++ b/package/audit/audit.hash @@ -1,4 +1,4 @@ #Locally computed -sha256 a410694d09fc5708d980a61a5abcb9633a591364f1ecc7e97ad5daef9c898c38 audit-2.8.4.tar.gz +sha256 0e5d4103646e00f8d1981e1cd2faea7a2ae28e854c31a803e907a383c5e2ecb7 audit-2.8.5.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB diff --git a/package/audit/audit.mk b/package/audit/audit.mk index 0988f88d8d..652e0fcd56 100644 --- a/package/audit/audit.mk +++ b/package/audit/audit.mk @@ -4,10 +4,12 @@ # ################################################################################ -AUDIT_VERSION = 2.8.4 +AUDIT_VERSION = 2.8.5 AUDIT_SITE = http://people.redhat.com/sgrubb/audit AUDIT_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) AUDIT_LICENSE_FILES = COPYING COPYING.LIB +# 0002-Add-substitue-functions-for-strndupa-rawmemchr.patch +AUDIT_AUTORECONF = YES AUDIT_INSTALL_STAGING = YES @@ -42,10 +44,6 @@ define AUDIT_INSTALL_INIT_SYSV endef define AUDIT_INSTALL_INIT_SYSTEMD - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -fs ../../../../usr/lib/systemd/system/auditd.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/auditd.service - $(INSTALL) -D -m 644 package/audit/audit_tmpfiles.conf \ $(TARGET_DIR)/usr/lib/tmpfiles.d/audit.conf endef @@ -56,6 +54,11 @@ define AUDIT_INSTALL_CLEANUP endef AUDIT_POST_INSTALL_TARGET_HOOKS += AUDIT_INSTALL_CLEANUP +define AUDIT_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_NET) + $(call KCONFIG_ENABLE_OPT,CONFIG_AUDIT) +endef + HOST_AUDIT_CONF_OPTS = \ --without-python \ --without-python3 \ diff --git a/package/aufs/aufs.mk b/package/aufs/aufs.mk index 55dbf942df..4e95a350a0 100644 --- a/package/aufs/aufs.mk +++ b/package/aufs/aufs.mk @@ -13,6 +13,8 @@ AUFS_SITE = http://git.code.sf.net/p/aufs/aufs3-standalone AUFS_SITE_METHOD = git else ifeq ($(BR2_PACKAGE_AUFS_SERIES),4) AUFS_SITE = $(call github,sfjro,aufs4-standalone,$(AUFS_VERSION)) +else ifeq ($(BR2_PACKAGE_AUFS_SERIES),5) +AUFS_SITE = $(call github,sfjro,aufs5-standalone,$(AUFS_VERSION)) endif ifeq ($(BR_BUILDING):$(BR2_PACKAGE_AUFS):$(AUFS_VERSION),y:y:) diff --git a/package/augeas/augeas.hash b/package/augeas/augeas.hash index d69ef8577e..03b71349ac 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.11.0.tar.gz.sig -sha256 393ce8f4055af89cd4c20bf903eacbbd909cf427891f41b56dc2ba66243ea0b0 augeas-1.11.0.tar.gz +# http://download.augeas.net/augeas-1.12.0.tar.gz.sig +sha256 321942c9cc32185e2e9cb72d0a70eea106635b50269075aca6714e3ec282cb87 augeas-1.12.0.tar.gz sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING diff --git a/package/augeas/augeas.mk b/package/augeas/augeas.mk index 8cb4f74e41..cf369d6910 100644 --- a/package/augeas/augeas.mk +++ b/package/augeas/augeas.mk @@ -4,16 +4,13 @@ # ################################################################################ -AUGEAS_VERSION = 1.11.0 +AUGEAS_VERSION = 1.12.0 AUGEAS_SITE = http://download.augeas.net AUGEAS_INSTALL_STAGING = YES AUGEAS_LICENSE = LGPL-2.1+ AUGEAS_LICENSE_FILES = COPYING AUGEAS_DEPENDENCIES = host-pkgconf readline libxml2 -# patching examples/Makefile.am, can be removed when updating from version 1.9.0 -AUGEAS_AUTORECONF = YES - AUGEAS_CONF_OPTS = --disable-gnulib-tests # Remove the test lenses which occupy about 1.4 MB on the target diff --git a/package/aumix/aumix.hash b/package/aumix/aumix.hash index 0463ea01a6..2fbab4bda2 100644 --- a/package/aumix/aumix.hash +++ b/package/aumix/aumix.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 d2ce43d532ef75072c8d4e7922e3bc06be6d97765a508d9ceb0d1766bbe70e29 aumix-2.9.1.tar.bz2 +sha256 d2ce43d532ef75072c8d4e7922e3bc06be6d97765a508d9ceb0d1766bbe70e29 aumix-2.9.1.tar.bz2 +sha256 1ca3e8f71b7de618968e7ea9fe47822d9e704dc476aef8544033abedec355225 COPYING diff --git a/package/autoconf-archive/0001-AX_TLS-fix-syntax-error.patch b/package/autoconf-archive/0001-AX_TLS-fix-syntax-error.patch deleted file mode 100644 index c0efeb3359..0000000000 --- a/package/autoconf-archive/0001-AX_TLS-fix-syntax-error.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 1870301013d79be781ead2b0e62fc08f91715ca9 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 3 May 2015 23:02:34 +0200 -Subject: [PATCH] AX_TLS: fix syntax error - -The commit e012eb17b3d67f31dee477592328207437206c33 introduce -a syntax error due to an empty "else" statement. - -confifure: -if test "$ac_cv_tls" != "none"; then : -cat >>confdefs.h <<_ACEOF -_ACEOF -else - -fi - -Remove the [] on the third part of AS_IF. - -Signed-off-by: Romain Naour -(rebased against version 2017.03.21) -Signed-off-by: Bernd Kuhls ---- - m4/ax_tls.m4 | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/m4/ax_tls.m4 b/m4/ax_tls.m4 -index 809b761..2135dd2 100644 ---- a/m4/ax_tls.m4 -+++ b/m4/ax_tls.m4 -@@ -44,7 +44,7 @@ - # modified version of the Autoconf Macro, you may extend this special - # exception to the GPL to apply to your modified version as well. - --#serial 13 -+#serial 14 - - AC_DEFUN([AX_TLS], [ - AC_MSG_CHECKING([for thread local storage (TLS) class]) -@@ -70,5 +70,5 @@ AC_DEFUN([AX_TLS], [ - AS_IF([test "$ac_cv_tls" != "none"], - [AC_DEFINE_UNQUOTED([TLS],[$ac_cv_tls],[If the compiler supports a TLS storage class define it to that here]) - m4_ifnblank([$1],[$1])], -- [m4_ifnblank([$2],[$2])]) -+ m4_ifnblank([$2],[$2])) - ]) --- -1.9.3 - diff --git a/package/autoconf-archive/autoconf-archive.hash b/package/autoconf-archive/autoconf-archive.hash index 2c537b33a2..3ef98f2f14 100644 --- a/package/autoconf-archive/autoconf-archive.hash +++ b/package/autoconf-archive/autoconf-archive.hash @@ -1,2 +1,4 @@ # Computed locally -sha256 386ad455f12bdeb3a7d19280441a5ab77355142349200ff11040a8d9d455d765 autoconf-archive-2017.03.21.tar.xz +sha256 17195c833098da79de5778ee90948f4c5d90ed1a0cf8391b4ab348e2ec511e3f autoconf-archive-2019.01.06.tar.xz +sha256 e6037104443f9a7829b2aa7c5370d0789a7bda3ca65a0b904cdc0c2e285d9195 COPYING +sha256 23ed0b84fa023bfa33433b498192cd08a3bfb1f4864a8ed791a84f3eb48b2dd2 COPYING.EXCEPTION diff --git a/package/autoconf-archive/autoconf-archive.mk b/package/autoconf-archive/autoconf-archive.mk index 8a6d59578e..3f1f0a5b3c 100644 --- a/package/autoconf-archive/autoconf-archive.mk +++ b/package/autoconf-archive/autoconf-archive.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUTOCONF_ARCHIVE_VERSION = 2017.03.21 +AUTOCONF_ARCHIVE_VERSION = 2019.01.06 AUTOCONF_ARCHIVE_SOURCE = autoconf-archive-$(AUTOCONF_ARCHIVE_VERSION).tar.xz AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive AUTOCONF_ARCHIVE_LICENSE = GPL-3.0+ with exception diff --git a/package/autoconf/autoconf.hash b/package/autoconf/autoconf.hash index f35f6f8d0a..f53e8979c0 100644 --- a/package/autoconf/autoconf.hash +++ b/package/autoconf/autoconf.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature sha256 64ebcec9f8ac5b2487125a86a7760d2591ac9e1d3dbd59489633f9de62a57684 autoconf-2.69.tar.xz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYINGv3 +sha256 23ed0b84fa023bfa33433b498192cd08a3bfb1f4864a8ed791a84f3eb48b2dd2 COPYING.EXCEPTION diff --git a/package/autoconf/autoconf.mk b/package/autoconf/autoconf.mk index e5f474c72d..336ac59b42 100644 --- a/package/autoconf/autoconf.mk +++ b/package/autoconf/autoconf.mk @@ -21,6 +21,6 @@ HOST_AUTOCONF_DEPENDENCIES = host-m4 host-libtool $(eval $(host-autotools-package)) # variables used by other packages -AUTOCONF = $(HOST_DIR)/bin/autoconf -AUTOHEADER = $(HOST_DIR)/bin/autoheader -AUTORECONF = $(HOST_CONFIGURE_OPTS) ACLOCAL="$(ACLOCAL)" AUTOCONF="$(AUTOCONF)" AUTOHEADER="$(AUTOHEADER)" AUTOMAKE="$(AUTOMAKE)" AUTOPOINT=/bin/true $(HOST_DIR)/bin/autoreconf -f -i -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)" +AUTOCONF = $(HOST_DIR)/bin/autoconf -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)" +AUTOHEADER = $(HOST_DIR)/bin/autoheader -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)" +AUTORECONF = $(HOST_CONFIGURE_OPTS) ACLOCAL="$(ACLOCAL)" AUTOCONF="$(AUTOCONF)" AUTOHEADER="$(AUTOHEADER)" AUTOMAKE="$(AUTOMAKE)" AUTOPOINT=/bin/true $(HOST_DIR)/bin/autoreconf -f -i diff --git a/package/autofs/autofs.hash b/package/autofs/autofs.hash index 1f2060bdef..07432bf769 100644 --- a/package/autofs/autofs.hash +++ b/package/autofs/autofs.hash @@ -1,2 +1,6 @@ # From https://www.kernel.org/pub/linux/daemons/autofs/v5/sha256sums.asc -sha256 8fce30ee51ffd528fe1a4e8374ef57f43367e1f123030e175fb1b1cf15bc1722 autofs-5.1.4.tar.xz +sha256 dddee3d9b7388ce6cb7432832dfade25b07ef68ad48dcce01cf247b26a10caef autofs-5.1.6.tar.xz + +# Hash for license files +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING +sha256 2ac2e352a92629e3abcdddbd3eeec64e7c2f5b58b6e819ff2c1444fb6e249fa3 COPYRIGHT diff --git a/package/autofs/autofs.mk b/package/autofs/autofs.mk index e7c65ef4b0..e9b374ec07 100644 --- a/package/autofs/autofs.mk +++ b/package/autofs/autofs.mk @@ -4,18 +4,25 @@ # ################################################################################ -AUTOFS_VERSION = 5.1.4 +AUTOFS_VERSION = 5.1.6 AUTOFS_SOURCE = autofs-$(AUTOFS_VERSION).tar.xz AUTOFS_SITE = $(BR2_KERNEL_MIRROR)/linux/daemons/autofs/v5 AUTOFS_LICENSE = GPL-2.0+ AUTOFS_LICENSE_FILES = COPYING COPYRIGHT AUTOFS_DEPENDENCIES = host-flex host-bison host-pkgconf host-nfs-utils -# autofs looks on the build machine for the path of modprobe, so tell -# it explicitly where it will be located on the target. +# autofs looks on the build machine for the path of modprobe, mount, +# umount and fsck programs so tell it explicitly where they will be +# located on the target. AUTOFS_CONF_ENV = \ + ac_cv_path_E2FSCK=/sbin/fsck \ + ac_cv_path_E3FSCK=no \ + ac_cv_path_E4FSCK=no \ ac_cv_path_KRB5_CONFIG=no \ ac_cv_path_MODPROBE=/sbin/modprobe \ + ac_cv_path_MOUNT=/bin/mount \ + ac_cv_path_MOUNT_NFS=/usr/sbin/mount.nfs \ + ac_cv_path_UMOUNT=/bin/umount \ ac_cv_linux_procfs=yes # instead of looking in the PATH like any reasonable package, autofs diff --git a/package/automake/automake.mk b/package/automake/automake.mk index 270337712e..89dcaa1293 100644 --- a/package/automake/automake.mk +++ b/package/automake/automake.mk @@ -32,4 +32,6 @@ $(eval $(host-autotools-package)) # variables used by other packages AUTOMAKE = $(HOST_DIR)/bin/automake ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal -ACLOCAL = $(HOST_DIR)/bin/aclocal -I $(ACLOCAL_DIR) +ACLOCAL = $(HOST_DIR)/bin/aclocal +ACLOCAL_PATH = $(ACLOCAL_DIR):$(ACLOCAL_HOST_DIR) +export ACLOCAL_PATH diff --git a/package/autossh/autossh.hash b/package/autossh/autossh.hash index 5c6cfbc98f..226003f89e 100644 --- a/package/autossh/autossh.hash +++ b/package/autossh/autossh.hash @@ -1,6 +1,6 @@ -# From http://www.harding.motd.ca/autossh/autossh-1.4f.cksums -sha256 0172e5e1bea40c642e0ef025334be3aadd4ff3b4d62c0b177ed88a8384e2f8f2 autossh-1.4f.tgz -sha1 28189c42ab2e05448596a44adc9d62071172fe9b autossh-1.4f.tgz -md5 432ed721a71b8af4b5763b5c484f80df autossh-1.4f.tgz +# From http://www.harding.motd.ca/autossh/autossh-1.4g.cksums +sha256 5fc3cee3361ca1615af862364c480593171d0c54ec156de79fc421e31ae21277 autossh-1.4g.tgz +sha1 bd88da0e296b8d85722ee9e7c314e9319e5b2db8 autossh-1.4g.tgz +md5 2b804bc1bf6d2f2afaa526d02df7c0a2 autossh-1.4g.tgz # Locally computed -sha256 b6938db718166520533b1d56b01e1eb5f0ad508624478e674938b8f507b66d98 autossh.c +sha256 014ec5a85a8899d4ea0e0a886bb3fc4c72b4bbec6414093ba1fdac5b178c25b4 autossh.c diff --git a/package/autossh/autossh.mk b/package/autossh/autossh.mk index 5af8b735c2..899e5cdb52 100644 --- a/package/autossh/autossh.mk +++ b/package/autossh/autossh.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUTOSSH_VERSION = 1.4f +AUTOSSH_VERSION = 1.4g AUTOSSH_SITE = http://www.harding.motd.ca/autossh AUTOSSH_SOURCE = autossh-$(AUTOSSH_VERSION).tgz AUTOSSH_LICENSE = Modified BSD 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 deleted file mode 100644 index 0e8408c830..0000000000 --- a/package/avahi/0001-Drop-legacy-unicast-queries-from-address-not-on-loca.patch +++ /dev/null @@ -1,48 +0,0 @@ -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/avahi.hash b/package/avahi/avahi.hash index b4d36ffe50..cfc7ba020d 100644 --- a/package/avahi/avahi.hash +++ b/package/avahi/avahi.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 57a99b5dfe7fdae794e3d1ee7a62973a368e91e414bd0dfa5d84434de5b14804 avahi-0.7.tar.gz +sha256 060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda avahi-0.8.tar.gz sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE diff --git a/package/avahi/avahi.mk b/package/avahi/avahi.mk index baffe3cb69..73db37545f 100644 --- a/package/avahi/avahi.mk +++ b/package/avahi/avahi.mk @@ -4,60 +4,13 @@ # ################################################################################ -AVAHI_VERSION = 0.7 +AVAHI_VERSION = 0.8 AVAHI_SITE = https://github.com/lathiat/avahi/releases/download/v$(AVAHI_VERSION) AVAHI_LICENSE = LGPL-2.1+ AVAHI_LICENSE_FILES = LICENSE AVAHI_INSTALL_STAGING = YES AVAHI_CONF_ENV = \ - ac_cv_func_strtod=yes \ - ac_fsusage_space=yes \ - fu_cv_sys_stat_statfs2_bsize=yes \ - ac_cv_func_closedir_void=no \ - ac_cv_func_getloadavg=no \ - ac_cv_lib_util_getloadavg=no \ - ac_cv_lib_getloadavg_getloadavg=no \ - ac_cv_func_getgroups=yes \ - ac_cv_func_getgroups_works=yes \ - ac_cv_func_chown_works=yes \ - ac_cv_have_decl_euidaccess=no \ - ac_cv_func_euidaccess=no \ - ac_cv_have_decl_strnlen=yes \ - ac_cv_func_strnlen_working=yes \ - ac_cv_func_lstat_dereferences_slashed_symlink=yes \ - ac_cv_func_lstat_empty_string_bug=no \ - ac_cv_func_stat_empty_string_bug=no \ - vb_cv_func_rename_trailing_slash_bug=no \ - ac_cv_have_decl_nanosleep=yes \ - jm_cv_func_nanosleep_works=yes \ - gl_cv_func_working_utimes=yes \ - ac_cv_func_utime_null=yes \ - ac_cv_have_decl_strerror_r=yes \ - ac_cv_func_strerror_r_char_p=no \ - jm_cv_func_svid_putenv=yes \ - ac_cv_func_getcwd_null=yes \ - ac_cv_func_getdelim=yes \ - ac_cv_func_mkstemp=yes \ - utils_cv_func_mkstemp_limitations=no \ - utils_cv_func_mkdir_trailing_slash_bug=no \ - jm_cv_func_gettimeofday_clobber=no \ - am_cv_func_working_getline=yes \ - gl_cv_func_working_readdir=yes \ - jm_ac_cv_func_link_follows_symlink=no \ - utils_cv_localtime_cache=no \ - ac_cv_struct_st_mtim_nsec=no \ - gl_cv_func_tzset_clobber=no \ - gl_cv_func_getcwd_null=yes \ - gl_cv_func_getcwd_path_max=yes \ - ac_cv_func_fnmatch_gnu=yes \ - am_getline_needs_run_time_check=no \ - am_cv_func_working_getline=yes \ - gl_cv_func_mkdir_trailing_slash_bug=no \ - gl_cv_func_mkstemp_limitations=no \ - ac_cv_func_working_mktime=yes \ - jm_cv_func_working_re_compile_pattern=yes \ - ac_use_included_regex=no \ avahi_cv_sys_cxx_works=yes \ DATADIRNAME=share @@ -74,6 +27,7 @@ AVAHI_CONF_ENV = \ AVAHI_CONF_OPTS = \ --disable-qt3 \ --disable-qt4 \ + --disable-qt5 \ --disable-gtk \ --disable-gtk3 \ --disable-gdbm \ @@ -89,9 +43,7 @@ AVAHI_CONF_OPTS = \ --with-autoipd-user=avahi \ --with-autoipd-group=avahi -AVAHI_DEPENDENCIES = \ - host-intltool host-pkgconf \ - $(TARGET_NLS_DEPENDENCIES) +AVAHI_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) AVAHI_CFLAGS = $(TARGET_CFLAGS) @@ -130,6 +82,12 @@ else AVAHI_CONF_OPTS += --disable-dbus endif +ifeq ($(BR2_PACKAGE_LIBEVENT),y) +AVAHI_DEPENDENCIES += libevent +else +AVAHI_CONF_OPTS += --disable-libevent +endif + ifeq ($(BR2_PACKAGE_LIBGLIB2),y) AVAHI_DEPENDENCIES += libglib2 else @@ -198,14 +156,6 @@ endef endif define AVAHI_INSTALL_INIT_SYSTEMD - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - - ln -fs ../../../../usr/lib/systemd/system/avahi-daemon.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/avahi-daemon.service - - ln -fs ../../../../usr/lib/systemd/system/avahi-dnsconfd.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/avahi-dnsconfd.service - $(INSTALL) -D -m 644 package/avahi/avahi_tmpfiles.conf \ $(TARGET_DIR)/usr/lib/tmpfiles.d/avahi.conf diff --git a/package/avrdude/avrdude.hash b/package/avrdude/avrdude.hash index b203d4d100..888668ae44 100644 --- a/package/avrdude/avrdude.hash +++ b/package/avrdude/avrdude.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 cfa97af7badc713c62306ab85d0e7a288b064bf72e698494f73cb16c5b2c659e avrdude-f8893ccf0aceeff67c45f95ae4e86bc7fbe342aa.tar.gz +sha256 cfa97af7badc713c62306ab85d0e7a288b064bf72e698494f73cb16c5b2c659e avrdude-f8893ccf0aceeff67c45f95ae4e86bc7fbe342aa.tar.gz +sha256 201babc7da198873304a77a30dbfc7ca449c9bba52df2dffa4cca0009dbdfcb2 avrdude/COPYING diff --git a/package/avro-c/0002-CMakeLists.txt-fix-build-without-C.patch b/package/avro-c/0002-CMakeLists.txt-fix-build-without-C.patch new file mode 100644 index 0000000000..89a500c588 --- /dev/null +++ b/package/avro-c/0002-CMakeLists.txt-fix-build-without-C.patch @@ -0,0 +1,92 @@ +From cdab7db8ad81884cfb21cc1cf94c981c59d17ef4 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 30 Dec 2019 12:32:20 +0100 +Subject: [PATCH] CMakeLists.txt: fix build without C++ + +Specify that AvroC is a C project and remove tests_cpp.cpp to avoid the +following build failure if a C++ compiler is not found: + +CMake Error at CMakeLists.txt:20 (project): + The CMAKE_CXX_COMPILER: + + /home/naourr/work/instance-2/output-1/host/bin/microblazeel-buildroot-linux-uclibc-g++ + + is not a full path to an existing compiler tool. + + Tell CMake where to find the compiler by setting either the environment + variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path + to the compiler, or to the compiler name if it is in the PATH. + +Fixes: + - http://autobuild.buildroot.org/results/135e246aa70f28c6b9aea5fd6b0eb9c7b45ebfe7 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/apache/avro/pull/754] +--- + CMakeLists.txt | 2 +- + tests/CMakeLists.txt | 1 - + tests/test_cpp.cpp | 27 --------------------------- + 3 files changed, 1 insertion(+), 29 deletions(-) + delete mode 100644 lang/c/tests/test_cpp.cpp + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 11cbf018..b75418c3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -17,7 +17,7 @@ + # under the License. + # + cmake_minimum_required(VERSION 2.4) +-project(AvroC) ++project(AvroC C) + enable_testing() + + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}) +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index b9e8fe1d..2e84a06a 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -81,7 +81,6 @@ add_avro_test_checkmem(test_avro_1405) + add_avro_test_checkmem(test_avro_1572) + add_avro_test(test_avro_data) # Skip memory check for datum. Deprecated and has a lot of memory issues + add_avro_test_checkmem(test_refcount) +-add_avro_test_checkmem(test_cpp test_cpp.cpp) + add_avro_test_checkmem(test_avro_1379) + add_avro_test_checkmem(test_avro_1691) + add_avro_test_checkmem(test_avro_1906) +diff --git a/lang/c/tests/test_cpp.cpp b/lang/c/tests/test_cpp.cpp +deleted file mode 100644 +index 13f98a9b..00000000 +--- a/tests/test_cpp.cpp ++++ /dev/null +@@ -1,27 +0,0 @@ +-/* +- * Licensed to the Apache Software Foundation (ASF) under one or more +- * contributor license agreements. See the NOTICE file distributed with +- * this work for additional information regarding copyright ownership. +- * The ASF licenses this file to you under the Apache License, Version 2.0 +- * (the "License"); you may not use this file except in compliance with +- * the License. You may obtain a copy of the License at +- * +- * https://www.apache.org/licenses/LICENSE-2.0 +- * +- * Unless required by applicable law or agreed to in writing, software +- * distributed under the License is distributed on an "AS IS" BASIS, +- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +- * implied. See the License for the specific language governing +- * permissions and limitations under the License. +- */ +- +-#include "avro.h" +- +-int main(int argc, char **argv) +-{ +- (void)argc; +- (void)argv; +- +- return 0; +-} +- +-- +2.24.0 + diff --git a/package/avro-c/Config.in b/package/avro-c/Config.in new file mode 100644 index 0000000000..76d9123a4e --- /dev/null +++ b/package/avro-c/Config.in @@ -0,0 +1,27 @@ +comment "avro-c needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + +config BR2_PACKAGE_AVRO_C + bool "avro-c" + depends on !BR2_STATIC_LIBS # Avro unconditionally compiles shared libs + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + select BR2_PACKAGE_JANSSON + help + Select this option to install the Avro C language bindings, + and the command line tools avroappend, avrocat, avromod and + avropipe. + + Apache Avro is a data serialization system. + Avro provides: + - Rich data structures. + - A compact, fast, binary data format. + - A container file, to store persistent data. + - Remote procedure call (RPC). + - Simple integration with dynamic languages. + - Code generation is not required to read or write data + files nor to use or implement RPC protocols. + - Code generation as an optional optimization, + only worth implementing for statically typed languages. + + http://avro.apache.org/ diff --git a/package/avro-c/avro-c.hash b/package/avro-c/avro-c.hash new file mode 100644 index 0000000000..fdddf0bd80 --- /dev/null +++ b/package/avro-c/avro-c.hash @@ -0,0 +1,5 @@ +# From https://www-eu.apache.org/dist/avro/avro-1.9.2/c/avro-c-1.9.2.tar.gz.sha512 +sha512 1bc4bb22c88b70235e8e0280dbb7aeee7aa3f6cb7ff78a1aa5a7a6a1aca5522e8cfc89064096eace1c07a50e98f2397abd3620de1a29f9e5103b6f4c84316927 avro-c-1.9.2.tar.gz + +# License files +sha256 d62488d6ba17132e92c23c03c80bfedc848267f96ab36489fec860f76cf6819a LICENSE diff --git a/package/avro-c/avro-c.mk b/package/avro-c/avro-c.mk new file mode 100644 index 0000000000..5cdbe362d8 --- /dev/null +++ b/package/avro-c/avro-c.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# avro-c +# +################################################################################ + +AVRO_C_VERSION = 1.9.2 +AVRO_C_SITE = https://www-eu.apache.org/dist/avro/avro-$(AVRO_C_VERSION)/c +AVRO_C_LICENSE = Apache-2.0 +AVRO_C_LICENSE_FILES = LICENSE +AVRO_C_INSTALL_STAGING = YES +AVRO_C_DEPENDENCIES = host-pkgconf jansson + +ifeq ($(BR2_PACKAGE_SNAPPY),y) +AVRO_C_DEPENDENCIES += snappy +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +AVRO_C_DEPENDENCIES += zlib +endif + +ifeq ($(BR2_PACKAGE_XZ),y) +AVRO_C_DEPENDENCIES += xz +endif + +$(eval $(cmake-package)) diff --git a/package/axel/axel.hash b/package/axel/axel.hash index c317fb886f..955b5eab59 100644 --- a/package/axel/axel.hash +++ b/package/axel/axel.hash @@ -1 +1,2 @@ -sha256 d34094eb63eaebc989f96eabdda091dcfb28e840bb8d274a5f216775941f59e4 axel-2.16.1.tar.xz +sha256 19c82a095e3ea84f1e24fe6fd6018ee06af73ee03ca8ecf31b34dcc57ef4351e axel-2.17.8.tar.xz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/axel/axel.mk b/package/axel/axel.mk index 129ea2952f..5c7e99894e 100644 --- a/package/axel/axel.mk +++ b/package/axel/axel.mk @@ -4,7 +4,7 @@ # ################################################################################ -AXEL_VERSION = 2.16.1 +AXEL_VERSION = 2.17.8 AXEL_SITE = https://github.com/axel-download-accelerator/axel/releases/download/v$(AXEL_VERSION) AXEL_SOURCE = axel-$(AXEL_VERSION).tar.xz AXEL_LICENSE = GPL-2.0+ diff --git a/package/axfsutils/axfsutils.hash b/package/axfsutils/axfsutils.hash index 3ef5c5876f..b7a5943ddb 100644 --- a/package/axfsutils/axfsutils.hash +++ b/package/axfsutils/axfsutils.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 7d8c0febaf6f104c2b179475ea1ee6d361688ad7fa4c98dfdf7395fcff2be685 axfsutils-384a1ea214c8cf8359faba00a12513ee7ae1a9f5.tar.gz +sha256 7d8c0febaf6f104c2b179475ea1ee6d361688ad7fa4c98dfdf7395fcff2be685 axfsutils-384a1ea214c8cf8359faba00a12513ee7ae1a9f5.tar.gz +sha256 1929a1e67d189aa3a24de76255841b33818f7f65944b6e73a1568ba575ab54d5 mkfs.axfs-legacy/COPYING diff --git a/package/azmq/Config.in b/package/azmq/Config.in index eeafa2ad6d..2904890d5f 100644 --- a/package/azmq/Config.in +++ b/package/azmq/Config.in @@ -20,7 +20,7 @@ config BR2_PACKAGE_AZMQ https://github.com/zeromq/azmq -comment "azmq needs a toolchain w/ C++11, wchar and NTPL" +comment "azmq needs a toolchain w/ C++11, wchar and NPTL" depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS_NPTL) diff --git a/package/azmq/azmq.hash b/package/azmq/azmq.hash index 35139cfaeb..f5d24e79ce 100644 --- a/package/azmq/azmq.hash +++ b/package/azmq/azmq.hash @@ -1,4 +1,4 @@ # Locally calculated # https://github.com/zeromq/azmq/archive/v1.0.2.tar.gz -sha256 25fa8b07756cffae95e25a55c7ea42efe02e8cd797552201aa771dd69cfc8fbf azmq-v1.0.2.tar.gz +sha256 25fa8b07756cffae95e25a55c7ea42efe02e8cd797552201aa771dd69cfc8fbf azmq-1.0.2.tar.gz sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE-BOOST_1_0 diff --git a/package/azmq/azmq.mk b/package/azmq/azmq.mk index 9ccb407a65..918c6e1a36 100644 --- a/package/azmq/azmq.mk +++ b/package/azmq/azmq.mk @@ -4,8 +4,8 @@ # ################################################################################ -AZMQ_VERSION = v1.0.2 -AZMQ_SITE = $(call github,zeromq,azmq,$(AZMQ_VERSION)) +AZMQ_VERSION = 1.0.2 +AZMQ_SITE = $(call github,zeromq,azmq,v$(AZMQ_VERSION)) AZMQ_DEPENDENCIES = boost zeromq AZMQ_LICENSE = BSL-1.0 AZMQ_LICENSE_FILES = LICENSE-BOOST_1_0 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 8b3f670399..f63297844d 100644 --- a/package/azure-iot-sdk-c/azure-iot-sdk-c.mk +++ b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk @@ -17,35 +17,55 @@ AZURE_IOT_SDK_C_CONF_OPTS = -Dskip_samples=ON # The project only supports building one kind of library. # Further the install target installs the wrong files, so we do it here: ifeq ($(BR2_STATIC_LIBS),y) -AZURE_IOT_SDK_C_LIBS += uamqp/libuamqp.a c-utility/libaziotsharedutil.a \ - iothub_client/libiothub_client.a iothub_client/libiothub_client_mqtt_ws_transport.a \ +AZURE_IOT_SDK_C_LIBS += \ + uamqp/libuamqp.a \ + c-utility/libaziotsharedutil.a \ + iothub_client/libiothub_client.a \ + iothub_client/libiothub_client_mqtt_ws_transport.a \ iothub_client/libiothub_client_amqp_ws_transport.a \ iothub_client/libiothub_client_http_transport.a \ iothub_client/libiothub_client_amqp_transport.a \ iothub_client/libiothub_client_mqtt_transport.a \ - iothub_service_client/libiothub_service_client.a serializer/libserializer.a umqtt/libumqtt.a + iothub_service_client/libiothub_service_client.a \ + serializer/libserializer.a \ + umqtt/libumqtt.a \ + libparson.a else -AZURE_IOT_SDK_C_LIBS += uamqp/libuamqp.so c-utility/libaziotsharedutil.so \ - iothub_client/libiothub_client.so iothub_client/libiothub_client_mqtt_ws_transport.so \ +AZURE_IOT_SDK_C_LIBS += \ + uamqp/libuamqp.so \ + c-utility/libaziotsharedutil.so \ + iothub_client/libiothub_client.so \ + iothub_client/libiothub_client_mqtt_ws_transport.so \ iothub_client/libiothub_client_amqp_ws_transport.so \ iothub_client/libiothub_client_http_transport.so \ iothub_client/libiothub_client_amqp_transport.so \ iothub_client/libiothub_client_mqtt_transport.so \ - iothub_service_client/libiothub_service_client.so serializer/libserializer.so umqtt/libumqtt.so + iothub_service_client/libiothub_service_client.so \ + serializer/libserializer.so \ + umqtt/libumqtt.so.1.1.11 \ + libparson.so + +define AZURE_IOT_SDK_C_CREATE_SYMLINKS + ln -sf libumqtt.so.1.1.11 $(1)/usr/lib/libumqtt.so.1 + ln -sf libumqtt.so.1.1.11 $(1)/usr/lib/libumqtt.so +endef endif -define AZURE_IOT_SDK_C_INSTALL_STAGING_CMDS +define AZURE_IOT_SDK_C_INSTALL_LIBS $(foreach l,$(AZURE_IOT_SDK_C_LIBS), \ - $(INSTALL) -D -m 0755 $(@D)/$(l) $(STAGING_DIR)/usr/lib/ + $(INSTALL) -D -m 0755 $(@D)/$(l) $(1)/usr/lib/$(notdir $(l)) ) + $(call AZURE_IOT_SDK_C_CREATE_SYMLINKS,$(1)) +endef + +define AZURE_IOT_SDK_C_INSTALL_STAGING_CMDS + $(call AZURE_IOT_SDK_C_INSTALL_LIBS,$(STAGING_DIR)) cp -a $(@D)/c-utility/inc/* $(STAGING_DIR)/usr/include/ cp -a $(@D)/iothub_client/inc/* $(STAGING_DIR)/usr/include/ endef define AZURE_IOT_SDK_C_INSTALL_TARGET_CMDS - $(foreach l,$(AZURE_IOT_SDK_C_LIBS), \ - $(INSTALL) -D -m 0755 $(@D)/$(l) $(TARGET_DIR)/usr/lib/ - ) + $(call AZURE_IOT_SDK_C_INSTALL_LIBS,$(TARGET_DIR)) endef $(eval $(cmake-package)) diff --git a/package/b43-fwcutter/b43-fwcutter.hash b/package/b43-fwcutter/b43-fwcutter.hash index 3181c76960..e83a49711a 100644 --- a/package/b43-fwcutter/b43-fwcutter.hash +++ b/package/b43-fwcutter/b43-fwcutter.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 4c6a53d1f5d76b8aa224d294bee47726b1477f35327f4e23e8cb799865e0f6eb b43-fwcutter-015.tar.bz2 +sha256 d6ea85310df6ae08e7f7e46d8b975e17fc867145ee249307413cfbe15d7121ce b43-fwcutter-019.tar.bz2 + +# Hash for license file +sha256 6af9fc424d57f29b7e59b35e52d4a91aca80304506275f2c0c076317fc6eb583 COPYING diff --git a/package/b43-fwcutter/b43-fwcutter.mk b/package/b43-fwcutter/b43-fwcutter.mk index 91ba3dc758..9c1e11102d 100644 --- a/package/b43-fwcutter/b43-fwcutter.mk +++ b/package/b43-fwcutter/b43-fwcutter.mk @@ -4,7 +4,7 @@ # ################################################################################ -B43_FWCUTTER_VERSION = 015 +B43_FWCUTTER_VERSION = 019 B43_FWCUTTER_SITE = http://bues.ch/b43/fwcutter B43_FWCUTTER_SOURCE = b43-fwcutter-$(B43_FWCUTTER_VERSION).tar.bz2 B43_FWCUTTER_LICENSE = BSD-2-Clause diff --git a/package/babeld/0001-kernel_netlink.c-don-t-include-linux-if_bridge.h.patch b/package/babeld/0001-kernel_netlink.c-don-t-include-linux-if_bridge.h.patch deleted file mode 100644 index efadd2038a..0000000000 --- a/package/babeld/0001-kernel_netlink.c-don-t-include-linux-if_bridge.h.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 723bbfd8bdb76012a3da937c7499cf3c0b111dd5 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 20 Aug 2016 11:13:56 +0200 -Subject: [PATCH] kernel_netlink.c: don't include -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Including causes the inclusion of , -which defines 'struct in6_addr', also defined in , causing -a build failure with the musl C library: - -In file included from /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/if_bridge.h:18:0, - from kernel_netlink.c:42, - from kernel.c:31: -/home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/in6.h:32:8: error: redefinition of ‘struct in6_addr’ - struct in6_addr { - ^ -In file included from kernel_netlink.c:33:0, - from kernel.c:31: -/home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:23:8: note: originally defined here - struct in6_addr { - ^ -In file included from /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/if_bridge.h:18:0, - from kernel_netlink.c:42, - from kernel.c:31: -/home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/in6.h:49:8: error: redefinition of ‘struct sockaddr_in6’ - struct sockaddr_in6 { - ^ -In file included from kernel_netlink.c:33:0, - from kernel.c:31: -/home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:34:8: note: originally defined here - struct sockaddr_in6 { - ^ -In file included from /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/if_bridge.h:18:0, - from kernel_netlink.c:42, - from kernel.c:31: -/home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/in6.h:59:8: error: redefinition of ‘struct ipv6_mreq’ - struct ipv6_mreq { - ^ -In file included from kernel_netlink.c:33:0, - from kernel.c:31: -/home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:42:8: note: originally defined here - struct ipv6_mreq { - ^ - -In order to address this, this patch removes the -inclusion, and instead defines BRCTL_GET_BRIDGES to the appropriate -value if it's not provided by the C library. - -Signed-off-by: Thomas Petazzoni ---- - kernel_netlink.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/kernel_netlink.c b/kernel_netlink.c -index 4eadc39..1a5b3dd 100644 ---- a/kernel_netlink.c -+++ b/kernel_netlink.c -@@ -39,10 +39,14 @@ THE SOFTWARE. - #include - #include - #include --#include - #include - #include - -+/* From */ -+#ifndef BRCTL_GET_BRIDGES -+#define BRCTL_GET_BRIDGES 1 -+#endif -+ - #if(__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 5) - #define RTA_TABLE 15 - #endif --- -2.7.4 - diff --git a/package/babeld/babeld.hash b/package/babeld/babeld.hash index 0ee64c4f9c..510fe2bc95 100644 --- a/package/babeld/babeld.hash +++ b/package/babeld/babeld.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 2c955e7d4ad971da1e860e5cedbaf1dd79903468ff6488b3f67102b2a8d087b6 babeld-1.7.1.tar.gz +sha256 98070dc418c190f047b8d69eb47987df30ded8f0fca353c49427d3137ad08b87 babeld-1.8.4.tar.gz +sha256 b415c41292cedef6c97b243609e50552887c29343566c639f23282d31efd2afd LICENCE diff --git a/package/babeld/babeld.mk b/package/babeld/babeld.mk index d718237d98..f864b5db26 100644 --- a/package/babeld/babeld.mk +++ b/package/babeld/babeld.mk @@ -4,7 +4,7 @@ # ################################################################################ -BABELD_VERSION = 1.7.1 +BABELD_VERSION = 1.8.4 BABELD_SITE = http://www.pps.univ-paris-diderot.fr/~jch/software/files BABELD_LICENSE = MIT BABELD_LICENSE_FILES = LICENCE @@ -25,11 +25,6 @@ endef define BABELD_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/babeld/babeld.service \ $(TARGET_DIR)/usr/lib/systemd/system/babeld.service - - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - - ln -fs ../../../../usr/lib/systemd/system/babeld.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/babeld.service endef $(eval $(generic-package)) diff --git a/package/bandwidthd/bandwidthd.hash b/package/bandwidthd/bandwidthd.hash index 248f9ff961..c73584de2e 100644 --- a/package/bandwidthd/bandwidthd.hash +++ b/package/bandwidthd/bandwidthd.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 0270d0def6cc53c8d47d59a9dd093d51fbca1620adeef85c15e35a32010e26ab bandwidthd-v2.0.1-auto-r11.tar.gz +sha256 0270d0def6cc53c8d47d59a9dd093d51fbca1620adeef85c15e35a32010e26ab bandwidthd-2.0.1-auto-r11.tar.gz diff --git a/package/bandwidthd/bandwidthd.mk b/package/bandwidthd/bandwidthd.mk index 2773490428..990d8c5d8f 100644 --- a/package/bandwidthd/bandwidthd.mk +++ b/package/bandwidthd/bandwidthd.mk @@ -4,8 +4,8 @@ # ################################################################################ -BANDWIDTHD_VERSION = v2.0.1-auto-r11 -BANDWIDTHD_SITE = $(call github,nroach44,bandwidthd,$(BANDWIDTHD_VERSION)) +BANDWIDTHD_VERSION = 2.0.1-auto-r11 +BANDWIDTHD_SITE = $(call github,nroach44,bandwidthd,v$(BANDWIDTHD_VERSION)) # Specified as "any version of the GPL that is current as of your # download" by upstream. @@ -34,11 +34,6 @@ endif define BANDWIDTHD_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/bandwidthd/bandwidthd.service \ $(TARGET_DIR)/usr/lib/systemd/system/bandwidthd.service - - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - - ln -sf /usr/lib/systemd/system/bandwidthd.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/bandwidthd.service endef $(eval $(autotools-package)) diff --git a/package/bash-completion/0001-completions-Makefile.am-Use-install-data-hook-not-in.patch b/package/bash-completion/0001-completions-Makefile.am-Use-install-data-hook-not-in.patch deleted file mode 100644 index 4d01eb6eea..0000000000 --- a/package/bash-completion/0001-completions-Makefile.am-Use-install-data-hook-not-in.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f9a1dfe7a3d0f35474b3f4ded05e3d97be5017bf Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ville=20Skytt=C3=A4?= -Date: Fri, 25 May 2018 17:38:59 +0200 -Subject: [PATCH] completions/Makefile.am: Use install-data-hook, not - install-data-local - --hook is run after the main rule, while -local might end up before. -https://www.gnu.org/software/automake/manual/html_node/Extending.html#index-hook-targets - -Closes #212 - -[backported from ee6b37ad7ff5b309cbb9b886a871252abd9398fa] -Signed-off-by: Romain Naour ---- - completions/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/completions/Makefile.am b/completions/Makefile.am -index e442a9e..5c49796 100644 ---- a/completions/Makefile.am -+++ b/completions/Makefile.am -@@ -993,8 +993,8 @@ symlinks: $(targetdir) $(DATA) - all-local: targetdir = . - all-local: symlinks - --install-data-local: targetdir = $(DESTDIR)$(bashcompdir) --install-data-local: symlinks -+install-data-hook: targetdir = $(DESTDIR)$(bashcompdir) -+install-data-hook: symlinks - - check-local: - ret=0 --- -2.7.4 - diff --git a/package/bash-completion/bash-completion.hash b/package/bash-completion/bash-completion.hash index 2c4cf67578..fa98272be6 100644 --- a/package/bash-completion/bash-completion.hash +++ b/package/bash-completion/bash-completion.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c01f5570f5698a0dda8dc9cfb2a83744daa1ec54758373a6e349bd903375f54d bash-completion-2.8.tar.xz +sha256 123c17998e34b937ce57bb1b111cd817bc369309e9a8047c0bcf06ead4a3ec92 bash-completion-2.10.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/bash-completion/bash-completion.mk b/package/bash-completion/bash-completion.mk index c43fb15cd0..4b86e9f118 100644 --- a/package/bash-completion/bash-completion.mk +++ b/package/bash-completion/bash-completion.mk @@ -4,15 +4,12 @@ # ################################################################################ -BASH_COMPLETION_VERSION = 2.8 +BASH_COMPLETION_VERSION = 2.10 BASH_COMPLETION_SITE = https://github.com/scop/bash-completion/releases/download/$(BASH_COMPLETION_VERSION) BASH_COMPLETION_SOURCE = bash-completion-$(BASH_COMPLETION_VERSION).tar.xz BASH_COMPLETION_LICENSE = GPL-2.0 BASH_COMPLETION_LICENSE_FILES = COPYING -# 0001-completions-Makefile.am-Use-install-data-hook-not-in.patch -BASH_COMPLETION_AUTORECONF = YES - # Install bash-completion.pc file BASH_COMPLETION_INSTALL_STAGING = YES diff --git a/package/bash/0001-bash44-019.patch b/package/bash/0001-bash44-019.patch deleted file mode 100644 index b3d2f331b6..0000000000 --- a/package/bash/0001-bash44-019.patch +++ /dev/null @@ -1,54 +0,0 @@ -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/0001-bash50-001.patch b/package/bash/0001-bash50-001.patch new file mode 100644 index 0000000000..90e89ce568 --- /dev/null +++ b/package/bash/0001-bash50-001.patch @@ -0,0 +1,170 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-001 + +Signed-off-by: Pascal de Bruijn + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-001 + +Bug-Reported-by: axel@freakout.de +Bug-Reference-ID: <201901082050.x08KoShS006731@bongo.freakout.de> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html + +Bug-Description: + +Under certain circumstances, the glob expansion code did not remove +backslashes escaping characters in directory names (or portions of a +pattern preceding a slash). + +Patch (apply with `patch -p0'): + +*** ../bash-5.0/bashline.c 2018-11-27 13:20:16.000000000 -0500 +--- b/bashline.c 2019-01-16 16:06:03.000000000 -0500 +*************** +*** 232,235 **** +--- 232,236 ---- + static int bash_possible_command_completions __P((int, int)); + ++ static int completion_glob_pattern __P((char *)); + static char *glob_complete_word __P((const char *, int)); + static int bash_glob_completion_internal __P((int)); +*************** +*** 1742,1746 **** + /* This could be a globbing pattern, so try to expand it using pathname + expansion. */ +! if (!matches && glob_pattern_p (text)) + { + matches = rl_completion_matches (text, glob_complete_word); +--- 1743,1747 ---- + /* This could be a globbing pattern, so try to expand it using pathname + expansion. */ +! if (!matches && completion_glob_pattern ((char *)text)) + { + matches = rl_completion_matches (text, glob_complete_word); +*************** +*** 1851,1855 **** + } + +! globpat = glob_pattern_p (hint_text); + + /* If this is an absolute program name, do not check it against +--- 1852,1856 ---- + } + +! globpat = completion_glob_pattern ((char *)hint_text); + + /* If this is an absolute program name, do not check it against +*************** +*** 3714,3717 **** +--- 3715,3773 ---- + } + ++ static int ++ completion_glob_pattern (string) ++ char *string; ++ { ++ register int c; ++ char *send; ++ int open; ++ ++ DECLARE_MBSTATE; ++ ++ open = 0; ++ send = string + strlen (string); ++ ++ while (c = *string++) ++ { ++ switch (c) ++ { ++ case '?': ++ case '*': ++ return (1); ++ ++ case '[': ++ open++; ++ continue; ++ ++ case ']': ++ if (open) ++ return (1); ++ continue; ++ ++ case '+': ++ case '@': ++ case '!': ++ if (*string == '(') /*)*/ ++ return (1); ++ continue; ++ ++ case '\\': ++ if (*string == 0) ++ return (0); ++ } ++ ++ /* Advance one fewer byte than an entire multibyte character to ++ account for the auto-increment in the loop above. */ ++ #ifdef HANDLE_MULTIBYTE ++ string--; ++ ADVANCE_CHAR_P (string, send - string); ++ string++; ++ #else ++ ADVANCE_CHAR_P (string, send - string); ++ #endif ++ } ++ return (0); ++ } ++ + static char *globtext; + static char *globorig; +*************** +*** 3878,3882 **** + } + +! if (t && glob_pattern_p (t) == 0) + rl_explicit_arg = 1; /* XXX - force glob_complete_word to append `*' */ + FREE (t); +--- 3934,3938 ---- + } + +! if (t && completion_glob_pattern (t) == 0) + rl_explicit_arg = 1; /* XXX - force glob_complete_word to append `*' */ + FREE (t); +*** ../bash-5.0/lib/glob/glob_loop.c 2018-12-31 13:35:15.000000000 -0500 +--- b/lib/glob/glob_loop.c 2019-01-09 09:44:36.000000000 -0500 +*************** +*** 55,59 **** + + case L('\\'): +- #if 0 + /* Don't let the pattern end in a backslash (GMATCH returns no match + if the pattern ends in a backslash anyway), but otherwise return 1, +--- 55,58 ---- +*************** +*** 61,69 **** + and it can be removed. */ + return (*p != L('\0')); +- #else +- /* The pattern may not end with a backslash. */ +- if (*p++ == L('\0')) +- return 0; +- #endif + } + +--- 60,63 ---- +*** ../bash-5.0/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 0 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 1 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0002-bash44-020.patch b/package/bash/0002-bash44-020.patch deleted file mode 100644 index 20f3abb586..0000000000 --- a/package/bash/0002-bash44-020.patch +++ /dev/null @@ -1,181 +0,0 @@ -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/0002-bash50-002.patch b/package/bash/0002-bash50-002.patch new file mode 100644 index 0000000000..60d0a76f9d --- /dev/null +++ b/package/bash/0002-bash50-002.patch @@ -0,0 +1,117 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-002 + +Signed-off-by: Pascal de Bruijn + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-002 + +Bug-Reported-by: Ante Peric +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00095.html + +Bug-Description: + +When an alias value ends with an unquoted literal tab (not part of a quoted +string or comment), alias expansion cannot correctly detect the end of the +alias value after expanding it. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0/parser.h 2018-12-28 19:11:18.000000000 -0500 +--- b/parser.h 2019-01-11 15:13:03.000000000 -0500 +*************** +*** 48,51 **** +--- 48,52 ---- + #define PST_REDIRLIST 0x080000 /* parsing a list of redirections preceding a simple command name */ + #define PST_COMMENT 0x100000 /* parsing a shell comment; used by aliases */ ++ #define PST_ENDALIAS 0x200000 /* just finished expanding and consuming an alias */ + + /* Definition of the delimiter stack. Needed by parse.y and bashhist.c. */ +*** ../bash-5.0/parse.y 2019-01-02 13:57:34.000000000 -0500 +--- b/parse.y 2019-01-14 08:23:31.000000000 -0500 +*************** +*** 2558,2567 **** + pushed_string_list->flags != PSH_DPAREN && + (parser_state & PST_COMMENT) == 0 && + shell_input_line_index > 0 && +! shell_input_line[shell_input_line_index-1] != ' ' && + shell_input_line[shell_input_line_index-1] != '\n' && + shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && + (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) + { + return ' '; /* END_ALIAS */ + } +--- 2558,2569 ---- + pushed_string_list->flags != PSH_DPAREN && + (parser_state & PST_COMMENT) == 0 && ++ (parser_state & PST_ENDALIAS) == 0 && /* only once */ + shell_input_line_index > 0 && +! shellblank (shell_input_line[shell_input_line_index-1]) == 0 && + shell_input_line[shell_input_line_index-1] != '\n' && + shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && + (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) + { ++ parser_state |= PST_ENDALIAS; + return ' '; /* END_ALIAS */ + } +*************** +*** 2572,2575 **** +--- 2574,2578 ---- + if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE) + { ++ parser_state &= ~PST_ENDALIAS; + pop_string (); + uc = shell_input_line[shell_input_line_index]; +*** ../bash-5.0/y.tab.c 2019-01-02 13:57:43.000000000 -0500 +--- b/y.tab.c 2019-01-14 08:39:23.000000000 -0500 +*************** +*** 4874,4883 **** + pushed_string_list->flags != PSH_DPAREN && + (parser_state & PST_COMMENT) == 0 && + shell_input_line_index > 0 && +! shell_input_line[shell_input_line_index-1] != ' ' && + shell_input_line[shell_input_line_index-1] != '\n' && + shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && + (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) + { + return ' '; /* END_ALIAS */ + } +--- 4874,4885 ---- + pushed_string_list->flags != PSH_DPAREN && + (parser_state & PST_COMMENT) == 0 && ++ (parser_state & PST_ENDALIAS) == 0 && /* only once */ + shell_input_line_index > 0 && +! shellblank (shell_input_line[shell_input_line_index-1]) == 0 && + shell_input_line[shell_input_line_index-1] != '\n' && + shellmeta (shell_input_line[shell_input_line_index-1]) == 0 && + (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"')) + { ++ parser_state |= PST_ENDALIAS; + return ' '; /* END_ALIAS */ + } +*************** +*** 4888,4891 **** +--- 4890,4894 ---- + if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE) + { ++ parser_state &= ~PST_ENDALIAS; + pop_string (); + uc = shell_input_line[shell_input_line_index]; +*** ../bash-5.0/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 1 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 2 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0003-bash44-021.patch b/package/bash/0003-bash44-021.patch deleted file mode 100644 index 52f3b75eac..0000000000 --- a/package/bash/0003-bash44-021.patch +++ /dev/null @@ -1,61 +0,0 @@ -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/0003-bash50-003.patch b/package/bash/0003-bash50-003.patch new file mode 100644 index 0000000000..12edb16a2a --- /dev/null +++ b/package/bash/0003-bash50-003.patch @@ -0,0 +1,243 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-003 + +Signed-off-by: Pascal de Bruijn + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-003 + +Bug-Reported-by: Andrew Church +Bug-Reference-ID: <5c534aa2.04371@msgid.achurch.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00276.html + +Bug-Description: + +There are several incompatibilities in how bash-5.0 processes pathname +expansion (globbing) of filename arguments that have backslashes in the +directory portion. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/lib/glob/glob_loop.c 2019-01-16 16:13:21.000000000 -0500 +--- b/lib/glob/glob_loop.c 2019-02-01 09:45:11.000000000 -0500 +*************** +*** 27,34 **** + register const GCHAR *p; + register GCHAR c; +! int bopen; + + p = pattern; +! bopen = 0; + + while ((c = *p++) != L('\0')) +--- 27,34 ---- + register const GCHAR *p; + register GCHAR c; +! int bopen, bsquote; + + p = pattern; +! bopen = bsquote = 0; + + while ((c = *p++) != L('\0')) +*************** +*** 56,66 **** + case L('\\'): + /* Don't let the pattern end in a backslash (GMATCH returns no match +! if the pattern ends in a backslash anyway), but otherwise return 1, +! since the matching engine uses backslash as an escape character +! and it can be removed. */ +! return (*p != L('\0')); + } + +! return 0; + } + +--- 56,75 ---- + case L('\\'): + /* Don't let the pattern end in a backslash (GMATCH returns no match +! if the pattern ends in a backslash anyway), but otherwise note that +! we have seen this, since the matching engine uses backslash as an +! escape character and it can be removed. We return 2 later if we +! have seen only backslash-escaped characters, so interested callers +! know they can shortcut and just dequote the pathname. */ +! if (*p != L('\0')) +! { +! p++; +! bsquote = 1; +! continue; +! } +! else /* (*p == L('\0')) */ +! return 0; + } + +! return bsquote ? 2 : 0; + } + +*** ../bash-5.0-patched/lib/glob/glob.h 2013-10-28 14:46:12.000000000 -0400 +--- b/lib/glob/glob.h 2019-03-07 11:06:47.000000000 -0500 +*************** +*** 31,34 **** +--- 31,35 ---- + #define GX_ADDCURDIR 0x200 /* internal -- add passed directory name */ + #define GX_GLOBSTAR 0x400 /* turn on special handling of ** */ ++ #define GX_RECURSE 0x800 /* internal -- glob_filename called recursively */ + + extern int glob_pattern_p __P((const char *)); +*** ../bash-5.0-patched/lib/glob/glob.c 2018-09-20 10:53:23.000000000 -0400 +--- b/lib/glob/glob.c 2019-03-07 14:23:43.000000000 -0500 +*************** +*** 1062,1066 **** + unsigned int directory_len; + int free_dirname; /* flag */ +! int dflags; + + result = (char **) malloc (sizeof (char *)); +--- 1078,1082 ---- + unsigned int directory_len; + int free_dirname; /* flag */ +! int dflags, hasglob; + + result = (char **) malloc (sizeof (char *)); +*************** +*** 1111,1117 **** + } + + /* If directory_name contains globbing characters, then we +! have to expand the previous levels. Just recurse. */ +! if (directory_len > 0 && glob_pattern_p (directory_name)) + { + char **directories, *d, *p; +--- 1127,1136 ---- + } + ++ hasglob = 0; + /* If directory_name contains globbing characters, then we +! have to expand the previous levels. Just recurse. +! If glob_pattern_p returns != [0,1] we have a pattern that has backslash +! quotes but no unquoted glob pattern characters. We dequote it below. */ +! if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1) + { + char **directories, *d, *p; +*************** +*** 1176,1180 **** + d[directory_len - 1] = '\0'; + +! directories = glob_filename (d, dflags); + + if (free_dirname) +--- 1195,1199 ---- + d[directory_len - 1] = '\0'; + +! directories = glob_filename (d, dflags|GX_RECURSE); + + if (free_dirname) +*************** +*** 1333,1336 **** +--- 1352,1369 ---- + return (NULL); + } ++ /* If we have a directory name with quoted characters, and we are ++ being called recursively to glob the directory portion of a pathname, ++ we need to dequote the directory name before returning it so the ++ caller can read the directory */ ++ if (directory_len > 0 && hasglob == 2 && (flags & GX_RECURSE) != 0) ++ { ++ dequote_pathname (directory_name); ++ directory_len = strlen (directory_name); ++ } ++ ++ /* We could check whether or not the dequoted directory_name is a ++ directory and return it here, returning the original directory_name ++ if not, but we don't do that yet. I'm not sure it matters. */ ++ + /* Handle GX_MARKDIRS here. */ + result[0] = (char *) malloc (directory_len + 1); +*** ../bash-5.0-patched/pathexp.c 2018-04-29 17:44:48.000000000 -0400 +--- b/pathexp.c 2019-01-31 20:19:41.000000000 -0500 +*************** +*** 66,74 **** + register int c; + char *send; +! int open; + + DECLARE_MBSTATE; + +! open = 0; + send = string + strlen (string); + +--- 66,74 ---- + register int c; + char *send; +! int open, bsquote; + + DECLARE_MBSTATE; + +! open = bsquote = 0; + send = string + strlen (string); + +*************** +*** 101,105 **** + globbing. */ + case '\\': +! return (*string != 0); + + case CTLESC: +--- 101,112 ---- + globbing. */ + case '\\': +! if (*string != '\0' && *string != '/') +! { +! bsquote = 1; +! string++; +! continue; +! } +! else if (*string == 0) +! return (0); + + case CTLESC: +*************** +*** 118,122 **** + #endif + } +! return (0); + } + +--- 125,130 ---- + #endif + } +! +! return (bsquote ? 2 : 0); + } + +*** ../bash-5.0-patched/bashline.c 2019-01-16 16:13:21.000000000 -0500 +--- b/bashline.c 2019-02-22 09:29:08.000000000 -0500 +*************** +*** 3753,3757 **** + + case '\\': +! if (*string == 0) + return (0); + } +--- 3766,3770 ---- + + case '\\': +! if (*string++ == 0) + return (0); + } +*** ../bash-5.0/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 2 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 3 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0004-bash44-022.patch b/package/bash/0004-bash44-022.patch deleted file mode 100644 index 0db270a17e..0000000000 --- a/package/bash/0004-bash44-022.patch +++ /dev/null @@ -1,65 +0,0 @@ -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/0004-bash50-004.patch b/package/bash/0004-bash50-004.patch new file mode 100644 index 0000000000..b27358609b --- /dev/null +++ b/package/bash/0004-bash50-004.patch @@ -0,0 +1,57 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-004 + +Signed-off-by: Pascal de Bruijn + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-004 + +Bug-Reported-by: Daniel Kahn Gillmor +Bug-Reference-ID: <87lg0g8aiw.fsf@fifthhorseman.net> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html + +Bug-Description: + +In bash-5.0, the `wait' builtin without arguments waits for all children of the +shell. This includes children it `inherited' at shell invocation time. This +patch modifies the behavior to not wait for these inherited children, some +of which might be long-lived. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/jobs.c 2018-12-06 11:44:34.000000000 -0500 +--- b/jobs.c 2019-04-12 15:15:10.000000000 -0400 +*************** +*** 2489,2496 **** + wait_procsubs (); + reap_procsubs (); +! #if 1 + /* We don't want to wait indefinitely if we have stopped children. */ +- /* XXX - should add a loop that goes through the list of process +- substitutions and waits for each proc in turn before this code. */ + if (any_stopped == 0) + { +--- 2490,2495 ---- + wait_procsubs (); + reap_procsubs (); +! #if 0 + /* We don't want to wait indefinitely if we have stopped children. */ + if (any_stopped == 0) + { +*** ../bash-5.0/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 3 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 4 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0005-bash44-023.patch b/package/bash/0005-bash44-023.patch deleted file mode 100644 index 05b18902a5..0000000000 --- a/package/bash/0005-bash44-023.patch +++ /dev/null @@ -1,56 +0,0 @@ -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/bash/0005-bash50-005.patch b/package/bash/0005-bash50-005.patch new file mode 100644 index 0000000000..df1772f9ba --- /dev/null +++ b/package/bash/0005-bash50-005.patch @@ -0,0 +1,114 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-005 + +Signed-off-by: Pascal de Bruijn + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-005 + +Bug-Reported-by: Brad Spencer +Bug-Reference-ID: <1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html + +Bug-Description: + +In certain cases, bash optimizes out a fork() call too early and prevents +traps from running. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/command.h 2018-07-20 21:16:31.000000000 -0400 +--- b/command.h 2019-02-20 11:09:36.000000000 -0500 +*************** +*** 187,190 **** +--- 188,192 ---- + #define CMD_LASTPIPE 0x2000 + #define CMD_STDPATH 0x4000 /* use standard path for command lookup */ ++ #define CMD_TRY_OPTIMIZING 0x8000 /* try to optimize this simple command */ + + /* What a command looks like. */ +*** ../bash-5.0-patched/builtins/evalstring.c 2018-12-26 11:19:21.000000000 -0500 +--- b/builtins/evalstring.c 2019-01-29 14:15:19.000000000 -0500 +*************** +*** 101,104 **** +--- 101,113 ---- + } + ++ int ++ can_optimize_connection (command) ++ COMMAND *command; ++ { ++ return (*bash_input.location.string == '\0' && ++ (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') && ++ command->value.Connection->second->type == cm_simple); ++ } ++ + void + optimize_fork (command) +*************** +*** 106,110 **** + { + if (command->type == cm_connection && +! (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) && + should_suppress_fork (command->value.Connection->second)) + { +--- 115,120 ---- + { + if (command->type == cm_connection && +! (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') && +! (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) && + should_suppress_fork (command->value.Connection->second)) + { +*************** +*** 413,418 **** + command->value.Simple->flags |= CMD_NO_FORK; + } +! else if (command->type == cm_connection) +! optimize_fork (command); + #endif /* ONESHOT */ + +--- 423,438 ---- + command->value.Simple->flags |= CMD_NO_FORK; + } +! +! /* Can't optimize forks out here execept for simple commands. +! This knows that the parser sets up commands as left-side heavy +! (&& and || are left-associative) and after the single parse, +! if we are at the end of the command string, the last in a +! series of connection commands is +! command->value.Connection->second. */ +! else if (command->type == cm_connection && can_optimize_connection (command)) +! { +! command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING; +! command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING; +! } + #endif /* ONESHOT */ + +*** ../bash-5.0-patched/execute_cmd.c 2018-12-05 09:05:14.000000000 -0500 +--- b/execute_cmd.c 2019-01-25 15:59:00.000000000 -0500 +*************** +*** 2768,2771 **** +--- 2768,2773 ---- + (exec_result != EXECUTION_SUCCESS))) + { ++ optimize_fork (command); ++ + second = command->value.Connection->second; + if (ignore_return && second) +*** ../bash-5.0/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 4 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 5 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0006-bash50-006.patch b/package/bash/0006-bash50-006.patch new file mode 100644 index 0000000000..e447989d05 --- /dev/null +++ b/package/bash/0006-bash50-006.patch @@ -0,0 +1,51 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-006 + +Signed-off-by: Pascal de Bruijn + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-006 + +Bug-Reported-by: Tomas Mozes +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html + +Bug-Description: + +Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without +also defining SYSLOG_SHOPT. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/builtins/shopt.def 2018-10-05 14:49:02.000000000 -0400 +--- b/builtins/shopt.def 2019-01-23 09:55:22.000000000 -0500 +*************** +*** 123,127 **** + #endif + +! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT) + extern int syslog_history; + #endif +--- 123,127 ---- + #endif + +! #if defined (SYSLOG_HISTORY) + extern int syslog_history; + #endif +*** ../bash-5.0/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 5 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 6 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0007-bash50-007.patch b/package/bash/0007-bash50-007.patch new file mode 100644 index 0000000000..164dfcc9e0 --- /dev/null +++ b/package/bash/0007-bash50-007.patch @@ -0,0 +1,66 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-007 + +Signed-off-by: Pascal de Bruijn + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-007 + +Bug-Reported-by: Grisha Levit +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html + +Bug-Description: + +Running `exec' when job control was disabled, even temporarily, but after it +had been initialized, could leave the terminal in the wrong process group for +the executed process. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/jobs.c 2018-12-06 11:44:34.000000000 -0500 +--- b/jobs.c 2019-04-12 15:15:10.000000000 -0400 +*************** +*** 4838,4850 **** + { + if (job_control) +! { +! terminate_stopped_jobs (); + +! if (original_pgrp >= 0) +! give_terminal_to (original_pgrp, 1); +! } + +! if (original_pgrp >= 0) +! setpgid (0, original_pgrp); + } + +--- 4838,4848 ---- + { + if (job_control) +! terminate_stopped_jobs (); + +! if (original_pgrp >= 0 && terminal_pgrp != original_pgrp) +! give_terminal_to (original_pgrp, 1); + +! if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0) +! shell_pgrp = original_pgrp; + } + +*** ../bash-5.0/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 6 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 7 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0008-bash50-008.patch b/package/bash/0008-bash50-008.patch new file mode 100644 index 0000000000..b571c92336 --- /dev/null +++ b/package/bash/0008-bash50-008.patch @@ -0,0 +1,72 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-008 + +Signed-off-by: Pascal de Bruijn + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-008 + +Bug-Reported-by: Michael Albinus +Bug-Reference-ID: <87bm36k3kz.fsf@gmx.de> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00111.html + +Bug-Description: + +When HISTSIZE is set to 0, history expansion can leave the history length +set to an incorrect value, leading to subsequent attempts to access invalid +memory. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/bashhist.c 2018-07-05 22:41:14.000000000 -0400 +--- b/bashhist.c 2019-02-20 16:20:04.000000000 -0500 +*************** +*** 561,573 **** + if (!history_expansion_inhibited && history_expansion && history_expansion_p (line)) + { + /* If we are expanding the second or later line of a multi-line + command, decrease history_length so references to history expansions + in these lines refer to the previous history entry and not the + current command. */ + if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) + history_length--; + expanded = history_expand (line, &history_value); + if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) +! history_length++; + + if (expanded) +--- 561,576 ---- + if (!history_expansion_inhibited && history_expansion && history_expansion_p (line)) + { ++ int old_len; ++ + /* If we are expanding the second or later line of a multi-line + command, decrease history_length so references to history expansions + in these lines refer to the previous history entry and not the + current command. */ ++ old_len = history_length; + if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) + history_length--; + expanded = history_expand (line, &history_value); + if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1) +! history_length = old_len; + + if (expanded) + +*** ../bash-5.0/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 7 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 8 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0009-bash50-009.patch b/package/bash/0009-bash50-009.patch new file mode 100644 index 0000000000..c53f464ae0 --- /dev/null +++ b/package/bash/0009-bash50-009.patch @@ -0,0 +1,46 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-009 + +Signed-off-by: Pascal de Bruijn + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-009 + +Bug-Reported-by: chet.ramey@case.edu +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +The history file reading code doesn't close the file descriptor open to +the history file when it encounters a zero-length file. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/lib/readline/histfile.c 2018-06-11 09:14:52.000000000 -0400 +--- b/lib/readline/histfile.c 2019-05-16 15:55:57.000000000 -0400 +*************** +*** 306,309 **** +--- 312,316 ---- + { + free (input); ++ close (file); + return 0; /* don't waste time if we don't have to */ + } +*** ../bash-5.0/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 8 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 9 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0010-bash50-010.patch b/package/bash/0010-bash50-010.patch new file mode 100644 index 0000000000..ebc06a6672 --- /dev/null +++ b/package/bash/0010-bash50-010.patch @@ -0,0 +1,176 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-010 + +Signed-off-by: Pascal de Bruijn + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-010 + +Bug-Reported-by: Thorsten Glaser +Bug-Reference-ID: <156622962831.19438.16374961114836556294.reportbug@tglase.lan.tarent.de> +Bug-Reference-URL: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935115 + +Bug-Description: + +Bash-5.0 changed the way assignment statements preceding special builtins +and shell functions were handled in posix mode. They automatically created +or modified global variables instead of modifying existing local variables +as in bash-4.4. + +The bash-4.4 posix-mode semantics were buggy, and resulted in creating +local variables where they were not intended and modifying global variables +and local variables simultaneously. + +The bash-5.0 changes were intended to fix this issue, but did not preserve +enough backwards compatibility. The posix standard also changed what it +required in these cases, so bash-5.0 is not bound by the strict conformance +requirements that existed in previous issues of the standard. + +This patch modifies the bash-5.0 posix mode behavior in an effort to restore +some backwards compatibility and rationalize the behavior in the presence of +local variables. It + +1. Changes the assignment semantics to be more similar to standalone assignment + statements: assignments preceding a function call or special builtin while + executing in a shell function will modify the value of a local variable + with the same name for the duration of the function's execution; + +2. Changes assignments preceding shell function calls or special builtins + from within a shell function to no longer create or modify global variables + in the presence of a local variable with the same name; + +3. Assignment statements preceding a shell function call or special builtin + at the global scope continue to modify the (global) calling environment, + but are unaffected by assignments preceding function calls or special + builtins within a function, as described in item 2. This is also similar + to the behavior of a standalone assignment statement. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/variables.c 2018-12-18 11:07:21.000000000 -0500 +--- b/variables.c 2019-08-22 10:53:44.000000000 -0400 +*************** +*** 4461,4467 **** + + /* Take a variable from an assignment statement preceding a posix special +! builtin (including `return') and create a global variable from it. This +! is called from merge_temporary_env, which is only called when in posix +! mode. */ + static void + push_posix_temp_var (data) +--- 4461,4467 ---- + + /* Take a variable from an assignment statement preceding a posix special +! builtin (including `return') and create a variable from it as if a +! standalone assignment statement had been performed. This is called from +! merge_temporary_env, which is only called when in posix mode. */ + static void + push_posix_temp_var (data) +*************** +*** 4473,4486 **** + var = (SHELL_VAR *)data; + +! binding_table = global_variables->table; +! if (binding_table == 0) +! binding_table = global_variables->table = hash_create (VARIABLES_HASH_BUCKETS); +! +! v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, ASS_FORCE|ASS_NOLONGJMP); + + /* global variables are no longer temporary and don't need propagating. */ +! var->attributes &= ~(att_tempvar|att_propagate); + if (v) +! v->attributes |= var->attributes; + + if (find_special_var (var->name) >= 0) +--- 4473,4497 ---- + var = (SHELL_VAR *)data; + +! /* Just like do_assignment_internal(). This makes assignments preceding +! special builtins act like standalone assignment statements when in +! posix mode, satisfying the posix requirement that this affect the +! "current execution environment." */ +! v = bind_variable (var->name, value_cell (var), ASS_FORCE|ASS_NOLONGJMP); +! +! /* If this modifies an existing local variable, v->context will be non-zero. +! If it comes back with v->context == 0, we bound at the global context. +! Set binding_table appropriately. It doesn't matter whether it's correct +! if the variable is local, only that it's not global_variables->table */ +! binding_table = v->context ? shell_variables->table : global_variables->table; + + /* global variables are no longer temporary and don't need propagating. */ +! if (binding_table == global_variables->table) +! var->attributes &= ~(att_tempvar|att_propagate); +! + if (v) +! { +! v->attributes |= var->attributes; +! v->attributes &= ~att_tempvar; /* not a temp var now */ +! } + + if (find_special_var (var->name) >= 0) +*************** +*** 4576,4587 **** + { + int i; + + tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1); + tempvar_list[tvlist_ind = 0] = 0; +! +! hash_flush (temporary_env, pushf); +! hash_dispose (temporary_env); + temporary_env = (HASH_TABLE *)NULL; + + tempvar_list[tvlist_ind] = 0; + +--- 4587,4601 ---- + { + int i; ++ HASH_TABLE *disposer; + + tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1); + tempvar_list[tvlist_ind = 0] = 0; +! +! disposer = temporary_env; + temporary_env = (HASH_TABLE *)NULL; + ++ hash_flush (disposer, pushf); ++ hash_dispose (disposer); ++ + tempvar_list[tvlist_ind] = 0; + +*** ../bash-5.0-patched/tests/varenv.right 2018-12-17 15:39:48.000000000 -0500 +--- b/tests/varenv.right 2019-08-22 16:05:25.000000000 -0400 +*************** +*** 147,153 **** + outside: declare -- var="one" + inside: declare -x var="value" +! outside: declare -x var="value" +! inside: declare -- var="local" +! outside: declare -x var="global" + foo= environment foo= + foo=foo environment foo=foo +--- 147,153 ---- + outside: declare -- var="one" + inside: declare -x var="value" +! outside: declare -- var="outside" +! inside: declare -x var="global" +! outside: declare -- var="outside" + foo= environment foo= + foo=foo environment foo=foo +*** ../bash-5.0/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 9 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 10 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0011-bash50-011.patch b/package/bash/0011-bash50-011.patch new file mode 100644 index 0000000000..555d0f8f8b --- /dev/null +++ b/package/bash/0011-bash50-011.patch @@ -0,0 +1,63 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-011 + +Signed-off-by: Pascal de Bruijn + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-011 + +Bug-Reported-by: Matt Whitlock +Bug-Reference-ID: +Bug-Reference-URL: https://savannah.gnu.org/support/?109671 + +Bug-Description: + +The conditional command did not perform appropriate quoted null character +removal on its arguments, causing syntax errors and attempts to stat +invalid pathnames. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/subst.c 2018-12-22 17:43:37.000000000 -0500 +--- b/subst.c 2019-04-14 13:25:41.000000000 -0400 +*************** +*** 3626,3630 **** + SPECIAL is 2, this is an rhs argument for the =~ operator, and should + be quoted appropriately for regcomp/regexec. The caller is responsible +! for removing the backslashes if the unquoted word is needed later. */ + char * + cond_expand_word (w, special) +--- 3642,3648 ---- + SPECIAL is 2, this is an rhs argument for the =~ operator, and should + be quoted appropriately for regcomp/regexec. The caller is responsible +! for removing the backslashes if the unquoted word is needed later. In +! any case, since we don't perform word splitting, we need to do quoted +! null character removal. */ + char * + cond_expand_word (w, special) +*************** +*** 3647,3650 **** +--- 3665,3670 ---- + if (special == 0) /* LHS */ + { ++ if (l->word) ++ word_list_remove_quoted_nulls (l); + dequote_list (l); + r = string_list (l); +*** ../bash-5.0/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 10 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 11 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0012-bash50-012.patch b/package/bash/0012-bash50-012.patch new file mode 100644 index 0000000000..d634932ee1 --- /dev/null +++ b/package/bash/0012-bash50-012.patch @@ -0,0 +1,68 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-012 + +Signed-off-by: Fabrice Fontaine + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-012 + +Bug-Reported-by: lessbug@qq.com +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +When using previous-history to go back beyond the beginning of the history list, +it's possible to move to an incorrect partial line. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/lib/readline/misc.c 2017-07-07 17:30:12.000000000 -0400 +--- b/lib/readline/misc.c 2019-05-16 11:43:46.000000000 -0400 +*************** +*** 577,580 **** +--- 590,594 ---- + { + HIST_ENTRY *old_temp, *temp; ++ int had_saved_line; + + if (count < 0) +*************** +*** 589,592 **** +--- 603,607 ---- + + /* If we don't have a line saved, then save this one. */ ++ had_saved_line = _rl_saved_line_for_history != 0; + rl_maybe_save_line (); + +*************** +*** 612,616 **** + if (temp == 0) + { +! rl_maybe_unsave_line (); + rl_ding (); + } +--- 627,632 ---- + if (temp == 0) + { +! if (had_saved_line == 0) +! _rl_free_saved_history_line (); + rl_ding (); + } +*** ../bash-5.0/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 11 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 12 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0013-bash50-013.patch b/package/bash/0013-bash50-013.patch new file mode 100644 index 0000000000..1c99f5c8c0 --- /dev/null +++ b/package/bash/0013-bash50-013.patch @@ -0,0 +1,77 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-013 + +Signed-off-by: Fabrice Fontaine + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-013 + +Bug-Reported-by: HIROSE Masaaki +Bug-Reference-ID: +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html + +Bug-Description: + +Reading history entries with timestamps can result in history entries joined +by linefeeds. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/lib/readline/histfile.c 2018-06-11 09:14:52.000000000 -0400 +--- b/lib/readline/histfile.c 2019-05-16 15:55:57.000000000 -0400 +*************** +*** 370,376 **** + + has_timestamps = HIST_TIMESTAMP_START (buffer); +! history_multiline_entries += has_timestamps && history_write_timestamps; + + /* Skip lines until we are at FROM. */ + for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++) + if (*line_end == '\n') +--- 370,378 ---- + + has_timestamps = HIST_TIMESTAMP_START (buffer); +! history_multiline_entries += has_timestamps && history_write_timestamps; + + /* Skip lines until we are at FROM. */ ++ if (has_timestamps) ++ last_ts = buffer; + for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++) + if (*line_end == '\n') +*************** +*** 381,385 **** +--- 383,398 ---- + if (HIST_TIMESTAMP_START(p) == 0) + current_line++; ++ else ++ last_ts = p; + line_start = p; ++ /* If we are at the last line (current_line == from) but we have ++ timestamps (has_timestamps), then line_start points to the ++ text of the last command, and we need to skip to its end. */ ++ if (current_line >= from && has_timestamps) ++ { ++ for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++) ++ ; ++ line_start = (*line_end == '\n') ? line_end + 1 : line_end; ++ } + } + + +*** ../bash-5.0/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 12 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 13 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0014-bash50-014.patch b/package/bash/0014-bash50-014.patch new file mode 100644 index 0000000000..2aadbda880 --- /dev/null +++ b/package/bash/0014-bash50-014.patch @@ -0,0 +1,56 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-014 + +Signed-off-by: Fabrice Fontaine + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-014 + +Bug-Reported-by: Johannes Hielscher +Bug-Reference-ID: <20190208205048.77c25a83@hordevm> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html + +Bug-Description: + +If the current line is empty, using the emacs C-xC-e binding to enter the +editor will edit the previous command instead of the current (empty) one. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/bashline.c 2019-01-16 16:13:21.000000000 -0500 +--- b/bashline.c 2019-02-11 11:18:57.000000000 -0500 +*************** +*** 962,970 **** + finished with the command, so we should not ignore the last command */ + using_history (); +! if (rl_line_buffer[0]) +! { +! current_command_line_count++; /* for rl_newline above */ +! bash_add_history (rl_line_buffer); +! } + current_command_line_count = 0; /* for dummy history entry */ + bash_add_history (""); +--- 965,970 ---- + finished with the command, so we should not ignore the last command */ + using_history (); +! current_command_line_count++; /* for rl_newline above */ +! bash_add_history (rl_line_buffer); + current_command_line_count = 0; /* for dummy history entry */ + bash_add_history (""); +*** ../bash-5.0/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 13 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0015-bash50-015.patch b/package/bash/0015-bash50-015.patch new file mode 100644 index 0000000000..d927f41af8 --- /dev/null +++ b/package/bash/0015-bash50-015.patch @@ -0,0 +1,82 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-015 + +Signed-off-by: Fabrice Fontaine + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-015 + +Bug-Reported-by: Yu Kou +Bug-Reference-ID: +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html + +Bug-Description: + +If alias expansion is enabled when processing the command argument to the +`-c' option, an alias is defined in that command, and the command ends with +the invocation of that alias, the shell's command parser can prematurely +terminate before the entire command is executed. + +Patch (apply with `patch -p0'): + +*** ../bash-20190426/builtins/evalstring.c 2019-01-29 14:15:19.000000000 -0500 +--- b/builtins/evalstring.c 2019-05-15 14:19:36.000000000 -0400 +*************** +*** 92,95 **** +--- 92,96 ---- + running_trap == 0 && + *bash_input.location.string == '\0' && ++ parser_expanding_alias () == 0 && + command->type == cm_simple && + signal_is_trapped (EXIT_TRAP) == 0 && +*************** +*** 106,109 **** +--- 107,111 ---- + { + return (*bash_input.location.string == '\0' && ++ parser_expanding_alias () == 0 && + (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') && + command->value.Connection->second->type == cm_simple); +*************** +*** 291,295 **** + with_input_from_string (string, from_file); + clear_shell_input_line (); +! while (*(bash_input.location.string)) + { + command = (COMMAND *)NULL; +--- 293,297 ---- + with_input_from_string (string, from_file); + clear_shell_input_line (); +! while (*(bash_input.location.string) || parser_expanding_alias ()) + { + command = (COMMAND *)NULL; +*************** +*** 546,550 **** + + with_input_from_string (string, from_file); +! while (*(bash_input.location.string)) + { + command = (COMMAND *)NULL; +--- 548,552 ---- + + with_input_from_string (string, from_file); +! while (*(bash_input.location.string)) /* XXX - parser_expanding_alias () ? */ + { + command = (COMMAND *)NULL; +*** ../bash-5.0/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 14 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0016-bash50-016.patch b/package/bash/0016-bash50-016.patch new file mode 100644 index 0000000000..8dec1fb34c --- /dev/null +++ b/package/bash/0016-bash50-016.patch @@ -0,0 +1,62 @@ +From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-016 + +Signed-off-by: Fabrice Fontaine + + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-016 + +Bug-Reported-by: sunnycemetery@gmail.com +Bug-Reference-ID: <20190316041534.GB22884@midnight> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html + +Bug-Description: + +Bash waits too long to reap /dev/fd process substitutions used as redirections +with loops and group commands, which can lead to file descriptor exhaustion. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/execute_cmd.c 2019-04-19 15:46:36.000000000 -0400 +--- b/execute_cmd.c 2019-07-01 16:45:49.000000000 -0400 +*************** +*** 1104,1107 **** +--- 1085,1104 ---- + discard_unwind_frame ("internal_fifos"); + } ++ # if defined (HAVE_DEV_FD) ++ /* Reap process substitutions at the end of loops */ ++ switch (command->type) ++ { ++ case cm_while: ++ case cm_until: ++ case cm_for: ++ case cm_group: ++ # if defined (ARITH_FOR_COMMAND) ++ case cm_arith_for: ++ # endif ++ reap_procsubs (); ++ default: ++ break; ++ } ++ # endif /* HAVE_DEV_FD */ + #endif + + +*** ../bash-5.0/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 15 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0017-input.h-add-missing-include-on-stdio.h.patch b/package/bash/0017-input.h-add-missing-include-on-stdio.h.patch new file mode 100644 index 0000000000..fd008e9472 --- /dev/null +++ b/package/bash/0017-input.h-add-missing-include-on-stdio.h.patch @@ -0,0 +1,38 @@ +From 4fa85c85b9a76afd3b19ed75bf17ccd2940f1f55 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 16 Feb 2020 16:18:48 +0100 +Subject: [PATCH] input.h: add missing include on stdio.h + +This will fix the following build failure on uclibc: + +test -n "/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/bin/arm-linux-ranlib" && /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/bin/arm-linux-ranlib libsh.a +In file included from ./exec.def:71: +../input.h:76:3: error: unknown type name 'FILE' + FILE *file; + ^~~~ + +Fixes: + - http://autobuild.buildroot.org/results/bfca306868df54c567215c45c8cdac838d02f567 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://savannah.gnu.org/support/?110196] +--- + input.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/input.h b/input.h +index 6aef1269..08b0fdea 100644 +--- a/input.h ++++ b/input.h +@@ -21,6 +21,8 @@ + #if !defined (_INPUT_H_) + #define _INPUT_H_ + ++#include ++ + #include "stdc.h" + + /* Function pointers can be declared as (Function *)foo. */ +-- +2.24.1 + diff --git a/package/bash/0018-locale.c-fix-build-without-wchar.patch b/package/bash/0018-locale.c-fix-build-without-wchar.patch new file mode 100644 index 0000000000..15c5f2e401 --- /dev/null +++ b/package/bash/0018-locale.c-fix-build-without-wchar.patch @@ -0,0 +1,84 @@ +From 73ca494c60d46103f806325e6ccbe9e400238008 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 23 Feb 2020 11:41:09 +0100 +Subject: [PATCH] locale.c: fix build without wchar + +bash unconditionally builds locale.c which depends on mblen since +version 5.0 and +https://github.com/bminor/bash/commit/d233b485e83c3a784b803fb894280773f16f2deb + +This results in the following build failure if wchar is not available: + +/home/buildroot/autobuild/run/instance-0/output-1/host/bin/microblazeel-buildroot-linux-uclibc-gcc -L./builtins -L/home/buildroot/autobuild/run/instance-0/output-1/host/microblazeel-buildroot-linux-uclibc/sysroot/lib -L/home/buildroot/autobuild/run/instance-0/output-1/host/microblazeel-buildroot-linux-uclibc/sysroot/lib -L./lib/glob -L./lib/tilde -L./lib/sh -rdynamic -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -Wno-parentheses -Wno-format-security -o bash shell.o eval.o y.tab.o general.o make_cmd.o print_cmd.o dispose_cmd.o execute_cmd.o variables.o copy_cmd.o error.o expr.o flags.o jobs.o subst.o hashcmd.o hashlib.o mailcheck.o trap.o input.o unwind_prot.o pathexp.o sig.o test.o version.o alias.o array.o arrayfunc.o assoc.o braces.o bracecomp.o bashhist.o bashline.o list.o stringlib.o locale.o findcmd.o redir.o pcomplete.o pcomplib.o syntax.o xmalloc.o signames.o -lbuiltins -lglob -lsh -lreadline -lhistory -lcurses -ltilde -ldl +/home/buildroot/autobuild/run/instance-0/output-1/host/lib/gcc/microblazeel-buildroot-linux-uclibc/8.3.0/../../../../microblazeel-buildroot-linux-uclibc/bin/ld: locale.o: in function `set_default_locale': +(.text+0x260): undefined reference to `mblen' + +To fix this issue, don't use mblen if HANDLE_MULTIBYTE is not defined, +an other possibility would be to use MBLEN wrapper defined in shmbutil.h + +Fixes: + - http://autobuild.buildroot.org/results/298fb9c785e137bff432dd304eb56986e54ce3ed + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://savannah.gnu.org/support/index.php?110200] +--- + locale.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/locale.c b/locale.c +index d62547f6..a64c5b4b 100644 +--- a/locale.c ++++ b/locale.c +@@ -86,7 +86,9 @@ set_default_locale () + + locale_mb_cur_max = MB_CUR_MAX; + locale_utf8locale = locale_isutf8 (default_locale); ++#if defined (HANDLE_MULTIBYTE) + locale_shiftstates = mblen ((char *)NULL, 0); ++#endif + } + + /* Set default values for LC_CTYPE, LC_COLLATE, LC_MESSAGES, LC_NUMERIC and +@@ -107,7 +109,9 @@ set_default_locale_vars () + locale_setblanks (); + locale_mb_cur_max = MB_CUR_MAX; + locale_utf8locale = locale_isutf8 (lc_all); ++# if defined (HANDLE_MULTIBYTE) + locale_shiftstates = mblen ((char *)NULL, 0); ++# endif + u32reset (); + } + # endif +@@ -211,7 +215,9 @@ set_locale_var (var, value) + /* if LC_ALL == "", reset_locale_vars has already called this */ + if (*lc_all && x) + locale_utf8locale = locale_isutf8 (lc_all); ++# if defined (HANDLE_MULTIBYTE) + locale_shiftstates = mblen ((char *)NULL, 0); ++# endif + u32reset (); + return r; + #else +@@ -231,7 +237,9 @@ set_locale_var (var, value) + /* if setlocale() returns NULL, the locale is not changed */ + if (x) + locale_utf8locale = locale_isutf8 (x); ++# if defined (HANDLE_MULTIBYTE) + locale_shiftstates = mblen ((char *)NULL, 0); ++# endif + u32reset (); + } + # endif +@@ -368,7 +376,9 @@ reset_locale_vars () + locale_mb_cur_max = MB_CUR_MAX; + if (x) + locale_utf8locale = locale_isutf8 (x); ++# if defined (HANDLE_MULTIBYTE) + locale_shiftstates = mblen ((char *)NULL, 0); ++# endif + u32reset (); + #endif + return 1; +-- +2.25.0 + diff --git a/package/bash/bash.hash b/package/bash/bash.hash index 951bcf5850..9113b1653f 100644 --- a/package/bash/bash.hash +++ b/package/bash/bash.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature from # http://ftp.gnu.org/gnu/bash/bash-4.4.18.tar.gz.sig -sha256 604d9eec5e4ed5fd2180ee44dd756ddca92e0b6aa4217bbab2b6227380317f23 bash-4.4.18.tar.gz +sha256 b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d bash-5.0.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/bash/bash.mk b/package/bash/bash.mk index 7fb7192e2c..1843862e49 100644 --- a/package/bash/bash.mk +++ b/package/bash/bash.mk @@ -4,7 +4,7 @@ # ################################################################################ -BASH_VERSION = 4.4.18 +BASH_VERSION = 5.0 BASH_SITE = $(BR2_GNU_MIRROR)/bash BASH_DEPENDENCIES = ncurses readline host-bison BASH_CONF_OPTS = --with-installed-readline --without-bash-malloc diff --git a/package/batctl/batctl.hash b/package/batctl/batctl.hash index 257e1ff207..94f3de0230 100644 --- a/package/batctl/batctl.hash +++ b/package/batctl/batctl.hash @@ -1,4 +1,6 @@ -# From https://downloads.open-mesh.org/batman/releases/batman-adv-2017.0/batctl-2017.0.tar.gz.sha1 -sha1 0fbc329b56b465fa4f674cfecd7348144609f8e5 batctl-2017.0.tar.gz +# From https://downloads.open-mesh.org/batman/releases/batman-adv-2019.3/batctl-2019.3.tar.gz.sha1 +sha1 3a1357d51e9338e79e9953b7d8b33ace9f904b30 batctl-2019.3.tar.gz # Locally calculated -sha256 c0bb1127d6070b46abeb8d6a63d1150d71fa85f87f9a846873b649a21934c686 batctl-2017.0.tar.gz +sha256 2bd93fa14925a8dc63a67e64266c8ccd2fa3ac44b10253d93e6f8a630350070c batctl-2019.3.tar.gz +sha256 cecbf53d1148e13256ac29f8b900655b7fc8dc12d59939a95bc2323ea1747025 LICENSES/preferred/GPL-2.0 +sha256 323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f LICENSES/preferred/MIT diff --git a/package/batctl/batctl.mk b/package/batctl/batctl.mk index 122263e460..17ed15e36d 100644 --- a/package/batctl/batctl.mk +++ b/package/batctl/batctl.mk @@ -4,9 +4,10 @@ # ################################################################################ -BATCTL_VERSION = 2017.0 +BATCTL_VERSION = 2019.3 BATCTL_SITE = http://downloads.open-mesh.org/batman/releases/batman-adv-$(BATCTL_VERSION) -BATCTL_LICENSE = GPL-2.0 +BATCTL_LICENSE = GPL-2.0, MIT (batman_adv.h, list.h) +BATCTL_LICENSE_FILES = LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT BATCTL_DEPENDENCIES = libnl host-pkgconf define BATCTL_BUILD_CMDS diff --git a/package/batman-adv/batman-adv.hash b/package/batman-adv/batman-adv.hash index 0599b919be..dabbec8120 100644 --- a/package/batman-adv/batman-adv.hash +++ b/package/batman-adv/batman-adv.hash @@ -1,3 +1,7 @@ -# From https://downloads.open-mesh.org/batman/stable/sources/batman-adv/batman-adv-2017.0.1.tar.gz.{md5,sha1} -md5 ce14f7f1bbc037691bbbc611e16f0360 batman-adv-2017.0.1.tar.gz -sha1 593cecc015b876caa5b21fbb4d0f6186742a1abb batman-adv-2017.0.1.tar.gz +# From https://downloads.open-mesh.org/batman/stable/sources/batman-adv/batman-adv-2019.3.tar.gz.{md5,sha1} +md5 39345688ddf12a542853b2318325f07b batman-adv-2019.3.tar.gz +sha1 202539c0cbf4604f6c8e9d427b338d4e807bd220 batman-adv-2019.3.tar.gz + +# Hash for license files +sha256 cecbf53d1148e13256ac29f8b900655b7fc8dc12d59939a95bc2323ea1747025 LICENSES/preferred/GPL-2.0 +sha256 323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f LICENSES/preferred/MIT diff --git a/package/batman-adv/batman-adv.mk b/package/batman-adv/batman-adv.mk index 51799186d8..3f48e62051 100644 --- a/package/batman-adv/batman-adv.mk +++ b/package/batman-adv/batman-adv.mk @@ -4,13 +4,15 @@ # ################################################################################ -BATMAN_ADV_VERSION = 2017.0.1 +BATMAN_ADV_VERSION = 2019.3 BATMAN_ADV_SITE = https://downloads.open-mesh.org/batman/stable/sources/batman-adv -BATMAN_ADV_LICENSE = GPL-2.0 +BATMAN_ADV_LICENSE = GPL-2.0, MIT (batman_adv.h) +BATMAN_ADV_LICENSE_FILES = LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT # Bridge Loop Avoidance, Distributed Arp Table are always enabled BATMAN_ADV_CFLAGS = \ -I$(@D)/compat-include/ \ + -I$(@D)/include/ \ -include $(@D)/compat.h \ -DBATADV_SOURCE_VERSION=\"\\\"$(BATMAN_ADV_VERSION)\\\"\" BATMAN_ADV_MODULE_MAKE_OPTS = \ diff --git a/package/bats-core/Config.in b/package/bats-core/Config.in new file mode 100644 index 0000000000..73c38e5a04 --- /dev/null +++ b/package/bats-core/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_BATS_CORE + bool "bats" + depends on BR2_PACKAGE_BASH # runtime + help + Bats: Bash Automated Testing System + + Bats is a TAP-compliant testing framework for Bash. It + provides a simple way to verify that the UNIX programs you + write behave as expected. + + https://github.com/bats-core/bats-core diff --git a/package/bats-core/bats-core.hash b/package/bats-core/bats-core.hash new file mode 100644 index 0000000000..4d10d785d6 --- /dev/null +++ b/package/bats-core/bats-core.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 855d8b8bed466bc505e61123d12885500ef6fcdb317ace1b668087364717ea82 bats-core-1.1.0.tar.gz + +# License files +sha256 55074b2b3b87809105034e1468e59076554d76a80c67bcc592000cc3d929852d LICENSE.md diff --git a/package/bats-core/bats-core.mk b/package/bats-core/bats-core.mk new file mode 100644 index 0000000000..eee38056fe --- /dev/null +++ b/package/bats-core/bats-core.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# bats-core +# +################################################################################ + +BATS_CORE_VERSION = 1.1.0 +BATS_CORE_SITE = $(call github,bats-core,bats-core,v$(BATS_CORE_VERSION)) +BATS_CORE_LICENSE = MIT +BATS_CORE_LICENSE_FILES = LICENSE.md + +define BATS_CORE_INSTALL_TARGET_CMDS + $(@D)/install.sh $(TARGET_DIR)/usr +endef + +$(eval $(generic-package)) diff --git a/package/bayer2rgb-neon/Config.in b/package/bayer2rgb-neon/Config.in new file mode 100644 index 0000000000..ed065c1ed7 --- /dev/null +++ b/package/bayer2rgb-neon/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_BAYER2RGB_NEON + bool "bayer2rgb-neon" + depends on BR2_arm && BR2_ARM_CPU_HAS_NEON + depends on !BR2_STATIC_LIBS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + help + bayer2rgb-neon is a library which allows + to decode raw camera bayer to RGB using + NEON hardware acceleration. + + https://git.phytec.de/bayer2rgb-neon/ + +comment "bayer2rgb-neon needs a toolchain w/ C++, dynamic library, gcc >= 4.9" + depends on BR2_arm && BR2_ARM_CPU_HAS_NEON + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/bayer2rgb-neon/bayer2rgb-neon.hash b/package/bayer2rgb-neon/bayer2rgb-neon.hash new file mode 100644 index 0000000000..1f4f5f33b3 --- /dev/null +++ b/package/bayer2rgb-neon/bayer2rgb-neon.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 1a84dcf6557c2017ebe258502f60575e0971511c548fc88aee5ab68ca0bb268a bayer2rgb-neon-bef3ecafe290d61a50fd27da3e5d0df6f4b88045.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/bayer2rgb-neon/bayer2rgb-neon.mk b/package/bayer2rgb-neon/bayer2rgb-neon.mk new file mode 100644 index 0000000000..34510e7616 --- /dev/null +++ b/package/bayer2rgb-neon/bayer2rgb-neon.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# bayer2rgb-neon +# +################################################################################ + +BAYER2RGB_NEON_VERSION = bef3ecafe290d61a50fd27da3e5d0df6f4b88045 +BAYER2RGB_NEON_SITE = https://gitlab-ext.sigma-chemnitz.de/ensc/bayer2rgb.git +BAYER2RGB_NEON_SITE_METHOD = git +BAYER2RGB_NEON_LICENSE = GPL-3.0 +BAYER2RGB_NEON_LICENSE_FILES = COPYING +BAYER2RGB_NEON_INSTALL_STAGING = YES +BAYER2RGB_NEON_DEPENDENCIES = host-pkgconf host-gengetopt +BAYER2RGB_NEON_AUTORECONF = YES + +BAYER2RGB_NEON_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -mfpu=neon" + +$(eval $(autotools-package)) diff --git a/package/bc/0001-bc-use-MAKEINFO-variable-for-docs.patch b/package/bc/0001-bc-use-MAKEINFO-variable-for-docs.patch new file mode 100644 index 0000000000..03d15f5524 --- /dev/null +++ b/package/bc/0001-bc-use-MAKEINFO-variable-for-docs.patch @@ -0,0 +1,35 @@ +From 7dc22308b2974fd093b6a564b7b28ddc20ddf4a6 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Fri, 13 Sep 2019 13:45:02 -0500 +Subject: [PATCH] bc: use MAKEINFO variable for docs + +Use the appropiate MAKEINFO variable rather than the hardcoded makeinfo +command directly, otherwise missing logic never works. + +Fixes: +http://autobuild.buildroot.net/results/b0b/b0b9dced0014a5a8026fa972f95085e8bd16a07b/ + +[Recreated for 1.0.7.1 by Matt W and applied to Makefile.am instead of + Makefile.in] +Signed-off-by: Gustavo Zacarias +Signed-off-by: Matthew Weber +--- + doc/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/doc/Makefile.am b/doc/Makefile.am +index 1bdc478..f873b6a 100644 +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -1,7 +1,7 @@ + ## Process this file with automake to produce Makefile.in + + info_TEXINFOS = bc.texi dc.texi +-MAKEINFO = makeinfo --no-split ++MAKEINFO = @MAKEINFO@ --no-split + + MAINTAINERCLEANFILES = Makefile.in + +-- +2.17.1 + diff --git a/package/bc/0002-notice-read-and-write-errors-on-input-and-output.patch b/package/bc/0002-notice-read-and-write-errors-on-input-and-output.patch new file mode 100644 index 0000000000..cc72e5cd69 --- /dev/null +++ b/package/bc/0002-notice-read-and-write-errors-on-input-and-output.patch @@ -0,0 +1,754 @@ +From af96fb92052c307818eefa4b687f964f1e3f542e Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Thu, 12 Sep 2019 15:04:35 -0500 +Subject: [PATCH] notice read and write errors on input and output + +Quoting from the bug report: + bc (1.06-19ubuntu1) dapper; urgency=low + * Make dc notice read and write errors on its input and output. + I grepped for mentions of the strings `putc', `print', `getc', + `FILE', `stdin', `stdout' and `stderr' and added calls to new + error-checking functions unless it was clear from the + immediately-surrounding code that the program was exiting + nonzero, or would exit nonzero if the call failed. I ignored + hits in lib/getopt*, which seems to pervasively ignore write + errors when printing usage messages, in the hope that these + were correct. I _think_ I got them all. -iwj. + -- Ian Jackson Tue, 4 Apr 2006 17:21:02 +0100 + +Upsteam: +https://sources.debian.org/patches/bc/1.07.1-2/05_notice_read_write_errors.diff/ + +[Reformatted to GIT for 1.0.7.1 by Matt W] +Updated by Ryan Kavanagh for 1.0.7.1 on 26 July 2017. +Author: Ian Jackson +Origin: other +Bug-Debian: http://bugs.debian.org/488735 + +Signed-off-by: Matthew Weber +--- + bc/execute.c | 10 +++++++++- + bc/main.c | 3 +++ + bc/sbc.y | 2 ++ + bc/scan.c | 2 ++ + bc/scan.l | 3 +++ + bc/util.c | 15 ++++++++++++-- + dc/dc.c | 3 +++ + dc/eval.c | 55 +++++++++++++++++++++++++++++++++++++++------------- + dc/misc.c | 1 + + dc/numeric.c | 9 +++++++++ + dc/stack.c | 11 ++++++++++- + dc/string.c | 2 ++ + h/number.h | 11 +++++++---- + lib/number.c | 24 +++++++++++++++++++++++ + 14 files changed, 129 insertions(+), 22 deletions(-) + +diff --git a/bc/execute.c b/bc/execute.c +index 256e4b7..50eac49 100644 +--- a/bc/execute.c ++++ b/bc/execute.c +@@ -104,6 +104,7 @@ execute (void) + } + out_char ('\n'); + } ++ checkferror_output(stdout); + } + #endif + +@@ -224,6 +225,7 @@ execute (void) + } + } + fflush (stdout); ++ checkferror_output(stdout); + break; + + case 'R' : /* Return from function */ +@@ -259,6 +261,7 @@ execute (void) + if (inst == 'W') out_char ('\n'); + store_var (4); /* Special variable "last". */ + fflush (stdout); ++ checkferror_output(stdout); + pop (); + break; + +@@ -342,6 +345,7 @@ execute (void) + case 'w' : /* Write a string to the output. */ + while ((ch = byte(&pc)) != '"') out_schar (ch); + fflush (stdout); ++ checkferror_output(stdout); + break; + + case 'x' : /* Exchange Top of Stack with the one under the tos. */ +@@ -549,7 +553,10 @@ execute (void) + { + signal (SIGINT, use_quit); + if (had_sigint) +- printf ("\ninterrupted execution.\n"); ++ { ++ printf ("\ninterrupted execution.\n"); ++ checkferror_output(stdout); ++ } + } + } + +@@ -584,6 +591,7 @@ input_char (void) + out_col = 0; /* Saw a new line */ + } + } ++ checkferror_input(stdin); + + /* Classify and preprocess the input character. */ + if (isdigit(in_ch)) +diff --git a/bc/main.c b/bc/main.c +index 012075c..c96207b 100644 +--- a/bc/main.c ++++ b/bc/main.c +@@ -353,6 +353,9 @@ use_quit (int sig) + errno = save; + #else + write (1, "\n(interrupt) Exiting bc.\n", 26); ++#ifdef READLINE ++ rl_initialize (); /* Clear readline buffer */ ++#endif + bc_exit(0); + #endif + } +diff --git a/bc/sbc.y b/bc/sbc.y +index 586686b..921ab1e 100644 +--- a/bc/sbc.y ++++ b/bc/sbc.y +@@ -86,7 +86,9 @@ program : /* empty */ + if (interactive && !quiet) + { + show_bc_version (); ++ checkferror_output(stdout); + welcome (); ++ checkferror_output(stdout); + } + } + | program input_item +diff --git a/bc/scan.c b/bc/scan.c +index b237f55..8dee4e9 100644 +--- a/bc/scan.c ++++ b/bc/scan.c +@@ -791,6 +791,7 @@ bcel_input (char *buf, yy_size_t *result, int max) + if (bcel_len != 0) + history (hist, &histev, H_ENTER, bcel_line); + fflush (stdout); ++ checkferror_output(stdout); + } + + if (bcel_len <= max) +@@ -863,6 +864,7 @@ rl_input (char *buf, int *result, int max) + add_history (rl_line); + rl_line[rl_len-1] = '\n'; + fflush (stdout); ++ checkferror_output(stdout); + } + + if (rl_len <= max) +diff --git a/bc/scan.l b/bc/scan.l +index eb2e2dd..79186bb 100644 +--- a/bc/scan.l ++++ b/bc/scan.l +@@ -99,6 +99,7 @@ bcel_input (char *buf, yy_size_t *result, int max) + if (bcel_len != 0) + history (hist, &histev, H_ENTER, bcel_line); + fflush (stdout); ++ checkferror_output(stdout); + } + + if (bcel_len <= max) +@@ -171,6 +172,7 @@ rl_input (char *buf, int *result, int max) + add_history (rl_line); + rl_line[rl_len-1] = '\n'; + fflush (stdout); ++ checkferror_output(stdout); + } + + if (rl_len <= max) +@@ -295,6 +297,7 @@ limits return(Limits); + if (c == EOF) + { + fprintf (stderr,"EOF encountered in a comment.\n"); ++ checkferror_output(stderr); + break; + } + } +diff --git a/bc/util.c b/bc/util.c +index 8eba093..cacd796 100644 +--- a/bc/util.c ++++ b/bc/util.c +@@ -247,9 +247,10 @@ init_gen (void) + continue_label = 0; + next_label = 1; + out_count = 2; +- if (compile_only) ++ if (compile_only) { + printf ("@i"); +- else ++ checkferror_output(stdout); ++ } else + init_load (); + had_error = FALSE; + did_gen = FALSE; +@@ -272,6 +273,7 @@ generate (const char *str) + printf ("\n"); + out_count = 0; + } ++ checkferror_output(stdout); + } + else + load_code (str); +@@ -289,6 +291,7 @@ run_code(void) + if (compile_only) + { + printf ("@r\n"); ++ checkferror_output(stdout); + out_count = 0; + } + else +@@ -326,6 +329,7 @@ out_char (int ch) + } + putchar (ch); + } ++ checkferror_output(stdout); + } + + /* Output routines: Write a character CH to the standard output. +@@ -355,6 +359,7 @@ out_schar (int ch) + } + putchar (ch); + } ++ checkferror_output(stdout); + } + + +@@ -639,6 +644,7 @@ limits(void) + #ifdef OLD_EQ_OP + printf ("Old assignment operatiors are valid. (=-, =+, ...)\n"); + #endif ++ checkferror_output(stdout); + } + + /* bc_malloc will check the return value so all other places do not +@@ -703,6 +709,7 @@ yyerror (str, va_alist) + fprintf (stderr,"%s %d: ",name,line_no); + vfprintf (stderr, str, args); + fprintf (stderr, "\n"); ++ checkferror_output(stderr); + had_error = TRUE; + va_end (args); + } +@@ -743,6 +750,7 @@ ct_warn (mesg, va_alist) + fprintf (stderr,"%s %d: Error: ",name,line_no); + vfprintf (stderr, mesg, args); + fprintf (stderr, "\n"); ++ checkferror_output(stderr); + had_error = TRUE; + } + else +@@ -755,6 +763,7 @@ ct_warn (mesg, va_alist) + fprintf (stderr,"%s %d: (Warning) ",name,line_no); + vfprintf (stderr, mesg, args); + fprintf (stderr, "\n"); ++ checkferror_output(stderr); + } + va_end (args); + } +@@ -789,6 +798,7 @@ rt_error (mesg, va_alist) + va_end (args); + + fprintf (stderr, "\n"); ++ checkferror_output(stderr); + runtime_error = TRUE; + } + +@@ -823,6 +833,7 @@ rt_warn (const char *mesg) + va_end (args); + + fprintf (stderr, "\n"); ++ checkferror_output(stderr); + } + + /* bc_exit: Make sure to reset the edit state. */ +diff --git a/dc/dc.c b/dc/dc.c +index 6a2bb26..ccdb1c2 100644 +--- a/dc/dc.c ++++ b/dc/dc.c +@@ -59,6 +59,7 @@ static void + bug_report_info DC_DECLVOID() + { + printf("Email bug reports to: bug-dc@gnu.org .\n"); ++ checkferror_output(stdout); + } + + static void +@@ -69,6 +70,7 @@ show_version DC_DECLVOID() + This is free software; see the source for copying conditions. There is NO\n\ + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n\ + to the extent permitted by law.\n", DC_COPYRIGHT); ++ checkferror_output(stdout); + } + + /* your generic usage function */ +@@ -85,6 +87,7 @@ Usage: %s [OPTION] [file ...]\n\ + \n\ + ", progname); + bug_report_info(); ++ checkferror_output(f); + } + + /* returns a pointer to one past the last occurance of c in s, +diff --git a/dc/eval.c b/dc/eval.c +index 05a3d9e..6c54e61 100644 +--- a/dc/eval.c ++++ b/dc/eval.c +@@ -97,12 +97,15 @@ static int input_pushback; + static int + input_fil DC_DECLVOID() + { ++ int c; + if (input_pushback != EOF){ +- int c = input_pushback; ++ c = input_pushback; + input_pushback = EOF; + return c; + } +- return getc(input_fil_fp); ++ c = getc(input_fil_fp); ++ checkferror_input(input_fil_fp); ++ return c; + } + + /* passed as an argument to dc_getnum */ +@@ -301,11 +304,13 @@ dc_func DC_DECLARG((c, peekc, negcmp)) + tmpint = dc_num2int(datum.v.number, DC_TOSS); + if (2 <= tmpint && tmpint <= DC_IBASE_MAX) + dc_ibase = tmpint; +- else ++ else { + fprintf(stderr, + "%s: input base must be a number \ + between 2 and %d (inclusive)\n", + progname, DC_IBASE_MAX); ++ checkferror_output(stderr); ++ } + } + break; + case 'k': /* set scale to value on top of stack */ +@@ -313,11 +318,12 @@ between 2 and %d (inclusive)\n", + tmpint = -1; + if (datum.dc_type == DC_NUMBER) + tmpint = dc_num2int(datum.v.number, DC_TOSS); +- if ( ! (tmpint >= 0) ) ++ if ( ! (tmpint >= 0) ) { + fprintf(stderr, + "%s: scale must be a nonnegative number\n", + progname); +- else ++ checkferror_output(stderr); ++ } else + dc_scale = tmpint; + } + break; +@@ -341,11 +347,12 @@ between 2 and %d (inclusive)\n", + tmpint = 0; + if (datum.dc_type == DC_NUMBER) + tmpint = dc_num2int(datum.v.number, DC_TOSS); +- if ( ! (tmpint > 1) ) ++ if ( ! (tmpint > 1) ) { + fprintf(stderr, + "%s: output base must be a number greater than 1\n", + progname); +- else ++ checkferror_output(stderr); ++ } else + dc_obase = tmpint; + } + break; +@@ -378,6 +385,7 @@ between 2 and %d (inclusive)\n", + fprintf(stderr, + "%s: square root of nonnumeric attempted\n", + progname); ++ checkferror_output(stderr); + }else if (dc_sqrt(datum.v.number, dc_scale, &tmpnum) == DC_SUCCESS){ + dc_free_num(&datum.v.number); + datum.v.number = tmpnum; +@@ -424,6 +432,7 @@ between 2 and %d (inclusive)\n", + dc_garbage("at top of stack", -1); + } + fflush(stdout); ++ checkferror_output(stdout); + break; + case 'Q': /* quit out of top-of-stack nested evals; + * pops value from stack; +@@ -440,6 +449,7 @@ between 2 and %d (inclusive)\n", + fprintf(stderr, + "%s: Q command requires a number >= 1\n", + progname); ++ checkferror_output(stderr); + } + break; + case 'R': /* pop a value off of the evaluation stack,; +@@ -483,11 +493,12 @@ between 2 and %d (inclusive)\n", + if (datum.dc_type == DC_NUMBER) + tmpint = dc_num2int(datum.v.number, DC_TOSS); + if (dc_pop(&datum) == DC_SUCCESS){ +- if (tmpint < 0) ++ if (tmpint < 0) { + fprintf(stderr, + "%s: array index must be a nonnegative integer\n", + progname); +- else ++ checkferror_output(stderr); ++ } else + dc_array_set(peekc, tmpint, datum); + } + } +@@ -499,18 +510,21 @@ between 2 and %d (inclusive)\n", + tmpint = -1; + if (datum.dc_type == DC_NUMBER) + tmpint = dc_num2int(datum.v.number, DC_TOSS); +- if (tmpint < 0) ++ if (tmpint < 0) { + fprintf(stderr, + "%s: array index must be a nonnegative integer\n", + progname); +- else ++ checkferror_output(stderr); ++ } else + dc_push(dc_array_get(peekc, tmpint)); + } + return DC_EATONE; + + default: /* What did that user mean? */ + fprintf(stderr, "%s: ", progname); ++ checkferror_output(stderr); + dc_show_id(stdout, c, " unimplemented\n"); ++ checkferror_output(stdout); + break; + } + return DC_OKAY; +@@ -538,6 +552,7 @@ evalstr DC_DECLARG((string)) + fprintf(stderr, + "%s: eval called with non-string argument\n", + progname); ++ checkferror_output(stderr); + return DC_OKAY; + } + interrupt_seen = 0; +@@ -635,6 +650,7 @@ evalstr DC_DECLARG((string)) + return DC_FAIL; + } + fprintf(stderr, "%s: unexpected EOS\n", progname); ++ checkferror_output(stderr); + return DC_OKAY; + } + } +@@ -692,6 +708,7 @@ dc_evalfile DC_DECLARG((fp)) + stdin_lookahead = EOF; + for (c=getc(fp); c!=EOF; c=peekc){ + peekc = getc(fp); ++ checkferror_input(stdin); + /* + * The following if() is the only place where ``stdin_lookahead'' + * might be set to other than EOF: +@@ -717,24 +734,30 @@ dc_evalfile DC_DECLARG((fp)) + signal(SIGINT, sigint_handler); + switch (dc_func(c, peekc, negcmp)){ + case DC_OKAY: +- if (stdin_lookahead != peekc && fp == stdin) ++ if (stdin_lookahead != peekc && fp == stdin) { + peekc = getc(fp); ++ checkferror_input(stdin); ++ } + break; + case DC_EATONE: + peekc = getc(fp); ++ checkferror_input(fp); + break; + case DC_EVALREG: + /*commands which send us here shall guarantee that peekc!=EOF*/ + c = peekc; + peekc = getc(fp); ++ checkferror_input(fp); + stdin_lookahead = peekc; + if (dc_register_get(c, &datum) != DC_SUCCESS) + break; + dc_push(datum); + /*@fallthrough@*/ + case DC_EVALTOS: +- if (stdin_lookahead != peekc && fp == stdin) ++ if (stdin_lookahead != peekc && fp == stdin) { + peekc = getc(fp); ++ checkferror_input(stdin); ++ } + if (dc_pop(&datum) == DC_SUCCESS){ + if (datum.dc_type == DC_NUMBER){ + dc_push(datum); +@@ -744,6 +767,7 @@ dc_evalfile DC_DECLARG((fp)) + goto reset_and_exit_quit; + fprintf(stderr, "%s: Q command argument exceeded \ + string execution depth\n", progname); ++ checkferror_output(stderr); + } + }else{ + dc_garbage("at top of stack", -1); +@@ -756,8 +780,11 @@ string execution depth\n", progname); + fprintf(stderr, + "%s: Q command argument exceeded string execution depth\n", + progname); +- if (stdin_lookahead != peekc && fp == stdin) ++ checkferror_output(stderr); ++ if (stdin_lookahead != peekc && fp == stdin) { + peekc = getc(fp); ++ checkferror_input(stdin); ++ } + break; + + case DC_INT: +diff --git a/dc/misc.c b/dc/misc.c +index cd23602..cd910b8 100644 +--- a/dc/misc.c ++++ b/dc/misc.c +@@ -89,6 +89,7 @@ dc_show_id DC_DECLARG((fp, id, suffix)) + fprintf(fp, "'%c' (%#o)%s", (unsigned int) id, id, suffix); + else + fprintf(fp, "%#o%s", (unsigned int) id, suffix); ++ checkferror_output(fp); + } + + +diff --git a/dc/numeric.c b/dc/numeric.c +index 37759de..60cfb85 100644 +--- a/dc/numeric.c ++++ b/dc/numeric.c +@@ -133,6 +133,7 @@ dc_div DC_DECLARG((a, b, kscale, result)) + bc_init_num(CastNumPtr(result)); + if (bc_divide(CastNum(a), CastNum(b), CastNumPtr(result), kscale)){ + fprintf(stderr, "%s: divide by zero\n", progname); ++ checkferror_output(stderr); + return DC_DOMAIN_ERROR; + } + return DC_SUCCESS; +@@ -155,6 +156,7 @@ dc_divrem DC_DECLARG((a, b, kscale, quotient, remainder)) + if (bc_divmod(CastNum(a), CastNum(b), + CastNumPtr(quotient), CastNumPtr(remainder), kscale)){ + fprintf(stderr, "%s: divide by zero\n", progname); ++ checkferror_output(stderr); + return DC_DOMAIN_ERROR; + } + return DC_SUCCESS; +@@ -173,6 +175,7 @@ dc_rem DC_DECLARG((a, b, kscale, result)) + bc_init_num(CastNumPtr(result)); + if (bc_modulo(CastNum(a), CastNum(b), CastNumPtr(result), kscale)){ + fprintf(stderr, "%s: remainder by zero\n", progname); ++ checkferror_output(stderr); + return DC_DOMAIN_ERROR; + } + return DC_SUCCESS; +@@ -225,6 +228,7 @@ dc_sqrt DC_DECLARG((value, kscale, result)) + tmp = bc_copy_num(CastNum(value)); + if (!bc_sqrt(&tmp, kscale)){ + fprintf(stderr, "%s: square root of negative number\n", progname); ++ checkferror_output(stderr); + bc_free_num(&tmp); + return DC_DOMAIN_ERROR; + } +@@ -470,6 +474,7 @@ dc_dump_num DC_DECLARG((dcvalue, discard_p)) + + for (cur=top_of_stack; cur; cur=next) { + putchar(cur->digit); ++ checkferror_output(stdout); + next = cur->link; + free(cur); + } +@@ -587,6 +592,8 @@ out_char (ch) + out_col = 1; + } + putchar(ch); ++ checkferror_output(stdout); ++ checkferror_output(stderr); + } + } + +@@ -626,6 +633,7 @@ rt_error (mesg, va_alist) + vfprintf (stderr, mesg, args); + va_end (args); + fprintf (stderr, "\n"); ++ checkferror_output(stderr); + } + + +@@ -659,6 +667,7 @@ rt_warn (mesg, va_alist) + vfprintf (stderr, mesg, args); + va_end (args); + fprintf (stderr, "\n"); ++ checkferror_output(stderr); + } + + +diff --git a/dc/stack.c b/dc/stack.c +index 49422df..174411d 100644 +--- a/dc/stack.c ++++ b/dc/stack.c +@@ -35,7 +35,10 @@ + #include "dc-regdef.h" + + /* an oft-used error message: */ +-#define Empty_Stack fprintf(stderr, "%s: stack empty\n", progname) ++#define Empty_Stack do{ \ ++ fprintf(stderr, "%s: stack empty\n", progname); \ ++ checkferror_output(stderr); \ ++ }while(0) + + + /* simple linked-list implementation suffices: */ +@@ -91,6 +94,7 @@ dc_binop DC_DECLARG((op, kscale)) + if (dc_stack->value.dc_type!=DC_NUMBER + || dc_stack->link->value.dc_type!=DC_NUMBER){ + fprintf(stderr, "%s: non-numeric value\n", progname); ++ checkferror_output(stderr); + return; + } + (void)dc_pop(&b); +@@ -131,6 +135,7 @@ dc_binop2 DC_DECLARG((op, kscale)) + if (dc_stack->value.dc_type!=DC_NUMBER + || dc_stack->link->value.dc_type!=DC_NUMBER){ + fprintf(stderr, "%s: non-numeric value\n", progname); ++ checkferror_output(stderr); + return; + } + (void)dc_pop(&b); +@@ -169,6 +174,7 @@ dc_cmpop DC_DECLVOID() + if (dc_stack->value.dc_type!=DC_NUMBER + || dc_stack->link->value.dc_type!=DC_NUMBER){ + fprintf(stderr, "%s: non-numeric value\n", progname); ++ checkferror_output(stderr); + return 0; + } + (void)dc_pop(&b); +@@ -206,6 +212,7 @@ dc_triop DC_DECLARG((op, kscale)) + || dc_stack->link->value.dc_type!=DC_NUMBER + || dc_stack->link->link->value.dc_type!=DC_NUMBER){ + fprintf(stderr, "%s: non-numeric value\n", progname); ++ checkferror_output(stderr); + return; + } + (void)dc_pop(&c); +@@ -327,6 +334,7 @@ dc_register_get DC_DECLARG((regid, result)) + *result = dc_int2data(0); + }else if (r->value.dc_type==DC_UNINITIALIZED){ + fprintf(stderr, "%s: BUG: register ", progname); ++ checkferror_output(stderr); + dc_show_id(stderr, regid, " exists but is uninitialized?\n"); + return DC_FAIL; + }else{ +@@ -402,6 +410,7 @@ dc_register_pop DC_DECLARG((stackid, result)) + r = dc_register[stackid]; + if (r==NULL || r->value.dc_type==DC_UNINITIALIZED){ + fprintf(stderr, "%s: stack register ", progname); ++ checkferror_output(stderr); + dc_show_id(stderr, stackid, " is empty\n"); + return DC_FAIL; + } +diff --git a/dc/string.c b/dc/string.c +index dee9169..389d899 100644 +--- a/dc/string.c ++++ b/dc/string.c +@@ -94,6 +94,7 @@ dc_out_str DC_DECLARG((value, discard_flag)) + dc_discard discard_flag DC_DECLEND + { + fwrite(value->s_ptr, value->s_len, sizeof *value->s_ptr, stdout); ++ checkferror_output(stdout); + if (discard_flag == DC_TOSS) + dc_free_str(&value); + } +@@ -169,6 +170,7 @@ dc_readstring DC_DECLARG((fp, ldelim, rdelim)) + } + *p++ = c; + } ++ checkferror_input(fp); + return dc_makestring(line_buf, (size_t)(p-line_buf)); + } + +diff --git a/h/number.h b/h/number.h +index abf6332..1983ab4 100644 +--- a/h/number.h ++++ b/h/number.h +@@ -23,10 +23,10 @@ + You may contact the author by: + e-mail: philnelson@acm.org + us-mail: Philip A. Nelson +- Computer Science Department, 9062 +- Western Washington University +- Bellingham, WA 98226-9062 +- ++ Computer Science Department, 9062 ++ Western Washington University ++ Bellingham, WA 98226-9062 ++ + *************************************************************************/ + + #ifndef _NUMBER_H_ +@@ -140,4 +140,7 @@ void bc_out_num (bc_num num, int o_base, void (* out_char)(int), + int leading_zero); + + void bc_out_long (long val, int size, int space, void (*out_char)(int)); ++ ++void checkferror_input (FILE*); ++void checkferror_output (FILE*); + #endif +diff --git a/lib/number.c b/lib/number.c +index f394e92..80b33e3 100644 +--- a/lib/number.c ++++ b/lib/number.c +@@ -1713,6 +1713,7 @@ static void + out_char (int c) + { + putchar(c); ++ checkferror_output(stdout); + } + + +@@ -1721,6 +1722,7 @@ pn (bc_num num) + { + bc_out_num (num, 10, out_char, 0); + out_char ('\n'); ++ checkferror_output(stdout); + } + + +@@ -1732,6 +1734,28 @@ pv (char *name, unsigned char *num, int len) + printf ("%s=", name); + for (i=0; i +Date: Thu, 27 Jun 2019 13:10:47 +0800 +Subject: [PATCH] dc: fix exit code of q command + +The exit code for "echo q | dc" is 1 for dc-1.4.1; +while the exit code for "echo q | dc" is 0 for dc-1.4. + +Here is the answer from ken@gnu.org: +dc-1.4 was right. There was a rewrite of a chunk of code for 1.4.1 to +fix a corner case in the Q command, and somehow the placement of the +clean-up label for the 'q' command got misplaced on the error-handling +branch instead of the clean-exit branch. The patch below fixes this +(it is committed for whenever the next bc/dc release gets made). + +Thanks for the report, + --Ken Pizzini + +Upstream: +https://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch + +Signed-off-by: Li Zhou +Signed-off-by: Matthew Weber +--- + dc/eval.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dc/eval.c b/dc/eval.c +index 6c54e61..9c28f18 100644 +--- a/dc/eval.c ++++ b/dc/eval.c +@@ -841,10 +841,10 @@ error_fail: + fprintf(stderr, "%s: ", progname); + perror("error reading input"); + return DC_FAIL; +-reset_and_exit_quit: + reset_and_exit_fail: + signal(SIGINT, sigint_default); + return DC_FAIL; ++reset_and_exit_quit: + reset_and_exit_success: + signal(SIGINT, sigint_default); + return DC_SUCCESS; +-- +2.17.1 + diff --git a/package/bc/0004-no-gen-libmath.patch b/package/bc/0004-no-gen-libmath.patch new file mode 100644 index 0000000000..7cd506be2c --- /dev/null +++ b/package/bc/0004-no-gen-libmath.patch @@ -0,0 +1,97 @@ +From a543af443c5f86b24ca89a994b75b6ef4751ac66 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Thu, 12 Sep 2019 15:12:40 -0500 +Subject: [PATCH] no gen libmath + +These rules are not cross-friendly so delete them. libmath has been +generated offline and included as part of this patch as the fbc tool +used to generate that header is assuming the cross archtecture and +can't execute. + +Upstream: +https://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-extended/bc/bc/no-gen-libmath.patch +https://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-extended/bc/bc/libmath.h + +[Reformatted to GIT for 1.0.7.1 by Matt W] +Signed-off-by: Ross Burton +Signed-off-by: Matthew Weber +--- + bc/Makefile.am | 8 -------- + bc/libmath.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 46 insertions(+), 8 deletions(-) + create mode 100644 bc/libmath.h + +diff --git a/bc/Makefile.am b/bc/Makefile.am +index d9d412e..f244241 100644 +--- a/bc/Makefile.am ++++ b/bc/Makefile.am +@@ -31,14 +31,6 @@ global.o: libmath.h + + fbcOBJ = main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o + +-libmath.h: libmath.b $(fbcOBJ) $(LIBBC) +- echo '{0}' > libmath.h +- $(MAKE) global.o +- $(LINK) -o fbc $(fbcOBJ) global.o $(LIBBC) $(LIBL) $(READLINELIB) $(LIBS) +- ./fbc -c $(srcdir)/libmath.b libmath.h +- $(srcdir)/fix-libmath_h +- rm -f ./fbc ./global.o +- + sbcOBJ = main.o sbc.o scan.o execute.o global.o load.o storage.o util.o \ + warranty.o + sbc.o: sbc.c +diff --git a/bc/libmath.h b/bc/libmath.h +new file mode 100644 +index 0000000..63e1acb +--- /dev/null ++++ b/bc/libmath.h +@@ -0,0 +1,46 @@ ++{"@iK20:s2:p@r", ++"@iF1,5.6,7,8,9,10,11,12,13,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C1,0:", ++"s14:pl7:s0:pl14:RN1:l5:0Z4:l10:1+s10:pl5:K2:/s5:pl2:", ++"1+s2:pJ3:N4:l13:s2:p1l5:+s14:pl5:s6:p1s8:pK2:s11:pN6:1B7:J5:N8:", ++"l11:i11:pJ6:N7:l6:l5:*s6:l8:l11:*s8:/s9:pl9:0=Z9:l10:0>Z10:N11:", ++"l10:d10:Z12:l14:l14:*s14:pJ11:N12:N10:l15:s2:pl12:Z13:1l14:/R", ++"N13:l14:1/RN9:l14:l9:+s14:pJ8:N5:0R]@r", ++"@iF2,5.7,9,10,11,12,13,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C2,0:", ++"s14:pl7:s0:pl14:RN1:l5:0{Z2:1K10:l2:^-1/RN2:l2:s15:pK6:l2:+s2:", ++"pK2:s10:p0s11:pN3:l5:K2:}Z4:l10:K2:*s10:pl5:cRs5:pJ3:N4:N5:l5:", ++"K.5:{Z6:l10:K2:*s10:pl5:cRs5:pJ5:N6:l5:1-l5:1+/s13:s14:pl13:l13:", ++"*s12:pK3:s11:pN8:1B9:J7:N10:l11:K2:+s11:pJ8:N9:l13:l12:*s13:l11:", ++"/s9:pl9:0=Z11:l10:l14:*s14:pl15:s2:pl14:1/RN11:l14:l9:+s14:pJ10:N7:", ++"0R]@r", ++"@iF3,5.7,9,11,12,13,16,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C3,0:", ++"s14:pl7:s0:pl14:RN1:l2:s15:pK1.1:l15:*K2:+s2:p1C4,0:s14:pl5:0", ++"Z11:l15:K5:+s2:pK.2:C4,0:s6:pN11:", ++"l15:K3:+s2:pN12:l5:K.2:>Z13:l10:1+s10:pl5:K.2:-1l5:K.2:*+/s5:", ++"pJ12:N13:l5:s13:s14:pl5:nl5:*s16:pK3:s11:pN15:1B16:J14:N17:l11:", ++"K2:+s11:pJ15:N16:l13:l16:*s13:l11:/s9:pl9:0=Z18:l15:s2:pl10:l6:", ++"*l14:+l12:/RN18:l14:l9:+s14:pJ17:N14:0R]@r", ++"@iF6,13,5.6,7,8,9,10,11,12,16,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl13:", ++"l5:C6,00:s14:pl7:s0:pl14:RN1:l2:s15:p0s2:pl13:1/s13:pl13:0 Tue, 4 Apr 2006 17:21:02 +0100 -Author: Ian Jackson -Origin: other -Bug-Debian: http://bugs.debian.org/488735 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -diff --git a/bc/execute.c b/bc/execute.c -index e4e8ef7..8787048 100644 ---- a/bc/execute.c -+++ b/bc/execute.c -@@ -108,6 +108,7 @@ execute () - } - out_char ('\n'); - } -+ checkferror_output(stdout); - } - #endif - -@@ -222,6 +223,7 @@ execute () - } - } - fflush (stdout); -+ checkferror_output(stdout); - break; - - case 'R' : /* Return from function */ -@@ -257,6 +259,7 @@ execute () - if (inst == 'W') out_char ('\n'); - store_var (4); /* Special variable "last". */ - fflush (stdout); -+ checkferror_output(stdout); - pop (); - break; - -@@ -338,6 +341,7 @@ execute () - case 'w' : /* Write a string to the output. */ - while ((ch = byte(&pc)) != '"') out_schar (ch); - fflush (stdout); -+ checkferror_output(stdout); - break; - - case 'x' : /* Exchange Top of Stack with the one under the tos. */ -@@ -545,7 +549,10 @@ execute () - { - signal (SIGINT, use_quit); - if (had_sigint) -- printf ("\ninterrupted execution.\n"); -+ { -+ printf ("\ninterrupted execution.\n"); -+ checkferror_output(stdout); -+ } - } - } - -@@ -580,6 +587,7 @@ input_char () - out_col = 0; /* Saw a new line */ - } - } -+ checkferror_input(stdin); - - /* Classify and preprocess the input character. */ - if (isdigit(in_ch)) -diff --git a/bc/load.c b/bc/load.c -index 1035198..4039e86 100644 ---- a/bc/load.c -+++ b/bc/load.c -@@ -217,6 +217,7 @@ load_code (code) - if (label_no > 65535L) - { /* Better message? */ - fprintf (stderr,"Program too big.\n"); -+ checkferror_output(stderr); - exit(1); - } - addbyte ( (char) (label_no & 0xFF)); -diff --git a/bc/main.c b/bc/main.c -index 9a2461e..3ae427d 100644 ---- a/bc/main.c -+++ b/bc/main.c -@@ -358,6 +358,9 @@ use_quit (sig) - errno = save; - #else - write (1, "\n(interrupt) Exiting bc.\n", 26); -+#ifdef READLINE -+ rl_initialize (); /* Clear readline buffer */ -+#endif - #if defined(LIBEDIT) - if (edit != NULL) - el_end(edit); -diff --git a/bc/sbc.y b/bc/sbc.y -index 0ded29e..6fcc1fa 100644 ---- a/bc/sbc.y -+++ b/bc/sbc.y -@@ -86,7 +86,9 @@ program : /* empty */ - if (interactive && !quiet) - { - show_bc_version (); -+ checkferror_output(stdout); - welcome (); -+ checkferror_output(stdout); - } - } - | program input_item -diff --git a/bc/scan.c b/bc/scan.c -index 1f78ec2..2b5eeb4 100644 ---- a/bc/scan.c -+++ b/bc/scan.c -@@ -799,6 +799,7 @@ bcel_input (buf, result, max) - if (bcel_len != 0) - history (hist, &histev, H_ENTER, bcel_line); - fflush (stdout); -+ checkferror_output(stdout); - } - - if (bcel_len <= max) -@@ -874,6 +875,7 @@ rl_input (buf, result, max) - add_history (rl_line); - rl_line[rl_len-1] = '\n'; - fflush (stdout); -+ checkferror_output(stdout); - } - - if (rl_len <= max) -diff --git a/bc/scan.l b/bc/scan.l -index 841c3df..16cd62e 100644 ---- a/bc/scan.l -+++ b/bc/scan.l -@@ -111,6 +111,7 @@ bcel_input (buf, result, max) - if (bcel_len != 0) - history (hist, &histev, H_ENTER, bcel_line); - fflush (stdout); -+ checkferror_output(stdout); - } - - if (bcel_len <= max) -@@ -186,6 +187,7 @@ rl_input (buf, result, max) - add_history (rl_line); - rl_line[rl_len-1] = '\n'; - fflush (stdout); -+ checkferror_output(stdout); - } - - if (rl_len <= max) -@@ -310,6 +312,7 @@ limits return(Limits); - if (c == EOF) - { - fprintf (stderr,"EOF encountered in a comment.\n"); -+ checkferror_output(stderr); - break; - } - } -diff --git a/bc/storage.c b/bc/storage.c -index 699729a..37b4c6c 100644 ---- a/bc/storage.c -+++ b/bc/storage.c -@@ -99,6 +99,7 @@ more_functions (VOID) - { - f = &functions[indx]; - f->f_defined = FALSE; -+ f->f_void = FALSE; - f->f_body = (char *) bc_malloc (BC_START_SIZE); - f->f_body_size = BC_START_SIZE; - f->f_code_size = 0; -diff --git a/bc/util.c b/bc/util.c -index 30beaf9..669235f 100644 ---- a/bc/util.c -+++ b/bc/util.c -@@ -260,9 +260,10 @@ init_gen () - continue_label = 0; - next_label = 1; - out_count = 2; -- if (compile_only) -+ if (compile_only) { - printf ("@i"); -- else -+ checkferror_output(stdout); -+ } else - init_load (); - had_error = FALSE; - did_gen = FALSE; -@@ -286,6 +287,7 @@ generate (str) - printf ("\n"); - out_count = 0; - } -+ checkferror_output(stdout); - } - else - load_code (str); -@@ -303,6 +305,7 @@ run_code() - if (compile_only) - { - printf ("@r\n"); -+ checkferror_output(stdout); - out_count = 0; - } - else -@@ -341,6 +344,7 @@ out_char (ch) - } - putchar (ch); - } -+ checkferror_output(stdout); - } - - /* Output routines: Write a character CH to the standard output. -@@ -371,6 +375,7 @@ out_schar (ch) - } - putchar (ch); - } -+ checkferror_output(stdout); - } - - -@@ -657,6 +662,7 @@ limits() - #ifdef OLD_EQ_OP - printf ("Old assignment operatiors are valid. (=-, =+, ...)\n"); - #endif -+ checkferror_output(stdout); - } - - /* bc_malloc will check the return value so all other places do not -@@ -721,6 +727,7 @@ yyerror (str, va_alist) - fprintf (stderr,"%s %d: ",name,line_no); - vfprintf (stderr, str, args); - fprintf (stderr, "\n"); -+ checkferror_output(stderr); - had_error = TRUE; - va_end (args); - } -@@ -761,6 +768,7 @@ warn (mesg, va_alist) - fprintf (stderr,"%s %d: Error: ",name,line_no); - vfprintf (stderr, mesg, args); - fprintf (stderr, "\n"); -+ checkferror_output(stderr); - had_error = TRUE; - } - else -@@ -773,6 +781,7 @@ warn (mesg, va_alist) - fprintf (stderr,"%s %d: (Warning) ",name,line_no); - vfprintf (stderr, mesg, args); - fprintf (stderr, "\n"); -+ checkferror_output(stderr); - } - va_end (args); - } -@@ -807,6 +816,7 @@ rt_error (mesg, va_alist) - va_end (args); - - fprintf (stderr, "\n"); -+ checkferror_output(stderr); - runtime_error = TRUE; - } - -@@ -843,4 +853,5 @@ rt_warn (mesg, va_alist) - va_end (args); - - fprintf (stderr, "\n"); -+ checkferror_output(stderr); - } -diff --git a/dc/dc.c b/dc/dc.c -index e03f094..0faf03a 100644 ---- a/dc/dc.c -+++ b/dc/dc.c -@@ -61,6 +61,7 @@ static void - bug_report_info DC_DECLVOID() - { - printf("Email bug reports to: bug-dc@gnu.org .\n"); -+ checkferror_output(stdout); - } - - static void -@@ -71,6 +72,7 @@ show_version DC_DECLVOID() - This is free software; see the source for copying conditions. There is NO\n\ - warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,\n\ - to the extent permitted by law.\n", DC_COPYRIGHT); -+ checkferror_output(stdout); - } - - /* your generic usage function */ -@@ -87,6 +89,7 @@ Usage: %s [OPTION] [file ...]\n\ - \n\ - ", progname); - bug_report_info(); -+ checkferror_output(f); - } - - /* returns a pointer to one past the last occurance of c in s, -diff --git a/dc/eval.c b/dc/eval.c -index 4af7200..153d331 100644 ---- a/dc/eval.c -+++ b/dc/eval.c -@@ -94,12 +94,15 @@ static int input_pushback; - static int - input_fil DC_DECLVOID() - { -+ int c; - if (input_pushback != EOF){ -- int c = input_pushback; -+ c = input_pushback; - input_pushback = EOF; - return c; - } -- return getc(input_fil_fp); -+ c = getc(input_fil_fp); -+ checkferror_input(input_fil_fp); -+ return c; - } - - /* passed as an argument to dc_getnum */ -@@ -298,11 +301,13 @@ dc_func DC_DECLARG((c, peekc, negcmp)) - tmpint = dc_num2int(datum.v.number, DC_TOSS); - if (2 <= tmpint && tmpint <= DC_IBASE_MAX) - dc_ibase = tmpint; -- else -+ else { - fprintf(stderr, - "%s: input base must be a number \ - between 2 and %d (inclusive)\n", - progname, DC_IBASE_MAX); -+ checkferror_output(stderr); -+ } - } - break; - case 'k': /* set scale to value on top of stack */ -@@ -310,11 +315,12 @@ between 2 and %d (inclusive)\n", - tmpint = -1; - if (datum.dc_type == DC_NUMBER) - tmpint = dc_num2int(datum.v.number, DC_TOSS); -- if ( ! (tmpint >= 0) ) -+ if ( ! (tmpint >= 0) ) { - fprintf(stderr, - "%s: scale must be a nonnegative number\n", - progname); -- else -+ checkferror_output(stderr); -+ } else - dc_scale = tmpint; - } - break; -@@ -338,11 +344,12 @@ between 2 and %d (inclusive)\n", - tmpint = 0; - if (datum.dc_type == DC_NUMBER) - tmpint = dc_num2int(datum.v.number, DC_TOSS); -- if ( ! (tmpint > 1) ) -+ if ( ! (tmpint > 1) ) { - fprintf(stderr, - "%s: output base must be a number greater than 1\n", - progname); -- else -+ checkferror_output(stderr); -+ } else - dc_obase = tmpint; - } - break; -@@ -383,6 +390,7 @@ between 2 and %d (inclusive)\n", - fprintf(stderr, - "%s: square root of nonnumeric attempted\n", - progname); -+ checkferror_output(stderr); - }else if (dc_sqrt(datum.v.number, dc_scale, &tmpnum) == DC_SUCCESS){ - dc_free_num(&datum.v.number); - datum.v.number = tmpnum; -@@ -444,6 +452,7 @@ between 2 and %d (inclusive)\n", - fprintf(stderr, - "%s: Q command requires a number >= 1\n", - progname); -+ checkferror_output(stderr); - } - break; - #if 0 -@@ -489,11 +498,12 @@ between 2 and %d (inclusive)\n", - if (datum.dc_type == DC_NUMBER) - tmpint = dc_num2int(datum.v.number, DC_TOSS); - if (dc_pop(&datum) == DC_SUCCESS){ -- if (tmpint < 0) -+ if (tmpint < 0) { - fprintf(stderr, - "%s: array index must be a nonnegative integer\n", - progname); -- else -+ checkferror_output(stderr); -+ } else - dc_array_set(peekc, tmpint, datum); - } - } -@@ -505,17 +515,19 @@ between 2 and %d (inclusive)\n", - tmpint = -1; - if (datum.dc_type == DC_NUMBER) - tmpint = dc_num2int(datum.v.number, DC_TOSS); -- if (tmpint < 0) -+ if (tmpint < 0) { - fprintf(stderr, - "%s: array index must be a nonnegative integer\n", - progname); -- else -+ checkferror_output(stderr); -+ } else - dc_push(dc_array_get(peekc, tmpint)); - } - return DC_EATONE; - - default: /* What did that user mean? */ - fprintf(stderr, "%s: ", progname); -+ checkferror_output(stderr); - dc_show_id(stdout, c, " unimplemented\n"); - break; - } -@@ -544,6 +556,7 @@ dc_evalstr DC_DECLARG((string)) - fprintf(stderr, - "%s: eval called with non-string argument\n", - progname); -+ checkferror_output(stderr); - return DC_OKAY; - } - interrupt_seen = 0; -@@ -640,6 +653,7 @@ dc_evalstr DC_DECLARG((string)) - return DC_FAIL; - } - fprintf(stderr, "%s: unexpected EOS\n", progname); -+ checkferror_output(stderr); - return DC_OKAY; - } - } -@@ -665,6 +679,7 @@ dc_evalfile DC_DECLARG((fp)) - stdin_lookahead = EOF; - for (c=getc(fp); c!=EOF; c=peekc){ - peekc = getc(fp); -+ checkferror_input(stdin); - /* - * The following if() is the only place where ``stdin_lookahead'' - * might be set to other than EOF: -@@ -716,6 +731,7 @@ dc_evalfile DC_DECLARG((fp)) - return DC_SUCCESS; - fprintf(stderr, "%s: Q command argument exceeded \ - string execution depth\n", progname); -+ checkferror_output(stderr); - } - }else{ - dc_garbage("at top of stack", -1); -@@ -728,8 +744,11 @@ string execution depth\n", progname); - fprintf(stderr, - "%s: Q command argument exceeded string execution depth\n", - progname); -- if (stdin_lookahead != peekc && fp == stdin) -+ checkferror_output(stderr); -+ if (stdin_lookahead != peekc && fp == stdin) { - peekc = getc(fp); -+ checkferror_input(stdin); -+ } - break; - - case DC_INT: -@@ -771,6 +790,7 @@ string execution depth\n", progname); - if (ferror(fp)) - goto error_fail; - fprintf(stderr, "%s: unexpected EOF\n", progname); -+ checkferror_output(stderr); - return DC_FAIL; - } - } -diff --git a/dc/misc.c b/dc/misc.c -index f2388b0..1be56fe 100644 ---- a/dc/misc.c -+++ b/dc/misc.c -@@ -91,6 +91,7 @@ dc_show_id DC_DECLARG((fp, id, suffix)) - fprintf(fp, "'%c' (%#o)%s", (unsigned int) id, id, suffix); - else - fprintf(fp, "%#o%s", (unsigned int) id, suffix); -+ checkferror_output(fp); - } - - -diff --git a/dc/numeric.c b/dc/numeric.c -index 8e5e70f..c875eba 100644 ---- a/dc/numeric.c -+++ b/dc/numeric.c -@@ -134,6 +134,7 @@ dc_div DC_DECLARG((a, b, kscale, result)) - bc_init_num(CastNumPtr(result)); - if (bc_divide(CastNum(a), CastNum(b), CastNumPtr(result), kscale)){ - fprintf(stderr, "%s: divide by zero\n", progname); -+ checkferror_output(stderr); - return DC_DOMAIN_ERROR; - } - return DC_SUCCESS; -@@ -156,6 +157,7 @@ dc_divrem DC_DECLARG((a, b, kscale, quotient, remainder)) - if (bc_divmod(CastNum(a), CastNum(b), - CastNumPtr(quotient), CastNumPtr(remainder), kscale)){ - fprintf(stderr, "%s: divide by zero\n", progname); -+ checkferror_output(stderr); - return DC_DOMAIN_ERROR; - } - return DC_SUCCESS; -@@ -174,6 +176,7 @@ dc_rem DC_DECLARG((a, b, kscale, result)) - bc_init_num(CastNumPtr(result)); - if (bc_modulo(CastNum(a), CastNum(b), CastNumPtr(result), kscale)){ - fprintf(stderr, "%s: remainder by zero\n", progname); -+ checkferror_output(stderr); - return DC_DOMAIN_ERROR; - } - return DC_SUCCESS; -@@ -226,6 +229,7 @@ dc_sqrt DC_DECLARG((value, kscale, result)) - tmp = bc_copy_num(CastNum(value)); - if (!bc_sqrt(&tmp, kscale)){ - fprintf(stderr, "%s: square root of negative number\n", progname); -+ checkferror_output(stderr); - bc_free_num(&tmp); - return DC_DOMAIN_ERROR; - } -@@ -429,8 +433,10 @@ dc_out_num DC_DECLARG((value, obase, newline_p, discard_p)) - { - out_char('\0'); /* clear the column counter */ - bc_out_num(CastNum(value), obase, out_char, 0); -- if (newline_p == DC_WITHNL) -+ if (newline_p == DC_WITHNL) { - putchar ('\n'); -+ checkferror_output(stdout); -+ } - if (discard_p == DC_TOSS) - dc_free_num(&value); - } -@@ -475,6 +481,7 @@ dc_dump_num DC_DECLARG((dcvalue, discard_p)) - - for (cur=top_of_stack; cur; cur=next) { - putchar(cur->digit); -+ checkferror_output(stdout); - next = cur->link; - free(cur); - } -@@ -592,6 +599,7 @@ out_char (ch) - out_col = 1; - } - putchar(ch); -+ checkferror_output(stderr); - } - } - -@@ -631,6 +639,7 @@ rt_error (mesg, va_alist) - vfprintf (stderr, mesg, args); - va_end (args); - fprintf (stderr, "\n"); -+ checkferror_output(stderr); - } - - -@@ -664,6 +673,7 @@ rt_warn (mesg, va_alist) - vfprintf (stderr, mesg, args); - va_end (args); - fprintf (stderr, "\n"); -+ checkferror_output(stderr); - } - - -diff --git a/dc/stack.c b/dc/stack.c -index 0730e9c..5db3975 100644 ---- a/dc/stack.c -+++ b/dc/stack.c -@@ -38,7 +38,10 @@ - #include "dc-regdef.h" - - /* an oft-used error message: */ --#define Empty_Stack fprintf(stderr, "%s: stack empty\n", progname) -+#define Empty_Stack do{ \ -+ fprintf(stderr, "%s: stack empty\n", progname); \ -+ checkferror_output(stderr); \ -+ }while(0) - - - /* simple linked-list implementation suffices: */ -@@ -94,6 +97,7 @@ dc_binop DC_DECLARG((op, kscale)) - if (dc_stack->value.dc_type!=DC_NUMBER - || dc_stack->link->value.dc_type!=DC_NUMBER){ - fprintf(stderr, "%s: non-numeric value\n", progname); -+ checkferror_output(stderr); - return; - } - (void)dc_pop(&b); -@@ -134,6 +138,7 @@ dc_binop2 DC_DECLARG((op, kscale)) - if (dc_stack->value.dc_type!=DC_NUMBER - || dc_stack->link->value.dc_type!=DC_NUMBER){ - fprintf(stderr, "%s: non-numeric value\n", progname); -+ checkferror_output(stderr); - return; - } - (void)dc_pop(&b); -@@ -172,6 +177,7 @@ dc_cmpop DC_DECLVOID() - if (dc_stack->value.dc_type!=DC_NUMBER - || dc_stack->link->value.dc_type!=DC_NUMBER){ - fprintf(stderr, "%s: non-numeric value\n", progname); -+ checkferror_output(stderr); - return 0; - } - (void)dc_pop(&b); -@@ -209,6 +215,7 @@ dc_triop DC_DECLARG((op, kscale)) - || dc_stack->link->value.dc_type!=DC_NUMBER - || dc_stack->link->link->value.dc_type!=DC_NUMBER){ - fprintf(stderr, "%s: non-numeric value\n", progname); -+ checkferror_output(stderr); - return; - } - (void)dc_pop(&c); -@@ -327,6 +334,7 @@ dc_register_get DC_DECLARG((regid, result)) - r = dc_register[regid]; - if (r==NULL || r->value.dc_type==DC_UNINITIALIZED){ - fprintf(stderr, "%s: register ", progname); -+ checkferror_output(stderr); - dc_show_id(stderr, regid, " is empty\n"); - return DC_FAIL; - } -@@ -401,6 +409,7 @@ dc_register_pop DC_DECLARG((stackid, result)) - r = dc_register[stackid]; - if (r == NULL){ - fprintf(stderr, "%s: stack register ", progname); -+ checkferror_output(stderr); - dc_show_id(stderr, stackid, " is empty\n"); - return DC_FAIL; - } -diff --git a/dc/string.c b/dc/string.c -index ff1e7f1..e24092d 100644 ---- a/dc/string.c -+++ b/dc/string.c -@@ -101,6 +101,7 @@ dc_out_str DC_DECLARG((value, newline, discard_flag)) - fwrite(value->s_ptr, value->s_len, sizeof *value->s_ptr, stdout); - if (newline == DC_WITHNL) - putchar('\n'); -+ checkferror_output(stdout); - if (discard_flag == DC_TOSS) - dc_free_str(&value); - } -@@ -176,6 +177,7 @@ dc_readstring DC_DECLARG((fp, ldelim, rdelim)) - } - *p++ = c; - } -+ checkferror_input(fp); - return dc_makestring(line_buf, (size_t)(p-line_buf)); - } - -diff --git a/h/number.h b/h/number.h -index 9b034b6..3a00a92 100644 ---- a/h/number.h -+++ b/h/number.h -@@ -150,4 +150,7 @@ _PROTOTYPE(int bc_sqrt, (bc_num *num, int scale)); - _PROTOTYPE(void bc_out_num, (bc_num num, int o_base, void (* out_char)(int), - int leading_zero)); - -+_PROTOTYPE(void checkferror_input, (FILE*)); -+_PROTOTYPE(void checkferror_output, (FILE*)); -+ - #endif -diff --git a/lib/number.c b/lib/number.c -index e211840..4d3ce46 100644 ---- a/lib/number.c -+++ b/lib/number.c -@@ -1776,6 +1776,7 @@ static void - out_char (int c) - { - putchar(c); -+ checkferror_output(stdout); - } - - -@@ -1785,6 +1786,7 @@ pn (num) - { - bc_out_num (num, 10, out_char, 0); - out_char ('\n'); -+ checkferror_output(stdout); - } - - -@@ -1799,6 +1801,28 @@ pv (name, num, len) - printf ("%s=", name); - for (i=0; i - -diff -Nura bc-1.06.95.orig/doc/Makefile.in bc-1.06.95/doc/Makefile.in ---- bc-1.06.95.orig/doc/Makefile.in 2015-06-13 09:39:46.946620294 -0300 -+++ bc-1.06.95/doc/Makefile.in 2015-06-13 09:40:10.019407630 -0300 -@@ -96,7 +96,7 @@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ - LTLIBOBJS = @LTLIBOBJS@ --MAKEINFO = makeinfo --no-split -+MAKEINFO = @MAKEINFO@ --no-split - OBJEXT = @OBJEXT@ - PACKAGE = @PACKAGE@ - PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ diff --git a/package/bc/bc.hash b/package/bc/bc.hash index 5f1ed63536..6feca831d2 100644 --- a/package/bc/bc.hash +++ b/package/bc/bc.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 7ee4abbcfac03d8a6e1a8a3440558a3d239d6b858585063e745c760957725ecc bc-1.06.95.tar.bz2 +sha256 62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a bc-1.07.1.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LIB diff --git a/package/bc/bc.mk b/package/bc/bc.mk index ee0e43848b..fdfacb6c89 100644 --- a/package/bc/bc.mk +++ b/package/bc/bc.mk @@ -4,11 +4,15 @@ # ################################################################################ -BC_VERSION = 1.06.95 -BC_SOURCE = bc-$(BC_VERSION).tar.bz2 -BC_SITE = http://alpha.gnu.org/gnu/bc +BC_VERSION = 1.07.1 +BC_SITE = http://ftp.gnu.org/gnu/bc BC_DEPENDENCIES = host-flex BC_LICENSE = GPL-2.0+, LGPL-2.1+ BC_LICENSE_FILES = COPYING COPYING.LIB +BC_CONF_ENV = MAKEINFO=true + +# 0001-bc-use-MAKEINFO-variable-for-docs.patch and 0004-no-gen-libmath.patch +# are patching doc/Makefile.am and Makefile.am respectively +BC_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/bcache-tools/bcache-tools.hash b/package/bcache-tools/bcache-tools.hash index 6d3502fc29..d80ec44a73 100644 --- a/package/bcache-tools/bcache-tools.hash +++ b/package/bcache-tools/bcache-tools.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 d56923936f37287efc57a46315679102ef2c86cd0be5874590320acd48c1201c bcache-tools-v1.0.8.tar.gz +sha256 d56923936f37287efc57a46315679102ef2c86cd0be5874590320acd48c1201c bcache-tools-1.0.8.tar.gz +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/bcache-tools/bcache-tools.mk b/package/bcache-tools/bcache-tools.mk index 0e7a2821cd..4ff10cc4eb 100644 --- a/package/bcache-tools/bcache-tools.mk +++ b/package/bcache-tools/bcache-tools.mk @@ -4,8 +4,8 @@ # ################################################################################ -BCACHE_TOOLS_VERSION = v1.0.8 -BCACHE_TOOLS_SITE = $(call github,g2p,bcache-tools,$(BCACHE_TOOLS_VERSION)) +BCACHE_TOOLS_VERSION = 1.0.8 +BCACHE_TOOLS_SITE = $(call github,g2p,bcache-tools,v$(BCACHE_TOOLS_VERSION)) BCACHE_TOOLS_LICENSE = GPL-2.0 BCACHE_TOOLS_LICENSE_FILES = COPYING BCACHE_TOOLS_DEPENDENCIES = host-pkgconf util-linux diff --git a/package/bcg729/Config.in b/package/bcg729/Config.in index 8e9bcfe66b..cb936ae158 100644 --- a/package/bcg729/Config.in +++ b/package/bcg729/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_BCG729 Bcg729 is an opensource implementation of both encoder and decoder of the ITU G729 Annex A/B speech codec. - http://www.linphone.org/technical-corner/bcg729/overview + https://www.linphone.org/technical-corner/bcg729 diff --git a/package/bcm2835/bcm2835.hash b/package/bcm2835/bcm2835.hash index 1aea3ae3dd..c722a97456 100644 --- a/package/bcm2835/bcm2835.hash +++ b/package/bcm2835/bcm2835.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 295f66dab533592ce41db8e07befe985645a2e661bbf75dce9c383e61e24cb5f bcm2835-1.48.tar.gz +sha256 aec4b33ed9ecda4a1c4c12b8ed2abdd13cf87f352f0d27a24be726d11f1fbf54 bcm2835-1.63.tar.gz +sha256 8b1ba204bb69a0ade2bfcf65ef294a920f6bb361b317dba43c7ef29d96332b9b COPYING diff --git a/package/bcm2835/bcm2835.mk b/package/bcm2835/bcm2835.mk index e24c819cae..d43dd7e574 100644 --- a/package/bcm2835/bcm2835.mk +++ b/package/bcm2835/bcm2835.mk @@ -4,9 +4,9 @@ # ################################################################################ -BCM2835_VERSION = 1.48 +BCM2835_VERSION = 1.63 BCM2835_SITE = http://www.airspayce.com/mikem/bcm2835 -BCM2835_LICENSE = GPL-2.0 +BCM2835_LICENSE = GPL-3.0 BCM2835_LICENSE_FILES = COPYING BCM2835_INSTALL_STAGING = YES diff --git a/package/bctoolbox/0001-Fix-Libs.private-flags-for-mbedtls.patch b/package/bctoolbox/0001-Fix-Libs.private-flags-for-mbedtls.patch index a70c7c633a..342042d59c 100644 --- a/package/bctoolbox/0001-Fix-Libs.private-flags-for-mbedtls.patch +++ b/package/bctoolbox/0001-Fix-Libs.private-flags-for-mbedtls.patch @@ -1,49 +1,37 @@ -From c0b3dbb43aa3a38c47311556c85eadc6072e2d68 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Tue, 14 Feb 2017 22:02:26 +0100 -Subject: [PATCH] Fix Libs.private flags for mbedtls +From b7f14a800bbdad193f45695bc5b8c5173f3882ba Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 10 Feb 2019 17:51:05 +0100 +Subject: [PATCH] CMakeLists.txt: fix mbedtls libraries in bctoolbox.pc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Static linking with bctoolbox fails when using pkg-config as the -generated bctoolbox.pc file only consists of an '-L' string without any -search path or libraries flags. - -That's because of an typo in `mbedtls_library_path`. However, -`mbedtls_library_path` contains a string of the mbedtls libraries -concatenated by an ';' which cannot be parsed by pkg-config. - -Therefore, use `MBEDTLS_LIBRARY` instead of `MBEDTLS_LIBRARIES` to get -the library path. - -Furthermore, add the three mbedtls libraries *mbedtls*, *mbedcrypto*, and -*mbedx509* to `LIBS_PRIVATE` so these libraries are added to the -`Libs.private` field of bctoolbox.pc. - -Upstream status: Pending +bctoolbox.pc should not contain the full libraries path, path should be +given by -L and library names by -l +So sent back the fix already suggested by Jörg Krause in https://github.com/BelledonneCommunications/bctoolbox/pull/4 Signed-off-by: Jörg Krause +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://github.com/BelledonneCommunications/bctoolbox/pull/7] --- - CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + CMakeLists.txt | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index ed7aa00..4127f0e 100644 +index 29f3eb6..b2f26c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -103,8 +103,8 @@ else() +@@ -101,9 +101,8 @@ else() endif() if(MBEDTLS_FOUND) - get_filename_component(mbedtls_library_path "${MBEDTLS_LIBRARIES}" PATH) -- set(LIBS_PRIVATE "${LIBS_PRIVATE} -L${mbedlts_library_path}") +- string(REPLACE ";" " " MBEDTLS_LIBRARIES_STR "${MBEDTLS_LIBRARIES}") +- set(LIBS_PRIVATE "${LIBS_PRIVATE} ${MBEDTLS_LIBRARIES_STR}") + get_filename_component(mbedtls_library_path "${MBEDTLS_LIBRARY}" PATH) + set(LIBS_PRIVATE "${LIBS_PRIVATE} -L${mbedtls_library_path} -lmbedtls -lmbedcrypto -lmbedx509") endif() if(POLARSSL_FOUND) get_filename_component(polarssl_library_path "${POLARSSL_LIBRARIES}" PATH) --- -2.11.1 - diff --git a/package/bctoolbox/Config.in b/package/bctoolbox/Config.in index 048d01282c..1cf2b7e236 100644 --- a/package/bctoolbox/Config.in +++ b/package/bctoolbox/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_BCTOOLBOX bool "bctoolbox" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help Utilities library used by Belledonne Communications softwares like belle-sip, mediastreamer2 and linphone. @@ -12,3 +14,6 @@ config BR2_PACKAGE_BCTOOLBOX comment "bctoolbox needs a toolchain w/ C++, threads" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS + +comment "bctoolbox needs a toolchain not affected by GCC bug 64735" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/bctoolbox/bctoolbox.hash b/package/bctoolbox/bctoolbox.hash index 70be55c3d7..7d64c32013 100644 --- a/package/bctoolbox/bctoolbox.hash +++ b/package/bctoolbox/bctoolbox.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 da7df7ff359a9829e9e6ef98dfe9fead0cf735b8a4a5da1b1047f467dee1b2a9 bctoolbox-0.4.0.tar.gz +sha256 d8501e3793c10abbf913759d7a0e5f6eb3140af6bacf5e2bdcd532049bde69c0 bctoolbox-4.3.1.tar.gz +sha256 849dd903d98f12a964466ccfbaf3a1de1f94ad0ebd49a59d12f8ce4506f9f647 COPYING diff --git a/package/bctoolbox/bctoolbox.mk b/package/bctoolbox/bctoolbox.mk index 281a0bf2a1..f9d740820d 100644 --- a/package/bctoolbox/bctoolbox.mk +++ b/package/bctoolbox/bctoolbox.mk @@ -4,7 +4,7 @@ # ################################################################################ -BCTOOLBOX_VERSION = 0.4.0 +BCTOOLBOX_VERSION = 4.3.1 BCTOOLBOX_SITE = $(call github,BelledonneCommunications,bctoolbox,$(BCTOOLBOX_VERSION)) BCTOOLBOX_LICENSE = GPL-2.0+ BCTOOLBOX_LICENSE_FILES = COPYING @@ -20,6 +20,11 @@ BCTOOLBOX_CONF_OPTS = \ -DGIT_EXECUTABLE=OFF \ -DCMAKE_SKIP_RPATH=ON +ifeq ($(BR2_PACKAGE_LIBICONV),y) +BCTOOLBOX_DEPENDENCIES += libiconv +BCTOOLBOX_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -liconv" +endif + ifeq ($(BR2_PACKAGE_MBEDTLS),y) BCTOOLBOX_DEPENDENCIES += mbedtls BCTOOLBOX_CONF_OPTS += -DENABLE_MBEDTLS=ON diff --git a/package/bcusdk/bcusdk.hash b/package/bcusdk/bcusdk.hash index 219498bcbb..a97062143d 100644 --- a/package/bcusdk/bcusdk.hash +++ b/package/bcusdk/bcusdk.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 014cdaafc36f223c584b39ae5d698dd037a8e15aba4e78a2e531b51ff1331304 bcusdk_0.0.5.tar.gz +sha256 014cdaafc36f223c584b39ae5d698dd037a8e15aba4e78a2e531b51ff1331304 bcusdk_0.0.5.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING 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 deleted file mode 100644 index 0d5e6b0905..0000000000 --- a/package/bdwgc/0001-fix-link-with-of-bdw-gc-with-a-system-atomic_ops.patch +++ /dev/null @@ -1,57 +0,0 @@ -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/bdwgc.hash b/package/bdwgc/bdwgc.hash index 6cc4674e62..4d22131964 100644 --- a/package/bdwgc/bdwgc.hash +++ b/package/bdwgc/bdwgc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 8f23f9a20883d00af2bff122249807e645bdf386de0de8cbd6cce3e0c6968f04 gc-8.0.0.tar.gz +sha256 436a0ddc67b1ac0b0405b61a9675bca9e075c8156f4debd1d06f3a56c7cd289d gc-8.0.4.tar.gz sha256 aeeaabbf44e67d413e18719f0c6ac9c23387ab0b33e7a15ee46cf59ddef12cc7 README.QUICK diff --git a/package/bdwgc/bdwgc.mk b/package/bdwgc/bdwgc.mk index 3979cd88c8..6ae9627a60 100644 --- a/package/bdwgc/bdwgc.mk +++ b/package/bdwgc/bdwgc.mk @@ -4,7 +4,7 @@ # ################################################################################ -BDWGC_VERSION = 8.0.0 +BDWGC_VERSION = 8.0.4 BDWGC_SOURCE = gc-$(BDWGC_VERSION).tar.gz BDWGC_SITE = http://www.hboehm.info/gc/gc_source BDWGC_INSTALL_STAGING = YES @@ -12,8 +12,6 @@ BDWGC_LICENSE = bdwgc license BDWGC_LICENSE_FILES = README.QUICK BDWGC_DEPENDENCIES = libatomic_ops host-pkgconf HOST_BDWGC_DEPENDENCIES = host-libatomic_ops host-pkgconf -# We're patching configure.ac -BDWGC_AUTORECONF = YES BDWGC_CONF_OPTS = CFLAGS_EXTRA="$(BDWGC_CFLAGS_EXTRA)" ifeq ($(BR2_sparc),y) diff --git a/package/bearssl/Config.in b/package/bearssl/Config.in new file mode 100644 index 0000000000..b10ce6025a --- /dev/null +++ b/package/bearssl/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_BEARSSL + bool "bearssl" + help + BearSSL is an implementation of the SSL/TLS protocol + (RFC 5246) written in C. + + https://bearssl.org diff --git a/package/bearssl/bearssl.hash b/package/bearssl/bearssl.hash new file mode 100644 index 0000000000..e000762668 --- /dev/null +++ b/package/bearssl/bearssl.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 6705bba1714961b41a728dfc5debbe348d2966c117649392f8c8139efc83ff14 bearssl-0.6.tar.gz +sha256 771bf18c8633ea69ec9b07d2e604c4b99b7bef41b0f5ce6385d24df4448f61ca LICENSE.txt diff --git a/package/bearssl/bearssl.mk b/package/bearssl/bearssl.mk new file mode 100644 index 0000000000..ff5f4e87b7 --- /dev/null +++ b/package/bearssl/bearssl.mk @@ -0,0 +1,43 @@ +################################################################################ +# +# bearssl +# +################################################################################ + +BEARSSL_VERSION = 0.6 +BEARSSL_SITE = https://bearssl.org +BEARSSL_LICENSE = MIT +BEARSSL_LICENSE_FILES = LICENSE.txt +BEARSSL_INSTALL_STAGING = YES + +BEARSSL_MAKE_OPTS = \ + $(TARGET_CONFIGURE_OPTS) \ + LDDLL=$(TARGET_CC) + +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +BEARSSL_TARGETS += dll +BEARSSL_MAKE_OPTS += CFLAGS="$(TARGET_CFLAGS) -fPIC" +endif + +ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +BEARSSL_TARGETS += lib +endif + +define BEARSSL_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(BEARSSL_MAKE_OPTS) -C $(@D) \ + $(BEARSSL_TARGETS) +endef + +define BEARSSL_INSTALL_STAGING_CMDS + mkdir -p $(STAGING_DIR)/usr/include + cp -dpfr $(@D)/inc/*.h $(STAGING_DIR)/usr/include + mkdir -p $(STAGING_DIR)/usr/lib + cp -dpfr $(@D)/build/lib* $(STAGING_DIR)/usr/lib +endef + +define BEARSSL_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/usr/lib + cp -dpfr $(@D)/build/lib* $(TARGET_DIR)/usr/lib +endef + +$(eval $(generic-package)) diff --git a/package/beecrypt/beecrypt.hash b/package/beecrypt/beecrypt.hash index e697c26f08..2f84007b45 100644 --- a/package/beecrypt/beecrypt.hash +++ b/package/beecrypt/beecrypt.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 286f1f56080d1a6b1d024003a5fa2158f4ff82cae0c6829d3c476a4b5898c55d beecrypt-4.2.1.tar.gz +sha256 512d2d21b6b3384ba64781abb0208a1b87740bc31e2df48e2b206ddb7e4d5779 COPYING.LIB diff --git a/package/bellagio/bellagio.hash b/package/bellagio/bellagio.hash index 914dd7c369..bd95df0f19 100644 --- a/package/bellagio/bellagio.hash +++ b/package/bellagio/bellagio.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 593c0729c8ef8c1467b3bfefcf355ec19a46dd92e31bfc280e17d96b0934d74c libomxil-bellagio-0.9.3.tar.gz +sha256 a3d4e451d72288a4f8819b734ef610926213c2ba97e512add8de2f30843505a6 COPYING diff --git a/package/belle-sip/Config.in b/package/belle-sip/Config.in new file mode 100644 index 0000000000..8e4de366e4 --- /dev/null +++ b/package/belle-sip/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_BELLE_SIP + bool "belle-sip" + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # bctoolbox + depends on BR2_USE_WCHAR + select BR2_PACKAGE_BCTOOLBOX + # needs crypto support in bctoolbox + select BR2_PACKAGE_MBEDTLS + help + Belle-sip is a modern library implementing SIP (RFC 3261) + transport, transaction and dialog layers. + + http://www.linphone.org/technical-corner/belle-sip + +comment "belle-sip needs a toolchain w/ threads, C++, dynamic library, wchar" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR + +comment "belle-sip needs a toolchain not affected by GCC bug 64735" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/belle-sip/belle-sip.hash b/package/belle-sip/belle-sip.hash new file mode 100644 index 0000000000..889ad2be70 --- /dev/null +++ b/package/belle-sip/belle-sip.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 3ac7051ea6ac758cccbf1483a5dd6cda4293b5cde1370a3f0d298e3a6f0ee032 belle-sip-4.3.1.tar.gz +sha256 1b3782ccad7b8614100cda30d3faf42fc39f2e97932908c543005053b654ca68 LICENSE.txt diff --git a/package/belle-sip/belle-sip.mk b/package/belle-sip/belle-sip.mk new file mode 100644 index 0000000000..1daef1d2df --- /dev/null +++ b/package/belle-sip/belle-sip.mk @@ -0,0 +1,35 @@ +################################################################################ +# +# belle-sip +# +################################################################################ + +BELLE_SIP_VERSION = 4.3.1 +BELLE_SIP_SITE = \ + https://gitlab.linphone.org/BC/public/belle-sip/-/archive/$(BELLE_SIP_VERSION) +BELLE_SIP_LICENSE = GPL-3.0+ +BELLE_SIP_LICENSE_FILES = LICENSE.txt +BELLE_SIP_INSTALL_STAGING = YES +BELLE_SIP_DEPENDENCIES = \ + bctoolbox \ + $(if $(BR2_PACKAGE_ZLIB),zlib) +BELLE_SIP_CONF_OPTS = \ + -DENABLE_STRICT=OFF \ + -DENABLE_TESTS=OFF + +ifeq ($(BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY),y) +BELLE_SIP_CONF_OPTS += -DENABLE_MDNS=ON +BELLE_SIP_DEPENDENCIES += avahi +else +BELLE_SIP_CONF_OPTS += -DENABLE_MDNS=OFF +endif + +ifeq ($(BR2_STATIC_LIBS),y) +BELLE_SIP_CONF_OPTS += -DENABLE_SHARED=OFF -DENABLE_STATIC=ON +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +BELLE_SIP_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_STATIC=ON +else ifeq ($(BR2_SHARED_LIBS),y) +BELLE_SIP_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_STATIC=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/belr/Config.in b/package/belr/Config.in new file mode 100644 index 0000000000..f3f742ad28 --- /dev/null +++ b/package/belr/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_BELR + bool "belr" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS # bctoolbox + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # bctoolbox + select BR2_PACKAGE_BCTOOLBOX + help + Belr is Belledonne Communications' language recognition + library, written in C++11. It parses text inputs formatted + according to a language defined by an ABNF grammar, such as + the protocols standardized at IETF. + + https://gitlab.linphone.org/BC/public/belr + +comment "belr needs a toolchain w/ threads, C++" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS + +comment "belr needs a toolchain not affected by GCC bug 64735" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/belr/belr.hash b/package/belr/belr.hash new file mode 100644 index 0000000000..42cf506972 --- /dev/null +++ b/package/belr/belr.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 d6575c36c32828edcaf39df2775070b187019b21fe5fe274e7a85caf54284f05 belr-4.3.1.tar.gz +sha256 1b3782ccad7b8614100cda30d3faf42fc39f2e97932908c543005053b654ca68 LICENSE.txt diff --git a/package/belr/belr.mk b/package/belr/belr.mk new file mode 100644 index 0000000000..8855f94fda --- /dev/null +++ b/package/belr/belr.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# belr +# +################################################################################ + +BELR_VERSION = 4.3.1 +BELR_SITE = https://gitlab.linphone.org/BC/public/belr/-/archive/$(BELR_VERSION) +BELR_LICENSE = GPL-3.0+ +BELR_LICENSE_FILES = LICENSE.txt +BELR_INSTALL_STAGING = YES +BELR_DEPENDENCIES = bctoolbox +BELR_CONF_OPTS = \ + -DENABLE_STRICT=OFF \ + -DENABLE_TESTS=OFF \ + -DENABLE_TOOLS=OFF + +ifeq ($(BR2_STATIC_LIBS),y) +BELR_CONF_OPTS += -DENABLE_SHARED=OFF -DENABLE_STATIC=ON +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +BELR_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_STATIC=ON +else ifeq ($(BR2_SHARED_LIBS),y) +BELR_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_STATIC=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/benejson/0002-Use-print-as-a-function-for-Py3-compatibility.patch b/package/benejson/0002-Use-print-as-a-function-for-Py3-compatibility.patch new file mode 100644 index 0000000000..287d7bf034 --- /dev/null +++ b/package/benejson/0002-Use-print-as-a-function-for-Py3-compatibility.patch @@ -0,0 +1,31 @@ +Use print as a function in SConstruct build file for Py3 compatibility. +This allow to run SCons on Python 3 + +[Upstream status: https://github.com/codehero/benejson/pull/12] + +Signed-off-by: Titouan Christophe +--- + benejson/SConscript | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/benejson/SConscript b/benejson/SConscript +index b7c5d10..80b4875 100644 +--- a/benejson/SConscript ++++ b/benejson/SConscript +@@ -9,11 +9,11 @@ lib_env = lib_env.Clone() + conf = Configure(lib_env) + + if not conf.CheckFunc("stpcpy"): +- print "Did not find stpcpy(), using bnj local version" ++ print("Did not find stpcpy(), using bnj local version") + conf.env.Append(CPPDEFINES = ["-Dstpcpy=bnj_local_stpcpy"]) + + if not conf.CheckFunc("stpncpy"): +- print "Did not find stpncpy(), using bnj local version" ++ print("Did not find stpncpy(), using bnj local version") + conf.env.Append(CPPDEFINES = ["-Dstpncpy=bnj_local_stpncpy"]) + lib_env = conf.Finish() + +-- +2.21.0 + diff --git a/package/benejson/benejson.hash b/package/benejson/benejson.hash index 696dc4f3f6..437e1d9dd8 100644 --- a/package/benejson/benejson.hash +++ b/package/benejson/benejson.hash @@ -1,2 +1,3 @@ # Locally computed sha256 2ce5f3c2323500bdf651e7fcaecbd1011997141e6067567b8d2caa4cf7182f4a benejson-0.9.7.tar.gz +sha256 d0b7dae881fcb18c4dddfd8b0c1643ae671d5f356d14ba5b4e95ca889cc9ec32 LICENSE diff --git a/package/benejson/benejson.mk b/package/benejson/benejson.mk index 680e5b5bda..5bb57d028d 100644 --- a/package/benejson/benejson.mk +++ b/package/benejson/benejson.mk @@ -9,7 +9,7 @@ BENEJSON_SITE = $(call github,codehero,benejson,$(BENEJSON_VERSION)) BENEJSON_LICENSE = MIT BENEJSON_LICENSE_FILES = LICENSE BENEJSON_INSTALL_STAGING = YES -BENEJSON_DEPENDENCIES = host-scons +BENEJSON_DEPENDENCIES = host-python3 host-scons # wchar support needs to be manually disabled ifeq ($(BR2_USE_WCHAR),) @@ -41,7 +41,7 @@ endif # Shared enabled define BENEJSON_BUILD_CMDS (cd $(@D); \ $(TARGET_CONFIGURE_OPTS) CROSS=$(TARGET_CROSS) \ - $(SCONS) $(BENEJSON_SCONS_TARGETS)) + $(HOST_DIR)/bin/python3 $(SCONS) $(BENEJSON_SCONS_TARGETS)) endef define BENEJSON_INSTALL_STAGING_CMDS diff --git a/package/berkeleydb/berkeleydb.mk b/package/berkeleydb/berkeleydb.mk index e5c11bddcf..e077eb4640 100644 --- a/package/berkeleydb/berkeleydb.mk +++ b/package/berkeleydb/berkeleydb.mk @@ -44,6 +44,22 @@ define BERKELEYDB_CONFIGURE_CMDS ) endef +define HOST_BERKELEYDB_CONFIGURE_CMDS + (cd $(@D)/build_unix; rm -rf config.cache; \ + $(HOST_CONFIGURE_OPTS) \ + ../dist/configure $(QUIET) \ + --prefix=$(HOST_DIR) \ + --with-gnu-ld \ + --disable-cxx \ + --disable-java \ + --disable-tcl \ + --disable-compat185 \ + --with-pic \ + --enable-o_direct \ + --disable-mutexsupport \ + ) +endef + ifneq ($(BR2_PACKAGE_BERKELEYDB_TOOLS),y) define BERKELEYDB_REMOVE_TOOLS @@ -61,3 +77,4 @@ endef BERKELEYDB_POST_INSTALL_TARGET_HOOKS += BERKELEYDB_REMOVE_DOCS $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/bind/0001-cross.patch b/package/bind/0001-cross.patch index 5b4b1cd836..d3e7cc68a6 100644 --- a/package/bind/0001-cross.patch +++ b/package/bind/0001-cross.patch @@ -1,18 +1,23 @@ Use host compiler to build 'gen' since it's run when building. Signed-off-by: Gustavo Zacarias +[Fabrice: updated for 9.11.10] +Signed-off-by: Fabrice Fontaine diff -Nura bind-9.5.1-P1/lib/dns/Makefile.in bind-9.5.1-P1.gencross/lib/dns/Makefile.in --- bind-9.5.1-P1/lib/dns/Makefile.in 2007-09-11 22:09:08.000000000 -0300 +++ bind-9.5.1-P1.gencross/lib/dns/Makefile.in 2009-03-04 16:35:23.000000000 -0200 -@@ -160,8 +160,8 @@ - ./gen -s ${srcdir} > code.h +@@ -160,10 +160,8 @@ + ./gen -s ${srcdir} > code.h || { rm -f $@ ; exit 1; } gen: gen.c - ${BUILD_CC} ${BUILD_CFLAGS} -I${top_srcdir}/lib/isc/include \ -- ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} -o $@ ${srcdir}/gen.c ${BUILD_LIBS} +- ${LFS_CFLAGS} ${LFS_LDFLAGS} \ +- ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} -o $@ ${srcdir}/gen.c \ +- ${BUILD_LIBS} ${LFS_LIBS} + ${HOSTCC} ${HOST_CFLAGS} -I${top_srcdir}/lib/isc/include \ + ${HOST_LDFLAGS} -o $@ ${srcdir}/gen.c - rbtdb64.@O@: rbtdb.c + timestamp: include libdns.@A@ + touch timestamp 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 deleted file mode 100644 index 2701de766a..0000000000 --- a/package/bind/0002-Replace-atomic-operations-in-bin-named-client.c-with.patch +++ /dev/null @@ -1,133 +0,0 @@ -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/Config.in b/package/bind/Config.in index 049a90cbaf..db10ceb304 100644 --- a/package/bind/Config.in +++ b/package/bind/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_BIND bool "bind" depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_STATIC_LIBS help BIND (Berkeley Internet Name Domain) is an implementation of the Domain Name System (DNS) protocols @@ -24,13 +22,12 @@ config BR2_PACKAGE_BIND intended to be linked with applications requiring name service. - http://www.isc.org/sw/bind/ + https://www.isc.org/bind/ if BR2_PACKAGE_BIND config BR2_PACKAGE_BIND_SERVER bool "Install server components" - default y help Install server components (named, lwresd) @@ -40,7 +37,3 @@ config BR2_PACKAGE_BIND_TOOLS Install tools (dig, host, nslookup, nsupdate) endif - -comment "bind needs a toolchain w/ threads, dynamic library" - depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/bind/bind.hash b/package/bind/bind.hash index cdd4bdd312..282b2aeba3 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.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 +# Verified from https://ftp.isc.org/isc/bind9/9.11.20/bind-9.11.20.tar.gz.asc +# with key AE3FAC796711EC59FC007AA474BB6B9A4CBB3D38 +sha256 306831a738a275693bbe1d6839a09b34a2c8b5c26f8a42ea57ef000a6a99c2b6 bind-9.11.20.tar.gz +sha256 da2aec2b7f6f0feb16bcb080e2c587375fd3195145f047e4d92d112f5b9db501 COPYRIGHT diff --git a/package/bind/bind.mk b/package/bind/bind.mk index 42c240a747..80f8defca8 100644 --- a/package/bind/bind.mk +++ b/package/bind/bind.mk @@ -4,7 +4,7 @@ # ################################################################################ -BIND_VERSION = 9.11.6-P1 +BIND_VERSION = 9.11.20 BIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION) # bind does not support parallel builds. BIND_MAKE = $(MAKE1) @@ -18,17 +18,17 @@ BIND_TARGET_SERVER_SBIN += dnssec-settime dnssec-verify genrandom BIND_TARGET_SERVER_SBIN += isc-hmac-fixup named-journalprint nsec3hash BIND_TARGET_SERVER_SBIN += lwresd named named-checkconf named-checkzone BIND_TARGET_SERVER_SBIN += named-compilezone rndc rndc-confgen dnssec-dsfromkey -BIND_TARGET_SERVER_SBIN += dnssec-keyfromlabel dnssec-signzone +BIND_TARGET_SERVER_SBIN += dnssec-keyfromlabel dnssec-signzone tsig-keygen BIND_TARGET_TOOLS_BIN = dig host nslookup nsupdate BIND_CONF_ENV = \ BUILD_CC="$(TARGET_CC)" \ BUILD_CFLAGS="$(TARGET_CFLAGS)" BIND_CONF_OPTS = \ + $(if $(BR2_TOOLCHAIN_HAS_THREADS),--enable-threads,--disable-threads) \ --without-lmdb \ --with-libjson=no \ --with-randomdev=/dev/urandom \ --enable-epoll \ - --with-libtool \ --with-gssapi=no \ --enable-filter-aaaa @@ -54,16 +54,13 @@ BIND_CONF_OPTS += --with-libxml2=no endif ifeq ($(BR2_PACKAGE_OPENSSL),y) -BIND_DEPENDENCIES += openssl -BIND_CONF_ENV += \ - ac_cv_func_EVP_sha256=yes \ - ac_cv_func_EVP_sha384=yes \ - ac_cv_func_EVP_sha512=yes +BIND_DEPENDENCIES += host-pkgconf openssl BIND_CONF_OPTS += \ - --with-openssl=$(STAGING_DIR)/usr LIBS="-lz" \ + --with-openssl=$(STAGING_DIR)/usr \ --with-ecdsa=yes \ --with-eddsa=no \ --with-aes=yes +BIND_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` # GOST cipher support requires openssl extra engines ifeq ($(BR2_PACKAGE_OPENSSL_ENGINES),y) BIND_CONF_OPTS += --with-gost=yes @@ -88,6 +85,16 @@ else BIND_CONF_OPTS += --with-readline=no endif +ifeq ($(BR2_STATIC_LIBS),y) +BIND_CONF_OPTS += \ + --without-dlopen \ + --without-libtool +else +BIND_CONF_OPTS += \ + --with-dlopen \ + --with-libtool +endif + define BIND_TARGET_REMOVE_SERVER rm -rf $(addprefix $(TARGET_DIR)/usr/sbin/, $(BIND_TARGET_SERVER_SBIN)) endef @@ -104,11 +111,6 @@ endef define BIND_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 $(BIND_PKGDIR)/named.service \ $(TARGET_DIR)/usr/lib/systemd/system/named.service - - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - - ln -sf /usr/lib/systemd/system/named.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/named.service endef else BIND_POST_INSTALL_TARGET_HOOKS += BIND_TARGET_REMOVE_SERVER diff --git a/package/binutils/2.28.1/0120-sh-conf.patch b/package/binutils/2.28.1/0120-sh-conf.patch deleted file mode 100644 index f77599835f..0000000000 --- a/package/binutils/2.28.1/0120-sh-conf.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 1ceee199e9a32034c6def7700fdbb26335ca76a3 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:38:13 +0100 -Subject: [PATCH] sh-conf - -Likewise, binutils has no idea about any of these new targets either, so we -fix that up too.. now we're able to actually build a real toolchain for -sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more -inept targets than that one, really. Go look, I promise). - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 34b66f7..905bc7b 100755 ---- a/configure -+++ b/configure -@@ -3943,7 +3943,7 @@ case "${target}" in - or1k*-*-*) - noconfigdirs="$noconfigdirs gdb" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${target}" in - sh*-*-elf) - ;; -diff --git a/configure.ac b/configure.ac -index 4977d97..1e69ee2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1279,7 +1279,7 @@ case "${target}" in - or1k*-*-*) - noconfigdirs="$noconfigdirs gdb" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${target}" in - sh*-*-elf) - ;; --- -2.4.3 - diff --git a/package/binutils/2.28.1/0131-xtensa-fix-memory-corruption-by-broken-sysregs.patch b/package/binutils/2.28.1/0131-xtensa-fix-memory-corruption-by-broken-sysregs.patch deleted file mode 100644 index 30103ee05e..0000000000 --- a/package/binutils/2.28.1/0131-xtensa-fix-memory-corruption-by-broken-sysregs.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 3c8788dbb70b40e737d4b8e30cab81406e5c5091 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Wed, 2 Aug 2017 00:36:05 -0700 -Subject: [PATCH] xtensa: fix memory corruption by broken sysregs - -In some xtensa configurations there may be system/user registers in -xtensa-modules with negative index. ISA initialization for such config -may clobber heap and result in program termination. -Don't update lookup table entries for register with negative indices. -They are not directly accessible via RSR/WSR/XSR or RUR/WUR, so this -change should not affect processing of valid assembly/binary code. - -bfd/ -2017-08-02 Max Filippov - - * xtensa-isa.c (xtensa_isa_init): Don't update lookup table - entries for sysregs with negative indices. - -Signed-off-by: Max Filippov ---- -Backported from: d84ed528d4817b0ff854006b65a9f6ec75f0407a - - bfd/xtensa-isa.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/bfd/xtensa-isa.c b/bfd/xtensa-isa.c -index 8da75bea8109..8c6ee88fdeae 100644 ---- a/bfd/xtensa-isa.c -+++ b/bfd/xtensa-isa.c -@@ -292,7 +292,8 @@ xtensa_isa_init (xtensa_isa_status *errno_p, char **error_msg_p) - xtensa_sysreg_internal *sreg = &isa->sysregs[n]; - is_user = sreg->is_user; - -- isa->sysreg_table[is_user][sreg->number] = n; -+ if (sreg->number >= 0) -+ isa->sysreg_table[is_user][sreg->number] = n; - } - - /* Set up the interface lookup table. */ --- -2.1.4 - diff --git a/package/binutils/2.28.1/0300-ld-makefile.patch b/package/binutils/2.28.1/0300-ld-makefile.patch deleted file mode 100644 index 6710195798..0000000000 --- a/package/binutils/2.28.1/0300-ld-makefile.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d76a7549b43974fe8564971a3f40459bc495a8a7 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 0b3b049..3871c74 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 ed98f87..530e4c9 100644 ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -452,7 +452,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.4.3 - diff --git a/package/binutils/2.28.1/0301-check-ldrunpath-length.patch b/package/binutils/2.28.1/0301-check-ldrunpath-length.patch deleted file mode 100644 index 8d673dcfc5..0000000000 --- a/package/binutils/2.28.1/0301-check-ldrunpath-length.patch +++ /dev/null @@ -1,36 +0,0 @@ -From ebe1cba46df52d7bf86def3d681271fd05fb453b 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 0405d4f..efd3300 100644 ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1411,6 +1411,8 @@ fragment <link.next) - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) --- -2.4.3 - diff --git a/package/binutils/2.28.1/0500-add-sysroot-fix-from-bug-3049.patch b/package/binutils/2.28.1/0500-add-sysroot-fix-from-bug-3049.patch deleted file mode 100644 index 0331088666..0000000000 --- a/package/binutils/2.28.1/0500-add-sysroot-fix-from-bug-3049.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 30628870e583375f8927c04398c7219c6e9f703c 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 | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/ld/ldfile.c diff --git b/ld/ldfile.c ---- a/ld/ldfile.c 2017-03-02 03:23:54.000000000 -0500 -+++ b/ld/ldfile.c 2017-03-20 09:52:27.687415942 -0400 -@@ -336,18 +336,24 @@ - 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)) - diff --git a/package/binutils/2.28.1/0600-poison-system-directories.patch b/package/binutils/2.28.1/0600-poison-system-directories.patch deleted file mode 100644 index bb1a7b438c..0000000000 --- a/package/binutils/2.28.1/0600-poison-system-directories.patch +++ /dev/null @@ -1,306 +0,0 @@ -From be366461dd49e760440fb28eaee5164eb281adcc Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:45:38 +0100 -Subject: [PATCH] poison-system-directories - -Patch adapted to binutils 2.23.2 and extended to use -BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour -[Gustavo: adapt to binutils 2.25] -Signed-off-by: Thomas Petazzoni -Signed-off-by: Gustavo Zacarias - -Upstream-Status: Inappropriate [distribution: codesourcery] - -Patch originally created by Mark Hatle, forward-ported to -binutils 2.21 by Scott Garman. - -purpose: warn for uses of system directories when cross linking - -Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 - -2008-07-02 Joseph Myers - - ld/ - * ld.h (args_type): Add error_poison_system_directories. - * ld.texinfo (--error-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.error_poison_system_directories. - * ldmain.c (main): Initialize - command_line.error_poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --error-poison-system-directories. - (parse_args): Handle new option. - -2007-06-13 Joseph Myers - - ld/ - * config.in: Regenerate. - * ld.h (args_type): Add poison_system_directories. - * ld.texinfo (--no-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.poison_system_directories. - * ldmain.c (main): Initialize - command_line.poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_NO_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --no-poison-system-directories. - (parse_args): Handle new option. - -2007-04-20 Joseph Myers - - Merge from Sourcery G++ binutils 2.17: - - 2007-03-20 Joseph Myers - Based on patch by Mark Hatle . - ld/ - * configure.ac (--enable-poison-system-directories): New option. - * configure, config.in: Regenerate. - * ldfile.c (ldfile_add_library_path): If - ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, - /usr/lib, /usr/local/lib or /usr/X11R6/lib. - -Signed-off-by: Mark Hatle -Signed-off-by: Scott Garman ---- - ld/config.in | 3 +++ - ld/configure | 14 ++++++++++++++ - ld/configure.ac | 10 ++++++++++ - ld/ld.h | 8 ++++++++ - ld/ld.texinfo | 12 ++++++++++++ - ld/ldfile.c | 17 +++++++++++++++++ - ld/ldlex.h | 2 ++ - ld/ldmain.c | 2 ++ - ld/lexsup.c | 21 +++++++++++++++++++++ - 9 files changed, 89 insertions(+) - -diff --git a/ld/config.in b/ld/config.in -index 276fb77..35c58eb 100644 ---- a/ld/config.in -+++ b/ld/config.in -@@ -17,6 +17,9 @@ - language is requested. */ - #undef ENABLE_NLS - -+/* Define to warn for use of native system library directories */ -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+ - /* Additional extension a shared object might have. */ - #undef EXTRA_SHLIB_EXTENSION - -diff --git a/ld/configure b/ld/configure -index a446283..d1f9504 100755 ---- a/ld/configure -+++ b/ld/configure -@@ -789,6 +789,7 @@ with_lib_path - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_compressed_debug_sections -@@ -1446,6 +1447,8 @@ Optional Features: - --disable-largefile omit support for large files - --enable-targets alternative target configurations - --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) -+ --enable-poison-system-directories -+ warn for use of native system library directories - --enable-gold[=ARG] build gold [ARG={default,yes,no}] - --enable-got= GOT handling scheme (target, single, negative, - multigot) -@@ -15499,7 +15502,18 @@ else - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" = "xyes"; then - -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+ -+fi - - # Check whether --enable-got was given. - if test "${enable_got+set}" = set; then : -diff --git a/ld/configure.ac b/ld/configure.ac -index 188172d..2cd8443 100644 ---- a/ld/configure.ac -+++ b/ld/configure.ac -@@ -95,6 +95,16 @@ AC_SUBST(use_sysroot) - AC_SUBST(TARGET_SYSTEM_ROOT) - AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system library directories]),, -+ [enable_poison_system_directories=no]) -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system library directories]) -+fi -+ - dnl Use --enable-gold to decide if this linker should be the default. - dnl "install_as_default" is set to false if gold is the default linker. - dnl "installed_linker" is the installed BFD linker name. -diff --git a/ld/ld.h b/ld/ld.h -index d84ec4e..3476b26 100644 ---- a/ld/ld.h -+++ b/ld/ld.h -@@ -172,6 +172,14 @@ typedef struct { - /* If set, display the target memory usage (per memory region). */ - bfd_boolean print_memory_usage; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bfd_boolean poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - -diff --git a/ld/ld.texinfo b/ld/ld.texinfo -index 1dd7492..fb1438e 100644 ---- a/ld/ld.texinfo -+++ b/ld/ld.texinfo -@@ -2403,6 +2403,18 @@ string identifying the original linked file does not change. - - Passing @code{none} for @var{style} disables the setting from any - @code{--build-id} options earlier on the command line. -+ -+@kindex --no-poison-system-directories -+@item --no-poison-system-directories -+Do not warn for @option{-L} options using system directories such as -+@file{/usr/lib} when cross linking. This option is intended for use -+in chroot environments when such directories contain the correct -+libraries for the target system rather than the host. -+ -+@kindex --error-poison-system-directories -+@item --error-poison-system-directories -+Give an error instead of a warning for @option{-L} options using -+system directories when cross linking. - @end table - - @c man end -diff --git a/ld/ldfile.c b/ld/ldfile.c -index 1439309..086b354 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -114,6 +114,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) - new_dirs->name = concat (ld_sysroot, name + 1, (const char *) NULL); - else - new_dirs->name = xstrdup (name); -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (command_line.poison_system_directories -+ && ((!strncmp (name, "/lib", 4)) -+ || (!strncmp (name, "/usr/lib", 8)) -+ || (!strncmp (name, "/usr/local/lib", 14)) -+ || (!strncmp (name, "/usr/X11R6/lib", 14)))) -+ { -+ if (command_line.error_poison_system_directories) -+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ else -+ einfo (_("%P: warning: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ } -+#endif -+ - } - - /* Try to open a BFD for a lang_input_statement. */ -diff --git a/ld/ldlex.h b/ld/ldlex.h -index 6f11e7b..0ca3110 100644 ---- a/ld/ldlex.h -+++ b/ld/ldlex.h -@@ -146,6 +146,8 @@ enum option_values - OPTION_PRINT_MEMORY_USAGE, - OPTION_REQUIRE_DEFINED_SYMBOL, - OPTION_ORPHAN_HANDLING, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - /* The initial parser states. */ -diff --git a/ld/ldmain.c b/ld/ldmain.c -index bb0b9cc..a23c56c 100644 ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -270,6 +270,8 @@ main (int argc, char **argv) - command_line.warn_mismatch = TRUE; - command_line.warn_search_mismatch = TRUE; - command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the -diff --git a/ld/lexsup.c b/ld/lexsup.c -index 4cad209..be7d584 100644 ---- a/ld/lexsup.c -+++ b/ld/lexsup.c -@@ -535,6 +535,14 @@ static const struct ld_option ld_options[] = - { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, - '\0', N_("=MODE"), N_("Control how orphan sections are handled."), - TWO_DASHES }, -+ { {"no-poison-system-directories", no_argument, NULL, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Do not warn for -L options using system directories"), -+ TWO_DASHES }, -+ { {"error-poison-system-directories", no_argument, NULL, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Give an error for -L options using system directories"), -+ TWO_DASHES }, - }; - - #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -547,6 +555,7 @@ parse_args (unsigned argc, char **argv) - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1528,6 +1537,14 @@ parse_args (unsigned argc, char **argv) - } - break; - -+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: -+ command_line.poison_system_directories = FALSE; -+ break; -+ -+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: -+ command_line.error_poison_system_directories = TRUE; -+ break; -+ - case OPTION_PUSH_STATE: - input_flags.pushed = xmemdup (&input_flags, - sizeof (input_flags), -@@ -1571,6 +1588,10 @@ parse_args (unsigned argc, char **argv) - command_line.soname = NULL; - } - -+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); -+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = TRUE; -+ - while (ingroup) - { - lang_leave_group (); --- -2.4.3 - diff --git a/package/binutils/2.28.1/0906-microblaze-pr21180.patch b/package/binutils/2.28.1/0906-microblaze-pr21180.patch deleted file mode 100644 index 52ac4fdd13..0000000000 --- a/package/binutils/2.28.1/0906-microblaze-pr21180.patch +++ /dev/null @@ -1,33 +0,0 @@ -Fix ld segfault for microblaze when --gc-sections is used -Upstream: pending -https://sourceware.org/bugzilla/show_bug.cgi?id=21180 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c ---- a/bfd/elf32-microblaze.c 2016-08-03 09:36:50.000000000 +0200 -+++ b/bfd/elf32-microblaze.c 2017-02-23 19:43:12.612313590 +0100 -@@ -3233,13 +3233,20 @@ - || h->dynindx == -1)) - { - asection *sec = h->root.u.def.section; -+ bfd_vma value; -+ -+ value = h->root.u.def.value; -+ if (sec->output_section != NULL) -+ /* PR 21180: If the output section is NULL, then the symbol is no -+ longer needed, and in theory the GOT entry is redundant. But -+ it is too late to change our minds now... */ -+ value += sec->output_section->vma + sec->output_offset; -+ - microblaze_elf_output_dynamic_relocation (output_bfd, - srela, srela->reloc_count++, - /* symindex= */ 0, - R_MICROBLAZE_REL, offset, -- h->root.u.def.value -- + sec->output_section->vma -- + sec->output_offset); -+ value); - } - else - { diff --git a/package/binutils/2.29.1/0001-sh-conf.patch b/package/binutils/2.29.1/0001-sh-conf.patch deleted file mode 100644 index 3c9ef62e2f..0000000000 --- a/package/binutils/2.29.1/0001-sh-conf.patch +++ /dev/null @@ -1,48 +0,0 @@ -From fdb0d1d63d8dc30b319db174f2a90e681d8cd2ed Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:38:13 +0100 -Subject: [PATCH] sh-conf - -Likewise, binutils has no idea about any of these new targets either, so we -fix that up too.. now we're able to actually build a real toolchain for -sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more -inept targets than that one, really. Go look, I promise). - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour -[Thomas: rebase on top of 2.29, in which sh64 support was removed.] -Signed-off-by: Thomas Petazzoni ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index be9dd89..3c0f4c6 100755 ---- a/configure -+++ b/configure -@@ -3844,7 +3844,7 @@ case "${target}" in - or1k*-*-*) - noconfigdirs="$noconfigdirs gdb" - ;; -- sh-*-*) -+ sh*-*-*) - case "${target}" in - sh*-*-elf) - ;; -diff --git a/configure.ac b/configure.ac -index 532c5c2..4f40318 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1178,7 +1178,7 @@ case "${target}" in - or1k*-*-*) - noconfigdirs="$noconfigdirs gdb" - ;; -- sh-*-*) -+ sh*-*-*) - case "${target}" in - sh*-*-elf) - ;; --- -2.9.4 - diff --git a/package/binutils/2.29.1/0002-ld-makefile.patch b/package/binutils/2.29.1/0002-ld-makefile.patch deleted file mode 100644 index a7cd71e63c..0000000000 --- a/package/binutils/2.29.1/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/2.29.1/0003-check-ldrunpath-length.patch b/package/binutils/2.29.1/0003-check-ldrunpath-length.patch deleted file mode 100644 index 3fbc5031d1..0000000000 --- a/package/binutils/2.29.1/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/2.29.1/0004-add-sysroot-fix-from-bug-3049.patch b/package/binutils/2.29.1/0004-add-sysroot-fix-from-bug-3049.patch deleted file mode 100644 index 9e11840cee..0000000000 --- a/package/binutils/2.29.1/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/2.29.1/0005-poison-system-directories.patch b/package/binutils/2.29.1/0005-poison-system-directories.patch deleted file mode 100644 index a7c2761a9d..0000000000 --- a/package/binutils/2.29.1/0005-poison-system-directories.patch +++ /dev/null @@ -1,306 +0,0 @@ -From b100e9d16bfe6725b2624902af457ecfa490b150 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:45:38 +0100 -Subject: [PATCH] poison-system-directories - -Patch adapted to binutils 2.23.2 and extended to use -BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour -[Gustavo: adapt to binutils 2.25] -Signed-off-by: Thomas Petazzoni -Signed-off-by: Gustavo Zacarias - -Upstream-Status: Inappropriate [distribution: codesourcery] - -Patch originally created by Mark Hatle, forward-ported to -binutils 2.21 by Scott Garman. - -purpose: warn for uses of system directories when cross linking - -Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 - -2008-07-02 Joseph Myers - - ld/ - * ld.h (args_type): Add error_poison_system_directories. - * ld.texinfo (--error-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.error_poison_system_directories. - * ldmain.c (main): Initialize - command_line.error_poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --error-poison-system-directories. - (parse_args): Handle new option. - -2007-06-13 Joseph Myers - - ld/ - * config.in: Regenerate. - * ld.h (args_type): Add poison_system_directories. - * ld.texinfo (--no-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.poison_system_directories. - * ldmain.c (main): Initialize - command_line.poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_NO_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --no-poison-system-directories. - (parse_args): Handle new option. - -2007-04-20 Joseph Myers - - Merge from Sourcery G++ binutils 2.17: - - 2007-03-20 Joseph Myers - Based on patch by Mark Hatle . - ld/ - * configure.ac (--enable-poison-system-directories): New option. - * configure, config.in: Regenerate. - * ldfile.c (ldfile_add_library_path): If - ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, - /usr/lib, /usr/local/lib or /usr/X11R6/lib. - -Signed-off-by: Mark Hatle -Signed-off-by: Scott Garman ---- - ld/config.in | 3 +++ - ld/configure | 14 ++++++++++++++ - ld/configure.ac | 10 ++++++++++ - ld/ld.h | 8 ++++++++ - ld/ld.texinfo | 12 ++++++++++++ - ld/ldfile.c | 17 +++++++++++++++++ - ld/ldlex.h | 2 ++ - ld/ldmain.c | 2 ++ - ld/lexsup.c | 21 +++++++++++++++++++++ - 9 files changed, 89 insertions(+) - -diff --git a/ld/config.in b/ld/config.in -index 5d91380..ffe84a7 100644 ---- a/ld/config.in -+++ b/ld/config.in -@@ -21,6 +21,9 @@ - language is requested. */ - #undef ENABLE_NLS - -+/* Define to warn for use of native system library directories */ -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+ - /* Additional extension a shared object might have. */ - #undef EXTRA_SHLIB_EXTENSION - -diff --git a/ld/configure b/ld/configure -index da20ab5..63e3da7 100755 ---- a/ld/configure -+++ b/ld/configure -@@ -785,6 +785,7 @@ with_lib_path - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_compressed_debug_sections -@@ -1443,6 +1444,8 @@ Optional Features: - --disable-largefile omit support for large files - --enable-targets alternative target configurations - --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) -+ --enable-poison-system-directories -+ warn for use of native system library directories - --enable-gold[=ARG] build gold [ARG={default,yes,no}] - --enable-got= GOT handling scheme (target, single, negative, - multigot) -@@ -15497,7 +15500,18 @@ else - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" = "xyes"; then - -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+ -+fi - - # Check whether --enable-got was given. - if test "${enable_got+set}" = set; then : -diff --git a/ld/configure.ac b/ld/configure.ac -index 34315e6..5ade9a0 100644 ---- a/ld/configure.ac -+++ b/ld/configure.ac -@@ -95,6 +95,16 @@ AC_SUBST(use_sysroot) - AC_SUBST(TARGET_SYSTEM_ROOT) - AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system library directories]),, -+ [enable_poison_system_directories=no]) -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system library directories]) -+fi -+ - dnl Use --enable-gold to decide if this linker should be the default. - dnl "install_as_default" is set to false if gold is the default linker. - dnl "installed_linker" is the installed BFD linker name. -diff --git a/ld/ld.h b/ld/ld.h -index 162e156..7d6d7ef 100644 ---- a/ld/ld.h -+++ b/ld/ld.h -@@ -177,6 +177,14 @@ typedef struct - in the linker script. */ - bfd_boolean force_group_allocation; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bfd_boolean poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - -diff --git a/ld/ld.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. - - Passing @code{none} for @var{style} disables the setting from any - @code{--build-id} options earlier on the command line. -+ -+@kindex --no-poison-system-directories -+@item --no-poison-system-directories -+Do not warn for @option{-L} options using system directories such as -+@file{/usr/lib} when cross linking. This option is intended for use -+in chroot environments when such directories contain the correct -+libraries for the target system rather than the host. -+ -+@kindex --error-poison-system-directories -+@item --error-poison-system-directories -+Give an error instead of a warning for @option{-L} options using -+system directories when cross linking. - @end table - - @c man end -diff --git a/ld/ldfile.c b/ld/ldfile.c -index f7e5473..2cd84d3 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) - new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); - else - new_dirs->name = xstrdup (name); -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (command_line.poison_system_directories -+ && ((!strncmp (name, "/lib", 4)) -+ || (!strncmp (name, "/usr/lib", 8)) -+ || (!strncmp (name, "/usr/local/lib", 14)) -+ || (!strncmp (name, "/usr/X11R6/lib", 14)))) -+ { -+ if (command_line.error_poison_system_directories) -+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ else -+ einfo (_("%P: warning: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ } -+#endif -+ - } - - /* Try to open a BFD for a lang_input_statement. */ -diff --git a/ld/ldlex.h b/ld/ldlex.h -index 5aa7f6b..cb655e0 100644 ---- a/ld/ldlex.h -+++ b/ld/ldlex.h -@@ -147,6 +147,8 @@ enum option_values - OPTION_REQUIRE_DEFINED_SYMBOL, - OPTION_ORPHAN_HANDLING, - OPTION_FORCE_GROUP_ALLOCATION, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - /* The initial parser states. */ -diff --git a/ld/ldmain.c b/ld/ldmain.c -index ee5ab11..5f6effd 100644 ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -270,6 +270,8 @@ main (int argc, char **argv) - command_line.warn_mismatch = TRUE; - command_line.warn_search_mismatch = TRUE; - command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the -diff --git a/ld/lexsup.c b/ld/lexsup.c -index 08106bc..d619d50 100644 ---- a/ld/lexsup.c -+++ b/ld/lexsup.c -@@ -538,6 +538,14 @@ static const struct ld_option ld_options[] = - { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, - '\0', N_("=MODE"), N_("Control how orphan sections are handled."), - TWO_DASHES }, -+ { {"no-poison-system-directories", no_argument, NULL, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Do not warn for -L options using system directories"), -+ TWO_DASHES }, -+ { {"error-poison-system-directories", no_argument, NULL, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Give an error for -L options using system directories"), -+ TWO_DASHES }, - }; - - #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -550,6 +558,7 @@ parse_args (unsigned argc, char **argv) - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1534,6 +1543,14 @@ parse_args (unsigned argc, char **argv) - } - break; - -+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: -+ command_line.poison_system_directories = FALSE; -+ break; -+ -+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: -+ command_line.error_poison_system_directories = TRUE; -+ break; -+ - case OPTION_PUSH_STATE: - input_flags.pushed = xmemdup (&input_flags, - sizeof (input_flags), -@@ -1577,6 +1594,10 @@ parse_args (unsigned argc, char **argv) - command_line.soname = NULL; - } - -+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); -+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = TRUE; -+ - while (ingroup) - { - lang_leave_group (); --- -2.9.4 - diff --git a/package/binutils/2.30/0001-sh-conf.patch b/package/binutils/2.30/0001-sh-conf.patch deleted file mode 100644 index 80cf35b118..0000000000 --- a/package/binutils/2.30/0001-sh-conf.patch +++ /dev/null @@ -1,48 +0,0 @@ -From b30ec72417164a2e990bc986eb0da05b7ef054fa Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:38:13 +0100 -Subject: [PATCH] sh-conf - -Likewise, binutils has no idea about any of these new targets either, so we -fix that up too.. now we're able to actually build a real toolchain for -sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more -inept targets than that one, really. Go look, I promise). - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour -[Thomas: rebase on top of 2.29, in which sh64 support was removed.] -Signed-off-by: Thomas Petazzoni ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 2d615a9996..18d74ab96e 100755 ---- a/configure -+++ b/configure -@@ -3835,7 +3835,7 @@ case "${target}" in - nvptx*-*-*) - noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" - ;; -- sh-*-*) -+ sh*-*-*) - case "${target}" in - sh*-*-elf) - ;; -diff --git a/configure.ac b/configure.ac -index aae94501e4..b530e54926 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1166,7 +1166,7 @@ case "${target}" in - nvptx*-*-*) - noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" - ;; -- sh-*-*) -+ sh*-*-*) - case "${target}" in - sh*-*-elf) - ;; --- -2.14.3 - diff --git a/package/binutils/2.30/0002-ld-makefile.patch b/package/binutils/2.30/0002-ld-makefile.patch deleted file mode 100644 index 992ffaee6c..0000000000 --- a/package/binutils/2.30/0002-ld-makefile.patch +++ /dev/null @@ -1,41 +0,0 @@ -From bf6f72c4e3c57864417ac1f917404cc83af8ec14 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 6243c12528..3c5d6c8202 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 760c037f9d..6dea692869 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.14.3 - diff --git a/package/binutils/2.30/0003-check-ldrunpath-length.patch b/package/binutils/2.30/0003-check-ldrunpath-length.patch deleted file mode 100644 index 7af98749da..0000000000 --- a/package/binutils/2.30/0003-check-ldrunpath-length.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c18554e56d2534cbb37d2d065d3782ce4ef2533c 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 c0925fc9b9..0ce16d73a5 100644 ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1470,6 +1470,8 @@ fragment <link.next) - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) --- -2.14.3 - diff --git a/package/binutils/2.30/0004-add-sysroot-fix-from-bug-3049.patch b/package/binutils/2.30/0004-add-sysroot-fix-from-bug-3049.patch deleted file mode 100644 index a110cf194f..0000000000 --- a/package/binutils/2.30/0004-add-sysroot-fix-from-bug-3049.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 20fff697c52e24700e76d64d202ad7a9228b630e 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 6532a57d96..eefc2ebefb 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.3 - diff --git a/package/binutils/2.30/0005-poison-system-directories.patch b/package/binutils/2.30/0005-poison-system-directories.patch deleted file mode 100644 index 4007be96cf..0000000000 --- a/package/binutils/2.30/0005-poison-system-directories.patch +++ /dev/null @@ -1,306 +0,0 @@ -From 28e0da3dede55d02eb64e015d363747772694566 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:45:38 +0100 -Subject: [PATCH] poison-system-directories - -Patch adapted to binutils 2.23.2 and extended to use -BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour -[Gustavo: adapt to binutils 2.25] -Signed-off-by: Thomas Petazzoni -Signed-off-by: Gustavo Zacarias - -Upstream-Status: Inappropriate [distribution: codesourcery] - -Patch originally created by Mark Hatle, forward-ported to -binutils 2.21 by Scott Garman. - -purpose: warn for uses of system directories when cross linking - -Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 - -2008-07-02 Joseph Myers - - ld/ - * ld.h (args_type): Add error_poison_system_directories. - * ld.texinfo (--error-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.error_poison_system_directories. - * ldmain.c (main): Initialize - command_line.error_poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --error-poison-system-directories. - (parse_args): Handle new option. - -2007-06-13 Joseph Myers - - ld/ - * config.in: Regenerate. - * ld.h (args_type): Add poison_system_directories. - * ld.texinfo (--no-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.poison_system_directories. - * ldmain.c (main): Initialize - command_line.poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_NO_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --no-poison-system-directories. - (parse_args): Handle new option. - -2007-04-20 Joseph Myers - - Merge from Sourcery G++ binutils 2.17: - - 2007-03-20 Joseph Myers - Based on patch by Mark Hatle . - ld/ - * configure.ac (--enable-poison-system-directories): New option. - * configure, config.in: Regenerate. - * ldfile.c (ldfile_add_library_path): If - ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, - /usr/lib, /usr/local/lib or /usr/X11R6/lib. - -Signed-off-by: Mark Hatle -Signed-off-by: Scott Garman ---- - ld/config.in | 3 +++ - ld/configure | 14 ++++++++++++++ - ld/configure.ac | 10 ++++++++++ - ld/ld.h | 8 ++++++++ - ld/ld.texinfo | 12 ++++++++++++ - ld/ldfile.c | 17 +++++++++++++++++ - ld/ldlex.h | 2 ++ - ld/ldmain.c | 2 ++ - ld/lexsup.c | 21 +++++++++++++++++++++ - 9 files changed, 89 insertions(+) - -diff --git a/ld/config.in b/ld/config.in -index a846743da6..df3cd5fb60 100644 ---- a/ld/config.in -+++ b/ld/config.in -@@ -27,6 +27,9 @@ - language is requested. */ - #undef ENABLE_NLS - -+/* Define to warn for use of native system library directories */ -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+ - /* Additional extension a shared object might have. */ - #undef EXTRA_SHLIB_EXTENSION - -diff --git a/ld/configure b/ld/configure -index 066b5146c6..11e7402909 100755 ---- a/ld/configure -+++ b/ld/configure -@@ -785,6 +785,7 @@ with_lib_path - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_compressed_debug_sections -@@ -1444,6 +1445,8 @@ Optional Features: - --disable-largefile omit support for large files - --enable-targets alternative target configurations - --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) -+ --enable-poison-system-directories -+ warn for use of native system library directories - --enable-gold[=ARG] build gold [ARG={default,yes,no}] - --enable-got= GOT handling scheme (target, single, negative, - multigot) -@@ -15500,7 +15503,18 @@ else - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" = "xyes"; then - -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+ -+fi - - # Check whether --enable-got was given. - if test "${enable_got+set}" = set; then : -diff --git a/ld/configure.ac b/ld/configure.ac -index bada1b50b0..d074a3820b 100644 ---- a/ld/configure.ac -+++ b/ld/configure.ac -@@ -95,6 +95,16 @@ AC_SUBST(use_sysroot) - AC_SUBST(TARGET_SYSTEM_ROOT) - AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system library directories]),, -+ [enable_poison_system_directories=no]) -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system library directories]) -+fi -+ - dnl Use --enable-gold to decide if this linker should be the default. - dnl "install_as_default" is set to false if gold is the default linker. - dnl "installed_linker" is the installed BFD linker name. -diff --git a/ld/ld.h b/ld/ld.h -index ba914b921e..9df17dab6c 100644 ---- a/ld/ld.h -+++ b/ld/ld.h -@@ -180,6 +180,14 @@ typedef struct - in the linker script. */ - bfd_boolean force_group_allocation; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bfd_boolean poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - -diff --git a/ld/ld.texinfo b/ld/ld.texinfo -index c89915f1aa..df430837e2 100644 ---- a/ld/ld.texinfo -+++ b/ld/ld.texinfo -@@ -2498,6 +2498,18 @@ string identifying the original linked file does not change. - - Passing @code{none} for @var{style} disables the setting from any - @code{--build-id} options earlier on the command line. -+ -+@kindex --no-poison-system-directories -+@item --no-poison-system-directories -+Do not warn for @option{-L} options using system directories such as -+@file{/usr/lib} when cross linking. This option is intended for use -+in chroot environments when such directories contain the correct -+libraries for the target system rather than the host. -+ -+@kindex --error-poison-system-directories -+@item --error-poison-system-directories -+Give an error instead of a warning for @option{-L} options using -+system directories when cross linking. - @end table - - @c man end -diff --git a/ld/ldfile.c b/ld/ldfile.c -index eefc2ebefb..bf7063ae8c 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) - new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); - else - new_dirs->name = xstrdup (name); -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (command_line.poison_system_directories -+ && ((!strncmp (name, "/lib", 4)) -+ || (!strncmp (name, "/usr/lib", 8)) -+ || (!strncmp (name, "/usr/local/lib", 14)) -+ || (!strncmp (name, "/usr/X11R6/lib", 14)))) -+ { -+ if (command_line.error_poison_system_directories) -+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ else -+ einfo (_("%P: warning: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ } -+#endif -+ - } - - /* Try to open a BFD for a lang_input_statement. */ -diff --git a/ld/ldlex.h b/ld/ldlex.h -index 140ed1d9da..9965cbc04f 100644 ---- a/ld/ldlex.h -+++ b/ld/ldlex.h -@@ -147,6 +147,8 @@ enum option_values - OPTION_REQUIRE_DEFINED_SYMBOL, - OPTION_ORPHAN_HANDLING, - OPTION_FORCE_GROUP_ALLOCATION, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - /* The initial parser states. */ -diff --git a/ld/ldmain.c b/ld/ldmain.c -index e02fd3f1ff..5dfe9ba7e8 100644 ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -261,6 +261,8 @@ main (int argc, char **argv) - command_line.warn_mismatch = TRUE; - command_line.warn_search_mismatch = TRUE; - command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the -diff --git a/ld/lexsup.c b/ld/lexsup.c -index f2191602d4..037a27a24a 100644 ---- a/ld/lexsup.c -+++ b/ld/lexsup.c -@@ -538,6 +538,14 @@ static const struct ld_option ld_options[] = - { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, - '\0', N_("=MODE"), N_("Control how orphan sections are handled."), - TWO_DASHES }, -+ { {"no-poison-system-directories", no_argument, NULL, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Do not warn for -L options using system directories"), -+ TWO_DASHES }, -+ { {"error-poison-system-directories", no_argument, NULL, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Give an error for -L options using system directories"), -+ TWO_DASHES }, - }; - - #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -550,6 +558,7 @@ parse_args (unsigned argc, char **argv) - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1534,6 +1543,14 @@ parse_args (unsigned argc, char **argv) - } - break; - -+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: -+ command_line.poison_system_directories = FALSE; -+ break; -+ -+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: -+ command_line.error_poison_system_directories = TRUE; -+ break; -+ - case OPTION_PUSH_STATE: - input_flags.pushed = xmemdup (&input_flags, - sizeof (input_flags), -@@ -1577,6 +1594,10 @@ parse_args (unsigned argc, char **argv) - command_line.soname = NULL; - } - -+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); -+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = TRUE; -+ - while (ingroup) - { - lang_leave_group (); --- -2.14.3 - diff --git a/package/binutils/2.30/0006-ARC-Refactored-location-where-GOT-information-is-col.patch b/package/binutils/2.30/0006-ARC-Refactored-location-where-GOT-information-is-col.patch deleted file mode 100644 index 396f2f14f9..0000000000 --- a/package/binutils/2.30/0006-ARC-Refactored-location-where-GOT-information-is-col.patch +++ /dev/null @@ -1,197 +0,0 @@ -From 141346d3968bdc82d3e487f3effdc3f835a09403 Mon Sep 17 00:00:00 2001 -From: Cupertino Miranda -Date: Fri, 2 Mar 2018 17:16:21 +0100 -Subject: [PATCH] [ARC] Refactored location where GOT information is - collected. - -Change location where GOT information is collected for ARC target, avoiding -posible use conflicts of the previous .got field in the symbols hash_entry. - -bfd/ -2018-03-01 Cupertino Miranda - - * arc-got.h (get_got_entry_list_for_symbol): Changed. - * ef32-arc.c (struct elf_arc_link_hash_entry): Moved and changed. - (elf_arc_link_hash_newfunc): Changed. - (arc_elf_link_hash_table_create): Removed old initializations. - (elf_arc_relocate_section, elf_arc_finish_dynamic_symbol): Changed. - -Signed-off-by: Alexey Brodkin ---- - bfd/arc-got.h | 6 ++-- - bfd/elf32-arc.c | 77 +++++++++++++++++++++++++++---------------------- - 2 files changed, 46 insertions(+), 37 deletions(-) - -diff --git a/bfd/arc-got.h b/bfd/arc-got.h -index a86061bcb38f..81ce88fe21a0 100644 ---- a/bfd/arc-got.h -+++ b/bfd/arc-got.h -@@ -156,9 +156,11 @@ get_got_entry_list_for_symbol (bfd *abfd, - unsigned long r_symndx, - struct elf_link_hash_entry *h) - { -- if (h != NULL) -+ struct elf_arc_link_hash_entry *h1 = -+ ((struct elf_arc_link_hash_entry *) h); -+ if (h1 != NULL) - { -- return &h->got.glist; -+ return &h1->got_ents; - } - else - { -diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c -index 5921cc25259e..166a5ef604ff 100644 ---- a/bfd/elf32-arc.c -+++ b/bfd/elf32-arc.c -@@ -159,6 +159,18 @@ struct arc_relocation_data - const char * symbol_name; - }; - -+/* ARC ELF linker hash entry. */ -+struct elf_arc_link_hash_entry -+{ -+ struct elf_link_hash_entry root; -+ -+ /* Track dynamic relocs copied for this symbol. */ -+ struct elf_dyn_relocs *dyn_relocs; -+ -+ struct got_entry *got_ents; -+}; -+ -+ - /* Should be included at this location due to static declarations - * defined before this point. */ - #include "arc-got.h" -@@ -275,15 +287,6 @@ struct arc_reloc_map - unsigned char elf_reloc_val; - }; - --/* ARC ELF linker hash entry. */ --struct elf_arc_link_hash_entry --{ -- struct elf_link_hash_entry root; -- -- /* Track dynamic relocs copied for this symbol. */ -- struct elf_dyn_relocs *dyn_relocs; --}; -- - /* ARC ELF linker hash table. */ - struct elf_arc_link_hash_table - { -@@ -295,28 +298,28 @@ elf_arc_link_hash_newfunc (struct bfd_hash_entry *entry, - struct bfd_hash_table *table, - const char *string) - { -+ struct elf_arc_link_hash_entry * ret = -+ (struct elf_arc_link_hash_entry *) entry; -+ - /* Allocate the structure if it has not already been allocated by a - subclass. */ -- if (entry == NULL) -- { -- entry = (struct bfd_hash_entry *) -- bfd_hash_allocate (table, -- sizeof (struct elf_arc_link_hash_entry)); -- if (entry == NULL) -- return entry; -- } -+ if (ret == NULL) -+ ret = (struct elf_arc_link_hash_entry *) -+ bfd_hash_allocate (table, sizeof (struct elf_arc_link_hash_entry)); -+ if (ret == NULL) -+ return (struct bfd_hash_entry *) ret; - - /* Call the allocation method of the superclass. */ -- entry = _bfd_elf_link_hash_newfunc (entry, table, string); -- if (entry != NULL) -+ ret = ((struct elf_arc_link_hash_entry *) -+ _bfd_elf_link_hash_newfunc ((struct bfd_hash_entry *) ret, -+ table, string)); -+ if (ret != NULL) - { -- struct elf_arc_link_hash_entry *eh; -- -- eh = (struct elf_arc_link_hash_entry *) entry; -- eh->dyn_relocs = NULL; -+ ret->dyn_relocs = NULL; -+ ret->got_ents = NULL; - } - -- return entry; -+ return (struct bfd_hash_entry *) ret; - } - - /* Destroy an ARC ELF linker hash table. */ -@@ -346,11 +349,6 @@ arc_elf_link_hash_table_create (bfd *abfd) - return NULL; - } - -- ret->elf.init_got_refcount.refcount = 0; -- ret->elf.init_got_refcount.glist = NULL; -- ret->elf.init_got_offset.offset = 0; -- ret->elf.init_got_offset.glist = NULL; -- - ret->elf.root.hash_table_free = elf_arc_link_hash_table_free; - - return &ret->elf.root; -@@ -1598,10 +1596,14 @@ elf_arc_relocate_section (bfd * output_bfd, - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - { -- struct elf_link_hash_entry *h_old = h; -+ struct elf_arc_link_hash_entry *ah_old = -+ (struct elf_arc_link_hash_entry *) h; - h = (struct elf_link_hash_entry *) h->root.u.i.link; -- if (h->got.glist == 0 && h_old->got.glist != h->got.glist) -- h->got.glist = h_old->got.glist; -+ struct elf_arc_link_hash_entry *ah = -+ (struct elf_arc_link_hash_entry *) h; -+ -+ if (ah->got_ents == 0 && ah_old->got_ents != ah->got_ents) -+ ah->got_ents = ah_old->got_ents; - } - - /* TODO: Need to validate what was the intention. */ -@@ -1619,6 +1621,8 @@ elf_arc_relocate_section (bfd * output_bfd, - - if (is_reloc_for_GOT (howto) && !bfd_link_pic (info)) - { -+ struct elf_arc_link_hash_entry *ah = -+ (struct elf_arc_link_hash_entry *) h; - /* TODO: Change it to use arc_do_relocation with - ARC_32 reloc. Try to use ADD_RELA macro. */ - bfd_vma relocation = -@@ -1628,8 +1632,8 @@ elf_arc_relocate_section (bfd * output_bfd, - + reloc_data.sym_section->output_section->vma) - : 0); - -- BFD_ASSERT (h->got.glist); -- bfd_vma got_offset = h->got.glist->offset; -+ BFD_ASSERT (ah->got_ents); -+ bfd_vma got_offset = ah->got_ents->offset; - bfd_put_32 (output_bfd, relocation, - htab->sgot->contents + got_offset); - } -@@ -1941,6 +1945,7 @@ elf_arc_check_relocs (bfd * abfd, - else /* Global one. */ - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - -+ - switch (r_type) - { - case R_ARC_32: -@@ -2387,7 +2392,9 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd, - create respective dynamic relocs. */ - /* TODO: Make function to get list and not access the list directly. */ - /* TODO: Move function to relocate_section create this relocs eagerly. */ -- create_got_dynrelocs_for_got_info (&h->got.glist, -+ struct elf_arc_link_hash_entry *ah = -+ (struct elf_arc_link_hash_entry *) h; -+ create_got_dynrelocs_for_got_info (&ah->got_ents, - output_bfd, - info, - h); --- -2.17.1 - diff --git a/package/binutils/2.30/0007-ARC-Improved-robustness.-Return-FALSE-in-case-of-NUL.patch b/package/binutils/2.30/0007-ARC-Improved-robustness.-Return-FALSE-in-case-of-NUL.patch deleted file mode 100644 index 0633692cac..0000000000 --- a/package/binutils/2.30/0007-ARC-Improved-robustness.-Return-FALSE-in-case-of-NUL.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 4bac50c2c94023cb1b5bf947abfb1c72eeeb12d5 Mon Sep 17 00:00:00 2001 -From: Cupertino Miranda -Date: Fri, 2 Mar 2018 17:33:48 +0100 -Subject: [PATCH] [ARC] Improved robustness. Return FALSE in case of NULL - pointer. - -bfd/ -2018-03-01 Cupertino Miranda - - * elf32-arc.c (elf_arc_finish_dynamic_symbol) Return FALSE in case - arc_htab is NULL. - -Signed-off-by: Alexey Brodkin ---- - bfd/elf32-arc.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c -index 166a5ef604ff..72b808b99127 100644 ---- a/bfd/elf32-arc.c -+++ b/bfd/elf32-arc.c -@@ -2403,6 +2403,9 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd, - { - struct elf_arc_link_hash_table *arc_htab = elf_arc_hash_table (info); - -+ if(arc_htab == NULL) -+ return FALSE; -+ - if (h->dynindx == -1 - || (h->root.type != bfd_link_hash_defined - && h->root.type != bfd_link_hash_defweak) --- -2.17.1 - diff --git a/package/binutils/2.30/0008-ARC-Make-sure-global-symbol-is-not-an-indirect-or-wa.patch b/package/binutils/2.30/0008-ARC-Make-sure-global-symbol-is-not-an-indirect-or-wa.patch deleted file mode 100644 index 2ffe9c9733..0000000000 --- a/package/binutils/2.30/0008-ARC-Make-sure-global-symbol-is-not-an-indirect-or-wa.patch +++ /dev/null @@ -1,42 +0,0 @@ -From b182c9f81daa08cf18cd78af3e7aca74640e8551 Mon Sep 17 00:00:00 2001 -From: Cupertino Miranda -Date: Fri, 2 Mar 2018 17:38:14 +0100 -Subject: [PATCH] [ARC] Make sure global symbol is not an indirect or - warning. - -Problem identified in the context of glibc with latest upstream binutils. -Dynamic symbol space was being reserved but, no actual information for the -symbol was being set. Data for the symbol was kept initialized with -1. -No easy test case was possible to be created. - -bfd/ -2018-03-01 Cupertino Miranda - - * elf32-arc.c (elf_arc_check_relocs): Changed. - -Signed-off-by: Alexey Brodkin ---- - bfd/elf32-arc.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c -index 72b808b99127..6f6470f6f202 100644 ---- a/bfd/elf32-arc.c -+++ b/bfd/elf32-arc.c -@@ -1943,7 +1943,12 @@ elf_arc_check_relocs (bfd * abfd, - if (r_symndx < symtab_hdr->sh_info) /* Is a local symbol. */ - h = NULL; - else /* Global one. */ -- h = sym_hashes[r_symndx - symtab_hdr->sh_info]; -+ { -+ h = sym_hashes[r_symndx - symtab_hdr->sh_info]; -+ while (h->root.type == bfd_link_hash_indirect -+ || h->root.type == bfd_link_hash_warning) -+ h = (struct elf_link_hash_entry *) h->root.u.i.link; -+ } - - - switch (r_type) --- -2.17.1 - diff --git a/package/binutils/2.30/0009-ARC-PLT-information-was-still-being-generated-when-s.patch b/package/binutils/2.30/0009-ARC-PLT-information-was-still-being-generated-when-s.patch deleted file mode 100644 index a5bcb94d11..0000000000 --- a/package/binutils/2.30/0009-ARC-PLT-information-was-still-being-generated-when-s.patch +++ /dev/null @@ -1,35 +0,0 @@ -From e2f2d7f939435280003983ef822acd0844648643 Mon Sep 17 00:00:00 2001 -From: Cupertino Miranda -Date: Fri, 2 Mar 2018 17:44:29 +0100 -Subject: [PATCH] [ARC] PLT information was still being generated when - symbol was forced_local. - -A change upstream reveiled this issue, triggering an assert when linking glibc. - -bfd/ -2018-03-01 Cupertino Miranda - - * elf32-arc.c (elf_arc_check_relocs): Changed. - -Signed-off-by: Alexey Brodkin ---- - bfd/elf32-arc.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c -index 6f6470f6f202..184957c7d750 100644 ---- a/bfd/elf32-arc.c -+++ b/bfd/elf32-arc.c -@@ -2024,7 +2024,8 @@ elf_arc_check_relocs (bfd * abfd, - if (h == NULL) - continue; - else -- h->needs_plt = 1; -+ if(h->forced_local == 0) -+ h->needs_plt = 1; - } - - /* Add info to the symbol got_entry_list. */ --- -2.17.1 - diff --git a/package/binutils/2.31.1/0018-bfd-xtensa-fix-PR-ld-25630.patch b/package/binutils/2.31.1/0018-bfd-xtensa-fix-PR-ld-25630.patch new file mode 100644 index 0000000000..f499426b70 --- /dev/null +++ b/package/binutils/2.31.1/0018-bfd-xtensa-fix-PR-ld-25630.patch @@ -0,0 +1,37 @@ +From 85dcca5997cf3822d6456a5c9c59c46b56adfbb8 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Wed, 4 Mar 2020 14:54:27 -0800 +Subject: [PATCH] bfd: xtensa: fix PR ld/25630 + +bfd/ +2020-03-05 Max Filippov + + * elf32-xtensa.c (shrink_dynamic_reloc_sections): Shrink dynamic + relocation sections for any removed reference to a dynamic symbol. + +Signed-off-by: Max Filippov +--- + bfd/elf32-xtensa.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c +index 12ff9f772aaf..65e14d87940c 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -10148,10 +10148,9 @@ shrink_dynamic_reloc_sections (struct bfd_link_info *info, + + if ((r_type == R_XTENSA_32 || r_type == R_XTENSA_PLT) + && (input_section->flags & SEC_ALLOC) != 0 +- && (dynamic_symbol || bfd_link_pic (info)) +- && (!h || h->root.type != bfd_link_hash_undefweak +- || (dynamic_symbol +- && (bfd_link_dll (info) || info->export_dynamic)))) ++ && (dynamic_symbol ++ || (bfd_link_pic (info) ++ && (!h || h->root.type != bfd_link_hash_undefweak)))) + { + asection *srel; + bfd_boolean is_plt = FALSE; +-- +2.20.1 + diff --git a/package/binutils/2.31.1/0019-xtensa-fix-PR-ld-25861.patch b/package/binutils/2.31.1/0019-xtensa-fix-PR-ld-25861.patch new file mode 100644 index 0000000000..8ca8c965d2 --- /dev/null +++ b/package/binutils/2.31.1/0019-xtensa-fix-PR-ld-25861.patch @@ -0,0 +1,376 @@ +From c7a1d1f656c717394937a92cb970f0f4cecce128 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sun, 19 Apr 2020 19:04:41 -0700 +Subject: [PATCH] xtensa: fix PR ld/25861 + +Introduce new relaxations XTENSA_PDIFF{8,16,32} for positive differences +(subtracted symbol precedes diminished symbol) and XTENSA_NDIFF{8,16,32} +for negative differences (subtracted symbol follows diminished symbol). +Don't generate XTENSA_DIFF relocations in the assembler, generate +XTENSA_PDIFF or XTENSA_NDIFF based on relative symbol position. + +Handle XTENSA_DIFF in BFD for compatibility with old object files. +Handle XTENSA_PDIFF and XTENSA_NDIFF in BFD, treating difference value +as unsigned. + +2020-04-22 Max Filippov +bfd/ + * bfd-in2.h: Regenerated. + * elf32-xtensa.c (elf_howto_table): New entries for + R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}. + (elf_xtensa_reloc_type_lookup, elf_xtensa_do_reloc) + (relax_section): Add cases for R_XTENSA_PDIFF{8,16,32} and + R_XTENSA_NDIFF{8,16,32}. + * libbfd.h (bfd_reloc_code_real_names): Add names for + BFD_RELOC_XTENSA_PDIFF{8,16,32} and + BFD_RELOC_XTENSA_NDIFF{8,16,32}. + * reloc.c: Add documentation for BFD_RELOC_XTENSA_PDIFF{8,16,32} + and BFD_RELOC_XTENSA_NDIFF{8,16,32}. + +binutils/ + * readelf.c (is_none_reloc): Recognize + BFD_RELOC_XTENSA_PDIFF{8,16,32} and + BFD_RELOC_XTENSA_NDIFF{8,16,32}. + +gas/ + * config/tc-xtensa.c (md_apply_fix): Replace + BFD_RELOC_XTENSA_DIFF{8,16,32} generation with + BFD_RELOC_XTENSA_PDIFF{8,16,32} and + BFD_RELOC_XTENSA_NDIFF{8,16,32} generation. + * testsuite/gas/xtensa/loc.d: Replace BFD_RELOC_XTENSA_DIFF16 + with BFD_RELOC_XTENSA_PDIFF16 in the expected output. + +include/ + * elf/xtensa.h (elf_xtensa_reloc_type): New entries for + R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}. + +Signed-off-by: Max Filippov +--- +Backported from: 30ce8e47fad9b057b6d7af9e1d43061126d34d20 + + bfd/bfd-in2.h | 20 ++++++- + bfd/elf32-xtensa.c | 89 +++++++++++++++++++++++++++++- + bfd/libbfd.h | 6 ++ + bfd/reloc.c | 24 ++++++++ + binutils/readelf.c | 8 ++- + gas/config/tc-xtensa.c | 12 +++- + gas/testsuite/gas/xtensa/loc.d | 2 +- + include/elf/xtensa.h | 6 ++ + 11 files changed, 160 insertions(+), 7 deletions(-) + +diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h +index 37114607b515..be6a30f57955 100644 +--- a/bfd/bfd-in2.h ++++ b/bfd/bfd-in2.h +@@ -5217,7 +5217,9 @@ to one of its own internal functions or data structures. */ + PLT entries. Otherwise, this is just a generic 32-bit relocation. */ + BFD_RELOC_XTENSA_PLT, + +-/* Xtensa relocations to mark the difference of two local symbols. ++/* Xtensa relocations for backward compatibility. These have been replaced ++by BFD_RELOC_XTENSA_PDIFF and BFD_RELOC_XTENSA_NDIFF. ++Xtensa relocations to mark the difference of two local symbols. + These are only needed to support linker relaxation and can be ignored + when not relaxing. The field is set to the value of the difference + assuming no relaxation. The relocation encodes the position of the +@@ -5291,6 +5293,22 @@ BFD_RELOC_XTENSA_ASM_EXPAND. */ + BFD_RELOC_XTENSA_TLS_ARG, + BFD_RELOC_XTENSA_TLS_CALL, + ++/* Xtensa relocations to mark the difference of two local symbols. ++These are only needed to support linker relaxation and can be ignored ++when not relaxing. The field is set to the value of the difference ++assuming no relaxation. The relocation encodes the position of the ++subtracted symbol so the linker can determine whether to adjust the field ++value. PDIFF relocations are used for positive differences, NDIFF ++relocations are used for negative differences. The difference value ++is treated as unsigned with these relocation types, giving full ++8/16 value ranges. */ ++ BFD_RELOC_XTENSA_PDIFF8, ++ BFD_RELOC_XTENSA_PDIFF16, ++ BFD_RELOC_XTENSA_PDIFF32, ++ BFD_RELOC_XTENSA_NDIFF8, ++ BFD_RELOC_XTENSA_NDIFF16, ++ BFD_RELOC_XTENSA_NDIFF32, ++ + /* 8 bit signed offset in (ix+d) or (iy+d). */ + BFD_RELOC_Z80_DISP8, + +diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c +index 473a9d76f289..fded42d52a9a 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -325,6 +325,20 @@ static reloc_howto_type elf_howto_table[] = + HOWTO (R_XTENSA_TLS_CALL, 0, 0, 0, FALSE, 0, complain_overflow_dont, + bfd_elf_xtensa_reloc, "R_XTENSA_TLS_CALL", + FALSE, 0, 0, FALSE), ++ ++ HOWTO (R_XTENSA_PDIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF8", FALSE, 0, 0xff, FALSE), ++ HOWTO (R_XTENSA_PDIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF16", FALSE, 0, 0xffff, FALSE), ++ HOWTO (R_XTENSA_PDIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF32", FALSE, 0, 0xffffffff, FALSE), ++ ++ HOWTO (R_XTENSA_NDIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF8", FALSE, 0, 0xff, FALSE), ++ HOWTO (R_XTENSA_NDIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF16", FALSE, 0, 0xffff, FALSE), ++ HOWTO (R_XTENSA_NDIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF32", FALSE, 0, 0xffffffff, FALSE), + }; + + #if DEBUG_GEN_RELOC +@@ -364,6 +378,30 @@ elf_xtensa_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, + TRACE ("BFD_RELOC_XTENSA_DIFF32"); + return &elf_howto_table[(unsigned) R_XTENSA_DIFF32 ]; + ++ case BFD_RELOC_XTENSA_PDIFF8: ++ TRACE ("BFD_RELOC_XTENSA_PDIFF8"); ++ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF8 ]; ++ ++ case BFD_RELOC_XTENSA_PDIFF16: ++ TRACE ("BFD_RELOC_XTENSA_PDIFF16"); ++ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF16 ]; ++ ++ case BFD_RELOC_XTENSA_PDIFF32: ++ TRACE ("BFD_RELOC_XTENSA_PDIFF32"); ++ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF32 ]; ++ ++ case BFD_RELOC_XTENSA_NDIFF8: ++ TRACE ("BFD_RELOC_XTENSA_NDIFF8"); ++ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF8 ]; ++ ++ case BFD_RELOC_XTENSA_NDIFF16: ++ TRACE ("BFD_RELOC_XTENSA_NDIFF16"); ++ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF16 ]; ++ ++ case BFD_RELOC_XTENSA_NDIFF32: ++ TRACE ("BFD_RELOC_XTENSA_NDIFF32"); ++ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF32 ]; ++ + case BFD_RELOC_XTENSA_RTLD: + TRACE ("BFD_RELOC_XTENSA_RTLD"); + return &elf_howto_table[(unsigned) R_XTENSA_RTLD ]; +@@ -1851,6 +1889,12 @@ elf_xtensa_do_reloc (reloc_howto_type *howto, + case R_XTENSA_DIFF8: + case R_XTENSA_DIFF16: + case R_XTENSA_DIFF32: ++ case R_XTENSA_PDIFF8: ++ case R_XTENSA_PDIFF16: ++ case R_XTENSA_PDIFF32: ++ case R_XTENSA_NDIFF8: ++ case R_XTENSA_NDIFF16: ++ case R_XTENSA_NDIFF32: + case R_XTENSA_TLS_FUNC: + case R_XTENSA_TLS_ARG: + case R_XTENSA_TLS_CALL: +@@ -9604,7 +9648,13 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + + if (r_type == R_XTENSA_DIFF8 + || r_type == R_XTENSA_DIFF16 +- || r_type == R_XTENSA_DIFF32) ++ || r_type == R_XTENSA_DIFF32 ++ || r_type == R_XTENSA_PDIFF8 ++ || r_type == R_XTENSA_PDIFF16 ++ || r_type == R_XTENSA_PDIFF32 ++ || r_type == R_XTENSA_NDIFF8 ++ || r_type == R_XTENSA_NDIFF16 ++ || r_type == R_XTENSA_NDIFF32) + { + bfd_signed_vma diff_value = 0; + bfd_vma new_end_offset, diff_mask = 0; +@@ -9631,8 +9681,27 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + diff_value = + bfd_get_signed_32 (abfd, &contents[old_source_offset]); + break; ++ case R_XTENSA_PDIFF8: ++ case R_XTENSA_NDIFF8: ++ diff_value = ++ bfd_get_8 (abfd, &contents[old_source_offset]); ++ break; ++ case R_XTENSA_PDIFF16: ++ case R_XTENSA_NDIFF16: ++ diff_value = ++ bfd_get_16 (abfd, &contents[old_source_offset]); ++ break; ++ case R_XTENSA_PDIFF32: ++ case R_XTENSA_NDIFF32: ++ diff_value = ++ bfd_get_32 (abfd, &contents[old_source_offset]); ++ break; + } + ++ if (r_type >= R_XTENSA_NDIFF8 ++ && r_type <= R_XTENSA_NDIFF32) ++ diff_value = -diff_value; ++ + new_end_offset = offset_with_removed_text_map + (&target_relax_info->action_list, + r_rel.target_offset + diff_value); +@@ -9655,6 +9724,24 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + bfd_put_signed_32 (abfd, diff_value, + &contents[old_source_offset]); + break; ++ case R_XTENSA_PDIFF8: ++ case R_XTENSA_NDIFF8: ++ diff_mask = 0xff; ++ bfd_put_8 (abfd, diff_value, ++ &contents[old_source_offset]); ++ break; ++ case R_XTENSA_PDIFF16: ++ case R_XTENSA_NDIFF16: ++ diff_mask = 0xffff; ++ bfd_put_16 (abfd, diff_value, ++ &contents[old_source_offset]); ++ break; ++ case R_XTENSA_PDIFF32: ++ case R_XTENSA_NDIFF32: ++ diff_mask = 0xffffffff; ++ bfd_put_32 (abfd, diff_value, ++ &contents[old_source_offset]); ++ break; + } + + /* Check for overflow. Sign bits must be all zeroes or all ones */ +diff --git a/bfd/libbfd.h b/bfd/libbfd.h +index 3c184fcadadf..989f4bc0b595 100644 +--- a/bfd/libbfd.h ++++ b/bfd/libbfd.h +@@ -2919,6 +2919,12 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", + "BFD_RELOC_XTENSA_TLS_FUNC", + "BFD_RELOC_XTENSA_TLS_ARG", + "BFD_RELOC_XTENSA_TLS_CALL", ++ "BFD_RELOC_XTENSA_PDIFF8", ++ "BFD_RELOC_XTENSA_PDIFF16", ++ "BFD_RELOC_XTENSA_PDIFF32", ++ "BFD_RELOC_XTENSA_NDIFF8", ++ "BFD_RELOC_XTENSA_NDIFF16", ++ "BFD_RELOC_XTENSA_NDIFF32", + "BFD_RELOC_Z80_DISP8", + "BFD_RELOC_Z80_BYTE0", + "BFD_RELOC_Z80_BYTE1", +diff --git a/bfd/reloc.c b/bfd/reloc.c +index c4dec86d1d46..f5df8e2ab3eb 100644 +--- a/bfd/reloc.c ++++ b/bfd/reloc.c +@@ -6556,6 +6556,8 @@ ENUMX + ENUMX + BFD_RELOC_XTENSA_DIFF32 + ENUMDOC ++ Xtensa relocations for backward compatibility. These have been replaced ++ by BFD_RELOC_XTENSA_PDIFF and BFD_RELOC_XTENSA_NDIFF. + Xtensa relocations to mark the difference of two local symbols. + These are only needed to support linker relaxation and can be ignored + when not relaxing. The field is set to the value of the difference +@@ -6668,6 +6670,28 @@ ENUMX + BFD_RELOC_XTENSA_TLS_CALL + ENUMDOC + Xtensa TLS relocations. ++ENUM ++ BFD_RELOC_XTENSA_PDIFF8 ++ENUMX ++ BFD_RELOC_XTENSA_PDIFF16 ++ENUMX ++ BFD_RELOC_XTENSA_PDIFF32 ++ENUMX ++ BFD_RELOC_XTENSA_NDIFF8 ++ENUMX ++ BFD_RELOC_XTENSA_NDIFF16 ++ENUMX ++ BFD_RELOC_XTENSA_NDIFF32 ++ENUMDOC ++ Xtensa relocations to mark the difference of two local symbols. ++ These are only needed to support linker relaxation and can be ignored ++ when not relaxing. The field is set to the value of the difference ++ assuming no relaxation. The relocation encodes the position of the ++ subtracted symbol so the linker can determine whether to adjust the field ++ value. PDIFF relocations are used for positive differences, NDIFF ++ relocations are used for negative differences. The difference value ++ is treated as unsigned with these relocation types, giving full ++ 8/16 value ranges. + + ENUM + BFD_RELOC_Z80_DISP8 +diff --git a/binutils/readelf.c b/binutils/readelf.c +index d4756c93b345..800918f901c8 100644 +--- a/binutils/readelf.c ++++ b/binutils/readelf.c +@@ -13262,7 +13262,13 @@ is_none_reloc (Filedata * filedata, unsigned int reloc_type) + return (reloc_type == 0 /* R_XTENSA_NONE. */ + || reloc_type == 17 /* R_XTENSA_DIFF8. */ + || reloc_type == 18 /* R_XTENSA_DIFF16. */ +- || reloc_type == 19 /* R_XTENSA_DIFF32. */); ++ || reloc_type == 19 /* R_XTENSA_DIFF32. */ ++ || reloc_type == 57 /* R_XTENSA_PDIFF8. */ ++ || reloc_type == 58 /* R_XTENSA_PDIFF16. */ ++ || reloc_type == 59 /* R_XTENSA_PDIFF32. */ ++ || reloc_type == 60 /* R_XTENSA_NDIFF8. */ ++ || reloc_type == 61 /* R_XTENSA_NDIFF16. */ ++ || reloc_type == 62 /* R_XTENSA_NDIFF32. */); + } + return FALSE; + } +diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c +index 71d4d94a8d7d..ee75c13548ff 100644 +--- a/gas/config/tc-xtensa.c ++++ b/gas/config/tc-xtensa.c +@@ -5974,18 +5974,24 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg) + case BFD_RELOC_8: + if (fixP->fx_subsy) + { ++ bfd_boolean neg = S_GET_VALUE (fixP->fx_addsy) + fixP->fx_offset ++ < S_GET_VALUE (fixP->fx_subsy); ++ + switch (fixP->fx_r_type) + { + case BFD_RELOC_8: +- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8; ++ fixP->fx_r_type = neg ++ ? BFD_RELOC_XTENSA_NDIFF8 : BFD_RELOC_XTENSA_PDIFF8; + fixP->fx_signed = 0; + break; + case BFD_RELOC_16: +- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16; ++ fixP->fx_r_type = neg ++ ? BFD_RELOC_XTENSA_NDIFF16 : BFD_RELOC_XTENSA_PDIFF16; + fixP->fx_signed = 0; + break; + case BFD_RELOC_32: +- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32; ++ fixP->fx_r_type = neg ++ ? BFD_RELOC_XTENSA_NDIFF32 : BFD_RELOC_XTENSA_PDIFF32; + fixP->fx_signed = 0; + break; + default: +diff --git a/gas/testsuite/gas/xtensa/loc.d b/gas/testsuite/gas/xtensa/loc.d +index 71983cc90055..8fb3425999d5 100644 +--- a/gas/testsuite/gas/xtensa/loc.d ++++ b/gas/testsuite/gas/xtensa/loc.d +@@ -6,5 +6,5 @@ + + RELOCATION RECORDS FOR \[\.debug_line\]: + #... +-.*R_XTENSA_DIFF16.*\.text\+0x00009c42 ++.*R_XTENSA_PDIFF16.*\.text\+0x00009c42 + #... +diff --git a/include/elf/xtensa.h b/include/elf/xtensa.h +index 2eb5e4e52941..bd5c80d13777 100644 +--- a/include/elf/xtensa.h ++++ b/include/elf/xtensa.h +@@ -87,6 +87,12 @@ START_RELOC_NUMBERS (elf_xtensa_reloc_type) + RELOC_NUMBER (R_XTENSA_TLS_FUNC, 54) + RELOC_NUMBER (R_XTENSA_TLS_ARG, 55) + RELOC_NUMBER (R_XTENSA_TLS_CALL, 56) ++ RELOC_NUMBER (R_XTENSA_PDIFF8, 57) ++ RELOC_NUMBER (R_XTENSA_PDIFF16, 58) ++ RELOC_NUMBER (R_XTENSA_PDIFF32, 59) ++ RELOC_NUMBER (R_XTENSA_NDIFF8, 60) ++ RELOC_NUMBER (R_XTENSA_NDIFF16, 61) ++ RELOC_NUMBER (R_XTENSA_NDIFF32, 62) + END_RELOC_NUMBERS (R_XTENSA_max) + + /* Processor-specific flags for the ELF header e_flags field. */ +-- +2.20.1 + diff --git a/package/binutils/2.31.1/0020-xtensa-fix-XTENSA_NDIFF-handling-for-PR-ld-25861.patch b/package/binutils/2.31.1/0020-xtensa-fix-XTENSA_NDIFF-handling-for-PR-ld-25861.patch new file mode 100644 index 0000000000..28f17d7c56 --- /dev/null +++ b/package/binutils/2.31.1/0020-xtensa-fix-XTENSA_NDIFF-handling-for-PR-ld-25861.patch @@ -0,0 +1,128 @@ +From 735321812435ae278d3766a3371f55937dc776d6 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sat, 25 Apr 2020 00:40:25 -0700 +Subject: [PATCH] xtensa: fix XTENSA_NDIFF handling for PR ld/25861 + +Fields marked with XTENSA_NDIFF relocations are not negated, they only +have sign bits removed. Don't negate their values when relaxation is +performed. Don't add sign bits when the value is zero. Report overflow +when the result has negative sign but all significant bits are zero. + +2020-04-29 Max Filippov +bfd/ + * elf32-xtensa.c (relax_section): Don't negate diff_value for + XTENSA_NDIFF relocations. Don't add sign bits whe diff_value + equals 0. Report overflow when the result has negative sign but + all significant bits are zero. + +Signed-off-by: Max Filippov +Backported from: d548f47df4d2e3d117d504a4c9977982c78a0556 +--- + + bfd/elf32-xtensa.c | 26 +++++++++++++++----------- + 1 file changed, 15 insertions(+), 11 deletions(-) + +diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c +index fded42d52a9a..4327b027911f 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -9670,37 +9670,44 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + switch (r_type) + { + case R_XTENSA_DIFF8: ++ diff_mask = 0x7f; + diff_value = + bfd_get_signed_8 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_DIFF16: ++ diff_mask = 0x7fff; + diff_value = + bfd_get_signed_16 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_DIFF32: ++ diff_mask = 0x7fffffff; + diff_value = + bfd_get_signed_32 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF8: + case R_XTENSA_NDIFF8: ++ diff_mask = 0xff; + diff_value = + bfd_get_8 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF16: + case R_XTENSA_NDIFF16: ++ diff_mask = 0xffff; + diff_value = + bfd_get_16 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF32: + case R_XTENSA_NDIFF32: ++ diff_mask = 0xffffffff; + diff_value = + bfd_get_32 (abfd, &contents[old_source_offset]); + break; + } + + if (r_type >= R_XTENSA_NDIFF8 +- && r_type <= R_XTENSA_NDIFF32) +- diff_value = -diff_value; ++ && r_type <= R_XTENSA_NDIFF32 ++ && diff_value) ++ diff_value |= ~diff_mask; + + new_end_offset = offset_with_removed_text_map + (&target_relax_info->action_list, +@@ -9710,43 +9717,40 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + switch (r_type) + { + case R_XTENSA_DIFF8: +- diff_mask = 0x7f; + bfd_put_signed_8 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_DIFF16: +- diff_mask = 0x7fff; + bfd_put_signed_16 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_DIFF32: +- diff_mask = 0x7fffffff; + bfd_put_signed_32 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF8: + case R_XTENSA_NDIFF8: +- diff_mask = 0xff; + bfd_put_8 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF16: + case R_XTENSA_NDIFF16: +- diff_mask = 0xffff; + bfd_put_16 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF32: + case R_XTENSA_NDIFF32: +- diff_mask = 0xffffffff; + bfd_put_32 (abfd, diff_value, + &contents[old_source_offset]); + break; + } + +- /* Check for overflow. Sign bits must be all zeroes or all ones */ +- if ((diff_value & ~diff_mask) != 0 && +- (diff_value & ~diff_mask) != (-1 & ~diff_mask)) ++ /* Check for overflow. Sign bits must be all zeroes or ++ all ones. When sign bits are all ones diff_value ++ may not be zero. */ ++ if (((diff_value & ~diff_mask) != 0 ++ && (diff_value & ~diff_mask) != ~diff_mask) ++ || (diff_value && (bfd_vma) diff_value == ~diff_mask)) + { + (*link_info->callbacks->reloc_dangerous) + (link_info, _("overflow after relaxation"), +-- +2.20.1 + diff --git a/package/binutils/2.32/0001-sh-conf.patch b/package/binutils/2.32/0001-sh-conf.patch new file mode 100644 index 0000000000..fff91ae35c --- /dev/null +++ b/package/binutils/2.32/0001-sh-conf.patch @@ -0,0 +1,48 @@ +From 98b2acf2bd3a527d114a9f8931083c2617a2daa9 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:38:13 +0100 +Subject: [PATCH] sh-conf + +Likewise, binutils has no idea about any of these new targets either, so we +fix that up too.. now we're able to actually build a real toolchain for +sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more +inept targets than that one, really. Go look, I promise). + +[Romain: rebase on top of 2.32] +Signed-off-by: Romain Naour +[Thomas: rebase on top of 2.29, in which sh64 support was removed.] +Signed-off-by: Thomas Petazzoni +--- + configure | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 37476459612..66fbc19f9ff 100755 +--- a/configure ++++ b/configure +@@ -3861,7 +3861,7 @@ case "${target}" in + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +diff --git a/configure.ac b/configure.ac +index 46501c28826..6c731930884 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1158,7 +1158,7 @@ case "${target}" in + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +-- +2.14.5 + diff --git a/package/binutils/2.32/0002-poison-system-directories.patch b/package/binutils/2.32/0002-poison-system-directories.patch new file mode 100644 index 0000000000..98f41e87f3 --- /dev/null +++ b/package/binutils/2.32/0002-poison-system-directories.patch @@ -0,0 +1,306 @@ +From f559402ea868d370ddf25089c68cda2600db3bfa Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:45:38 +0100 +Subject: [PATCH] poison-system-directories + +Patch adapted to binutils 2.23.2 and extended to use +BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. + +[Romain: rebase on top of 2.32] +Signed-off-by: Romain Naour +[Gustavo: adapt to binutils 2.25] +Signed-off-by: Thomas Petazzoni +Signed-off-by: Gustavo Zacarias + +Upstream-Status: Inappropriate [distribution: codesourcery] + +Patch originally created by Mark Hatle, forward-ported to +binutils 2.21 by Scott Garman. + +purpose: warn for uses of system directories when cross linking + +Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 + +2008-07-02 Joseph Myers + + ld/ + * ld.h (args_type): Add error_poison_system_directories. + * ld.texinfo (--error-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.error_poison_system_directories. + * ldmain.c (main): Initialize + command_line.error_poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --error-poison-system-directories. + (parse_args): Handle new option. + +2007-06-13 Joseph Myers + + ld/ + * config.in: Regenerate. + * ld.h (args_type): Add poison_system_directories. + * ld.texinfo (--no-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.poison_system_directories. + * ldmain.c (main): Initialize + command_line.poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_NO_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --no-poison-system-directories. + (parse_args): Handle new option. + +2007-04-20 Joseph Myers + + Merge from Sourcery G++ binutils 2.17: + + 2007-03-20 Joseph Myers + Based on patch by Mark Hatle . + ld/ + * configure.ac (--enable-poison-system-directories): New option. + * configure, config.in: Regenerate. + * ldfile.c (ldfile_add_library_path): If + ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, + /usr/lib, /usr/local/lib or /usr/X11R6/lib. + +Signed-off-by: Mark Hatle +Signed-off-by: Scott Garman +--- + ld/config.in | 3 +++ + ld/configure | 14 ++++++++++++++ + ld/configure.ac | 10 ++++++++++ + ld/ld.h | 8 ++++++++ + ld/ld.texi | 12 ++++++++++++ + ld/ldfile.c | 17 +++++++++++++++++ + ld/ldlex.h | 2 ++ + ld/ldmain.c | 2 ++ + ld/lexsup.c | 21 +++++++++++++++++++++ + 9 files changed, 89 insertions(+) + +diff --git a/ld/config.in b/ld/config.in +index d93c9b08300..5da2742beac 100644 +--- a/ld/config.in ++++ b/ld/config.in +@@ -31,6 +31,9 @@ + language is requested. */ + #undef ENABLE_NLS + ++/* Define to warn for use of native system library directories */ ++#undef ENABLE_POISON_SYSTEM_DIRECTORIES ++ + /* Additional extension a shared object might have. */ + #undef EXTRA_SHLIB_EXTENSION + +diff --git a/ld/configure b/ld/configure +index 18ada7808f5..7e7d2f97809 100755 +--- a/ld/configure ++++ b/ld/configure +@@ -822,6 +822,7 @@ with_lib_path + enable_targets + enable_64_bit_bfd + with_sysroot ++enable_poison_system_directories + enable_gold + enable_got + enable_compressed_debug_sections +@@ -1486,6 +1487,8 @@ Optional Features: + --disable-largefile omit support for large files + --enable-targets alternative target configurations + --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) ++ --enable-poison-system-directories ++ warn for use of native system library directories + --enable-gold[=ARG] build gold [ARG={default,yes,no}] + --enable-got= GOT handling scheme (target, single, negative, + multigot) +@@ -15803,7 +15806,18 @@ else + fi + + ++# Check whether --enable-poison-system-directories was given. ++if test "${enable_poison_system_directories+set}" = set; then : ++ enableval=$enable_poison_system_directories; ++else ++ enable_poison_system_directories=no ++fi ++ ++if test "x${enable_poison_system_directories}" = "xyes"; then + ++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h ++ ++fi + + # Check whether --enable-got was given. + if test "${enable_got+set}" = set; then : +diff --git a/ld/configure.ac b/ld/configure.ac +index d335f210917..7f692d93873 100644 +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) + AC_SUBST(TARGET_SYSTEM_ROOT) + AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) + ++AC_ARG_ENABLE([poison-system-directories], ++ AS_HELP_STRING([--enable-poison-system-directories], ++ [warn for use of native system library directories]),, ++ [enable_poison_system_directories=no]) ++if test "x${enable_poison_system_directories}" = "xyes"; then ++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], ++ [1], ++ [Define to warn for use of native system library directories]) ++fi ++ + dnl Use --enable-gold to decide if this linker should be the default. + dnl "install_as_default" is set to false if gold is the default linker. + dnl "installed_linker" is the installed BFD linker name. +diff --git a/ld/ld.h b/ld/ld.h +index b97d977f37b..f3bbd2d55d4 100644 +--- a/ld/ld.h ++++ b/ld/ld.h +@@ -180,6 +180,14 @@ typedef struct + in the linker script. */ + bfd_boolean force_group_allocation; + ++ /* If TRUE (the default) warn for uses of system directories when ++ cross linking. */ ++ bfd_boolean poison_system_directories; ++ ++ /* If TRUE (default FALSE) give an error for uses of system ++ directories when cross linking instead of a warning. */ ++ bfd_boolean error_poison_system_directories; ++ + /* Big or little endian as set on command line. */ + enum endian_enum endian; + +diff --git a/ld/ld.texi b/ld/ld.texi +index 5179af3e0e1..f78bf746822 100644 +--- a/ld/ld.texi ++++ b/ld/ld.texi +@@ -2524,6 +2524,18 @@ string identifying the original linked file does not change. + + Passing @code{none} for @var{style} disables the setting from any + @code{--build-id} options earlier on the command line. ++ ++@kindex --no-poison-system-directories ++@item --no-poison-system-directories ++Do not warn for @option{-L} options using system directories such as ++@file{/usr/lib} when cross linking. This option is intended for use ++in chroot environments when such directories contain the correct ++libraries for the target system rather than the host. ++ ++@kindex --error-poison-system-directories ++@item --error-poison-system-directories ++Give an error instead of a warning for @option{-L} options using ++system directories when cross linking. + @end table + + @c man end +diff --git a/ld/ldfile.c b/ld/ldfile.c +index fcadc08c73f..63e295ce8ae 100644 +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) + new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); + else + new_dirs->name = xstrdup (name); ++ ++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES ++ if (command_line.poison_system_directories ++ && ((!strncmp (name, "/lib", 4)) ++ || (!strncmp (name, "/usr/lib", 8)) ++ || (!strncmp (name, "/usr/local/lib", 14)) ++ || (!strncmp (name, "/usr/X11R6/lib", 14)))) ++ { ++ if (command_line.error_poison_system_directories) ++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ else ++ einfo (_("%P: warning: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ } ++#endif ++ + } + + /* Try to open a BFD for a lang_input_statement. */ +diff --git a/ld/ldlex.h b/ld/ldlex.h +index 32853debe45..8135361c498 100644 +--- a/ld/ldlex.h ++++ b/ld/ldlex.h +@@ -148,6 +148,8 @@ enum option_values + OPTION_REQUIRE_DEFINED_SYMBOL, + OPTION_ORPHAN_HANDLING, + OPTION_FORCE_GROUP_ALLOCATION, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, + }; + + /* The initial parser states. */ +diff --git a/ld/ldmain.c b/ld/ldmain.c +index 77cdbd0dd29..725512f1260 100644 +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -269,6 +269,8 @@ main (int argc, char **argv) + command_line.warn_mismatch = TRUE; + command_line.warn_search_mismatch = TRUE; + command_line.check_section_addresses = -1; ++ command_line.poison_system_directories = TRUE; ++ command_line.error_poison_system_directories = FALSE; + + /* We initialize DEMANGLING based on the environment variable + COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the +diff --git a/ld/lexsup.c b/ld/lexsup.c +index 88e85c73f49..be4cd492d14 100644 +--- a/ld/lexsup.c ++++ b/ld/lexsup.c +@@ -543,6 +543,14 @@ static const struct ld_option ld_options[] = + { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, + '\0', N_("=MODE"), N_("Control how orphan sections are handled."), + TWO_DASHES }, ++ { {"no-poison-system-directories", no_argument, NULL, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Do not warn for -L options using system directories"), ++ TWO_DASHES }, ++ { {"error-poison-system-directories", no_argument, NULL, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Give an error for -L options using system directories"), ++ TWO_DASHES }, + }; + + #define OPTION_COUNT ARRAY_SIZE (ld_options) +@@ -555,6 +563,7 @@ parse_args (unsigned argc, char **argv) + int ingroup = 0; + char *default_dirlist = NULL; + char *shortopts; ++ char *BR_paranoid_env; + struct option *longopts; + struct option *really_longopts; + int last_optind; +@@ -1543,6 +1552,14 @@ parse_args (unsigned argc, char **argv) + } + break; + ++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: ++ command_line.poison_system_directories = FALSE; ++ break; ++ ++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: ++ command_line.error_poison_system_directories = TRUE; ++ break; ++ + case OPTION_PUSH_STATE: + input_flags.pushed = xmemdup (&input_flags, + sizeof (input_flags), +@@ -1586,6 +1603,10 @@ parse_args (unsigned argc, char **argv) + command_line.soname = NULL; + } + ++ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); ++ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) ++ command_line.error_poison_system_directories = TRUE; ++ + while (ingroup) + { + lang_leave_group (); +-- +2.14.5 + diff --git a/package/binutils/2.32/0003-bfd-xtensa-fix-shrink_dynamic_reloc_sections-for-exp.patch b/package/binutils/2.32/0003-bfd-xtensa-fix-shrink_dynamic_reloc_sections-for-exp.patch new file mode 100644 index 0000000000..b80e1fa7ce --- /dev/null +++ b/package/binutils/2.32/0003-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.30/0010-gas-use-literals-const16-for-xtensa-loop-relaxation.patch b/package/binutils/2.32/0004-gas-use-literals-const16-for-xtensa-loop-relaxation.patch similarity index 100% rename from package/binutils/2.30/0010-gas-use-literals-const16-for-xtensa-loop-relaxation.patch rename to package/binutils/2.32/0004-gas-use-literals-const16-for-xtensa-loop-relaxation.patch diff --git a/package/binutils/2.32/0005-xtensa-gas-put-.literal_position-at-section-start.patch b/package/binutils/2.32/0005-xtensa-gas-put-.literal_position-at-section-start.patch new file mode 100644 index 0000000000..b4bbc27b37 --- /dev/null +++ b/package/binutils/2.32/0005-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/2.32/0006-or1k-Fix-incorrect-value-in-PLT-GOT-entries-causing-.patch b/package/binutils/2.32/0006-or1k-Fix-incorrect-value-in-PLT-GOT-entries-causing-.patch new file mode 100644 index 0000000000..8527b66733 --- /dev/null +++ b/package/binutils/2.32/0006-or1k-Fix-incorrect-value-in-PLT-GOT-entries-causing-.patch @@ -0,0 +1,46 @@ +From b17678f639f953d687d96cd52690e7cbfae50f91 Mon Sep 17 00:00:00 2001 +From: Stafford Horne +Date: Fri, 23 Aug 2019 22:25:55 +0900 +Subject: [PATCH] or1k: Fix incorrect value in PLT GOT entries, causing + infinite loop + +The PLT GOT entry should point to the first PLT entry which contains the +runtime linker function. It was pointing back to the symbol PLT entry +causing an infinite loop. + +I found this when testing the OpenRISC glibc port which uses the runtime +dynamic linker. It seems other libc's we use so far have not been +making use of the initial PLT GOT entries. + +bfd/ChangeLog: + + * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Use correct value for + PLT GOT entries. + +(cherry picked from commit 09f7b0de537d465fc8ed9f9433e348c1bc78aab2) +Signed-off-by: Romain Naour +--- + bfd/elf32-or1k.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c +index 2f200b197b8..32839cfa7b6 100644 +--- a/bfd/elf32-or1k.c ++++ b/bfd/elf32-or1k.c +@@ -2379,8 +2379,11 @@ or1k_elf_finish_dynamic_symbol (bfd *output_bfd, + or1k_write_plt_entry (output_bfd, splt->contents + h->plt.offset, + plt0, plt1, plt2, OR1K_JR(12)); + +- /* Fill in the entry in the global offset table. */ +- bfd_put_32 (output_bfd, plt_addr, sgot->contents + got_offset); ++ /* Fill in the entry in the global offset table. We initialize it to ++ point to the top of the plt. This is done to lazy lookup the actual ++ symbol as the first plt entry will be setup by libc to call the ++ runtime dynamic linker. */ ++ bfd_put_32 (output_bfd, plt_base_addr, sgot->contents + got_offset); + + /* Fill in the entry in the .rela.plt section. */ + rela.r_offset = got_addr; +-- +2.23.0 + diff --git a/package/binutils/2.32/0007-bfd-xtensa-fix-PR-ld-25630.patch b/package/binutils/2.32/0007-bfd-xtensa-fix-PR-ld-25630.patch new file mode 100644 index 0000000000..f499426b70 --- /dev/null +++ b/package/binutils/2.32/0007-bfd-xtensa-fix-PR-ld-25630.patch @@ -0,0 +1,37 @@ +From 85dcca5997cf3822d6456a5c9c59c46b56adfbb8 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Wed, 4 Mar 2020 14:54:27 -0800 +Subject: [PATCH] bfd: xtensa: fix PR ld/25630 + +bfd/ +2020-03-05 Max Filippov + + * elf32-xtensa.c (shrink_dynamic_reloc_sections): Shrink dynamic + relocation sections for any removed reference to a dynamic symbol. + +Signed-off-by: Max Filippov +--- + bfd/elf32-xtensa.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c +index 12ff9f772aaf..65e14d87940c 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -10148,10 +10148,9 @@ shrink_dynamic_reloc_sections (struct bfd_link_info *info, + + if ((r_type == R_XTENSA_32 || r_type == R_XTENSA_PLT) + && (input_section->flags & SEC_ALLOC) != 0 +- && (dynamic_symbol || bfd_link_pic (info)) +- && (!h || h->root.type != bfd_link_hash_undefweak +- || (dynamic_symbol +- && (bfd_link_dll (info) || info->export_dynamic)))) ++ && (dynamic_symbol ++ || (bfd_link_pic (info) ++ && (!h || h->root.type != bfd_link_hash_undefweak)))) + { + asection *srel; + bfd_boolean is_plt = FALSE; +-- +2.20.1 + diff --git a/package/binutils/2.32/0008-xtensa-fix-PR-ld-25861.patch b/package/binutils/2.32/0008-xtensa-fix-PR-ld-25861.patch new file mode 100644 index 0000000000..2df46c6526 --- /dev/null +++ b/package/binutils/2.32/0008-xtensa-fix-PR-ld-25861.patch @@ -0,0 +1,432 @@ +From c7a1d1f656c717394937a92cb970f0f4cecce128 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sun, 19 Apr 2020 19:04:41 -0700 +Subject: [PATCH] xtensa: fix PR ld/25861 + +Introduce new relaxations XTENSA_PDIFF{8,16,32} for positive differences +(subtracted symbol precedes diminished symbol) and XTENSA_NDIFF{8,16,32} +for negative differences (subtracted symbol follows diminished symbol). +Don't generate XTENSA_DIFF relocations in the assembler, generate +XTENSA_PDIFF or XTENSA_NDIFF based on relative symbol position. + +Handle XTENSA_DIFF in BFD for compatibility with old object files. +Handle XTENSA_PDIFF and XTENSA_NDIFF in BFD, treating difference value +as unsigned. + +2020-04-22 Max Filippov +bfd/ + * bfd-in2.h: Regenerated. + * elf32-xtensa.c (elf_howto_table): New entries for + R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}. + (elf_xtensa_reloc_type_lookup, elf_xtensa_do_reloc) + (relax_section): Add cases for R_XTENSA_PDIFF{8,16,32} and + R_XTENSA_NDIFF{8,16,32}. + * libbfd.h (bfd_reloc_code_real_names): Add names for + BFD_RELOC_XTENSA_PDIFF{8,16,32} and + BFD_RELOC_XTENSA_NDIFF{8,16,32}. + * reloc.c: Add documentation for BFD_RELOC_XTENSA_PDIFF{8,16,32} + and BFD_RELOC_XTENSA_NDIFF{8,16,32}. + +binutils/ + * readelf.c (is_none_reloc): Recognize + BFD_RELOC_XTENSA_PDIFF{8,16,32} and + BFD_RELOC_XTENSA_NDIFF{8,16,32}. + +gas/ + * config/tc-xtensa.c (md_apply_fix): Replace + BFD_RELOC_XTENSA_DIFF{8,16,32} generation with + BFD_RELOC_XTENSA_PDIFF{8,16,32} and + BFD_RELOC_XTENSA_NDIFF{8,16,32} generation. + * testsuite/gas/xtensa/loc.d: Replace BFD_RELOC_XTENSA_DIFF16 + with BFD_RELOC_XTENSA_PDIFF16 in the expected output. + +include/ + * elf/xtensa.h (elf_xtensa_reloc_type): New entries for + R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}. + +ld/ + * testsuite/ld-xtensa/relax-loc.d: New test definition. + * testsuite/ld-xtensa/relax-loc.s: New test source. + * testsuite/ld-xtensa/xtensa.exp (relax-loc): New test. + +Signed-off-by: Max Filippov +--- +Backported from: 30ce8e47fad9b057b6d7af9e1d43061126d34d20 + + bfd/bfd-in2.h | 20 ++++++- + bfd/elf32-xtensa.c | 89 +++++++++++++++++++++++++++++- + bfd/libbfd.h | 6 ++ + bfd/reloc.c | 24 ++++++++ + binutils/readelf.c | 8 ++- + gas/config/tc-xtensa.c | 12 +++- + gas/testsuite/gas/xtensa/loc.d | 2 +- + include/elf/xtensa.h | 6 ++ + ld/testsuite/ld-xtensa/relax-loc.d | 7 +++ + ld/testsuite/ld-xtensa/relax-loc.s | 15 +++++ + ld/testsuite/ld-xtensa/xtensa.exp | 1 + + 11 files changed, 183 insertions(+), 7 deletions(-) + create mode 100644 ld/testsuite/ld-xtensa/relax-loc.d + create mode 100644 ld/testsuite/ld-xtensa/relax-loc.s + +diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h +index 37114607b515..be6a30f57955 100644 +--- a/bfd/bfd-in2.h ++++ b/bfd/bfd-in2.h +@@ -5217,7 +5217,9 @@ to one of its own internal functions or data structures. */ + PLT entries. Otherwise, this is just a generic 32-bit relocation. */ + BFD_RELOC_XTENSA_PLT, + +-/* Xtensa relocations to mark the difference of two local symbols. ++/* Xtensa relocations for backward compatibility. These have been replaced ++by BFD_RELOC_XTENSA_PDIFF and BFD_RELOC_XTENSA_NDIFF. ++Xtensa relocations to mark the difference of two local symbols. + These are only needed to support linker relaxation and can be ignored + when not relaxing. The field is set to the value of the difference + assuming no relaxation. The relocation encodes the position of the +@@ -5291,6 +5293,22 @@ BFD_RELOC_XTENSA_ASM_EXPAND. */ + BFD_RELOC_XTENSA_TLS_ARG, + BFD_RELOC_XTENSA_TLS_CALL, + ++/* Xtensa relocations to mark the difference of two local symbols. ++These are only needed to support linker relaxation and can be ignored ++when not relaxing. The field is set to the value of the difference ++assuming no relaxation. The relocation encodes the position of the ++subtracted symbol so the linker can determine whether to adjust the field ++value. PDIFF relocations are used for positive differences, NDIFF ++relocations are used for negative differences. The difference value ++is treated as unsigned with these relocation types, giving full ++8/16 value ranges. */ ++ BFD_RELOC_XTENSA_PDIFF8, ++ BFD_RELOC_XTENSA_PDIFF16, ++ BFD_RELOC_XTENSA_PDIFF32, ++ BFD_RELOC_XTENSA_NDIFF8, ++ BFD_RELOC_XTENSA_NDIFF16, ++ BFD_RELOC_XTENSA_NDIFF32, ++ + /* 8 bit signed offset in (ix+d) or (iy+d). */ + BFD_RELOC_Z80_DISP8, + +diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c +index 473a9d76f289..fded42d52a9a 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -325,6 +325,20 @@ static reloc_howto_type elf_howto_table[] = + HOWTO (R_XTENSA_TLS_CALL, 0, 0, 0, FALSE, 0, complain_overflow_dont, + bfd_elf_xtensa_reloc, "R_XTENSA_TLS_CALL", + FALSE, 0, 0, FALSE), ++ ++ HOWTO (R_XTENSA_PDIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF8", FALSE, 0, 0xff, FALSE), ++ HOWTO (R_XTENSA_PDIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF16", FALSE, 0, 0xffff, FALSE), ++ HOWTO (R_XTENSA_PDIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF32", FALSE, 0, 0xffffffff, FALSE), ++ ++ HOWTO (R_XTENSA_NDIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF8", FALSE, 0, 0xff, FALSE), ++ HOWTO (R_XTENSA_NDIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF16", FALSE, 0, 0xffff, FALSE), ++ HOWTO (R_XTENSA_NDIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF32", FALSE, 0, 0xffffffff, FALSE), + }; + + #if DEBUG_GEN_RELOC +@@ -364,6 +378,30 @@ elf_xtensa_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, + TRACE ("BFD_RELOC_XTENSA_DIFF32"); + return &elf_howto_table[(unsigned) R_XTENSA_DIFF32 ]; + ++ case BFD_RELOC_XTENSA_PDIFF8: ++ TRACE ("BFD_RELOC_XTENSA_PDIFF8"); ++ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF8 ]; ++ ++ case BFD_RELOC_XTENSA_PDIFF16: ++ TRACE ("BFD_RELOC_XTENSA_PDIFF16"); ++ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF16 ]; ++ ++ case BFD_RELOC_XTENSA_PDIFF32: ++ TRACE ("BFD_RELOC_XTENSA_PDIFF32"); ++ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF32 ]; ++ ++ case BFD_RELOC_XTENSA_NDIFF8: ++ TRACE ("BFD_RELOC_XTENSA_NDIFF8"); ++ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF8 ]; ++ ++ case BFD_RELOC_XTENSA_NDIFF16: ++ TRACE ("BFD_RELOC_XTENSA_NDIFF16"); ++ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF16 ]; ++ ++ case BFD_RELOC_XTENSA_NDIFF32: ++ TRACE ("BFD_RELOC_XTENSA_NDIFF32"); ++ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF32 ]; ++ + case BFD_RELOC_XTENSA_RTLD: + TRACE ("BFD_RELOC_XTENSA_RTLD"); + return &elf_howto_table[(unsigned) R_XTENSA_RTLD ]; +@@ -1851,6 +1889,12 @@ elf_xtensa_do_reloc (reloc_howto_type *howto, + case R_XTENSA_DIFF8: + case R_XTENSA_DIFF16: + case R_XTENSA_DIFF32: ++ case R_XTENSA_PDIFF8: ++ case R_XTENSA_PDIFF16: ++ case R_XTENSA_PDIFF32: ++ case R_XTENSA_NDIFF8: ++ case R_XTENSA_NDIFF16: ++ case R_XTENSA_NDIFF32: + case R_XTENSA_TLS_FUNC: + case R_XTENSA_TLS_ARG: + case R_XTENSA_TLS_CALL: +@@ -9604,7 +9648,13 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + + if (r_type == R_XTENSA_DIFF8 + || r_type == R_XTENSA_DIFF16 +- || r_type == R_XTENSA_DIFF32) ++ || r_type == R_XTENSA_DIFF32 ++ || r_type == R_XTENSA_PDIFF8 ++ || r_type == R_XTENSA_PDIFF16 ++ || r_type == R_XTENSA_PDIFF32 ++ || r_type == R_XTENSA_NDIFF8 ++ || r_type == R_XTENSA_NDIFF16 ++ || r_type == R_XTENSA_NDIFF32) + { + bfd_signed_vma diff_value = 0; + bfd_vma new_end_offset, diff_mask = 0; +@@ -9631,8 +9681,27 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + diff_value = + bfd_get_signed_32 (abfd, &contents[old_source_offset]); + break; ++ case R_XTENSA_PDIFF8: ++ case R_XTENSA_NDIFF8: ++ diff_value = ++ bfd_get_8 (abfd, &contents[old_source_offset]); ++ break; ++ case R_XTENSA_PDIFF16: ++ case R_XTENSA_NDIFF16: ++ diff_value = ++ bfd_get_16 (abfd, &contents[old_source_offset]); ++ break; ++ case R_XTENSA_PDIFF32: ++ case R_XTENSA_NDIFF32: ++ diff_value = ++ bfd_get_32 (abfd, &contents[old_source_offset]); ++ break; + } + ++ if (r_type >= R_XTENSA_NDIFF8 ++ && r_type <= R_XTENSA_NDIFF32) ++ diff_value = -diff_value; ++ + new_end_offset = offset_with_removed_text_map + (&target_relax_info->action_list, + r_rel.target_offset + diff_value); +@@ -9655,6 +9724,24 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + bfd_put_signed_32 (abfd, diff_value, + &contents[old_source_offset]); + break; ++ case R_XTENSA_PDIFF8: ++ case R_XTENSA_NDIFF8: ++ diff_mask = 0xff; ++ bfd_put_8 (abfd, diff_value, ++ &contents[old_source_offset]); ++ break; ++ case R_XTENSA_PDIFF16: ++ case R_XTENSA_NDIFF16: ++ diff_mask = 0xffff; ++ bfd_put_16 (abfd, diff_value, ++ &contents[old_source_offset]); ++ break; ++ case R_XTENSA_PDIFF32: ++ case R_XTENSA_NDIFF32: ++ diff_mask = 0xffffffff; ++ bfd_put_32 (abfd, diff_value, ++ &contents[old_source_offset]); ++ break; + } + + /* Check for overflow. Sign bits must be all zeroes or all ones */ +diff --git a/bfd/libbfd.h b/bfd/libbfd.h +index 3c184fcadadf..989f4bc0b595 100644 +--- a/bfd/libbfd.h ++++ b/bfd/libbfd.h +@@ -2919,6 +2919,12 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", + "BFD_RELOC_XTENSA_TLS_FUNC", + "BFD_RELOC_XTENSA_TLS_ARG", + "BFD_RELOC_XTENSA_TLS_CALL", ++ "BFD_RELOC_XTENSA_PDIFF8", ++ "BFD_RELOC_XTENSA_PDIFF16", ++ "BFD_RELOC_XTENSA_PDIFF32", ++ "BFD_RELOC_XTENSA_NDIFF8", ++ "BFD_RELOC_XTENSA_NDIFF16", ++ "BFD_RELOC_XTENSA_NDIFF32", + "BFD_RELOC_Z80_DISP8", + "BFD_RELOC_Z80_BYTE0", + "BFD_RELOC_Z80_BYTE1", +diff --git a/bfd/reloc.c b/bfd/reloc.c +index c4dec86d1d46..f5df8e2ab3eb 100644 +--- a/bfd/reloc.c ++++ b/bfd/reloc.c +@@ -6556,6 +6556,8 @@ ENUMX + ENUMX + BFD_RELOC_XTENSA_DIFF32 + ENUMDOC ++ Xtensa relocations for backward compatibility. These have been replaced ++ by BFD_RELOC_XTENSA_PDIFF and BFD_RELOC_XTENSA_NDIFF. + Xtensa relocations to mark the difference of two local symbols. + These are only needed to support linker relaxation and can be ignored + when not relaxing. The field is set to the value of the difference +@@ -6668,6 +6670,28 @@ ENUMX + BFD_RELOC_XTENSA_TLS_CALL + ENUMDOC + Xtensa TLS relocations. ++ENUM ++ BFD_RELOC_XTENSA_PDIFF8 ++ENUMX ++ BFD_RELOC_XTENSA_PDIFF16 ++ENUMX ++ BFD_RELOC_XTENSA_PDIFF32 ++ENUMX ++ BFD_RELOC_XTENSA_NDIFF8 ++ENUMX ++ BFD_RELOC_XTENSA_NDIFF16 ++ENUMX ++ BFD_RELOC_XTENSA_NDIFF32 ++ENUMDOC ++ Xtensa relocations to mark the difference of two local symbols. ++ These are only needed to support linker relaxation and can be ignored ++ when not relaxing. The field is set to the value of the difference ++ assuming no relaxation. The relocation encodes the position of the ++ subtracted symbol so the linker can determine whether to adjust the field ++ value. PDIFF relocations are used for positive differences, NDIFF ++ relocations are used for negative differences. The difference value ++ is treated as unsigned with these relocation types, giving full ++ 8/16 value ranges. + + ENUM + BFD_RELOC_Z80_DISP8 +diff --git a/binutils/readelf.c b/binutils/readelf.c +index d4756c93b345..800918f901c8 100644 +--- a/binutils/readelf.c ++++ b/binutils/readelf.c +@@ -13262,7 +13262,13 @@ is_none_reloc (Filedata * filedata, unsigned int reloc_type) + return (reloc_type == 0 /* R_XTENSA_NONE. */ + || reloc_type == 17 /* R_XTENSA_DIFF8. */ + || reloc_type == 18 /* R_XTENSA_DIFF16. */ +- || reloc_type == 19 /* R_XTENSA_DIFF32. */); ++ || reloc_type == 19 /* R_XTENSA_DIFF32. */ ++ || reloc_type == 57 /* R_XTENSA_PDIFF8. */ ++ || reloc_type == 58 /* R_XTENSA_PDIFF16. */ ++ || reloc_type == 59 /* R_XTENSA_PDIFF32. */ ++ || reloc_type == 60 /* R_XTENSA_NDIFF8. */ ++ || reloc_type == 61 /* R_XTENSA_NDIFF16. */ ++ || reloc_type == 62 /* R_XTENSA_NDIFF32. */); + } + return FALSE; + } +diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c +index 71d4d94a8d7d..ee75c13548ff 100644 +--- a/gas/config/tc-xtensa.c ++++ b/gas/config/tc-xtensa.c +@@ -5974,18 +5974,24 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg) + case BFD_RELOC_8: + if (fixP->fx_subsy) + { ++ bfd_boolean neg = S_GET_VALUE (fixP->fx_addsy) + fixP->fx_offset ++ < S_GET_VALUE (fixP->fx_subsy); ++ + switch (fixP->fx_r_type) + { + case BFD_RELOC_8: +- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8; ++ fixP->fx_r_type = neg ++ ? BFD_RELOC_XTENSA_NDIFF8 : BFD_RELOC_XTENSA_PDIFF8; + fixP->fx_signed = 0; + break; + case BFD_RELOC_16: +- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16; ++ fixP->fx_r_type = neg ++ ? BFD_RELOC_XTENSA_NDIFF16 : BFD_RELOC_XTENSA_PDIFF16; + fixP->fx_signed = 0; + break; + case BFD_RELOC_32: +- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32; ++ fixP->fx_r_type = neg ++ ? BFD_RELOC_XTENSA_NDIFF32 : BFD_RELOC_XTENSA_PDIFF32; + fixP->fx_signed = 0; + break; + default: +diff --git a/gas/testsuite/gas/xtensa/loc.d b/gas/testsuite/gas/xtensa/loc.d +index 71983cc90055..8fb3425999d5 100644 +--- a/gas/testsuite/gas/xtensa/loc.d ++++ b/gas/testsuite/gas/xtensa/loc.d +@@ -6,5 +6,5 @@ + + RELOCATION RECORDS FOR \[\.debug_line\]: + #... +-.*R_XTENSA_DIFF16.*\.text\+0x00009c42 ++.*R_XTENSA_PDIFF16.*\.text\+0x00009c42 + #... +diff --git a/include/elf/xtensa.h b/include/elf/xtensa.h +index 2eb5e4e52941..bd5c80d13777 100644 +--- a/include/elf/xtensa.h ++++ b/include/elf/xtensa.h +@@ -87,6 +87,12 @@ START_RELOC_NUMBERS (elf_xtensa_reloc_type) + RELOC_NUMBER (R_XTENSA_TLS_FUNC, 54) + RELOC_NUMBER (R_XTENSA_TLS_ARG, 55) + RELOC_NUMBER (R_XTENSA_TLS_CALL, 56) ++ RELOC_NUMBER (R_XTENSA_PDIFF8, 57) ++ RELOC_NUMBER (R_XTENSA_PDIFF16, 58) ++ RELOC_NUMBER (R_XTENSA_PDIFF32, 59) ++ RELOC_NUMBER (R_XTENSA_NDIFF8, 60) ++ RELOC_NUMBER (R_XTENSA_NDIFF16, 61) ++ RELOC_NUMBER (R_XTENSA_NDIFF32, 62) + END_RELOC_NUMBERS (R_XTENSA_max) + + /* Processor-specific flags for the ELF header e_flags field. */ +diff --git a/ld/testsuite/ld-xtensa/relax-loc.d b/ld/testsuite/ld-xtensa/relax-loc.d +new file mode 100644 +index 000000000000..3c8d673732ff +--- /dev/null ++++ b/ld/testsuite/ld-xtensa/relax-loc.d +@@ -0,0 +1,7 @@ ++#as: --text-section-literals ++#ld: ++#objdump: --dwarf=decodedline ++#... ++relax-loc.s[ ]+1[ ]+0x400054[ ]+.* ++relax-loc.s[ ]+2[ ]+0x40005c[ ]+.* ++#... +diff --git a/ld/testsuite/ld-xtensa/relax-loc.s b/ld/testsuite/ld-xtensa/relax-loc.s +new file mode 100644 +index 000000000000..d768470e287a +--- /dev/null ++++ b/ld/testsuite/ld-xtensa/relax-loc.s +@@ -0,0 +1,15 @@ ++ .file 1 "relax-loc.s" ++ .globl _start ++ .globl _ResetVector ++ .text ++_ResetVector: ++_start: ++ .loc 1 1 ++ j 1f ++ .literal_position ++1: ++ .loc 1 2 ++ ++ .rep 10000 ++ movi a2, 0x12345678 ++ .endr +diff --git a/ld/testsuite/ld-xtensa/xtensa.exp b/ld/testsuite/ld-xtensa/xtensa.exp +index 9b2235b2151b..de39887936ad 100644 +--- a/ld/testsuite/ld-xtensa/xtensa.exp ++++ b/ld/testsuite/ld-xtensa/xtensa.exp +@@ -27,6 +27,7 @@ run_dump_test "call_overflow" + run_dump_test "coalesce" + run_dump_test "diff_overflow" + run_dump_test "lcall" ++run_dump_test "relax-loc" + + run_dump_test "relax-static-pie" + run_dump_test "relax-static-local-pie" +-- +2.20.1 + diff --git a/package/binutils/2.32/0009-xtensa-fix-XTENSA_NDIFF-handling-for-PR-ld-25861.patch b/package/binutils/2.32/0009-xtensa-fix-XTENSA_NDIFF-handling-for-PR-ld-25861.patch new file mode 100644 index 0000000000..28f17d7c56 --- /dev/null +++ b/package/binutils/2.32/0009-xtensa-fix-XTENSA_NDIFF-handling-for-PR-ld-25861.patch @@ -0,0 +1,128 @@ +From 735321812435ae278d3766a3371f55937dc776d6 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sat, 25 Apr 2020 00:40:25 -0700 +Subject: [PATCH] xtensa: fix XTENSA_NDIFF handling for PR ld/25861 + +Fields marked with XTENSA_NDIFF relocations are not negated, they only +have sign bits removed. Don't negate their values when relaxation is +performed. Don't add sign bits when the value is zero. Report overflow +when the result has negative sign but all significant bits are zero. + +2020-04-29 Max Filippov +bfd/ + * elf32-xtensa.c (relax_section): Don't negate diff_value for + XTENSA_NDIFF relocations. Don't add sign bits whe diff_value + equals 0. Report overflow when the result has negative sign but + all significant bits are zero. + +Signed-off-by: Max Filippov +Backported from: d548f47df4d2e3d117d504a4c9977982c78a0556 +--- + + bfd/elf32-xtensa.c | 26 +++++++++++++++----------- + 1 file changed, 15 insertions(+), 11 deletions(-) + +diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c +index fded42d52a9a..4327b027911f 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -9670,37 +9670,44 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + switch (r_type) + { + case R_XTENSA_DIFF8: ++ diff_mask = 0x7f; + diff_value = + bfd_get_signed_8 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_DIFF16: ++ diff_mask = 0x7fff; + diff_value = + bfd_get_signed_16 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_DIFF32: ++ diff_mask = 0x7fffffff; + diff_value = + bfd_get_signed_32 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF8: + case R_XTENSA_NDIFF8: ++ diff_mask = 0xff; + diff_value = + bfd_get_8 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF16: + case R_XTENSA_NDIFF16: ++ diff_mask = 0xffff; + diff_value = + bfd_get_16 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF32: + case R_XTENSA_NDIFF32: ++ diff_mask = 0xffffffff; + diff_value = + bfd_get_32 (abfd, &contents[old_source_offset]); + break; + } + + if (r_type >= R_XTENSA_NDIFF8 +- && r_type <= R_XTENSA_NDIFF32) +- diff_value = -diff_value; ++ && r_type <= R_XTENSA_NDIFF32 ++ && diff_value) ++ diff_value |= ~diff_mask; + + new_end_offset = offset_with_removed_text_map + (&target_relax_info->action_list, +@@ -9710,43 +9717,40 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + switch (r_type) + { + case R_XTENSA_DIFF8: +- diff_mask = 0x7f; + bfd_put_signed_8 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_DIFF16: +- diff_mask = 0x7fff; + bfd_put_signed_16 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_DIFF32: +- diff_mask = 0x7fffffff; + bfd_put_signed_32 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF8: + case R_XTENSA_NDIFF8: +- diff_mask = 0xff; + bfd_put_8 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF16: + case R_XTENSA_NDIFF16: +- diff_mask = 0xffff; + bfd_put_16 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF32: + case R_XTENSA_NDIFF32: +- diff_mask = 0xffffffff; + bfd_put_32 (abfd, diff_value, + &contents[old_source_offset]); + break; + } + +- /* Check for overflow. Sign bits must be all zeroes or all ones */ +- if ((diff_value & ~diff_mask) != 0 && +- (diff_value & ~diff_mask) != (-1 & ~diff_mask)) ++ /* Check for overflow. Sign bits must be all zeroes or ++ all ones. When sign bits are all ones diff_value ++ may not be zero. */ ++ if (((diff_value & ~diff_mask) != 0 ++ && (diff_value & ~diff_mask) != ~diff_mask) ++ || (diff_value && (bfd_vma) diff_value == ~diff_mask)) + { + (*link_info->callbacks->reloc_dangerous) + (link_info, _("overflow after relaxation"), +-- +2.20.1 + diff --git a/package/binutils/2.33.1/0001-sh-conf.patch b/package/binutils/2.33.1/0001-sh-conf.patch new file mode 100644 index 0000000000..035100db82 --- /dev/null +++ b/package/binutils/2.33.1/0001-sh-conf.patch @@ -0,0 +1,48 @@ +From 3220c7e65ccfe41eceaaa6f1707f7f5775d9a4b0 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:38:13 +0100 +Subject: [PATCH] sh-conf + +Likewise, binutils has no idea about any of these new targets either, so we +fix that up too.. now we're able to actually build a real toolchain for +sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more +inept targets than that one, really. Go look, I promise). + +[Romain: rebase on top of 2.32] +Signed-off-by: Romain Naour +[Thomas: rebase on top of 2.29, in which sh64 support was removed.] +Signed-off-by: Thomas Petazzoni +--- + configure | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 6a9719f6091..796641b6aa3 100755 +--- a/configure ++++ b/configure +@@ -3865,7 +3865,7 @@ case "${target}" in + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +diff --git a/configure.ac b/configure.ac +index 7433badc217..dce082fb58e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1158,7 +1158,7 @@ case "${target}" in + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +-- +2.23.0 + diff --git a/package/binutils/2.33.1/0002-poison-system-directories.patch b/package/binutils/2.33.1/0002-poison-system-directories.patch new file mode 100644 index 0000000000..9eafcbe18c --- /dev/null +++ b/package/binutils/2.33.1/0002-poison-system-directories.patch @@ -0,0 +1,306 @@ +From 276cba370773e8f12dc8b186b71827a01d5c9097 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:45:38 +0100 +Subject: [PATCH] poison-system-directories + +Patch adapted to binutils 2.23.2 and extended to use +BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. + +[Romain: rebase on top of 2.33.1] +Signed-off-by: Romain Naour +[Gustavo: adapt to binutils 2.25] +Signed-off-by: Thomas Petazzoni +Signed-off-by: Gustavo Zacarias + +Upstream-Status: Inappropriate [distribution: codesourcery] + +Patch originally created by Mark Hatle, forward-ported to +binutils 2.21 by Scott Garman. + +purpose: warn for uses of system directories when cross linking + +Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 + +2008-07-02 Joseph Myers + + ld/ + * ld.h (args_type): Add error_poison_system_directories. + * ld.texinfo (--error-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.error_poison_system_directories. + * ldmain.c (main): Initialize + command_line.error_poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --error-poison-system-directories. + (parse_args): Handle new option. + +2007-06-13 Joseph Myers + + ld/ + * config.in: Regenerate. + * ld.h (args_type): Add poison_system_directories. + * ld.texinfo (--no-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.poison_system_directories. + * ldmain.c (main): Initialize + command_line.poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_NO_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --no-poison-system-directories. + (parse_args): Handle new option. + +2007-04-20 Joseph Myers + + Merge from Sourcery G++ binutils 2.17: + + 2007-03-20 Joseph Myers + Based on patch by Mark Hatle . + ld/ + * configure.ac (--enable-poison-system-directories): New option. + * configure, config.in: Regenerate. + * ldfile.c (ldfile_add_library_path): If + ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, + /usr/lib, /usr/local/lib or /usr/X11R6/lib. + +Signed-off-by: Mark Hatle +Signed-off-by: Scott Garman +--- + ld/config.in | 3 +++ + ld/configure | 14 ++++++++++++++ + ld/configure.ac | 10 ++++++++++ + ld/ld.h | 8 ++++++++ + ld/ld.texi | 12 ++++++++++++ + ld/ldfile.c | 17 +++++++++++++++++ + ld/ldlex.h | 2 ++ + ld/ldmain.c | 2 ++ + ld/lexsup.c | 21 +++++++++++++++++++++ + 9 files changed, 89 insertions(+) + +diff --git a/ld/config.in b/ld/config.in +index d93c9b08300..5da2742beac 100644 +--- a/ld/config.in ++++ b/ld/config.in +@@ -31,6 +31,9 @@ + language is requested. */ + #undef ENABLE_NLS + ++/* Define to warn for use of native system library directories */ ++#undef ENABLE_POISON_SYSTEM_DIRECTORIES ++ + /* Additional extension a shared object might have. */ + #undef EXTRA_SHLIB_EXTENSION + +diff --git a/ld/configure b/ld/configure +index b532ef94fa2..65d12cbf883 100755 +--- a/ld/configure ++++ b/ld/configure +@@ -823,6 +823,7 @@ with_lib_path + enable_targets + enable_64_bit_bfd + with_sysroot ++enable_poison_system_directories + enable_gold + enable_got + enable_compressed_debug_sections +@@ -1487,6 +1488,8 @@ Optional Features: + --disable-largefile omit support for large files + --enable-targets alternative target configurations + --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) ++ --enable-poison-system-directories ++ warn for use of native system library directories + --enable-gold[=ARG] build gold [ARG={default,yes,no}] + --enable-got= GOT handling scheme (target, single, negative, + multigot) +@@ -15804,7 +15807,18 @@ else + fi + + ++# Check whether --enable-poison-system-directories was given. ++if test "${enable_poison_system_directories+set}" = set; then : ++ enableval=$enable_poison_system_directories; ++else ++ enable_poison_system_directories=no ++fi ++ ++if test "x${enable_poison_system_directories}" = "xyes"; then + ++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h ++ ++fi + + # Check whether --enable-got was given. + if test "${enable_got+set}" = set; then : +diff --git a/ld/configure.ac b/ld/configure.ac +index ee62d10ac58..bc3e14e729d 100644 +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) + AC_SUBST(TARGET_SYSTEM_ROOT) + AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) + ++AC_ARG_ENABLE([poison-system-directories], ++ AS_HELP_STRING([--enable-poison-system-directories], ++ [warn for use of native system library directories]),, ++ [enable_poison_system_directories=no]) ++if test "x${enable_poison_system_directories}" = "xyes"; then ++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], ++ [1], ++ [Define to warn for use of native system library directories]) ++fi ++ + dnl Use --enable-gold to decide if this linker should be the default. + dnl "install_as_default" is set to false if gold is the default linker. + dnl "installed_linker" is the installed BFD linker name. +diff --git a/ld/ld.h b/ld/ld.h +index 55078a9637b..511e9bc34b7 100644 +--- a/ld/ld.h ++++ b/ld/ld.h +@@ -180,6 +180,14 @@ typedef struct + in the linker script. */ + bfd_boolean force_group_allocation; + ++ /* If TRUE (the default) warn for uses of system directories when ++ cross linking. */ ++ bfd_boolean poison_system_directories; ++ ++ /* If TRUE (default FALSE) give an error for uses of system ++ directories when cross linking instead of a warning. */ ++ bfd_boolean error_poison_system_directories; ++ + /* Big or little endian as set on command line. */ + enum endian_enum endian; + +diff --git a/ld/ld.texi b/ld/ld.texi +index b3447050ed2..efd50edd85c 100644 +--- a/ld/ld.texi ++++ b/ld/ld.texi +@@ -2557,6 +2557,18 @@ string identifying the original linked file does not change. + + Passing @code{none} for @var{style} disables the setting from any + @code{--build-id} options earlier on the command line. ++ ++@kindex --no-poison-system-directories ++@item --no-poison-system-directories ++Do not warn for @option{-L} options using system directories such as ++@file{/usr/lib} when cross linking. This option is intended for use ++in chroot environments when such directories contain the correct ++libraries for the target system rather than the host. ++ ++@kindex --error-poison-system-directories ++@item --error-poison-system-directories ++Give an error instead of a warning for @option{-L} options using ++system directories when cross linking. + @end table + + @c man end +diff --git a/ld/ldfile.c b/ld/ldfile.c +index 7f60319390e..0bcc06db964 100644 +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) + new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); + else + new_dirs->name = xstrdup (name); ++ ++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES ++ if (command_line.poison_system_directories ++ && ((!strncmp (name, "/lib", 4)) ++ || (!strncmp (name, "/usr/lib", 8)) ++ || (!strncmp (name, "/usr/local/lib", 14)) ++ || (!strncmp (name, "/usr/X11R6/lib", 14)))) ++ { ++ if (command_line.error_poison_system_directories) ++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ else ++ einfo (_("%P: warning: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ } ++#endif ++ + } + + /* Try to open a BFD for a lang_input_statement. */ +diff --git a/ld/ldlex.h b/ld/ldlex.h +index 32a7a6409e8..c02b64bf92f 100644 +--- a/ld/ldlex.h ++++ b/ld/ldlex.h +@@ -150,6 +150,8 @@ enum option_values + OPTION_FORCE_GROUP_ALLOCATION, + OPTION_PRINT_MAP_DISCARDED, + OPTION_NO_PRINT_MAP_DISCARDED, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, + }; + + /* The initial parser states. */ +diff --git a/ld/ldmain.c b/ld/ldmain.c +index e24194ef87d..2d683cb6c5a 100644 +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -270,6 +270,8 @@ main (int argc, char **argv) + command_line.warn_mismatch = TRUE; + command_line.warn_search_mismatch = TRUE; + command_line.check_section_addresses = -1; ++ command_line.poison_system_directories = TRUE; ++ command_line.error_poison_system_directories = FALSE; + + /* We initialize DEMANGLING based on the environment variable + COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the +diff --git a/ld/lexsup.c b/ld/lexsup.c +index 1c15ac29c0c..8b714e10a40 100644 +--- a/ld/lexsup.c ++++ b/ld/lexsup.c +@@ -549,6 +549,14 @@ static const struct ld_option ld_options[] = + { {"no-print-map-discarded", no_argument, NULL, OPTION_NO_PRINT_MAP_DISCARDED}, + '\0', NULL, N_("Do not show discarded sections in map file output"), + TWO_DASHES }, ++ { {"no-poison-system-directories", no_argument, NULL, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Do not warn for -L options using system directories"), ++ TWO_DASHES }, ++ { {"error-poison-system-directories", no_argument, NULL, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Give an error for -L options using system directories"), ++ TWO_DASHES }, + }; + + #define OPTION_COUNT ARRAY_SIZE (ld_options) +@@ -561,6 +569,7 @@ parse_args (unsigned argc, char **argv) + int ingroup = 0; + char *default_dirlist = NULL; + char *shortopts; ++ char *BR_paranoid_env; + struct option *longopts; + struct option *really_longopts; + int last_optind; +@@ -1549,6 +1558,14 @@ parse_args (unsigned argc, char **argv) + } + break; + ++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: ++ command_line.poison_system_directories = FALSE; ++ break; ++ ++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: ++ command_line.error_poison_system_directories = TRUE; ++ break; ++ + case OPTION_PUSH_STATE: + input_flags.pushed = xmemdup (&input_flags, + sizeof (input_flags), +@@ -1600,6 +1617,10 @@ parse_args (unsigned argc, char **argv) + command_line.soname = NULL; + } + ++ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); ++ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) ++ command_line.error_poison_system_directories = TRUE; ++ + while (ingroup) + { + einfo (_("%P: missing --end-group; added as last command line option\n")); +-- +2.23.0 + diff --git a/package/binutils/2.33.1/0003-Revert-PR24311-FAIL-S-records-with-constructors.patch b/package/binutils/2.33.1/0003-Revert-PR24311-FAIL-S-records-with-constructors.patch new file mode 100644 index 0000000000..046d0d6f36 --- /dev/null +++ b/package/binutils/2.33.1/0003-Revert-PR24311-FAIL-S-records-with-constructors.patch @@ -0,0 +1,148 @@ +From 7a8213503e25998e2610d5a8c0b19eefb5e41596 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sat, 30 Nov 2019 03:12:37 +0100 +Subject: [PATCH] Revert "PR24311, FAIL: S-records with constructors" + +This reverts commit ebd2263ba9a9124d93bbc0ece63d7e0fae89b40e. + +Revert this patch since it prevent booting a sh4 system under +Qemu as reported on the Binutils mailing list [1]. +This commit is not related to sh4, it's weird that it is the +only affected architecture. + +[1] https://sourceware.org/ml/binutils/2019-10/msg00105.html +[2] https://sourceware.org/ml/binutils/2019-11/msg00407.html + +Signed-off-by: Romain Naour +--- + bfd/merge.c | 52 ++++++++++++++++++++++------------------------------ + 1 file changed, 22 insertions(+), 30 deletions(-) + +diff --git a/bfd/merge.c b/bfd/merge.c +index 632c8523903..fb7c0858beb 100644 +--- a/bfd/merge.c ++++ b/bfd/merge.c +@@ -621,7 +621,7 @@ is_suffix (const struct sec_merge_hash_entry *A, + + /* This is a helper function for _bfd_merge_sections. It attempts to + merge strings matching suffixes of longer strings. */ +-static struct sec_merge_sec_info * ++static bfd_boolean + merge_strings (struct sec_merge_info *sinfo) + { + struct sec_merge_hash_entry **array, **a, *e; +@@ -633,7 +633,7 @@ merge_strings (struct sec_merge_info *sinfo) + amt = sinfo->htab->size * sizeof (struct sec_merge_hash_entry *); + array = (struct sec_merge_hash_entry **) bfd_malloc (amt); + if (array == NULL) +- return NULL; ++ return FALSE; + + for (e = sinfo->htab->first, a = array; e; e = e->next) + if (e->alignment) +@@ -703,6 +703,11 @@ merge_strings (struct sec_merge_info *sinfo) + } + } + secinfo->sec->size = size; ++ if (secinfo->sec->alignment_power != 0) ++ { ++ bfd_size_type align = (bfd_size_type) 1 << secinfo->sec->alignment_power; ++ secinfo->sec->size = (secinfo->sec->size + align - 1) & -align; ++ } + + /* And now adjust the rest, removing them from the chain (but not hashtable) + at the same time. */ +@@ -719,7 +724,7 @@ merge_strings (struct sec_merge_info *sinfo) + e->u.index = e->u.suffix->u.index + (e->u.suffix->len - e->len); + } + } +- return secinfo; ++ return TRUE; + } + + /* This function is called once after all SEC_MERGE sections are registered +@@ -735,8 +740,7 @@ _bfd_merge_sections (bfd *abfd, + + for (sinfo = (struct sec_merge_info *) xsinfo; sinfo; sinfo = sinfo->next) + { +- struct sec_merge_sec_info *secinfo; +- bfd_size_type align; ++ struct sec_merge_sec_info * secinfo; + + if (! sinfo->chain) + continue; +@@ -747,7 +751,6 @@ _bfd_merge_sections (bfd *abfd, + secinfo->next = NULL; + + /* Record the sections into the hash table. */ +- align = 1; + for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next) + if (secinfo->sec->flags & SEC_EXCLUDE) + { +@@ -755,25 +758,18 @@ _bfd_merge_sections (bfd *abfd, + if (remove_hook) + (*remove_hook) (abfd, secinfo->sec); + } +- else +- { +- if (!record_section (sinfo, secinfo)) +- return FALSE; +- if (align) +- { +- align = (bfd_size_type) 1 << secinfo->sec->alignment_power; +- if ((secinfo->sec->size & (align - 1)) != 0) +- align = 0; +- } +- } ++ else if (! record_section (sinfo, secinfo)) ++ return FALSE; ++ ++ if (secinfo) ++ continue; + + if (sinfo->htab->first == NULL) + continue; + + if (sinfo->htab->strings) + { +- secinfo = merge_strings (sinfo); +- if (!secinfo) ++ if (!merge_strings (sinfo)) + return FALSE; + } + else +@@ -793,7 +789,8 @@ _bfd_merge_sections (bfd *abfd, + e->secinfo->first_str = e; + size = 0; + } +- size = (size + e->alignment - 1) & ~((bfd_vma) e->alignment - 1); ++ size = (size + e->alignment - 1) ++ & ~((bfd_vma) e->alignment - 1); + e->u.index = size; + size += e->len; + secinfo = e->secinfo; +@@ -801,16 +798,11 @@ _bfd_merge_sections (bfd *abfd, + secinfo->sec->size = size; + } + +- /* If the input sections were padded according to their alignments, +- then pad the output too. */ +- if (align) +- secinfo->sec->size = (secinfo->sec->size + align - 1) & -align; +- +- /* Finally remove all input sections which have not made it into +- the hash table at all. */ +- for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next) +- if (secinfo->first_str == NULL) +- secinfo->sec->flags |= SEC_EXCLUDE | SEC_KEEP; ++ /* Finally remove all input sections which have not made it into ++ the hash table at all. */ ++ for (secinfo = sinfo->chain; secinfo; secinfo = secinfo->next) ++ if (secinfo->first_str == NULL) ++ secinfo->sec->flags |= SEC_EXCLUDE | SEC_KEEP; + } + + return TRUE; +-- +2.23.0 + diff --git a/package/binutils/2.33.1/0004-bfd-xtensa-fix-PR-ld-25630.patch b/package/binutils/2.33.1/0004-bfd-xtensa-fix-PR-ld-25630.patch new file mode 100644 index 0000000000..f499426b70 --- /dev/null +++ b/package/binutils/2.33.1/0004-bfd-xtensa-fix-PR-ld-25630.patch @@ -0,0 +1,37 @@ +From 85dcca5997cf3822d6456a5c9c59c46b56adfbb8 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Wed, 4 Mar 2020 14:54:27 -0800 +Subject: [PATCH] bfd: xtensa: fix PR ld/25630 + +bfd/ +2020-03-05 Max Filippov + + * elf32-xtensa.c (shrink_dynamic_reloc_sections): Shrink dynamic + relocation sections for any removed reference to a dynamic symbol. + +Signed-off-by: Max Filippov +--- + bfd/elf32-xtensa.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c +index 12ff9f772aaf..65e14d87940c 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -10148,10 +10148,9 @@ shrink_dynamic_reloc_sections (struct bfd_link_info *info, + + if ((r_type == R_XTENSA_32 || r_type == R_XTENSA_PLT) + && (input_section->flags & SEC_ALLOC) != 0 +- && (dynamic_symbol || bfd_link_pic (info)) +- && (!h || h->root.type != bfd_link_hash_undefweak +- || (dynamic_symbol +- && (bfd_link_dll (info) || info->export_dynamic)))) ++ && (dynamic_symbol ++ || (bfd_link_pic (info) ++ && (!h || h->root.type != bfd_link_hash_undefweak)))) + { + asection *srel; + bfd_boolean is_plt = FALSE; +-- +2.20.1 + diff --git a/package/binutils/2.33.1/0005-xtensa-fix-PR-ld-25861.patch b/package/binutils/2.33.1/0005-xtensa-fix-PR-ld-25861.patch new file mode 100644 index 0000000000..2df46c6526 --- /dev/null +++ b/package/binutils/2.33.1/0005-xtensa-fix-PR-ld-25861.patch @@ -0,0 +1,432 @@ +From c7a1d1f656c717394937a92cb970f0f4cecce128 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sun, 19 Apr 2020 19:04:41 -0700 +Subject: [PATCH] xtensa: fix PR ld/25861 + +Introduce new relaxations XTENSA_PDIFF{8,16,32} for positive differences +(subtracted symbol precedes diminished symbol) and XTENSA_NDIFF{8,16,32} +for negative differences (subtracted symbol follows diminished symbol). +Don't generate XTENSA_DIFF relocations in the assembler, generate +XTENSA_PDIFF or XTENSA_NDIFF based on relative symbol position. + +Handle XTENSA_DIFF in BFD for compatibility with old object files. +Handle XTENSA_PDIFF and XTENSA_NDIFF in BFD, treating difference value +as unsigned. + +2020-04-22 Max Filippov +bfd/ + * bfd-in2.h: Regenerated. + * elf32-xtensa.c (elf_howto_table): New entries for + R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}. + (elf_xtensa_reloc_type_lookup, elf_xtensa_do_reloc) + (relax_section): Add cases for R_XTENSA_PDIFF{8,16,32} and + R_XTENSA_NDIFF{8,16,32}. + * libbfd.h (bfd_reloc_code_real_names): Add names for + BFD_RELOC_XTENSA_PDIFF{8,16,32} and + BFD_RELOC_XTENSA_NDIFF{8,16,32}. + * reloc.c: Add documentation for BFD_RELOC_XTENSA_PDIFF{8,16,32} + and BFD_RELOC_XTENSA_NDIFF{8,16,32}. + +binutils/ + * readelf.c (is_none_reloc): Recognize + BFD_RELOC_XTENSA_PDIFF{8,16,32} and + BFD_RELOC_XTENSA_NDIFF{8,16,32}. + +gas/ + * config/tc-xtensa.c (md_apply_fix): Replace + BFD_RELOC_XTENSA_DIFF{8,16,32} generation with + BFD_RELOC_XTENSA_PDIFF{8,16,32} and + BFD_RELOC_XTENSA_NDIFF{8,16,32} generation. + * testsuite/gas/xtensa/loc.d: Replace BFD_RELOC_XTENSA_DIFF16 + with BFD_RELOC_XTENSA_PDIFF16 in the expected output. + +include/ + * elf/xtensa.h (elf_xtensa_reloc_type): New entries for + R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}. + +ld/ + * testsuite/ld-xtensa/relax-loc.d: New test definition. + * testsuite/ld-xtensa/relax-loc.s: New test source. + * testsuite/ld-xtensa/xtensa.exp (relax-loc): New test. + +Signed-off-by: Max Filippov +--- +Backported from: 30ce8e47fad9b057b6d7af9e1d43061126d34d20 + + bfd/bfd-in2.h | 20 ++++++- + bfd/elf32-xtensa.c | 89 +++++++++++++++++++++++++++++- + bfd/libbfd.h | 6 ++ + bfd/reloc.c | 24 ++++++++ + binutils/readelf.c | 8 ++- + gas/config/tc-xtensa.c | 12 +++- + gas/testsuite/gas/xtensa/loc.d | 2 +- + include/elf/xtensa.h | 6 ++ + ld/testsuite/ld-xtensa/relax-loc.d | 7 +++ + ld/testsuite/ld-xtensa/relax-loc.s | 15 +++++ + ld/testsuite/ld-xtensa/xtensa.exp | 1 + + 11 files changed, 183 insertions(+), 7 deletions(-) + create mode 100644 ld/testsuite/ld-xtensa/relax-loc.d + create mode 100644 ld/testsuite/ld-xtensa/relax-loc.s + +diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h +index 37114607b515..be6a30f57955 100644 +--- a/bfd/bfd-in2.h ++++ b/bfd/bfd-in2.h +@@ -5217,7 +5217,9 @@ to one of its own internal functions or data structures. */ + PLT entries. Otherwise, this is just a generic 32-bit relocation. */ + BFD_RELOC_XTENSA_PLT, + +-/* Xtensa relocations to mark the difference of two local symbols. ++/* Xtensa relocations for backward compatibility. These have been replaced ++by BFD_RELOC_XTENSA_PDIFF and BFD_RELOC_XTENSA_NDIFF. ++Xtensa relocations to mark the difference of two local symbols. + These are only needed to support linker relaxation and can be ignored + when not relaxing. The field is set to the value of the difference + assuming no relaxation. The relocation encodes the position of the +@@ -5291,6 +5293,22 @@ BFD_RELOC_XTENSA_ASM_EXPAND. */ + BFD_RELOC_XTENSA_TLS_ARG, + BFD_RELOC_XTENSA_TLS_CALL, + ++/* Xtensa relocations to mark the difference of two local symbols. ++These are only needed to support linker relaxation and can be ignored ++when not relaxing. The field is set to the value of the difference ++assuming no relaxation. The relocation encodes the position of the ++subtracted symbol so the linker can determine whether to adjust the field ++value. PDIFF relocations are used for positive differences, NDIFF ++relocations are used for negative differences. The difference value ++is treated as unsigned with these relocation types, giving full ++8/16 value ranges. */ ++ BFD_RELOC_XTENSA_PDIFF8, ++ BFD_RELOC_XTENSA_PDIFF16, ++ BFD_RELOC_XTENSA_PDIFF32, ++ BFD_RELOC_XTENSA_NDIFF8, ++ BFD_RELOC_XTENSA_NDIFF16, ++ BFD_RELOC_XTENSA_NDIFF32, ++ + /* 8 bit signed offset in (ix+d) or (iy+d). */ + BFD_RELOC_Z80_DISP8, + +diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c +index 473a9d76f289..fded42d52a9a 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -325,6 +325,20 @@ static reloc_howto_type elf_howto_table[] = + HOWTO (R_XTENSA_TLS_CALL, 0, 0, 0, FALSE, 0, complain_overflow_dont, + bfd_elf_xtensa_reloc, "R_XTENSA_TLS_CALL", + FALSE, 0, 0, FALSE), ++ ++ HOWTO (R_XTENSA_PDIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF8", FALSE, 0, 0xff, FALSE), ++ HOWTO (R_XTENSA_PDIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF16", FALSE, 0, 0xffff, FALSE), ++ HOWTO (R_XTENSA_PDIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF32", FALSE, 0, 0xffffffff, FALSE), ++ ++ HOWTO (R_XTENSA_NDIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF8", FALSE, 0, 0xff, FALSE), ++ HOWTO (R_XTENSA_NDIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF16", FALSE, 0, 0xffff, FALSE), ++ HOWTO (R_XTENSA_NDIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, ++ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF32", FALSE, 0, 0xffffffff, FALSE), + }; + + #if DEBUG_GEN_RELOC +@@ -364,6 +378,30 @@ elf_xtensa_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, + TRACE ("BFD_RELOC_XTENSA_DIFF32"); + return &elf_howto_table[(unsigned) R_XTENSA_DIFF32 ]; + ++ case BFD_RELOC_XTENSA_PDIFF8: ++ TRACE ("BFD_RELOC_XTENSA_PDIFF8"); ++ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF8 ]; ++ ++ case BFD_RELOC_XTENSA_PDIFF16: ++ TRACE ("BFD_RELOC_XTENSA_PDIFF16"); ++ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF16 ]; ++ ++ case BFD_RELOC_XTENSA_PDIFF32: ++ TRACE ("BFD_RELOC_XTENSA_PDIFF32"); ++ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF32 ]; ++ ++ case BFD_RELOC_XTENSA_NDIFF8: ++ TRACE ("BFD_RELOC_XTENSA_NDIFF8"); ++ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF8 ]; ++ ++ case BFD_RELOC_XTENSA_NDIFF16: ++ TRACE ("BFD_RELOC_XTENSA_NDIFF16"); ++ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF16 ]; ++ ++ case BFD_RELOC_XTENSA_NDIFF32: ++ TRACE ("BFD_RELOC_XTENSA_NDIFF32"); ++ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF32 ]; ++ + case BFD_RELOC_XTENSA_RTLD: + TRACE ("BFD_RELOC_XTENSA_RTLD"); + return &elf_howto_table[(unsigned) R_XTENSA_RTLD ]; +@@ -1851,6 +1889,12 @@ elf_xtensa_do_reloc (reloc_howto_type *howto, + case R_XTENSA_DIFF8: + case R_XTENSA_DIFF16: + case R_XTENSA_DIFF32: ++ case R_XTENSA_PDIFF8: ++ case R_XTENSA_PDIFF16: ++ case R_XTENSA_PDIFF32: ++ case R_XTENSA_NDIFF8: ++ case R_XTENSA_NDIFF16: ++ case R_XTENSA_NDIFF32: + case R_XTENSA_TLS_FUNC: + case R_XTENSA_TLS_ARG: + case R_XTENSA_TLS_CALL: +@@ -9604,7 +9648,13 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + + if (r_type == R_XTENSA_DIFF8 + || r_type == R_XTENSA_DIFF16 +- || r_type == R_XTENSA_DIFF32) ++ || r_type == R_XTENSA_DIFF32 ++ || r_type == R_XTENSA_PDIFF8 ++ || r_type == R_XTENSA_PDIFF16 ++ || r_type == R_XTENSA_PDIFF32 ++ || r_type == R_XTENSA_NDIFF8 ++ || r_type == R_XTENSA_NDIFF16 ++ || r_type == R_XTENSA_NDIFF32) + { + bfd_signed_vma diff_value = 0; + bfd_vma new_end_offset, diff_mask = 0; +@@ -9631,8 +9681,27 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + diff_value = + bfd_get_signed_32 (abfd, &contents[old_source_offset]); + break; ++ case R_XTENSA_PDIFF8: ++ case R_XTENSA_NDIFF8: ++ diff_value = ++ bfd_get_8 (abfd, &contents[old_source_offset]); ++ break; ++ case R_XTENSA_PDIFF16: ++ case R_XTENSA_NDIFF16: ++ diff_value = ++ bfd_get_16 (abfd, &contents[old_source_offset]); ++ break; ++ case R_XTENSA_PDIFF32: ++ case R_XTENSA_NDIFF32: ++ diff_value = ++ bfd_get_32 (abfd, &contents[old_source_offset]); ++ break; + } + ++ if (r_type >= R_XTENSA_NDIFF8 ++ && r_type <= R_XTENSA_NDIFF32) ++ diff_value = -diff_value; ++ + new_end_offset = offset_with_removed_text_map + (&target_relax_info->action_list, + r_rel.target_offset + diff_value); +@@ -9655,6 +9724,24 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + bfd_put_signed_32 (abfd, diff_value, + &contents[old_source_offset]); + break; ++ case R_XTENSA_PDIFF8: ++ case R_XTENSA_NDIFF8: ++ diff_mask = 0xff; ++ bfd_put_8 (abfd, diff_value, ++ &contents[old_source_offset]); ++ break; ++ case R_XTENSA_PDIFF16: ++ case R_XTENSA_NDIFF16: ++ diff_mask = 0xffff; ++ bfd_put_16 (abfd, diff_value, ++ &contents[old_source_offset]); ++ break; ++ case R_XTENSA_PDIFF32: ++ case R_XTENSA_NDIFF32: ++ diff_mask = 0xffffffff; ++ bfd_put_32 (abfd, diff_value, ++ &contents[old_source_offset]); ++ break; + } + + /* Check for overflow. Sign bits must be all zeroes or all ones */ +diff --git a/bfd/libbfd.h b/bfd/libbfd.h +index 3c184fcadadf..989f4bc0b595 100644 +--- a/bfd/libbfd.h ++++ b/bfd/libbfd.h +@@ -2919,6 +2919,12 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", + "BFD_RELOC_XTENSA_TLS_FUNC", + "BFD_RELOC_XTENSA_TLS_ARG", + "BFD_RELOC_XTENSA_TLS_CALL", ++ "BFD_RELOC_XTENSA_PDIFF8", ++ "BFD_RELOC_XTENSA_PDIFF16", ++ "BFD_RELOC_XTENSA_PDIFF32", ++ "BFD_RELOC_XTENSA_NDIFF8", ++ "BFD_RELOC_XTENSA_NDIFF16", ++ "BFD_RELOC_XTENSA_NDIFF32", + "BFD_RELOC_Z80_DISP8", + "BFD_RELOC_Z80_BYTE0", + "BFD_RELOC_Z80_BYTE1", +diff --git a/bfd/reloc.c b/bfd/reloc.c +index c4dec86d1d46..f5df8e2ab3eb 100644 +--- a/bfd/reloc.c ++++ b/bfd/reloc.c +@@ -6556,6 +6556,8 @@ ENUMX + ENUMX + BFD_RELOC_XTENSA_DIFF32 + ENUMDOC ++ Xtensa relocations for backward compatibility. These have been replaced ++ by BFD_RELOC_XTENSA_PDIFF and BFD_RELOC_XTENSA_NDIFF. + Xtensa relocations to mark the difference of two local symbols. + These are only needed to support linker relaxation and can be ignored + when not relaxing. The field is set to the value of the difference +@@ -6668,6 +6670,28 @@ ENUMX + BFD_RELOC_XTENSA_TLS_CALL + ENUMDOC + Xtensa TLS relocations. ++ENUM ++ BFD_RELOC_XTENSA_PDIFF8 ++ENUMX ++ BFD_RELOC_XTENSA_PDIFF16 ++ENUMX ++ BFD_RELOC_XTENSA_PDIFF32 ++ENUMX ++ BFD_RELOC_XTENSA_NDIFF8 ++ENUMX ++ BFD_RELOC_XTENSA_NDIFF16 ++ENUMX ++ BFD_RELOC_XTENSA_NDIFF32 ++ENUMDOC ++ Xtensa relocations to mark the difference of two local symbols. ++ These are only needed to support linker relaxation and can be ignored ++ when not relaxing. The field is set to the value of the difference ++ assuming no relaxation. The relocation encodes the position of the ++ subtracted symbol so the linker can determine whether to adjust the field ++ value. PDIFF relocations are used for positive differences, NDIFF ++ relocations are used for negative differences. The difference value ++ is treated as unsigned with these relocation types, giving full ++ 8/16 value ranges. + + ENUM + BFD_RELOC_Z80_DISP8 +diff --git a/binutils/readelf.c b/binutils/readelf.c +index d4756c93b345..800918f901c8 100644 +--- a/binutils/readelf.c ++++ b/binutils/readelf.c +@@ -13262,7 +13262,13 @@ is_none_reloc (Filedata * filedata, unsigned int reloc_type) + return (reloc_type == 0 /* R_XTENSA_NONE. */ + || reloc_type == 17 /* R_XTENSA_DIFF8. */ + || reloc_type == 18 /* R_XTENSA_DIFF16. */ +- || reloc_type == 19 /* R_XTENSA_DIFF32. */); ++ || reloc_type == 19 /* R_XTENSA_DIFF32. */ ++ || reloc_type == 57 /* R_XTENSA_PDIFF8. */ ++ || reloc_type == 58 /* R_XTENSA_PDIFF16. */ ++ || reloc_type == 59 /* R_XTENSA_PDIFF32. */ ++ || reloc_type == 60 /* R_XTENSA_NDIFF8. */ ++ || reloc_type == 61 /* R_XTENSA_NDIFF16. */ ++ || reloc_type == 62 /* R_XTENSA_NDIFF32. */); + } + return FALSE; + } +diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c +index 71d4d94a8d7d..ee75c13548ff 100644 +--- a/gas/config/tc-xtensa.c ++++ b/gas/config/tc-xtensa.c +@@ -5974,18 +5974,24 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg) + case BFD_RELOC_8: + if (fixP->fx_subsy) + { ++ bfd_boolean neg = S_GET_VALUE (fixP->fx_addsy) + fixP->fx_offset ++ < S_GET_VALUE (fixP->fx_subsy); ++ + switch (fixP->fx_r_type) + { + case BFD_RELOC_8: +- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8; ++ fixP->fx_r_type = neg ++ ? BFD_RELOC_XTENSA_NDIFF8 : BFD_RELOC_XTENSA_PDIFF8; + fixP->fx_signed = 0; + break; + case BFD_RELOC_16: +- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16; ++ fixP->fx_r_type = neg ++ ? BFD_RELOC_XTENSA_NDIFF16 : BFD_RELOC_XTENSA_PDIFF16; + fixP->fx_signed = 0; + break; + case BFD_RELOC_32: +- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32; ++ fixP->fx_r_type = neg ++ ? BFD_RELOC_XTENSA_NDIFF32 : BFD_RELOC_XTENSA_PDIFF32; + fixP->fx_signed = 0; + break; + default: +diff --git a/gas/testsuite/gas/xtensa/loc.d b/gas/testsuite/gas/xtensa/loc.d +index 71983cc90055..8fb3425999d5 100644 +--- a/gas/testsuite/gas/xtensa/loc.d ++++ b/gas/testsuite/gas/xtensa/loc.d +@@ -6,5 +6,5 @@ + + RELOCATION RECORDS FOR \[\.debug_line\]: + #... +-.*R_XTENSA_DIFF16.*\.text\+0x00009c42 ++.*R_XTENSA_PDIFF16.*\.text\+0x00009c42 + #... +diff --git a/include/elf/xtensa.h b/include/elf/xtensa.h +index 2eb5e4e52941..bd5c80d13777 100644 +--- a/include/elf/xtensa.h ++++ b/include/elf/xtensa.h +@@ -87,6 +87,12 @@ START_RELOC_NUMBERS (elf_xtensa_reloc_type) + RELOC_NUMBER (R_XTENSA_TLS_FUNC, 54) + RELOC_NUMBER (R_XTENSA_TLS_ARG, 55) + RELOC_NUMBER (R_XTENSA_TLS_CALL, 56) ++ RELOC_NUMBER (R_XTENSA_PDIFF8, 57) ++ RELOC_NUMBER (R_XTENSA_PDIFF16, 58) ++ RELOC_NUMBER (R_XTENSA_PDIFF32, 59) ++ RELOC_NUMBER (R_XTENSA_NDIFF8, 60) ++ RELOC_NUMBER (R_XTENSA_NDIFF16, 61) ++ RELOC_NUMBER (R_XTENSA_NDIFF32, 62) + END_RELOC_NUMBERS (R_XTENSA_max) + + /* Processor-specific flags for the ELF header e_flags field. */ +diff --git a/ld/testsuite/ld-xtensa/relax-loc.d b/ld/testsuite/ld-xtensa/relax-loc.d +new file mode 100644 +index 000000000000..3c8d673732ff +--- /dev/null ++++ b/ld/testsuite/ld-xtensa/relax-loc.d +@@ -0,0 +1,7 @@ ++#as: --text-section-literals ++#ld: ++#objdump: --dwarf=decodedline ++#... ++relax-loc.s[ ]+1[ ]+0x400054[ ]+.* ++relax-loc.s[ ]+2[ ]+0x40005c[ ]+.* ++#... +diff --git a/ld/testsuite/ld-xtensa/relax-loc.s b/ld/testsuite/ld-xtensa/relax-loc.s +new file mode 100644 +index 000000000000..d768470e287a +--- /dev/null ++++ b/ld/testsuite/ld-xtensa/relax-loc.s +@@ -0,0 +1,15 @@ ++ .file 1 "relax-loc.s" ++ .globl _start ++ .globl _ResetVector ++ .text ++_ResetVector: ++_start: ++ .loc 1 1 ++ j 1f ++ .literal_position ++1: ++ .loc 1 2 ++ ++ .rep 10000 ++ movi a2, 0x12345678 ++ .endr +diff --git a/ld/testsuite/ld-xtensa/xtensa.exp b/ld/testsuite/ld-xtensa/xtensa.exp +index 9b2235b2151b..de39887936ad 100644 +--- a/ld/testsuite/ld-xtensa/xtensa.exp ++++ b/ld/testsuite/ld-xtensa/xtensa.exp +@@ -27,6 +27,7 @@ run_dump_test "call_overflow" + run_dump_test "coalesce" + run_dump_test "diff_overflow" + run_dump_test "lcall" ++run_dump_test "relax-loc" + + run_dump_test "relax-static-pie" + run_dump_test "relax-static-local-pie" +-- +2.20.1 + diff --git a/package/binutils/2.33.1/0006-xtensa-fix-XTENSA_NDIFF-handling-for-PR-ld-25861.patch b/package/binutils/2.33.1/0006-xtensa-fix-XTENSA_NDIFF-handling-for-PR-ld-25861.patch new file mode 100644 index 0000000000..28f17d7c56 --- /dev/null +++ b/package/binutils/2.33.1/0006-xtensa-fix-XTENSA_NDIFF-handling-for-PR-ld-25861.patch @@ -0,0 +1,128 @@ +From 735321812435ae278d3766a3371f55937dc776d6 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sat, 25 Apr 2020 00:40:25 -0700 +Subject: [PATCH] xtensa: fix XTENSA_NDIFF handling for PR ld/25861 + +Fields marked with XTENSA_NDIFF relocations are not negated, they only +have sign bits removed. Don't negate their values when relaxation is +performed. Don't add sign bits when the value is zero. Report overflow +when the result has negative sign but all significant bits are zero. + +2020-04-29 Max Filippov +bfd/ + * elf32-xtensa.c (relax_section): Don't negate diff_value for + XTENSA_NDIFF relocations. Don't add sign bits whe diff_value + equals 0. Report overflow when the result has negative sign but + all significant bits are zero. + +Signed-off-by: Max Filippov +Backported from: d548f47df4d2e3d117d504a4c9977982c78a0556 +--- + + bfd/elf32-xtensa.c | 26 +++++++++++++++----------- + 1 file changed, 15 insertions(+), 11 deletions(-) + +diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c +index fded42d52a9a..4327b027911f 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -9670,37 +9670,44 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + switch (r_type) + { + case R_XTENSA_DIFF8: ++ diff_mask = 0x7f; + diff_value = + bfd_get_signed_8 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_DIFF16: ++ diff_mask = 0x7fff; + diff_value = + bfd_get_signed_16 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_DIFF32: ++ diff_mask = 0x7fffffff; + diff_value = + bfd_get_signed_32 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF8: + case R_XTENSA_NDIFF8: ++ diff_mask = 0xff; + diff_value = + bfd_get_8 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF16: + case R_XTENSA_NDIFF16: ++ diff_mask = 0xffff; + diff_value = + bfd_get_16 (abfd, &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF32: + case R_XTENSA_NDIFF32: ++ diff_mask = 0xffffffff; + diff_value = + bfd_get_32 (abfd, &contents[old_source_offset]); + break; + } + + if (r_type >= R_XTENSA_NDIFF8 +- && r_type <= R_XTENSA_NDIFF32) +- diff_value = -diff_value; ++ && r_type <= R_XTENSA_NDIFF32 ++ && diff_value) ++ diff_value |= ~diff_mask; + + new_end_offset = offset_with_removed_text_map + (&target_relax_info->action_list, +@@ -9710,43 +9717,40 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info) + switch (r_type) + { + case R_XTENSA_DIFF8: +- diff_mask = 0x7f; + bfd_put_signed_8 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_DIFF16: +- diff_mask = 0x7fff; + bfd_put_signed_16 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_DIFF32: +- diff_mask = 0x7fffffff; + bfd_put_signed_32 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF8: + case R_XTENSA_NDIFF8: +- diff_mask = 0xff; + bfd_put_8 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF16: + case R_XTENSA_NDIFF16: +- diff_mask = 0xffff; + bfd_put_16 (abfd, diff_value, + &contents[old_source_offset]); + break; + case R_XTENSA_PDIFF32: + case R_XTENSA_NDIFF32: +- diff_mask = 0xffffffff; + bfd_put_32 (abfd, diff_value, + &contents[old_source_offset]); + break; + } + +- /* Check for overflow. Sign bits must be all zeroes or all ones */ +- if ((diff_value & ~diff_mask) != 0 && +- (diff_value & ~diff_mask) != (-1 & ~diff_mask)) ++ /* Check for overflow. Sign bits must be all zeroes or ++ all ones. When sign bits are all ones diff_value ++ may not be zero. */ ++ if (((diff_value & ~diff_mask) != 0 ++ && (diff_value & ~diff_mask) != ~diff_mask) ++ || (diff_value && (bfd_vma) diff_value == ~diff_mask)) + { + (*link_info->callbacks->reloc_dangerous) + (link_info, _("overflow after relaxation"), +-- +2.20.1 + diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host index 924d1749cd..9beabe357c 100644 --- a/package/binutils/Config.in.host +++ b/package/binutils/Config.in.host @@ -4,44 +4,47 @@ 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 - default BR2_BINUTILS_VERSION_2_28_X if BR2_ARM_INSTRUCTIONS_THUMB2 - default BR2_BINUTILS_VERSION_2_29_X if !BR2_arc + default BR2_BINUTILS_VERSION_2_32_X if !BR2_arc && !BR2_csky default BR2_BINUTILS_VERSION_ARC if BR2_arc + default BR2_BINUTILS_VERSION_CSKY if BR2_csky help Select the version of binutils you wish to use. -config BR2_BINUTILS_VERSION_2_28_X - bool "binutils 2.28.1" - depends on !BR2_arc - depends on !BR2_riscv - -config BR2_BINUTILS_VERSION_2_29_X - bool "binutils 2.29.1" - depends on !BR2_riscv - -config BR2_BINUTILS_VERSION_2_30_X - bool "binutils 2.30" - config BR2_BINUTILS_VERSION_2_31_X bool "binutils 2.31.1" + depends on !BR2_csky + +config BR2_BINUTILS_VERSION_2_32_X + bool "binutils 2.32" + depends on !BR2_csky + +config BR2_BINUTILS_VERSION_2_33_X + bool "binutils 2.33.1" + depends on !BR2_csky + # https://github.com/uclinux-dev/elf2flt/pull/16 + # https://github.com/uclinux-dev/elf2flt/issues/12 + depends on !BR2_BINFMT_FLAT config BR2_BINUTILS_VERSION_ARC bool "binutils arc (2.31)" depends on BR2_arc + +config BR2_BINUTILS_VERSION_CSKY + bool "binutils csky" + depends on BR2_csky + endchoice config BR2_BINUTILS_VERSION string - default "arc-2018.09-release" if BR2_BINUTILS_VERSION_ARC - default "2.28.1" if BR2_BINUTILS_VERSION_2_28_X - default "2.29.1" if BR2_BINUTILS_VERSION_2_29_X - default "2.30" if BR2_BINUTILS_VERSION_2_30_X + default "arc-2019.09-release" if BR2_BINUTILS_VERSION_ARC + default "c66d8bbcebfddf713b2b436e1b135e6b125a55a5" if BR2_BINUTILS_VERSION_CSKY default "2.31.1" if BR2_BINUTILS_VERSION_2_31_X + default "2.32" if BR2_BINUTILS_VERSION_2_32_X + default "2.33.1" if BR2_BINUTILS_VERSION_2_33_X config BR2_BINUTILS_ENABLE_LTO bool diff --git a/package/binutils/arc-2018.09-release/0005-poison-system-directories.patch b/package/binutils/arc-2018.09-release/0005-poison-system-directories.patch deleted file mode 100644 index 90c7ac760a..0000000000 --- a/package/binutils/arc-2018.09-release/0005-poison-system-directories.patch +++ /dev/null @@ -1,306 +0,0 @@ -From 7d1e6ed1d57e839207e0ece7561bd4709032de9f Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:45:38 +0100 -Subject: [PATCH] poison-system-directories - -Patch adapted to binutils 2.23.2 and extended to use -BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour -[Gustavo: adapt to binutils 2.25] -Signed-off-by: Thomas Petazzoni -Signed-off-by: Gustavo Zacarias - -Upstream-Status: Inappropriate [distribution: codesourcery] - -Patch originally created by Mark Hatle, forward-ported to -binutils 2.21 by Scott Garman. - -purpose: warn for uses of system directories when cross linking - -Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 - -2008-07-02 Joseph Myers - - ld/ - * ld.h (args_type): Add error_poison_system_directories. - * ld.texinfo (--error-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.error_poison_system_directories. - * ldmain.c (main): Initialize - command_line.error_poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --error-poison-system-directories. - (parse_args): Handle new option. - -2007-06-13 Joseph Myers - - ld/ - * config.in: Regenerate. - * ld.h (args_type): Add poison_system_directories. - * ld.texinfo (--no-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.poison_system_directories. - * ldmain.c (main): Initialize - command_line.poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_NO_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --no-poison-system-directories. - (parse_args): Handle new option. - -2007-04-20 Joseph Myers - - Merge from Sourcery G++ binutils 2.17: - - 2007-03-20 Joseph Myers - Based on patch by Mark Hatle . - ld/ - * configure.ac (--enable-poison-system-directories): New option. - * configure, config.in: Regenerate. - * ldfile.c (ldfile_add_library_path): If - ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, - /usr/lib, /usr/local/lib or /usr/X11R6/lib. - -Signed-off-by: Mark Hatle -Signed-off-by: Scott Garman ---- - ld/config.in | 3 +++ - ld/configure | 14 ++++++++++++++ - ld/configure.ac | 10 ++++++++++ - ld/ld.h | 8 ++++++++ - ld/ld.texi | 12 ++++++++++++ - ld/ldfile.c | 17 +++++++++++++++++ - ld/ldlex.h | 2 ++ - ld/ldmain.c | 2 ++ - ld/lexsup.c | 21 +++++++++++++++++++++ - 9 files changed, 89 insertions(+) - -diff --git a/ld/config.in b/ld/config.in -index d93c9b0..5da2742 100644 ---- a/ld/config.in -+++ b/ld/config.in -@@ -31,6 +31,9 @@ - language is requested. */ - #undef ENABLE_NLS - -+/* Define to warn for use of native system library directories */ -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+ - /* Additional extension a shared object might have. */ - #undef EXTRA_SHLIB_EXTENSION - -diff --git a/ld/configure b/ld/configure -index 300a272..d68890f 100755 ---- a/ld/configure -+++ b/ld/configure -@@ -822,6 +822,7 @@ with_lib_path - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_compressed_debug_sections -@@ -1486,6 +1487,8 @@ Optional Features: - --disable-largefile omit support for large files - --enable-targets alternative target configurations - --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) -+ --enable-poison-system-directories -+ warn for use of native system library directories - --enable-gold[=ARG] build gold [ARG={default,yes,no}] - --enable-got= GOT handling scheme (target, single, negative, - multigot) -@@ -15803,7 +15806,18 @@ else - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" = "xyes"; then - -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+ -+fi - - # Check whether --enable-got was given. - if test "${enable_got+set}" = set; then : -diff --git a/ld/configure.ac b/ld/configure.ac -index d10c553..9f1b57b 100644 ---- a/ld/configure.ac -+++ b/ld/configure.ac -@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) - AC_SUBST(TARGET_SYSTEM_ROOT) - AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system library directories]),, -+ [enable_poison_system_directories=no]) -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system library directories]) -+fi -+ - dnl Use --enable-gold to decide if this linker should be the default. - dnl "install_as_default" is set to false if gold is the default linker. - dnl "installed_linker" is the installed BFD linker name. -diff --git a/ld/ld.h b/ld/ld.h -index ba914b9..9df17da 100644 ---- a/ld/ld.h -+++ b/ld/ld.h -@@ -180,6 +180,14 @@ typedef struct - in the linker script. */ - bfd_boolean force_group_allocation; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bfd_boolean poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - -diff --git a/ld/ld.texi b/ld/ld.texi -index 40d79dd..137d46c 100644 ---- a/ld/ld.texi -+++ b/ld/ld.texi -@@ -2479,6 +2479,18 @@ string identifying the original linked file does not change. - - Passing @code{none} for @var{style} disables the setting from any - @code{--build-id} options earlier on the command line. -+ -+@kindex --no-poison-system-directories -+@item --no-poison-system-directories -+Do not warn for @option{-L} options using system directories such as -+@file{/usr/lib} when cross linking. This option is intended for use -+in chroot environments when such directories contain the correct -+libraries for the target system rather than the host. -+ -+@kindex --error-poison-system-directories -+@item --error-poison-system-directories -+Give an error instead of a warning for @option{-L} options using -+system directories when cross linking. - @end table - - @c man end -diff --git a/ld/ldfile.c b/ld/ldfile.c -index b3d166c..3dcbf66 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) - new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); - else - new_dirs->name = xstrdup (name); -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (command_line.poison_system_directories -+ && ((!strncmp (name, "/lib", 4)) -+ || (!strncmp (name, "/usr/lib", 8)) -+ || (!strncmp (name, "/usr/local/lib", 14)) -+ || (!strncmp (name, "/usr/X11R6/lib", 14)))) -+ { -+ if (command_line.error_poison_system_directories) -+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ else -+ einfo (_("%P: warning: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ } -+#endif -+ - } - - /* Try to open a BFD for a lang_input_statement. */ -diff --git a/ld/ldlex.h b/ld/ldlex.h -index 04d6fd5..d7df005 100644 ---- a/ld/ldlex.h -+++ b/ld/ldlex.h -@@ -148,6 +148,8 @@ enum option_values - OPTION_REQUIRE_DEFINED_SYMBOL, - OPTION_ORPHAN_HANDLING, - OPTION_FORCE_GROUP_ALLOCATION, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - /* The initial parser states. */ -diff --git a/ld/ldmain.c b/ld/ldmain.c -index f31eeb2..25f8497 100644 ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -268,6 +268,8 @@ main (int argc, char **argv) - command_line.warn_mismatch = TRUE; - command_line.warn_search_mismatch = TRUE; - command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the -diff --git a/ld/lexsup.c b/ld/lexsup.c -index 86a033a..f07f095 100644 ---- a/ld/lexsup.c -+++ b/ld/lexsup.c -@@ -543,6 +543,14 @@ static const struct ld_option ld_options[] = - { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, - '\0', N_("=MODE"), N_("Control how orphan sections are handled."), - TWO_DASHES }, -+ { {"no-poison-system-directories", no_argument, NULL, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Do not warn for -L options using system directories"), -+ TWO_DASHES }, -+ { {"error-poison-system-directories", no_argument, NULL, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Give an error for -L options using system directories"), -+ TWO_DASHES }, - }; - - #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -555,6 +563,7 @@ parse_args (unsigned argc, char **argv) - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1543,6 +1552,14 @@ parse_args (unsigned argc, char **argv) - } - break; - -+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: -+ command_line.poison_system_directories = FALSE; -+ break; -+ -+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: -+ command_line.error_poison_system_directories = TRUE; -+ break; -+ - case OPTION_PUSH_STATE: - input_flags.pushed = xmemdup (&input_flags, - sizeof (input_flags), -@@ -1586,6 +1603,10 @@ parse_args (unsigned argc, char **argv) - command_line.soname = NULL; - } - -+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); -+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = TRUE; -+ - while (ingroup) - { - lang_leave_group (); --- -2.7.4 - diff --git a/package/binutils/arc-2019.09-release/0001-poison-system-directories.patch b/package/binutils/arc-2019.09-release/0001-poison-system-directories.patch new file mode 100644 index 0000000000..f6a78c7cdd --- /dev/null +++ b/package/binutils/arc-2019.09-release/0001-poison-system-directories.patch @@ -0,0 +1,309 @@ +From 5f62ad7ce534e3384d6ed8892614979da297bd70 Mon Sep 17 00:00:00 2001 +From: Evgeniy Didin +Date: Mon, 14 Oct 2019 16:45:15 +0300 +Subject: [PATCH] [PATCH] poison-system-directories + +Patch adapted to arc-binutils-gdb-2019.09 +Signed-off-by: Evgeniy Didin + +Patch adapted to binutils 2.23.2 and extended to use +BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. + +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +[Gustavo: adapt to binutils 2.25] +Signed-off-by: Thomas Petazzoni +Signed-off-by: Gustavo Zacarias + +Upstream-Status: Inappropriate [distribution: codesourcery] + +Patch originally created by Mark Hatle, forward-ported to +binutils 2.21 by Scott Garman. + +purpose: warn for uses of system directories when cross linking + +Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 + +2008-07-02 Joseph Myers + + ld/ + * ld.h (args_type): Add error_poison_system_directories. + * ld.texinfo (--error-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.error_poison_system_directories. + * ldmain.c (main): Initialize + command_line.error_poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --error-poison-system-directories. + (parse_args): Handle new option. + +2007-06-13 Joseph Myers + + ld/ + * config.in: Regenerate. + * ld.h (args_type): Add poison_system_directories. + * ld.texinfo (--no-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.poison_system_directories. + * ldmain.c (main): Initialize + command_line.poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_NO_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --no-poison-system-directories. + (parse_args): Handle new option. + +2007-04-20 Joseph Myers + + Merge from Sourcery G++ binutils 2.17: + + 2007-03-20 Joseph Myers + Based on patch by Mark Hatle . + ld/ + * configure.ac (--enable-poison-system-directories): New option. + * configure, config.in: Regenerate. + * ldfile.c (ldfile_add_library_path): If + ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, + /usr/lib, /usr/local/lib or /usr/X11R6/lib. + +Signed-off-by: Mark Hatle +Signed-off-by: Scott Garman +--- + ld/config.in | 3 +++ + ld/configure | 14 ++++++++++++++ + ld/configure.ac | 10 ++++++++++ + ld/ld.h | 8 ++++++++ + ld/ld.texi | 12 ++++++++++++ + ld/ldfile.c | 17 +++++++++++++++++ + ld/ldlex.h | 2 ++ + ld/ldmain.c | 2 ++ + ld/lexsup.c | 21 +++++++++++++++++++++ + 9 files changed, 89 insertions(+) + +diff --git a/ld/config.in b/ld/config.in +index d93c9b08300..5da2742beac 100644 +--- a/ld/config.in ++++ b/ld/config.in +@@ -31,6 +31,9 @@ + language is requested. */ + #undef ENABLE_NLS + ++/* Define to warn for use of native system library directories */ ++#undef ENABLE_POISON_SYSTEM_DIRECTORIES ++ + /* Additional extension a shared object might have. */ + #undef EXTRA_SHLIB_EXTENSION + +diff --git a/ld/configure b/ld/configure +index 2d6ca5c0445..563f9921f7f 100755 +--- a/ld/configure ++++ b/ld/configure +@@ -823,6 +823,7 @@ with_lib_path + enable_targets + enable_64_bit_bfd + with_sysroot ++enable_poison_system_directories + enable_gold + enable_got + enable_compressed_debug_sections +@@ -1487,6 +1488,8 @@ Optional Features: + --disable-largefile omit support for large files + --enable-targets alternative target configurations + --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) ++ --enable-poison-system-directories ++ warn for use of native system library directories + --enable-gold[=ARG] build gold [ARG={default,yes,no}] + --enable-got= GOT handling scheme (target, single, negative, + multigot) +@@ -15804,7 +15807,18 @@ else + fi + + ++# Check whether --enable-poison-system-directories was given. ++if test "${enable_poison_system_directories+set}" = set; then : ++ enableval=$enable_poison_system_directories; ++else ++ enable_poison_system_directories=no ++fi ++ ++if test "x${enable_poison_system_directories}" = "xyes"; then + ++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h ++ ++fi + + # Check whether --enable-got was given. + if test "${enable_got+set}" = set; then : +diff --git a/ld/configure.ac b/ld/configure.ac +index 41a51bbb7e9..dbaa98a9e17 100644 +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) + AC_SUBST(TARGET_SYSTEM_ROOT) + AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) + ++AC_ARG_ENABLE([poison-system-directories], ++ AS_HELP_STRING([--enable-poison-system-directories], ++ [warn for use of native system library directories]),, ++ [enable_poison_system_directories=no]) ++if test "x${enable_poison_system_directories}" = "xyes"; then ++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], ++ [1], ++ [Define to warn for use of native system library directories]) ++fi ++ + dnl Use --enable-gold to decide if this linker should be the default. + dnl "install_as_default" is set to false if gold is the default linker. + dnl "installed_linker" is the installed BFD linker name. +diff --git a/ld/ld.h b/ld/ld.h +index 55078a9637b..511e9bc34b7 100644 +--- a/ld/ld.h ++++ b/ld/ld.h +@@ -180,6 +180,14 @@ typedef struct + in the linker script. */ + bfd_boolean force_group_allocation; + ++ /* If TRUE (the default) warn for uses of system directories when ++ cross linking. */ ++ bfd_boolean poison_system_directories; ++ ++ /* If TRUE (default FALSE) give an error for uses of system ++ directories when cross linking instead of a warning. */ ++ bfd_boolean error_poison_system_directories; ++ + /* Big or little endian as set on command line. */ + enum endian_enum endian; + +diff --git a/ld/ld.texi b/ld/ld.texi +index fcbc335c95e..6ba7ebdb32a 100644 +--- a/ld/ld.texi ++++ b/ld/ld.texi +@@ -2557,6 +2557,18 @@ string identifying the original linked file does not change. + + Passing @code{none} for @var{style} disables the setting from any + @code{--build-id} options earlier on the command line. ++ ++@kindex --no-poison-system-directories ++@item --no-poison-system-directories ++Do not warn for @option{-L} options using system directories such as ++@file{/usr/lib} when cross linking. This option is intended for use ++in chroot environments when such directories contain the correct ++libraries for the target system rather than the host. ++ ++@kindex --error-poison-system-directories ++@item --error-poison-system-directories ++Give an error instead of a warning for @option{-L} options using ++system directories when cross linking. + @end table + + @c man end +diff --git a/ld/ldfile.c b/ld/ldfile.c +index 7f60319390e..0bcc06db964 100644 +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) + new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); + else + new_dirs->name = xstrdup (name); ++ ++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES ++ if (command_line.poison_system_directories ++ && ((!strncmp (name, "/lib", 4)) ++ || (!strncmp (name, "/usr/lib", 8)) ++ || (!strncmp (name, "/usr/local/lib", 14)) ++ || (!strncmp (name, "/usr/X11R6/lib", 14)))) ++ { ++ if (command_line.error_poison_system_directories) ++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ else ++ einfo (_("%P: warning: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ } ++#endif ++ + } + + /* Try to open a BFD for a lang_input_statement. */ +diff --git a/ld/ldlex.h b/ld/ldlex.h +index 32a7a6409e8..c02b64bf92f 100644 +--- a/ld/ldlex.h ++++ b/ld/ldlex.h +@@ -150,6 +150,8 @@ enum option_values + OPTION_FORCE_GROUP_ALLOCATION, + OPTION_PRINT_MAP_DISCARDED, + OPTION_NO_PRINT_MAP_DISCARDED, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, + }; + + /* The initial parser states. */ +diff --git a/ld/ldmain.c b/ld/ldmain.c +index 34c19223137..66d2c3f4bcf 100644 +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -270,6 +270,8 @@ main (int argc, char **argv) + command_line.warn_mismatch = TRUE; + command_line.warn_search_mismatch = TRUE; + command_line.check_section_addresses = -1; ++ command_line.poison_system_directories = TRUE; ++ command_line.error_poison_system_directories = FALSE; + + /* We initialize DEMANGLING based on the environment variable + COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the +diff --git a/ld/lexsup.c b/ld/lexsup.c +index 1c15ac29c0c..8b714e10a40 100644 +--- a/ld/lexsup.c ++++ b/ld/lexsup.c +@@ -549,6 +549,14 @@ static const struct ld_option ld_options[] = + { {"no-print-map-discarded", no_argument, NULL, OPTION_NO_PRINT_MAP_DISCARDED}, + '\0', NULL, N_("Do not show discarded sections in map file output"), + TWO_DASHES }, ++ { {"no-poison-system-directories", no_argument, NULL, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Do not warn for -L options using system directories"), ++ TWO_DASHES }, ++ { {"error-poison-system-directories", no_argument, NULL, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Give an error for -L options using system directories"), ++ TWO_DASHES }, + }; + + #define OPTION_COUNT ARRAY_SIZE (ld_options) +@@ -561,6 +569,7 @@ parse_args (unsigned argc, char **argv) + int ingroup = 0; + char *default_dirlist = NULL; + char *shortopts; ++ char *BR_paranoid_env; + struct option *longopts; + struct option *really_longopts; + int last_optind; +@@ -1549,6 +1558,14 @@ parse_args (unsigned argc, char **argv) + } + break; + ++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: ++ command_line.poison_system_directories = FALSE; ++ break; ++ ++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: ++ command_line.error_poison_system_directories = TRUE; ++ break; ++ + case OPTION_PUSH_STATE: + input_flags.pushed = xmemdup (&input_flags, + sizeof (input_flags), +@@ -1600,6 +1617,10 @@ parse_args (unsigned argc, char **argv) + command_line.soname = NULL; + } + ++ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); ++ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) ++ command_line.error_poison_system_directories = TRUE; ++ + while (ingroup) + { + einfo (_("%P: missing --end-group; added as last command line option\n")); +-- +2.16.2 + diff --git a/package/binutils/binutils.hash b/package/binutils/binutils.hash index ac0831ca27..797dd5b923 100644 --- a/package/binutils/binutils.hash +++ b/package/binutils/binutils.hash @@ -1,8 +1,14 @@ # From ftp://gcc.gnu.org/pub/binutils/releases/sha512.sum -sha512 dc5b6872ae01c07c12d38f3bb7ead06effc6da3265ac872e2d9c6104304f89f85f2645b029a43f308a7938a7299b1928d385205d0a2245674a621649032a138d binutils-2.28.1.tar.xz -sha512 d748d22306477d60d921078804d21943248c23fca0707aac9b016a352c01c75ca69e82624ae37fb0bbd03af3b17088a94f60dfe1a86a7ff82e18ece3c24f0fd0 binutils-2.29.1.tar.xz -sha512 e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b192e9693b5828d27683739b0198431bf8b3e39fb3b04884cf89d9aa839 binutils-2.30.tar.xz sha512 0fca326feb1d5f5fe505a827b20237fe3ec9c13eaf7ec7e35847fd71184f605ba1cefe1314b1b8f8a29c0aa9d88162849ee1c1a3e70c2f7407d88339b17edb30 binutils-2.31.1.tar.xz +sha512 d326408f12a03d9a61a9de56584c2af12f81c2e50d2d7e835d51565df8314df01575724afa1e43bd0db45cfc9916b41519b67dfce03232aa4978704492a6994a binutils-2.32.tar.xz +sha512 b7a6767c6c7ca6b5cafa7080e6820b7bb3a53b7148348c438d99905defbdf0d30c9744a484ee01c9441a8153901808513366b15ba9533e20c9673c262ade36ac binutils-2.33.1.tar.xz # Locally calculated (fetched from Github) -sha512 a96dfcea6064fcd1aac1333ac0d631491bed8b0be9bdcf62f1447909c8f30d2cb8d9323ffeb7c9ad6b326ecddb72e3d28281684e73343189d0a4a37a11aef62f binutils-gdb-arc-2018.09-release.tar.gz +sha512 33ac5ad662db551870193f5c76c35a18de465adfa1c7f4bf5c1bb4145805a47507bf11ec21eb446b52f91f70cfe392252dd2b02724dc9dad3505258e3f6f4d45 binutils-gdb-arc-2019.09-release.tar.gz + +# Locally calculated (fetched from https://github.com/c-sky/binutils-gdb) +sha512 979552d4b3a4f31e9f3b9a7027321bd4eb3ac6c2d8deac1720e94e54f81d736db09c53c5d87c301010e307b64127e14400a036c7a35e5d63a954a4edd9cc8e2c binutils-c66d8bbcebfddf713b2b436e1b135e6b125a55a5.tar.gz + +# locally computed +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING3 +sha256 56bdea73b6145ef6ac5259b3da390b981d840c24cb03b8e1cbc678de7ecfa18d COPYING.LIB diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index 4531b8d9c8..81308e2e81 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -9,17 +9,24 @@ BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION)) ifeq ($(BINUTILS_VERSION),) ifeq ($(BR2_arc),y) -BINUTILS_VERSION = arc-2018.09-release +BINUTILS_VERSION = arc-2019.09-release else -BINUTILS_VERSION = 2.29.1 +BINUTILS_VERSION = 2.32 endif endif # BINUTILS_VERSION -ifeq ($(BINUTILS_VERSION),arc-2018.09-release) +ifeq ($(BINUTILS_VERSION),arc-2019.09-release) BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION)) BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz BINUTILS_FROM_GIT = y endif + +ifeq ($(BR2_csky),y) +BINUTILS_SITE = $(call github,c-sky,binutils-gdb,$(BINUTILS_VERSION)) +BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz +BINUTILS_FROM_GIT = y +endif + BINUTILS_SITE ?= $(BR2_GNU_MIRROR)/binutils BINUTILS_SOURCE ?= binutils-$(BINUTILS_VERSION).tar.xz BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_BINUTILS_EXTRA_CONFIG_OPTIONS)) @@ -91,9 +98,7 @@ HOST_BINUTILS_CONF_OPTS = \ # binutils run configure script of subdirs at make time, so ensure # our TARGET_CONFIGURE_ARGS are taken into consideration for those -define BINUTILS_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_ARGS) $(MAKE) $(BINUTILS_MAKE_OPTS) -C $(@D) -endef +BINUTILS_MAKE_ENV = $(TARGET_CONFIGURE_ARGS) # We just want libbfd, libiberty and libopcodes, # not the full-blown binutils in staging @@ -107,6 +112,7 @@ endef ifneq ($(BR2_PACKAGE_BINUTILS_TARGET),y) define BINUTILS_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/bfd DESTDIR=$(TARGET_DIR) install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/opcodes DESTDIR=$(TARGET_DIR) install $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libiberty DESTDIR=$(STAGING_DIR) install endef endif diff --git a/package/biosdevname/Config.in b/package/biosdevname/Config.in index 704716791a..5cdf54268c 100644 --- a/package/biosdevname/Config.in +++ b/package/biosdevname/Config.in @@ -12,4 +12,4 @@ config BR2_PACKAGE_BIOSDEVNAME system or hardware changes that might otherwise alter the typical ethX naming. - http://linux.dell.com/biosdevname/ + https://github.com/dell/biosdevname/ diff --git a/package/biosdevname/biosdevname.hash b/package/biosdevname/biosdevname.hash index 57946ea085..f4470c32dd 100644 --- a/package/biosdevname/biosdevname.hash +++ b/package/biosdevname/biosdevname.hash @@ -1,2 +1,3 @@ # Locally computed hashes, not provided by upstream -sha256 954575f482ff5de2d49c335b563990859a3eb3506e8fa976f6915eba870d71f6 biosdevname-0.7.2.tar.gz +sha256 3a67fee0c315996bbba586c1c077e57625382d38dc48fb3c9e84d56a7a5effad biosdevname-0.7.3.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/biosdevname/biosdevname.mk b/package/biosdevname/biosdevname.mk index e0de8ef623..574608c508 100644 --- a/package/biosdevname/biosdevname.mk +++ b/package/biosdevname/biosdevname.mk @@ -4,11 +4,12 @@ # ################################################################################ -BIOSDEVNAME_VERSION = 0.7.2 -BIOSDEVNAME_SITE = http://linux.dell.com/biosdevname/biosdevname-$(BIOSDEVNAME_VERSION) +BIOSDEVNAME_VERSION = 0.7.3 +BIOSDEVNAME_SITE = $(call github,dell,biosdevname,v$(BIOSDEVNAME_VERSION)) BIOSDEVNAME_LICENSE = GPL BIOSDEVNAME_LICENSE_FILES = COPYING BIOSDEVNAME_CONF_OPTS = --exec-prefix=/ BIOSDEVNAME_DEPENDENCIES = pciutils udev zlib +BIOSDEVNAME_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/bird/0001-Nest-Fix-build-without-protocols.patch b/package/bird/0001-Nest-Fix-build-without-protocols.patch new file mode 100644 index 0000000000..48d21441ca --- /dev/null +++ b/package/bird/0001-Nest-Fix-build-without-protocols.patch @@ -0,0 +1,28 @@ +From f9eb9b4cab65b850c61738dd56632bae0e7329ca Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 19 Oct 2019 12:50:27 +0200 +Subject: [PATCH] Nest: Fix build without protocols + +(CHECK keyword added by commiter) +[Retrieved from: +https://gitlab.labs.nic.cz/labs/bird/commit/f9eb9b4cab65b850c61738dd56632bae0e7329ca] +Signed-off-by: Fabrice Fontaine +--- + nest/config.Y | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/nest/config.Y b/nest/config.Y +index c62501a3..1bc203dd 100644 +--- a/nest/config.Y ++++ b/nest/config.Y +@@ -75,6 +75,7 @@ CF_KEYWORDS(BGP, PASSWORDS, DESCRIPTION, SORTED) + CF_KEYWORDS(RELOAD, IN, OUT, MRTDUMP, MESSAGES, RESTRICT, MEMORY, IGP_METRIC, CLASS, DSCP) + CF_KEYWORDS(TIMEFORMAT, ISO, SHORT, LONG, ROUTE, PROTOCOL, BASE, LOG, S, MS, US) + CF_KEYWORDS(GRACEFUL, RESTART, WAIT, MAX, FLUSH, AS) ++CF_KEYWORDS(CHECK, LINK) + + /* For r_args_channel */ + CF_KEYWORDS(IPV4, IPV4_MC, IPV4_MPLS, IPV6, IPV6_MC, IPV6_MPLS, IPV6_SADR, VPN4, VPN4_MC, VPN4_MPLS, VPN6, VPN6_MC, VPN6_MPLS, ROA4, ROA6, FLOW4, FLOW6, MPLS, PRI, SEC) +-- +2.21.0 + diff --git a/package/bird/Config.in b/package/bird/Config.in index a69551f94e..e78dfdf90f 100644 --- a/package/bird/Config.in +++ b/package/bird/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_BIRD bool "bird" + depends on !BR2_nios2 # relocations don't fit depends on BR2_USE_MMU # fork() help BIRD Internet Routing Daemon @@ -20,4 +21,61 @@ config BR2_PACKAGE_BIRD_CLIENT help Enable the BIRD client +comment "protocol support" + +config BR2_PACKAGE_BIRD_BABEL + bool "babel" + help + Enable Babel protocol. + +config BR2_PACKAGE_BIRD_BFD + bool "bfd" + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + help + Enable BFD protocol. + +comment "BFD protocol needs a toolchain w/ NPTL" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL + +config BR2_PACKAGE_BIRD_BGP + bool "bgp" + default y + help + Enable BGP protocol. + +config BR2_PACKAGE_BIRD_MRT + bool "mrt" + help + Enable MRT protocol. + +config BR2_PACKAGE_BIRD_OSPF + bool "ospf" + help + Enable OSPFv2 and OSPFv3 protocol. + +config BR2_PACKAGE_BIRD_PERF + bool "perf" + help + Enable Perf protocol. + +config BR2_PACKAGE_BIRD_PIPE + bool "pipe" + help + Enable Pipe protocol. + +config BR2_PACKAGE_BIRD_RADV + bool "radv" + help + Enable RAdv protocol. + +config BR2_PACKAGE_BIRD_RIP + bool "rip" + help + Enable RIP protocol. + +config BR2_PACKAGE_BIRD_STATIC + bool "static" + help + Enable Static protocol. + endif diff --git a/package/bird/bird.hash b/package/bird/bird.hash index 3f3a93b964..303fc21205 100644 --- a/package/bird/bird.hash +++ b/package/bird/bird.hash @@ -1,2 +1,2 @@ -sha256 0f49b38327d3109553acfa662ac0cf0377719226a03c124cd2e0ea2265ecb1de bird-2.0.3.tar.gz +sha256 631d2b58aebdbd651aaa3c68c3756c02ebfe5b1e60d307771ea909eeaa5b1066 bird-2.0.7.tar.gz sha256 94c53c84320078920ac1f0d49c81a4e9004512f534521a58bdf145acbcbc2cd2 README diff --git a/package/bird/bird.mk b/package/bird/bird.mk index da2f868070..6b28102754 100644 --- a/package/bird/bird.mk +++ b/package/bird/bird.mk @@ -4,7 +4,7 @@ # ################################################################################ -BIRD_VERSION = 2.0.3 +BIRD_VERSION = 2.0.7 BIRD_SITE = ftp://bird.network.cz/pub/bird BIRD_LICENSE = GPL-2.0+ BIRD_LICENSE_FILES = README @@ -17,4 +17,18 @@ else BIRD_CONF_OPTS += --disable-client endif +BIRD_PROTOCOLS = \ + $(if $(BR2_PACKAGE_BIRD_BFD),bfd) \ + $(if $(BR2_PACKAGE_BIRD_BABEL),babel) \ + $(if $(BR2_PACKAGE_BIRD_BGP),bgp) \ + $(if $(BR2_PACKAGE_BIRD_MRT),mrt) \ + $(if $(BR2_PACKAGE_BIRD_OSPF),ospf) \ + $(if $(BR2_PACKAGE_BIRD_PERF),perf) \ + $(if $(BR2_PACKAGE_BIRD_PIPE),pipe) \ + $(if $(BR2_PACKAGE_BIRD_RADV),radv) \ + $(if $(BR2_PACKAGE_BIRD_RIP),rip) \ + $(if $(BR2_PACKAGE_BIRD_STATIC),static) + +BIRD_CONF_OPTS += --with-protocols=$(subst $(space),$(comma),$(strip $(BIRD_PROTOCOLS))) + $(eval $(autotools-package)) diff --git a/package/bison/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch b/package/bison/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch deleted file mode 100644 index e9dee48af9..0000000000 --- a/package/bison/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Mon, 5 Mar 2018 10:56:29 -0800 -Subject: [PATCH 1/1] fflush: adjust to glibc 2.28 libio.h removal -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Problem reported by Daniel P. Berrangé in: -https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html -* lib/fbufmode.c (fbufmode): -* lib/fflush.c (clear_ungetc_buffer_preserving_position) -(disable_seek_optimization, rpl_fflush): -* lib/fpending.c (__fpending): -* lib/fpurge.c (fpurge): -* lib/freadable.c (freadable): -* lib/freadahead.c (freadahead): -* lib/freading.c (freading): -* lib/freadptr.c (freadptr): -* lib/freadseek.c (freadptrinc): -* lib/fseeko.c (fseeko): -* lib/fseterr.c (fseterr): -* lib/fwritable.c (fwritable): -* lib/fwriting.c (fwriting): -Check _IO_EOF_SEEN instead of _IO_ftrylockfile. -* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]: -Define if not already defined. ---- - lib/fseterr.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -[yann.morin.1998@free.fr: partially backport from upstream gnulib] -Signed-off-by: "Yann E. MORIN" - -diff --git a/lib/fseterr.c b/lib/fseterr.c -index 82649c3ac..adb637256 100644 ---- a/lib/fseterr.c -+++ b/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 */ --- -2.14.1 - diff --git a/package/bison/0001-src-make-path-to-m4-relocatable.patch b/package/bison/0001-src-make-path-to-m4-relocatable.patch new file mode 100644 index 0000000000..f40c39c558 --- /dev/null +++ b/package/bison/0001-src-make-path-to-m4-relocatable.patch @@ -0,0 +1,70 @@ +From 50c8a3af1661c3950b9743d673fd46872860aa08 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 18 May 2020 07:53:20 +0200 +Subject: [PATCH] src: make path to m4 relocatable + +Commit a4ede8f85b0c9a254fcb01e5888cee1983095669 ("package: make bison +a relocatable package") made Bison relocatable, but in fact it still +contains one absolute reference: the M4 variable, which points to the +M4 program. Let's fix that by using relocate(). + +We don't use relocate2() to store the temporary buffer and re-use it, +because m4path() is only called once. + +Upstream: submitted to the bison-patches@gnu.org mailing list +https://lists.gnu.org/archive/html/bison-patches/2020-05/msg00078.html +Signed-off-by: Thomas Petazzoni +--- + src/files.c | 7 +++++++ + src/files.h | 3 +++ + src/output.c | 2 +- + 3 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/src/files.c b/src/files.c +index 71c10e34..b8b43230 100644 +--- a/src/files.c ++++ b/src/files.c +@@ -421,6 +421,13 @@ pkgdatadir (void) + } + } + ++char const * ++m4path (void) ++{ ++ char const *m4 = getenv("M4"); ++ return m4 ? m4 : relocate(M4); ++} ++ + void + output_file_names_free (void) + { +diff --git a/src/files.h b/src/files.h +index 00814ad0..64b6f8b5 100644 +--- a/src/files.h ++++ b/src/files.h +@@ -64,6 +64,9 @@ extern char *all_but_ext; + /* Where our data files are installed. */ + char const *pkgdatadir (void); + ++/* Where the m4 program is installed. */ ++char const *m4path (void); ++ + void compute_output_file_names (void); + void output_file_names_free (void); + +diff --git a/src/output.c b/src/output.c +index 1871fd75..ebe75095 100644 +--- a/src/output.c ++++ b/src/output.c +@@ -682,7 +682,7 @@ static void + output_skeleton (void) + { + /* Compute the names of the package data dir and skeleton files. */ +- char const *m4 = (m4 = getenv ("M4")) ? m4 : M4; ++ char const *m4 = m4path (); + char const *datadir = pkgdatadir (); + char *skeldir = xpath_join (datadir, "skeletons"); + char *m4sugar = xpath_join (datadir, "m4sugar/m4sugar.m4"); +-- +2.26.2 + diff --git a/package/bison/0002-fflush-be-more-paranoid-about-libio.h-change.patch b/package/bison/0002-fflush-be-more-paranoid-about-libio.h-change.patch deleted file mode 100644 index 035f8282c1..0000000000 --- a/package/bison/0002-fflush-be-more-paranoid-about-libio.h-change.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 74d9d6a293d7462dea8f83e7fc5ac792e956a0ad Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Thu, 8 Mar 2018 16:42:45 -0800 -Subject: [PATCH 2/2] fflush: be more paranoid about libio.h change - -Suggested by Eli Zaretskii in: -https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html -* lib/fbufmode.c (fbufmode): -* lib/fflush.c (clear_ungetc_buffer_preserving_position) -(disable_seek_optimization, rpl_fflush): -* lib/fpending.c (__fpending): -* lib/fpurge.c (fpurge): -* lib/freadable.c (freadable): -* lib/freadahead.c (freadahead): -* lib/freading.c (freading): -* lib/freadptr.c (freadptr): -* lib/freadseek.c (freadptrinc): -* lib/fseeko.c (fseeko): -* lib/fseterr.c (fseterr): -* lib/fwritable.c (fwritable): -* lib/fwriting.c (fwriting): -Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN. ---- - lib/fseterr.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -[yann.morin.1998@free.fr: partially backport from upstream gnulib] -Signed-off-by: "Yann E. MORIN" - -diff --git a/lib/fseterr.c b/lib/fseterr.c -index adb637256..fd9da6338 100644 ---- a/lib/fseterr.c -+++ b/lib/fseterr.c -@@ -29,7 +29,8 @@ 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_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 -+ /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags |= _IO_ERR_SEEN; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ --- -2.14.1 - diff --git a/package/bison/bison.hash b/package/bison/bison.hash index 2c3320852f..01ee17d76e 100644 --- a/package/bison/bison.hash +++ b/package/bison/bison.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 a72428c7917bdf9fa93cb8181c971b6e22834125848cf1d03ce10b1bb0716fe1 bison-3.0.4.tar.xz +sha256 27d05534699735dc69e86add5b808d6cb35900ad3fd63fa82e3eb644336abfa0 bison-3.4.2.tar.xz # License files, locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/bison/bison.mk b/package/bison/bison.mk index e4fc50410b..4cc635c445 100644 --- a/package/bison/bison.mk +++ b/package/bison/bison.mk @@ -4,11 +4,14 @@ # ################################################################################ -BISON_VERSION = 3.0.4 +BISON_VERSION = 3.4.2 BISON_SOURCE = bison-$(BISON_VERSION).tar.xz BISON_SITE = $(BR2_GNU_MIRROR)/bison BISON_LICENSE = GPL-3.0+ BISON_LICENSE_FILES = COPYING +# parallel build issue in examples/c/reccalc/ +BISON_MAKE = $(MAKE1) HOST_BISON_DEPENDENCIES = host-m4 +HOST_BISON_CONF_OPTS = --enable-relocatable $(eval $(host-autotools-package)) diff --git a/package/bitcoin/Config.in b/package/bitcoin/Config.in new file mode 100644 index 0000000000..1f08f9f26f --- /dev/null +++ b/package/bitcoin/Config.in @@ -0,0 +1,48 @@ +config BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS + bool + default y if BR2_TOOLCHAIN_HAS_ATOMIC + # bitcoin uses 8-byte __atomic intrinsics, which are not + # available on ARM noMMU platforms that we + # support. BR2_TOOLCHAIN_HAS_ATOMIC does not provide a + # size-level granularity to express this dependency. + depends on !(BR2_arm || BR2_armeb) || BR2_USE_MMU + +config BR2_PACKAGE_BITCOIN + bool "bitcoin" + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future + depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS # boost + depends on BR2_USE_WCHAR + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BOOST_THREAD + select BR2_PACKAGE_BOOST_CHRONO + select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBEVENT + help + Bitcoin Core is an open source project which maintains and + releases Bitcoin client software called “Bitcoin Core”. + + It is a direct descendant of the original Bitcoin software + client released by Satoshi Nakamoto after he published the + famous Bitcoin whitepaper. + + Bitcoin Core consists of both "full-node" software for fully + validating the blockchain as well as a bitcoin wallet. The + project also currently maintains related software such as + the cryptography library libsecp256k1 and others located at + GitHub. + + https://bitcoincore.org + +comment "bitcoin needs a toolchain w/ C++, threads, wchar" + depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR + +comment "bitcoin needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/bitcoin/bitcoin.hash b/package/bitcoin/bitcoin.hash new file mode 100644 index 0000000000..fe7c1562a8 --- /dev/null +++ b/package/bitcoin/bitcoin.hash @@ -0,0 +1,5 @@ +# From https://bitcoincore.org/bin/bitcoin-core-0.19.0.1/SHA256SUMS.asc +sha256 7ac9f972249a0a16ed01352ca2a199a5448fe87a4ea74923404a40b4086de284 bitcoin-0.19.0.1.tar.gz + +# Hash for license file +sha256 9a0f75d688e9cf5c69d3efdaa2a83af496700d252b212ec6a72f7784b47fed0c COPYING diff --git a/package/bitcoin/bitcoin.mk b/package/bitcoin/bitcoin.mk new file mode 100644 index 0000000000..040c55b8a6 --- /dev/null +++ b/package/bitcoin/bitcoin.mk @@ -0,0 +1,35 @@ +################################################################################ +# +# bitcoin +# +################################################################################ + +BITCOIN_VERSION = 0.19.0.1 +BITCOIN_SITE = https://bitcoincore.org/bin/bitcoin-core-$(BITCOIN_VERSION) +BITCOIN_AUTORECONF = YES +BITCOIN_LICENSE = MIT +BITCOIN_LICENSE_FILES = COPYING +BITCOIN_DEPENDENCIES = host-pkgconf boost openssl libevent +BITCOIN_CONF_OPTS = \ + --disable-bench \ + --disable-wallet \ + --disable-tests \ + --with-boost-libdir=$(STAGING_DIR)/usr/lib/ \ + --disable-hardening \ + --without-gui + +ifeq ($(BR2_PACKAGE_LIBMINIUPNPC),y) +BITCOIN_DEPENDENCIES += libminiupnpc +BITCOIN_CONF_OPTS += --with-miniupnpc +else +BITCOIN_CONF_OPTS += --without-miniupnpc +endif + +ifeq ($(BR2_PACKAGE_ZEROMQ),y) +BITCOIN_DEPENDENCIES += zeromq +BITCOIN_CONF_OPTS += --with-zmq +else +BITCOIN_CONF_OPTS += --without-zmq +endif + +$(eval $(autotools-package)) diff --git a/package/bitstream-vera/bitstream-vera.hash b/package/bitstream-vera/bitstream-vera.hash index e18b38bb65..bb31b17a4a 100644 --- a/package/bitstream-vera/bitstream-vera.hash +++ b/package/bitstream-vera/bitstream-vera.hash @@ -1,2 +1,4 @@ # From http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-1.10.tar.bz2.sha256sum -sha256 db5b27df7bbb318036ebdb75acd3e98f1bd6eb6608fb70a67d478cd243d178dc ttf-bitstream-vera-1.10.tar.bz2 +sha256 db5b27df7bbb318036ebdb75acd3e98f1bd6eb6608fb70a67d478cd243d178dc ttf-bitstream-vera-1.10.tar.bz2 +# locally computed +sha256 3361d054759a2fc686a2c058be82deaf9c2e6fe549be9004d7935a6c1736315d COPYRIGHT.TXT diff --git a/package/bitstream/bitstream.hash b/package/bitstream/bitstream.hash index 89da7c6fd0..0d2e5a1f1a 100644 --- a/package/bitstream/bitstream.hash +++ b/package/bitstream/bitstream.hash @@ -1,6 +1,6 @@ -# 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 +# From https://get.videolan.org/bitstream/1.5/bitstream-1.5.tar.bz2.md5 +md5 34630d13332fd1575bcc8531b0a596be bitstream-1.5.tar.bz2 +# From https://get.videolan.org/bitstream/1.5/bitstream-1.5.tar.bz2.sha256 +sha256 45fc5a5a6e4537a69fa8440821e87b76252135180a3070c631b0b36ce0a3b90a bitstream-1.5.tar.bz2 # Locally computed sha256 9644a812f9a8377a59acb7092a36ce8882a39743425d9171a8fb84637e2f6e04 COPYING diff --git a/package/bitstream/bitstream.mk b/package/bitstream/bitstream.mk index 1746d1386c..12124a63d3 100644 --- a/package/bitstream/bitstream.mk +++ b/package/bitstream/bitstream.mk @@ -4,7 +4,7 @@ # ################################################################################ -BITSTREAM_VERSION = 1.4 +BITSTREAM_VERSION = 1.5 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-btt-make-device-devno-use-PATH_MAX-to-avoid-overflow.patch b/package/blktrace/0001-btt-make-device-devno-use-PATH_MAX-to-avoid-overflow.patch new file mode 100644 index 0000000000..764410d472 --- /dev/null +++ b/package/blktrace/0001-btt-make-device-devno-use-PATH_MAX-to-avoid-overflow.patch @@ -0,0 +1,146 @@ +From d61ff409cb4dda31386373d706ea0cfb1aaac5b7 Mon Sep 17 00:00:00 2001 +From: Jens Axboe +Date: Wed, 2 May 2018 10:24:17 -0600 +Subject: btt: make device/devno use PATH_MAX to avoid overflow + +Herbo Zhang reports: + +I found a bug in blktrace/btt/devmap.c. The code is just as follows: + +https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git/tree/btt/devmap.c?id=8349ad2f2d19422a6241f94ea84d696b21de4757 + + struct devmap { + +struct list_head head; +char device[32], devno[32]; // #1 +}; + +LIST_HEAD(all_devmaps); + +static int dev_map_add(char *line) +{ +struct devmap *dmp; + +if (strstr(line, "Device") != NULL) +return 1; + +dmp = malloc(sizeof(struct devmap)); +if (sscanf(line, "%s %s", dmp->device, dmp->devno) != 2) { //#2 +free(dmp); +return 1; +} + +list_add_tail(&dmp->head, &all_devmaps); +return 0; +} + +int dev_map_read(char *fname) +{ +char line[256]; // #3 +FILE *fp = my_fopen(fname, "r"); + +if (!fp) { +perror(fname); +return 1; +} + +while (fscanf(fp, "%255[a-zA-Z0-9 :.,/_-]\n", line) == 1) { +if (dev_map_add(line)) +break; +} + +fclose(fp); +return 0; +} + + The line length is 256, but the dmp->device, dmp->devno max length +is only 32. We can put strings longer than 32 into dmp->device and +dmp->devno , and then they will be overflowed. + + we can trigger this bug just as follows: + + $ python -c "print 'A'*256" > ./test + $ btt -M ./test + + *** Error in btt': free(): invalid next size (fast): 0x000055ad7349b250 *** + ======= Backtrace: ========= + /lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f7f158ce7e5] + /lib/x86_64-linux-gnu/libc.so.6(+0x7fe0a)[0x7f7f158d6e0a] + /lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f7f158da98c] + btt(+0x32e0)[0x55ad7306f2e0] + btt(+0x2c5f)[0x55ad7306ec5f] + btt(+0x251f)[0x55ad7306e51f] + /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f7f15877830] + btt(+0x26b9)[0x55ad7306e6b9] + ======= Memory map: ======== + 55ad7306c000-55ad7307f000 r-xp 00000000 08:14 3698139 + /usr/bin/btt + 55ad7327e000-55ad7327f000 r--p 00012000 08:14 3698139 + /usr/bin/btt + 55ad7327f000-55ad73280000 rw-p 00013000 08:14 3698139 + /usr/bin/btt + 55ad73280000-55ad73285000 rw-p 00000000 00:00 0 + 55ad7349a000-55ad734bb000 rw-p 00000000 00:00 0 + [heap] + 7f7f10000000-7f7f10021000 rw-p 00000000 00:00 0 + 7f7f10021000-7f7f14000000 ---p 00000000 00:00 0 + 7f7f15640000-7f7f15656000 r-xp 00000000 08:14 14942237 + /lib/x86_64-linux-gnu/libgcc_s.so.1 + 7f7f15656000-7f7f15855000 ---p 00016000 08:14 14942237 + /lib/x86_64-linux-gnu/libgcc_s.so.1 + 7f7f15855000-7f7f15856000 r--p 00015000 08:14 14942237 + /lib/x86_64-linux-gnu/libgcc_s.so.1 + 7f7f15856000-7f7f15857000 rw-p 00016000 08:14 14942237 + /lib/x86_64-linux-gnu/libgcc_s.so.1 + 7f7f15857000-7f7f15a16000 r-xp 00000000 08:14 14948477 + /lib/x86_64-linux-gnu/libc-2.23.so + 7f7f15a16000-7f7f15c16000 ---p 001bf000 08:14 14948477 + /lib/x86_64-linux-gnu/libc-2.23.so + 7f7f15c16000-7f7f15c1a000 r--p 001bf000 08:14 14948477 + /lib/x86_64-linux-gnu/libc-2.23.so + 7f7f15c1a000-7f7f15c1c000 rw-p 001c3000 08:14 14948477 + /lib/x86_64-linux-gnu/libc-2.23.so + 7f7f15c1c000-7f7f15c20000 rw-p 00000000 00:00 0 + 7f7f15c20000-7f7f15c46000 r-xp 00000000 08:14 14948478 + /lib/x86_64-linux-gnu/ld-2.23.so + 7f7f15e16000-7f7f15e19000 rw-p 00000000 00:00 0 + 7f7f15e42000-7f7f15e45000 rw-p 00000000 00:00 0 + 7f7f15e45000-7f7f15e46000 r--p 00025000 08:14 14948478 + /lib/x86_64-linux-gnu/ld-2.23.so + 7f7f15e46000-7f7f15e47000 rw-p 00026000 08:14 14948478 + /lib/x86_64-linux-gnu/ld-2.23.so + 7f7f15e47000-7f7f15e48000 rw-p 00000000 00:00 0 + 7ffdebe5c000-7ffdebe7d000 rw-p 00000000 00:00 0 + [stack] + 7ffdebebc000-7ffdebebe000 r--p 00000000 00:00 0 + [vvar] + 7ffdebebe000-7ffdebec0000 r-xp 00000000 00:00 0 + [vdso] + ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 + [vsyscall] + [1] 6272 abort btt -M test + +Signed-off-by: Jens Axboe +[Retrieved from: +https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git/commit/?id=d61ff409cb4dda31386373d706ea0cfb1aaac5b7] +Signed-off-by: Fabrice Fontaine +--- + btt/devmap.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/btt/devmap.c b/btt/devmap.c +index 0553a9e..5fc1cb2 100644 +--- a/btt/devmap.c ++++ b/btt/devmap.c +@@ -23,7 +23,7 @@ + + struct devmap { + struct list_head head; +- char device[32], devno[32]; ++ char device[PATH_MAX], devno[PATH_MAX]; + }; + + LIST_HEAD(all_devmaps); +-- +cgit 1.2-0.3.lf.el7 + diff --git a/package/blktrace/blktrace.mk b/package/blktrace/blktrace.mk index 6d1c8e3b92..4ada2e8e4b 100644 --- a/package/blktrace/blktrace.mk +++ b/package/blktrace/blktrace.mk @@ -10,6 +10,9 @@ BLKTRACE_DEPENDENCIES = libaio BLKTRACE_LICENSE = GPL-2.0+ BLKTRACE_LICENSE_FILES = COPYING +# 0001-btt-make-device-devno-use-PATH_MAX-to-avoid-overflow.patch +BLKTRACE_IGNORE_CVES += CVE-2018-10689 + define BLKTRACE_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) $(TARGET_CONFIGURE_OPTS) endef diff --git a/package/bluez-alsa/Config.in b/package/bluez-alsa/Config.in index e52933f07c..2f103f409c 100644 --- a/package/bluez-alsa/Config.in +++ b/package/bluez-alsa/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_BLUEZ_ALSA bool "bluez-alsa" depends on !BR2_STATIC_LIBS # bluez5 - depends on !BR2_PACKAGE_BLUEZ_UTILS # bluez5 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5 @@ -39,4 +38,3 @@ comment "bluez-alsa needs a toolchain w/ wchar, NPTL, headers >= 3.4, dynamic li !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 || BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_USE_MMU - depends on !BR2_PACKAGE_BLUEZ_UTILS diff --git a/package/bluez-alsa/bluez-alsa.hash b/package/bluez-alsa/bluez-alsa.hash index ba81eadf34..603a501d4f 100644 --- a/package/bluez-alsa/bluez-alsa.hash +++ b/package/bluez-alsa/bluez-alsa.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 29dad23877d0cf46a16e2f8d3746219e89068c33d052059caf1caaacd8b40cac bluez-alsa-v1.3.1.tar.gz -sha256 9a18d8b11802d0cec100839a0676a6fc48a4179f8f70b8e12a7f3d6b7a8fd70a LICENSE.txt +sha256 6459f70e47e70b4c04a85acf148381e6c8a2e86bd638aff21870afc6c14b85b0 bluez-alsa-2.1.0.tar.gz +sha256 60253922a459245128c34eb379cbda7c76936636d4c10edc576663a0f560dd4d LICENSE diff --git a/package/bluez-alsa/bluez-alsa.mk b/package/bluez-alsa/bluez-alsa.mk index 5c0bb4f12b..d5cb3ed67b 100644 --- a/package/bluez-alsa/bluez-alsa.mk +++ b/package/bluez-alsa/bluez-alsa.mk @@ -4,27 +4,20 @@ # ################################################################################ -BLUEZ_ALSA_VERSION = v1.3.1 -BLUEZ_ALSA_SITE = $(call github,Arkq,bluez-alsa,$(BLUEZ_ALSA_VERSION)) +BLUEZ_ALSA_VERSION = 2.1.0 +BLUEZ_ALSA_SITE = $(call github,Arkq,bluez-alsa,v$(BLUEZ_ALSA_VERSION)) BLUEZ_ALSA_LICENSE = MIT -BLUEZ_ALSA_LICENSE_FILES = LICENSE.txt +BLUEZ_ALSA_LICENSE_FILES = LICENSE BLUEZ_ALSA_DEPENDENCIES = alsa-lib bluez5_utils libglib2 sbc host-pkgconf # git repo, no configure BLUEZ_ALSA_AUTORECONF = YES -# Autoreconf requires an existing m4 directory -define BLUEZ_ALSA_MKDIR_M4 - mkdir -p $(@D)/m4 -endef -BLUEZ_ALSA_POST_PATCH_HOOKS += BLUEZ_ALSA_MKDIR_M4 - BLUEZ_ALSA_CONF_OPTS = \ --enable-aplay \ --disable-debug-time \ - --disable-pcm-test \ --with-alsaplugindir=/usr/lib/alsa-lib \ - --with-alsadatadir=/usr/share/alsa + --with-alsaconfdir=/etc/alsa/conf.d ifeq ($(BR2_PACKAGE_FDK_AAC),y) BLUEZ_ALSA_DEPENDENCIES += fdk-aac @@ -33,6 +26,34 @@ else BLUEZ_ALSA_CONF_OPTS += --disable-aac endif +ifeq ($(BR2_PACKAGE_LAME),y) +BLUEZ_ALSA_DEPENDENCIES += lame +BLUEZ_ALSA_CONF_OPTS += --enable-mp3lame +else +BLUEZ_ALSA_CONF_OPTS += --disable-mp3lame +endif + +ifeq ($(BR2_PACKAGE_MPG123),y) +BLUEZ_ALSA_DEPENDENCIES += mpg123 +BLUEZ_ALSA_CONF_OPTS += --enable-mpg123 +else +BLUEZ_ALSA_CONF_OPTS += --disable-mpg123 +endif + +# no build dependency, disables internal HFP in favor of oFonos HFP profile +ifeq ($(BR2_PACKAGE_OFONO),y) +BLUEZ_ALSA_CONF_OPTS += --enable-ofono +else +BLUEZ_ALSA_CONF_OPTS += --disable-ofono +endif + +# no build dependency, enables integration with UPower D-Bus service +ifeq ($(BR2_PACKAGE_UPOWER),y) +BLUEZ_ALSA_CONF_OPTS += --enable-upower +else +BLUEZ_ALSA_CONF_OPTS += --disable-upower +endif + ifeq ($(BR2_PACKAGE_BLUEZ_ALSA_HCITOP),y) BLUEZ_ALSA_DEPENDENCIES += libbsd ncurses BLUEZ_ALSA_CONF_OPTS += --enable-hcitop diff --git a/package/bluez-tools/Config.in b/package/bluez-tools/Config.in index 5a1b7d0412..6db874b23a 100644 --- a/package/bluez-tools/Config.in +++ b/package/bluez-tools/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_BLUEZ_TOOLS bool "bluez-tools" - depends on BR2_PACKAGE_BLUEZ_UTILS || BR2_PACKAGE_BLUEZ5_UTILS + depends on BR2_PACKAGE_BLUEZ5_UTILS depends on BR2_USE_MMU # dbus, libglib2 depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 @@ -14,6 +14,6 @@ config BR2_PACKAGE_BLUEZ_TOOLS https://github.com/khvzak/bluez-tools comment "bluez-tools needs a toolchain w/ wchar, threads" - depends on BR2_PACKAGE_BLUEZ_UTILS || BR2_PACKAGE_BLUEZ5_UTILS + depends on BR2_PACKAGE_BLUEZ5_UTILS depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/bluez-tools/bluez-tools.hash b/package/bluez-tools/bluez-tools.hash index 214fa5bdff..808e5c6061 100644 --- a/package/bluez-tools/bluez-tools.hash +++ b/package/bluez-tools/bluez-tools.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 56204ddd1cc7890d60f6a47507755f786fa3ee28f1da370a32ca7d7e0795a953 bluez-tools-171181b6ef6c94aefc828dc7fd8de136b9f97532.tar.gz -sha256 62ca98af63d2ae142dbc77995c6bd4c259eaba4a5832daa33ae9e3d585b9205f bluez-tools-97efd293491ad7ec96a655665339908f2478b3d1.tar.gz +sha256 62ca98af63d2ae142dbc77995c6bd4c259eaba4a5832daa33ae9e3d585b9205f bluez-tools-97efd293491ad7ec96a655665339908f2478b3d1.tar.gz +sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING diff --git a/package/bluez-tools/bluez-tools.mk b/package/bluez-tools/bluez-tools.mk index 49891bd2d1..c58701981a 100644 --- a/package/bluez-tools/bluez-tools.mk +++ b/package/bluez-tools/bluez-tools.mk @@ -4,33 +4,13 @@ # ################################################################################ -ifeq ($(BR2_PACKAGE_BLUEZ_UTILS),y) -# this is the last version compatible with BlueZ 4 API -BLUEZ_TOOLS_VERSION = 171181b6ef6c94aefc828dc7fd8de136b9f97532 -else BLUEZ_TOOLS_VERSION = 97efd293491ad7ec96a655665339908f2478b3d1 -endif BLUEZ_TOOLS_SITE = $(call github,khvzak,bluez-tools,$(BLUEZ_TOOLS_VERSION)) # sources fetched from github, no configure script) BLUEZ_TOOLS_AUTORECONF = YES -BLUEZ_TOOLS_DEPENDENCIES = host-pkgconf dbus dbus-glib +BLUEZ_TOOLS_DEPENDENCIES = host-pkgconf dbus dbus-glib bluez5_utils readline BLUEZ_TOOLS_LICENSE = GPL-2.0+ BLUEZ_TOOLS_LICENSE_FILES = COPYING -ifeq ($(BR2_PACKAGE_BLUEZ_UTILS),y) -BLUEZ_TOOLS_DEPENDENCIES += bluez_utils -# readline is an optional dependency when used with bluez_utils -# obex support depends on readline so enable it optionally -ifeq ($(BR2_PACKAGE_READLINE),y) -BLUEZ_TOOLS_CONF_OPTS += --enable-obex -BLUEZ_TOOLS_DEPENDENCIES += readline -else -BLUEZ_TOOLS_CONF_OPTS += --disable-obex -endif -else -# readline is a hard dependency when used with bluez5_utils -BLUEZ_TOOLS_DEPENDENCIES += bluez5_utils readline -endif - $(eval $(autotools-package)) diff --git a/package/bluez5_utils-headers/bluez5_utils-headers.mk b/package/bluez5_utils-headers/bluez5_utils-headers.mk index 020e8b4d4e..871986c817 100644 --- a/package/bluez5_utils-headers/bluez5_utils-headers.mk +++ b/package/bluez5_utils-headers/bluez5_utils-headers.mk @@ -5,7 +5,7 @@ ################################################################################ # Keep the version and patches in sync with bluez5_utils -BLUEZ5_UTILS_HEADERS_VERSION = 5.50 +BLUEZ5_UTILS_HEADERS_VERSION = 5.54 BLUEZ5_UTILS_HEADERS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_HEADERS_DL_SUBDIR = bluez5_utils diff --git a/package/bluez5_utils/Config.in b/package/bluez5_utils/Config.in index c5e8dfbcf7..1e9eda31dc 100644 --- a/package/bluez5_utils/Config.in +++ b/package/bluez5_utils/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_BLUEZ5_UTILS depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 depends on BR2_USE_MMU # dbus depends on !BR2_STATIC_LIBS # uses dlfcn - depends on !BR2_PACKAGE_BLUEZ_UTILS # conflicts with 4.x version depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 depends on BR2_TOOLCHAIN_HAS_SYNC_4 select BR2_PACKAGE_DBUS @@ -61,6 +60,14 @@ config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH help Build BlueZ 5.x health plugin +config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH + bool "build mesh profile" + select BR2_PACKAGE_ELL + select BR2_PACKAGE_JSON_C + select BR2_PACKAGE_READLINE + help + Build BlueZ 5.x mesh plugin + config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI bool "build midi profile" select BR2_PACKAGE_ALSA_LIB @@ -100,6 +107,3 @@ comment "bluez5-utils needs a toolchain w/ wchar, threads, headers >= 3.4, dynam !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 || BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_USE_MMU - -comment "bluez5-utils conflicts with older bluez-utils version" - depends on BR2_PACKAGE_BLUEZ_UTILS diff --git a/package/bluez5_utils/bluez5_utils.hash b/package/bluez5_utils/bluez5_utils.hash index b965708559..3eb6912fb3 100644 --- a/package/bluez5_utils/bluez5_utils.hash +++ b/package/bluez5_utils/bluez5_utils.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc: -sha256 5ffcaae18bbb6155f1591be8c24898dc12f062075a40b538b745bfd477481911 bluez-5.50.tar.xz +sha256 68cdab9e63e8832b130d5979dc8c96fdb087b31278f342874d992af3e56656dc bluez-5.54.tar.xz sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB diff --git a/package/bluez5_utils/bluez5_utils.mk b/package/bluez5_utils/bluez5_utils.mk index 15c9b670a7..2149614c56 100644 --- a/package/bluez5_utils/bluez5_utils.mk +++ b/package/bluez5_utils/bluez5_utils.mk @@ -5,7 +5,7 @@ ################################################################################ # Keep the version and patches in sync with bluez5_utils-headers -BLUEZ5_UTILS_VERSION = 5.50 +BLUEZ5_UTILS_VERSION = 5.54 BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_INSTALL_STAGING = YES @@ -51,6 +51,14 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-health endif +# enable mesh profile +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH),y) +BLUEZ5_UTILS_CONF_OPTS += --enable-external-ell --enable-mesh +BLUEZ5_UTILS_DEPENDENCIES += ell json-c readline +else +BLUEZ5_UTILS_CONF_OPTS += --disable-external-ell --disable-mesh +endif + # enable midi profile ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI),y) BLUEZ5_UTILS_CONF_OPTS += --enable-midi @@ -118,12 +126,4 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-systemd endif -define BLUEZ5_UTILS_INSTALL_INIT_SYSTEMD - mkdir -p $(TARGET_DIR)/etc/systemd/system/bluetooth.target.wants - ln -fs ../../../../usr/lib/systemd/system/bluetooth.service \ - $(TARGET_DIR)/etc/systemd/system/bluetooth.target.wants/bluetooth.service - ln -fs ../../../usr/lib/systemd/system/bluetooth.service \ - $(TARGET_DIR)/etc/systemd/system/dbus-org.bluez.service -endef - $(eval $(autotools-package)) diff --git a/package/bluez_utils/0001-enable_cg2900_on_upstream_4.91.patch b/package/bluez_utils/0001-enable_cg2900_on_upstream_4.91.patch deleted file mode 100644 index e80af5fd90..0000000000 --- a/package/bluez_utils/0001-enable_cg2900_on_upstream_4.91.patch +++ /dev/null @@ -1,106 +0,0 @@ -From ac7992081abba87627c9e91735b3309584b48585 Mon Sep 17 00:00:00 2001 -From: Gregory Hermant -Date: Wed, 14 Nov 2012 14:27:02 +0100 -Subject: [PATCH] add support for the ST-Ericsson CG2900 GPS FM Bluetooth - combo controller - - -Signed-off-by: Gregory Hermant ---- - tools/hciattach.c | 22 +++++++++++++++------- - tools/hciattach.h | 1 + - 2 files changed, 16 insertions(+), 7 deletions(-) - -diff --git a/tools/hciattach.c b/tools/hciattach.c -index e4d5aa1..7f08243 100644 ---- a/tools/hciattach.c -+++ b/tools/hciattach.c -@@ -1066,6 +1066,11 @@ struct uart_t uart[] = { - { "texasalt", 0x0000, 0x0000, HCI_UART_LL, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, texasalt, NULL }, - -+ /* ST-Ericsson CG2900 GPS FM Bluetooth combo controller */ -+ { "cg2900", 0x0000, 0x0000, HCI_UART_STE, 115200, 115200, -+ FLOW_CTL, DISABLE_PM, NULL, NULL }, -+ -+ - /* ST Microelectronics minikits based on STLC2410/STLC2415 */ - { "st", 0x0000, 0x0000, HCI_UART_H4, 57600, 115200, - FLOW_CTL, DISABLE_PM, NULL, st }, -@@ -1157,10 +1162,10 @@ static struct uart_t * get_by_type(char *type) - } - - /* Initialize UART driver */ --static int init_uart(char *dev, struct uart_t *u, int send_break, int raw) -+static int init_uart(char *dev, struct uart_t *u, int send_break, int raw, int line_disc) - { - struct termios ti; -- int fd, i; -+ int fd; - unsigned long flags = 0; - - if (raw) -@@ -1217,8 +1222,7 @@ static int init_uart(char *dev, struct uart_t *u, int send_break, int raw) - } - - /* Set TTY to N_HCI line discipline */ -- i = N_HCI; -- if (ioctl(fd, TIOCSETD, &i) < 0) { -+ if (ioctl(fd, TIOCSETD, &line_disc) < 0) { - perror("Can't set line discipline"); - return -1; - } -@@ -1243,7 +1247,7 @@ static void usage(void) - { - printf("hciattach - HCI UART driver initialization utility\n"); - printf("Usage:\n"); -- printf("\thciattach [-n] [-p] [-b] [-r] [-t timeout] [-s initial_speed] [speed] [flow|noflow] [bdaddr]\n"); -+ printf("\thciattach [-n] [-p] [-a line_disc_nr] [-b] [-r] [-t timeout] [-s initial_speed] [speed] [flow|noflow] [bdaddr]\n"); - printf("\thciattach -l\n"); - } - -@@ -1252,6 +1256,7 @@ int main(int argc, char *argv[]) - struct uart_t *u = NULL; - int detach, printpid, raw, opt, i, n, ld, err; - int to = 10; -+ int line_disc = N_HCI; - int init_speed = 0; - int send_break = 0; - pid_t pid; -@@ -1264,8 +1269,11 @@ int main(int argc, char *argv[]) - printpid = 0; - raw = 0; - -- while ((opt=getopt(argc, argv, "bnpt:s:lr")) != EOF) { -+ while ((opt=getopt(argc, argv, "bnpt:s:lra:")) != EOF) { - switch(opt) { -+ case 'a': -+ line_disc = atoi(optarg); -+ break; - case 'b': - send_break = 1; - break; -@@ -1381,7 +1389,7 @@ int main(int argc, char *argv[]) - alarm(to); - bcsp_max_retries = to; - -- n = init_uart(dev, u, send_break, raw); -+ n = init_uart(dev, u, send_break, raw, line_disc); - if (n < 0) { - perror("Can't initialize device"); - exit(1); -diff --git a/tools/hciattach.h b/tools/hciattach.h -index fed0d11..09b534d 100644 ---- a/tools/hciattach.h -+++ b/tools/hciattach.h -@@ -39,6 +39,7 @@ - #define HCI_UART_H4DS 3 - #define HCI_UART_LL 4 - #define HCI_UART_ATH3K 5 -+#define HCI_UART_STE 6 - - #define HCI_UART_RAW_DEVICE 0 - --- -1.7.9.5 - diff --git a/package/bluez_utils/0002-tools-hciconfig-include-fcntl.h.patch b/package/bluez_utils/0002-tools-hciconfig-include-fcntl.h.patch deleted file mode 100644 index 7d0763ff03..0000000000 --- a/package/bluez_utils/0002-tools-hciconfig-include-fcntl.h.patch +++ /dev/null @@ -1,27 +0,0 @@ -From ae607756a5f2a09bce1fc3a52e74b5f471245e33 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 6 Apr 2015 23:54:19 +0200 -Subject: [PATCH] tools/hciconfig: include - -Needed to get the definition of mode_t in musl. - -Signed-off-by: Thomas Petazzoni ---- - tools/hciconfig.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tools/hciconfig.c b/tools/hciconfig.c -index f1458b9..6776d62 100644 ---- a/tools/hciconfig.c -+++ b/tools/hciconfig.c -@@ -34,6 +34,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -2.1.0 - diff --git a/package/bluez_utils/0003-fix-compilation-issues-with-musl.patch b/package/bluez_utils/0003-fix-compilation-issues-with-musl.patch deleted file mode 100644 index d8b48eaad2..0000000000 --- a/package/bluez_utils/0003-fix-compilation-issues-with-musl.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 8aa6aa4ba2d9d00c91e36e146895af20cbc00d17 Mon Sep 17 00:00:00 2001 -From: Brendan Heading -Date: Wed, 2 Sep 2015 12:10:58 +0100 -Subject: [PATCH 1/1] fix compilation issues with musl. - -- sys/time.h needed for struct timeval -- unistd.h should not be included due to clash with encrypt(3) -- sys/types.h needed for mode_t - -Note that this version of bluez is 3 years old. Recent fixes have gone -into the upstream to address musl compatibility issues, but the upstream -has changed so much that it makes little sense to try to backport these. -This patch is really a stopgap until we move to the latest upstream. - -Upstream-Status: not needed -Signed-off-by: Brendan Heading ---- - compat/bnep.c | 1 + - compat/dund.c | 1 - - src/textfile.h | 1 + - 3 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/compat/bnep.c b/compat/bnep.c -index 281350b..49226c1 100644 ---- a/compat/bnep.c -+++ b/compat/bnep.c -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - - #include - #include -diff --git a/compat/dund.c b/compat/dund.c -index af1b536..c2f085f 100644 ---- a/compat/dund.c -+++ b/compat/dund.c -@@ -29,7 +29,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --git a/src/textfile.h b/src/textfile.h -index dc5fc2b..0148b30 100644 ---- a/src/textfile.h -+++ b/src/textfile.h -@@ -24,6 +24,7 @@ - #ifndef __TEXTFILE_H - #define __TEXTFILE_H - -+#include - int create_dirs(const char *filename, const mode_t mode); - int create_file(const char *filename, const mode_t mode); - int create_name(char *buf, size_t size, const char *path, --- -2.4.3 - diff --git a/package/bluez_utils/0004-test-add-missing-header.patch b/package/bluez_utils/0004-test-add-missing-header.patch deleted file mode 100644 index c74afb8304..0000000000 --- a/package/bluez_utils/0004-test-add-missing-header.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d3c098c2fde55ddf0c7d56eae56925103d35da73 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 13 May 2017 18:56:51 +0200 -Subject: [PATCH] test: add missing header - -test/attest.c: In function 'at_command': -test/attest.c:43:2: error: unknown type name 'fd_set' - fd_set rfds; - ^ - -Fixes: -http://autobuild.buildroot.net/results/06c/06c930d9c5299b79500d018ac3fb2861ce834c7c/ - -Signed-off-by: Romain Naour ---- - test/attest.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/test/attest.c b/test/attest.c -index 12ba682..2626cf1 100644 ---- a/test/attest.c -+++ b/test/attest.c -@@ -35,6 +35,8 @@ - #include - #include - -+#include -+ - #include - #include - --- -2.9.3 - diff --git a/package/bluez_utils/0005-test-avoid-conflict-with-encrypt-function.patch b/package/bluez_utils/0005-test-avoid-conflict-with-encrypt-function.patch deleted file mode 100644 index 438da97cb1..0000000000 --- a/package/bluez_utils/0005-test-avoid-conflict-with-encrypt-function.patch +++ /dev/null @@ -1,107 +0,0 @@ -From d8056252d0c99bfb2482f0a420dcf9a36019ddf8 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 13 May 2017 18:58:51 +0200 -Subject: [PATCH] test: avoid conflict with encrypt function -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -With a musl based toolchain: - -test/l2test.c:110:12: error: ‘encrypt’ redeclared as different kind of symbol - static int encrypt = 0; - ^ -In file included from test/l2test.c:34:0: -[...]/sysroot/usr/include/unistd.h:145:6: note: previous declaration of ‘encrypt’ was here - void encrypt(char *, int); - ^ - -Signed-off-by: Romain Naour ---- - test/l2test.c | 8 ++++---- - test/rctest.c | 8 ++++---- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/test/l2test.c b/test/l2test.c -index f66486d..9ef6faf 100644 ---- a/test/l2test.c -+++ b/test/l2test.c -@@ -107,7 +107,7 @@ static char *filename = NULL; - static int rfcmode = 0; - static int master = 0; - static int auth = 0; --static int encrypt = 0; -+static int _encrypt = 0; - static int secure = 0; - static int socktype = SOCK_SEQPACKET; - static int linger = 0; -@@ -340,7 +340,7 @@ static int do_connect(char *svr) - opt |= L2CAP_LM_MASTER; - if (auth) - opt |= L2CAP_LM_AUTH; -- if (encrypt) -+ if (_encrypt) - opt |= L2CAP_LM_ENCRYPT; - if (secure) - opt |= L2CAP_LM_SECURE; -@@ -475,7 +475,7 @@ static void do_listen(void (*handler)(int sk)) - opt |= L2CAP_LM_MASTER; - if (auth) - opt |= L2CAP_LM_AUTH; -- if (encrypt) -+ if (_encrypt) - opt |= L2CAP_LM_ENCRYPT; - if (secure) - opt |= L2CAP_LM_SECURE; -@@ -1407,7 +1407,7 @@ int main(int argc, char *argv[]) - break; - - case 'E': -- encrypt = 1; -+ _encrypt = 1; - break; - - case 'S': -diff --git a/test/rctest.c b/test/rctest.c -index 4d7c90a..7ad5a0b 100644 ---- a/test/rctest.c -+++ b/test/rctest.c -@@ -79,7 +79,7 @@ static char *filename = NULL; - - static int master = 0; - static int auth = 0; --static int encrypt = 0; -+static int _encrypt = 0; - static int secure = 0; - static int socktype = SOCK_STREAM; - static int linger = 0; -@@ -200,7 +200,7 @@ static int do_connect(const char *svr) - opt |= RFCOMM_LM_MASTER; - if (auth) - opt |= RFCOMM_LM_AUTH; -- if (encrypt) -+ if (_encrypt) - opt |= RFCOMM_LM_ENCRYPT; - if (secure) - opt |= RFCOMM_LM_SECURE; -@@ -291,7 +291,7 @@ static void do_listen(void (*handler)(int sk)) - opt |= RFCOMM_LM_MASTER; - if (auth) - opt |= RFCOMM_LM_AUTH; -- if (encrypt) -+ if (_encrypt) - opt |= RFCOMM_LM_ENCRYPT; - if (secure) - opt |= RFCOMM_LM_SECURE; -@@ -701,7 +701,7 @@ int main(int argc, char *argv[]) - break; - - case 'E': -- encrypt = 1; -+ _encrypt = 1; - break; - - case 'S': --- -2.9.3 - diff --git a/package/bluez_utils/Config.in b/package/bluez_utils/Config.in deleted file mode 100644 index 327d26bce3..0000000000 --- a/package/bluez_utils/Config.in +++ /dev/null @@ -1,48 +0,0 @@ -config BR2_PACKAGE_BLUEZ_UTILS - bool "bluez-utils" - depends on !BR2_STATIC_LIBS - depends on BR2_USE_WCHAR # libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib, libglib2 - depends on BR2_USE_MMU # dbus, libglib2 - select BR2_PACKAGE_CHECK - select BR2_PACKAGE_DBUS - select BR2_PACKAGE_LIBGLIB2 - help - bluez utils - - http://www.kernel.org/pub/linux/bluetooth - -if BR2_PACKAGE_BLUEZ_UTILS - -config BR2_PACKAGE_BLUEZ_UTILS_COMPAT - bool "BlueZ 3.x compatibility binaries" - help - BlueZ 3.x compatibility binaries like pand, hidd, sdp - -config BR2_PACKAGE_BLUEZ_UTILS_AUDIO - bool "audio support" - select BR2_PACKAGE_ALSA_LIB - select BR2_PACKAGE_LIBSNDFILE - help - Audio support - -config BR2_PACKAGE_BLUEZ_UTILS_USB - bool "USB support" - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb - select BR2_PACKAGE_LIBUSB - help - USB support - -config BR2_PACKAGE_BLUEZ_UTILS_GATT - bool "GATT support" - select BR2_PACKAGE_READLINE - help - Generic Attribute Profile (GATT) support. This provides - profile discovery and description services for Bluetooth Low - Energy. - This will install the gatttool utility. -endif - -comment "bluez-utils needs a toolchain w/ wchar, threads, dynamic library" - depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/bluez_utils/bluez_utils.hash b/package/bluez_utils/bluez_utils.hash deleted file mode 100644 index 39e750eacc..0000000000 --- a/package/bluez_utils/bluez_utils.hash +++ /dev/null @@ -1,5 +0,0 @@ -# From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc: -sha256 41f9578bef39b8c94a2d6ddeaa556afd22d136936d0f03100e422fe970a45a7d bluez-4.101.tar.xz -# License files, locally calculated -sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING -sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB diff --git a/package/bluez_utils/bluez_utils.mk b/package/bluez_utils/bluez_utils.mk deleted file mode 100644 index 256f012df9..0000000000 --- a/package/bluez_utils/bluez_utils.mk +++ /dev/null @@ -1,61 +0,0 @@ -################################################################################ -# -# bluez_utils -# -################################################################################ - -BLUEZ_UTILS_VERSION = 4.101 -BLUEZ_UTILS_SOURCE = bluez-$(BLUEZ_UTILS_VERSION).tar.xz -BLUEZ_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth -BLUEZ_UTILS_INSTALL_STAGING = YES -BLUEZ_UTILS_DEPENDENCIES = host-pkgconf check dbus libglib2 -BLUEZ_UTILS_CONF_OPTS = --enable-test --enable-tools -BLUEZ_UTILS_AUTORECONF = YES -BLUEZ_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+ -BLUEZ_UTILS_LICENSE_FILES = COPYING COPYING.LIB - -# BlueZ 3.x compatibility -ifeq ($(BR2_PACKAGE_BLUEZ_UTILS_COMPAT),y) -BLUEZ_UTILS_CONF_OPTS += \ - --enable-hidd \ - --enable-pand \ - --enable-sdp \ - --enable-dund -endif - -# audio support -ifeq ($(BR2_PACKAGE_BLUEZ_UTILS_AUDIO),y) -BLUEZ_UTILS_DEPENDENCIES += \ - alsa-lib \ - libsndfile -BLUEZ_UTILS_CONF_OPTS += \ - --enable-alsa \ - --enable-audio -else -BLUEZ_UTILS_CONF_OPTS += \ - --disable-alsa \ - --disable-audio -endif - -ifeq ($(BR2_PACKAGE_BLUEZ_UTILS_GATT),y) -BLUEZ_UTILS_DEPENDENCIES += readline -BLUEZ_UTILS_CONF_OPTS += --enable-gatt -else -BLUEZ_UTILS_CONF_OPTS += --disable-gatt -endif - -# USB support -ifeq ($(BR2_PACKAGE_BLUEZ_UTILS_USB),y) -BLUEZ_UTILS_DEPENDENCIES += libusb -BLUEZ_UTILS_CONF_OPTS += \ - --enable-usb -else -BLUEZ_UTILS_CONF_OPTS += \ - --disable-usb -endif - -ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),) -BLUEZ_UTILS_CONF_OPTS += --disable-pie -endif - -$(eval $(autotools-package)) diff --git a/package/bmon/bmon.hash b/package/bmon/bmon.hash index dec0c7d81a..2cdf315a7f 100644 --- a/package/bmon/bmon.hash +++ b/package/bmon/bmon.hash @@ -1,2 +1,4 @@ # Locally calculated sha256 02fdc312b8ceeb5786b28bf905f54328f414040ff42f45c83007f24b76cc9f7a bmon-4.0.tar.gz +sha256 59ae3d59c672bfb955917a8e32f5cacba7f8ce716c499a4c63dc8cd8cb5c4991 LICENSE.BSD +sha256 a2a6760c2c6fa779a635e4a7ad00f668862ebcadb2a8a57d16662543e103e08c LICENSE.MIT diff --git a/package/boa/boa.hash b/package/boa/boa.hash index 37760fd51d..4efe3aec43 100644 --- a/package/boa/boa.hash +++ b/package/boa/boa.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 02c51bf25f29d56e641b662f0767759654c28d88ec31f55c5a73d57edfe13cf6 boa-0.94.14rc21.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/boinc/boinc.hash b/package/boinc/boinc.hash index eeaaf68edd..b842b6c017 100644 --- a/package/boinc/boinc.hash +++ b/package/boinc/boinc.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 970aedb9e25afa20be67f125ab05435df8eb2e66a3ac30ad316c54085e397c88 boinc-7.14.2.tar.gz +sha256 caa567da8d3eb50859efe2eeba1c23c7b27d3b0f15b548136e75302713b25303 boinc-7.16.6.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSER diff --git a/package/boinc/boinc.mk b/package/boinc/boinc.mk index dd468c7678..a47ad9abe6 100644 --- a/package/boinc/boinc.mk +++ b/package/boinc/boinc.mk @@ -4,17 +4,15 @@ # ################################################################################ -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). +BOINC_VERSION_MAJOR = 7.16 +BOINC_VERSION = $(BOINC_VERSION_MAJOR).6 BOINC_SITE = \ $(call github,BOINC,boinc,client_release/$(BOINC_VERSION_MAJOR)/$(BOINC_VERSION)) BOINC_LICENSE = LGPL-3.0+ BOINC_LICENSE_FILES = COPYING COPYING.LESSER BOINC_DEPENDENCIES = host-pkgconf libcurl openssl BOINC_AUTORECONF = YES +BOINC_CONF_ENV = ac_cv_path__libcurl_config=$(STAGING_DIR)/usr/bin/curl-config BOINC_CONF_OPTS = \ --disable-apps \ --disable-boinczip \ @@ -53,10 +51,4 @@ define BOINC_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S99boinc-client endef -define BOINC_INSTALL_INIT_SYSTEMD - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -sf ../../../../usr/lib/systemd/system/boinc-client.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/boinc-client.service -endef - $(eval $(autotools-package)) diff --git a/package/bonnie/bonnie.hash b/package/bonnie/bonnie.hash index acf00fdbe9..c8118e9d62 100644 --- a/package/bonnie/bonnie.hash +++ b/package/bonnie/bonnie.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 cb3866116634bf65760b6806be4afa7e24a1cad6f145c876df8721f01ba2e2cb bonnie++-1.03e.tgz +sha256 bdfeef85436885bc317fdbae3732b17a39e7910eb855553a83b4d2cf9032e773 copyright.txt diff --git a/package/boost/0004-add-riscv-endian-detection.patch b/package/boost/0004-add-riscv-endian-detection.patch new file mode 100644 index 0000000000..879838df3a --- /dev/null +++ b/package/boost/0004-add-riscv-endian-detection.patch @@ -0,0 +1,36 @@ +Add RISC-V endian detection + +boost/predef/other/endian.h has two ways of detecting the endianess: + + (1) It includes if BOOST_LIB_C_GNU is defined, and then + use __BYTE_ORDER to decide the endianness. + + (2) Otherwise, if (1) was not possible for some reason, it uses + architecture defines to decide the endianness. + +(1) works perfectly fine with glibc toolchains, because +BOOST_LIB_C_GNU is defined, but it doesn't work with musl. Due to +this, is not included, __BYTE_ORDER is not defined, and +method (1) does not work, causing build failures on musl toolchains +that don't have explicit handling by architecture name (method 2). + +So this commit fixes RISC-V musl build by adding support for the +__riscv architecture define, to determine that the endianness is +little endian. + +Signed-off-by: Thomas Petazzoni + +Index: b/boost/predef/other/endian.h +=================================================================== +--- a/boost/predef/other/endian.h ++++ b/boost/predef/other/endian.h +@@ -127,7 +127,8 @@ + defined(__AARCH64EL__) || \ + defined(_MIPSEL) || \ + defined(__MIPSEL) || \ +- defined(__MIPSEL__) ++ defined(__MIPSEL__) || \ ++ defined(__riscv) + # undef BOOST_ENDIAN_LITTLE_BYTE + # define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE + # endif diff --git a/package/boost/0004-workaround-musl-bug.patch b/package/boost/0004-workaround-musl-bug.patch deleted file mode 100644 index 8613f2fec3..0000000000 --- a/package/boost/0004-workaround-musl-bug.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0506e46640989e1f919388ad36890bd6063cd43a Mon Sep 17 00:00:00 2001 -From: Zach van Rijn -Date: Sat, 26 Aug 2017 01:32:56 -0400 -Subject: [PATCH] explicitly include for memset() - -[Thomas: taken from -https://github.com/boostorg/fiber/pull/142/commits/0506e46640989e1f919388ad36890bd6063cd43a. It -is not going to be applied upstream because the actual bug is in musl, -but it's a good enough workaround for now.] -Signed-off-by: Thomas Petazzoni ---- - libs/fiber/src/numa/linux/pin_thread.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libs/fiber/src/numa/linux/pin_thread.cpp b/libs/fiber/src/numa/linux/pin_thread.cpp -index ae696be3..e9b3c423 100644 ---- a/libs/fiber/src/numa/linux/pin_thread.cpp -+++ b/libs/fiber/src/numa/linux/pin_thread.cpp -@@ -9,6 +9,7 @@ - extern "C" { - #include - #include -+#include - } - - #include diff --git a/package/boost/Config.in b/package/boost/Config.in index 4e6bbff6df..121650b8bc 100644 --- a/package/boost/Config.in +++ b/package/boost/Config.in @@ -101,7 +101,7 @@ comment "boost-contract needs a toolchain w/ NPTL" config BR2_PACKAGE_BOOST_COROUTINE bool "boost-coroutine" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context, boost-thread select BR2_PACKAGE_BOOST_CHRONO select BR2_PACKAGE_BOOST_CONTEXT select BR2_PACKAGE_BOOST_SYSTEM @@ -136,7 +136,6 @@ config BR2_PACKAGE_BOOST_FIBER # since mips32r2/mips64r2. depends on !BR2_MIPS_CPU_MIPS32 && !BR2_MIPS_CPU_MIPS64 depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85180 select BR2_PACKAGE_BOOST_CONTEXT select BR2_PACKAGE_BOOST_FILESYSTEM select BR2_PACKAGE_BOOST_SYSTEM @@ -147,9 +146,9 @@ comment "boost-fiber needs a toolchain w/ NPTL" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL -comment "boost-fiber needs a toolchain not affected by GCC bug 64735, 85180" +comment "boost-fiber needs a toolchain not affected by GCC bug 64735" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || BR2_TOOLCHAIN_HAS_GCC_BUG_85180 + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 config BR2_PACKAGE_BOOST_FILESYSTEM bool "boost-filesystem" @@ -190,6 +189,7 @@ config BR2_PACKAGE_BOOST_LOCALE # https://svn.boost.org/trac/boost/ticket/9685 for more # details. depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU) + depends on !(BR2_TOOLCHAIN_HAS_GCC_BUG_64735 && BR2_PACKAGE_ICU) # boost-thread select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD if BR2_PACKAGE_ICU select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE @@ -200,9 +200,14 @@ comment "boost-locale needs a toolchain w/ dynamic library" depends on BR2_PACKAGE_ICU depends on BR2_STATIC_LIBS +comment "boost-locale needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_ICU + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + config BR2_PACKAGE_BOOST_LOG bool "boost-log" depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread select BR2_PACKAGE_BOOST_ATOMIC select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_FILESYSTEM @@ -215,6 +220,9 @@ config BR2_PACKAGE_BOOST_LOG comment "boost-log needs a toolchain w/ NPTL" depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL +comment "boost-log needs a toolchain not affected by GCC bug 64735" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + config BR2_PACKAGE_BOOST_MATH bool "boost-math" help @@ -305,12 +313,16 @@ config BR2_PACKAGE_BOOST_TEST config BR2_PACKAGE_BOOST_THREAD bool "boost-thread" + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception select BR2_PACKAGE_BOOST_ATOMIC if !BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS select BR2_PACKAGE_BOOST_CHRONO select BR2_PACKAGE_BOOST_SYSTEM help Portable C++ multi-threading. C++11, C++14. +comment "boost-thread needs a toolchain not affected by GCC bug 64735" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + config BR2_PACKAGE_BOOST_TIMER bool "boost-timer" select BR2_PACKAGE_BOOST_CHRONO @@ -320,16 +332,21 @@ config BR2_PACKAGE_BOOST_TIMER config BR2_PACKAGE_BOOST_TYPE_ERASURE bool "boost-type_erasure" + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD help Runtime polymorphism based on concepts. +comment "boost-type_erasure needs a toolchain not affected by GCC bug 64735" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + config BR2_PACKAGE_BOOST_WAVE bool "boost-wave" # limitation of assembler for coldfire # error: Tried to convert PC relative branch to absolute jump depends on !BR2_m68k_cf + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_FILESYSTEM select BR2_PACKAGE_BOOST_SYSTEM @@ -340,4 +357,7 @@ config BR2_PACKAGE_BOOST_WAVE preprocessor functionality packed behind an easy to use iterator interface. +comment "boost-wave needs a toolchain not affected by GCC bug 64735" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + endif diff --git a/package/boost/boost.hash b/package/boost/boost.hash index c67c3f4a54..0348f40461 100644 --- a/package/boost/boost.hash +++ b/package/boost/boost.hash @@ -1,5 +1,5 @@ -# From http://www.boost.org/users/history/version_1_69_0.html -sha256 8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406 boost_1_69_0.tar.bz2 +# From http://www.boost.org/users/history/version_1_72_0.html +sha256 59c9b274bc451cf91a9ba1dd2c7fdcaf5d60b1b3aa83f2c9fa143417cc660722 boost_1_72_0.tar.bz2 # Locally computed sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt diff --git a/package/boost/boost.mk b/package/boost/boost.mk index 432730901a..2daf7f5a96 100644 --- a/package/boost/boost.mk +++ b/package/boost/boost.mk @@ -4,13 +4,17 @@ # ################################################################################ -BOOST_VERSION = 1.69.0 +BOOST_VERSION = 1.72.0 BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2 -BOOST_SITE = http://downloads.sourceforge.net/project/boost/boost/$(BOOST_VERSION) +BOOST_SITE = https://dl.bintray.com/boostorg/release/$(BOOST_VERSION)/source BOOST_INSTALL_STAGING = YES BOOST_LICENSE = BSL-1.0 BOOST_LICENSE_FILES = LICENSE_1_0.txt +# CVE-2009-3654 is misclassified (by our CVE tracker) as affecting to boost, +# while in fact it affects Drupal (a module called boost in there). +BOOST_IGNORE_CVES += CVE-2009-3654 + # keep host variant as minimal as possible HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \ --without-libraries=$(subst $(space),$(comma),atomic chrono context \ @@ -67,7 +71,7 @@ ifeq ($(BR2_PACKAGE_BOOST_PYTHON),y) BOOST_FLAGS += --with-python-root=$(HOST_DIR) ifeq ($(BR2_PACKAGE_PYTHON3),y) BOOST_FLAGS += --with-python=$(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR) -BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)m +BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) BOOST_DEPENDENCIES += python3 else BOOST_FLAGS += --with-python=$(HOST_DIR)/bin/python$(PYTHON_VERSION_MAJOR) @@ -76,8 +80,8 @@ BOOST_DEPENDENCIES += python endif endif -HOST_BOOST_OPTS += toolset=gcc threading=multi variant=release link=shared \ - runtime-link=shared +HOST_BOOST_OPTS += --no-cmake-config toolset=gcc threading=multi \ + variant=release link=shared runtime-link=shared ifeq ($(BR2_MIPS_OABI32),y) BOOST_ABI = o32 @@ -87,7 +91,8 @@ else BOOST_ABI = sysv endif -BOOST_OPTS += toolset=gcc \ +BOOST_OPTS += --no-cmake-config \ + toolset=gcc \ threading=multi \ abi=$(BOOST_ABI) \ variant=$(if $(BR2_ENABLE_DEBUG),debug,release) @@ -132,7 +137,7 @@ define BOOST_CONFIGURE_CMDS endef define BOOST_BUILD_CMDS - (cd $(@D) && $(TARGET_MAKE_ENV) ./bjam -j$(PARALLEL_JOBS) -q \ + (cd $(@D) && $(TARGET_MAKE_ENV) ./tools/build/src/engine/bjam -j$(PARALLEL_JOBS) -q \ --user-config=$(@D)/user-config.jam \ $(BOOST_OPTS) \ --ignore-site-config \ @@ -149,7 +154,7 @@ define BOOST_INSTALL_TARGET_CMDS endef define BOOST_INSTALL_STAGING_CMDS - (cd $(@D) && $(TARGET_MAKE_ENV) ./bjam -j$(PARALLEL_JOBS) -q \ + (cd $(@D) && $(TARGET_MAKE_ENV) ./tools/build/src/engine/bjam -j$(PARALLEL_JOBS) -q \ --user-config=$(@D)/user-config.jam \ $(BOOST_OPTS) \ --prefix=$(STAGING_DIR)/usr \ diff --git a/package/bootstrap/bootstrap.hash b/package/bootstrap/bootstrap.hash index ed29f9c529..a9602f7e49 100644 --- a/package/bootstrap/bootstrap.hash +++ b/package/bootstrap/bootstrap.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 75c0325fd82e29cf524e28d8be7716c216cc507ba85b087ab36868209236aa01 bootstrap-4.1.0-dist.zip -sha256 0ce7fbe215cdf921ed87d00a374404681d5d24898589a7fe60e068d09289b4ba css/bootstrap.css +sha256 888ffd30b7e192381e2f6a948ca04669fdcc2ccc2ba016de00d38c8e30793323 bootstrap-4.3.1-dist.zip +sha256 35fbb6dc3891aacaf1ffa07abec2344fdbc454aab533a2a03bcf93577eb7837b css/bootstrap.css diff --git a/package/bootstrap/bootstrap.mk b/package/bootstrap/bootstrap.mk index 0699485f52..c9f6003b52 100644 --- a/package/bootstrap/bootstrap.mk +++ b/package/bootstrap/bootstrap.mk @@ -4,7 +4,7 @@ # ################################################################################ -BOOTSTRAP_VERSION = 4.1.0 +BOOTSTRAP_VERSION = 4.3.1 BOOTSTRAP_SITE = https://github.com/twbs/bootstrap/releases/download/v$(BOOTSTRAP_VERSION) BOOTSTRAP_SOURCE = bootstrap-$(BOOTSTRAP_VERSION)-dist.zip BOOTSTRAP_LICENSE = MIT @@ -12,6 +12,7 @@ BOOTSTRAP_LICENSE_FILES = css/bootstrap.css define BOOTSTRAP_EXTRACT_CMDS $(UNZIP) $(BOOTSTRAP_DL_DIR)/$(BOOTSTRAP_SOURCE) -d $(@D) + mv $(@D)/bootstrap-$(BOOTSTRAP_VERSION)-dist/* $(@D) endef define BOOTSTRAP_INSTALL_TARGET_CMDS diff --git a/package/botan/0001-remove-mips64-explicit-mabi.patch b/package/botan/0001-remove-mips64-explicit-mabi.patch deleted file mode 100644 index 9c9317755a..0000000000 --- a/package/botan/0001-remove-mips64-explicit-mabi.patch +++ /dev/null @@ -1,20 +0,0 @@ -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 -@@ -83,7 +83,6 @@ - - openmp -> "-fopenmp" - --mips64 -> "-mabi=64" - s390 -> "-m31" - s390x -> "-m64" - sparc32 -> "-m32 -mno-app-regs" diff --git a/package/botan/botan.hash b/package/botan/botan.hash index faa467ec25..15e79bbe40 100644 --- a/package/botan/botan.hash +++ b/package/botan/botan.hash @@ -1,4 +1,4 @@ # From https://botan.randombit.net/releases/sha256sums.txt -sha256 e7159b127e91e0c158245d61c638c50d443ec7b440b6b0161328c47b3aba3960 Botan-2.8.0.tgz +sha256 0c10f12b424a40ee19bde00292098e201d7498535c062d8d5b586d07861a54b5 Botan-2.14.0.tar.xz # Locally computed -sha256 40cfd35a9e34d18463806f57553c968fdbaf254a2e2a636d1d8e32ff6b698495 license.txt +sha256 fb7f0322d36fba55ca17d77bc203a9f09a40daa8a249b75cf8887aba36cec9d0 license.txt diff --git a/package/botan/botan.mk b/package/botan/botan.mk index a96a12178b..a5551b110f 100644 --- a/package/botan/botan.mk +++ b/package/botan/botan.mk @@ -4,8 +4,8 @@ # ################################################################################ -BOTAN_VERSION = 2.8.0 -BOTAN_SOURCE = Botan-$(BOTAN_VERSION).tgz +BOTAN_VERSION = 2.14.0 +BOTAN_SOURCE = Botan-$(BOTAN_VERSION).tar.xz BOTAN_SITE = http://botan.randombit.net/releases BOTAN_LICENSE = BSD-2-Clause BOTAN_LICENSE_FILES = license.txt diff --git a/package/brickd/Config.in b/package/brickd/Config.in new file mode 100644 index 0000000000..7c5b8eb4bb --- /dev/null +++ b/package/brickd/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_BRICKD + bool "brickd" + depends on BR2_PACKAGE_HAS_UDEV # gudev + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_USE_WCHAR # glib2 + depends on BR2_USE_MMU # glib2, gudev + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBGUDEV + help + Brick daemon for LEGO MINDSTORMS EV3 (and other LEGO- + compatible devices). This performs tasks like battery + management and controls device-specific hardware. + + https://github.com/ev3dev/brickd + +comment "brickd needs udev /dev management, a toolchain w/ threads, wchar" + depends on BR2_USE_MMU + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_USE_WCHAR diff --git a/package/brickd/S70brickd b/package/brickd/S70brickd new file mode 100644 index 0000000000..063ad875ad --- /dev/null +++ b/package/brickd/S70brickd @@ -0,0 +1,37 @@ +#!/bin/sh + +NAME=brickd +PIDFILE=/var/run/$NAME.pid +DAEMON=/usr/sbin/$NAME + +start() { + printf "Starting $NAME: " + start-stop-daemon -S -q -m -b -p $PIDFILE --exec $DAEMON + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +stop() { + printf "Stopping $NAME: " + start-stop-daemon -K -q -p $PIDFILE + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac + +exit $? diff --git a/package/brickd/brickd.hash b/package/brickd/brickd.hash new file mode 100644 index 0000000000..8de57a9b82 --- /dev/null +++ b/package/brickd/brickd.hash @@ -0,0 +1,5 @@ +# Locally computed hash +sha256 0b79f1ccd6fa644d7ecb2e17b19f9ffbf6374702ae9ac536b2c4a0b8b2cfe160 brickd-ev3dev-stretch_1.2.1.tar.gz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.txt diff --git a/package/brickd/brickd.mk b/package/brickd/brickd.mk new file mode 100644 index 0000000000..7fe28daf78 --- /dev/null +++ b/package/brickd/brickd.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# brickd +# +################################################################################ + +BRICKD_VERSION = ev3dev-stretch/1.2.1 +BRICKD_SITE = https://github.com/ev3dev/brickd +BRICKD_SITE_METHOD = git +BRICKD_GIT_SUBMODULES = YES + +BRICKD_LICENSE = GPL-2.0 +BRICKD_LICENSE_FILES = LICENSE.txt + +BRICKD_INSTALL_STAGING = YES +BRICKD_DEPENDENCIES = host-pkgconf host-vala libglib2 libgudev + +define BRICKD_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/brickd/S70brickd $(TARGET_DIR)/etc/init.d/S70brickd +endef + +$(eval $(cmake-package)) diff --git a/package/bridge-utils/bridge-utils.hash b/package/bridge-utils/bridge-utils.hash index e699b24a63..5658116f88 100644 --- a/package/bridge-utils/bridge-utils.hash +++ b/package/bridge-utils/bridge-utils.hash @@ -1,2 +1,5 @@ # From https://www.kernel.org/pub/linux/utils/net/bridge-utils/sha256sums.asc sha256 cc67efb5d5fb8928a6569b3fade2b4042ec17da04678dab127d96b46489e26c8 bridge-utils-1.6.tar.xz + +# locally computed +sha256 995a31f60a9ddb4c609214cc7d17ca94cc3cbc7f37e1e64dba81e7f8ea9d4f91 COPYING diff --git a/package/brltty/0002-Fix-linking-error-on-mips64el.patch b/package/brltty/0001-Fix-linking-error-on-mips64el.patch similarity index 100% rename from package/brltty/0002-Fix-linking-error-on-mips64el.patch rename to package/brltty/0001-Fix-linking-error-on-mips64el.patch diff --git a/package/brltty/0001-buildsys-fix-cross-compilation.patch b/package/brltty/0001-buildsys-fix-cross-compilation.patch deleted file mode 100644 index 9a10d46414..0000000000 --- a/package/brltty/0001-buildsys-fix-cross-compilation.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 088666535a045dae71bd2fcc6b3a1553023106ce Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Wed, 22 Aug 2018 10:10:19 +0200 -Subject: [PATCH] buildsys: fix cross-compilation - -Some identifiers for includes and libs paths may contain digit, e.g. -X11_PACKAGE or ATSPI2_PACKAGE or GLIB2_PACKAGE... - -Also detect those identifiers when doing cros-compilation, so that the -_FOR_BUILD variants are really created and do not clash with the target -variants. - -Fixes: - http://autobuild.buildroot.org/results/a37/a37782b3cfc1a96cc129db8fade20a36a7b2d470/build-end.log - http://autobuild.buildroot.org/results/97e/97edc6a47d2140968e84b409cdc960604e5896f2/build-end.log - [...] - -Signed-off-by: "Yann E. MORIN" ---- -Upstram status: submitted -https://github.com/brltty/brltty/pull/142 ---- - mk4build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mk4build b/mk4build -index db90c86a9..551283825 100755 ---- a/mk4build -+++ b/mk4build -@@ -112,7 +112,7 @@ fi - - sedScript="${outputName}.${sedExtension}" - sed -n -e ' --s/^ *\([A-Za-z][A-Za-z_]*\) *=.*$/\1/ -+s/^ *\([A-Za-z][A-Za-z0-9_]*\) *=.*$/\1/ - t found - d - :found --- -2.14.1 - diff --git a/package/brltty/0002-fix-input_event-time-related-compile-fail.patch b/package/brltty/0002-fix-input_event-time-related-compile-fail.patch new file mode 100644 index 0000000000..249d420ca9 --- /dev/null +++ b/package/brltty/0002-fix-input_event-time-related-compile-fail.patch @@ -0,0 +1,52 @@ +From 43390f9906a8c663872e0eab56c1173032d1bd6c Mon Sep 17 00:00:00 2001 +From: Heiko Thiery +Date: Sun, 7 Jun 2020 12:58:38 +0200 +Subject: [PATCH] fix input_event time related compile fail + +./system_linux.c: In function 'writeInputEvent': +./system_linux.c:962:23: error: 'struct input_event' has no member named 'time'; did you mean 'type'? + gettimeofday(&event.time, NULL); + ^~~~ + type + +Signed-off-by: Heiko Thiery +--- + Programs/system_linux.c | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/Programs/system_linux.c b/Programs/system_linux.c +index a97ee7ff6..77052d32f 100644 +--- a/Programs/system_linux.c ++++ b/Programs/system_linux.c +@@ -40,6 +40,14 @@ + #ifdef HAVE_LINUX_INPUT_H + #include + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#endif ++ ++#ifndef input_event_usec ++#define input_event_usec time.tv_usec ++#endif ++ + #include "kbd_keycodes.h" + + LINUX_KEY_MAP(xt00) = { +@@ -957,9 +965,12 @@ int + writeInputEvent (UinputObject *uinput, uint16_t type, uint16_t code, int32_t value) { + #ifdef HAVE_LINUX_UINPUT_H + struct input_event event; ++ struct timeval tv; + + memset(&event, 0, sizeof(event)); +- gettimeofday(&event.time, NULL); ++ gettimeofday(&tv, NULL); ++ event.input_event_sec = tv.tv_sec; ++ event.input_event_usec = tv.tv_usec; + event.type = type; + event.code = code; + event.value = value; +-- +2.20.1 + diff --git a/package/brltty/brltty.hash b/package/brltty/brltty.hash index 6b9470c82e..d4f87c42f2 100644 --- a/package/brltty/brltty.hash +++ b/package/brltty/brltty.hash @@ -1,3 +1,4 @@ -sha256 6171258aca833bb2012afd9c63928573a48c3daab7b149a3e90001ba53beb80f brltty-5.6.tar.xz +# Locally computed +sha256 4a28e3f1879aee9082f9ce4100fd4053be47add7f8ab0f2af6d6a20590934b62 brltty-6.1.tar.xz sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f LICENSE-LGPL -sha256 42685d8fa420f618e325d423be110c69abd976afdef183dfac385ccd44cb12e9 README +sha256 9ac2af461c3f5c1640601d607a299c7cb9fe3d2f9974bf671af46601e4f9198f README diff --git a/package/brltty/brltty.mk b/package/brltty/brltty.mk index 21f6877bb8..4f40e65fc6 100644 --- a/package/brltty/brltty.mk +++ b/package/brltty/brltty.mk @@ -4,7 +4,7 @@ # ################################################################################ -BRLTTY_VERSION = 5.6 +BRLTTY_VERSION = 6.1 BRLTTY_SOURCE = brltty-$(BRLTTY_VERSION).tar.xz BRLTTY_SITE = http://brltty.com/archive BRLTTY_INSTALL_STAGING_OPTS = INSTALL_ROOT=$(STAGING_DIR) install @@ -12,9 +12,16 @@ BRLTTY_INSTALL_TARGET_OPTS = INSTALL_ROOT=$(TARGET_DIR) install BRLTTY_LICENSE = LGPL-2.1+ BRLTTY_LICENSE_FILES = LICENSE-LGPL README -BRLTTY_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-autoconf host-pkgconf \ +BRLTTY_DEPENDENCIES = \ + $(TARGET_NLS_DEPENDENCIES) \ + host-autoconf \ + host-gawk \ + host-pkgconf \ $(if $(BR2_PACKAGE_AT_SPI2_CORE),at-spi2-core) +BRLTTY_CONF_ENV = \ + PKG_CONFIG_FOR_BUILD=$(HOST_DIR)/bin/pkgconf + BRLTTY_CONF_OPTS = \ --disable-java-bindings \ --disable-lisp-bindings \ @@ -22,14 +29,14 @@ BRLTTY_CONF_OPTS = \ --disable-python-bindings \ --disable-tcl-bindings \ --disable-x \ + --without-espeak-ng \ --without-midi-package \ --without-mikropuhe --without-speechd --without-swift \ - --without-theta --without-viavoice + --without-theta # Autoreconf is needed because we're patching configure.ac in -# 0002-Check-for-ioperm-to-make-sure-the-platform-supports-.patch. However, -# a plain autoreconf doesn't work, because this package is only -# autoconf-based. +# 0001-Fix-linking-error-on-mips64el. However, a plain autoreconf doesn't work, +# because this package is only autoconf-based. define BRLTTY_AUTOCONF cd $(BRLTTY_SRCDIR) && $(AUTOCONF) endef @@ -50,6 +57,14 @@ else BRLTTY_CONF_OPTS += --without-espeak endif +ifeq ($(BR2_PACKAGE_EXPAT),y) +# host-expat is needed by tbl2hex's host program +BRLTTY_DEPENDENCIES += host-expat expat +BRLTTY_CONF_OPTS += --enable-expat +else +BRLTTY_CONF_OPTS += --disable-expat +endif + ifeq ($(BR2_PACKAGE_FLITE),y) BRLTTY_DEPENDENCIES += flite BRLTTY_CONF_OPTS += --with-flite=$(STAGING_DIR)/usr @@ -71,6 +86,16 @@ else BRLTTY_CONF_OPTS += --without-curses endif +ifeq ($(BR2_PACKAGE_PCRE2_32),y) +BRLTTY_DEPENDENCIES += pcre2 +BRLTTY_CONF_OPTS += --with-rgx-package +else ifeq ($(BR2_PACKAGE_PCRE_32),y) +BRLTTY_DEPENDENCIES += pcre +BRLTTY_CONF_OPTS += --with-rgx-package +else +BRLTTY_CONF_OPTS += --without-rgx-package +endif + ifeq ($(BR2_PACKAGE_SYSTEMD),y) BRLTTY_DEPENDENCIES += systemd BRLTTY_CONF_OPTS += --with-service-package @@ -103,10 +128,6 @@ endef define BRLTTY_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 0644 package/brltty/brltty.service \ $(TARGET_DIR)/usr/lib/systemd/system/brltty.service - - mkdir -p $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants - ln -fs ../../../../usr/lib/systemd/system/brltty.service \ - $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants/brltty.service endef $(eval $(autotools-package)) diff --git a/package/brotli/brotli.mk b/package/brotli/brotli.mk index 2c1ad48753..134f480895 100644 --- a/package/brotli/brotli.mk +++ b/package/brotli/brotli.mk @@ -14,4 +14,12 @@ BROTLI_CONF_OPTS = \ -DBROTLI_DISABLE_TESTS=ON \ -DBROTLI_BUNDLED_MODE=OFF +BROTLI_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) +BROTLI_CFLAGS += -O0 +endif + +BROTLI_CONF_OPTS += -DCMAKE_C_FLAGS="$(BROTLI_CFLAGS)" + $(eval $(cmake-package)) diff --git a/package/bsdiff/bsdiff.hash b/package/bsdiff/bsdiff.hash index 989fcf1f12..2c6d02f4e3 100644 --- a/package/bsdiff/bsdiff.hash +++ b/package/bsdiff/bsdiff.hash @@ -1,2 +1,4 @@ # From http://www.daemonology.net/bsdiff/: md5 e6d812394f0e0ecc8d5df255aa1db22a bsdiff-4.3.tar.gz +# locally computed +sha256 fc0a6e634ef77dcf14bf36c7b6d1e57ba1ac5c4809073dfaacb3b5f7ab277eb7 bsdiff.c diff --git a/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch b/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch deleted file mode 100644 index de2db2f16f..0000000000 --- a/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch +++ /dev/null @@ -1,51 +0,0 @@ -From ff93866eb119cedb791894814780c0e44db35715 Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Fri, 10 Mar 2017 14:56:17 +0000 -Subject: [PATCH] Makefile: install static library and headers in - install-static - -Currently, the install-static target only installs the statically -compiled tools. However, some programs outside of btrfs-progs (for -example docker) link with the btrfs libraries. If such programs want to -link statically against the btrfs-progs library, then this library -should be installed by "install-static". Indeed, "make install" cannot -be used if the support for shared library is not enabled. - -Signed-off-by: Thomas Petazzoni -[Gustavo: Rebase for btrfs-progs 4.7.2] -Signed-off-by: Gustavo Zacarias -[Vincent: Rebase for btrfs-progs 4.10] -Signed-off-by: Vicente Olivert Riera -[baruch: Rebase for btrfs-progs 4.16] -Signed-off-by: Baruch Siach ---- - Makefile | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 67fbc48..d9e34be 100644 ---- a/Makefile -+++ b/Makefile -@@ -308,7 +308,7 @@ test: test-fsck test-mkfs test-convert test-misc test-fuzz test-cli - # NOTE: For static compiles, you need to have all the required libs - # static equivalent available - # --static: $(progs_static) -+static: $(progs_static) $(libs_static) - - version.h: version.sh version.h.in configure.ac - @echo " [SH] $@" -@@ -537,6 +537,10 @@ install-static: $(progs_static) $(INSTALLDIRS) - $(INSTALL) $(progs_static) $(DESTDIR)$(bindir) - # btrfsck is a link to btrfs in the src tree, make it so for installed file as well - $(LN_S) -f btrfs.static $(DESTDIR)$(bindir)/btrfsck.static -+ $(INSTALL) -m755 -d $(DESTDIR)$(libdir) -+ $(INSTALL) $(libs_static) $(DESTDIR)$(libdir) -+ $(INSTALL) -m755 -d $(DESTDIR)$(incdir)/btrfs -+ $(INSTALL) -m644 $(libbtrfs_headers) $(DESTDIR)$(incdir)/btrfs - - $(INSTALLDIRS): - @echo "Making install in $(patsubst install-%,%,$@)" --- -2.10.2 - diff --git a/package/btrfs-progs/0002-kerncompat.h-define-BTRFS_DISABLE_BACKTRACE-when-bui.patch b/package/btrfs-progs/0002-kerncompat.h-define-BTRFS_DISABLE_BACKTRACE-when-bui.patch deleted file mode 100644 index 9c1173b3fe..0000000000 --- a/package/btrfs-progs/0002-kerncompat.h-define-BTRFS_DISABLE_BACKTRACE-when-bui.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 1fc5444f5620670bb9d293be4f92df59661e1810 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 20 Feb 2017 23:31:24 +0100 -Subject: [PATCH] kerncompat.h: define BTRFS_DISABLE_BACKTRACE when building - with uClibc - -uClibc does not provide backtrace() nor . When building -btrfs-progs, passing --disable-backtrace is enough to make it build with -uClibc. But once btrfs-progs is installed and another program/library -includes kerncompat.h, it fails to build with uClibc, because -BTRFS_DISABLE_BACKTRACE is not defined. - -The most correct fix for this would be to have kerncompat.h generated -from kerncompat.h.in during the btrfs-progs build process, and tuned -depending on autoconf/automake variables. But as a quick fix that -follows the current strategy, we simply tweak the existing __GLIBC__ -conditional. Indeed, uClibc pretends to be glibc and defines __GLIBC__, -but it does not replace it completely, hence the need to define -BTRFS_DISABLE_BACKTRACE when __GLIBC__ is not defined *or* when -__UCLIBC__ is defined. - -Signed-off-by: Thomas Petazzoni ---- - kerncompat.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/kerncompat.h b/kerncompat.h -index 0f207b7..e47d164 100644 ---- a/kerncompat.h -+++ b/kerncompat.h -@@ -32,7 +32,7 @@ - - #include - --#ifndef __GLIBC__ -+#if !defined(__GLIBC__) || defined(__UCLIBC__) - #ifndef BTRFS_DISABLE_BACKTRACE - #define BTRFS_DISABLE_BACKTRACE - #endif --- -2.7.4 - diff --git a/package/btrfs-progs/btrfs-progs.hash b/package/btrfs-progs/btrfs-progs.hash index 07d55ec332..f5ad74ae68 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 bf0b34f1538c0b6e88f959937b0419678cadbf2ba7044336dcbfb2bcdc28cd74 btrfs-progs-v4.17.1.tar.xz +sha256 a1321c77521dfa6cac41d0d030358e9c74bcf650afd6a9c1c7d531e6cd112f6b btrfs-progs-v5.6.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 585dcf364c..b77745dd2f 100644 --- a/package/btrfs-progs/btrfs-progs.mk +++ b/package/btrfs-progs/btrfs-progs.mk @@ -4,7 +4,7 @@ # ################################################################################ -BTRFS_PROGS_VERSION = 4.17.1 +BTRFS_PROGS_VERSION = 5.6 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 lzo util-linux zlib diff --git a/package/bubblewrap/Config.in b/package/bubblewrap/Config.in new file mode 100644 index 0000000000..2492cee0e5 --- /dev/null +++ b/package/bubblewrap/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_BUBBLEWRAP + bool "bubblewrap" + depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBCAP + help + Unprivileged sandbox tool based on Linux namespaces. + + https://github.com/projectatomic/bubblewrap diff --git a/package/bubblewrap/bubblewrap.hash b/package/bubblewrap/bubblewrap.hash new file mode 100644 index 0000000000..d3ccb4cb1f --- /dev/null +++ b/package/bubblewrap/bubblewrap.hash @@ -0,0 +1,5 @@ +# Locally computed: +sha256 b9c69b9b1c61a608f34325c8e1a495229bacf6e4a07cbb0c80cf7a814d7ccc03 bubblewrap-0.4.1.tar.xz + +# Hash for license files: +sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/bubblewrap/bubblewrap.mk b/package/bubblewrap/bubblewrap.mk new file mode 100644 index 0000000000..388f64880e --- /dev/null +++ b/package/bubblewrap/bubblewrap.mk @@ -0,0 +1,40 @@ +################################################################################ +# +# bubblewrap +# +################################################################################ + +BUBBLEWRAP_VERSION = 0.4.1 +BUBBLEWRAP_SITE = https://github.com/containers/bubblewrap/releases/download/v$(BUBBLEWRAP_VERSION) +BUBBLEWRAP_SOURCE = bubblewrap-$(BUBBLEWRAP_VERSION).tar.xz +BUBBLEWRAP_DEPENDENCIES = host-pkgconf libcap + +BUBBLEWRAP_LICENSE = LGPL-2.0+ +BUBBLEWRAP_LICENSE_FILES = COPYING + +BUBBLEWRAP_CONF_OPTS = \ + --enable-require-userns=no \ + --disable-man \ + --disable-sudo \ + --with-priv-mode=none + +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +BUBBLEWRAP_CONF_OPTS += --with-bash-completion-dir=/usr/share/bash-completion/completions +else +BUBBLEWRAP_CONF_OPTS += --without-bash-completion-dir +endif + +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +BUBBLEWRAP_CONF_OPTS += --enable-selinux +BUBBLEWRAP_DEPENDENCIES += libselinux +else +BUBBLEWRAP_CONF_OPTS += --disable-selinux +endif + +# We need to mark bwrap as setuid, in case the kernel +# has user namespaces disabled for non-root users. +define BUBBLEWRAP_PERMISSIONS + /usr/bin/bwrap f 1755 0 0 - - - - - +endef + +$(eval $(autotools-package)) diff --git a/package/bullet/Config.in b/package/bullet/Config.in index d4d69d2c9e..fc285ab33a 100644 --- a/package/bullet/Config.in +++ b/package/bullet/Config.in @@ -1,9 +1,6 @@ config BR2_PACKAGE_BULLET bool "bullet" depends on BR2_INSTALL_LIBSTDCPP - # Affected by - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68476 - depends on !BR2_microblaze help Bullet is a Collision Detection and Rigid Body Dynamics Library. @@ -12,4 +9,3 @@ config BR2_PACKAGE_BULLET comment "bullet needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP - depends on !BR2_microblaze diff --git a/package/bullet/bullet.hash b/package/bullet/bullet.hash index c6a45c2ac3..9da8c733d0 100644 --- a/package/bullet/bullet.hash +++ b/package/bullet/bullet.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 c058b2e4321ba6adaa656976c1a138c07b18fc03b29f5b82880d5d8228fbf059 bullet-2.86.1.tar.gz +sha256 621b36e91c0371933f3c2156db22c083383164881d2a6b84636759dc4cbb0bb8 bullet-2.89.tar.gz +sha256 885cd516a8420acb7c3e0b1a7119913b686495001ae564e3229740460e8cff59 LICENSE.txt diff --git a/package/bullet/bullet.mk b/package/bullet/bullet.mk index 3e8fae3a06..b25fc5d219 100644 --- a/package/bullet/bullet.mk +++ b/package/bullet/bullet.mk @@ -4,7 +4,7 @@ # ################################################################################ -BULLET_VERSION = 2.86.1 +BULLET_VERSION = 2.89 BULLET_SITE = $(call github,bulletphysics,bullet3,$(BULLET_VERSION)) BULLET_INSTALL_STAGING = YES BULLET_LICENSE = Zlib @@ -16,4 +16,19 @@ BULLET_CONF_OPTS = -DBUILD_UNIT_TESTS=OFF \ -DBUILD_BULLET2_DEMOS=OFF \ -DBUILD_BULLET3=OFF +# extras needs dlfcn.h and NPTL (pthread_barrier_init) +ifeq ($(BR2_STATIC_LIBS):$(BR2_TOOLCHAIN_HAS_THREADS_NPTL),:y) +BULLET_CONF_OPTS += -DBUILD_EXTRAS=ON +else +BULLET_CONF_OPTS += -DBUILD_EXTRAS=OFF +endif + +BULLET_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +BULLET_CXXFLAGS += -O0 +endif + +BULLET_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(BULLET_CXXFLAGS)" + $(eval $(cmake-package)) diff --git a/package/bustle/Config.in b/package/bustle/Config.in index 109ebdeed8..c9d38d0d31 100644 --- a/package/bustle/Config.in +++ b/package/bustle/Config.in @@ -18,7 +18,7 @@ config BR2_PACKAGE_BUSTLE This only installs the command line bustle-pcap tool, not the graphical viewer. - http://www.willthompson.co.uk/bustle/ + https://gitlab.freedesktop.org/bustle/bustle/ comment "bustle needs a toolchain w/ wchar, threads" depends on BR2_USE_MMU diff --git a/package/bustle/bustle.hash b/package/bustle/bustle.hash index 49890f74ff..05281c4f11 100644 --- a/package/bustle/bustle.hash +++ b/package/bustle/bustle.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 921c2cbbb957dcb02c3aa8fd1eeff3534cb437fa9eeca1c25206ad1e741a3f14 bustle-0.5.4.tar.gz +sha256 7760a695b25cb264e7342f353dcdc6d2b7faeacdcd85dd14e03c61b18e791664 bustle-0.7.5.tar.gz +sha256 a6d6109e5b086de8e852e451b91b08b323302f55b6975d506c64c43bb094be38 LICENSE diff --git a/package/bustle/bustle.mk b/package/bustle/bustle.mk index ffbfbe40f7..675ffb0529 100644 --- a/package/bustle/bustle.mk +++ b/package/bustle/bustle.mk @@ -4,8 +4,8 @@ # ################################################################################ -BUSTLE_VERSION = 0.5.4 -BUSTLE_SITE = http://www.willthompson.co.uk/bustle/releases/$(BUSTLE_VERSION) +BUSTLE_VERSION = 0.7.5 +BUSTLE_SITE = https://www.freedesktop.org/software/bustle/$(BUSTLE_VERSION) BUSTLE_LICENSE = LGPL-2.1+ BUSTLE_LICENSE_FILES = LICENSE BUSTLE_DEPENDENCIES = libglib2 libpcap host-pkgconf diff --git a/package/busybox/0003-date-Use-64-prefix-syscall-if-we-have-to.patch b/package/busybox/0003-date-Use-64-prefix-syscall-if-we-have-to.patch new file mode 100644 index 0000000000..2b89584f00 --- /dev/null +++ b/package/busybox/0003-date-Use-64-prefix-syscall-if-we-have-to.patch @@ -0,0 +1,61 @@ +From 29ba834ed7d968de0460f7fd87156d43d8120d8f Mon Sep 17 00:00:00 2001 +From: Alistair Francis +Date: Wed, 18 Sep 2019 09:28:49 -0700 +Subject: [PATCH] date: Use 64 prefix syscall if we have to + +Some 32-bit architectures no longer have the 32-bit time_t syscalls. +Instead they have suffixed syscalls that returns a 64-bit time_t. If +the architecture doesn't have the non-suffixed syscall and is using a +64-bit time_t let's use the suffixed syscall instead. + +This fixes build issues when building for RISC-V 32-bit with 5.1+ kernel +headers. + +If an architecture only supports the suffixed syscalls, but is still +using a 32-bit time_t fall back to the libc call. + +Signed-off-by: Alistair Francis +Signed-off-by: Denys Vlasenko + +(cherry picked from commit b7b7452f292f03eefafa6fd1da9bcfc933dee15a) + +Signed-off-by: Carlos Santos +--- + coreutils/date.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/coreutils/date.c b/coreutils/date.c +index 3414d38ae..1e0a675ca 100644 +--- a/coreutils/date.c ++++ b/coreutils/date.c +@@ -36,7 +36,7 @@ + //config:# defaults to "no": stat's nanosecond field is a bit non-portable + //config:config FEATURE_DATE_NANO + //config: bool "Support %[num]N nanosecond format specifier" +-//config: default n # syscall(__NR_clock_gettime) ++//config: default n # syscall(__NR_clock_gettime) or syscall(__NR_clock_gettime64) + //config: depends on DATE + //config: select PLATFORM_LINUX + //config: help +@@ -271,10 +271,17 @@ int date_main(int argc UNUSED_PARAM, char **argv) + */ + #endif + } else { +-#if ENABLE_FEATURE_DATE_NANO ++#if ENABLE_FEATURE_DATE_NANO && defined(__NR_clock_gettime) + /* libc has incredibly messy way of doing this, + * typically requiring -lrt. We just skip all this mess */ + syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts); ++#elif ENABLE_FEATURE_DATE_NANO && __TIMESIZE == 64 ++ /* Let's only support the 64 suffix syscalls for 64-bit time_t. ++ * This simplifies the code for us as we don't need to convert ++ * between 64-bit and 32-bit. We also don't have a way to ++ * report overflow errors here. ++ */ ++ syscall(__NR_clock_gettime64, CLOCK_REALTIME, &ts); + #else + time(&ts.tv_sec); + #endif +-- +2.18.2 + diff --git a/package/busybox/0003-install.sh-don-t-clobber-dangling-symlinks.patch b/package/busybox/0003-install.sh-don-t-clobber-dangling-symlinks.patch deleted file mode 100644 index b6fb5b9236..0000000000 --- a/package/busybox/0003-install.sh-don-t-clobber-dangling-symlinks.patch +++ /dev/null @@ -1,38 +0,0 @@ -From c9f1a877f1b9e2602913600d769edb17ee41d15d Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 17 Jul 2018 13:18:09 +0300 -Subject: [PATCH] install.sh: don't clobber dangling symlinks - -Symlinks in a subdirectory that is to become target rootfs are sometimes -dangling because they link to canonical file names that are not present -on the host, but are present relative to the target rootfs root. Don't -copy over dangling symlinks when noclobber is enabled - -The -e test treats dangling symlinks as non-existent files. Add -h test -that returns true for all symlinks. - -Cc: Yann E. MORIN -Signed-off-by: Baruch Siach ---- -Upstream status: -http://lists.busybox.net/pipermail/busybox/2018-July/086555.html - - applets/install.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/applets/install.sh b/applets/install.sh -index 9aede0f530e2..415896893e86 100755 ---- a/applets/install.sh -+++ b/applets/install.sh -@@ -83,7 +83,7 @@ install -m 755 busybox "$prefix/bin/busybox" || exit 1 - for i in $h; do - appdir=`dirname "$i"` - app=`basename "$i"` -- if [ x"$noclobber" = x"1" ] && [ -e "$prefix/$i" ]; then -+ if [ x"$noclobber" = x"1" ] && ([ -e "$prefix/$i" ] || [ -h "$prefix/$i" ]); then - echo " $prefix/$i already exists" - continue - fi --- -2.18.0 - diff --git a/package/busybox/0004-time-Use-64-prefix-syscall-if-we-have-to.patch b/package/busybox/0004-time-Use-64-prefix-syscall-if-we-have-to.patch new file mode 100644 index 0000000000..4481a82bac --- /dev/null +++ b/package/busybox/0004-time-Use-64-prefix-syscall-if-we-have-to.patch @@ -0,0 +1,50 @@ +From 88732c5593e16ef6177f6e6110132ed69b06d2eb Mon Sep 17 00:00:00 2001 +From: Alistair Francis +Date: Wed, 18 Sep 2019 09:28:50 -0700 +Subject: [PATCH] time: Use 64 prefix syscall if we have to + +Some 32-bit architectures no longer have the 32-bit time_t syscalls. +Instead they have suffixed syscalls that returns a 64-bit time_t. If +the architecture doesn't have the non-suffixed syscall and is using a +64-bit time_t let's use the suffixed syscall instead. + +This fixes build issues when building for RISC-V 32-bit with 5.1+ kernel +headers. + +If an architecture only supports the suffixed syscalls, but is still +using a 32-bit time_t report a compilation error. This avoids us have to +deal with converting between 64-bit and 32-bit values. There are +currently no architectures where this is the case. + +Signed-off-by: Alistair Francis +Signed-off-by: Denys Vlasenko + +(cherry picked from commit 902d3992922fc8db8495d5fb30a4581711b60c62) + +Signed-off-by: Carlos Santos +--- + libbb/time.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/libbb/time.c b/libbb/time.c +index f9b8da0b3..821f9a24b 100644 +--- a/libbb/time.c ++++ b/libbb/time.c +@@ -257,7 +257,14 @@ char* FAST_FUNC strftime_YYYYMMDDHHMMSS(char *buf, unsigned len, time_t *tp) + * typically requiring -lrt. We just skip all this mess */ + static void get_mono(struct timespec *ts) + { ++#if defined(__NR_clock_gettime) + if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts)) ++#elif __TIMESIZE == 64 ++ if (syscall(__NR_clock_gettime64, CLOCK_MONOTONIC, ts)) ++#else ++# error "We currently don't support architectures without " \ ++ "the __NR_clock_gettime syscall and 32-bit time_t" ++#endif + bb_error_msg_and_die("clock_gettime(MONOTONIC) failed"); + } + unsigned long long FAST_FUNC monotonic_ns(void) +-- +2.18.2 + 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 deleted file mode 100644 index b40979e359..0000000000 --- a/package/busybox/0004-udhcpc-check-that-4-byte-options-are-indeed-4-byte-closes-11506.patch +++ /dev/null @@ -1,137 +0,0 @@ -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-runsv-Use-64-prefix-syscall-if-we-have-to.patch b/package/busybox/0005-runsv-Use-64-prefix-syscall-if-we-have-to.patch new file mode 100644 index 0000000000..0d25a6e72e --- /dev/null +++ b/package/busybox/0005-runsv-Use-64-prefix-syscall-if-we-have-to.patch @@ -0,0 +1,50 @@ +From 8f4b588eb9737c2c0d1b199c7e609d880e0858a8 Mon Sep 17 00:00:00 2001 +From: Alistair Francis +Date: Wed, 18 Sep 2019 09:28:51 -0700 +Subject: [PATCH] runsv: Use 64 prefix syscall if we have to + +Some 32-bit architectures no longer have the 32-bit time_t syscalls. +Instead they have suffixed syscalls that returns a 64-bit time_t. If +the architecture doesn't have the non-suffixed syscall and is using a +64-bit time_t let's use the suffixed syscall instead. + +This fixes build issues when building for RISC-V 32-bit with 5.1+ kernel +headers. + +If an architecture only supports the suffixed syscalls, but is still +using a 32-bit time_t report a compilation error. This avoids us have to +deal with converting between 64-bit and 32-bit values. There are +currently no architectures where this is the case. + +Signed-off-by: Alistair Francis +Signed-off-by: Denys Vlasenko + +(cherry picked from commit ad27d44ebe950335616f37e36863469dc181b455) + +Signed-off-by: Carlos Santos +--- + runit/runsv.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/runit/runsv.c b/runit/runsv.c +index ccc762d78..737909b0e 100644 +--- a/runit/runsv.c ++++ b/runit/runsv.c +@@ -55,7 +55,14 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * typically requiring -lrt. We just skip all this mess */ + static void gettimeofday_ns(struct timespec *ts) + { ++#if defined(__NR_clock_gettime) + syscall(__NR_clock_gettime, CLOCK_REALTIME, ts); ++#elif __TIMESIZE == 64 ++ syscall(__NR_clock_gettime64, CLOCK_REALTIME, ts); ++#else ++# error "We currently don't support architectures without " \ ++ "the __NR_clock_gettime syscall and 32-bit time_t" ++#endif + } + #else + static void gettimeofday_ns(struct timespec *ts) +-- +2.18.2 + 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 deleted file mode 100644 index 05939db4ab..0000000000 --- a/package/busybox/0005-udhcpc-when-decoding-DHCP_SUBNET-ensure-it-is-4-bytes-long.patch +++ /dev/null @@ -1,58 +0,0 @@ -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/0006-Remove-syscall-wrappers-around-clock_gettime-closes-.patch b/package/busybox/0006-Remove-syscall-wrappers-around-clock_gettime-closes-.patch new file mode 100644 index 0000000000..9d95d683f3 --- /dev/null +++ b/package/busybox/0006-Remove-syscall-wrappers-around-clock_gettime-closes-.patch @@ -0,0 +1,134 @@ +From 07375fc6fd5912f34a36a097dc679f6e0af23f8a Mon Sep 17 00:00:00 2001 +From: Denys Vlasenko +Date: Thu, 24 Oct 2019 16:26:55 +0200 +Subject: [PATCH] Remove syscall wrappers around clock_gettime, closes 12091 + +12091 "Direct use of __NR_clock_gettime is not time64-safe". + +function old new delta +runsv_main 1698 1712 +14 +startservice 378 383 +5 +get_mono 31 25 -6 +date_main 932 926 -6 +gettimeofday_ns 17 - -17 +------------------------------------------------------------------------------ +(add/remove: 0/1 grow/shrink: 2/2 up/down: 19/-29) Total: -10 bytes + +Signed-off-by: Denys Vlasenko + +(cherry picked from commit be5a505d771a77c640acc35ceaa470c80e62f954) + +Signed-off-by: Carlos Santos +--- + Makefile.flags | 6 ++++-- + coreutils/date.c | 16 +++------------- + libbb/time.c | 11 +---------- + runit/runsv.c | 11 +---------- + 4 files changed, 9 insertions(+), 35 deletions(-) + +diff --git a/Makefile.flags b/Makefile.flags +index 6f6142cc5..bea464753 100644 +--- a/Makefile.flags ++++ b/Makefile.flags +@@ -129,10 +129,12 @@ endif + # fall back to using a temp file: + CRYPT_AVAILABLE := $(shell echo 'int main(void){return 0;}' >crypttest.c; $(CC) $(CFLAGS) -lcrypt -o /dev/null crypttest.c >/dev/null 2>&1 && echo "y"; rm crypttest.c) + ifeq ($(CRYPT_AVAILABLE),y) +-LDLIBS += m crypt ++LDLIBS += m rt crypt + else +-LDLIBS += m ++LDLIBS += m rt + endif ++# libm may be needed for dc, awk, ntpd ++# librt may be needed for clock_gettime() + + # libpam may use libpthread, libdl and/or libaudit. + # On some platforms that requires an explicit -lpthread, -ldl, -laudit. +diff --git a/coreutils/date.c b/coreutils/date.c +index 1e0a675ca..e479c23a2 100644 +--- a/coreutils/date.c ++++ b/coreutils/date.c +@@ -33,10 +33,9 @@ + //config: Enable option (-I) to output an ISO-8601 compliant + //config: date/time string. + //config: +-//config:# defaults to "no": stat's nanosecond field is a bit non-portable + //config:config FEATURE_DATE_NANO + //config: bool "Support %[num]N nanosecond format specifier" +-//config: default n # syscall(__NR_clock_gettime) or syscall(__NR_clock_gettime64) ++//config: default n # stat's nanosecond field is a bit non-portable + //config: depends on DATE + //config: select PLATFORM_LINUX + //config: help +@@ -271,17 +270,8 @@ int date_main(int argc UNUSED_PARAM, char **argv) + */ + #endif + } else { +-#if ENABLE_FEATURE_DATE_NANO && defined(__NR_clock_gettime) +- /* libc has incredibly messy way of doing this, +- * typically requiring -lrt. We just skip all this mess */ +- syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts); +-#elif ENABLE_FEATURE_DATE_NANO && __TIMESIZE == 64 +- /* Let's only support the 64 suffix syscalls for 64-bit time_t. +- * This simplifies the code for us as we don't need to convert +- * between 64-bit and 32-bit. We also don't have a way to +- * report overflow errors here. +- */ +- syscall(__NR_clock_gettime64, CLOCK_REALTIME, &ts); ++#if ENABLE_FEATURE_DATE_NANO ++ clock_gettime(CLOCK_REALTIME, &ts); + #else + time(&ts.tv_sec); + #endif +diff --git a/libbb/time.c b/libbb/time.c +index 821f9a24b..1077bfa4f 100644 +--- a/libbb/time.c ++++ b/libbb/time.c +@@ -253,18 +253,9 @@ char* FAST_FUNC strftime_YYYYMMDDHHMMSS(char *buf, unsigned len, time_t *tp) + #define CLOCK_MONOTONIC 1 + #endif + +-/* libc has incredibly messy way of doing this, +- * typically requiring -lrt. We just skip all this mess */ + static void get_mono(struct timespec *ts) + { +-#if defined(__NR_clock_gettime) +- if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts)) +-#elif __TIMESIZE == 64 +- if (syscall(__NR_clock_gettime64, CLOCK_MONOTONIC, ts)) +-#else +-# error "We currently don't support architectures without " \ +- "the __NR_clock_gettime syscall and 32-bit time_t" +-#endif ++ if (clock_gettime(CLOCK_MONOTONIC, ts)) + bb_error_msg_and_die("clock_gettime(MONOTONIC) failed"); + } + unsigned long long FAST_FUNC monotonic_ns(void) +diff --git a/runit/runsv.c b/runit/runsv.c +index 737909b0e..36d85101e 100644 +--- a/runit/runsv.c ++++ b/runit/runsv.c +@@ -51,18 +51,9 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #if ENABLE_MONOTONIC_SYSCALL + #include + +-/* libc has incredibly messy way of doing this, +- * typically requiring -lrt. We just skip all this mess */ + static void gettimeofday_ns(struct timespec *ts) + { +-#if defined(__NR_clock_gettime) +- syscall(__NR_clock_gettime, CLOCK_REALTIME, ts); +-#elif __TIMESIZE == 64 +- syscall(__NR_clock_gettime64, CLOCK_REALTIME, ts); +-#else +-# error "We currently don't support architectures without " \ +- "the __NR_clock_gettime syscall and 32-bit time_t" +-#endif ++ clock_gettime(CLOCK_REALTIME, ts); + } + #else + static void gettimeofday_ns(struct timespec *ts) +-- +2.18.2 + diff --git a/package/busybox/0007-Remove-stime-function-calls.patch b/package/busybox/0007-Remove-stime-function-calls.patch new file mode 100644 index 0000000000..58e1ced3de --- /dev/null +++ b/package/busybox/0007-Remove-stime-function-calls.patch @@ -0,0 +1,97 @@ +From 59102e499ac25c4311246d2b9417b3e5830cf851 Mon Sep 17 00:00:00 2001 +From: Alistair Francis +Date: Tue, 19 Nov 2019 13:06:40 +0100 +Subject: [PATCH] Remove stime() function calls + +stime() has been deprecated in glibc 2.31 and replaced with +clock_settime(). Let's replace the stime() function calls with +clock_settime() in preperation. + +function old new delta +rdate_main 197 224 +27 +clock_settime - 27 +27 +date_main 926 941 +15 +stime 37 - -37 +------------------------------------------------------------------------------ +(add/remove: 2/2 grow/shrink: 2/0 up/down: 69/-37) Total: 32 bytes + +Signed-off-by: Alistair Francis +Signed-off-by: Denys Vlasenko + +(cherry picked from commit d3539be8f27b8cbfdfee460fe08299158f08bcd9) + +Signed-off-by: Carlos Santos +--- + coreutils/date.c | 6 +++++- + libbb/missing_syscalls.c | 8 -------- + util-linux/rdate.c | 8 ++++++-- + 3 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/coreutils/date.c b/coreutils/date.c +index e479c23a2..77a7d1368 100644 +--- a/coreutils/date.c ++++ b/coreutils/date.c +@@ -276,6 +276,9 @@ int date_main(int argc UNUSED_PARAM, char **argv) + time(&ts.tv_sec); + #endif + } ++#if !ENABLE_FEATURE_DATE_NANO ++ ts.tv_nsec = 0; ++#endif + localtime_r(&ts.tv_sec, &tm_time); + + /* If date string is given, update tm_time, and maybe set date */ +@@ -298,9 +301,10 @@ int date_main(int argc UNUSED_PARAM, char **argv) + if (date_str[0] != '@') + tm_time.tm_isdst = -1; + ts.tv_sec = validate_tm_time(date_str, &tm_time); ++ ts.tv_nsec = 0; + + /* if setting time, set it */ +- if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) { ++ if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) { + bb_perror_msg("can't set date"); + } + } +diff --git a/libbb/missing_syscalls.c b/libbb/missing_syscalls.c +index 87cf59b3d..dc40d9155 100644 +--- a/libbb/missing_syscalls.c ++++ b/libbb/missing_syscalls.c +@@ -15,14 +15,6 @@ pid_t getsid(pid_t pid) + return syscall(__NR_getsid, pid); + } + +-int stime(const time_t *t) +-{ +- struct timeval tv; +- tv.tv_sec = *t; +- tv.tv_usec = 0; +- return settimeofday(&tv, NULL); +-} +- + int sethostname(const char *name, size_t len) + { + return syscall(__NR_sethostname, name, len); +diff --git a/util-linux/rdate.c b/util-linux/rdate.c +index 70f829e7f..878375d78 100644 +--- a/util-linux/rdate.c ++++ b/util-linux/rdate.c +@@ -95,9 +95,13 @@ int rdate_main(int argc UNUSED_PARAM, char **argv) + if (!(flags & 2)) { /* no -p (-s may be present) */ + if (time(NULL) == remote_time) + bb_error_msg("current time matches remote time"); +- else +- if (stime(&remote_time) < 0) ++ else { ++ struct timespec ts; ++ ts.tv_sec = remote_time; ++ ts.tv_nsec = 0; ++ if (clock_settime(CLOCK_REALTIME, &ts) < 0) + bb_perror_msg_and_die("can't set time of day"); ++ } + } + + if (flags != 1) /* not lone -s */ +-- +2.18.2 + diff --git a/package/busybox/Config.in b/package/busybox/Config.in index e5c5f89a4d..5e5c586762 100644 --- a/package/busybox/Config.in +++ b/package/busybox/Config.in @@ -38,11 +38,9 @@ config BR2_PACKAGE_BUSYBOX_SHOW_OTHERS config BR2_PACKAGE_BUSYBOX_SELINUX bool "Enable SELinux support" - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_USES_GLIBC - depends on !BR2_arc - select BR2_PACKAGE_LIBSELINUX + default y + depends on BR2_PACKAGE_LIBSELINUX + select BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES help Enable SELinux support in BusyBox. Please note that depending on your BusyBox configuration and the SELinux diff --git a/package/busybox/S02sysctl b/package/busybox/S02sysctl new file mode 120000 index 0000000000..796855c332 --- /dev/null +++ b/package/busybox/S02sysctl @@ -0,0 +1 @@ +../procps-ng/S02sysctl \ No newline at end of file diff --git a/package/busybox/S10mdev b/package/busybox/S10mdev index 7075b77016..3c6f47c18c 100644 --- a/package/busybox/S10mdev +++ b/package/busybox/S10mdev @@ -1,20 +1,38 @@ #!/bin/sh # -# Start mdev.... +# Run the mdev daemon # -case "$1" in - start) - echo "Starting mdev..." - echo /sbin/mdev >/proc/sys/kernel/hotplug - /sbin/mdev -s +DAEMON="mdev" +PIDFILE="/var/run/$DAEMON.pid" + + +start() { + echo -n "Starting $DAEMON... " + start-stop-daemon -S -b -m -p $PIDFILE -x /sbin/mdev -- -df + [ $? -eq 0 ] && echo "OK" || echo "ERROR" + # coldplug modules - find /sys/ -name modalias -print0 | xargs -0 sort -u | tr '\n' '\0' | \ - xargs -0 modprobe -abq - ;; - stop) - ;; - restart|reload) + find /sys/ -name modalias -print0 | \ + xargs -0 sort -u | \ + tr '\n' '\0' | \ + xargs -0 modprobe -abq +} + +stop() { + echo -n "Stopping $DAEMON... " + start-stop-daemon -K -p $PIDFILE + [ $? -eq 0 ] && echo "OK" || echo "ERROR" +} + +restart() { + stop + start +} + +case "$1" in + start|stop|restart) + "$1" ;; *) echo "Usage: $0 {start|stop|restart}" diff --git a/package/busybox/busybox.config b/package/busybox/busybox.config index 1d9560d655..1ea810e5be 100644 --- a/package/busybox/busybox.config +++ b/package/busybox/busybox.config @@ -628,6 +628,7 @@ CONFIG_FEATURE_MDEV_RENAME=y # CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set CONFIG_FEATURE_MDEV_EXEC=y # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +CONFIG_FEATURE_MDEV_DAEMON=y CONFIG_MESG=y CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y CONFIG_MKE2FS=y @@ -967,9 +968,9 @@ CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" # CONFIG_FEATURE_UDHCP_PORT is not set CONFIG_UDHCP_DEBUG=0 CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 -# CONFIG_FEATURE_UDHCP_RFC3397 is not set +CONFIG_FEATURE_UDHCP_RFC3397=y CONFIG_FEATURE_UDHCP_8021Q=y -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n -O search" # # Print Utilities diff --git a/package/busybox/busybox.hash b/package/busybox/busybox.hash index b12bc21293..e5b05ae731 100644 --- a/package/busybox/busybox.hash +++ b/package/busybox/busybox.hash @@ -1,3 +1,4 @@ -# From https://busybox.net/downloads/busybox-1.29.3.tar.bz2.sha256 -sha256 97648636e579462296478e0218e65e4bc1e9cd69089a3b1aeb810bff7621efb7 busybox-1.29.3.tar.bz2 +# From https://busybox.net/downloads/busybox-1.31.1.tar.bz2.sha256 +sha256 d0f940a72f648943c1f2211e0e3117387c31d765137d92bd8284a3fb9752a998 busybox-1.31.1.tar.bz2 +# Locally computed sha256 bbfc9843646d483c334664f651c208b9839626891d8f17604db2146962f43548 LICENSE diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 5c5a8ea839..24f3ba3b19 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -4,7 +4,7 @@ # ################################################################################ -BUSYBOX_VERSION = 1.29.3 +BUSYBOX_VERSION = 1.31.1 BUSYBOX_SITE = http://www.busybox.net/downloads BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2 BUSYBOX_LICENSE = GPL-2.0 @@ -32,6 +32,7 @@ BUSYBOX_DEPENDENCIES = \ $(if $(BR2_PACKAGE_DEBIANUTILS),debianutils) \ $(if $(BR2_PACKAGE_DIFFUTILS),diffutils) \ $(if $(BR2_PACKAGE_DOS2UNIX),dos2unix) \ + $(if $(BR2_PACKAGE_DOSFSTOOLS),dosfstools) \ $(if $(BR2_PACKAGE_E2FSPROGS),e2fsprogs) \ $(if $(BR2_PACKAGE_FBSET),fbset) \ $(if $(BR2_PACKAGE_GAWK),gawk) \ @@ -79,7 +80,6 @@ BUSYBOX_CFLAGS += "`$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc`" BUSYBOX_CFLAGS_busybox += "`$(PKG_CONFIG_HOST_BINARY) --libs libtirpc`" endif -BUSYBOX_BUILD_CONFIG = $(BUSYBOX_DIR)/.config # Allows the build system to tweak CFLAGS BUSYBOX_MAKE_ENV = \ $(TARGET_MAKE_ENV) \ @@ -147,53 +147,53 @@ define BUSYBOX_INSTALL_MDEV_CONF $(TARGET_DIR)/etc/mdev.conf endef define BUSYBOX_SET_MDEV - $(call KCONFIG_ENABLE_OPT,CONFIG_MDEV,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MDEV_CONF,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MDEV_EXEC,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MDEV_LOAD_FIRMWARE,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_ENABLE_OPT,CONFIG_MDEV) + $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MDEV_CONF) + $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MDEV_EXEC) + $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MDEV_LOAD_FIRMWARE) endef endif # sha passwords need USE_BB_CRYPT_SHA ifeq ($(BR2_TARGET_GENERIC_PASSWD_SHA256)$(BR2_TARGET_GENERIC_PASSWD_SHA512),y) define BUSYBOX_SET_CRYPT_SHA - $(call KCONFIG_ENABLE_OPT,CONFIG_USE_BB_CRYPT_SHA,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_ENABLE_OPT,CONFIG_USE_BB_CRYPT_SHA) endef endif ifeq ($(BR2_USE_MMU),y) define BUSYBOX_SET_MMU - $(call KCONFIG_DISABLE_OPT,CONFIG_NOMMU,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_DISABLE_OPT,CONFIG_NOMMU) endef else define BUSYBOX_SET_MMU - $(call KCONFIG_ENABLE_OPT,CONFIG_NOMMU,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_DISABLE_OPT,CONFIG_SWAPON,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_DISABLE_OPT,CONFIG_SWAPOFF,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_DISABLE_OPT,CONFIG_ASH,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_BASH_COMPAT,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_BRACE_EXPANSION,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_HELP,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_INTERACTIVE,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_SAVEHISTORY,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_JOB,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_TICK,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_IF,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_LOOPS,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_CASE,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_FUNCTIONS,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_LOCAL,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_RANDOM_SUPPORT,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_EXPORT_N,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_MODE_X,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_ENABLE_OPT,CONFIG_NOMMU) + $(call KCONFIG_DISABLE_OPT,CONFIG_SWAPON) + $(call KCONFIG_DISABLE_OPT,CONFIG_SWAPOFF) + $(call KCONFIG_DISABLE_OPT,CONFIG_ASH) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_BASH_COMPAT) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_BRACE_EXPANSION) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_HELP) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_INTERACTIVE) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_SAVEHISTORY) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_JOB) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_TICK) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_IF) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_LOOPS) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_CASE) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_FUNCTIONS) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_LOCAL) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_RANDOM_SUPPORT) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_EXPORT_N) + $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH_MODE_X) endef endif # If we're using static libs do the same for busybox ifeq ($(BR2_STATIC_LIBS),y) define BUSYBOX_PREFER_STATIC - $(call KCONFIG_ENABLE_OPT,CONFIG_STATIC,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_ENABLE_OPT,CONFIG_STATIC) endef endif @@ -209,7 +209,7 @@ endef ifeq ($(BR2_INIT_BUSYBOX),y) define BUSYBOX_SET_INIT - $(call KCONFIG_ENABLE_OPT,CONFIG_INIT,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_ENABLE_OPT,CONFIG_INIT) endef ifeq ($(BR2_TARGET_GENERIC_GETTY),y) @@ -217,8 +217,12 @@ define BUSYBOX_SET_GETTY $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(SYSTEM_GETTY_PORT)::respawn:/sbin/getty -L $(SYSTEM_GETTY_OPTIONS) $(SYSTEM_GETTY_PORT) $(SYSTEM_GETTY_BAUDRATE) $(SYSTEM_GETTY_TERM) #~' \ $(TARGET_DIR)/etc/inittab endef -BUSYBOX_TARGET_FINALIZE_HOOKS += BUSYBOX_SET_GETTY +else +define BUSYBOX_SET_GETTY + $(SED) '/# GENERIC_SERIAL$$/s~^.*#~#ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100 #~' $(TARGET_DIR)/etc/inittab +endef endif # BR2_TARGET_GENERIC_GETTY +BUSYBOX_TARGET_FINALIZE_HOOKS += BUSYBOX_SET_GETTY BUSYBOX_TARGET_FINALIZE_HOOKS += SYSTEM_REMOUNT_ROOT_INITTAB @@ -227,15 +231,15 @@ endif # BR2_INIT_BUSYBOX ifeq ($(BR2_PACKAGE_BUSYBOX_SELINUX),y) BUSYBOX_DEPENDENCIES += host-pkgconf libselinux libsepol define BUSYBOX_SET_SELINUX - $(call KCONFIG_ENABLE_OPT,CONFIG_SELINUX,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_SELINUXENABLED,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_ENABLE_OPT,CONFIG_SELINUX) + $(call KCONFIG_ENABLE_OPT,CONFIG_SELINUXENABLED) endef endif ifeq ($(BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES),y) define BUSYBOX_SET_INDIVIDUAL_BINARIES - $(call KCONFIG_ENABLE_OPT,CONFIG_BUILD_LIBBUSYBOX,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_INDIVIDUAL,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_ENABLE_OPT,CONFIG_BUILD_LIBBUSYBOX) + $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_INDIVIDUAL) endef define BUSYBOX_INSTALL_INDIVIDUAL_BINARIES @@ -259,15 +263,28 @@ define BUSYBOX_INSTALL_LOGGING_SCRIPT endef endif +# Only install our sysctl scripts if no other package does it. +ifeq ($(BR2_PACKAGE_PROCPS_NG),) +define BUSYBOX_INSTALL_SYSCTL_SCRIPT + if grep -q CONFIG_BB_SYSCTL=y $(@D)/.config; \ + then \ + $(INSTALL) -m 0755 -D package/busybox/S02sysctl \ + $(TARGET_DIR)/etc/init.d/S02sysctl ; \ + fi +endef +endif + ifeq ($(BR2_INIT_BUSYBOX),y) define BUSYBOX_INSTALL_INITTAB - $(INSTALL) -D -m 0644 package/busybox/inittab $(TARGET_DIR)/etc/inittab + if test ! -e $(TARGET_DIR)/etc/inittab; then \ + $(INSTALL) -D -m 0644 package/busybox/inittab $(TARGET_DIR)/etc/inittab; \ + fi endef endif ifeq ($(BR2_PACKAGE_BUSYBOX_WATCHDOG),y) define BUSYBOX_SET_WATCHDOG - $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG) endef define BUSYBOX_INSTALL_WATCHDOG_SCRIPT $(INSTALL) -D -m 0755 package/busybox/S15watchdog \ @@ -280,12 +297,12 @@ endif # PAM support requires thread support in the toolchain ifeq ($(BR2_PACKAGE_LINUX_PAM)$(BR2_TOOLCHAIN_HAS_THREADS),yy) define BUSYBOX_LINUX_PAM - $(call KCONFIG_ENABLE_OPT,CONFIG_PAM,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_ENABLE_OPT,CONFIG_PAM) endef BUSYBOX_DEPENDENCIES += linux-pam else define BUSYBOX_LINUX_PAM - $(call KCONFIG_DISABLE_OPT,CONFIG_PAM,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_DISABLE_OPT,CONFIG_PAM) endef endif @@ -300,11 +317,11 @@ endef # Add /bin/{a,hu}sh to /etc/shells otherwise some login tools like dropbear # can reject the user connection. See man shells. define BUSYBOX_INSTALL_ADD_TO_SHELLS - if grep -q CONFIG_ASH=y $(@D)/.config; then \ + if grep -q CONFIG_ASH=y $(BUSYBOX_DIR)/.config; then \ grep -qsE '^/bin/ash$$' $(TARGET_DIR)/etc/shells \ || echo "/bin/ash" >> $(TARGET_DIR)/etc/shells; \ fi - if grep -q CONFIG_HUSH=y $(@D)/.config; then \ + if grep -q CONFIG_HUSH=y $(BUSYBOX_DIR)/.config; then \ grep -qsE '^/bin/hush$$' $(TARGET_DIR)/etc/shells \ || echo "/bin/hush" >> $(TARGET_DIR)/etc/shells; \ fi @@ -331,17 +348,27 @@ define BUSYBOX_INSTALL_TARGET_CMDS # Use the 'noclobber' install rule, to prevent BusyBox from overwriting # any full-blown versions of apps installed by other packages. $(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D) install-noclobber + $(BUSYBOX_INSTALL_INDIVIDUAL_BINARIES) $(BUSYBOX_INSTALL_INITTAB) $(BUSYBOX_INSTALL_UDHCPC_SCRIPT) $(BUSYBOX_INSTALL_MDEV_CONF) endef +# Install the sysvinit scripts, for the moment, but not those that already +# have a corresponding one in openrc. +define BUSYBOX_INSTALL_INIT_OPENRC + $(BUSYBOX_INSTALL_MDEV_SCRIPT) + $(BUSYBOX_INSTALL_LOGGING_SCRIPT) + $(BUSYBOX_INSTALL_WATCHDOG_SCRIPT) + $(BUSYBOX_INSTALL_TELNET_SCRIPT) +endef + define BUSYBOX_INSTALL_INIT_SYSV $(BUSYBOX_INSTALL_MDEV_SCRIPT) $(BUSYBOX_INSTALL_LOGGING_SCRIPT) $(BUSYBOX_INSTALL_WATCHDOG_SCRIPT) + $(BUSYBOX_INSTALL_SYSCTL_SCRIPT) $(BUSYBOX_INSTALL_TELNET_SCRIPT) - $(BUSYBOX_INSTALL_INDIVIDUAL_BINARIES) endef # Checks to give errors that the user can understand diff --git a/package/busybox/udhcpc.script b/package/busybox/udhcpc.script index ad110d3a7f..711963f974 100755 --- a/package/busybox/udhcpc.script +++ b/package/busybox/udhcpc.script @@ -8,6 +8,26 @@ RESOLV_CONF="/etc/resolv.conf" [ -e $RESOLV_CONF ] || touch $RESOLV_CONF [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" [ -n "$subnet" ] && NETMASK="netmask $subnet" +# Handle stateful DHCPv6 like DHCPv4 +[ -n "$ipv6" ] && ip="$ipv6/128" + +if [ -z "${IF_WAIT_DELAY}" ]; then + IF_WAIT_DELAY=10 +fi + +wait_for_ipv6_default_route() { + printf "Waiting for IPv6 default route to appear" + while [ $IF_WAIT_DELAY -gt 0 ]; do + if [ -z "$(ip -6 route list | grep default)" ]; then + printf "\n" + return + fi + sleep 1 + printf "." + : $((IF_WAIT_DELAY -= 1)) + done + printf " timeout!\n" +} case "$1" in deconfig) @@ -37,6 +57,9 @@ case "$1" in /usr/sbin/avahi-autoipd -k $interface fi /sbin/ifconfig $interface $ip $BROADCAST $NETMASK + if [ -n "$ipv6" ] ; then + wait_for_ipv6_default_route + fi if [ -n "$router" ] ; then echo "deleting routers" @@ -56,7 +79,7 @@ case "$1" in cat $TMPFILE > $RESOLV_CONF rm -f $TMPFILE - # prefer rfc3359 domain search list (option 119) if available + # prefer rfc3397 domain search list (option 119) if available if [ -n "$search" ]; then search_list=$search elif [ -n "$domain" ]; then diff --git a/package/bwm-ng/bwm-ng.hash b/package/bwm-ng/bwm-ng.hash index 4c12b0d81a..4b66227676 100644 --- a/package/bwm-ng/bwm-ng.hash +++ b/package/bwm-ng/bwm-ng.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 4b34a8ac2eae2d204d6dea8258c5e34b37094259086f8c9169391409a9311fb5 bwm-ng-f54b3fad2c80bfe63f920c9b5e7c1d80389c57ef.tar.gz +sha256 906a2d561f2ec9e0dd68b7f51b302908e99515ea1216d0ecaf14d873ef54ae70 bwm-ng-0.6.2.tar.gz +sha256 8556cc15ba3c0a411bf7d94bac5870829fb725f294b450c724c1e0856a601556 COPYING diff --git a/package/bwm-ng/bwm-ng.mk b/package/bwm-ng/bwm-ng.mk index 587ffbea5b..4a34559e3c 100644 --- a/package/bwm-ng/bwm-ng.mk +++ b/package/bwm-ng/bwm-ng.mk @@ -4,10 +4,10 @@ # ################################################################################ -BWM_NG_VERSION = f54b3fad2c80bfe63f920c9b5e7c1d80389c57ef -BWM_NG_SITE = $(call github,vgropp,bwm-ng,$(BWM_NG_VERSION)) +BWM_NG_VERSION = 0.6.2 +BWM_NG_SITE = $(call github,vgropp,bwm-ng,v$(BWM_NG_VERSION)) BWM_NG_CONF_OPTS = --with-procnetdev --with-diskstats -BWM_NG_LICENSE = GPL-2.0 +BWM_NG_LICENSE = GPL-2.0+ BWM_NG_LICENSE_FILES = COPYING BWM_NG_AUTORECONF = YES diff --git a/package/bzip2/0002-improve-build-system.patch b/package/bzip2/0002-improve-build-system.patch index 90099aa288..2d6e2cf900 100644 --- a/package/bzip2/0002-improve-build-system.patch +++ b/package/bzip2/0002-improve-build-system.patch @@ -70,15 +70,15 @@ Index: b/Makefile-libbz2_so huffman.o \ @@ -37,8 +36,11 @@ all: $(OBJS) - $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS) - $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6 + $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS) + $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8 - rm -f libbz2.so.1.0 -- ln -s libbz2.so.1.0.6 libbz2.so.1.0 +- ln -s libbz2.so.1.0.8 libbz2.so.1.0 + +install: -+ install -m 0755 -D libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so.1.0.6 -+ ln -sf libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so -+ ln -sf libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so.1.0 ++ install -m 0755 -D libbz2.so.1.0.8 $(PREFIX)/lib/libbz2.so.1.0.8 ++ ln -sf libbz2.so.1.0.8 $(PREFIX)/lib/libbz2.so ++ ln -sf libbz2.so.1.0.8 $(PREFIX)/lib/libbz2.so.1.0 clean: - rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared + rm -f $(OBJS) bzip2.o libbz2.so.1.0.8 libbz2.so.1.0 bzip2-shared diff --git a/package/bzip2/Config.in b/package/bzip2/Config.in index ca447bbb2d..7db1902b60 100644 --- a/package/bzip2/Config.in +++ b/package/bzip2/Config.in @@ -5,3 +5,5 @@ config BR2_PACKAGE_BZIP2 It typically compresses files to within 10% to 15% of the best available techniques, while being around twice as fast at compression and six times faster at decompression. + + https://sourceware.org/bzip2/ diff --git a/package/bzip2/bzip2.hash b/package/bzip2/bzip2.hash index 60b0a191ef..cf66c402fc 100644 --- a/package/bzip2/bzip2.hash +++ b/package/bzip2/bzip2.hash @@ -1,2 +1,4 @@ -# From http://www.bzip.org/downloads.html -md5 00b516f4704d4a7cb50a1d97e6e8e15b bzip2-1.0.6.tar.gz +# From https://sourceware.org/pub/bzip2/sha512.sum +sha512 083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3 bzip2-1.0.8.tar.gz +# Locally calculated +sha256 c6dbbf828498be844a89eaa3b84adbab3199e342eb5cb2ed2f0d4ba7ec0f38a3 LICENSE diff --git a/package/bzip2/bzip2.mk b/package/bzip2/bzip2.mk index a3af322993..b4d8eea25e 100644 --- a/package/bzip2/bzip2.mk +++ b/package/bzip2/bzip2.mk @@ -4,8 +4,8 @@ # ################################################################################ -BZIP2_VERSION = 1.0.6 -BZIP2_SITE = http://sources.buildroot.net +BZIP2_VERSION = 1.0.8 +BZIP2_SITE = https://sourceware.org/pub/bzip2 BZIP2_INSTALL_STAGING = YES BZIP2_LICENSE = bzip2 license BZIP2_LICENSE_FILES = LICENSE diff --git a/package/c-ares/0001-use_check_build_instead_of_check_user.patch b/package/c-ares/0001-use_check_build_instead_of_check_user.patch deleted file mode 100644 index 8210ed673b..0000000000 --- a/package/c-ares/0001-use_check_build_instead_of_check_user.patch +++ /dev/null @@ -1,17 +0,0 @@ -Use XC_CHECK_BUILD_FLAGS instead of XC_CHECK_USER_FLAGS. -Otherwise it complains of CPPFLAGS in CFLAGS. - -Signed-off-by: Gustavo Zacarias - -diff -Nura c-ares-1.10.0.orig/m4/xc-cc-check.m4 c-ares-1.10.0/m4/xc-cc-check.m4 ---- c-ares-1.10.0.orig/m4/xc-cc-check.m4 2013-12-26 19:40:46.354195974 -0300 -+++ c-ares-1.10.0/m4/xc-cc-check.m4 2013-12-26 19:41:01.850718535 -0300 -@@ -59,7 +59,7 @@ - - AC_DEFUN([_XC_PROG_CC], [ - AC_REQUIRE([_XC_PROG_CC_PREAMBLE])dnl -- AC_REQUIRE([XC_CHECK_USER_FLAGS])dnl -+ AC_REQUIRE([XC_CHECK_BUILD_FLAGS])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AM_PROG_CC_C_O])dnl diff --git a/package/c-ares/c-ares.hash b/package/c-ares/c-ares.hash index a3599aaa11..04a87402e9 100644 --- a/package/c-ares/c-ares.hash +++ b/package/c-ares/c-ares.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 6cdb97871f2930530c97deb7cf5c8fa4be5a0b02c7cea6e7c7667672a39d6852 c-ares-1.15.0.tar.gz +sha256 d08312d0ecc3bd48eee0a4cc0d2137c9f194e0a28de2028928c0f6cae85f86ce c-ares-1.16.1.tar.gz # Hash for license file -sha256 db4eb63fe09daebdf57d3f79b091bb5ee5070c0d761040e83264e648d307af4c LICENSE.md +sha256 db4eb63fe09daebdf57d3f79b091bb5ee5070c0d761040e83264e648d307af4c LICENSE.md diff --git a/package/c-ares/c-ares.mk b/package/c-ares/c-ares.mk index f9e440d9b1..f07a7e566f 100644 --- a/package/c-ares/c-ares.mk +++ b/package/c-ares/c-ares.mk @@ -4,12 +4,10 @@ # ################################################################################ -C_ARES_VERSION = 1.15.0 +C_ARES_VERSION = 1.16.1 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 C_ARES_LICENSE_FILES = LICENSE.md diff --git a/package/c-capnproto/Config.in b/package/c-capnproto/Config.in new file mode 100644 index 0000000000..d1f3236af8 --- /dev/null +++ b/package/c-capnproto/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_C_CAPNPROTO + bool "c-capnproto" + depends on BR2_USE_MMU # capnproto + depends on BR2_HOST_GCC_AT_LEAST_5 # capnproto + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # capnproto + depends on BR2_INSTALL_LIBSTDCPP # capnproto + depends on BR2_TOOLCHAIN_HAS_THREADS # capnproto + depends on BR2_TOOLCHAIN_HAS_ATOMIC # capnproto + select BR2_PACKAGE_CAPNPROTO + help + A C plugin for Cap'n Proto. Generates the code generator + plugin for C. Requires regular Cap'n Proto and only + provides serialization (no RPC). + + https://github.com/opensourcerouting/c-capnproto + +comment "c-capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic" + depends on BR2_USE_MMU + depends on!BR2_HOST_GCC_AT_LEAST_5 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ + !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HAS_ATOMIC diff --git a/package/c-capnproto/c-capnproto.hash b/package/c-capnproto/c-capnproto.hash new file mode 100644 index 0000000000..75edaebf91 --- /dev/null +++ b/package/c-capnproto/c-capnproto.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 88c454f4f4bad87c9b60cd739c7da5605c1085c0e92b317dd72d547bbb804279 c-capnproto-9053ebe6eeb2ae762655b982e27c341cb568366d.tar.gz +sha256 27797e6c7dce96675d79ed250584d157b7a86405db6eb6fba9644e6d96d42c57 COPYING diff --git a/package/c-capnproto/c-capnproto.mk b/package/c-capnproto/c-capnproto.mk new file mode 100644 index 0000000000..c144a4becc --- /dev/null +++ b/package/c-capnproto/c-capnproto.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# c-capnproto +# +################################################################################ + +C_CAPNPROTO_VERSION = 9053ebe6eeb2ae762655b982e27c341cb568366d +C_CAPNPROTO_SITE = https://github.com/opensourcerouting/c-capnproto.git +C_CAPNPROTO_SITE_METHOD = git +C_CAPNPROTO_GIT_SUBMODULES = YES +C_CAPNPROTO_LICENSE = MIT +C_CAPNPROTO_LICENSE_FILES = COPYING +C_CAPNPROTO_INSTALL_STAGING = YES + +# Fetched from git with no configure script +C_CAPNPROTO_AUTORECONF = YES + +# As a plugin for capnproto's capnpc, requires capnproto. Needs to be on the +# host to generate C code from message definitions. +C_CAPNPROTO_DEPENDENCIES = host-c-capnproto capnproto +HOST_C_CAPNPROTO_DEPENDENCIES = host-capnproto + +$(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/c-icap-modules/c-icap-modules.hash b/package/c-icap-modules/c-icap-modules.hash index a9fee87e43..cc7949a092 100644 --- a/package/c-icap-modules/c-icap-modules.hash +++ b/package/c-icap-modules/c-icap-modules.hash @@ -1,3 +1,7 @@ -# From http://sourceforge.net/projects/c-icap/files/c-icap-modules/0.4.x/ -md5 1a7eaa7a34ff35c2440cf303f7b45f22 c_icap_modules-0.4.5.tar.gz -sha1 515145e6d29413aff8543937504dc5c419043fd5 c_icap_modules-0.4.5.tar.gz +# From http://sourceforge.net/projects/c-icap/files/c-icap-modules/0.5.x/ +md5 2f8c174f7a5414616f5a0a976ac4a221 c_icap_modules-0.5.4.tar.gz +sha1 ec7bb138d7775895cd8b2e12adc41dbf48eba1b7 c_icap_modules-0.5.4.tar.gz + +# Locally calculated +sha256 87409920c66027204e9cca5f20e137b63cd12daf6dfcd85c1fa62ab2bd1c57cc c_icap_modules-0.5.4.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/c-icap-modules/c-icap-modules.mk b/package/c-icap-modules/c-icap-modules.mk index d75437898c..2eaa141afe 100644 --- a/package/c-icap-modules/c-icap-modules.mk +++ b/package/c-icap-modules/c-icap-modules.mk @@ -4,7 +4,7 @@ # ################################################################################ -C_ICAP_MODULES_VERSION = 0.4.5 +C_ICAP_MODULES_VERSION = 0.5.4 C_ICAP_MODULES_SOURCE = c_icap_modules-$(C_ICAP_MODULES_VERSION).tar.gz C_ICAP_MODULES_SITE = http://downloads.sourceforge.net/c-icap C_ICAP_MODULES_LICENSE = GPL-2.0+ @@ -15,13 +15,6 @@ C_ICAP_MODULES_CONF_OPTS = \ --with-c-icap=$(STAGING_DIR)/usr/ \ --without-clamav -ifeq ($(BR2_PACKAGE_ZLIB),y) -C_ICAP_MODULES_CONF_OPTS += --with-zlib -C_ICAP_MODULES_DEPENDENCIES += zlib -else -C_ICAP_MODULES_CONF_OPTS += --without-zlib -endif - ifeq ($(BR2_PACKAGE_BERKELEYDB),y) C_ICAP_MODULES_CONF_OPTS += --with-bdb C_ICAP_MODULES_DEPENDENCIES += berkeleydb diff --git a/package/c-icap/0001-Required-fixes-to-compile-and-run-under-cygwin.patch b/package/c-icap/0001-Required-fixes-to-compile-and-run-under-cygwin.patch new file mode 100644 index 0000000000..6f886c9b72 --- /dev/null +++ b/package/c-icap/0001-Required-fixes-to-compile-and-run-under-cygwin.patch @@ -0,0 +1,391 @@ +From 1631a6c1f50e152b8a45d8279c96086e5636795b Mon Sep 17 00:00:00 2001 +From: Christos Tsantilas +Date: Fri, 25 Jan 2019 06:42:22 -0800 +Subject: [PATCH] Required fixes to compile and run under cygwin + +[Retrieved (and backported) from: +https://github.com/c-icap/c-icap-server/commit/1631a6c1f50e152b8a45d8279c96086e5636795b, +which has the side effect of fixing the build with the musl C library] +Signed-off-by: Fabrice Fontaine +--- + Makefile.am | 2 +- + configure.ac | 10 +++++++--- + header.c | 34 ---------------------------------- + include/header.h | 8 -------- + modules/Makefile.am | 34 ++++++++++++++++++++-------------- + modules/bdb_tables.c | 17 +++++++++++++++-- + modules/shared_cache.c | 12 ++++++++++++ + modules/sys_logger.c | 13 +++++++++++++ + services/echo/Makefile.am | 10 ++++++++-- + services/ex-206/Makefile.am | 10 ++++++++-- + utils/c-icap-mkbdb.c | 8 ++++---- + 11 files changed, 88 insertions(+), 70 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 4c34033..ab80f4f 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -53,7 +53,7 @@ c_icap_SOURCES = aserver.c request.c cfg_param.c \ + libicapapi_la_CFLAGS= $(INVISIBILITY_CFLAG) -I$(srcdir)/include/ -Iinclude/ @ZLIB_ADD_FLAG@ @OPENSSL_ADD_FLAG@ @BZLIB_ADD_FLAG@ @BROTLI_ADD_FLAG@ @PCRE_ADD_FLAG@ -DCI_BUILD_LIB + + libicapapi_la_LIBADD = @ZLIB_ADD_LDADD@ @BZLIB_ADD_LDADD@ @BROTLI_ADD_LDADD@ @PCRE_ADD_LDADD@ @DL_ADD_FLAG@ @THREADS_LDADD@ @OPENSSL_ADD_LDADD@ +-libicapapi_la_LDFLAGS= -shared -version-info @CICAPLIB_VERSION@ @THREADS_LDFLAGS@ ++libicapapi_la_LDFLAGS= -shared -version-info @CICAPLIB_VERSION@ @LIBS_LDFLAGS@ @THREADS_LDFLAGS@ + + export EXT_PROGRAMS_MKLIB = @ZLIB_LNDIR_LDADD@ @BZLIB_LNDIR_LDADD@ @BROTLI_LNDIR_LDADD@ @PCRE_LNDIR_LDADD@ @OPENSSL_LNDIR_LDADD@ + +diff --git a/configure.ac b/configure.ac +index 405571b..8059cb7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -45,12 +45,14 @@ case "$host_os" in + CFLAGS="-D_REENTRANT $CFLAGS" + THREADS_LDADD="-lpthread" + THREADS_LDFLAGS="" ++ LIBS_LDFLAGS="" + ;; + solaris2.*) + CFLAGS="-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS $CFLAGS" + LIBS="-lsocket -lnsl -lrt $LIBS" + THREADS_LDADD="-lpthread" + THREADS_LDFLAGS="" ++ LIBS_LDFLAGS="" + ;; + freebsd5*) + ## If I understand how all those threading models works correctly +@@ -69,6 +71,7 @@ case "$host_os" in + CFLAGS="-pthread -D_THREAD_SAFE $CFLAGS" + THREADS_LDADD="-XCClinker -lc_r" + THREADS_LDFLAGS="" ++ LIBS_LDFLAGS="" + ## FreeBSD has pthreads rwlocks from version 3 (I think) + # AC_DEFINE(HAVE_PTHREADS_RWLOCK,1,[Define HAVE_PTHREADS_RWLOCK if pthreads library supports rwlocks]) + ## 1:1 threads +@@ -82,24 +85,28 @@ case "$host_os" in + CFLAGS="-D_THREAD_SAFE $CFLAGS" + THREADS_LDADD="-XCClinker -lthr" + THREADS_LDFLAGS="" ++ LIBS_LDFLAGS="" + ;; + + cygwin*) + CFLAGS="-D_REENTRANT $CFLAGS" + THREADS_LDADD="-lpthread" + THREADS_LDFLAGS=""; ++ LIBS_LDFLAGS="-no-undefined" + iscygwin="yes" + ;; + *) + CFLAGS="-D_REENTRANT $CFLAGS" + THREADS_LDADD="-lpthread" + THREADS_LDFLAGS="" ++ LIBS_LDFLAGS="" + ;; + esac + + TEST_LIBS="$TEST_LIBS $THREADS_LDADD" + AC_SUBST(THREADS_LDADD) + AC_SUBST(THREADS_LDFLAGS) ++AC_SUBST(LIBS_LDFLAGS) + + AC_DEFINE_UNQUOTED(C_ICAP_CONFIGURE_OPTIONS, "$ac_configure_args", + [configure command line used to configure c-icap]) +@@ -984,9 +991,6 @@ LIBS="$LIBS $EXTRALIBS" + + #Configure common flags + MODULES_LIBADD="" +-if test a"$iscygwin" != a; then +- MODULES_LIBADD="-L../../ -licapapi" +-fi + MODULES_CFLAGS="$INVISIBILITY_CFLAG -DCI_BUILD_MODULE" + AC_SUBST(MODULES_LIBADD) + AC_SUBST(MODULES_CFLAGS) +diff --git a/header.c b/header.c +index 807a2e0..266b958 100644 +--- a/header.c ++++ b/header.c +@@ -110,21 +110,6 @@ const struct ci_error_code ci_error_codes[] = { + {505, "Unsupported version"} /*ICAP version not supported by server. */ + }; + +-/* +-#ifdef __CYGWIN__ +-int ci_error_code(int ec){ +- return (ec >= EC_100 && ec < EC_MAX ? ci_error_codes[ec].code:1000); +-} +- +-const char *unknownerrorcode = "UNKNOWN ERROR CODE"; +- +-const char *ci_error_code_string(int ec){ +- return (ec >= EC_100 && ec < EC_MAX?ci_error_codes[ec].str:unknownerrorcode); +-} +-#endif +-*/ +- +- + const char *ci_encaps_entities[] = { + "req-hdr", + "res-hdr", +@@ -134,25 +119,6 @@ const char *ci_encaps_entities[] = { + "opt-body" + }; + +-#ifdef __CYGWIN__ +- +-const char *unknownentity = "UNKNOWN"; +-const char *unknownmethod = "UNKNOWN"; +- +-const char *ci_method_string(int method) +-{ +- return (method <= ICAP_RESPMOD +- && method >= ICAP_OPTIONS ? CI_Methods[method] : unknownmethod); +-} +- +- +-const char *ci_encaps_entity_string(int e) +-{ +- return (e <= ICAP_OPT_BODY +- && e >= ICAP_REQ_HDR ? CI_EncapsEntities[e] : unknownentity); +-} +-#endif +- + ci_headers_list_t *ci_headers_create() + { + ci_headers_list_t *h; +diff --git a/include/header.h b/include/header.h +index 4cab365..ed2de88 100644 +--- a/include/header.h ++++ b/include/header.h +@@ -52,16 +52,8 @@ enum ci_encapsulated_entities {ICAP_REQ_HDR, ICAP_RES_HDR, + }; + CI_DECLARE_DATA extern const char *ci_encaps_entities[]; + +-#ifdef __CYGWIN__ +- +-const char *ci_encaps_entity_string(int e); +- +-#else +- + #define ci_encaps_entity_string(e) (e <= ICAP_OPT_BODY && e >= ICAP_REQ_HDR?ci_encaps_entities[e]:"UNKNOWN") + +-#endif +- + /** + \typedef ci_headers_list_t + \ingroup HEADERS +diff --git a/modules/Makefile.am b/modules/Makefile.am +index e6e9270..2d43a60 100644 +--- a/modules/Makefile.am ++++ b/modules/Makefile.am +@@ -21,38 +21,44 @@ endif + + AM_CPPFLAGS=-I$(top_srcdir)/ -I$(top_srcdir)/include/ -I$(top_builddir)/include/ + +-sys_logger_la_LIBADD = @MODULES_LIBADD@ ++if ISCYGWIN ++MODS_LIB_ADD=$(top_builddir)/libicapapi.la ++else ++MODS_LIB_ADD= ++endif ++ ++sys_logger_la_LIBADD = $(MODS_LIB_ADD) + sys_logger_la_CFLAGS= @MODULES_CFLAGS@ @OPENSSL_ADD_FLAG@ +-sys_logger_la_LDFLAGS= -module -avoid-version ++sys_logger_la_LDFLAGS= -module -avoid-version @LIBS_LDFLAGS@ + sys_logger_la_SOURCES = sys_logger.c + +-dnsbl_tables_la_LIBADD = @MODULES_LIBADD@ ++dnsbl_tables_la_LIBADD = $(MODS_LIB_ADD) + dnsbl_tables_la_CFLAGS= @MODULES_CFLAGS@ @OPENSSL_ADD_FLAG@ +-dnsbl_tables_la_LDFLAGS= -module -avoid-version ++dnsbl_tables_la_LDFLAGS= -module -avoid-version @LIBS_LDFLAGS@ + dnsbl_tables_la_SOURCES = dnsbl_tables.c + +-perl_handler_la_LIBADD = @MODULES_LIBADD@ @perllib@ -L@perlcore@ -lperl ++perl_handler_la_LIBADD = $(MODS_LIB_ADD) @perllib@ -L@perlcore@ -lperl + perl_handler_la_CFLAGS= @MODULES_CFLAGS@ @perlccflags@ -I@perlcore@ +-perl_handler_la_LDFLAGS= -module -avoid-version @perlldflags@ ++perl_handler_la_LDFLAGS= -module -avoid-version @LIBS_LDFLAGS@ @perlldflags@ + perl_handler_la_SOURCES = perl_handler.c + + +-bdb_tables_la_LIBADD = @MODULES_LIBADD@ @BDB_ADD_LDADD@ ++bdb_tables_la_LIBADD = $(MODS_LIB_ADD) @BDB_ADD_LDADD@ + bdb_tables_la_CFLAGS= @MODULES_CFLAGS@ @BDB_ADD_FLAG@ +-bdb_tables_la_LDFLAGS= -module -avoid-version ++bdb_tables_la_LDFLAGS= -module -avoid-version @LIBS_LDFLAGS@ + bdb_tables_la_SOURCES = bdb_tables.c + +-ldap_module_la_LIBADD = @MODULES_LIBADD@ @LDAP_ADD_LDADD@ $(top_builddir)/libicapapi.la ++ldap_module_la_LIBADD = $(MODS_LIB_ADD) @LDAP_ADD_LDADD@ + ldap_module_la_CFLAGS= @MODULES_CFLAGS@ @LDAP_ADD_FLAG@ +-ldap_module_la_LDFLAGS= -module -avoid-version ++ldap_module_la_LDFLAGS= -module -avoid-version @LIBS_LDFLAGS@ + ldap_module_la_SOURCES = ldap_module.c + +-memcached_cache_la_LIBADD= @MODULES_LIBADD@ @MEMCACHED_ADD_LDADD@ ++memcached_cache_la_LIBADD= $(MODS_LIB_ADD) @MEMCACHED_ADD_LDADD@ + memcached_cache_la_CFLAGS= @MODULES_CFLAGS@ @MEMCACHED_ADD_FLAG@ +-memcached_cache_la_LDFLAGS= -module -avoid-version ++memcached_cache_la_LDFLAGS= -module -avoid-version @LIBS_LDFLAGS@ + memcached_cache_la_SOURCES= memcached.c + +-shared_cache_la_LIBADD= @MODULES_LIBADD@ ++shared_cache_la_LIBADD= $(MODS_LIB_ADD) + shared_cache_la_CFLAGS= @OPENSSL_ADD_FLAG@ +-shared_cache_la_LDFLAGS= -module -avoid-version ++shared_cache_la_LDFLAGS= -module -avoid-version @LIBS_LDFLAGS@ + shared_cache_la_SOURCES= shared_cache.c +diff --git a/modules/bdb_tables.c b/modules/bdb_tables.c +index b8459be..1e908a9 100644 +--- a/modules/bdb_tables.c ++++ b/modules/bdb_tables.c +@@ -176,8 +176,8 @@ void *bdb_table_open(struct ci_lookup_table *table) + + /*We can not fork a Berkeley DB table, so we have to + open bdb tables for every child, on childs start-up procedure*/ +- register_command_extend("openBDBtable", CHILD_START_CMD, table, +- command_real_open_table); ++ ci_command_register_action("openBDBtable", CHILD_START_CMD, table, ++ command_real_open_table); + + return table->data; + } +@@ -257,3 +257,16 @@ void bdb_table_release_result(struct ci_lookup_table *table,void **val) + { + ci_buffer_free(val); + } ++ ++ #ifdef __CYGWIN__ ++#include ++void ci_command_register_action(const char *name, int type, void *data, ++ void (*command_action) (const char *name, int type, void *data)) ++ { ++ typedef void (*RA)(const char *, int, void *, void(*)(const char *, int, void *)); ++ RA fn; ++ fn = (RA)GetProcAddress(GetModuleHandle(NULL), "ci_command_register_action"); ++ if (fn) ++ (*fn)(name, type, data, command_action); ++ } ++#endif +diff --git a/modules/shared_cache.c b/modules/shared_cache.c +index 103b760..a79d51a 100644 +--- a/modules/shared_cache.c ++++ b/modules/shared_cache.c +@@ -345,3 +345,15 @@ void ci_shared_cache_destroy(struct ci_cache *cache) + ci_shared_mem_detach(&data->id); + } + ++#ifdef __CYGWIN__ ++#include ++void ci_command_register_action(const char *name, int type, void *data, ++ void (*command_action) (const char *name, int type, void *data)) ++ { ++ typedef void (*RA)(const char *, int, void *, void(*)(const char *, int, void *)); ++ RA fn; ++ fn = (RA)GetProcAddress(GetModuleHandle(NULL), "ci_command_register_action"); ++ if (fn) ++ (*fn)(name, type, data, command_action); ++ } ++#endif +diff --git a/modules/sys_logger.c b/modules/sys_logger.c +index 1c47753..1764b0d 100644 +--- a/modules/sys_logger.c ++++ b/modules/sys_logger.c +@@ -60,7 +60,20 @@ int cfg_syslog_access(const char *directive, const char **argv, void *setdata); + functions declared in log.c. This file is not included in c-icap library + but defined in primary c-icap binary. + */ ++#ifdef __CYGWIN__ ++#include ++char *logformat_fmt(const char *name) ++{ ++ typedef char* (*LF_FMT)(const char *); ++ LF_FMT fn; ++ fn = (LF_FMT)GetProcAddress(GetModuleHandle(NULL), "logformat_fmt"); ++ if (fn) ++ return (*fn)(name); ++ return NULL; ++} ++#else + extern char *logformat_fmt(const char *name); ++#endif + + /*Configuration Table .....*/ + static struct ci_conf_entry conf_variables[] = { +diff --git a/services/echo/Makefile.am b/services/echo/Makefile.am +index 402c8f9..7d701b1 100644 +--- a/services/echo/Makefile.am ++++ b/services/echo/Makefile.am +@@ -3,9 +3,15 @@ pkglib_LTLIBRARIES=srv_echo.la + + AM_CPPFLAGS=-I$(top_srcdir)/ -I$(top_srcdir)/include/ -I$(top_builddir)/include/ + +-srv_echo_la_LIBADD = @MODULES_LIBADD@ ++if ISCYGWIN ++MODS_LIB_ADD=$(top_builddir)/libicapapi.la ++else ++MODS_LIB_ADD= ++endif ++ ++srv_echo_la_LIBADD = $(MODS_LIB_ADD) + srv_echo_la_CFLAGS= @MODULES_CFLAGS@ @OPENSSL_ADD_FLAG@ +-srv_echo_la_LDFLAGS= -module -avoid-version ++srv_echo_la_LDFLAGS= -module -avoid-version @LIBS_LDFLAGS@ + srv_echo_la_SOURCES = srv_echo.c + + +diff --git a/services/ex-206/Makefile.am b/services/ex-206/Makefile.am +index 44bbf21..ff73399 100644 +--- a/services/ex-206/Makefile.am ++++ b/services/ex-206/Makefile.am +@@ -3,8 +3,14 @@ pkglib_LTLIBRARIES=srv_ex206.la + + AM_CPPFLAGS=-I$(top_srcdir)/ -I$(top_srcdir)/include/ -I$(top_builddir)/include/ + +-srv_ex206_la_LIBADD = @MODULES_LIBADD@ ++if ISCYGWIN ++MODS_LIB_ADD=$(top_builddir)/libicapapi.la ++else ++MODS_LIB_ADD= ++endif ++ ++srv_ex206_la_LIBADD = $(MODS_LIB_ADD) + srv_ex206_la_CFLAGS= @MODULES_CFLAGS@ @OPENSSL_ADD_FLAG@ +-srv_ex206_la_LDFLAGS= -module -avoid-version ++srv_ex206_la_LDFLAGS= -module -avoid-version @LIBS_LDFLAGS@ + srv_ex206_la_SOURCES = srv_ex206.c + +diff --git a/utils/c-icap-mkbdb.c b/utils/c-icap-mkbdb.c +index c29a46f..326ee1c 100644 +--- a/utils/c-icap-mkbdb.c ++++ b/utils/c-icap-mkbdb.c +@@ -23,7 +23,7 @@ char *dbfile = NULL; + int DUMP_MODE = 0; + int VERSION_MODE = 0; + int USE_DBTREE = 0; +-long int PAGE_SIZE; ++long int DB_PAGE_SIZE; + + ci_mem_allocator_t *allocator = NULL; + int cfg_set_type(const char *directive, const char **argv, void *setdata); +@@ -52,7 +52,7 @@ static struct ci_options_entry options[] = { + "The type of values" + }, + { +- "-p", "page_size", &PAGE_SIZE, ci_cfg_size_long, ++ "-p", "page_size", &DB_PAGE_SIZE, ci_cfg_size_long, + "The page size to use for the database" + }, + { +@@ -107,8 +107,8 @@ int open_db(char *path) + return 0; + } + +- if (PAGE_SIZE > 512 && PAGE_SIZE <= 64*1024) +- db->set_pagesize(db, (uint32_t)PAGE_SIZE); ++ if (DB_PAGE_SIZE > 512 && DB_PAGE_SIZE <= 64*1024) ++ db->set_pagesize(db, (uint32_t)DB_PAGE_SIZE); + + if ((ret = db->open(db, NULL, path, NULL, + (USE_DBTREE ? DB_BTREE : DB_HASH), diff --git a/package/c-icap/c-icap.hash b/package/c-icap/c-icap.hash index 2b083ef659..8c70d75589 100644 --- a/package/c-icap/c-icap.hash +++ b/package/c-icap/c-icap.hash @@ -1,2 +1,6 @@ +# Retrieved from https://sourceforge.net/projects/c-icap/files/c-icap/0.5.x/ +md5 d59e767ee3733cd81cea02819f13ac72 c_icap-0.5.6.tar.gz +sha1 361e36b63f895bd72bdd18aac5fe4192d4eff530 c_icap-0.5.6.tar.gz # Locally calculated -sha256 b138c7d7d9828d54c3307bcfe7b4917911266593832ffc26a60df9a0dfd2511e c_icap-0.4.2.tar.gz +sha256 9826c50fc34f8fd4a3115844b27c9816dd3fcc3e7e2a3b6bcc7094ec307802b7 c_icap-0.5.6.tar.gz +sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING diff --git a/package/c-icap/c-icap.mk b/package/c-icap/c-icap.mk index c722098c59..1a68674a67 100644 --- a/package/c-icap/c-icap.mk +++ b/package/c-icap/c-icap.mk @@ -4,7 +4,7 @@ # ################################################################################ -C_ICAP_VERSION = 0.4.2 +C_ICAP_VERSION = 0.5.6 C_ICAP_SOURCE = c_icap-$(C_ICAP_VERSION).tar.gz C_ICAP_SITE = http://downloads.sourceforge.net/c-icap C_ICAP_LICENSE = LGPL-2.1+ diff --git a/package/c-periphery/Config.in b/package/c-periphery/Config.in index 0bfb4b1f11..cf8675801e 100644 --- a/package/c-periphery/Config.in +++ b/package/c-periphery/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_C_PERIPHERY bool "c-periphery" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 help c-periphery is a set of C wrapper functions for GPIO, SPI, I2C, MMIO, and Serial peripheral I/O interface access in @@ -14,3 +15,6 @@ config BR2_PACKAGE_C_PERIPHERY integration with other projects, and is MIT licensed. https://github.com/vsergeev/c-periphery + +comment "c-periphery needs a toolchain w/ kernel headers >= 4.8" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 diff --git a/package/c-periphery/c-periphery.hash b/package/c-periphery/c-periphery.hash index 745e44a71c..244f8f60f1 100644 --- a/package/c-periphery/c-periphery.hash +++ b/package/c-periphery/c-periphery.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 50665a4f298b30e4cc8f7dbd38362fd860cc3746803d00325cb04806674e3166 c-periphery-v1.1.3.tar.gz -sha256 6b5669a90260126f0600aae98cb10fb5e219269dc9cbd0137f63927b96d5c31d LICENSE +sha256 1c455c42b26818d199ac227cd19714f265623e15d363fdfdf47a2416a4165654 c-periphery-2.1.0.tar.gz +sha256 e7b9464cb8511f19ddb40f9cf52fe86b3dfe38b2faed9d7bbc3d5707677ffbe3 LICENSE diff --git a/package/c-periphery/c-periphery.mk b/package/c-periphery/c-periphery.mk index df26105541..bb50434efa 100644 --- a/package/c-periphery/c-periphery.mk +++ b/package/c-periphery/c-periphery.mk @@ -4,8 +4,8 @@ # ################################################################################ -C_PERIPHERY_VERSION = v1.1.3 -C_PERIPHERY_SITE = $(call github,vsergeev,c-periphery,$(C_PERIPHERY_VERSION)) +C_PERIPHERY_VERSION = 2.1.0 +C_PERIPHERY_SITE = $(call github,vsergeev,c-periphery,v$(C_PERIPHERY_VERSION)) C_PERIPHERY_INSTALL_STAGING = YES # only a static library C_PERIPHERY_INSTALL_TARGET = NO diff --git a/package/ca-certificates/Config.in b/package/ca-certificates/Config.in index 6bb71820d2..cd9825a811 100644 --- a/package/ca-certificates/Config.in +++ b/package/ca-certificates/Config.in @@ -9,4 +9,4 @@ config BR2_PACKAGE_CA_CERTIFICATES Debian infrastructure and those shipped with Mozilla's browsers. - http://anonscm.debian.org/gitweb/?p=collab-maint/ca-certificates.git + https://salsa.debian.org/debian/ca-certificates diff --git a/package/ca-certificates/ca-certificates.hash b/package/ca-certificates/ca-certificates.hash index 8100dde357..71a8da4784 100644 --- a/package/ca-certificates/ca-certificates.hash +++ b/package/ca-certificates/ca-certificates.hash @@ -1,3 +1,6 @@ # hashes from: $(CA_CERTIFICATES_SITE)/ca-certificates_$(CA_CERTIFICATES_VERSION).dsc : -sha1 edf0ec04b02fcbc90cc65906ff83fb042894a3b7 ca-certificates_20180409.tar.xz -sha256 7af6f5bfc619fd29cbf0258c1d95107c38ce840ad6274e343e1e0d971fc72b51 ca-certificates_20180409.tar.xz +sha1 47d4584eae85fc905e4994766eb3930a8a84e2e1 ca-certificates_20190110.tar.xz +sha256 ee4bf0f4c6398005f5b5ca4e0b87b82837ac5c3b0280a1cb3a63c47555c3a675 ca-certificates_20190110.tar.xz + +# Locally computed +sha256 80fd11117df5543d5cf17bfd951b0ead213f7867d0b09f09c6d5a5eca3ff7422 debian/copyright diff --git a/package/ca-certificates/ca-certificates.mk b/package/ca-certificates/ca-certificates.mk index 5c259aa3ab..79c81a41ea 100644 --- a/package/ca-certificates/ca-certificates.mk +++ b/package/ca-certificates/ca-certificates.mk @@ -4,9 +4,9 @@ # ################################################################################ -CA_CERTIFICATES_VERSION = 20180409 +CA_CERTIFICATES_VERSION = 20190110 CA_CERTIFICATES_SOURCE = ca-certificates_$(CA_CERTIFICATES_VERSION).tar.xz -CA_CERTIFICATES_SITE = http://snapshot.debian.org/archive/debian/20180411T111033Z/pool/main/c/ca-certificates +CA_CERTIFICATES_SITE = http://snapshot.debian.org/archive/debian/20190513T145054Z/pool/main/c/ca-certificates CA_CERTIFICATES_DEPENDENCIES = host-openssl # ca-certificates can be built with either python 2 or python 3 # but it must be at least python 2.7 diff --git a/package/cage/Config.in b/package/cage/Config.in new file mode 100644 index 0000000000..c8097751f0 --- /dev/null +++ b/package/cage/Config.in @@ -0,0 +1,24 @@ +comment "cage needs udev, mesa3d w/ EGL and GLES support" + depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL || \ + !BR2_PACKAGE_MESA3D_OPENGL_ES || \ + !BR2_PACKAGE_HAS_UDEV + +comment "cage needs a toolchain w/ threads, locale, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_ENABLE_LOCALE || \ + BR2_STATIC_LIBS + +config BR2_PACKAGE_CAGE + bool "cage" + depends on !BR2_STATIC_LIBS # wlroots + depends on BR2_TOOLCHAIN_HAS_THREADS # wlroots + depends on BR2_ENABLE_LOCALE # wlroots + depends on BR2_PACKAGE_HAS_UDEV # wlroots + depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # wlroots + depends on BR2_PACKAGE_MESA3D_OPENGL_ES # wlroots + select BR2_PACKAGE_WLROOTS + help + Kiosk compositor for Wayland, which displays a single + maximized application at a time. + + https://www.hjdskes.nl/projects/cage/ diff --git a/package/cage/cage.hash b/package/cage/cage.hash new file mode 100644 index 0000000000..3177474960 --- /dev/null +++ b/package/cage/cage.hash @@ -0,0 +1,5 @@ +# Generated locally +sha256 2f9bc2bd3c61cddb0d3b406754c4906eabf5a5d1aade26eb361dffccff2601e3 cage-6eb693c05b5b34d4ed5ad8234a9f79a14ac8e07d.tar.gz + +# Hashes for license files: +sha256 e117104073335dbaf78596fb1bedf89dda63c71f60f0b665947b2d369c77ecee LICENSE diff --git a/package/cage/cage.mk b/package/cage/cage.mk new file mode 100644 index 0000000000..3d259912cc --- /dev/null +++ b/package/cage/cage.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# cage +# +################################################################################ + +CAGE_VERSION = 6eb693c05b5b34d4ed5ad8234a9f79a14ac8e07d +CAGE_SITE = $(call github,Hjdskes,cage,$(CAGE_VERSION)) +CAGE_LICENSE = MIT +CAGE_LICENSE_FILES = LICENSE +CAGE_DEPENDENCIES = host-pkgconf wlroots + +ifeq ($(BR2_PACKAGE_XORG7),y) +CAGE_CONF_OPTS = -Dxwayland=true +else +CAGE_CONF_OPTS = -Dxwayland=false +endif + +$(eval $(meson-package)) diff --git a/package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch b/package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch new file mode 100644 index 0000000000..10e000d16f --- /dev/null +++ b/package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch @@ -0,0 +1,33 @@ +From 90e85c2493fdfa3551f202ff10282463f1e36645 Mon Sep 17 00:00:00 2001 +From: Carlos Garcia Campos +Date: Mon, 19 Nov 2018 12:33:07 +0100 +Subject: [PATCH] ft: Use FT_Done_MM_Var instead of free when available in + cairo_ft_apply_variations + +Fixes a crash when using freetype >= 2.9 +[Retrieved from: +https://gitlab.freedesktop.org/cairo/cairo/-/commit/90e85c2493fdfa3551f202ff10282463f1e36645] +Signed-off-by: Fabrice Fontaine +--- + src/cairo-ft-font.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c +index 325dd61b4..981973f78 100644 +--- a/src/cairo-ft-font.c ++++ b/src/cairo-ft-font.c +@@ -2393,7 +2393,11 @@ skip: + done: + free (coords); + free (current_coords); ++#if HAVE_FT_DONE_MM_VAR ++ FT_Done_MM_Var (face->glyph->library, ft_mm_var); ++#else + free (ft_mm_var); ++#endif + } + } + +-- +2.24.1 + diff --git a/package/cairo/cairo.hash b/package/cairo/cairo.hash index 795a2eeea5..949ed3ffee 100644 --- a/package/cairo/cairo.hash +++ b/package/cairo/cairo.hash @@ -1,7 +1,7 @@ -# From https://www.cairographics.org/snapshots/cairo-1.15.12.tar.xz.sha1 -sha1 4e64c6a48789edb4c60bc3fa95bd3992cc388b88 cairo-1.15.12.tar.xz +# From https://www.cairographics.org/releases/cairo-1.16.0.tar.xz.sha1 +sha1 00e81842ae5e81bb0343108884eb5205be0eac14 cairo-1.16.0.tar.xz # Calculated based on the hash above -sha256 7623081b94548a47ee6839a7312af34e9322997806948b6eec421a8c6d0594c9 cairo-1.15.12.tar.xz +sha256 5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331 cairo-1.16.0.tar.xz # Hash for license files: sha256 67228a9f7c5f9b67c58f556f1be178f62da4d9e2e6285318d8c74d567255abdf COPYING diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk index 6dffff4b81..c6a3dad932 100644 --- a/package/cairo/cairo.mk +++ b/package/cairo/cairo.mk @@ -4,13 +4,16 @@ # ################################################################################ -CAIRO_VERSION = 1.15.12 +CAIRO_VERSION = 1.16.0 CAIRO_SOURCE = cairo-$(CAIRO_VERSION).tar.xz CAIRO_LICENSE = LGPL-2.1 or MPL-1.1 (library) CAIRO_LICENSE_FILES = COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1 -CAIRO_SITE = http://cairographics.org/snapshots +CAIRO_SITE = http://cairographics.org/releases CAIRO_INSTALL_STAGING = YES +# 0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch +CAIRO_IGNORE_CVES += CVE-2018-19876 + # relocation truncated to fit: R_68K_GOT16O ifeq ($(BR2_m68k_cf),y) CAIRO_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mxgot" diff --git a/package/cairomm/cairomm.hash b/package/cairomm/cairomm.hash index bebd474b12..573104ec96 100644 --- a/package/cairomm/cairomm.hash +++ b/package/cairomm/cairomm.hash @@ -1,2 +1,4 @@ # From http://ftp.gnome.org/pub/gnome/sources/cairomm/1.12/cairomm-1.12.0.sha256sum sha256 a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6 cairomm-1.12.0.tar.xz +# Locally computed +sha256 bfe4a52dc4645385f356a8e83cc54216a293e3b6f1cb4f79f5fc0277abf937fd COPYING diff --git a/package/can-utils/can-utils.hash b/package/can-utils/can-utils.hash index 2034c35a87..f76576773a 100644 --- a/package/can-utils/can-utils.hash +++ b/package/can-utils/can-utils.hash @@ -1,3 +1,4 @@ # Locally computed -sha256 370ad4b19447c29099f7300548f1a3362d6e123c4a6a827dbbd3110bc2c26839 can-utils-v2018.02.0.tar.gz -sha256 c258939ebb09c3857f5fc7704a449e5077cc881090c87b38f9a81332b96fa075 Makefile +sha256 a766aad89955b9cfcca27f61ef988fa169565c3657d2789808c0f33a7afa23c8 can-utils-2020.02.04.tar.gz +sha256 c3dc748f5e725cf5ed89784fe78e4ff1b05d309bf1e7ade4c572e8fde1b8406c LICENSES/BSD-3-Clause +sha256 995a31f60a9ddb4c609214cc7d17ca94cc3cbc7f37e1e64dba81e7f8ea9d4f91 LICENSES/GPL-2.0-only.txt diff --git a/package/can-utils/can-utils.mk b/package/can-utils/can-utils.mk index bff4d21fef..5227bf4852 100644 --- a/package/can-utils/can-utils.mk +++ b/package/can-utils/can-utils.mk @@ -4,10 +4,10 @@ # ################################################################################ -CAN_UTILS_VERSION = v2018.02.0 -CAN_UTILS_SITE = $(call github,linux-can,can-utils,$(CAN_UTILS_VERSION)) -CAN_UTILS_LICENSE = BSD-3-Clause or GPL-2.0, GPL-2.0+ -CAN_UTILS_LICENSE_FILES = Makefile +CAN_UTILS_VERSION = 2020.02.04 +CAN_UTILS_SITE = $(call github,linux-can,can-utils,v$(CAN_UTILS_VERSION)) +CAN_UTILS_LICENSE = BSD-3-Clause or GPL-2.0 +CAN_UTILS_LICENSE_FILES = LICENSES/BSD-3-Clause LICENSES/GPL-2.0-only.txt CAN_UTILS_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/cannelloni/cannelloni.hash b/package/cannelloni/cannelloni.hash index c14dceb794..41cb72816d 100644 --- a/package/cannelloni/cannelloni.hash +++ b/package/cannelloni/cannelloni.hash @@ -1,2 +1,3 @@ # Locally computed sha256 fe5abb1c9e523049c48dd906603bc762cc55ccd20c16dbec7dc64163b9eefccf cannelloni-20160414.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 gpl-2.0.txt diff --git a/package/cantarell/cantarell.hash b/package/cantarell/cantarell.hash index 330e7869d1..49b4634063 100644 --- a/package/cantarell/cantarell.hash +++ b/package/cantarell/cantarell.hash @@ -1,2 +1,4 @@ # From http://ftp.acc.umu.se/pub/gnome/sources/cantarell-fonts/0.0/cantarell-fonts-0.0.25.sha256sum -sha256 14a228aa0b516dfc367b434a850f955a00c57fc549cbb05348e2b150196a737f cantarell-fonts-0.0.25.tar.xz +sha256 14a228aa0b516dfc367b434a850f955a00c57fc549cbb05348e2b150196a737f cantarell-fonts-0.0.25.tar.xz +# locally computed +sha256 79a9d6198c0d9192c1b0bf55bcbc404a39390bd0d8c650cf20d652c2eaa284d8 COPYING diff --git a/package/capnproto/0001-Do-not-use-execinfo-h-with-uclibc.patch b/package/capnproto/0001-Do-not-use-execinfo-h-with-uclibc.patch deleted file mode 100644 index 6bb7702a58..0000000000 --- a/package/capnproto/0001-Do-not-use-execinfo-h-with-uclibc.patch +++ /dev/null @@ -1,30 +0,0 @@ -From e651ac5febc59e3e2b5d3365ededbe5362756da2 Mon Sep 17 00:00:00 2001 -From: Koen Martens -Date: Wed, 12 Jul 2017 18:49:32 +0200 -Subject: [PATCH] Do not use execinfo.h with uclibc (#511) - -Upstream commit: https://github.com/capnproto/capnproto/commit/e651ac5febc59e3e2b5d3365ededbe5362756da2 - -Signed-off-by: Koen Martens -Signed-off-by: Joel Carlson - ---- - c++/src/kj/exception.c++ | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/c++/src/kj/exception.c++ b/c++/src/kj/exception.c++ -index 218f1db..339601a 100644 ---- a/c++/src/kj/exception.c++ -+++ b/c++/src/kj/exception.c++ -@@ -33,7 +33,7 @@ - #endif - #include "io.h" - --#if (__linux__ && __GLIBC__) || __APPLE__ -+#if (__linux__ && __GLIBC__ && !__UCLIBC__) || __APPLE__ - #define KJ_HAS_BACKTRACE 1 - #include - #endif --- -2.7.4 - diff --git a/package/capnproto/Config.in b/package/capnproto/Config.in index 00328fa6ce..cd9cb647af 100644 --- a/package/capnproto/Config.in +++ b/package/capnproto/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_CAPNPROTO bool "capnproto" depends on BR2_USE_MMU - depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11 - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_HOST_GCC_AT_LEAST_5 # C++14 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_ATOMIC @@ -10,15 +10,15 @@ config BR2_PACKAGE_CAPNPROTO Cap'n Proto is an insanely fast data interchange format and capability-based RPC system. Think JSON, except binary. Or think Protocol Buffers, except faster. In - fact, in benchmarks, Cap’n Proto is INFINITY TIMES + fact, in benchmarks, Cap'n Proto is INFINITY TIMES faster than Protocol Buffers. https://capnproto.org/index.html -comment "capnproto needs host and target gcc >= 4.8 w/ C++, threads, atomic" +comment "capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic" depends on BR2_USE_MMU - depends on !BR2_HOST_GCC_AT_LEAST_4_8 || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + depends on !BR2_HOST_GCC_AT_LEAST_5 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_HAS_ATOMIC diff --git a/package/capnproto/capnproto.hash b/package/capnproto/capnproto.hash index 1a65cdd401..98467f8634 100644 --- a/package/capnproto/capnproto.hash +++ b/package/capnproto/capnproto.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 85210424c09693d8fe158c1970a2bca37af3a0424f02b263f566a1b8a5451a2d capnproto-v0.6.1.tar.gz -sha256 16194222e9412c3aa14d2287953f7fc89a1dcbcdd266d1534ba35060d4cde5b6 LICENSE +sha256 76c7114a3d142ad08b7208b3964a26e72a6320ee81331d3f0b87569fc9c47a28 capnproto-0.7.0.tar.gz +sha256 9564998c8d7f270a61a8b89869a8d17a9d5e3783b64027788b5e339ec8479e10 LICENSE diff --git a/package/capnproto/capnproto.mk b/package/capnproto/capnproto.mk index ff7a5bc15b..34fb885914 100644 --- a/package/capnproto/capnproto.mk +++ b/package/capnproto/capnproto.mk @@ -4,8 +4,8 @@ # ################################################################################ -CAPNPROTO_VERSION = v0.6.1 -CAPNPROTO_SITE = $(call github,capnproto,capnproto,$(CAPNPROTO_VERSION)) +CAPNPROTO_VERSION = 0.7.0 +CAPNPROTO_SITE = $(call github,capnproto,capnproto,v$(CAPNPROTO_VERSION)) CAPNPROTO_LICENSE = MIT CAPNPROTO_LICENSE_FILES = LICENSE CAPNPROTO_INSTALL_STAGING = YES diff --git a/package/caps/0001-Fix-stdint-types-with-musl.patch b/package/caps/0001-Fix-stdint-types-with-musl.patch new file mode 100644 index 0000000000..23002c072e --- /dev/null +++ b/package/caps/0001-Fix-stdint-types-with-musl.patch @@ -0,0 +1,54 @@ +From 626e60a82120961ccee117dfcb5c28f72f8a26e5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= +Date: Wed, 28 Aug 2019 11:25:49 +0200 +Subject: [PATCH] Fix stdint types with musl +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fetched from: +https://github.com/dsacre/meta-lad/blob/master/recipes-multimedia/lv2/caps-lv2/fix-stdint-types-with-musl.patch + +Signed-off-by: Jörg Krause +--- + basics.h | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +diff --git a/basics.h b/basics.h +index 643d96e..34e5f63 100644 +--- a/basics.h ++++ b/basics.h +@@ -39,6 +39,7 @@ + #define _ISOC9X_SOURCE 1 + + #include ++#include + #include + + #include +@@ -49,14 +50,14 @@ + + #include "ladspa.h" + +-typedef __int8_t int8; +-typedef __uint8_t uint8; +-typedef __int16_t int16; +-typedef __uint16_t uint16; +-typedef __int32_t int32; +-typedef __uint32_t uint32; +-typedef __int64_t int64; +-typedef __uint64_t uint64; ++typedef int8_t int8; ++typedef uint8_t uint8; ++typedef int16_t int16; ++typedef uint16_t uint16; ++typedef int32_t int32; ++typedef uint32_t uint32; ++typedef int64_t int64; ++typedef uint64_t uint64; + + #define MIN_GAIN 1e-6 /* -120 dB */ + /* smallest non-denormal 32 bit IEEE float is 1.18e-38 */ +-- +2.22.0 + diff --git a/package/caps/Config.in b/package/caps/Config.in new file mode 100644 index 0000000000..f48e176def --- /dev/null +++ b/package/caps/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_CAPS + bool "caps" + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS + help + CAPS is a collection of audio plugins comprising virtual + guitar amplification and a small range of basic classic + effects, signal processors and generators of often + elementary and occasionally exotic nature. + + The plugins aim to satisfy the highest demands in sound + quality with maximal computational efficiency and zero + latency. + + http://quitte.de/dsp/caps.html + +comment "caps needs a toolchain w/ C++, dynamic library" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS diff --git a/package/caps/caps.hash b/package/caps/caps.hash new file mode 100644 index 0000000000..958f4b68be --- /dev/null +++ b/package/caps/caps.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 e7496c5bce05abebe3dcb635926153bbb58a9337a6e423f048d3b61d8a4f98c9 caps_0.9.26.tar.bz2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/caps/caps.mk b/package/caps/caps.mk new file mode 100644 index 0000000000..e307a689e0 --- /dev/null +++ b/package/caps/caps.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# caps +# +################################################################################ + +CAPS_VERSION = 0.9.26 +CAPS_SOURCE = caps_$(CAPS_VERSION).tar.bz2 +CAPS_SITE = http://quitte.de/dsp +CAPS_LICENSE = GPL-3.0+ +CAPS_LICENSE_FILES = COPYING + +# Need to pass TARGET_CONFIGURE_OPTS in the environment to not +# override the LDFLAGS definition of the Makefile. +CAPS_MAKE_ENV = \ + $(TARGET_MAKE_ENV) \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CXXFLAGS)" + +# caps Makefile uses CC and CFLAGS, but for C++ +CAPS_MAKE_OPTS = \ + CC="$(TARGET_CXX)" \ + STRIP=/bin/true + +define CAPS_BUILD_CMDS + $(CAPS_MAKE_ENV) $(MAKE) $(CAPS_MAKE_OPTS) all -C $(@D) +endef + +define CAPS_INSTALL_TARGET_CMDS + $(CAPS_MAKE_ENV) $(MAKE) $(CAPS_MAKE_OPTS) \ + DESTDIR=$(TARGET_DIR) install -C $(@D) +endef + +$(eval $(generic-package)) diff --git a/package/cargo-bin/cargo-bin.hash b/package/cargo-bin/cargo-bin.hash index 2673e157af..0e9e9c5c61 100644 --- a/package/cargo-bin/cargo-bin.hash +++ b/package/cargo-bin/cargo-bin.hash @@ -1,12 +1,12 @@ -# 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 +# From https://static.rust-lang.org/dist/cargo-0.33.0-i686-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/cargo-0.33.0-i686-unknown-linux-gnu.tar.xz.asc +sha256 13acdb3c9f2505805ceed8a696f5f62ab8cd73e443cd43d6edd588aad88e1c32 cargo-0.33.0-i686-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/cargo-0.33.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/cargo-0.33.0-powerpc64le-unknown-linux-gnu.tar.xz.asc +sha256 6628db22370f397676195555d768f0449a60f0a694bcac24611f4cd1cfc97cdc cargo-0.33.0-powerpc64le-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/cargo-0.33.0-x86_64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/cargo-0.33.0-x86_64-unknown-linux-gnu.tar.xz.asc +sha256 c2c31db68c4dcb50ad856a19e6f11489a0d4df1212f31bd068dfbb73c5425761 cargo-0.33.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 7fb4508a52..3614f7a53d 100644 --- a/package/cargo-bin/cargo-bin.mk +++ b/package/cargo-bin/cargo-bin.mk @@ -4,7 +4,7 @@ # ################################################################################ -CARGO_BIN_VERSION = 0.30.0 +CARGO_BIN_VERSION = 0.33.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/cbootimage/0001-bct_dump-don-t-crash-on-devices-without-RSA-support.patch b/package/cbootimage/0001-bct_dump-don-t-crash-on-devices-without-RSA-support.patch deleted file mode 100644 index 587d67fc47..0000000000 --- a/package/cbootimage/0001-bct_dump-don-t-crash-on-devices-without-RSA-support.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 64045f993c2cd8989838aeaad3d22107d96d5596 Mon Sep 17 00:00:00 2001 -From: Stephen Warren -Date: Thu, 28 Jul 2016 11:37:45 -0600 -Subject: [PATCH] bct_dump: don't crash on devices without RSA support - -format_rsa_param() currently crashes on chips that don't implement -soc_config->get_value_size(); that is, on all chips before T124. Fix the -function not to crash. Better might be to avoid even dumping RSA -parameters on chips which don't support RSA, but that's a larger change -that needs much more work. - -Fixes: 3c3b992a6814 ("Add support to dump rsa related fields for t210") -Cc: Jimmy Zhang -Signed-off-by: Stephen Warren -Signed-off-by: Misha Komarovskiy ---- - src/bct_dump.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/src/bct_dump.c b/src/bct_dump.c -index 4f50fa2..b4ca9fc 100644 ---- a/src/bct_dump.c -+++ b/src/bct_dump.c -@@ -133,10 +133,14 @@ static void format_rsa_param(parse_token id, char const * message, void * data) - { - #define MAX_BYTE_NUMBER_PER_LINE 16 - u_int8_t *rsa = (u_int8_t *)data; -- int size = g_soc_config->get_value_size(id); -- int byte_index; -+ int size, byte_index; - - printf("%s", message); -+ -+ if (!g_soc_config->get_value_size) -+ return; -+ -+ size = g_soc_config->get_value_size(id); - for (byte_index = 0; byte_index < size; ++byte_index) { - printf(" %02x", *rsa++); - --- -2.1.4 - diff --git a/package/cbootimage/Config.in b/package/cbootimage/Config.in index b798e5d988..1a7fef0b39 100644 --- a/package/cbootimage/Config.in +++ b/package/cbootimage/Config.in @@ -1,16 +1,9 @@ config BR2_PACKAGE_CBOOTIMAGE bool "cbootimage" depends on BR2_arm || BR2_armeb - # uses non-standard u_intXX_t types - # https://github.com/NVIDIA/cbootimage/pull/7 - depends on !BR2_TOOLCHAIN_USES_MUSL help This project provides a tool which compiles BCT (Boot Configuration Table) images to place into the boot flash of a Tegra-based device. https://github.com/NVIDIA/cbootimage - -comment "cbootimage needs a glibc or uClibc toolchain" - depends on BR2_arm || BR2_armeb - depends on BR2_TOOLCHAIN_USES_MUSL diff --git a/package/cbootimage/cbootimage.hash b/package/cbootimage/cbootimage.hash index 96cf172e39..7113f84f1b 100644 --- a/package/cbootimage/cbootimage.hash +++ b/package/cbootimage/cbootimage.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 373c108d7b6778c62a33e59ad0cd5ea9ebb379319a0c8b4cf469eaa8bec5521b cbootimage-v1.7.tar.gz +sha256 46cce01f07df977668de9e1d49884d8ed539169994215606a9719d17b9db8804 cbootimage-1.8.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/cbootimage/cbootimage.mk b/package/cbootimage/cbootimage.mk index 40a248aed6..19819e4b76 100644 --- a/package/cbootimage/cbootimage.mk +++ b/package/cbootimage/cbootimage.mk @@ -4,8 +4,8 @@ # ################################################################################ -CBOOTIMAGE_VERSION = v1.7 -CBOOTIMAGE_SITE = $(call github,NVIDIA,cbootimage,$(CBOOTIMAGE_VERSION)) +CBOOTIMAGE_VERSION = 1.8 +CBOOTIMAGE_SITE = $(call github,NVIDIA,cbootimage,v$(CBOOTIMAGE_VERSION)) CBOOTIMAGE_LICENSE = GPL-2.0 CBOOTIMAGE_LICENSE_FILES = COPYING CBOOTIMAGE_AUTORECONF = YES diff --git a/package/cc-tool/cc-tool.hash b/package/cc-tool/cc-tool.hash index 81844eec82..d778b44395 100644 --- a/package/cc-tool/cc-tool.hash +++ b/package/cc-tool/cc-tool.hash @@ -1,3 +1,6 @@ # From http://sourceforge.net/projects/cctool/files/ sha1 f313e55f019ea5338438633f5b5e689b699343e1 cc-tool-0.26-src.tgz md5 26960676f3e6264e612c299fbf8ec5ea cc-tool-0.26-src.tgz + +# Hash for license file +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/ccache/ccache.hash b/package/ccache/ccache.hash index 779a2abc7e..0bd00e07d0 100644 --- a/package/ccache/ccache.hash +++ b/package/ccache/ccache.hash @@ -1,4 +1,4 @@ # sha256 computed locally -sha256 a6b129576328fcefad00cb72035bc87bc98b6a76aec0f4b59bed76d67a399b1f ccache-3.6.tar.xz +sha256 f893da7543bfb9172bd55e603fcbdfcd83e6def176a28689c13235695b4cf44b ccache-3.7.9.tar.xz sha256 ec6b1a326ff93b2cc21df88a697ae470ff6927a55b8929e7e491b315e1563361 GPL-3.0.txt -sha256 2af7b3ec0ea737e1542e58db016122f6d75df9ea3b4f00c8151ecfef7040b39b LICENSE.adoc +sha256 4f63223bcdee822d55a6768cc8399ffe06401d7a03cfe79e1dc305f50dc22c59 LICENSE.adoc diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk index 4d9de0a074..276665c3fc 100644 --- a/package/ccache/ccache.mk +++ b/package/ccache/ccache.mk @@ -4,8 +4,8 @@ # ################################################################################ -CCACHE_VERSION = 3.6 -CCACHE_SITE = https://www.samba.org/ftp/ccache +CCACHE_VERSION = 3.7.9 +CCACHE_SITE = https://github.com/ccache/ccache/releases/download/v$(CCACHE_VERSION) CCACHE_SOURCE = ccache-$(CCACHE_VERSION).tar.xz CCACHE_LICENSE = GPL-3.0+, others CCACHE_LICENSE_FILES = LICENSE.adoc GPL-3.0.txt diff --git a/package/ccid/ccid.hash b/package/ccid/ccid.hash index eb2219393b..f29f5b3f93 100644 --- a/package/ccid/ccid.hash +++ b/package/ccid/ccid.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 a5432ae845730493c04e59304b5c0c6103cd0e2c8827df57d69469a3eaaab84d ccid-1.4.29.tar.bz2 +sha256 6b48d7b6e4390e038d25630f8664fe81618ab00f232d6efbe0e3cc6df28ce8f7 ccid-1.4.31.tar.bz2 sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING diff --git a/package/ccid/ccid.mk b/package/ccid/ccid.mk index 73da9c4b8f..a5f9f00473 100644 --- a/package/ccid/ccid.mk +++ b/package/ccid/ccid.mk @@ -4,7 +4,7 @@ # ################################################################################ -CCID_VERSION = 1.4.29 +CCID_VERSION = 1.4.31 CCID_SOURCE = ccid-$(CCID_VERSION).tar.bz2 CCID_SITE = https://ccid.apdu.fr/files CCID_LICENSE = LGPL-2.1+ diff --git a/package/ccrypt/ccrypt.hash b/package/ccrypt/ccrypt.hash index a93fcb9afa..4f81c491ed 100644 --- a/package/ccrypt/ccrypt.hash +++ b/package/ccrypt/ccrypt.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 87d66da2170facabf6f2fc073586ae2c7320d4689980cfca415c74688e499ba0 ccrypt-1.10.tar.gz +sha256 b19c47500a96ee5fbd820f704c912f6efcc42b638c0a6aa7a4e3dc0a6b51a44f ccrypt-1.11.tar.gz +sha256 d48d3af3cf27b32106ee3418c7c892cae745ece26cd909e72aa59b08e3f9c93d COPYING diff --git a/package/ccrypt/ccrypt.mk b/package/ccrypt/ccrypt.mk index 541a0e776d..f8d6328285 100644 --- a/package/ccrypt/ccrypt.mk +++ b/package/ccrypt/ccrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -CCRYPT_VERSION = 1.10 +CCRYPT_VERSION = 1.11 CCRYPT_SITE = http://ccrypt.sourceforge.net/download/$(CCRYPT_VERSION) CCRYPT_LICENSE = GPL-2.0+ diff --git a/package/cctz/Config.in b/package/cctz/Config.in new file mode 100644 index 0000000000..73a0f9f7e7 --- /dev/null +++ b/package/cctz/Config.in @@ -0,0 +1,29 @@ +config BR2_PACKAGE_CCTZ + bool "cctz" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + select BR2_TARGET_TZ_INFO # runtime dependency + help + CCTZ is a C++ library for translating between absolute + and civil times using the rules of a time zone. + + https://github.com/google/cctz + +if BR2_PACKAGE_CCTZ + +config BR2_PACKAGE_CCTZ_INSTALL_TOOLS + bool "Install tools" + help + This option allows installing CCTZ tools. + +config BR2_PACKAGE_CCTZ_INSTALL_EXAMPLES + bool "Install example programs" + help + This option allows installing CCTZ example programs. + +endif + +comment "cctz needs a toolchain w/ C++, threads, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/cctz/cctz.hash b/package/cctz/cctz.hash new file mode 100644 index 0000000000..fe8897c501 --- /dev/null +++ b/package/cctz/cctz.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 8615b20d4e33e02a271c3b93a3b208e3d7d5d66880f5f6208b03426e448f32db cctz-2.3.tar.gz +sha256 c79a7fea0e3cac04cd43f20e7b648e5a0ff8fa5344e644b0ee09ca1162b62747 LICENSE.txt diff --git a/package/cctz/cctz.mk b/package/cctz/cctz.mk new file mode 100644 index 0000000000..bcc80bad47 --- /dev/null +++ b/package/cctz/cctz.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# cctz +# +################################################################################ + +CCTZ_VERSION = 2.3 +CCTZ_SITE = $(call github,google,cctz,v$(CCTZ_VERSION)) +CCTZ_LICENSE = Apache-2.0 +CCTZ_LICENSE_FILES = LICENSE.txt +CCTZ_INSTALL_STAGING = YES + +CCTZ_CONF_OPTS = -DBUILD_TESTING=OFF + +ifeq ($(BR2_PACKAGE_CCTZ_INSTALL_TOOLS),y) +CCTZ_CONF_OPTS += -DBUILD_TOOLS=ON +else +CCTZ_CONF_OPTS += -DBUILD_TOOLS=OFF +endif + +ifeq ($(BR2_PACKAGE_CCTZ_INSTALL_EXAMPLES),y) +CCTZ_CONF_OPTS += -DBUILD_EXAMPLES=ON +else +CCTZ_CONF_OPTS += -DBUILD_EXAMPLES=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/cdrkit/0003-Add-extern-to-char-outfile-declaration-to-fix-build-.patch b/package/cdrkit/0003-Add-extern-to-char-outfile-declaration-to-fix-build-.patch new file mode 100644 index 0000000000..30f4c8d01d --- /dev/null +++ b/package/cdrkit/0003-Add-extern-to-char-outfile-declaration-to-fix-build-.patch @@ -0,0 +1,30 @@ +From eabcc8a6e39dc3c28faee3e04aa56cc65a38d65a Mon Sep 17 00:00:00 2001 +From: Urja Rannikko +Date: Sun, 19 Jul 2020 20:28:27 +0300 +Subject: [PATCH] Add extern to char* outfile declaration to fix build with gcc + 10 + +Without this linking fails with a rather long spew of +"multiple definition of `outfile'". + +Signed-off-by: Urja Rannikko +--- + genisoimage/genisoimage.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/genisoimage/genisoimage.h b/genisoimage/genisoimage.h +index bbedfb0..82c859b 100644 +--- a/genisoimage/genisoimage.h ++++ b/genisoimage/genisoimage.h +@@ -376,7 +376,7 @@ extern int use_fileversion; + extern int split_SL_component; + extern int split_SL_field; + extern char *trans_tbl; +-char *outfile; ++extern char *outfile; + + #define JMAX 64 /* maximum Joliet file name length (spec) */ + #define JLONGMAX 103 /* out of spec Joliet file name length */ +-- +2.27.0 + diff --git a/package/cdrkit/cdrkit.hash b/package/cdrkit/cdrkit.hash index 6ecb922df6..8b574c7079 100644 --- a/package/cdrkit/cdrkit.hash +++ b/package/cdrkit/cdrkit.hash @@ -1,2 +1,4 @@ # From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/c/cdrkit/cdrkit_1.1.11-3.dsc -sha256 d1c030756ecc182defee9fe885638c1785d35a2c2a297b4604c0e0dcc78e47da cdrkit_1.1.11.orig.tar.gz +sha256 d1c030756ecc182defee9fe885638c1785d35a2c2a297b4604c0e0dcc78e47da cdrkit_1.1.11.orig.tar.gz +# locally computed +sha256 90daae00475a992a367da5b0658469a5d1c4449dbbe964c5b7246e1aec92f491 COPYING diff --git a/package/cegui/0001-src-Exceptions.cpp-check-if-execinfo-header-is-avail.patch b/package/cegui/0001-src-Exceptions.cpp-check-if-execinfo-header-is-avail.patch new file mode 100644 index 0000000000..dd5dba9e71 --- /dev/null +++ b/package/cegui/0001-src-Exceptions.cpp-check-if-execinfo-header-is-avail.patch @@ -0,0 +1,33 @@ +From e18e48624cd45910917e5e4fb0aa16cef490bb6d Mon Sep 17 00:00:00 2001 +From: Bartosz Bilas +Date: Sun, 22 Mar 2020 14:25:53 +0100 +Subject: [PATCH] src/Exceptions.cpp: check if execinfo header is available + +Fixes: + fatal error: execinfo.h: No such file or directory + compilation terminated. + +Signed-off-by: Bartosz Bilas +--- + Upstream status: https://github.com/cegui/cegui/pull/1189 + +cegui/src/Exceptions.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/cegui/src/Exceptions.cpp b/cegui/src/Exceptions.cpp +index 8e4890378..6a8420491 100644 +--- a/cegui/src/Exceptions.cpp ++++ b/cegui/src/Exceptions.cpp +@@ -46,7 +46,9 @@ + #elif (defined(__linux__) && !defined(__ANDROID__)) \ + || defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) \ + || defined(__HAIKU__) ++#ifdef HAVE_EXECINFO_H + # include ++#endif + # include + # include + # include +-- +2.25.2 + diff --git a/package/cegui/0002-cegui-src-IconvStringTranscoder.cpp-use-cast-notatio.patch b/package/cegui/0002-cegui-src-IconvStringTranscoder.cpp-use-cast-notatio.patch new file mode 100644 index 0000000000..f30438b986 --- /dev/null +++ b/package/cegui/0002-cegui-src-IconvStringTranscoder.cpp-use-cast-notatio.patch @@ -0,0 +1,34 @@ +From 4561bac9dddad8fd79e746ea1ddd89c20647a162 Mon Sep 17 00:00:00 2001 +From: Bartosz Bilas +Date: Thu, 2 Apr 2020 18:04:28 +0200 +Subject: [PATCH] cegui/src/IconvStringTranscoder.cpp: use cast notation + instead of reinterpret_cast + +Fixes: + IconvStringTranscoder.cpp:50:49: error: invalid cast from type 'int' to + type 'iconv_t' {aka 'long int'} + if (d_cd == reinterpret_cast(-1)) + +Signed-off-by: Bartosz Bilas +--- + Upstream status: https://github.com/cegui/cegui/pull/1194 + + cegui/src/IconvStringTranscoder.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cegui/src/IconvStringTranscoder.cpp b/cegui/src/IconvStringTranscoder.cpp +index 1a5df2995..f6b5aa816 100644 +--- a/cegui/src/IconvStringTranscoder.cpp ++++ b/cegui/src/IconvStringTranscoder.cpp +@@ -47,7 +47,7 @@ public: + d_toCode(tocode), + d_cd(iconv_open(d_toCode.c_str(), d_fromCode.c_str())) + { +- if (d_cd == reinterpret_cast(-1)) ++ if (d_cd == (iconv_t)(-1)) + CEGUI_THROW(InvalidRequestException(String( + "Failed to create conversion descriptor from \"") + + d_fromCode.c_str() + "\" to \"" + d_toCode.c_str() + "\".")); +-- +2.26.0 + diff --git a/package/cegui/Config.in b/package/cegui/Config.in new file mode 100644 index 0000000000..f917be0cc5 --- /dev/null +++ b/package/cegui/Config.in @@ -0,0 +1,21 @@ +comment "cegui needs a toolchain w/ C++, threads, dynamic library, wchar" + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \ + || BR2_STATIC_LIBS || !BR2_USE_WCHAR + +config BR2_PACKAGE_CEGUI + bool "cegui" + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_WCHAR + select BR2_PACKAGE_GLM + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + help + Crazy Eddie's GUI System is a free library providing windowing + and widgets for graphics APIs / engines where such + functionality is not natively available, or severely lacking. + The library is object orientated, written in C++, and targeted + at games developers who should be spending their time creating + great games, not building GUI sub-systems! + + http://www.cegui.org.uk/ diff --git a/package/cegui/cegui.hash b/package/cegui/cegui.hash new file mode 100644 index 0000000000..8295039037 --- /dev/null +++ b/package/cegui/cegui.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 7be289d2d8562e7d20bd155d087d6ccb0ba62f7e99cc25d20684b8edf2ba15cd cegui-0-8-7.tar.gz +sha256 cc869e2ece8ad039f6d7fd17259db4ea0ae0a502d02a1bb506c0168deb12e40d COPYING diff --git a/package/cegui/cegui.mk b/package/cegui/cegui.mk new file mode 100644 index 0000000000..6158ef129c --- /dev/null +++ b/package/cegui/cegui.mk @@ -0,0 +1,93 @@ +################################################################################ +# +# cegui +# +################################################################################ + +CEGUI_VERSION = 0-8-7 +CEGUI_SITE = $(call github,cegui,cegui,v$(CEGUI_VERSION)) +CEGUI_LICENSE = MIT +CEGUI_LICENSE_FILES = COPYING +CEGUI_INSTALL_STAGING = YES +CEGUI_CONF_OPTS += -DCEGUI_BUILD_XMLPARSER_XERCES=OFF \ + -DCEGUI_HAS_MINIZIP_RESOURCE_PROVIDER=OFF \ + -DCEGUI_BUILD_RENDERER_OGRE=OFF +CEGUI_DEPENDENCIES = glm \ + $(if $(BR2_PACKAGE_LIBGLFW),libglfw) \ + $(if $(BR2_PACKAGE_HAS_LIBGL),libgl) \ + $(if $(BR2_PACKAGE_HAS_LIBGLES),libgles) \ + $(if $(BR2_PACKAGE_LIBGLEW),libglew) \ + $(if $(BR2_PACKAGE_LIBICONV),libiconv) + +# libepoxy support cannot be enabled together with libglew +ifeq ($(BR2_PACKAGE_LIBEPOXY):$(BR2_PACKAGE_LIBGLEW),y:) +CEGUI_DEPENDENCIES += libepoxy +CEGUI_CONF_OPTS += -DCEGUI_USE_EPOXY=ON +else +CEGUI_CONF_OPTS += -DCEGUI_USE_EPOXY=OFF +endif + +ifeq ($(BR2_PACKAGE_EXPAT),y) +CEGUI_DEPENDENCIES += expat +CEGUI_CONF_OPTS += -DCEGUI_BUILD_XMLPARSER_EXPAT=ON +else +CEGUI_CONF_OPTS += -DCEGUI_BUILD_XMLPARSER_EXPAT=OFF +endif + +ifeq ($(BR2_PACKAGE_IRRLICHT),y) +CEGUI_DEPENDENCIES += irrlicht +CEGUI_CONF_OPTS += -DCEGUI_BUILD_RENDERER_IRRLICHT=ON +else +CEGUI_CONF_OPTS += -DCEGUI_BUILD_RENDERER_IRRLICHT=OFF +endif + +ifeq ($(BR2_PACKAGE_SDL2)$(BR2_PACKAGE_SDL2_IMAGE),yy) +CEGUI_DEPENDENCIES += sdl2 sdl2_image +CEGUI_CONF_OPTS += -DCEGUI_BUILD_IMAGECODEC_SDL2=ON +else +CEGUI_CONF_OPTS += -DCEGUI_BUILD_IMAGECODEC_SDL2=OFF +endif + +ifeq ($(BR2_PACKAGE_PCRE),y) +CEGUI_DEPENDENCIES += pcre +CEGUI_CONF_OPTS += -DCEGUI_HAS_PCRE_REGEX=ON +else +CEGUI_CONF_OPTS += -DCEGUI_HAS_PCRE_REGEX=OFF +endif + +ifeq ($(BR2_PACKAGE_FREETYPE),y) +CEGUI_DEPENDENCIES += freetype +CEGUI_CONF_OPTS += -DCEGUI_HAS_FREETYPE=ON +else +CEGUI_CONF_OPTS += -DCEGUI_HAS_FREETYPE=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBXML2),y) +CEGUI_DEPENDENCIES += libxml2 +CEGUI_CONF_OPTS += -DCEGUI_BUILD_XMLPARSER_LIBXML2=ON +else +CEGUI_CONF_OPTS += -DCEGUI_BUILD_XMLPARSER_LIBXML2=OFF +endif + +ifeq ($(BR2_PACKAGE_RAPIDXML),y) +CEGUI_DEPENDENCIES += rapidxml +CEGUI_CONF_OPTS += -DCEGUI_BUILD_XMLPARSER_RAPIDXML=ON +else +CEGUI_CONF_OPTS += -DCEGUI_BUILD_XMLPARSER_RAPIDXML=OFF +endif + +ifeq ($(BR2_PACKAGE_TINYXML),y) +CEGUI_DEPENDENCIES += tinyxml +CEGUI_CONF_OPTS += -DCEGUI_BUILD_XMLPARSER_TINYXML=ON +else +CEGUI_CONF_OPTS += -DCEGUI_BUILD_XMLPARSER_TINYXML=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBFREEIMAGE),y) +CEGUI_DEPENDENCIES += libfreeimage +CEGUI_CONF_OPTS += -DCEGUI_BUILD_IMAGECODEC_FREEIMAGE=ON +else +CEGUI_CONF_OPTS += -DCEGUI_BUILD_IMAGECODEC_FREEIMAGE=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/cegui06/0001-stddef.h.patch b/package/cegui06/0001-stddef.h.patch deleted file mode 100644 index cc16effc25..0000000000 --- a/package/cegui06/0001-stddef.h.patch +++ /dev/null @@ -1,26 +0,0 @@ -includes: ptrdiff_t is defined in stddef.h - -ptrdiff_t is defined in the stddef.h header, so this -header must be included. - -Do the #include in a common header to avoid doing it -all over the place. - -Signed-off-by: "Yann E. MORIN" - ---- -Patch not sent upstream, it's a no-longer-maintained branch. -To be noted, however, is that the current devel branch is -still missing that include. - -diff -durN cegui06-0.6.2.orig/include/CEGUIBase.h cegui06-0.6.2/include/CEGUIBase.h ---- cegui06-0.6.2.orig//include/CEGUIBase.h 2008-02-11 15:38:27.000000000 +0100 -+++ cegui06-0.6.2/include/CEGUIBase.h 2012-08-19 22:51:50.260385978 +0200 -@@ -34,6 +34,7 @@ - #define _CEGUIBase_h_ - - #include -+#include - - // bring in configuration options - #include "CEGUIConfig.h" diff --git a/package/cegui06/Config.in b/package/cegui06/Config.in deleted file mode 100644 index 0139d32422..0000000000 --- a/package/cegui06/Config.in +++ /dev/null @@ -1,20 +0,0 @@ -comment "cegui06 needs a toolchain w/ C++, threads, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS - -config BR2_PACKAGE_CEGUI06 - bool "cegui06" - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_INSTALL_LIBSTDCPP - depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_EXPAT - select BR2_PACKAGE_FREETYPE - select BR2_PACKAGE_PCRE - help - Crazy Eddie's GUI System is a free library providing windowing - and widgets for graphics APIs / engines where such - functionality is not natively available, or severely lacking. - The library is object orientated, written in C++, and targeted - at games developers who should be spending their time creating - great games, not building GUI sub-systems! - - http://www.cegui.org.uk/ diff --git a/package/cegui06/cegui06.hash b/package/cegui06/cegui06.hash deleted file mode 100644 index 21df3ca09f..0000000000 --- a/package/cegui06/cegui06.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 eb77741cd9fcc927a876e8116b98691212e973d2264e2071406423f6ca3e305f CEGUI-0.6.2b.tar.gz diff --git a/package/cegui06/cegui06.mk b/package/cegui06/cegui06.mk deleted file mode 100644 index d3da3ebc4c..0000000000 --- a/package/cegui06/cegui06.mk +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# -# cegui06 -# -################################################################################ - -# Do not update the version, we need exactly that one for Spice. -CEGUI06_VERSION_MAJOR = 0.6.2 -CEGUI06_VERSION = $(CEGUI06_VERSION_MAJOR)b -CEGUI06_SOURCE = CEGUI-$(CEGUI06_VERSION).tar.gz -CEGUI06_SITE = http://downloads.sourceforge.net/project/crayzedsgui/CEGUI%20Mk-2/$(CEGUI06_VERSION_MAJOR) -CEGUI06_LICENSE = MIT -CEGUI06_LICENSE_FILES = COPYING -CEGUI06_INSTALL_STAGING = YES - -CEGUI06_DEPENDENCIES = \ - expat \ - freetype \ - pcre - -CEGUI06_CONF_OPTS = \ - --enable-expat \ - --disable-external-tinyxml \ - --disable-xerces-c \ - --disable-libxml \ - --disable-tinyxml \ - --disable-opengl-renderer \ - --disable-external-glew \ - --disable-irrlicht-renderer \ - --disable-directfb-renderer \ - --disable-samples \ - --disable-lua-module \ - --disable-toluacegui \ - --disable-external-toluapp - -$(eval $(autotools-package)) diff --git a/package/celt051/0001-fix-gnuc-prereq.patch b/package/celt051/0001-fix-gnuc-prereq.patch deleted file mode 100644 index 8efd518d97..0000000000 --- a/package/celt051/0001-fix-gnuc-prereq.patch +++ /dev/null @@ -1,29 +0,0 @@ -Fix musl build - -musl does not define __GNUC_PREREQ. Use patch from Alpine Linux -(http://git.alpinelinux.org/cgit/aports/plain/main/celt051/fix-gnuc-prereq.patch). - -Fixes http://autobuild.buildroot.net/results/223/223ba6003bdd7e0c896455c21fa8fee943b4e716/ - -Signed-off-by: Jörg Krause - ---- celt-0.5.1.3.orig/libcelt/ecintrin.h -+++ celt-0.5.1.3/libcelt/ecintrin.h -@@ -52,8 +52,7 @@ - /*Count leading zeros. - This macro should only be used for implementing ec_ilog(), if it is defined. - All other code should use EC_ILOG() instead.*/ --#ifdef __GNUC_PREREQ --#if __GNUC_PREREQ(3,4) -+#if defined(__GNUC__) && ((__GNUC__<<16)+__GNUC_MINOR__) >= 0x304 - # if INT_MAX>=2147483647 - # define EC_CLZ0 sizeof(unsigned)*CHAR_BIT - # define EC_CLZ(_x) (__builtin_clz(_x)) -@@ -61,7 +60,6 @@ - # define EC_CLZ0 sizeof(unsigned long)*CHAR_BIT - # define EC_CLZ(_x) (__builtin_clzl(_x)) - # endif --#endif - #endif - - #if defined(EC_CLZ) diff --git a/package/celt051/Config.in b/package/celt051/Config.in deleted file mode 100644 index e1513190db..0000000000 --- a/package/celt051/Config.in +++ /dev/null @@ -1,15 +0,0 @@ -config BR2_PACKAGE_CELT051 - bool "celt051" - select BR2_PACKAGE_LIBOGG - help - The CELT ultra-low delay audio codec - - The CELT codec is a compression algorithm for audio. Like MP3, - Vorbis, and AAC it is suitable for transmitting music with - high quality. Unlike these formats CELT imposes very little - delay on the signal, even less than is typical for speech - centric formats like Speex, GSM, or G.729. - - Note: this is version 0.5.1.3 of celt. - - http://www.celt-codec.org/ diff --git a/package/celt051/celt051.hash b/package/celt051/celt051.hash deleted file mode 100644 index 4ad212b2d3..0000000000 --- a/package/celt051/celt051.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://downloads.xiph.org/releases/celt/SHA1SUMS -sha1 eb05030108c36cb063c3f026c349f16d78e0a497 celt-0.5.1.3.tar.gz diff --git a/package/celt051/celt051.mk b/package/celt051/celt051.mk deleted file mode 100644 index 01da5c933e..0000000000 --- a/package/celt051/celt051.mk +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# -# celt -# -################################################################################ - -# Although version newer than 0.5.1.3 exists, we're -# stuck with 0.5.1.3 for use by Spice (coming later) -CELT051_VERSION = 0.5.1.3 -CELT051_SOURCE = celt-$(CELT051_VERSION).tar.gz -CELT051_SITE = http://downloads.xiph.org/releases/celt -CELT051_LICENSE = BSD-2-Clause -CELT051_LICENSE_FILES = COPYING -CELT051_INSTALL_STAGING = YES -CELT051_DEPENDENCIES = libogg - -# Need to specify --with-ogg, otherwise /usr/lib may be searched for -# if target is the same kind as host (ie. same arch, same bitness, -# same endianness, so that /usr/lib contains libraries linkable by -# our cross-compiler) -CELT051_CONF_OPTS = \ - --enable-fixed-point \ - --disable-fixed-point-debug \ - --disable-experimental-postfilter \ - --disable-static-modes \ - --disable-assertions \ - --disable-oggtest \ - --with-ogg=$(STAGING_DIR)/usr - -$(eval $(autotools-package)) diff --git a/package/cereal/Config.in b/package/cereal/Config.in new file mode 100644 index 0000000000..3ac463c4fc --- /dev/null +++ b/package/cereal/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_CEREAL + bool "cereal" + depends on BR2_USE_WCHAR + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 + help + cereal is a header-only C++11 serialization library. + cereal takes arbitrary data types and reversibly turns them + into different representations, such as compact binary + encodings, XML or JSON. cereal was designed to be fast, + light-weight, and easy to extend - it has no external + dependencies and can be easily bundled with other code or used + standalone. + + https://github.com/USCiLab/cereal + +comment "cereal needs a toolchain w/ C++, gcc >= 4.7, threads, wchar" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 diff --git a/package/cereal/cereal.hash b/package/cereal/cereal.hash new file mode 100644 index 0000000000..ddaf54e7b4 --- /dev/null +++ b/package/cereal/cereal.hash @@ -0,0 +1,6 @@ +# Locally computed +sha256 329ea3e3130b026c03a4acc50e168e7daff4e6e661bc6a7dfec0d77b570851d5 cereal-1.3.0.tar.gz +sha256 18fd7618c44c9fe28b5f54cd19747df3c0472ed33e8507fea571e2acf6e72f34 LICENSE +sha256 d9e523e8736ac0c68064c7ad312a222f285e82bf6c96a1b1c2cadaffff9fc64f include/cereal/external/base64.hpp +sha256 7fb69c707f0ed3a8b59b8f949f0928a9cc06d67bc15d599094693703ff70ea26 include/cereal/external/rapidjson/rapidjson.h +sha256 794bf3b2ecf5cf0c740ac6c524d66ce6284c4b1de1f983d21a242b8abbeb9720 include/cereal/external/rapidxml/license.txt diff --git a/package/cereal/cereal.mk b/package/cereal/cereal.mk new file mode 100644 index 0000000000..3811fdf32f --- /dev/null +++ b/package/cereal/cereal.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# cereal +# +################################################################################ + +CEREAL_VERSION = 1.3.0 +CEREAL_SITE = $(call github,USCiLab,cereal,v$(CEREAL_VERSION)) +# For licensing, see also: https://github.com/USCiLab/cereal/issues/609 +CEREAL_LICENSE = BSD-3-Clause (cereal), Zlib (base64.hpp), MIT (rapidjson), BSL-1.0 or MIT (rapidxml) +CEREAL_LICENSE_FILES = LICENSE include/cereal/external/base64.hpp include/cereal/external/rapidjson/rapidjson.h include/cereal/external/rapidxml/license.txt +CEREAL_INSTALL_STAGING = YES +CEREAL_INSTALL_TARGET = NO +CEREAL_CONF_OPTS = \ + -DTHREAD_SAFE=ON \ + -DJUST_INSTALL_CEREAL=ON + +$(eval $(cmake-package)) diff --git a/package/cgic/cgic.hash b/package/cgic/cgic.hash index fa1d0bc95c..d3f082e888 100644 --- a/package/cgic/cgic.hash +++ b/package/cgic/cgic.hash @@ -1,2 +1,3 @@ # Locally computed sha256 1e8834642a4b89528bb7bde2f287e133c6b07e210e68681a34137c436d59d320 cgic207.tar.gz +sha256 6a7de92593d64dbf7630d8f66f97e04a899769bef1e055f2434bc06b87b9de62 license.txt diff --git a/package/cgilua/cgilua.hash b/package/cgilua/cgilua.hash index ac977ec38a..8bdb1d18f1 100644 --- a/package/cgilua/cgilua.hash +++ b/package/cgilua/cgilua.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 8e9ef583f8e1c5b600ebc6bb04924a61f72320130410191a9c56d7295fb02be1 cgilua-5.1.4-2.src.rock -sha256 e612df003d24aeaf6d3cc09a1e9255493c691866158b5962dc4c68fff8a56a8b cgilua-5.1.4/doc/us/license.html +sha256 7d4883e6a89b3463a1d35b8084a6e2afbbb584af7aca1169380e92af0f848413 cgilua-5.2.1-1.src.rock +sha256 0cf6f0858b0fd90bb5705c8ace77a8afd11e8fce1427fe0a48156937222b8c28 cgilua-5.2.1/doc/us/license.html diff --git a/package/cgilua/cgilua.mk b/package/cgilua/cgilua.mk index 17b3964259..cd78841fdb 100644 --- a/package/cgilua/cgilua.mk +++ b/package/cgilua/cgilua.mk @@ -4,7 +4,7 @@ # ################################################################################ -CGILUA_VERSION = 5.1.4-2 +CGILUA_VERSION = 5.2.1-1 CGILUA_LICENSE = MIT CGILUA_LICENSE_FILES = $(CGILUA_SUBDIR)/doc/us/license.html diff --git a/package/cgroupfs-mount/cgroupfs-mount.hash b/package/cgroupfs-mount/cgroupfs-mount.hash index 926a031d75..dc103646a8 100644 --- a/package/cgroupfs-mount/cgroupfs-mount.hash +++ b/package/cgroupfs-mount/cgroupfs-mount.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 d6c8aff7af59c7d0082ee3018c97f73b0421e81a49bb28ad9f66a36da5cd6ec7 cgroupfs-mount-1.4.tar.gz +sha256 d6c8aff7af59c7d0082ee3018c97f73b0421e81a49bb28ad9f66a36da5cd6ec7 cgroupfs-mount-1.4.tar.gz +sha256 e52f47a650734f70c40c8fd9318f85e42777bf3fba7ff1dfb72f845bb417f7e6 debian/copyright diff --git a/package/chartjs/Config.in b/package/chartjs/Config.in new file mode 100644 index 0000000000..73cc9b7750 --- /dev/null +++ b/package/chartjs/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_CHARTJS + bool "chartjs" + help + Chart.js, a simple yet flexible JavaScript charting library + for designers & developers + + https://www.chartjs.org/ diff --git a/package/chartjs/chartjs.hash b/package/chartjs/chartjs.hash new file mode 100644 index 0000000000..d2426ea614 --- /dev/null +++ b/package/chartjs/chartjs.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 8079d8fd39131fcfaec33f1c7799412bcf8e051e25b10bd6e37fc16159417aa1 chartjs-v2.9.3.tar.gz +sha256 7b43caae91f31b18dc81fae6e0f7aa1acbecaa6d84e3249905cbe15308307d67 LICENSE.md diff --git a/package/chartjs/chartjs.mk b/package/chartjs/chartjs.mk new file mode 100644 index 0000000000..171e0a4a7c --- /dev/null +++ b/package/chartjs/chartjs.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# chartjs +# +################################################################################ + +CHARTJS_VERSION = v2.9.3 +CHARTJS_SITE = $(call github,chartjs,Chart.js,$(CHARTJS_VERSION)) +CHARTJS_LICENSE = MIT +CHARTJS_LICENSE_FILES = LICENSE.md + +define CHARTJS_INSTALL_TARGET_CMDS + $(INSTALL) -m 0644 -D $(@D)/dist/Chart.min.css \ + $(TARGET_DIR)/var/www/chartjs/css/Chart.css + $(INSTALL) -m 0644 -D $(@D)/dist/Chart.min.js \ + $(TARGET_DIR)/var/www/chartjs/js/Chart.js + $(INSTALL) -m 0644 -D $(@D)/dist/Chart.bundle.min.js \ + $(TARGET_DIR)/var/www/chartjs/js/Chart.bundle.js +endef + +$(eval $(generic-package)) diff --git a/package/check/check.hash b/package/check/check.hash index 3c41a96144..52839a68b4 100644 --- a/package/check/check.hash +++ b/package/check/check.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 24f7a48aae6b74755bcbe964ce8bc7240f6ced2141f8d9cf480bc3b3de0d5616 check-0.11.0.tar.gz +sha256 bd0f0ca1be65b70238b32f8e9fe5d36dc2fbf7a759b7edf28e75323a7d74f30b check-0.14.0.tar.gz # License files, locally calculated sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LESSER diff --git a/package/check/check.mk b/package/check/check.mk index 047beba635..6bec07adbd 100644 --- a/package/check/check.mk +++ b/package/check/check.mk @@ -4,7 +4,7 @@ # ################################################################################ -CHECK_VERSION = 0.11.0 +CHECK_VERSION = 0.14.0 CHECK_SITE = https://github.com/libcheck/check/releases/download/$(CHECK_VERSION) CHECK_INSTALL_STAGING = YES CHECK_DEPENDENCIES = host-pkgconf diff --git a/package/checkpolicy/0001-checkpolicy-remove-unused-te_assertions.patch b/package/checkpolicy/0001-checkpolicy-remove-unused-te_assertions.patch new file mode 100644 index 0000000000..0c4ffcbf87 --- /dev/null +++ b/package/checkpolicy/0001-checkpolicy-remove-unused-te_assertions.patch @@ -0,0 +1,45 @@ +From 4d330d0d3155211f119b3082f728ae42dcc01e96 Mon Sep 17 00:00:00 2001 +From: Ondrej Mosnacek +Date: Thu, 23 Jan 2020 13:57:15 +0100 +Subject: [PATCH] checkpolicy: remove unused te_assertions + +This variable is declared in a header file, but never defined or used. +The te_assert structure definition is only used in this declaration, so +remove both. + +Upstream: https://github.com/SELinuxProject/selinux/commit/4d330d0d3155211f119b3082f728ae42dcc01e96#diff-daf264ea505347df0d59a3a97a07742e + +Signed-off-by: Ondrej Mosnacek +Signed-off-by: Matthew Weber +--- + checkpolicy.h | 14 -------------- + 1 file changed, 14 deletions(-) + +diff --git a/checkpolicy.h b/checkpolicy.h +index 3868f1fa..f127687e 100644 +--- a/checkpolicy.h ++++ b/checkpolicy.h +@@ -1,20 +1,6 @@ + #ifndef _CHECKPOLICY_H_ + #define _CHECKPOLICY_H_ + +-#include +- +-typedef struct te_assert { +- ebitmap_t stypes; +- ebitmap_t ttypes; +- ebitmap_t tclasses; +- int self; +- sepol_access_vector_t *avp; +- unsigned long line; +- struct te_assert *next; +-} te_assert_t; +- +-te_assert_t *te_assertions; +- + extern unsigned int policyvers; + + #endif +-- +2.17.1 + diff --git a/package/checkpolicy/Config.in b/package/checkpolicy/Config.in index 97ad0b7704..ad769d22b7 100644 --- a/package/checkpolicy/Config.in +++ b/package/checkpolicy/Config.in @@ -2,8 +2,6 @@ config BR2_PACKAGE_CHECKPOLICY bool "checkpolicy" depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux depends on !BR2_STATIC_LIBS # libselinux - depends on BR2_TOOLCHAIN_USES_GLIBC # libselinux - depends on !BR2_arc # libselinux select BR2_PACKAGE_LIBSELINUX select BR2_PACKAGE_FLEX help @@ -15,7 +13,5 @@ config BR2_PACKAGE_CHECKPOLICY http://selinuxproject.org/page/Main_Page -comment "checkpolicy needs a glibc toolchain w/ threads, dynamic library" - depends on !BR2_arc - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ - !BR2_TOOLCHAIN_USES_GLIBC +comment "checkpolicy needs a toolchain w/ threads, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/checkpolicy/checkpolicy.hash b/package/checkpolicy/checkpolicy.hash index cf38d6e2f4..264e21b8f3 100644 --- a/package/checkpolicy/checkpolicy.hash +++ b/package/checkpolicy/checkpolicy.hash @@ -1,5 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 9dec811c24b88e58c3bf741365eacf1dbb945531a2fcb8f284aacf68098194c8 checkpolicy-2.8.tar.gz +sha256 c88c719a141dd5c1202d49c378c7f063349d630522d5e04dc6e0c53da81aa4f8 checkpolicy-3.0.tar.gz # Hash for license file sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/checkpolicy/checkpolicy.mk b/package/checkpolicy/checkpolicy.mk index 7143b2d7d2..3b055df489 100644 --- a/package/checkpolicy/checkpolicy.mk +++ b/package/checkpolicy/checkpolicy.mk @@ -4,8 +4,8 @@ # ################################################################################ -CHECKPOLICY_VERSION = 2.8 -CHECKPOLICY_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524 +CHECKPOLICY_VERSION = 3.0 +CHECKPOLICY_SITE = https://github.com/SELinuxProject/selinux/releases/download/20191204 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 deleted file mode 100644 index 3ed75a3c34..0000000000 --- a/package/checksec/0001-checksec-Fixed-issue-with-relative-path.patch +++ /dev/null @@ -1,43 +0,0 @@ -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/checksec.hash b/package/checksec/checksec.hash index e3d1ffd5d1..4543f62a36 100644 --- a/package/checksec/checksec.hash +++ b/package/checksec/checksec.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 510b0b0528f15d0bf13fa1ae7140d2b9fc9261323c98ff76c011bef475a69c14 checksec-cdefe53eb72e6e8f23308417d2fc6b68cba9dbac.tar.gz +sha256 e50a92a2bb22d40d1aa297cd011209ab5ad0b620236dfb9a7afe4c29744260a9 checksec-2.1.0.tar.gz sha256 c5e2a8e188040fc34eb9362084778a2e25f8d1f888e47a2be09efa7cecd9c70d LICENSE.txt diff --git a/package/checksec/checksec.mk b/package/checksec/checksec.mk index bfe54c262e..ffa249663c 100644 --- a/package/checksec/checksec.mk +++ b/package/checksec/checksec.mk @@ -4,7 +4,7 @@ # ################################################################################ -CHECKSEC_VERSION = cdefe53eb72e6e8f23308417d2fc6b68cba9dbac +CHECKSEC_VERSION = 2.1.0 CHECKSEC_SITE = $(call github,slimm609,checksec.sh,$(CHECKSEC_VERSION)) CHECKSEC_LICENSE = BSD-3-Clause CHECKSEC_LICENSE_FILES = LICENSE.txt diff --git a/package/chipmunk/chipmunk.hash b/package/chipmunk/chipmunk.hash index 7bd9b15692..fc34639aa0 100644 --- a/package/chipmunk/chipmunk.hash +++ b/package/chipmunk/chipmunk.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 6b6d8d5d910c4442fb9c8c4c46a178126d8c21d075cdb3ce439a7f8d8757b0ca Chipmunk-7.0.2.tar.gz +sha256 1e6f093812d6130e45bdf4cb80280cb3c93d1e1833d8cf989d554d7963b7899a Chipmunk-7.0.3.tar.gz # Hash for license file: sha256 109cedb0301cba4e05fa99241f162bdad015c9541ae84b420b0148ac1ea588e2 LICENSE.txt diff --git a/package/chipmunk/chipmunk.mk b/package/chipmunk/chipmunk.mk index a84af22823..e85af5d123 100644 --- a/package/chipmunk/chipmunk.mk +++ b/package/chipmunk/chipmunk.mk @@ -4,7 +4,7 @@ # ################################################################################ -CHIPMUNK_VERSION = 7.0.2 +CHIPMUNK_VERSION = 7.0.3 CHIPMUNK_SITE = https://github.com/slembcke/Chipmunk2D/archive CHIPMUNK_SOURCE = Chipmunk-$(CHIPMUNK_VERSION).tar.gz CHIPMUNK_INSTALL_STAGING = YES diff --git a/package/chocolate-doom/0004-configure-Switch-to-pkg-config-macros.patch b/package/chocolate-doom/0004-configure-Switch-to-pkg-config-macros.patch deleted file mode 100644 index 2618396b56..0000000000 --- a/package/chocolate-doom/0004-configure-Switch-to-pkg-config-macros.patch +++ /dev/null @@ -1,217 +0,0 @@ -From 3163bf87d7b955d08dedd5ebaccb1b2a86ffdcb9 Mon Sep 17 00:00:00 2001 -From: Simon Howard -Date: Thu, 25 Feb 2016 22:55:04 -0500 -Subject: [PATCH] configure: Switch to pkg-config macros. - -All dependency libraries install pkg-config .pc files nowadays, which -makes the process of looking them up a lot simpler. Get rid of the SDL -workaround macro as it's not needed. - -[Backported from upstream commit 3163bf87d7b955d08dedd5ebaccb1b2a86ffdcb9. -Fixes static linking issues with SDL_mixer.] - -Signed-off-by: Rodrigo Rebello ---- - configure.ac | 117 ++++++++++++++-------------------------- - opl/examples/Makefile.am | 2 +- - src/Makefile.am | 7 ++- - textscreen/Makefile.am | 2 +- - textscreen/examples/Makefile.am | 2 +- - 5 files changed, 49 insertions(+), 81 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 7b03485..48f83ef 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -33,89 +33,54 @@ then - CFLAGS="-O$OPT_LEVEL -g $WARNINGS $orig_CFLAGS" - fi - --dnl Search for SDL ... -- --AM_PATH_SDL(1.1.3) -- --# Add the SDL compiler flags to the default compiler flag variables. --# It is important to do this now, before checking for headers and --# library functions. The reason being that on Windows, sdl-config --# sets the -mno-cygwin compiler option in order to generate MinGW --# executables. If we don't do this now, we might end up discovering --# header files that are not actually available to us when we come --# to compile. -- --CFLAGS="$CFLAGS $SDL_CFLAGS" --LDFLAGS="$LDFLAGS $SDL_LIBS" -- --# On some platforms, SDL renames main() to SDL_main() using a #define, --# so that its own main, stored in the SDLmain library, can be run first. --# Unfortunately, this causes problems for autoconf, which builds --# test programs to probe the system. All library/header/symbol checks --# must be run in this block, that performs a workaround for the problem. -- --AC_SDL_MAIN_WORKAROUND([ -- -- # Check for SDL_mixer. -- -- AC_CHECK_LIB(SDL_mixer,Mix_LoadMUS,[ -- SDLMIXER_LIBS="$SDLMIXER_LIBS -lSDL_mixer" -- ],[ -- echo "*** Could not find SDL_mixer. Please install it." -- exit -1 -- ]) -- -- # Check for SDL_net. -- -- AC_CHECK_LIB(SDL_net,SDLNet_UDP_Send,[ -- SDLNET_LIBS="$SDLNET_LIBS -lSDL_net" -- ],[ -- echo "*** Could not find SDL_net. Please install it." -- exit -1 -- ]) -- -- # Check for libsamplerate. -- AC_ARG_WITH([libsamplerate], -- AS_HELP_STRING([--without-libsamplerate], -- [Build without libsamplerate @<:@default=check@:>@]), -- [], -- [ -- [with_libsamplerate=check] -- ]) -- AS_IF([test "x$with_libsamplerate" != xno], [ -- AC_CHECK_LIB(samplerate, src_new, [], [ -- AS_IF([test "x$with_libsamplerate" != xcheck], [AC_MSG_FAILURE( -- [--with-libsamplerate was given, but test for libsamplerate failed]) -- ]) -+PKG_CHECK_MODULES([SDL], [sdl]) -+PKG_CHECK_MODULES([SDLMIXER], [SDL_mixer]) -+PKG_CHECK_MODULES([SDLNET], [SDL_net]) -+ -+# Check for libsamplerate. -+AC_ARG_WITH([libsamplerate], -+AS_HELP_STRING([--without-libsamplerate], -+ [Build without libsamplerate @<:@default=check@:>@]), -+[], -+[ -+ [with_libsamplerate=check] -+]) -+AS_IF([test "x$with_libsamplerate" != xno], [ -+ PKG_CHECK_MODULES([SAMPLERATE], [samplerate >= 0.1.8], [ -+ AC_DEFINE([HAVE_LIBSAMPLERATE], [1], [libsamplerate installed]) -+ ], [ -+ AS_IF([test "x$with_libsamplerate" != xcheck], [AC_MSG_FAILURE( -+ [--with-libsamplerate was given, but test for libsamplerate failed]) - ]) - ]) -- # Check for libpng. -- AC_ARG_WITH([libpng], -- AS_HELP_STRING([--without-libpng], -- [Build without libpng @<:@default=check@:>@]), -- [], -- [ -- [with_libpng=check] -- ]) -- AS_IF([test "x$with_libpng" != xno], [ -- AC_CHECK_LIB(z, zlibVersion) -- AC_CHECK_LIB(png, png_get_io_ptr, [], [ -- AS_IF([test "x$with_libpng" != xcheck], [AC_MSG_FAILURE( -- [--with-libpng was given, but test for libpng failed]) -- ]) -+]) -+# Check for libpng. -+AC_ARG_WITH([libpng], -+AS_HELP_STRING([--without-libpng], -+ [Build without libpng @<:@default=check@:>@]), -+[], -+[ -+ [with_libpng=check] -+]) -+AS_IF([test "x$with_libpng" != xno], [ -+ PKG_CHECK_MODULES([PNG], [libpng >= 1.6.10], [ -+ AC_DEFINE([HAVE_LIBPNG], [1], [libpng installed]) -+ ], [ -+ AS_IF([test "x$with_libpng" != xcheck], [AC_MSG_FAILURE( -+ [--with-libpng was given, but test for libpng failed]) - ]) - ]) -- AC_CHECK_LIB(m, log) -+]) -+AC_CHECK_LIB(m, log) - -- AC_CHECK_HEADERS([linux/kd.h dev/isa/spkrio.h dev/speaker/speaker.h]) -- AC_CHECK_FUNCS(mmap ioperm) -+AC_CHECK_HEADERS([linux/kd.h dev/isa/spkrio.h dev/speaker/speaker.h]) -+AC_CHECK_FUNCS(mmap ioperm) - -- # OpenBSD I/O i386 library for I/O port access. -- # (64 bit has the same thing with a different name!) -+# OpenBSD I/O i386 library for I/O port access. -+# (64 bit has the same thing with a different name!) - -- AC_CHECK_LIB(i386, i386_iopl) -- AC_CHECK_LIB(amd64, amd64_iopl) --]) -+AC_CHECK_LIB(i386, i386_iopl) -+AC_CHECK_LIB(amd64, amd64_iopl) - - case $host in - *cygwin* | *mingw* ) -diff --git a/opl/examples/Makefile.am b/opl/examples/Makefile.am -index 9afcd51..54c37f8 100644 ---- a/opl/examples/Makefile.am -+++ b/opl/examples/Makefile.am -@@ -1,5 +1,5 @@ - --AM_CFLAGS = -I$(top_srcdir)/opl -+AM_CFLAGS = -I$(top_srcdir)/opl @SDL_CFLAGS@ - - noinst_PROGRAMS=droplay - -diff --git a/src/Makefile.am b/src/Makefile.am -index 78ee3ba..9624e01 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -21,7 +21,8 @@ execgames_SCRIPTS = $(SETUP_BINARIES) - AM_CFLAGS = -I$(top_srcdir)/textscreen \ - -I$(top_srcdir)/opl \ - -I$(top_srcdir)/pcsound \ -- @SDLMIXER_CFLAGS@ @SDLNET_CFLAGS@ -+ @SDLMIXER_CFLAGS@ @SDLNET_CFLAGS@ \ -+ @SAMPLERATE_CFLAGS@ @PNG_CFLAGS@ - - # Common source files used by absolutely everything: - -@@ -150,7 +151,9 @@ EXTRA_LIBS = \ - @LDFLAGS@ \ - @SDL_LIBS@ \ - @SDLMIXER_LIBS@ \ -- @SDLNET_LIBS@ -+ @SDLNET_LIBS@ \ -+ @SAMPLERATE_LIBS@ \ -+ @PNG_LIBS@ - - if HAVE_WINDRES - @PROGRAM_PREFIX@doom_SOURCES=$(SOURCE_FILES_WITH_DEH) resource.rc -diff --git a/textscreen/Makefile.am b/textscreen/Makefile.am -index 628d4ff..427ed40 100644 ---- a/textscreen/Makefile.am -+++ b/textscreen/Makefile.am -@@ -1,5 +1,5 @@ - --AM_CFLAGS = -I$(top_srcdir)/src -+AM_CFLAGS = -I$(top_srcdir)/src @SDL_CFLAGS@ - - CTAGS_ARGS=-I TXT_UNCAST_ARG+ - -diff --git a/textscreen/examples/Makefile.am b/textscreen/examples/Makefile.am -index 4632d92..b857748 100644 ---- a/textscreen/examples/Makefile.am -+++ b/textscreen/examples/Makefile.am -@@ -1,5 +1,5 @@ - --AM_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/textscreen -+AM_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/textscreen @SDL_CFLAGS@ - - noinst_PROGRAMS=guitest calculator - --- -2.1.4 - diff --git a/package/chocolate-doom/Config.in b/package/chocolate-doom/Config.in index 5e0d9c11ea..406b04ecf1 100644 --- a/package/chocolate-doom/Config.in +++ b/package/chocolate-doom/Config.in @@ -1,12 +1,17 @@ config BR2_PACKAGE_CHOCOLATE_DOOM bool "chocolate-doom" depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_SDL - select BR2_PACKAGE_SDL_MIXER - select BR2_PACKAGE_SDL_NET + depends on !BR2_STATIC_LIBS # sdl2 + select BR2_PACKAGE_SDL2 + select BR2_PACKAGE_SDL2_MIXER + select BR2_PACKAGE_SDL2_NET help Chocolate Doom is a set of conservative source ports for Doom, Heretic, Hexen and Strife, with a philosophy of preserving the look, feel, and bugs of the vanilla versions of each. http://www.chocolate-doom.org + +comment "chocolate-doom needs a toolchain w/ dynamic library" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS diff --git a/package/chocolate-doom/chocolate-doom.hash b/package/chocolate-doom/chocolate-doom.hash index 6751c7d205..7f7fa27ab7 100644 --- a/package/chocolate-doom/chocolate-doom.hash +++ b/package/chocolate-doom/chocolate-doom.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 3e6d1a82ac5c8b025a9695ce1e47d0dc6ed142ebb1129b1e4a70e2740f79150c chocolate-doom-2.3.0.tar.gz +sha256 73aea623930c7d18a7a778eea391e1ddfbe90ad1ac40a91b380afca4b0e1dab8 chocolate-doom-3.0.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/chocolate-doom/chocolate-doom.mk b/package/chocolate-doom/chocolate-doom.mk index 54121c43aa..4e0a8fee18 100644 --- a/package/chocolate-doom/chocolate-doom.mk +++ b/package/chocolate-doom/chocolate-doom.mk @@ -4,22 +4,22 @@ # ################################################################################ -CHOCOLATE_DOOM_VERSION = 2.3.0 +CHOCOLATE_DOOM_VERSION = 3.0.0 CHOCOLATE_DOOM_SITE = http://www.chocolate-doom.org/downloads/$(CHOCOLATE_DOOM_VERSION) CHOCOLATE_DOOM_LICENSE = GPL-2.0+ CHOCOLATE_DOOM_LICENSE_FILES = COPYING -CHOCOLATE_DOOM_DEPENDENCIES = host-pkgconf sdl sdl_mixer sdl_net - -# We're patching configure.ac, so we need to autoreconf -CHOCOLATE_DOOM_AUTORECONF = YES +CHOCOLATE_DOOM_DEPENDENCIES = host-pkgconf sdl2 sdl2_mixer sdl2_net # Avoid installing desktop entries, icons, etc. CHOCOLATE_DOOM_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-exec -CHOCOLATE_DOOM_CONF_OPTS = \ - --disable-sdltest \ - --with-sdl-prefix=$(STAGING_DIR)/usr \ - --with-sdl-exec-prefix=$(STAGING_DIR)/usr +CHOCOLATE_DOOM_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +CHOCOLATE_DOOM_CFLAGS += -O0 +endif + +CHOCOLATE_DOOM_CONF_ENV += CFLAGS="$(CHOCOLATE_DOOM_CFLAGS)" ifeq ($(BR2_PACKAGE_LIBPNG),y) CHOCOLATE_DOOM_DEPENDENCIES += libpng diff --git a/package/chrony/0001-ntp-fix-build-with-musl-libc.patch b/package/chrony/0001-ntp-fix-build-with-musl-libc.patch deleted file mode 100644 index c927b343f7..0000000000 --- a/package/chrony/0001-ntp-fix-build-with-musl-libc.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 1e64bc4c4379ae3e55be3c518e0e3e22c8c4ae77 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 14 Nov 2017 13:23:57 +0200 -Subject: [PATCH] ntp: fix build with musl libc - -The configure script enables HAVE_LINUX_TIMESTAMPING_OPT_PKTINFO based -on the existence of struct scm_ts_pktinfo and -SOF_TIMESTAMPING_OPT_PKTINFO that were introduced in Linux kernel v4.13 -in the linux/net_tstamp.h kernel header. But this feature also requires -SCM_TIMESTAMPING_PKTINFO that is defined in the socket.h header. musl -libc provides its own version of socket.h, and as of musl version 1.1.16 -this macro is missing. Define this macro in the code as a temporary -measure until musl is updated to its latest version. - -Signed-off-by: Baruch Siach ---- -Upstream status: not upstreamable ---- - ntp_io_linux.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/ntp_io_linux.c b/ntp_io_linux.c -index 00caed06f7ba..2214a6f6f6c5 100644 ---- a/ntp_io_linux.c -+++ b/ntp_io_linux.c -@@ -574,6 +574,10 @@ extract_udp_data(unsigned char *msg, NTP_Remote_Address *remote_addr, int len) - - /* ================================================== */ - -+#ifndef SCM_TIMESTAMPING_PKTINFO -+#define SCM_TIMESTAMPING_PKTINFO 58 -+#endif -+ - int - NIO_Linux_ProcessMessage(NTP_Remote_Address *remote_addr, NTP_Local_Address *local_addr, - NTP_Local_Timestamp *local_ts, struct msghdr *hdr, int length) --- -2.15.0 - 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 deleted file mode 100644 index 1fd5bd9984..0000000000 --- a/package/chrony/0002-hash-include-util.h-for-MIN-macro.patch +++ /dev/null @@ -1,28 +0,0 @@ -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/Config.in b/package/chrony/Config.in index 05d6fc1a25..158dc20530 100644 --- a/package/chrony/Config.in +++ b/package/chrony/Config.in @@ -6,3 +6,11 @@ config BR2_PACKAGE_CHRONY accuracy of the system clock. http://chrony.tuxfamily.org/ + +config BR2_PACKAGE_CHRONY_DEBUG_LOGGING + bool "enable debug logging support" + depends on BR2_PACKAGE_CHRONY + help + Enable support for debug logging output from Chrony when + enabled at runtime. If disabled, code for debug logging will + not be compiled in. diff --git a/package/chrony/chrony.hash b/package/chrony/chrony.hash index 925240cf6a..c31c6893aa 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/2018/09/msg00000.html -md5 7170e750469c198fc6784047d6f71144 chrony-3.4.tar.gz -sha1 fa41e595e7041a9deda76a69e970a023091474f6 chrony-3.4.tar.gz +# From https://listengine.tuxfamily.org/chrony.tuxfamily.org/chrony-announce/2019/05/msg00001.html +md5 5f66338bc940a9b51eede8f391e7bed3 chrony-3.5.tar.gz +sha1 79e9aeace143550300387a99f17bff04b45673f7 chrony-3.5.tar.gz # Locally calculated sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/chrony/chrony.mk b/package/chrony/chrony.mk index b5821b238d..d7f5c05183 100644 --- a/package/chrony/chrony.mk +++ b/package/chrony/chrony.mk @@ -4,7 +4,7 @@ # ################################################################################ -CHRONY_VERSION = 3.4 +CHRONY_VERSION = 3.5 CHRONY_SITE = http://download.tuxfamily.org/chrony CHRONY_LICENSE = GPL-2.0 CHRONY_LICENSE_FILES = COPYING @@ -13,7 +13,9 @@ CHRONY_CONF_OPTS = \ --host-system=Linux \ --host-machine=$(BR2_ARCH) \ --prefix=/usr \ - --without-tomcrypt + --without-readline \ + --without-tomcrypt \ + $(if $(BR2_PACKAGE_CHRONY_DEBUG_LOGGING),--enable-debug,--disable-debug) ifeq ($(BR2_PACKAGE_LIBCAP),y) CHRONY_DEPENDENCIES += libcap @@ -34,10 +36,10 @@ else CHRONY_CONF_OPTS += --without-seccomp endif -ifeq ($(BR2_PACKAGE_READLINE),y) -CHRONY_DEPENDENCIES += readline +ifeq ($(BR2_PACKAGE_LIBEDIT),y) +CHRONY_DEPENDENCIES += libedit else -CHRONY_CONF_OPTS += --disable-readline +CHRONY_CONF_OPTS += --without-editline --disable-readline endif # If pps-tools is available, build it before so the package can use it @@ -65,9 +67,6 @@ endef define CHRONY_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/chrony/chrony.service \ $(TARGET_DIR)/usr/lib/systemd/system/chrony.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -sf ../../../../usr/lib/systemd/system/chrony.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/chrony.service endef $(eval $(generic-package)) diff --git a/package/cifs-utils/0001-Use-DESTDIR-when-installing-mount.smb3-and-optionall.patch b/package/cifs-utils/0001-Use-DESTDIR-when-installing-mount.smb3-and-optionall.patch new file mode 100644 index 0000000000..e36ec5b5da --- /dev/null +++ b/package/cifs-utils/0001-Use-DESTDIR-when-installing-mount.smb3-and-optionall.patch @@ -0,0 +1,41 @@ +From dbb4452787cb966cc74b2015689961875fd5d668 Mon Sep 17 00:00:00 2001 +From: Ryan Barnett +Date: Mon, 27 Apr 2020 22:03:25 -0500 +Subject: [PATCH] Use DESTDIR when installing mount.smb3 and optionally install + man page + +Properly create mount.smb3 symlink by using DESTDIR. Also use +CONFIG_MAN to optionally install manpage for mount.smb3. + +Signed-off-by: Ryan Barnett +--- +Upstream: https://marc.info/?l=linux-cifs&m=158804444725745&w=2 +--- + Makefile.am | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index fe9cd34..e0587f1 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -119,11 +119,13 @@ endif + SUBDIRS = contrib + + install-exec-hook: +- (cd $(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3) ++ (cd $(DESTDIR)$(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3) + ++if CONFIG_MAN + install-data-hook: +- (cd $(man8dir) && ln -sf mount.cifs.8 mount.smb3.8) ++ (cd $(DESTDIR)$(man8dir) && ln -sf mount.cifs.8 mount.smb3.8) ++endif + + uninstall-hook: +- (cd $(ROOTSBINDIR) && rm -f $(ROOTSBINDIR)/mount.smb3) +- (cd $(man8dir) && rm -f $(man8dir)/mount.smb3.8) ++ rm -f $(DESTDIR)$(ROOTSBINDIR)/mount.smb3 ++ rm -f $(DESTDIR)$(man8dir)/mount.smb3.8 +-- +2.17.1 + diff --git a/package/cifs-utils/cifs-utils.hash b/package/cifs-utils/cifs-utils.hash index fda1573eeb..5eaa84f370 100644 --- a/package/cifs-utils/cifs-utils.hash +++ b/package/cifs-utils/cifs-utils.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 e7d1f6050c43f21f82cd77e288eb756755effd22f0c310fc2c525df9d41dff79 cifs-utils-6.8.tar.bz2 +sha256 92fc29c8e9039637f3344267500f1fa381e2cccd7d10142f0c1676fa575904a7 cifs-utils-6.10.tar.bz2 # Hash for license file: -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/cifs-utils/cifs-utils.mk b/package/cifs-utils/cifs-utils.mk index 3456cd9198..b59a54d987 100644 --- a/package/cifs-utils/cifs-utils.mk +++ b/package/cifs-utils/cifs-utils.mk @@ -4,12 +4,12 @@ # ################################################################################ -CIFS_UTILS_VERSION = 6.8 +CIFS_UTILS_VERSION = 6.10 CIFS_UTILS_SOURCE = cifs-utils-$(CIFS_UTILS_VERSION).tar.bz2 CIFS_UTILS_SITE = http://ftp.samba.org/pub/linux-cifs/cifs-utils CIFS_UTILS_LICENSE = GPL-3.0+ CIFS_UTILS_LICENSE_FILES = COPYING -# Missing install-sh in release tarball +# Missing install-sh in release tarball and patching Makefile.am CIFS_UTILS_AUTORECONF = YES CIFS_UTILS_DEPENDENCIES = host-pkgconf @@ -17,6 +17,9 @@ CIFS_UTILS_DEPENDENCIES = host-pkgconf # the global BR2_RELRO_FULL option. CIFS_UTILS_CONF_OPTS = --disable-pie --disable-man +# uses C11 code in smbinfo.c and mtab.c +CIFS_UTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=gnu11" + ifeq ($(BR2_PACKAGE_KEYUTILS),y) CIFS_UTILS_DEPENDENCIES += keyutils endif diff --git a/package/circus/Config.in b/package/circus/Config.in index f1cd93c733..832b04dfa4 100644 --- a/package/circus/Config.in +++ b/package/circus/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_CIRCUS bool "circus" - depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 # python-tornado depends on BR2_INSTALL_LIBSTDCPP # pyzmq -> zeromq depends on BR2_TOOLCHAIN_HAS_THREADS # pyzmq -> zeromq select BR2_PACKAGE_PYTHON_IOWAIT # runtime @@ -14,6 +14,6 @@ config BR2_PACKAGE_CIRCUS https://circus.readthedocs.org/en/latest/ -comment "circus needs Python and a toolchain w/ C++, threads" +comment "circus needs Python 3 and a toolchain w/ C++, threads" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !(BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3) + !BR2_PACKAGE_PYTHON3 diff --git a/package/circus/circus.hash b/package/circus/circus.hash index 877ae21c0e..6391f0b5f7 100644 --- a/package/circus/circus.hash +++ b/package/circus/circus.hash @@ -1,4 +1,4 @@ -# md5 from https://pypi.python.org/pypi/circus/json, sha256 locally computed -md5 48e6b220fb0cafca46e3ae1f6ec4bce8 circus-0.14.0.tar.gz -sha256 b8ca91d8bd87b350fda199488ac9ddff91a546b0c6214a28a2f13393713cf062 circus-0.14.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/circus/json +md5 ed9082b5ac6ac5786721254b06315183 circus-0.15.0.tar.gz +sha256 d1603cf4c4f620ce6593d3d2a67fad25bf0242183ea24110d8bb1c8079c55d1b circus-0.15.0.tar.gz sha256 3df739c05a4eed7efdf4987142658d2a4f1243e5f08e72a5ecedac5749c92a49 LICENSE diff --git a/package/circus/circus.mk b/package/circus/circus.mk index 8b863aa656..d962651924 100644 --- a/package/circus/circus.mk +++ b/package/circus/circus.mk @@ -4,8 +4,8 @@ # ################################################################################ -CIRCUS_VERSION = 0.14.0 -CIRCUS_SITE = https://pypi.python.org/packages/68/41/02c6f5edea2df80b133a12753aee3e698e9130a5c878a9b0bffcf1e17e65 +CIRCUS_VERSION = 0.15.0 +CIRCUS_SITE = https://files.pythonhosted.org/packages/12/11/b72ee03c3d1fd09c39466954def2eae176d22a9fa5d9e6e8e6b90ee88f56 CIRCUS_SETUP_TYPE = setuptools CIRCUS_LICENSE = Apache-2.0 CIRCUS_LICENSE_FILES = LICENSE diff --git a/package/civetweb/0001-modlua.ini-include-dlfcn.h.patch b/package/civetweb/0001-modlua.ini-include-dlfcn.h.patch deleted file mode 100644 index bd1b06aedf..0000000000 --- a/package/civetweb/0001-modlua.ini-include-dlfcn.h.patch +++ /dev/null @@ -1,34 +0,0 @@ -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/civetweb.hash b/package/civetweb/civetweb.hash index 23f7c4acac..ae3c3c9510 100644 --- a/package/civetweb/civetweb.hash +++ b/package/civetweb/civetweb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 de7d5e7a2d9551d325898c71e41d437d5f7b51e754b242af897f7be96e713a42 civetweb-v1.11.tar.gz -sha256 1cd00da00b8649b4005757f4019acfd3102ecd407f47998081697e8e9086f706 LICENSE.md +sha256 8cab1e2ad8fb3e2e81fed0b2321a5afbd7269a644c44ed4c3607e0a212c6d9e1 civetweb-1.12.tar.gz +sha256 291622dfbbf4fb35829726fbe97177b7227c0d4d6392b350660af73af4f86df8 LICENSE.md diff --git a/package/civetweb/civetweb.mk b/package/civetweb/civetweb.mk index 1652239ebb..a6557561c5 100644 --- a/package/civetweb/civetweb.mk +++ b/package/civetweb/civetweb.mk @@ -4,8 +4,8 @@ # ################################################################################ -CIVETWEB_VERSION = v1.11 -CIVETWEB_SITE = $(call github,civetweb,civetweb,$(CIVETWEB_VERSION)) +CIVETWEB_VERSION = 1.12 +CIVETWEB_SITE = $(call github,civetweb,civetweb,v$(CIVETWEB_VERSION)) CIVETWEB_LICENSE = MIT CIVETWEB_LICENSE_FILES = LICENSE.md @@ -38,6 +38,12 @@ else CIVETWEB_COPT += -DNO_SSL endif +ifeq ($(BR2_PACKAGE_ZLIB),y) +CIVETWEB_CONF_OPTS += WITH_ZLIB=1 +CIVETWEB_LIBS += -lz +CIVETWEB_DEPENDENCIES += zlib +endif + ifeq ($(BR2_PACKAGE_CIVETWEB_SERVER),y) CIVETWEB_BUILD_TARGETS += build CIVETWEB_INSTALL_TARGETS += install @@ -55,7 +61,6 @@ 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 diff --git a/package/cjson/cjson.hash b/package/cjson/cjson.hash index 32a05b3c05..b99fcee8ba 100644 --- a/package/cjson/cjson.hash +++ b/package/cjson/cjson.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 17ace0e31ebd639906983b05fe1d51576b948ca5411c2162f55dd34c122162ca cjson-v1.7.11.tar.gz -sha256 a36dda207c36db5818729c54e7ad4e8b0c6fba847491ba64f372c1a2037b6d5c LICENSE +sha256 d4e77a38f540f2c37f55758f2666655314f1f51c716fea5f279659940efdcf04 cjson-1.7.13.tar.gz +sha256 a36dda207c36db5818729c54e7ad4e8b0c6fba847491ba64f372c1a2037b6d5c LICENSE diff --git a/package/cjson/cjson.mk b/package/cjson/cjson.mk index e6ab71b92a..31fef74d9b 100644 --- a/package/cjson/cjson.mk +++ b/package/cjson/cjson.mk @@ -4,8 +4,8 @@ # ################################################################################ -CJSON_VERSION = v1.7.11 -CJSON_SITE = $(call github,DaveGamble,cjson,$(CJSON_VERSION)) +CJSON_VERSION = 1.7.13 +CJSON_SITE = $(call github,DaveGamble,cjson,v$(CJSON_VERSION)) CJSON_INSTALL_STAGING = YES CJSON_LICENSE = MIT CJSON_LICENSE_FILES = LICENSE diff --git a/package/clamav/Config.in b/package/clamav/Config.in index 2017011b67..08f3e47461 100644 --- a/package/clamav/Config.in +++ b/package/clamav/Config.in @@ -4,7 +4,10 @@ config BR2_PACKAGE_CLAMAV depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() depends on BR2_USE_WCHAR + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBMSPACK select BR2_PACKAGE_LIBTOOL + select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_ZLIB help diff --git a/package/clamav/clamav.hash b/package/clamav/clamav.hash index 4b61cd9654..b15460cecc 100644 --- a/package/clamav/clamav.hash +++ b/package/clamav/clamav.hash @@ -1,14 +1,14 @@ # Locally calculated -sha256 0a12ebdf6ff7a74c0bde2bdc2b55cae33449e6dd953ec90824a9e01291277634 clamav-0.101.2.tar.gz -sha256 0c4fd2fa9733fc9122503797648710851e4ee6d9e4969dd33fcbd8c63cd2f584 COPYING -sha256 d72a145c90918184a05ef65a04c9e6f7466faa59bc1b82c8f6a8ddc7ddcb9bed COPYING.bzip2 -sha256 dfb818a0d41411c6fb1c193c68b73018ceadd1994bda41ad541cbff292894bc6 COPYING.file -sha256 6dce638b76399e7521ad8e182d3e33e4496c85b3b69b6ff434b53017101e82ad COPYING.getopt -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LGPL -sha256 e3a9b913515a42f8ff3ef1551c3a2cdba383c39ed959729e0e2911219496ad74 COPYING.llvm -sha256 d96d71b66aa32c4a2d1619b9ca3347dafa9460bcf0fb5ac2408916067ad31dfc COPYING.lzma -sha256 accdcf2455c07b99abea59016b3663eaef926a92092d103bfaa25fed27cf6b24 COPYING.pcre -sha256 e2c1395a3d9fea6d5d25847c9d783db6e2cc8b085b4025861f459139c5dfd90b COPYING.regex -sha256 1faccc6b5c7b958fb807a3f573d5be9bf7889fe898f7e0617c544b05a81bfd00 COPYING.unrar -sha256 a20d6317c5384e8d4c05f9c31097878675d9429ec46090656166039cc10bc957 COPYING.YARA -sha256 c2f77553f8d870c5635b0dace0519253233f172b33ce1fdf6578610706294eee COPYING.zlib +sha256 eebd426a68020ecad0d2084b8c763e6898ccfd5febcae833d719640bb3ff391b clamav-0.102.4.tar.gz +sha256 0c4fd2fa9733fc9122503797648710851e4ee6d9e4969dd33fcbd8c63cd2f584 COPYING +sha256 d72a145c90918184a05ef65a04c9e6f7466faa59bc1b82c8f6a8ddc7ddcb9bed COPYING.bzip2 +sha256 dfb818a0d41411c6fb1c193c68b73018ceadd1994bda41ad541cbff292894bc6 COPYING.file +sha256 6dce638b76399e7521ad8e182d3e33e4496c85b3b69b6ff434b53017101e82ad COPYING.getopt +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LGPL +sha256 e3a9b913515a42f8ff3ef1551c3a2cdba383c39ed959729e0e2911219496ad74 COPYING.llvm +sha256 d96d71b66aa32c4a2d1619b9ca3347dafa9460bcf0fb5ac2408916067ad31dfc COPYING.lzma +sha256 accdcf2455c07b99abea59016b3663eaef926a92092d103bfaa25fed27cf6b24 COPYING.pcre +sha256 e2c1395a3d9fea6d5d25847c9d783db6e2cc8b085b4025861f459139c5dfd90b COPYING.regex +sha256 1faccc6b5c7b958fb807a3f573d5be9bf7889fe898f7e0617c544b05a81bfd00 COPYING.unrar +sha256 a20d6317c5384e8d4c05f9c31097878675d9429ec46090656166039cc10bc957 COPYING.YARA +sha256 c2f77553f8d870c5635b0dace0519253233f172b33ce1fdf6578610706294eee COPYING.zlib diff --git a/package/clamav/clamav.mk b/package/clamav/clamav.mk index 5bb0aa09d9..358228b861 100644 --- a/package/clamav/clamav.mk +++ b/package/clamav/clamav.mk @@ -4,7 +4,7 @@ # ################################################################################ -CLAMAV_VERSION = 0.101.2 +CLAMAV_VERSION = 0.102.4 CLAMAV_SITE = https://www.clamav.net/downloads/production CLAMAV_LICENSE = GPL-2.0 CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \ @@ -12,6 +12,8 @@ CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \ COPYING.unrar COPYING.zlib CLAMAV_DEPENDENCIES = \ host-pkgconf \ + libcurl \ + libmspack \ libtool \ openssl \ zlib \ @@ -20,23 +22,31 @@ CLAMAV_DEPENDENCIES = \ # mmap cannot be detected when cross-compiling, needed for mempool support CLAMAV_CONF_ENV = \ ac_cv_c_mmap_private=yes \ - have_cv_ipv6=yes + have_cv_ipv6=yes \ + OBJC=$(TARGET_CC) ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -CLAMAV_CONF_ENV += LIBS=-latomic +CLAMAV_LIBS += -latomic endif -# UCLIBC_HAS_FTS is disabled, therefore disable fanotify (missing fts.h) +ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),) +CLAMAV_DEPENDENCIES += musl-fts +CLAMAV_LIBS += -lfts +endif + +CLAMAV_CONF_ENV += LIBS="$(CLAMAV_LIBS)" + CLAMAV_CONF_OPTS = \ --with-dbdir=/var/lib/clamav \ --with-ltdl-include=$(STAGING_DIR)/usr/include \ --with-ltdl-lib=$(STAGING_DIR)/usr/lib \ + --with-libcurl=$(STAGING_DIR)/usr \ --with-openssl=$(STAGING_DIR)/usr \ + --with-system-libmspack=$(STAGING_DIR)/usr \ --with-zlib=$(STAGING_DIR)/usr \ --disable-zlib-vcheck \ --disable-rpath \ --disable-clamav \ - --disable-fanotify \ --disable-milter \ --disable-llvm \ --disable-clamdtop \ @@ -66,13 +76,6 @@ else CLAMAV_CONF_OPTS += --disable-xml endif -ifeq ($(BR2_PACKAGE_LIBCURL),y) -CLAMAV_CONF_OPTS += --with-libcurl=$(STAGING_DIR)/usr -CLAMAV_DEPENDENCIES += libcurl -else -CLAMAV_CONF_OPTS += --without-libcurl -endif - ifeq ($(BR2_PACKAGE_LIBICONV),y) CLAMAV_CONF_OPTS += --with-iconv CLAMAV_DEPENDENCIES += libiconv diff --git a/package/clang/Config.in b/package/clang/Config.in index 80f03c80b7..a67e7631a8 100644 --- a/package/clang/Config.in +++ b/package/clang/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_CLANG bool "clang" depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS - depends on BR2_HOST_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP @@ -15,10 +14,10 @@ config BR2_PACKAGE_CLANG http://clang.llvm.org -comment "clang needs a toolchain w/ wchar, threads, C++, gcc >= 4.8, host gcc >= 4.8, dynamic library" +comment "clang needs a toolchain w/ wchar, threads, C++, gcc >= 4.8, dynamic library" depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ || BR2_STATIC_LIBS || !BR2_USE_WCHAR comment "clang needs a toolchain not affected by GCC bug 64735" diff --git a/package/clang/clang.hash b/package/clang/clang.hash index fe868f5874..067a2c0470 100644 --- a/package/clang/clang.hash +++ b/package/clang/clang.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 a45b62dde5d7d5fdcdfa876b0af92f164d434b06e9e89b5d0b1cbc65dfe3f418 cfe-7.0.1.src.tar.xz -sha256 3f3f2e96e3b7319d2b4b49227d6da624a717340107ce2ca5342a25e0e57dfd35 LICENSE.TXT +sha256 5778512b2e065c204010f88777d44b95250671103e434f9dc7363ab2e3804253 clang-9.0.1.src.tar.xz +sha256 ebcd9bbf783a73d05c53ba4d586b8d5813dcdf3bbec50265860ccc885e606f47 LICENSE.TXT diff --git a/package/clang/clang.mk b/package/clang/clang.mk index c15f2b0d2a..d740af5322 100644 --- a/package/clang/clang.mk +++ b/package/clang/clang.mk @@ -4,10 +4,11 @@ # ################################################################################ -CLANG_VERSION = 7.0.1 -CLANG_SITE = http://llvm.org/releases/$(CLANG_VERSION) -CLANG_SOURCE = cfe-$(CLANG_VERSION).src.tar.xz -CLANG_LICENSE = NCSA +# LLVM, Clang and lld should be version bumped together +CLANG_VERSION = 9.0.1 +CLANG_SITE = https://github.com/llvm/llvm-project/releases/download/llvmorg-$(CLANG_VERSION) +CLANG_SOURCE = clang-$(CLANG_VERSION).src.tar.xz +CLANG_LICENSE = Apache-2.0 with exceptions CLANG_LICENSE_FILES = LICENSE.TXT CLANG_SUPPORTS_IN_SOURCE_BUILD = NO CLANG_INSTALL_STAGING = YES @@ -15,6 +16,13 @@ CLANG_INSTALL_STAGING = YES HOST_CLANG_DEPENDENCIES = host-llvm host-libxml2 CLANG_DEPENDENCIES = llvm host-clang +# LLVM >= 9.0 will soon require C++14 support, building llvm 8.x using a +# toolchain using gcc < 5.1 gives an error but actually still works. Setting +# this option makes it still build with gcc >= 4.8. +# https://reviews.llvm.org/D57264 +HOST_CLANG_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON +CLANG_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON + # This option is needed, otherwise multiple shared libs # (libclangAST.so, libclangBasic.so, libclangFrontend.so, etc.) will # be generated. As a final shared lib containing all these components @@ -49,9 +57,9 @@ 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_DIR=$(HOST_DIR)/lib/cmake/llvm \ -DCLANG_DEFAULT_LINKER=$(TARGET_LD) -CLANG_CONF_OPTS += -DLLVM_CONFIG:FILEPATH=$(STAGING_DIR)/usr/bin/llvm-config \ +CLANG_CONF_OPTS += -DLLVM_DIR=$(STAGING_DIR)/usr/lib/cmake/llvm \ -DCLANG_TABLEGEN:FILEPATH=$(HOST_DIR)/bin/clang-tblgen \ -DLLVM_TABLEGEN_EXE:FILEPATH=$(HOST_DIR)/bin/llvm-tblgen diff --git a/package/classpath/Config.in b/package/classpath/Config.in deleted file mode 100644 index 0385ccd431..0000000000 --- a/package/classpath/Config.in +++ /dev/null @@ -1,19 +0,0 @@ -config BR2_PACKAGE_CLASSPATH_ARCH_SUPPORTS - bool - default y if BR2_arm || BR2_armeb || BR2_i386 || BR2_m68k \ - || BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el \ - || BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le \ - || BR2_sparc || BR2_sparc64 || BR2_sh || BR2_x86_64 - -config BR2_PACKAGE_CLASSPATH - bool "classpath" - depends on BR2_PACKAGE_CLASSPATH_ARCH_SUPPORTS - select BR2_NEEDS_HOST_JAR - select BR2_NEEDS_HOST_JAVAC - help - GNU Classpath, Essential Libraries for Java, is a GNU - project to create free core class libraries for use with - virtual machines and compilers for the java programming - language. - - http://classpath.org diff --git a/package/classpath/classpath.hash b/package/classpath/classpath.hash deleted file mode 100644 index d1c5b5c1a4..0000000000 --- a/package/classpath/classpath.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From https://www.gnu.org/software/classpath/announce/20120307.html -sha256 f929297f8ae9b613a1a167e231566861893260651d913ad9b6c11933895fecc8 classpath-0.99.tar.gz diff --git a/package/classpath/classpath.mk b/package/classpath/classpath.mk deleted file mode 100644 index 6bba6948c5..0000000000 --- a/package/classpath/classpath.mk +++ /dev/null @@ -1,62 +0,0 @@ -################################################################################ -# -# classpath -# -################################################################################ - -CLASSPATH_VERSION = 0.99 -CLASSPATH_SITE = $(BR2_GNU_MIRROR)/classpath -CLASSPATH_CONF_OPTS = \ - --disable-examples \ - --disable-rpath \ - --disable-Werror \ - --disable-gconf-peer \ - --disable-gjdoc \ - --enable-tools - -# classpath assumes qt runs on top of X11, but we -# don't support qt4 on X11 -CLASSPATH_CONF_OPTS += --disable-qt-peer -CLASSPATH_DEPENDENCIES = host-pkgconf -CLASSPATH_LICENSE = GPL-2.0+ with exception -CLASSPATH_LICENSE_FILES = COPYING - -# Needs ALSA pcm and sequencer (midi) support -# pcm is always on for alsa-lib -ifeq ($(BR2_PACKAGE_ALSA_LIB_SEQ),y) -CLASSPATH_CONF_OPTS += --enable-alsa -CLASSPATH_DEPENDENCIES += alsa-lib -else -CLASSPATH_CONF_OPTS += --disable-alsa -endif - -ifeq ($(BR2_PACKAGE_GMP),y) -CLASSPATH_CONF_OPTS += --enable-gmp --with-gmp="$(STAGING_DIR)/usr" -CLASSPATH_DEPENDENCIES += gmp -else -CLASSPATH_CONF_OPTS += --disable-gmp -endif - -ifeq ($(BR2_PACKAGE_LIBGTK2)$(BR2_PACKAGE_XORG7),yy) -CLASSPATH_CONF_OPTS += --enable-gtk-peer -CLASSPATH_DEPENDENCIES += libgtk2 - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE),y) -CLASSPATH_CONF_OPTS += --enable-gstreamer-peer -CLASSPATH_DEPENDENCIES += gst-plugins-base -else -CLASSPATH_CONF_OPTS += --disable-gstreamer-peer -endif - -else -CLASSPATH_CONF_OPTS += --disable-gtk-peer --disable-gstreamer-peer -endif - -ifeq ($(BR2_PACKAGE_LIBXML2)$(BR2_PACKAGE_LIBXSLT)$(BR2_TOOLCHAIN_HAS_THREADS),yyy) -CLASSPATH_CONF_OPTS += --enable-xmlj -CLASSPATH_DEPENDENCIES += libxml2 libxslt -else -CLASSPATH_CONF_OPTS += --disable-xmlj -endif - -$(eval $(autotools-package)) diff --git a/package/cloop/0001-cflags.patch b/package/cloop/0001-cflags.patch deleted file mode 100644 index c421dd7f8b..0000000000 --- a/package/cloop/0001-cflags.patch +++ /dev/null @@ -1,30 +0,0 @@ -Take into account the CFLAGS/LDFLAGS passed in the environment. - -Signed-off-by: Thomas Petazzoni - -Index: host-cloop-2.634-1/Makefile -=================================================================== ---- host-cloop-2.634-1.orig/Makefile 2010-12-16 09:17:52.826555645 +0100 -+++ host-cloop-2.634-1/Makefile 2010-12-16 09:18:57.208713338 +0100 -@@ -15,7 +15,7 @@ - endif - - ifdef APPSONLY --CFLAGS:=-Wall -Wstrict-prototypes -Wno-trigraphs -O2 -s -I. -fno-strict-aliasing -fno-common -fomit-frame-pointer -+CLOOP_CFLAGS:=-Wall -Wstrict-prototypes -Wno-trigraphs -O2 -s -I. -fno-strict-aliasing -fno-common -fomit-frame-pointer - endif - - KERNOBJ:=compressed_loop.o -@@ -53,10 +53,10 @@ - ( cd advancecomp-1.15 ; ./configure && $(MAKE) advfs ) - - extract_compressed_fs: extract_compressed_fs.c -- $(CC) -Wall -O2 -s -o $@ $< -lz -+ $(CC) $(CFLAGS) $(CLOOP_CFLAGS) $(LDFLAGS) -Wall -O2 -s -o $@ $< -lz - - cloop_suspend: cloop_suspend.o -- $(CC) -o $@ $< -+ $(CC) $(CFLAGS) $(CLOOP_CFLAGS) $(LDFLAGS) -o $@ $< - - clean: - rm -rf create_compressed_fs extract_compressed_fs zoom *.o *.ko Module.symvers .cloop* .compressed_loop.* .tmp* diff --git a/package/cloop/cloop.hash b/package/cloop/cloop.hash index 9acbceb05d..7af1a9594d 100644 --- a/package/cloop/cloop.hash +++ b/package/cloop/cloop.hash @@ -1,2 +1,6 @@ -# From http://debian-knoppix.alioth.debian.org/packages/sources/cloop/cloop_2.634-1.dsc -sha256 d6d03e2368e19f9c6c3a313e9c34cf0620d129ce26132a8805580d953769dbbd cloop_2.634-1.tar.gz +# From http://snapshot.debian.org/archive/debian/20150503T155713Z/pool/main/c/cloop/cloop_3.14.1.2.dsc +sha256 ac344225b3a5c4ddbb0d4b20cd4874798b51427b707b53e2ee9fbdada7497c95 cloop_3.14.1.2.tar.xz + +# Hash for license files +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad advancecomp-1.15/COPYING +sha256 1b1f89e94e131e259b9e334565c5c3500d4b8aa755b75c3f145ddcdff3b89124 README diff --git a/package/cloop/cloop.mk b/package/cloop/cloop.mk index ad50d0a94a..046d98c862 100644 --- a/package/cloop/cloop.mk +++ b/package/cloop/cloop.mk @@ -4,16 +4,17 @@ # ################################################################################ -CLOOP_VERSION = 2.634-1 -CLOOP_SOURCE = cloop_$(CLOOP_VERSION).tar.gz -CLOOP_SITE = http://debian-knoppix.alioth.debian.org/packages/sources/cloop +CLOOP_VERSION = 3.14.1.2 +CLOOP_SOURCE = cloop_$(CLOOP_VERSION).tar.xz +CLOOP_SITE = http://snapshot.debian.org/archive/debian/20150503T155713Z/pool/main/c/cloop CLOOP_LICENSE = GPL-2.0 (module), GPL-2.0+ (advancecomp) CLOOP_LICENSE_FILES = README advancecomp-1.15/COPYING HOST_CLOOP_DEPENDENCIES = host-zlib define HOST_CLOOP_BUILD_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE1) -C $(@D) APPSONLY=yes + $(HOST_CONFIGURE_OPTS) $(MAKE1) -C $(@D) APPSONLY=yes \ + CFLAGS="$(HOST_CFLAGS) -D_GNU_SOURCE" endef define HOST_CLOOP_INSTALL_CMDS diff --git a/package/cmake/0001-rename-cmake-rootfile.patch b/package/cmake/0001-rename-cmake-rootfile.patch new file mode 100644 index 0000000000..a8cd3ee820 --- /dev/null +++ b/package/cmake/0001-rename-cmake-rootfile.patch @@ -0,0 +1,43 @@ +From 68d3b1dfbbd2f54bf81986d1d733deaf66658b15 Mon Sep 17 00:00:00 2001 +From: Davide Viti +Date: Thu, 14 Jul 2016 10:14:59 +0100 +Subject: [PATCH] rename cmake rootfile + +ctest fails on the target, because it cannot find CMake.cmake inside +CMAKE_DATA_DIR (typically set to "/usr/share/cmake-3.0"): all *.cmake +files are removed at build time via the target-finalize rule. + +This buildroot-specific patch makes sure ctest looks also for +"Modules/CMake.cmake.ctest" before complaining + +[Vincent: tweak patch for 3.6.3] +[James: tweak patch for 3.15.4] + +Signed-off-by: Davide Viti +Signed-off-by: Vicente Olivert Riera +Signed-off-by: James Hilliard +--- + Source/cmake.cxx | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Source/cmake.cxx b/Source/cmake.cxx +index 3772f09985..c317e4af38 100644 +--- a/Source/cmake.cxx ++++ b/Source/cmake.cxx +@@ -1009,7 +1009,12 @@ int cmake::AddCMakePaths() + "Path to cpack program executable.", cmStateEnums::INTERNAL); + #endif + if (!cmSystemTools::FileExists( +- (cmSystemTools::GetCMakeRoot() + "/Modules/CMake.cmake"))) { ++ (cmSystemTools::GetCMakeRoot() + "/Modules/CMake.cmake")) && ++ !cmSystemTools::FileExists( ++ (cmSystemTools::GetCMakeRoot()+"/Modules/CMake.cmake.ctest") ++ ) ++ ) ++ { + // couldn't find modules + cmSystemTools::Error( + "Could not find CMAKE_ROOT !!!\n" +-- +2.20.1 + diff --git a/package/cmake/0001-rename_cmake_rootfile.patch b/package/cmake/0001-rename_cmake_rootfile.patch deleted file mode 100644 index 8c168c15a8..0000000000 --- a/package/cmake/0001-rename_cmake_rootfile.patch +++ /dev/null @@ -1,29 +0,0 @@ -ctest fails on the target, because it cannot find CMake.cmake inside -CMAKE_DATA_DIR (typically set to "/usr/share/cmake-3.0"): all *.cmake -files are removed at build time via the target-finalize rule. - -This buildroot-specific patch makes sure ctest looks also for -"Modules/CMake.cmake.ctest" before complaining - -[Vincent: tweak patch for 3.6.3] - -Signed-off-by: Davide Viti -Signed-off-by: Vicente Olivert Riera - -diff -rup a/Source/cmake.cxx b/Source/cmake.cxx ---- a/Source/cmake.cxx 2016-07-07 15:47:27.000000000 +0100 -+++ b/Source/cmake.cxx 2016-07-14 10:14:59.914265515 +0100 -@@ -771,7 +771,12 @@ int cmake::AddCMakePaths() - "Path to cpack program executable.", cmState::INTERNAL); - #endif - if (!cmSystemTools::FileExists( -- (cmSystemTools::GetCMakeRoot() + "/Modules/CMake.cmake").c_str())) { -+ (cmSystemTools::GetCMakeRoot() + "/Modules/CMake.cmake").c_str()) && -+ !cmSystemTools::FileExists( -+ (cmSystemTools::GetCMakeRoot()+"/Modules/CMake.cmake.ctest").c_str() -+ ) -+ ) -+ { - // couldn't find modules - cmSystemTools::Error( - "Could not find CMAKE_ROOT !!!\n" diff --git a/package/cmake/0002-FindLibUV-Also-check-uv-version-h-for-version-detection.patch b/package/cmake/0002-FindLibUV-Also-check-uv-version-h-for-version-detection.patch deleted file mode 100644 index 9abf1a538f..0000000000 --- a/package/cmake/0002-FindLibUV-Also-check-uv-version-h-for-version-detection.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 92c4b3d900a24512967a960f108d985c819fdf00 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Sat, 23 Jun 2018 20:30:07 +0200 -Subject: [PATCH] FindLibUV: Also check uv/version.h for version detection - -Starting with libuv 1.21.0, libuv's headers were moved into a uv/ directory. -Make FindLibUV aware of the file's new location for configuration to work. - -Upstream change: https://github.com/libuv/libuv/pull/1429 - -Signed-off-by: Fabrice Fontaine -[Retrieve from: https://gitlab.kitware.com/cmake/cmake/merge_requests/2169] ---- - Source/Modules/FindLibUV.cmake | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Source/Modules/FindLibUV.cmake b/Source/Modules/FindLibUV.cmake -index ba13d75f8b..0554d62c23 100644 ---- a/Source/Modules/FindLibUV.cmake -+++ b/Source/Modules/FindLibUV.cmake -@@ -63,6 +63,8 @@ mark_as_advanced(LibUV_INCLUDE_DIR) - set(_LibUV_H_REGEX "#[ \t]*define[ \t]+UV_VERSION_(MAJOR|MINOR|PATCH)[ \t]+[0-9]+") - if(LibUV_INCLUDE_DIR AND EXISTS "${LibUV_INCLUDE_DIR}/uv-version.h") - file(STRINGS "${LibUV_INCLUDE_DIR}/uv-version.h" _LibUV_H REGEX "${_LibUV_H_REGEX}") -+elseif(LibUV_INCLUDE_DIR AND EXISTS "${LibUV_INCLUDE_DIR}/uv/version.h") -+ file(STRINGS "${LibUV_INCLUDE_DIR}/uv/version.h" _LibUV_H REGEX "${_LibUV_H_REGEX}") - elseif(LibUV_INCLUDE_DIR AND EXISTS "${LibUV_INCLUDE_DIR}/uv.h") - file(STRINGS "${LibUV_INCLUDE_DIR}/uv.h" _LibUV_H REGEX "${_LibUV_H_REGEX}") - else() --- -2.16.4 - diff --git a/package/cmake/cmake.hash b/package/cmake/cmake.hash index f138ac79a1..983c292983 100644 --- a/package/cmake/cmake.hash +++ b/package/cmake/cmake.hash @@ -1,2 +1,5 @@ -# From http://www.cmake.org/files/v3.8/cmake-3.8.2-SHA-256.txt -sha256 da3072794eb4c09f2d782fcee043847b99bb4cf8d4573978d9b2024214d6e92d cmake-3.8.2.tar.gz +# From https://cmake.org/files/v3.15/cmake-3.15.5-SHA-256.txt +sha256 fbdd7cef15c0ced06bb13024bfda0ecc0dedbcaaaa6b8a5d368c75255243beb4 cmake-3.15.5.tar.gz + +# Locally calculated +sha256 dc628fb936a5d229296d42083f9a8218aa32204c016919e784404c9ec58776e9 Copyright.txt diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk index a00691a128..1f30736023 100644 --- a/package/cmake/cmake.mk +++ b/package/cmake/cmake.mk @@ -4,8 +4,8 @@ # ################################################################################ -CMAKE_VERSION_MAJOR = 3.8 -CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).2 +CMAKE_VERSION_MAJOR = 3.15 +CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).5 CMAKE_SITE = https://cmake.org/files/v$(CMAKE_VERSION_MAJOR) CMAKE_LICENSE = BSD-3-Clause CMAKE_LICENSE_FILES = Copyright.txt diff --git a/package/cmocka/0001-Don-t-redefine-uintptr_t.patch b/package/cmocka/0001-Don-t-redefine-uintptr_t.patch new file mode 100644 index 0000000000..4123d8db22 --- /dev/null +++ b/package/cmocka/0001-Don-t-redefine-uintptr_t.patch @@ -0,0 +1,77 @@ +From 28ce16b29911e5adc60140b572dee177adc7a178 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 18 Nov 2019 18:56:46 +0100 +Subject: [PATCH] Don't redefine uintptr_t + +Add a call to check_type_size in ConfigureChecks.cmake and use it in +include/cmocka.h to avoid the following redefinition error on riscv64: + +In file included from /data/buildroot/buildroot-test/instance-0/output/build/cmocka-1.1.5/src/cmocka.c:62: +/data/buildroot/buildroot-test/instance-0/output/build/cmocka-1.1.5/include/cmocka.h:132:28: error: conflicting types for 'uintptr_t' + typedef unsigned int uintptr_t; + ^~~~~~~~~ +In file included from /data/buildroot/buildroot-test/instance-0/output/host/riscv64-buildroot-linux-musl/sysroot/usr/include/stdint.h:20, + from /data/buildroot/buildroot-test/instance-0/output/host/riscv64-buildroot-linux-musl/sysroot/usr/include/inttypes.h:9, + from /data/buildroot/buildroot-test/instance-0/output/build/cmocka-1.1.5/src/cmocka.c:27: +/data/buildroot/buildroot-test/instance-0/output/host/riscv64-buildroot-linux-musl/sysroot/usr/include/bits/alltypes.h:104:24: note: previous declaration of 'uintptr_t' was here + typedef unsigned _Addr uintptr_t; + ^~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/30922c18150ea62aefe123d1b7cd1444efab963f + +Signed-off-by: Fabrice Fontaine +Reviewed-by: Andreas Schneider +[Retrieved from: +https://gitlab.com/cmocka/cmocka/commit/28ce16b29911e5adc60140b572dee177adc7a178] +--- + ConfigureChecks.cmake | 3 +++ + config.h.cmake | 4 ++++ + include/cmocka.h | 2 +- + 3 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake +index fe8da35..028774f 100644 +--- a/ConfigureChecks.cmake ++++ b/ConfigureChecks.cmake +@@ -70,6 +70,9 @@ if (HAVE_TIME_H) + check_struct_has_member("struct timespec" tv_sec "time.h" HAVE_STRUCT_TIMESPEC) + endif (HAVE_TIME_H) + ++# TYPES ++check_type_size(uintptr_t UINTPTR_T) ++ + # FUNCTIONS + check_function_exists(calloc HAVE_CALLOC) + check_function_exists(exit HAVE_EXIT) +diff --git a/config.h.cmake b/config.h.cmake +index f8d79da..55fc69f 100644 +--- a/config.h.cmake ++++ b/config.h.cmake +@@ -75,6 +75,10 @@ + + #cmakedefine HAVE_STRUCT_TIMESPEC 1 + ++/***************************** TYPES *****************************/ ++ ++#cmakedefine HAVE_UINTPTR_T 1 ++ + /*************************** FUNCTIONS ***************************/ + + /* Define to 1 if you have the `calloc' function. */ +diff --git a/include/cmocka.h b/include/cmocka.h +index 3e923dd..0aa557e 100644 +--- a/include/cmocka.h ++++ b/include/cmocka.h +@@ -120,7 +120,7 @@ typedef uintmax_t LargestIntegralType; + ((LargestIntegralType)(value)) + + /* Smallest integral type capable of holding a pointer. */ +-#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) ++#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(HAVE_UINTPTR_T) + # if defined(_WIN32) + /* WIN32 is an ILP32 platform */ + typedef unsigned int uintptr_t; +-- +2.22.0 + 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 deleted file mode 100644 index 68dbc11da8..0000000000 --- a/package/cmocka/0001-examples-uptime-include-stdint.h-before-cmocka.h.patch +++ /dev/null @@ -1,35 +0,0 @@ -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 1cbda22428..007dd7a7fc 100644 --- a/package/cmocka/cmocka.hash +++ b/package/cmocka/cmocka.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 43eabcf72a9c80e3d03f7c8a1c04e408c18d2db5121eb058a3ef732a9dfabfaf cmocka-1.1.3.tar.xz +sha256 f0ccd8242d55e2fd74b16ba518359151f6f8383ff8aef4976e48393f77bba8b6 cmocka-1.1.5.tar.xz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/package/cmocka/cmocka.mk b/package/cmocka/cmocka.mk index 281410abb3..eafb4898e1 100644 --- a/package/cmocka/cmocka.mk +++ b/package/cmocka/cmocka.mk @@ -4,12 +4,13 @@ # ################################################################################ -CMOCKA_VERSION = 1.1.3 +CMOCKA_VERSION = 1.1.5 CMOCKA_SOURCE = cmocka-$(CMOCKA_VERSION).tar.xz CMOCKA_SITE = https://cmocka.org/files/1.1 CMOCKA_LICENSE = Apache-2.0 CMOCKA_LICENSE_FILES = COPYING CMOCKA_INSTALL_STAGING = YES +CMOCKA_CONF_OPTS = -DWITH_EXAMPLES=OFF # cmocka only supports out of source builds CMOCKA_SUPPORTS_IN_SOURCE_BUILD = NO diff --git a/package/cog/Config.in b/package/cog/Config.in new file mode 100644 index 0000000000..a9ca7473a9 --- /dev/null +++ b/package/cog/Config.in @@ -0,0 +1,53 @@ +comment "cog needs wpewebkit and a toolchain w/ threads" + depends on BR2_USE_MMU + depends on !BR2_PACKAGE_WPEWEBKIT || !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_COG + bool "cog" + depends on BR2_PACKAGE_WPEWEBKIT + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus + depends on BR2_USE_MMU # dbus + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_WAYLAND + help + Single "window" launcher for the WebKit WPE port, and + helper library for implementing WPE launcher. It does + not provide any chrome, and is suitable to be used + as a Web application container. + + https://github.com/Igalia/cog + +if BR2_PACKAGE_COG + +config BR2_PACKAGE_COG_PROGRAMS_HOME_URI + string "home uri" + default "https://wpewebkit.org" + help + Default URI to open when "cog" is launched. If an empty + string is used, there is no default and the URI to open + must be always specified in the command line. + +config BR2_PACKAGE_COG_PLATFORM_FDO + bool "FreeDesktop.org backend" + default y + select BR2_PACKAGE_LIBXKBCOMMON + select BR2_PACKAGE_WAYLAND_PROTOCOLS + help + Enable the FreeDesktop.org backend. Cog will interface with + a compositor over the Wayland protocol. + +config BR2_PACKAGE_COG_PLATFORM_DRM + bool "DRM backend" + depends on BR2_PACKAGE_HAS_UDEV # libinput + depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # gbm + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_LIBINPUT + help + Enable the DRM platform backend. Cog will interface directly + with video drivers that support kernel mode-setting (KMS) + via the DRM user-space API. + +comment "DRM platform needs mesa3d w/ EGL driver and GBM" + depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL + +endif diff --git a/package/cog/cog.hash b/package/cog/cog.hash new file mode 100644 index 0000000000..dc5c1b3c46 --- /dev/null +++ b/package/cog/cog.hash @@ -0,0 +1,7 @@ +# From https://wpewebkit.org/releases/cog-0.6.0.tar.xz.sums +md5 a97df4f0e2d25f4da7cd9bb55294d30e cog-0.6.0.tar.xz +sha1 9392d9251bab8a9f61d00297707e16a983127eae cog-0.6.0.tar.xz +sha256 208f58e0533b269400875237a95e994c93da7234a29fd1c904e756b88963e35d cog-0.6.0.tar.xz + +# Hashes for license files: +sha256 e6c42d93c68b292bcccf6d2ec3e13da85df90b718ba27c2c2a01053a9d009252 COPYING diff --git a/package/cog/cog.mk b/package/cog/cog.mk new file mode 100644 index 0000000000..a826252829 --- /dev/null +++ b/package/cog/cog.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# cog +# +################################################################################ + +COG_VERSION = 0.6.0 +COG_SITE = https://wpewebkit.org/releases +COG_SOURCE = cog-$(COG_VERSION).tar.xz +COG_INSTALL_STAGING = YES +COG_DEPENDENCIES = dbus wpewebkit wpebackend-fdo wayland +COG_LICENSE = MIT +COG_LICENSE_FILES = COPYING +COG_CONF_OPTS = \ + -DCOG_BUILD_PROGRAMS=ON \ + -DCOG_WESTON_DIRECT_DISPLAY=OFF \ + -DINSTALL_MAN_PAGES=OFF \ + -DCOG_HOME_URI='$(call qstrip,$(BR2_PACKAGE_COG_PROGRAMS_HOME_URI))' + +ifeq ($(BR2_PACKAGE_COG_PLATFORM_FDO),y) +COG_CONF_OPTS += -DCOG_PLATFORM_FDO=ON +COG_DEPENDENCIES += libxkbcommon wayland-protocols +else +COG_CONF_OPTS += -DCOG_PLATFORM_FDO=OFF +endif + +ifeq ($(BR2_PACKAGE_COG_PLATFORM_DRM),y) +COG_CONF_OPTS += -DCOG_PLATFORM_DRM=ON +COG_DEPENDENCIES += libdrm libinput +else +COG_CONF_OPTS += -DCOG_PLATFORM_DRM=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/collectd/0001-libcollectdclient-increase-error-buffer.patch b/package/collectd/0001-libcollectdclient-increase-error-buffer.patch deleted file mode 100644 index 247d32b592..0000000000 --- a/package/collectd/0001-libcollectdclient-increase-error-buffer.patch +++ /dev/null @@ -1,87 +0,0 @@ -From e170f3559fcda6d37a012aba187a96b1f42e8f9d Mon Sep 17 00:00:00 2001 -From: Ruben Kerkhof -Date: Sun, 2 Jul 2017 21:52:14 +0200 -Subject: [PATCH] libcollectdclient: increase error buffer -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf8 -Content-Transfer-Encoding: 8bit - -make[1]: Entering directory '/home/ruben/src/collectd' - CC src/libcollectdclient/libcollectdclient_la-client.lo -src/libcollectdclient/client.c: In function ‘lcc_getval’: -src/libcollectdclient/client.c:621:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=] - LCC_SET_ERRSTR(c, "Server error: %s", res.message); - ^ ~ -src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’ - snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ - ^~~~~~~~~~~ -src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024 - snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src/libcollectdclient/client.c:621:5: note: in expansion of macro ‘LCC_SET_ERRSTR’ - LCC_SET_ERRSTR(c, "Server error: %s", res.message); - ^~~~~~~~~~~~~~ -src/libcollectdclient/client.c: In function ‘lcc_putval’: -src/libcollectdclient/client.c:754:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=] - LCC_SET_ERRSTR(c, "Server error: %s", res.message); - ^ ~ -src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’ - snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ - ^~~~~~~~~~~ -src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024 - snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src/libcollectdclient/client.c:754:5: note: in expansion of macro ‘LCC_SET_ERRSTR’ - LCC_SET_ERRSTR(c, "Server error: %s", res.message); - ^~~~~~~~~~~~~~ -src/libcollectdclient/client.c: In function ‘lcc_flush’: -src/libcollectdclient/client.c:802:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=] - LCC_SET_ERRSTR(c, "Server error: %s", res.message); - ^ ~ -src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’ - snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ - ^~~~~~~~~~~ -src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024 - snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src/libcollectdclient/client.c:802:5: note: in expansion of macro ‘LCC_SET_ERRSTR’ - LCC_SET_ERRSTR(c, "Server error: %s", res.message); - ^~~~~~~~~~~~~~ -src/libcollectdclient/client.c: In function ‘lcc_listval’: -src/libcollectdclient/client.c:834:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=] - LCC_SET_ERRSTR(c, "Server error: %s", res.message); - ^ ~ -src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’ - snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ - ^~~~~~~~~~~ -src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024 - snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__); \ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -src/libcollectdclient/client.c:834:5: note: in expansion of macro ‘LCC_SET_ERRSTR’ - LCC_SET_ERRSTR(c, "Server error: %s", res.message); - ^~~~~~~~~~~~~~ - -Fixes #2200 - -[Upstream commit: https://git.octo.it/?p=collectd.git;a=commitdiff;h=e170f3559fcda6d37a012aba187a96b1f42e8f9d] -Signed-off-by: Thomas Petazzoni ---- - src/libcollectdclient/client.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libcollectdclient/client.c b/src/libcollectdclient/client.c -index 51a4ab2..3ae2e71 100644 ---- a/src/libcollectdclient/client.c -+++ b/src/libcollectdclient/client.c -@@ -99,7 +99,7 @@ - */ - struct lcc_connection_s { - FILE *fh; -- char errbuf[1024]; -+ char errbuf[2048]; - }; - - struct lcc_response_s { --- -1.7.10.4 - 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 deleted file mode 100644 index b5abf8159a..0000000000 --- a/package/collectd/0002-gps-plugin-fix-build-with-newer-gpsd.patch +++ /dev/null @@ -1,43 +0,0 @@ -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 deleted file mode 100644 index 9270021dd6..0000000000 --- a/package/collectd/0003-sensors-Removed-checks-for-upper-limit-of-SENSORS_AP.patch +++ /dev/null @@ -1,89 +0,0 @@ -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 3222547b68..188be3c0fb 100644 --- a/package/collectd/Config.in +++ b/package/collectd/Config.in @@ -63,6 +63,13 @@ config BR2_PACKAGE_COLLECTD_LOGSTASH help Writes log messages formatted as logstash JSON events. +config BR2_PACKAGE_COLLECTD_LUA + bool "lua" + select BR2_PACKAGE_LUA + help + Embeds a Lua interpreter into collectd and provides an + interface to collectd's plugin system. + config BR2_PACKAGE_COLLECTD_NOTIFY_EMAIL bool "notify_email" depends on !BR2_STATIC_LIBS # libesmtp @@ -359,6 +366,13 @@ config BR2_PACKAGE_COLLECTD_OLSRD help Reads information about meshed networks from olsrd. +config BR2_PACKAGE_COLLECTD_ONEWIRE + bool "onewire" + select BR2_PACKAGE_OWFS + help + Collects temperature information from sensors connected over + the OneWire bus. + config BR2_PACKAGE_COLLECTD_OPENLDAP bool "openldap" depends on BR2_USE_WCHAR @@ -389,7 +403,7 @@ config BR2_PACKAGE_COLLECTD_POSTGRESQL Connects to and executes SQL statements on a PostgreSQL database. It then reads back the results and, depending on the configuration, the returned values are then converted into - collectd “value lists”. + collectd 'value lists'. comment "postgresql support needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR @@ -404,6 +418,12 @@ config BR2_PACKAGE_COLLECTD_PROTOCOLS help Collects information about the network protocols. +config BR2_PACKAGE_COLLECTD_REDIS + bool "redis" + select BR2_PACKAGE_HIREDIS + help + Connects to one or more instances of Redis. + config BR2_PACKAGE_COLLECTD_SENSORS bool "sensors" select BR2_PACKAGE_LM_SENSORS @@ -524,6 +544,13 @@ menu "write plugins" comment "Select at least one for collectd to be useful" +config BR2_PACKAGE_COLLECTD_AMQP + bool "amqp" + select BR2_PACKAGE_RABBITMQ_C + help + Send/receive values via the Advanced Message Queuing Protocol + (AMQP). + config BR2_PACKAGE_COLLECTD_CSV bool "csv" help @@ -536,6 +563,21 @@ config BR2_PACKAGE_COLLECTD_GRAPHITE Writes data collected to Carbon (Graphite's) storage API. http://graphite.wikidot.com/start +config BR2_PACKAGE_COLLECTD_GRPC + bool "grpc" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC # grpc + depends on BR2_INSTALL_LIBSTDCPP # grpc -> protobuf + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # grpc -> protobuf + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # grpc -> protobuf + select BR2_PACKAGE_GRPC + help + Send/receive values using the gRPC protocol. + +comment "grpc needs a toolchain w/ C++, gcc >= 4.8" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + config BR2_PACKAGE_COLLECTD_MQTT bool "mqtt" depends on BR2_TOOLCHAIN_HAS_SYNC_4 # mosquitto @@ -548,6 +590,14 @@ config BR2_PACKAGE_COLLECTD_NETWORK help Send/receive values from other instances of collectd. +config BR2_PACKAGE_COLLECTD_NETWORK_GCRYPT + bool "crypto support" + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt + depends on BR2_PACKAGE_COLLECTD_NETWORK + select BR2_PACKAGE_LIBGCRYPT + help + Enable crypto support + config BR2_PACKAGE_COLLECTD_RRDTOOL bool "rrdtool" depends on BR2_USE_WCHAR # rrdtool @@ -563,7 +613,6 @@ config BR2_PACKAGE_COLLECTD_RIEMANN # riemann-c-client -> protobuf-c depends on BR2_INSTALL_LIBSTDCPP depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_HOST_GCC_AT_LEAST_4_8 select BR2_PACKAGE_RIEMANN_C_CLIENT select BR2_PACKAGE_LIBTOOL help @@ -592,17 +641,22 @@ config BR2_PACKAGE_COLLECTD_WRITEPROMETHEUS bool "write_prometheus" depends on BR2_INSTALL_LIBSTDCPP # protobuf-c depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" # protobuf-c - depends on BR2_HOST_GCC_AT_LEAST_4_8 # protobuf-c select BR2_PACKAGE_LIBMICROHTTPD select BR2_PACKAGE_PROTOBUF_C help Publishes values using an embedded HTTP server, in a format compatible with Prometheus' collectd_exporter. -comment "write_prometheus needs a toolchain w/ C++, host gcc >= 4.8" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_4_8 +comment "write_prometheus needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" +config BR2_PACKAGE_COLLECTD_WRITEREDIS + bool "write_redis" + select BR2_PACKAGE_HIREDIS + help + Sends data to Redis. + config BR2_PACKAGE_COLLECTD_WRITESENSU bool "write_sensu" help diff --git a/package/collectd/S90collectd b/package/collectd/S90collectd new file mode 100644 index 0000000000..cf11c7b383 --- /dev/null +++ b/package/collectd/S90collectd @@ -0,0 +1,51 @@ +#!/bin/sh + +DAEMON="collectd" +EXEC="/usr/sbin/$DAEMON" +PIDFILE="/var/run/$DAEMON.pid" +COLLECTD_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 "$EXEC" \ + -- $COLLECTD_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;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/collectd/collectd.hash b/package/collectd/collectd.hash index cf7e0b83f9..0378eca11f 100644 --- a/package/collectd/collectd.hash +++ b/package/collectd/collectd.hash @@ -1,6 +1,5 @@ -# From https://collectd.org/files/SHA256SUM -sha256 7edd3643c0842215553b2421d5456f4e9a8a58b07e216b40a7e8e91026d8e501 collectd-5.7.1.tar.bz2 - -# Hash for license files +# Locally computed checksums +sha512 87671545e3d01770c204ba4439265d1c0add6a105bf04ff02dc04db3731fd933d32ecb9b0dc15f2e504d70c3e421a64cf19728c897aa4fb1fda86e393ffc15bf collectd-5.11.0.tar.bz2 +sha256 37b10a806e34aa8570c1cafa6006c604796fae13cc2e1b3e630d33dcba9e5db2 collectd-5.11.0.tar.bz2 +sha1 18bfb0be0493ed4a1b5d73c8bcc3f28d37652480 collectd-5.11.0.tar.bz2 sha256 ed0409b2b1c30566dab5fcdaf46ee70e140c99788e22f0267645a9357b476ae4 COPYING -sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa libltdl/COPYING.LIB diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk index 589324e612..24cdad7e1b 100644 --- a/package/collectd/collectd.mk +++ b/package/collectd/collectd.mk @@ -4,23 +4,24 @@ # ################################################################################ -COLLECTD_VERSION = 5.7.1 -COLLECTD_SITE = http://collectd.org/files +COLLECTD_VERSION = 5.11.0 +COLLECTD_SITE = \ + https://github.com/collectd/collectd/releases/download/collectd-$(COLLECTD_VERSION) COLLECTD_SOURCE = collectd-$(COLLECTD_VERSION).tar.bz2 COLLECTD_CONF_ENV = ac_cv_lib_yajl_yajl_alloc=yes COLLECTD_INSTALL_STAGING = YES COLLECTD_LICENSE = MIT (daemon, plugins), GPL-2.0 (plugins), LGPL-2.1 (plugins) -COLLECTD_LICENSE_FILES = COPYING libltdl/COPYING.LIB +COLLECTD_LICENSE_FILES = COPYING # These require unmet dependencies, are fringe, pointless or deprecated COLLECTD_PLUGINS_DISABLE = \ - amqp apple_sensors aquaero ascent barometer dbi dpdkstat email \ - gmond grpc hddtemp intel_rdt ipmi java libvirt lpar lvm \ + apple_sensors aquaero ascent barometer dbi dpdkstat email \ + gmond hddtemp intel_rdt ipmi java lpar \ madwifi mbmon mic multimeter netapp notify_desktop numa \ - nut onewire oracle perl pf pinba powerdns python redis routeros \ + nut oracle perl pf pinba powerdns python routeros \ rrdcached sigrok tape target_v5upgrade teamspeak2 ted \ tokyotyrant turbostat uuid varnish virt vserver write_kafka \ - write_mongodb write_redis xencpu xmms zfs_arc zone + write_mongodb xencpu xmms zfs_arc zone COLLECTD_CONF_ENV += LIBS="-lm" @@ -45,6 +46,7 @@ COLLECTD_CONF_OPTS += \ --disable-werror \ $(foreach p, $(COLLECTD_PLUGINS_DISABLE), --disable-$(p)) \ $(if $(BR2_PACKAGE_COLLECTD_AGGREGATION),--enable-aggregation,--disable-aggregation) \ + $(if $(BR2_PACKAGE_COLLECTD_AMQP),--enable-amqp,--disable-amqp) \ $(if $(BR2_PACKAGE_COLLECTD_APACHE),--enable-apache,--disable-apache) \ $(if $(BR2_PACKAGE_COLLECTD_APCUPS),--enable-apcups,--disable-apcups) \ $(if $(BR2_PACKAGE_COLLECTD_BATTERY),--enable-battery,--disable-battery) \ @@ -74,6 +76,7 @@ COLLECTD_CONF_OPTS += \ $(if $(BR2_PACKAGE_COLLECTD_FSCACHE),--enable-fscache,--disable-fscache) \ $(if $(BR2_PACKAGE_COLLECTD_GPS),--enable-gps,--disable-gps) \ $(if $(BR2_PACKAGE_COLLECTD_GRAPHITE),--enable-write_graphite,--disable-write_graphite) \ + $(if $(BR2_PACKAGE_COLLECTD_GRPC),--enable-grpc,--disable-grpc) \ $(if $(BR2_PACKAGE_COLLECTD_HASHED),--enable-match_hashed,--disable-match_hashed) \ $(if $(BR2_PACKAGE_COLLECTD_HUGEPAGES),--enable-hugepages,--disable-hugepages) \ $(if $(BR2_PACKAGE_COLLECTD_INTERFACE),--enable-interface,--disable-interface) \ @@ -84,6 +87,7 @@ COLLECTD_CONF_OPTS += \ $(if $(BR2_PACKAGE_COLLECTD_LOAD),--enable-load,--disable-load) \ $(if $(BR2_PACKAGE_COLLECTD_LOGFILE),--enable-logfile,--disable-logfile) \ $(if $(BR2_PACKAGE_COLLECTD_LOGSTASH),--enable-log_logstash,--disable-log_logstash) \ + $(if $(BR2_PACKAGE_COLLECTD_LUA),--enable-lua,--disable-lua) \ $(if $(BR2_PACKAGE_COLLECTD_MD),--enable-md,--disable-md) \ $(if $(BR2_PACKAGE_COLLECTD_MEMCACHEC),--enable-memcachec,--disable-memcachec) \ $(if $(BR2_PACKAGE_COLLECTD_MEMCACHED),--enable-memcached,--disable-memcached) \ @@ -100,12 +104,14 @@ COLLECTD_CONF_OPTS += \ $(if $(BR2_PACKAGE_COLLECTD_NOTIFY_NAGIOS),--enable-notify_nagios,--disable-notify_nagios) \ $(if $(BR2_PACKAGE_COLLECTD_NTPD),--enable-ntpd,--disable-ntpd) \ $(if $(BR2_PACKAGE_COLLECTD_OLSRD),--enable-olsrd,--disable-olsrd) \ + $(if $(BR2_PACKAGE_COLLECTD_ONEWIRE),--enable-onewire,--disable-onewire) \ $(if $(BR2_PACKAGE_COLLECTD_OPENLDAP),--enable-openldap,--disable-openldap) \ $(if $(BR2_PACKAGE_COLLECTD_OPENVPN),--enable-openvpn,--disable-openvpn) \ $(if $(BR2_PACKAGE_COLLECTD_PING),--enable-ping,--disable-ping) \ $(if $(BR2_PACKAGE_COLLECTD_POSTGRESQL),--enable-postgresql,--disable-postgresql) \ $(if $(BR2_PACKAGE_COLLECTD_PROCESSES),--enable-processes,--disable-processes) \ $(if $(BR2_PACKAGE_COLLECTD_PROTOCOLS),--enable-protocols,--disable-protocols) \ + $(if $(BR2_PACKAGE_COLLECTD_REDIS),--enable-redis,--disable-redis) \ $(if $(BR2_PACKAGE_COLLECTD_REGEX),--enable-match_regex,--disable-match-regex) \ $(if $(BR2_PACKAGE_COLLECTD_REPLACE),--enable-target_replace,--disable-target_replace) \ $(if $(BR2_PACKAGE_COLLECTD_RIEMANN),--enable-write_riemann,--disable-write_riemann) \ @@ -135,12 +141,14 @@ COLLECTD_CONF_OPTS += \ $(if $(BR2_PACKAGE_COLLECTD_WRITEHTTP),--enable-write_http,--disable-write_http) \ $(if $(BR2_PACKAGE_COLLECTD_WRITELOG),--enable-write_log,--disable-write_log) \ $(if $(BR2_PACKAGE_COLLECTD_WRITEPROMETHEUS),--enable-write_prometheus,--disable-write_prometheus) \ + $(if $(BR2_PACKAGE_COLLECTD_WRITEREDIS),--enable-write_redis,--disable-write_redis) \ $(if $(BR2_PACKAGE_COLLECTD_WRITESENSU),--enable-write_sensu,--disable-write_sensu) \ $(if $(BR2_PACKAGE_COLLECTD_WRITETSDB),--enable-write_tsdb,--disable-write_tsdb) \ $(if $(BR2_PACKAGE_COLLECTD_ZOOKEEPER),--enable-zookeeper,--disable-zookeeper) COLLECTD_DEPENDENCIES = \ host-pkgconf \ + $(if $(BR2_PACKAGE_COLLECTD_AMQP),rabbitmq-c) \ $(if $(BR2_PACKAGE_COLLECTD_APACHE),libcurl) \ $(if $(BR2_PACKAGE_COLLECTD_BIND),libcurl libxml2) \ $(if $(BR2_PACKAGE_COLLECTD_CEPH),yajl) \ @@ -149,8 +157,10 @@ COLLECTD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_COLLECTD_CURL_XML),libcurl libxml2) \ $(if $(BR2_PACKAGE_COLLECTD_DNS),libpcap) \ $(if $(BR2_PACKAGE_COLLECTD_GPS),gpsd) \ + $(if $(BR2_PACKAGE_COLLECTD_GRPC),grpc) \ $(if $(BR2_PACKAGE_COLLECTD_IPTABLES),iptables) \ $(if $(BR2_PACKAGE_COLLECTD_LOGSTASH),yajl) \ + $(if $(BR2_PACKAGE_COLLECTD_LUA),lua) \ $(if $(BR2_PACKAGE_COLLECTD_MEMCACHEC),libmemcached) \ $(if $(BR2_PACKAGE_COLLECTD_MODBUS),libmodbus) \ $(if $(BR2_PACKAGE_COLLECTD_MQTT),mosquitto) \ @@ -158,18 +168,24 @@ COLLECTD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_COLLECTD_NETLINK),libmnl) \ $(if $(BR2_PACKAGE_COLLECTD_NGINX),libcurl) \ $(if $(BR2_PACKAGE_COLLECTD_NOTIFY_EMAIL),libesmtp) \ + $(if $(BR2_PACKAGE_COLLECTD_ONEWIRE),owfs) \ $(if $(BR2_PACKAGE_COLLECTD_OPENLDAP),openldap) \ $(if $(BR2_PACKAGE_COLLECTD_PING),liboping) \ $(if $(BR2_PACKAGE_COLLECTD_POSTGRESQL),postgresql) \ + $(if $(BR2_PACKAGE_COLLECTD_REDIS),hiredis) \ $(if $(BR2_PACKAGE_COLLECTD_RIEMANN),libtool riemann-c-client) \ $(if $(BR2_PACKAGE_COLLECTD_RRDTOOL),rrdtool) \ $(if $(BR2_PACKAGE_COLLECTD_SENSORS),lm-sensors) \ $(if $(BR2_PACKAGE_COLLECTD_SMART),libatasmart) \ $(if $(BR2_PACKAGE_COLLECTD_SNMP),netsnmp) \ $(if $(BR2_PACKAGE_COLLECTD_WRITEHTTP),libcurl) \ - $(if $(BR2_PACKAGE_COLLECTD_WRITEPROMETHEUS),libmicrohttpd protobuf-c) + $(if $(BR2_PACKAGE_COLLECTD_WRITEPROMETHEUS),libmicrohttpd protobuf-c) \ + $(if $(BR2_PACKAGE_COLLECTD_WRITEREDIS),hiredis) # include/library fixups +ifeq ($(BR2_PACKAGE_GRPC),y) +COLLECTD_CONF_OPTS += --with-libgrpc++=$(STAGING_DIR)/usr +endif ifeq ($(BR2_PACKAGE_LIBCURL),y) COLLECTD_CONF_OPTS += --with-libcurl=$(STAGING_DIR)/usr endif @@ -184,7 +200,7 @@ COLLECTD_CONF_OPTS += --with-libpq=$(STAGING_DIR)/usr/bin/pg_config COLLECTD_CONF_ENV += LIBS="-lpthread -lm" endif ifeq ($(BR2_PACKAGE_YAJL),y) -COLLECTD_CONF_OPTS += --with-yajl=$(STAGING_DIR)/usr +COLLECTD_CONF_OPTS += --with-libyajl=$(STAGING_DIR)/usr endif # network can use libgcrypt @@ -198,15 +214,23 @@ endif define COLLECTD_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install rm -f $(TARGET_DIR)/usr/bin/collectd-nagios +endef + +ifeq ($(BR2_PACKAGE_COLLECTD_POSTGRESQL),) +define COLLECTD_REMOVE_UNNEEDED_POSTGRESQL_DEFAULT_CONF rm -f $(TARGET_DIR)/usr/share/collectd/postgresql_default.conf endef +COLLECTD_POST_INSTALL_TARGET_HOOKS += COLLECTD_REMOVE_UNNEEDED_POSTGRESQL_DEFAULT_CONF +endif define COLLECTD_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/collectd/collectd.service \ $(TARGET_DIR)/usr/lib/systemd/system/collectd.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -fs ../../../../usr/lib/systemd/system/collectd.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/collectd.service +endef + +define COLLECTD_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/collectd/S90collectd \ + $(TARGET_DIR)/etc/init.d/S90collectd endef $(eval $(autotools-package)) diff --git a/package/collectl/Config.in b/package/collectl/Config.in new file mode 100644 index 0000000000..28379abe25 --- /dev/null +++ b/package/collectl/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_COLLECTL + bool "collectl" + depends on BR2_USE_MMU # perl + select BR2_PACKAGE_PERL # runtime + help + Collectl is a performance monitoring and benchmark tool that + tries to do it all. You can choose to monitor any of a broad + set of subsystems which currently include buddyinfo, cpu, + disk, inodes, infiniband, lustre, memory, network, nfs, + processes, quadrics, slabs, sockets and tcp. + + http://collectl.sourceforge.net/ diff --git a/package/collectl/collectl.hash b/package/collectl/collectl.hash new file mode 100644 index 0000000000..d866e0becc --- /dev/null +++ b/package/collectl/collectl.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 2187264d974b36a653c8a4b028ac6eeab23e1885f8b2563a33f06358f39889f1 collectl-4.3.1.src.tar.gz +sha256 b92800d37afa2aa03c02817ff3b68efc7236436fe76af06ad9b1fc4682f59bcb ARTISTIC +sha256 264fe27852db5624e6a9a9845b4e14e91ee5007305b33e5556dfade394d578a8 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 GPL diff --git a/package/collectl/collectl.mk b/package/collectl/collectl.mk new file mode 100644 index 0000000000..c9fb59293c --- /dev/null +++ b/package/collectl/collectl.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# collectl +# +################################################################################ + +COLLECTL_VERSION = 4.3.1 +COLLECTL_SOURCE = collectl-$(COLLECTL_VERSION).src.tar.gz +COLLECTL_SITE = http://downloads.sourceforge.net/collectl/collectl +COLLECTL_LICENSE = Artistic or GPL-2.0 +COLLECTL_LICENSE_FILES = COPYING ARTISTIC GPL + +define COLLECTL_INSTALL_TARGET_CMDS + (cd $(@D); \ + DESTDIR=$(TARGET_DIR) ./INSTALL) +endef + +$(eval $(generic-package)) diff --git a/package/comix-cursors/comix-cursors.hash b/package/comix-cursors/comix-cursors.hash index d7f33ca078..e03808c3f8 100644 --- a/package/comix-cursors/comix-cursors.hash +++ b/package/comix-cursors/comix-cursors.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 3109e4d19d930a6a2a5c3422ebaaa2002640169118f9b12c042bb64995f3ec31 ComixCursors-0.8.2.tar.bz2 +sha256 9e68ea8ff230dcc793528aa5da9a38b9bf61c478cd6868b4e4f5da659746a019 ComixCursors-0.9.1.tar.bz2 diff --git a/package/comix-cursors/comix-cursors.mk b/package/comix-cursors/comix-cursors.mk index 6cc73764ad..7b034ccee7 100644 --- a/package/comix-cursors/comix-cursors.mk +++ b/package/comix-cursors/comix-cursors.mk @@ -4,8 +4,8 @@ # ################################################################################ -COMIX_CURSORS_VERSION = 0.8.2 -COMIX_CURSORS_SITE = http://limitland.de/downloads/comixcursors +COMIX_CURSORS_VERSION = 0.9.1 +COMIX_CURSORS_SITE = https://limitland.gitlab.io/comixcursors COMIX_CURSORS_SOURCE = ComixCursors-$(COMIX_CURSORS_VERSION).tar.bz2 COMIX_CURSORS_LICENSE = GPL-3.0 COMIX_CURSORS_STRIP_COMPONENTS = 0 diff --git a/package/connman-gtk/connman-gtk.hash b/package/connman-gtk/connman-gtk.hash index d71e77d2c1..fbc4acb14c 100644 --- a/package/connman-gtk/connman-gtk.hash +++ b/package/connman-gtk/connman-gtk.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 49bdc4769a7c508b0130e4705eef21aec9df1ea4f5c29fee48a0cae8db828fca connman-gtk-1.1.1.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/connman-gtk/connman-gtk.mk b/package/connman-gtk/connman-gtk.mk index 9888fcd4a4..0ea49198e6 100644 --- a/package/connman-gtk/connman-gtk.mk +++ b/package/connman-gtk/connman-gtk.mk @@ -8,8 +8,10 @@ CONNMAN_GTK_VERSION = 1.1.1 CONNMAN_GTK_SITE = https://github.com/jgke/connman-gtk/releases/download/v$(CONNMAN_GTK_VERSION) CONNMAN_GTK_SOURCE = connman-gtk-$(CONNMAN_GTK_VERSION).tar.bz2 CONNMAN_GTK_INSTALL_STAGING = YES -CONNMAN_GTK_DEPENDENCIES = host-intltool connman libglib2 libgtk3 +CONNMAN_GTK_DEPENDENCIES = host-intltool connman libglib2 libgtk3 \ + $(TARGET_NLS_DEPENDENCIES) CONNMAN_GTK_LICENSE = GPL-2.0+ CONNMAN_GTK_LICENSE_FILES = COPYING +CONNMAN_GTK_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) $(eval $(autotools-package)) diff --git a/package/connman/0001-nat-build-failure.patch b/package/connman/0001-nat-build-failure.patch deleted file mode 100644 index 0ab58501d0..0000000000 --- a/package/connman/0001-nat-build-failure.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 68f4b4f5b220f256b17ad2f084d61fe89f3632ae Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 19 Apr 2016 08:38:38 -0300 -Subject: [PATCH] nat: fix build failure - -_GNU_SOURCE needs to be defined so that O_CLOEXEC symbols can be found in -system header files. - -Signed-off-by: Gustavo Zacarias ---- -Status: submitted upstream - - src/nat.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/nat.c b/src/nat.c -index 33ae6df..62e21d4 100644 ---- a/src/nat.c -+++ b/src/nat.c -@@ -24,6 +24,7 @@ - #include - #endif - -+#define _GNU_SOURCE - #include - #include - #include --- -2.7.3 - diff --git a/package/connman/Config.in b/package/connman/Config.in index 5177c939a4..614b826f96 100644 --- a/package/connman/Config.in +++ b/package/connman/Config.in @@ -8,7 +8,6 @@ config BR2_PACKAGE_CONNMAN depends on !BR2_TOOLCHAIN_USES_MUSL # missing res_ninit() select BR2_PACKAGE_DBUS select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_IPTABLES help The Connection Manager (ConnMan) project provides a daemon for managing internet connections within embedded devices @@ -18,6 +17,28 @@ config BR2_PACKAGE_CONNMAN if BR2_PACKAGE_CONNMAN +choice + prompt "Firewall type" + default BR2_PACKAGE_CONNMAN_IPTABLES + help + Select which firewall type is used. + +config BR2_PACKAGE_CONNMAN_IPTABLES + bool "iptables" + select BR2_PACKAGE_IPTABLES + help + Use iptables as firewall. + +config BR2_PACKAGE_CONNMAN_NFTABLES + bool "nftables" + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 + select BR2_PACKAGE_LIBMNL + select BR2_PACKAGE_NFTABLES + help + Use nftables as firewall. +endchoice + config BR2_PACKAGE_CONNMAN_ETHERNET bool "enable Ethernet support" default y @@ -25,12 +46,16 @@ config BR2_PACKAGE_CONNMAN_ETHERNET config BR2_PACKAGE_CONNMAN_WIFI bool "enable WiFi support" select BR2_PACKAGE_WPA_SUPPLICANT # runtime - select BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW # runtime + select BR2_PACKAGE_WPA_SUPPLICANT_DBUS # runtime help Enable WiFi support (scan and static/dhcp interface setup). ConnMan detects the start of wpa_supplicant automatically. +config BR2_PACKAGE_CONNMAN_WIREGUARD + bool "enable wireguard support" + select BR2_PACKAGE_LIBMNL + config BR2_PACKAGE_CONNMAN_WISPR bool "enable WISPr support" depends on !BR2_STATIC_LIBS # gnutls diff --git a/package/connman/connman.hash b/package/connman/connman.hash index fad1c55d2d..3039105027 100644 --- a/package/connman/connman.hash +++ b/package/connman/connman.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/network/connman/sha256sums.asc -sha256 c789db41cc443fa41e661217ea321492ad59a004bebcd1aa013f3bc10a6e0074 connman-1.36.tar.xz +sha256 cb30aca97c2f79ccaed8802aa2909ac5100a3969de74c0af8a9d73b85fc4932b connman-1.38.tar.xz # Locally computed sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING diff --git a/package/connman/connman.mk b/package/connman/connman.mk index b67d1c4b86..23e7cb7797 100644 --- a/package/connman/connman.mk +++ b/package/connman/connman.mk @@ -4,41 +4,92 @@ # ################################################################################ -CONNMAN_VERSION = 1.36 +CONNMAN_VERSION = 1.38 CONNMAN_SOURCE = connman-$(CONNMAN_VERSION).tar.xz CONNMAN_SITE = $(BR2_KERNEL_MIRROR)/linux/network/connman CONNMAN_DEPENDENCIES = libglib2 dbus iptables CONNMAN_INSTALL_STAGING = YES CONNMAN_LICENSE = GPL-2.0 CONNMAN_LICENSE_FILES = COPYING -CONNMAN_CONF_OPTS += \ - --with-dbusconfdir=/etc \ - $(if $(BR2_PACKAGE_CONNMAN_DEBUG),--enable-debug,--disable-debug) \ - $(if $(BR2_PACKAGE_CONNMAN_ETHERNET),--enable-ethernet,--disable-ethernet) \ - $(if $(BR2_PACKAGE_CONNMAN_WIFI),--enable-wifi,--disable-wifi) \ - $(if $(BR2_PACKAGE_CONNMAN_WISPR),--enable-wispr,--disable-wispr) \ - $(if $(BR2_PACKAGE_CONNMAN_BLUETOOTH),--enable-bluetooth,--disable-bluetooth) \ - $(if $(BR2_PACKAGE_CONNMAN_LOOPBACK),--enable-loopback,--disable-loopback) \ - $(if $(BR2_PACKAGE_CONNMAN_NEARD),--enable-neard,--disable-neard) \ - $(if $(BR2_PACKAGE_CONNMAN_OFONO),--enable-ofono,--disable-ofono) \ - $(if $(BR2_INIT_SYSTEMD),--with-systemdunitdir=/usr/lib/systemd/system) -CONNMAN_DEPENDENCIES += \ - $(if $(BR2_PACKAGE_CONNMAN_NEARD),neard) \ - $(if $(BR2_PACKAGE_CONNMAN_OFONO),ofono) \ - $(if $(BR2_PACKAGE_CONNMAN_WISPR),gnutls) +CONNMAN_CONF_OPTS = --with-dbusconfdir=/etc + +ifeq ($(BR2_INIT_SYSTEMD),y) +CONNMAN_CONF_OPTS += --with-systemdunitdir=/usr/lib/systemd/system +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_BLUETOOTH),y) +CONNMAN_CONF_OPTS += --enable-bluetooth +else +CONNMAN_CONF_OPTS += --disable-bluetooth +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_DEBUG),y) +CONNMAN_CONF_OPTS += --enable-debug +else +CONNMAN_CONF_OPTS += --disable-debug +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_ETHERNET),y) +CONNMAN_CONF_OPTS += --enable-ethernet +else +CONNMAN_CONF_OPTS += --disable-ethernet +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_IPTABLES),y) +CONNMAN_CONF_OPTS += --with-firewall=iptables +CONNMAN_DEPENDENCIES += iptables +else ifeq ($(BR2_PACKAGE_CONNMAN_NFTABLES),y) +CONNMAN_CONF_OPTS += --with-firewall=nftables +CONNMAN_DEPENDENCIES += libmnl nftables +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_LOOPBACK),y) +CONNMAN_CONF_OPTS += --enable-loopback +else +CONNMAN_CONF_OPTS += --disable-loopback +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_NEARD),y) +CONNMAN_CONF_OPTS += --enable-neard +CONNMAN_DEPENDENCIES += neard +else +CONNMAN_CONF_OPTS += --disable-neard +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_OFONO),y) +CONNMAN_CONF_OPTS += --enable-ofono +CONNMAN_DEPENDENCIES += ofono +else +CONNMAN_CONF_OPTS += --disable-ofono +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_WIFI),y) +CONNMAN_CONF_OPTS += --enable-wifi +else +CONNMAN_CONF_OPTS += --disable-wifi +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_WIREGUARD),y) +CONNMAN_CONF_OPTS += --enable-wireguard +CONNMAN_DEPENDENCIES += libmnl +else +CONNMAN_CONF_OPTS += --disable-wireguard +endif + +ifeq ($(BR2_PACKAGE_CONNMAN_WISPR),y) +CONNMAN_CONF_OPTS += --enable-wispr +CONNMAN_DEPENDENCIES += gnutls +else +CONNMAN_CONF_OPTS += --disable-wispr +endif define CONNMAN_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/connman/S45connman $(TARGET_DIR)/etc/init.d/S45connman endef -define CONNMAN_INSTALL_INIT_SYSTEMD - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -fs ../../../../usr/lib/systemd/system/connman.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/connman.service -endef - ifeq ($(BR2_PACKAGE_CONNMAN_CLIENT),y) +CONNMAN_LICENSE += , GPL-2.0+ (client) CONNMAN_CONF_OPTS += --enable-client CONNMAN_DEPENDENCIES += readline diff --git a/package/conntrack-tools/conntrack-tools.hash b/package/conntrack-tools/conntrack-tools.hash index cd95a06dc1..ae9af25e8f 100644 --- a/package/conntrack-tools/conntrack-tools.hash +++ b/package/conntrack-tools/conntrack-tools.hash @@ -1,4 +1,4 @@ # From https://netfilter.org/projects/conntrack-tools/downloads.html -sha256 36c6d99c7684851d4d72e75bd07ff3f0ff1baaf4b6f069eb7244990cd1a9a462 conntrack-tools-1.4.5.tar.bz2 +sha256 590859cc848245dbfd9c6487761dd303b3a1771e007f4f42213063ca56205d5f conntrack-tools-1.4.6.tar.bz2 # Locally calculated sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/conntrack-tools/conntrack-tools.mk b/package/conntrack-tools/conntrack-tools.mk index 77fcb52956..145b6d785f 100644 --- a/package/conntrack-tools/conntrack-tools.mk +++ b/package/conntrack-tools/conntrack-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -CONNTRACK_TOOLS_VERSION = 1.4.5 +CONNTRACK_TOOLS_VERSION = 1.4.6 CONNTRACK_TOOLS_SOURCE = conntrack-tools-$(CONNTRACK_TOOLS_VERSION).tar.bz2 CONNTRACK_TOOLS_SITE = http://www.netfilter.org/projects/conntrack-tools/files CONNTRACK_TOOLS_DEPENDENCIES = host-pkgconf \ diff --git a/package/copas/Config.in b/package/copas/Config.in index 2de1967102..347d86ddfc 100644 --- a/package/copas/Config.in +++ b/package/copas/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_COPAS servers. But it also features timers and client support for http(s), ftp and smtp requests. - http://www.keplerproject.org/copas/ + http://keplerproject.github.io/copas/ diff --git a/package/coreutils/0001-fix-for-dummy-man-usage.patch b/package/coreutils/0001-fix-for-dummy-man-usage.patch deleted file mode 100644 index 4c5a088257..0000000000 --- a/package/coreutils/0001-fix-for-dummy-man-usage.patch +++ /dev/null @@ -1,25 +0,0 @@ -Upstream-Status: Pending - -coreutils: fix for dummy-man usage - -The options should be before the final argument, otherwise, the following error -would appear when compiling. - -"dummy-man: too many non-option arguments" - -Signed-off-by: Chen Qi -[Gustavo: update for 8.24] - -diff -Nura coreutils-8.24.orig/man/local.mk coreutils-8.24/man/local.mk ---- coreutils-8.24.orig/man/local.mk 2015-07-04 11:23:47.190503631 -0300 -+++ coreutils-8.24/man/local.mk 2015-07-04 11:24:25.046741090 -0300 -@@ -186,8 +186,8 @@ - && $(run_help2man) \ - --source='$(PACKAGE_STRING)' \ - --include=$(srcdir)/man/$$name.x \ -- --output=$$t/$$name.1 \ - --info-page='\(aq(coreutils) '$$name' invocation\(aq' \ -+ --output=$$t/$$name.1 \ - $$t/$$argv$(EXEEXT) \ - && sed \ - -e 's|$*\.td/||g' \ diff --git a/package/coreutils/0001-ls-restore-8.31-behavior-on-removed-directories.patch b/package/coreutils/0001-ls-restore-8.31-behavior-on-removed-directories.patch new file mode 100644 index 0000000000..43a8161b93 --- /dev/null +++ b/package/coreutils/0001-ls-restore-8.31-behavior-on-removed-directories.patch @@ -0,0 +1,118 @@ +From 10fcb97bd728f09d4a027eddf8ad2900f0819b0a Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Thu, 5 Mar 2020 17:25:29 -0800 +Subject: [PATCH] ls: restore 8.31 behavior on removed directories + +* NEWS: Mention this. +* src/ls.c: Do not include +(print_dir): Don't worry about whether the directory is removed. +* tests/ls/removed-directory.sh: Adjust to match new (i.e., old) +behavior. +Signed-off-by: Joao Marcos Costa +--- + NEWS | 6 ++++++ + src/ls.c | 22 ---------------------- + tests/ls/removed-directory.sh | 10 ++-------- + 3 files changed, 8 insertions(+), 30 deletions(-) + +diff --git a/NEWS b/NEWS +index fdc8bf5db..653e7178b 100644 +--- a/NEWS ++++ b/NEWS +@@ -2,6 +2,12 @@ GNU coreutils NEWS -*- outline -*- + + * Noteworthy changes in release ?.? (????-??-??) [?] + ++** Changes in behavior ++ ++ On GNU/Linux systems, ls no longer issues an error message on ++ directory merely because it was removed. This reverts a change ++ that was made in release 8.32. ++ + + * Noteworthy changes in release 8.32 (2020-03-05) [stable] + +diff --git a/src/ls.c b/src/ls.c +index 24b983287..4acf5f44d 100644 +--- a/src/ls.c ++++ b/src/ls.c +@@ -49,10 +49,6 @@ + # include + #endif + +-#ifdef __linux__ +-# include +-#endif +- + #include + #include + #include +@@ -2896,7 +2892,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) + struct dirent *next; + uintmax_t total_blocks = 0; + static bool first = true; +- bool found_any_entries = false; + + errno = 0; + dirp = opendir (name); +@@ -2972,7 +2967,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) + next = readdir (dirp); + if (next) + { +- found_any_entries = true; + if (! file_ignored (next->d_name)) + { + enum filetype type = unknown; +@@ -3018,22 +3012,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) + if (errno != EOVERFLOW) + break; + } +-#ifdef __linux__ +- else if (! found_any_entries) +- { +- /* If readdir finds no directory entries at all, not even "." or +- "..", then double check that the directory exists. */ +- if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1 +- && errno != EINVAL) +- { +- /* We exclude EINVAL as that pertains to buffer handling, +- and we've passed NULL as the buffer for simplicity. +- ENOENT is returned if appropriate before buffer handling. */ +- file_failure (command_line_arg, _("reading directory %s"), name); +- } +- break; +- } +-#endif + else + break; + +diff --git a/tests/ls/removed-directory.sh b/tests/ls/removed-directory.sh +index e8c835dab..fe8f929a1 100755 +--- a/tests/ls/removed-directory.sh ++++ b/tests/ls/removed-directory.sh +@@ -26,20 +26,14 @@ case $host_triplet in + *) skip_ 'non linux kernel' ;; + esac + +-LS_FAILURE=2 +- +-cat <<\EOF >exp-err || framework_failure_ +-ls: reading directory '.': No such file or directory +-EOF +- + cwd=$(pwd) + mkdir d || framework_failure_ + cd d || framework_failure_ + rmdir ../d || framework_failure_ + +-returns_ $LS_FAILURE ls >../out 2>../err || fail=1 ++ls >../out 2>../err || fail=1 + cd "$cwd" || framework_failure_ + compare /dev/null out || fail=1 +-compare exp-err err || fail=1 ++compare /dev/null err || fail=1 + + Exit $fail +-- +2.17.1 + diff --git a/package/coreutils/Config.in b/package/coreutils/Config.in index 11a6019e82..705013bae0 100644 --- a/package/coreutils/Config.in +++ b/package/coreutils/Config.in @@ -15,6 +15,24 @@ config BR2_PACKAGE_COREUTILS http://www.gnu.org/software/coreutils/ +if BR2_PACKAGE_COREUTILS + +config BR2_PACKAGE_COREUTILS_INDIVIDUAL_BINARIES + bool "Individual binaries" + depends on !BR2_STATIC_LIBS + help + By default (i.e. with this option disabled), coreutils is + installed as a single binary (Busybox style) called + /usr/bin/coreutils, and all core utilities are symbolic + links to this binary. + + With this option enabled, each utility is a separate binary. + +comment "coreutils individual binaries need a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + +endif + comment "coreutils needs a toolchain w/ wchar" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR diff --git a/package/coreutils/coreutils.hash b/package/coreutils/coreutils.hash index d55e25a86f..54cdf4c551 100644 --- a/package/coreutils/coreutils.hash +++ b/package/coreutils/coreutils.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 e831b3a86091496cdba720411f9748de81507798f6130adeaef872d206e1b057 coreutils-8.30.tar.xz +sha256 4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa coreutils-8.32.tar.xz +# Locally computed +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk index 3e8efbf047..3866b76243 100644 --- a/package/coreutils/coreutils.mk +++ b/package/coreutils/coreutils.mk @@ -4,18 +4,21 @@ # ################################################################################ -COREUTILS_VERSION = 8.30 +COREUTILS_VERSION = 8.32 COREUTILS_SITE = $(BR2_GNU_MIRROR)/coreutils COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.xz COREUTILS_LICENSE = GPL-3.0+ COREUTILS_LICENSE_FILES = COPYING -# coreutils-01-fix-for-dummy-man-usage.patch triggers autoreconf on build -COREUTILS_AUTORECONF = YES -COREUTILS_GETTEXTIZE = YES - -COREUTILS_CONF_OPTS = --disable-rpath --enable-single-binary=symlinks \ +COREUTILS_CONF_OPTS = --disable-rpath \ $(if $(BR2_TOOLCHAIN_USES_MUSL),--with-included-regex) + +ifeq ($(BR2_PACKAGE_COREUTILS_INDIVIDUAL_BINARIES),y) +COREUTILS_CONF_OPTS += --disable-single-binary +else +COREUTILS_CONF_OPTS += --enable-single-binary=symlinks +endif + COREUTILS_CONF_ENV = ac_cv_c_restrict=no \ ac_cv_func_chown_works=yes \ ac_cv_func_euidaccess=no \ @@ -55,7 +58,7 @@ COREUTILS_CONF_ENV = ac_cv_c_restrict=no \ MAKEINFO=true \ INSTALL_PROGRAM=$(INSTALL) -COREUTILS_BIN_PROGS = cat chgrp chmod chown cp date dd df dir echo false \ +COREUTILS_BIN_PROGS = base64 cat chgrp chmod chown cp date dd df dir echo false \ kill link ln ls mkdir mknod mktemp mv nice printenv pwd rm rmdir \ vdir sleep stty sync touch true uname join @@ -96,28 +99,63 @@ COREUTILS_DEPENDENCIES += openssl endif ifeq ($(BR2_ROOTFS_MERGED_USR),) -define COREUTILS_CLEANUP_BIN +# We want to move a few binaries from /usr/bin to /bin. In the case of +# coreutils being built as multi-call binary, we do so by re-creating +# the corresponding symlinks. If coreutils is built with individual +# binaries, we actually move the binaries. +ifeq ($(BR2_PACKAGE_COREUTILS_INDIVIDUAL_BINARIES),y) +define COREUTILS_FIX_BIN_LOCATION + $(foreach f,$(COREUTILS_BIN_PROGS), \ + mv $(TARGET_DIR)/usr/bin/$(f) $(TARGET_DIR)/bin + ) +endef +else +define COREUTILS_FIX_BIN_LOCATION # some things go in /bin rather than /usr/bin $(foreach f,$(COREUTILS_BIN_PROGS), \ rm -f $(TARGET_DIR)/usr/bin/$(f) && \ ln -sf ../usr/bin/coreutils $(TARGET_DIR)/bin/$(f) ) endef -COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_CLEANUP_BIN +endif +COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_FIX_BIN_LOCATION endif ifeq ($(BR2_STATIC_LIBS),y) COREUTILS_CONF_OPTS += --enable-no-install-program=stdbuf endif -define COREUTILS_CLEANUP - # link for archaic shells - ln -fs coreutils $(TARGET_DIR)/usr/bin/[ - # gnu thinks chroot is in bin, debian thinks it's in sbin +# link for archaic shells +define COREUTILS_CREATE_TEST_SYMLINK + ln -fs test $(TARGET_DIR)/usr/bin/[ +endef +COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_CREATE_TEST_SYMLINK + +# gnu thinks chroot is in bin, debian thinks it's in sbin +ifeq ($(BR2_PACKAGE_COREUTILS_INDIVIDUAL_BINARIES),y) +define COREUTILS_FIX_CHROOT_LOCATION + mv $(TARGET_DIR)/usr/bin/chroot $(TARGET_DIR)/usr/sbin +endef +else +define COREUTILS_FIX_CHROOT_LOCATION rm -f $(TARGET_DIR)/usr/bin/chroot ln -sf ../bin/coreutils $(TARGET_DIR)/usr/sbin/chroot endef +endif +COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_FIX_CHROOT_LOCATION -COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_CLEANUP +# Explicitly install ln and realpath, which we *are* insterested in. +# A lot of other programs still get installed, however, but disabling +# them does not gain much at build time, and is a loooong list that is +# difficult to maintain... +HOST_COREUTILS_CONF_OPTS = \ + --disable-acl \ + --disable-libcap \ + --disable-rpath \ + --disable-single-binary \ + --disable-xattr \ + --without-gmp \ + --enable-install-program=ln,realpath $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/corkscrew/corkscrew.hash b/package/corkscrew/corkscrew.hash index 5a580d1343..4006c6abaf 100644 --- a/package/corkscrew/corkscrew.hash +++ b/package/corkscrew/corkscrew.hash @@ -1,3 +1,3 @@ # sha256 locally computed -sha256 ba28a7d123fe607b87ff9d399b33e7549d9ef1a13ae3b61e8f61982e8ae5571d corkscrew-a94f745b40077172b8fe7d77e2d583b9cf900281.tar.gz +sha256 09d70daaa3145070a1e463dbab6ae1cbc62449b1e09c94e158f6017e7c79c9f6 corkscrew-2.0.tar.gz sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/corkscrew/corkscrew.mk b/package/corkscrew/corkscrew.mk index 13612d4448..de696bad64 100644 --- a/package/corkscrew/corkscrew.mk +++ b/package/corkscrew/corkscrew.mk @@ -4,8 +4,8 @@ # ################################################################################ -CORKSCREW_VERSION = a94f745b40077172b8fe7d77e2d583b9cf900281 -CORKSCREW_SITE = $(call github,bryanpkc,corkscrew,$(CORKSCREW_VERSION)) +CORKSCREW_VERSION = 2.0 +CORKSCREW_SITE = $(call github,bryanpkc,corkscrew,v$(CORKSCREW_VERSION)) CORKSCREW_LICENSE = GPL-2.0 CORKSCREW_LICENSE_FILES = COPYING CORKSCREW_AUTORECONF = YES diff --git a/package/cpio/0001-fix-CVE-2016-2037.patch b/package/cpio/0001-fix-CVE-2016-2037.patch deleted file mode 100644 index aec2ccb8e5..0000000000 --- a/package/cpio/0001-fix-CVE-2016-2037.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Pavel Raiskup -Subject: [Bug-cpio] [PATCH] fix 1-byte out-of-bounds write -Date: Tue, 26 Jan 2016 23:17:54 +0100 - -Other calls to cpio_safer_name_suffix seem to be safe. - -* src/copyin.c (process_copy_in): Make sure that file_hdr.c_name -has at least two bytes allocated. -* src/util.c (cpio_safer_name_suffix): Document that use of this -function requires to be careful. - -Signed-off-by: Gustavo Zacarias ---- -Patch status: fetched/submitted -URL: https://lists.gnu.org/archive/html/bug-cpio/2016-01/msg00005.html - - src/copyin.c | 2 ++ - src/util.c | 5 ++++- - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/src/copyin.c b/src/copyin.c -index cde911e..032d35f 100644 ---- a/src/copyin.c -+++ b/src/copyin.c -@@ -1385,6 +1385,8 @@ process_copy_in () - break; - } - -+ if (file_hdr.c_namesize <= 1) -+ file_hdr.c_name = xrealloc(file_hdr.c_name, 2); - cpio_safer_name_suffix (file_hdr.c_name, false, !no_abs_paths_flag, - false); - -diff --git a/src/util.c b/src/util.c -index 6ff6032..2763ac1 100644 ---- a/src/util.c -+++ b/src/util.c -@@ -1411,7 +1411,10 @@ set_file_times (int fd, - } - - /* Do we have to ignore absolute paths, and if so, does the filename -- have an absolute path? */ -+ have an absolute path? -+ Before calling this function make sure that the allocated NAME buffer has -+ capacity at least 2 bytes to allow us to store the "." string inside. */ -+ - void - cpio_safer_name_suffix (char *name, bool link_target, bool absolute_names, - bool strip_leading_dots) --- -2.5.0 diff --git a/package/cpio/cpio.hash b/package/cpio/cpio.hash index 962a100cc4..a3a0d4b3f9 100644 --- a/package/cpio/cpio.hash +++ b/package/cpio/cpio.hash @@ -1,2 +1,7 @@ +# From https://lists.gnu.org/archive/html/info-gnu/2019-11/msg00002.html +md5 f3438e672e3fa273a7dc26339dd1eed6 cpio-2.13.tar.bz2 +sha1 4dcefc0e1bc36b11506a354768d82b15e3fe6bb8 cpio-2.13.tar.bz2 # Locally calculated after checking pgp signature -sha256 08a35e92deb3c85d269a0059a27d4140a9667a6369459299d08c17f713a92e73 cpio-2.12.tar.gz +sha256 eab5bdc5ae1df285c59f2a4f140a98fc33678a0bf61bdba67d9436ae26b46f6d cpio-2.13.tar.bz2 +# Locally calculated +sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/cpio/cpio.mk b/package/cpio/cpio.mk index 9a09279572..1d9c54669e 100644 --- a/package/cpio/cpio.mk +++ b/package/cpio/cpio.mk @@ -4,7 +4,8 @@ # ################################################################################ -CPIO_VERSION = 2.12 +CPIO_VERSION = 2.13 +CPIO_SOURCE = cpio-$(CPIO_VERSION).tar.bz2 CPIO_SITE = $(BR2_GNU_MIRROR)/cpio CPIO_CONF_OPTS = --bindir=/bin CPIO_LICENSE = GPL-3.0+ @@ -17,3 +18,4 @@ CPIO_DEPENDENCIES += argp-standalone endif $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/cppcms/Config.in b/package/cppcms/Config.in index d7b7fa8933..f02b283482 100644 --- a/package/cppcms/Config.in +++ b/package/cppcms/Config.in @@ -27,16 +27,15 @@ if BR2_PACKAGE_CPPCMS config BR2_PACKAGE_CPPCMS_ICU bool "enable icu support" depends on !BR2_BINFMT_FLAT # icu - depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu select BR2_PACKAGE_ICU help Using ICU allows advanced localization features into CppCMS, in another hand ICU is heavier than iconv. -comment "icu support needs a toolchain w/ gcc >= 4.8, host gcc >= 4.8" +comment "icu support needs a toolchain w/ gcc >= 4.8" depends on !BR2_BINFMT_FLAT - depends on !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 endif diff --git a/package/cppdb/cppdb.hash b/package/cppdb/cppdb.hash index efc0eac0df..6423ef289e 100644 --- a/package/cppdb/cppdb.hash +++ b/package/cppdb/cppdb.hash @@ -1,3 +1,6 @@ # From http://sourceforge.net/projects/cppcms/files/cppdb/0.3.1/ md5 129f1d75f46114b79160b93807d5223f cppdb-0.3.1.tar.bz2 sha1 c0410dcc482d71696ac9206044b3a3ac03d31f96 cppdb-0.3.1.tar.bz2 +# locally computed +sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt +sha256 503ed52ef942d44bb26bd47dd5c6765927b198624e4f375e32cc660dfc2a0981 MIT.txt diff --git a/package/cppunit/cppunit.hash b/package/cppunit/cppunit.hash index a097e3256d..47577f2a0b 100644 --- a/package/cppunit/cppunit.hash +++ b/package/cppunit/cppunit.hash @@ -1,5 +1,6 @@ # hash from: http://www.freedesktop.org/wiki/Software/cppunit/: -md5 d1c6bdd5a76c66d2c38331e2d287bc01 cppunit-1.13.2.tar.gz +md5 9dc669e6145cadd9674873e24943e6dd cppunit-1.15.1.tar.gz +sha256 89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7 cppunit-1.15.1.tar.gz # Locally calculated: -sha512 8f4be569f321d577cec31931f49f4df143bc94e283605509b6ea50c60690aa91a2aed940e7eebd4b2413a4218f9a6c3978d312d8e587eab040283c6563846ecd cppunit-1.13.2.tar.gz +sha256 badf14d0aa3eaf1a7ae5f19a47a8ef2fc71a96802c4bc3d354535693c389f4e5 COPYING diff --git a/package/cppunit/cppunit.mk b/package/cppunit/cppunit.mk index db01b70bec..3fe12b33bb 100644 --- a/package/cppunit/cppunit.mk +++ b/package/cppunit/cppunit.mk @@ -4,7 +4,7 @@ # ################################################################################ -CPPUNIT_VERSION = 1.13.2 +CPPUNIT_VERSION = 1.15.1 CPPUNIT_SITE = http://dev-www.libreoffice.org/src CPPUNIT_INSTALL_STAGING = YES CPPUNIT_LICENSE = LGPL-2.1 diff --git a/package/cppzmq/0001-fix-install-without-static-libzmq.patch b/package/cppzmq/0001-fix-install-without-static-libzmq.patch deleted file mode 100644 index 15936f3f8f..0000000000 --- a/package/cppzmq/0001-fix-install-without-static-libzmq.patch +++ /dev/null @@ -1,47 +0,0 @@ -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 52308d1ea6..f0e256dc14 100644 --- a/package/cppzmq/cppzmq.hash +++ b/package/cppzmq/cppzmq.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 27d1f56406ba94ee779e639203218820975cf68174f92fbeae0f645df0fcada4 cppzmq-v4.3.0.tar.gz +sha256 e9203391a0b913576153a2ad22a2dc1479b1ec325beb6c46a3237c669aef5a52 cppzmq-4.6.0.tar.gz sha256 7e6db90e2e805c72b3daa77849d1cb5f1f92da0e69750c8a4aa1d86d70704748 LICENSE diff --git a/package/cppzmq/cppzmq.mk b/package/cppzmq/cppzmq.mk index d23366e1d3..c2994ecfcb 100644 --- a/package/cppzmq/cppzmq.mk +++ b/package/cppzmq/cppzmq.mk @@ -4,8 +4,8 @@ # ################################################################################ -CPPZMQ_VERSION = v4.3.0 -CPPZMQ_SITE = $(call github,zeromq,cppzmq,$(CPPZMQ_VERSION)) +CPPZMQ_VERSION = 4.6.0 +CPPZMQ_SITE = $(call github,zeromq,cppzmq,v$(CPPZMQ_VERSION)) CPPZMQ_INSTALL_STAGING = YES CPPZMQ_DEPENDENCIES = host-pkgconf zeromq CPPZMQ_LICENSE = MIT diff --git a/package/cpuburn-arm/Config.in b/package/cpuburn-arm/Config.in new file mode 100644 index 0000000000..141904791d --- /dev/null +++ b/package/cpuburn-arm/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_CPUBURN_ARM_ARCH_SUPPORTS + bool + default y if BR2_cortex_a7 + default y if BR2_cortex_a8 + default y if BR2_cortex_a9 + default y if BR2_cortex_a53 + +config BR2_PACKAGE_CPUBURN_ARM + bool "cpuburn-arm" + depends on BR2_PACKAGE_CPUBURN_ARM_ARCH_SUPPORTS + help + Make ARM cores generate as much heat as possible. Supports + Cortex A7/A8/A9/A53. + + https://github.com/ssvb/cpuburn-arm diff --git a/package/cpuburn-arm/cpuburn-arm.hash b/package/cpuburn-arm/cpuburn-arm.hash new file mode 100644 index 0000000000..55f34f87f8 --- /dev/null +++ b/package/cpuburn-arm/cpuburn-arm.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 354381ec8c352e6c84875ac034004df44b0ed0ac097c400b8d2e47652815c3a2 cpuburn-arm-ad7e646700d14b81413297bda02fb7fe96613c3f.tar.gz +sha256 47f10095a04d16c8d8d52598371fa01b6a6e87134083b9ec3c43d83ff8576f55 cpuburn-a7.S diff --git a/package/cpuburn-arm/cpuburn-arm.mk b/package/cpuburn-arm/cpuburn-arm.mk new file mode 100644 index 0000000000..649ffd224b --- /dev/null +++ b/package/cpuburn-arm/cpuburn-arm.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# cpuburn-arm +# +################################################################################ + +CPUBURN_ARM_VERSION = ad7e646700d14b81413297bda02fb7fe96613c3f +CPUBURN_ARM_SITE = $(call github,ssvb,cpuburn-arm,$(CPUBURN_ARM_VERSION)) +CPUBURN_ARM_LICENSE = MIT +CPUBURN_ARM_LICENSE_FILES = cpuburn-a7.S + +ifeq ($(BR2_cortex_a7),y) +CPUBURN_ARM_SRC = cpuburn-a7.S +else ifeq ($(BR2_cortex_a8),y) +CPUBURN_ARM_SRC = cpuburn-a8.S +else ifeq ($(BR2_cortex_a9),y) +CPUBURN_ARM_SRC = cpuburn-a9.S +else ifeq ($(BR2_cortex_a53),y) +CPUBURN_ARM_SRC = cpuburn-a53.S +endif + +define CPUBURN_ARM_BUILD_CMDS + $(TARGET_CC) $(TARGET_CFLAGS) -o $(@D)/cpuburn \ + $(@D)/$(CPUBURN_ARM_SRC) +endef + +define CPUBURN_ARM_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 $(@D)/cpuburn $(TARGET_DIR)/usr/bin/cpuburn +endef + +$(eval $(generic-package)) diff --git a/package/cpuload/cpuload.hash b/package/cpuload/cpuload.hash index 02861ffa95..b80879ca7d 100644 --- a/package/cpuload/cpuload.hash +++ b/package/cpuload/cpuload.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 1d61f4776dc3e2746343d68b2ea2faf138e54666b630a6060df4f3945badbcae cpuload-v0.3.tar.gz +sha256 1d61f4776dc3e2746343d68b2ea2faf138e54666b630a6060df4f3945badbcae cpuload-0.3.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/cpuload/cpuload.mk b/package/cpuload/cpuload.mk index e792952a4e..648b17e59e 100644 --- a/package/cpuload/cpuload.mk +++ b/package/cpuload/cpuload.mk @@ -4,8 +4,8 @@ # ################################################################################ -CPULOAD_VERSION = v0.3 -CPULOAD_SITE = $(call github,kelvincheung,cpuload,$(CPULOAD_VERSION)) +CPULOAD_VERSION = 0.3 +CPULOAD_SITE = $(call github,kelvincheung,cpuload,v$(CPULOAD_VERSION)) CPULOAD_LICENSE = GPL-2.0 CPULOAD_LICENSE_FILES = COPYING diff --git a/package/cracklib/0001-Apply-patch-to-fix-CVE-2016-6318.patch b/package/cracklib/0001-Apply-patch-to-fix-CVE-2016-6318.patch deleted file mode 100644 index 6180c4ba55..0000000000 --- a/package/cracklib/0001-Apply-patch-to-fix-CVE-2016-6318.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 47e5dec521ab6243c9b249dd65b93d232d90d6b1 Mon Sep 17 00:00:00 2001 -From: Jan Dittberner -Date: Thu, 25 Aug 2016 17:13:49 +0200 -Subject: [PATCH] Apply patch to fix CVE-2016-6318 - -This patch fixes an issue with a stack-based buffer overflow whne -parsing large GECOS field. See -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6318 and -https://security-tracker.debian.org/tracker/CVE-2016-6318 for more -information. - -Signed-off-by: Stefan Sørensen ---- - -Status: upstream, not yet released. - - lib/fascist.c | 57 ++++++++++++++++++++++++++++++++----------------------- - 2 files changed, 34 insertions(+), 24 deletions(-) - -diff --git a/lib/fascist.c b/lib/fascist.c -index a996509..d4deb15 100644 ---- a/lib/fascist.c -+++ b/lib/fascist.c -@@ -502,7 +502,7 @@ FascistGecosUser(char *password, const char *user, const char *gecos) - char gbuffer[STRINGSIZE]; - char tbuffer[STRINGSIZE]; - char *uwords[STRINGSIZE]; -- char longbuffer[STRINGSIZE * 2]; -+ char longbuffer[STRINGSIZE]; - - if (gecos == NULL) - gecos = ""; -@@ -583,38 +583,47 @@ FascistGecosUser(char *password, const char *user, const char *gecos) - { - for (i = 0; i < j; i++) - { -- strcpy(longbuffer, uwords[i]); -- strcat(longbuffer, uwords[j]); -- -- if (GTry(longbuffer, password)) -+ if (strlen(uwords[i]) + strlen(uwords[j]) < STRINGSIZE) - { -- return _("it is derived from your password entry"); -- } -+ strcpy(longbuffer, uwords[i]); -+ strcat(longbuffer, uwords[j]); - -- strcpy(longbuffer, uwords[j]); -- strcat(longbuffer, uwords[i]); -+ if (GTry(longbuffer, password)) -+ { -+ return _("it is derived from your password entry"); -+ } - -- if (GTry(longbuffer, password)) -- { -- return _("it's derived from your password entry"); -- } -+ strcpy(longbuffer, uwords[j]); -+ strcat(longbuffer, uwords[i]); - -- longbuffer[0] = uwords[i][0]; -- longbuffer[1] = '\0'; -- strcat(longbuffer, uwords[j]); -+ if (GTry(longbuffer, password)) -+ { -+ return _("it's derived from your password entry"); -+ } -+ } - -- if (GTry(longbuffer, password)) -+ if (strlen(uwords[j]) < STRINGSIZE - 1) - { -- return _("it is derivable from your password entry"); -+ longbuffer[0] = uwords[i][0]; -+ longbuffer[1] = '\0'; -+ strcat(longbuffer, uwords[j]); -+ -+ if (GTry(longbuffer, password)) -+ { -+ return _("it is derivable from your password entry"); -+ } - } - -- longbuffer[0] = uwords[j][0]; -- longbuffer[1] = '\0'; -- strcat(longbuffer, uwords[i]); -- -- if (GTry(longbuffer, password)) -+ if (strlen(uwords[i]) < STRINGSIZE - 1) - { -- return _("it's derivable from your password entry"); -+ longbuffer[0] = uwords[j][0]; -+ longbuffer[1] = '\0'; -+ strcat(longbuffer, uwords[i]); -+ -+ if (GTry(longbuffer, password)) -+ { -+ return _("it's derivable from your password entry"); -+ } - } - } - } --- -2.9.3 - diff --git a/package/cracklib/0003-Force-grep-to-treat-the-input-as-text-when-formattin.patch b/package/cracklib/0001-Force-grep-to-treat-the-input-as-text-when-formattin.patch similarity index 100% rename from package/cracklib/0003-Force-grep-to-treat-the-input-as-text-when-formattin.patch rename to package/cracklib/0001-Force-grep-to-treat-the-input-as-text-when-formattin.patch diff --git a/package/cracklib/0002-Fix-a-buffer-overflow-processing-long-words.patch b/package/cracklib/0002-Fix-a-buffer-overflow-processing-long-words.patch deleted file mode 100644 index 63525cc73d..0000000000 --- a/package/cracklib/0002-Fix-a-buffer-overflow-processing-long-words.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 33d7fa4585247cd2247a1ffa032ad245836c6edb Mon Sep 17 00:00:00 2001 -From: Jan Dittberner -Date: Thu, 25 Aug 2016 17:17:53 +0200 -Subject: [PATCH] Fix a buffer overflow processing long words - -A buffer overflow processing long words has been discovered. This commit -applies the patch from -https://build.opensuse.org/package/view_file/Base:System/cracklib/0004-overflow-processing-long-words.patch -by Howard Guo. - -See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835386 and -http://www.openwall.com/lists/oss-security/2016/08/23/8 - -Signed-off-by: Stefan Sørensen ---- - -Status: upstream, not yet released. - - lib/rules.c | 5 ++--- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/lib/rules.c b/lib/rules.c -index d193cc0..3a2aa46 100644 ---- a/lib/rules.c -+++ b/lib/rules.c -@@ -434,9 +434,8 @@ Mangle(input, control) /* returns a pointer to a controlled Mangle */ - { - int limit; - register char *ptr; -- static char area[STRINGSIZE]; -- char area2[STRINGSIZE]; -- area[0] = '\0'; -+ static char area[STRINGSIZE * 2] = {0}; -+ char area2[STRINGSIZE * 2] = {0}; - strcpy(area, input); - - for (ptr = control; *ptr; ptr++) --- -2.9.3 - diff --git a/package/cracklib/cracklib.hash b/package/cracklib/cracklib.hash index 3038a47a36..9bc8e3d28a 100644 --- a/package/cracklib/cracklib.hash +++ b/package/cracklib/cracklib.hash @@ -1,3 +1,4 @@ # Locally calculated -sha256 17cf76943de272fd579ed831a1fd85339b393f8d00bf9e0d17c91e972f583343 cracklib-2.9.6.tar.gz -sha256 27973245225eeb9d0090e97f3dea4197dec99b64d9d3a791a60298f3b021824c cracklib-words-2.9.6.gz +sha256 8b6fd202f3f1d8fa395d3b7a5d821227cfd8bb4a9a584a7ae30cf62cea6287dd cracklib-2.9.7.tar.gz +sha256 7f0c45faf84a2494f15d1e2720394aca4a379163a70c4acad948186c0047d389 cracklib-words-2.9.7.gz +sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB diff --git a/package/cracklib/cracklib.mk b/package/cracklib/cracklib.mk index aeee60d1e7..91d510ff34 100644 --- a/package/cracklib/cracklib.mk +++ b/package/cracklib/cracklib.mk @@ -4,12 +4,13 @@ # ################################################################################ -CRACKLIB_VERSION = 2.9.6 -CRACKLIB_SITE = https://github.com/cracklib/cracklib/releases/download/cracklib-$(CRACKLIB_VERSION) +CRACKLIB_VERSION = 2.9.7 +CRACKLIB_SITE = https://github.com/cracklib/cracklib/releases/download/v$(CRACKLIB_VERSION) CRACKLIB_LICENSE = LGPL-2.1 CRACKLIB_LICENSE_FILES = COPYING.LIB CRACKLIB_INSTALL_STAGING = YES -CRACKLIB_DEPENDENCIES = host-cracklib +CRACKLIB_DEPENDENCIES = host-cracklib $(TARGET_NLS_DEPENDENCIES) +CRACKLIB_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_ZLIB),y) CRACKLIB_CONF_OPTS += --with-zlib diff --git a/package/cramfs/cramfs.hash b/package/cramfs/cramfs.hash index c6c18b073c..af7d2e1db3 100644 --- a/package/cramfs/cramfs.hash +++ b/package/cramfs/cramfs.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 99d87aa5874f4a34c219275e0297b0f4c710895f9c87295267aeabe6a752add1 cramfs-1a1e65f2a049.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING 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 fb46d58ed2..f2b9cca2d6 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,11 +1,11 @@ -From 4c346aa9e816bddfedc8ac99809fd1ed91bfc8ee Mon Sep 17 00:00:00 2001 +From 8228c484a1533ff904b276c342adcb6310abe272 Mon Sep 17 00:00:00 2001 From: Taahir Ahmed Date: Wed, 30 Mar 2016 11:23:54 -0300 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 -M2Crypto to pycrypto, since M2Crypto doesn't support python 3.x. +M2Crypto to pycryptodomex, since M2Crypto doesn't support python 3.x. In addition, some errors in the generated source file keys-ssl.h are fixed: @@ -17,12 +17,22 @@ fixed: [Gustavo: don't call /utils/key2pub.py since that doesn't compute] +Use pycryptodomex insdead of pycrypto + +From [1]: +"PyCryptodome is a fork of PyCrypto, which is not maintained any more +(the last release dates back to 2013 [2]). It exposes almost the same +API, but there are a few incompatibilities [3]." + +[1] https://github.com/OP-TEE/optee_os/commit/90ad2450436fdd9fc0d28a3f92f3fbcfd89a38f0 +[2] https://pypi.org/project/pycrypto/#history +[3] https://pycryptodome.readthedocs.io/en/latest/src/vs_pycrypto.html + 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 +[Romain: Use pycryptodomex] +Signed-off-by: Romain Naour --- Makefile | 2 +- utils/key2pub.py | 146 ++++++++++++++++++++++++----------------------- @@ -42,7 +52,7 @@ index a3ead30..8da38d0 100644 $(LIBREG): regdb.h reglib.h reglib.c $(NQ) ' CC ' $@ diff --git a/utils/key2pub.py b/utils/key2pub.py -index 9bb04cd..9f92ebd 100755 +index 9bb04cd..8a0ba2a 100755 --- a/utils/key2pub.py +++ b/utils/key2pub.py @@ -1,126 +1,128 @@ @@ -57,11 +67,11 @@ index 9bb04cd..9f92ebd 100755 - sys.stderr.write('Please install the "M2Crypto" Python module.\n') - sys.stderr.write('On Debian GNU/Linux the package is called "python-m2crypto".\n') - sys.exit(1) -+ from Crypto.PublicKey import RSA ++ from Cryptodome.PublicKey import RSA +except ImportError as e: -+ sys.stderr.write('ERROR: Failed to import the "Crypto.PublicKey" module: %s\n' % e.message) -+ sys.stderr.write('Please install the "Crypto.PublicKey" Python module.\n') -+ sys.stderr.write('On Debian GNU/Linux the package is called "python-crypto".\n') ++ sys.stderr.write('ERROR: Failed to import the "Cryptodome.PublicKey" module: %s\n' % e.message) ++ sys.stderr.write('Please install the "Cryptodome.PublicKey" Python module.\n') ++ sys.stderr.write('On Debian GNU/Linux the package is called "python-cryptodomex".\n') + sys.exit(1) + +def bitwise_collect(value, radix_bits): @@ -269,5 +279,5 @@ index 9bb04cd..9f92ebd 100755 modes[mode][1](output, idx - 1) -- -2.18.0 +2.25.3 diff --git a/package/crda/crda.hash b/package/crda/crda.hash index edec55a019..2a263d172a 100644 --- a/package/crda/crda.hash +++ b/package/crda/crda.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 5a8f35bb8b27474f466b0e75d451ba917433d8aab1889678a64d9c4e72a8b8c2 crda-4.14.tar.gz +sha256 5a8f35bb8b27474f466b0e75d451ba917433d8aab1889678a64d9c4e72a8b8c2 crda-4.14.tar.gz +sha256 c16224b376128b589eea69a8fdd1f09818b8cb995e10d1e37f72dff22233d7b0 LICENSE diff --git a/package/crda/crda.mk b/package/crda/crda.mk index eb43a7d772..c5880797be 100644 --- a/package/crda/crda.mk +++ b/package/crda/crda.mk @@ -6,7 +6,7 @@ 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_DEPENDENCIES = host-pkgconf host-python-pycryptodomex libnl libgcrypt CRDA_LICENSE = ISC CRDA_LICENSE_FILES = LICENSE diff --git a/package/crudini/Config.in b/package/crudini/Config.in index e4e26e52da..240848dffc 100644 --- a/package/crudini/Config.in +++ b/package/crudini/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_CRUDINI bool "crudini" - depends on BR2_PACKAGE_PYTHON + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_INIPARSE # runtime help A utility for handling ini files from the command line and diff --git a/package/crudini/crudini.hash b/package/crudini/crudini.hash index 9279847be9..6f2563dfdd 100644 --- a/package/crudini/crudini.hash +++ b/package/crudini/crudini.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=9b8500c90467f0a61c714fbe852c2a66, sha256 locally computed -md5 9b8500c90467f0a61c714fbe852c2a66 crudini-0.9.tar.gz -sha256 10512a5a2f7b54b42e48a1d00f0c6398947c2ba6c264b9fdef86677f0e949fd3 crudini-0.9.tar.gz +# locally computed +sha256 e1b8125ac4373ece3bb0bb047ba9336e5bd55ed5d56b9729968058c9385ab546 crudini-0.9.3.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/crudini/crudini.mk b/package/crudini/crudini.mk index c03f55c374..7141e2b2a0 100644 --- a/package/crudini/crudini.mk +++ b/package/crudini/crudini.mk @@ -4,8 +4,8 @@ # ################################################################################ -CRUDINI_VERSION = 0.9 -CRUDINI_SITE = https://pypi.python.org/packages/b5/65/5588903472f30fa01ca4951be00c03a317b27bac4cd1e945bd16b2c1b6d3 +CRUDINI_VERSION = 0.9.3 +CRUDINI_SITE = $(call github,pixelb,crudini,$(CRUDINI_VERSION)) CRUDINI_SETUP_TYPE = setuptools CRUDINI_LICENSE = GPL-2.0 CRUDINI_LICENSE_FILES = COPYING diff --git a/package/cryptodev-linux/cryptodev-linux.hash b/package/cryptodev-linux/cryptodev-linux.hash index eeb481d6aa..53f64e6830 100644 --- a/package/cryptodev-linux/cryptodev-linux.hash +++ b/package/cryptodev-linux/cryptodev-linux.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 994ed2f715dd3786f534d5215ae7ae4735b84cff28ea41080ff3501bf1503944 cryptodev-linux-f60aa08c63fc02780554a0a12180a478ca27d49f.tar.gz +sha256 d67a4a306a0d449298af2448f8f324bf79ec9d41411eef0c92ed764b6d505eee cryptodev-linux-f2927e313b6a74408d17d152abb21aa59d113b46.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/cryptodev-linux/cryptodev-linux.mk b/package/cryptodev-linux/cryptodev-linux.mk index 028f7b1df4..3d5d640b8a 100644 --- a/package/cryptodev-linux/cryptodev-linux.mk +++ b/package/cryptodev-linux/cryptodev-linux.mk @@ -4,7 +4,7 @@ # ################################################################################ -CRYPTODEV_LINUX_VERSION = f60aa08c63fc02780554a0a12180a478ca27d49f +CRYPTODEV_LINUX_VERSION = f2927e313b6a74408d17d152abb21aa59d113b46 CRYPTODEV_LINUX_SITE = $(call github,cryptodev-linux,cryptodev-linux,$(CRYPTODEV_LINUX_VERSION)) CRYPTODEV_LINUX_INSTALL_STAGING = YES CRYPTODEV_LINUX_LICENSE = GPL-2.0+ diff --git a/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 deleted file mode 100644 index 7f93bceacf..0000000000 --- a/package/cryptopp/0001-config.h-avx2-depends-on-gcc-4.9.patch +++ /dev/null @@ -1,40 +0,0 @@ -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 8d12a98dab..c0d442a97b 100644 --- a/package/cryptopp/cryptopp.hash +++ b/package/cryptopp/cryptopp.hash @@ -1,5 +1,5 @@ -# Hash from: https://www.cryptopp.com/release800.html: -sha256 bbfd89b348846b920d97a1d32b88c85caf0d7bb423d4fcfab7c44349aaceb82c cryptopp800.zip +# Hash from: https://www.cryptopp.com/release820.html: +sha256 03f0e2242e11b9d19b28d0ec5a3fa8ed5cc7b27640e6bed365744f593e858058 cryptopp820.zip # Hash for license file: -sha256 fe5f5f187e6e38ac2f833956fc5c4cab2df08797cff07f540e4ee74f12f7ee5b License.txt +sha256 f29d65ae3f0c8e327284f193524643ffb4d682fcca3e1740a5c6cbab0e720583 License.txt diff --git a/package/cryptopp/cryptopp.mk b/package/cryptopp/cryptopp.mk index 8e3277a941..f1d19386ab 100644 --- a/package/cryptopp/cryptopp.mk +++ b/package/cryptopp/cryptopp.mk @@ -4,10 +4,10 @@ # ################################################################################ -CRYPTOPP_VERSION = 8.0.0 +CRYPTOPP_VERSION = 8.2.0 CRYPTOPP_SOURCE = cryptopp$(subst .,,$(CRYPTOPP_VERSION)).zip CRYPTOPP_SITE = https://cryptopp.com -CRYPTOPP_LICENSE = BSL-1.0 +CRYPTOPP_LICENSE = BSL-1.0, BSD-3-Clause (CRYPTOGAMS), Public domain (ChaCha SSE2 and AVX) CRYPTOPP_LICENSE_FILES = License.txt CRYPTOPP_INSTALL_STAGING = YES @@ -15,16 +15,23 @@ define HOST_CRYPTOPP_EXTRACT_CMDS $(UNZIP) $(HOST_CRYPTOPP_DL_DIR)/$(CRYPTOPP_SOURCE) -d $(@D) endef +HOST_CRYPTOPP_CXXFLAGS = $(HOST_CFLAGS) -fPIC + +# _mm256_broadcastsi128_si256 has been added only in gcc 4.9 +ifneq ($(BR2_HOST_GCC_AT_LEAST_4_9),y) +HOST_CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_AVX2 +endif + HOST_CRYPTOPP_MAKE_OPTS = \ $(HOST_CONFIGURE_OPTS) \ - CXXFLAGS="$(HOST_CXXFLAGS) -fPIC" + CXXFLAGS="$(HOST_CRYPTOPP_CXXFLAGS)" define HOST_CRYPTOPP_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CRYPTOPP_MAKE_OPTS) shared endef define HOST_CRYPTOPP_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install-lib endef $(eval $(host-generic-package)) diff --git a/package/cryptsetup/Config.in b/package/cryptsetup/Config.in index 14b897a8a8..c4281f7e26 100644 --- a/package/cryptsetup/Config.in +++ b/package/cryptsetup/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_CRYPTSETUP bool "cryptsetup" depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2 - depends on BR2_USE_MMU # lvm2 - depends on !BR2_STATIC_LIBS # lvm2 + depends on BR2_USE_MMU # lvm2, libargon2 + depends on !BR2_STATIC_LIBS # lvm2, libargon2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c select BR2_PACKAGE_POPT select BR2_PACKAGE_LVM2 @@ -10,6 +10,7 @@ config BR2_PACKAGE_CRYPTSETUP select BR2_PACKAGE_UTIL_LINUX_LIBUUID select BR2_PACKAGE_UTIL_LINUX_LIBBLKID select BR2_PACKAGE_JSON_C + select BR2_PACKAGE_LIBARGON2 help This tool helps manipulate dm-crypt and luks partitions for on-disk encryption. diff --git a/package/cryptsetup/cryptsetup.hash b/package/cryptsetup/cryptsetup.hash index 748ea0eafb..175ecf33cf 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 7c51fae0f0e7ea9af0f515b2ac77009fb2969a6619ebab47d097dca38b083d30 cryptsetup-2.0.6.tar.xz +# From https://www.kernel.org/pub/linux/utils/cryptsetup/v2.2/sha256sums.asc +sha256 2af0ec9551ab9c870074cae9d3f68d82cab004f4095fa89db0e4413713424a46 cryptsetup-2.2.2.tar.xz sha256 45670cce8b6a0ddd66c8016cd8ccef6cd71f35717cbacc7f1e895b3855207b33 COPYING sha256 8c33cc37871654ec7ed87e6fbb896c8cf33ef5ef05b1611a5aed857596ffafa5 COPYING.LGPL diff --git a/package/cryptsetup/cryptsetup.mk b/package/cryptsetup/cryptsetup.mk index 7788bfb60b..197f5f25b2 100644 --- a/package/cryptsetup/cryptsetup.mk +++ b/package/cryptsetup/cryptsetup.mk @@ -4,17 +4,17 @@ # ################################################################################ -CRYPTSETUP_VERSION_MAJOR = 2.0 -CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).6 +CRYPTSETUP_VERSION_MAJOR = 2.2 +CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).2 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 \ +CRYPTSETUP_DEPENDENCIES = lvm2 popt util-linux host-pkgconf json-c libargon2 \ $(TARGET_NLS_DEPENDENCIES) 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_CONF_OPTS += --enable-blkid --enable-libargon2 # cryptsetup uses libgcrypt by default, but can be configured to use OpenSSL # or kernel crypto modules instead diff --git a/package/ctorrent/ctorrent.hash b/package/ctorrent/ctorrent.hash index 6dcb590b95..3e82902628 100644 --- a/package/ctorrent/ctorrent.hash +++ b/package/ctorrent/ctorrent.hash @@ -1,2 +1,5 @@ # From http://sourceforge.net/projects/dtorrent/files/dtorrent/3.3.2/ sha1 d4e221f0292268f80e2430ce9d451dd64cf1ffaa ctorrent-dnh3.3.2.tar.gz + +# locally calculated +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/cups-filters/0001-Replace-relative-linking-with-absolute-linking.patch b/package/cups-filters/0001-Replace-relative-linking-with-absolute-linking.patch deleted file mode 100644 index e4b35cda39..0000000000 --- a/package/cups-filters/0001-Replace-relative-linking-with-absolute-linking.patch +++ /dev/null @@ -1,46 +0,0 @@ -From c26b4c3550557442890f2f790d4f8b61a3734c1f Mon Sep 17 00:00:00 2001 -From: Olivier Schonken -Date: Thu, 8 Mar 2018 12:32:23 +0200 -Subject: [PATCH] install: don't use ln -r - -Oldish enterprise-class distributions have too old versions of -coreutils, with ln not supporting -r. - -So we fake it. - -ln -r would create minimalist relative paths, but they are not -trivial to generate. Instead, we always create paths relative to the -root, i.e.: - - ln -s -r /usr/bin/foo /usr/sbin/foo - -would create: /usr/sbin/foo -> ../bin/foo -while we do : /usr/sbin/foo -> ../../usr/bin/foo - -Signed-off-by: Olivier Schonken ---- - Makefile.am | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index d959227..b49914a 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -998,11 +998,11 @@ install-exec-hook: - $(INSTALL) -d -m 755 $(DESTDIR)$(pkgfilterdir) - $(INSTALL) -d -m 755 $(DESTDIR)$(pkgbackenddir) - if ENABLE_FOOMATIC -- $(LN_S) -r -f $(DESTDIR)$(pkgfilterdir)/foomatic-rip $(DESTDIR)$(bindir) -+ $(LN_S) -f ../..$(pkgfilterdir)/foomatic-rip $(DESTDIR)$(bindir) - endif - if ENABLE_DRIVERLESS -- $(LN_S) -r -f $(DESTDIR)$(pkgppdgendir)/driverless $(DESTDIR)$(bindir) -- $(LN_S) -r -f $(DESTDIR)$(pkgppdgendir)/driverless $(DESTDIR)$(pkgbackenddir) -+ $(LN_S) -f ../..$(pkgppdgendir)/driverless $(DESTDIR)$(bindir) -+ $(LN_S) -f ../..$(pkgppdgendir)/driverless $(DESTDIR)$(pkgbackenddir) - endif - if ENABLE_BRAILLE - $(LN_S) -f imagetobrf $(DESTDIR)$(pkgfilterdir)/imagetoubrl --- -2.14.1 - 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 deleted file mode 100644 index 3eb2d35c3e..0000000000 --- a/package/cups-filters/0002-Poppler-removed-memCheck-and-gMemReport-functions.patch +++ /dev/null @@ -1,79 +0,0 @@ -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/Config.in b/package/cups-filters/Config.in index 5badf0e1f1..9e4e37ca6b 100644 --- a/package/cups-filters/Config.in +++ b/package/cups-filters/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_CUPS_FILTERS depends on BR2_USE_MMU depends on BR2_INSTALL_LIBSTDCPP # qpdf depends on !BR2_STATIC_LIBS - depends on BR2_USE_WCHAR # libglib2 + depends on BR2_USE_WCHAR # libglib2, qpdf depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_PACKAGE_CUPS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 diff --git a/package/cups-filters/cups-filters.hash b/package/cups-filters/cups-filters.hash index e426ad8b86..9e24abe393 100644 --- a/package/cups-filters/cups-filters.hash +++ b/package/cups-filters/cups-filters.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 981b280bc5275a21c6f436aff6207e03cab36dc304c119bbac507db940e7421c cups-filters-1.21.3.tar.gz -sha256 8e697cf4681ebbca716bf8cc30dde51c264e32ceee41fa63ceb5213334204b83 COPYING +sha256 ff8679fcd0c31c25d229262c7ad100ba161ef6b2aa455a2df673dd74ef93f488 cups-filters-1.26.0.tar.gz +sha256 527463af65312372111804589a9624f4c52813e253062ae351e75af5003f317f COPYING diff --git a/package/cups-filters/cups-filters.mk b/package/cups-filters/cups-filters.mk index 81d9195652..1f17018bc5 100644 --- a/package/cups-filters/cups-filters.mk +++ b/package/cups-filters/cups-filters.mk @@ -4,18 +4,18 @@ # ################################################################################ -CUPS_FILTERS_VERSION = 1.21.3 +CUPS_FILTERS_VERSION = 1.26.0 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 \ +CUPS_FILTERS_CONF_OPTS = \ --disable-mutool \ --disable-foomatic \ + --disable-braille \ + --enable-imagefilters \ --with-cups-config=$(STAGING_DIR)/usr/bin/cups-config \ --with-sysroot=$(STAGING_DIR) \ --with-pdftops=pdftops \ diff --git a/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch b/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch index 30002d3c8f..b1ab7cbace 100644 --- a/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch +++ b/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch @@ -4,6 +4,8 @@ Date: Sun, 29 May 2016 19:31:50 +0200 Subject: [PATCH] Remove man from BUILDDIRS in configure Signed-off-by: Bernd Kuhls +[Fabrice: updated for 2.3.0] +Signed-off-by: Fabrice Fontaine --- config-scripts/cups-common.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -16,8 +18,8 @@ index fbba715..77d0f5c 100644 case "$COMPONENTS" in all) -- BUILDDIRS="filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates" -+ BUILDDIRS="filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale doc examples templates" +- BUILDDIRS="tools filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates" ++ BUILDDIRS="tools filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale doc examples templates" ;; core) diff --git a/package/cups/0002-Do-not-use-genstrings.patch b/package/cups/0002-Do-not-use-genstrings.patch index 325483ea8f..b3566b8b15 100644 --- a/package/cups/0002-Do-not-use-genstrings.patch +++ b/package/cups/0002-Do-not-use-genstrings.patch @@ -14,6 +14,8 @@ Signed-off-by: Olivier Schonken it, remove useless and potentially confusing 'echo' before the genstrings call.] Signed-off-by: Thomas Petazzoni +[Fabrice: updated for 2.3.0] +Signed-off-by: Fabrice Fontaine --- ppdc/Makefile | 2 -- 1 file changed, 2 deletions(-) @@ -23,9 +25,9 @@ index 68bf6b2..d57a0c9 100644 --- a/ppdc/Makefile +++ b/ppdc/Makefile @@ -242,8 +242,6 @@ genstrings: genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \ - $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \ - libcupsppdc.a ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) \ - $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) + $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o genstrings genstrings.o \ + libcupsppdc.a $(LINKCUPSSTATIC) + $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ - echo Generating localization strings... - ./genstrings >sample.c diff --git a/package/cups/0004-Remove-PIE-flags-from-the-build.patch b/package/cups/0004-Remove-PIE-flags-from-the-build.patch index ea4f0b4a59..8401e133e9 100644 --- a/package/cups/0004-Remove-PIE-flags-from-the-build.patch +++ b/package/cups/0004-Remove-PIE-flags-from-the-build.patch @@ -11,6 +11,8 @@ solve this, we simply disable the PIE flags. Signed-off-by: Thomas Petazzoni Signed-off-by: Olivier Schonken +[Fabrice: updated for 2.3.0] +Signed-off-by: Fabrice Fontaine --- Makedefs.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -20,14 +22,14 @@ index 3afef0a..299b297 100644 --- a/Makedefs.in +++ b/Makedefs.in @@ -148,7 +148,7 @@ IPPFIND_BIN = @IPPFIND_BIN@ - IPPFIND_MAN = @IPPFIND_MAN@ - LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \ - -L../scheduler @LDARCHFLAGS@ \ -- @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM) -+ @LDFLAGS@ @RELROFLAGS@ $(OPTIM) - LINKCUPS = @LINKCUPS@ $(LIBGSSAPI) $(DNSSDLIBS) $(SSLLIBS) $(LIBZ) - LINKCUPSIMAGE = @LINKCUPSIMAGE@ - LIBS = $(LINKCUPS) $(COMMONLIBS) + $(ONDEMANDFLAGS) $(OPTIONS) + ALL_DSOFLAGS = -L../cups @ARCHFLAGS@ @RELROFLAGS@ $(DSOFLAGS) $(OPTIM) + ALL_LDFLAGS = -L../cups @LDARCHFLAGS@ @RELROFLAGS@ $(LDFLAGS) \ +- @PIEFLAGS@ $(OPTIM) ++ $(OPTIM) + ARCHFLAGS = @ARCHFLAGS@ + ARFLAGS = @ARFLAGS@ + BACKLIBS = @BACKLIBS@ -- 2.7.4 diff --git a/package/cups/cups.hash b/package/cups/cups.hash index 3d238d61e6..8f037c6420 100644 --- a/package/cups/cups.hash +++ b/package/cups/cups.hash @@ -1,3 +1,4 @@ # Locally calculated: -sha256 77c8b2b3bb7fe8b5fbfffc307f2c817b2d7ec67b657f261a1dd1c61ab81205bb cups-2.2.10-source.tar.gz -sha256 6e0e0ffbde118aae709f7ef65590de9071e8b2cd322f84fd645c6b64f3cc452c LICENSE.txt +sha256 1bca9d89507e3f68cbc84482fe46ae8d5333af5bc2b9061347b2007182ac77ce cups-2.3.1-source.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE +sha256 a5d616e6322a9cb1a971e18765025edfca4f3cd9c0eafc32d6d2eb4b8c8787b5 NOTICE diff --git a/package/cups/cups.mk b/package/cups/cups.mk index b91fe7ac4c..18f01d8484 100644 --- a/package/cups/cups.mk +++ b/package/cups/cups.mk @@ -4,25 +4,21 @@ # ################################################################################ -CUPS_VERSION = 2.2.10 +CUPS_VERSION = 2.3.1 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 -CUPS_LICENSE_FILES = LICENSE.txt +CUPS_LICENSE = Apache-2.0 with GPL-2.0/LGPL-2.0 exception +CUPS_LICENSE_FILES = LICENSE NOTICE CUPS_INSTALL_STAGING = YES -CUPS_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) DSTROOT=$(STAGING_DIR) install -CUPS_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) DSTROOT=$(TARGET_DIR) install # Using autoconf, not autoheader, so we cannot use AUTORECONF = YES. define CUPS_RUN_AUTOCONF - cd $(@D); $(HOST_DIR)/bin/autoconf -f + cd $(@D); $(AUTOCONF) -f endef CUPS_PRE_CONFIGURE_HOOKS += CUPS_RUN_AUTOCONF CUPS_CONF_OPTS = \ - --without-perl \ - --without-java \ - --without-php \ + --with-docdir=/usr/share/cups/doc-root \ --disable-gssapi \ --disable-pam \ --libdir=/usr/lib @@ -54,13 +50,6 @@ else CUPS_CONF_OPTS += --disable-gnutls endif -ifeq ($(BR2_PACKAGE_PYTHON),y) -CUPS_CONF_OPTS += --with-python -CUPS_DEPENDENCIES += python -else -CUPS_CONF_OPTS += --without-python -endif - ifeq ($(BR2_PACKAGE_LIBUSB),y) CUPS_CONF_OPTS += --enable-libusb CUPS_DEPENDENCIES += libusb diff --git a/package/curlftpfs/curlftpfs.hash b/package/curlftpfs/curlftpfs.hash index a94fab1239..8413c1e102 100644 --- a/package/curlftpfs/curlftpfs.hash +++ b/package/curlftpfs/curlftpfs.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 4eb44739c7078ba0edde177bdd266c4cfb7c621075f47f64c85a06b12b3c6958 curlftpfs-0.9.2.tar.gz +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/cutelyst/cutelyst.hash b/package/cutelyst/cutelyst.hash index 87506ab90c..e9c1161969 100644 --- a/package/cutelyst/cutelyst.hash +++ b/package/cutelyst/cutelyst.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 f87c2f04b148a50f5df13aa5d75b45bf20e56be2e2cd6e17c2aef5231db4b467 cutelyst-2.7.0.tar.gz +sha256 5036378d0d8242da68f61bc2f51fc37b881b720311073b6f6cfb113cbae18a40 cutelyst-2.9.0.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/cutelyst/cutelyst.mk b/package/cutelyst/cutelyst.mk index 42a317e765..f2129312d5 100644 --- a/package/cutelyst/cutelyst.mk +++ b/package/cutelyst/cutelyst.mk @@ -4,7 +4,7 @@ # ################################################################################ -CUTELYST_VERSION = 2.7.0 +CUTELYST_VERSION = 2.9.0 CUTELYST_SITE = https://github.com/cutelyst/cutelyst/archive/v$(CUTELYST_VERSION) CUTELYST_INSTALL_STAGING = YES CUTELYST_SUPPORTS_IN_SOURCE_BUILD = NO @@ -17,7 +17,7 @@ CUTELYST_CONF_OPTS += \ -DPLUGIN_VIEW_GRANTLEE=OFF # Qt 5.8 needs atomics, which on various architectures are in -latomic -ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC)$(BR2_PACKAGE_QT5_VERSION_LATEST),yy) +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) CUTELYST_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" endif diff --git a/package/cvs/cvs.hash b/package/cvs/cvs.hash index b386d887b7..7b03a552d0 100644 --- a/package/cvs/cvs.hash +++ b/package/cvs/cvs.hash @@ -1,3 +1,8 @@ # From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/c/cvs/cvs_1.12.13-12%2Bsqueeze1.dsc -sha256 b5961c2476b996e5758fa5e22b60af085adca41164cac0d8f68a1d3b49d4e4f1 cvs_1.12.13.orig.tar.gz -sha256 d52a9232d9cf36302a150d782fc7e5b6f92f8115505ae8a7dc6acfc83e809d2f cvs_1.12.13-12+squeeze1.diff.gz +sha256 b5961c2476b996e5758fa5e22b60af085adca41164cac0d8f68a1d3b49d4e4f1 cvs_1.12.13.orig.tar.gz +sha256 d52a9232d9cf36302a150d782fc7e5b6f92f8115505ae8a7dc6acfc83e809d2f cvs_1.12.13-12+squeeze1.diff.gz + +# Hash for license files, locally computed +sha256 569c5b876327d899cf444b2277fe910128a38ca71d90755fe4125dd44f8ece02 COPYING +sha256 da0e282103fb508894e78db519aab255e36971ce0bc87de585e3b05014b83b1e COPYING.LIB +sha256 ee9a2fbdb626c0ac57fd8e569f357eb2e6d6c80cc6f41efa8bd126d5ea589d72 lib/glob-libc.h diff --git a/package/cvs/cvs.mk b/package/cvs/cvs.mk index 6f28b4dbec..563802cc9d 100644 --- a/package/cvs/cvs.mk +++ b/package/cvs/cvs.mk @@ -8,6 +8,8 @@ CVS_VERSION = 1.12.13 CVS_SOURCE = cvs_$(CVS_VERSION).orig.tar.gz CVS_PATCH = cvs_$(CVS_VERSION)-12+squeeze1.diff.gz CVS_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/c/cvs +CVS_LICENSE = GPL-1.0+, LGPL-2.0+, LGPL-2.1+ (glob) +CVS_LICENSE_FILES = COPYING COPYING.LIB lib/glob-libc.h CVS_DEPENDENCIES = ncurses CVS_CONF_ENV = cvs_cv_func_printf_ptr=yes diff --git a/package/cwiid/Config.in b/package/cwiid/Config.in index 50c05ebd91..9dab5d1070 100644 --- a/package/cwiid/Config.in +++ b/package/cwiid/Config.in @@ -1,10 +1,12 @@ config BR2_PACKAGE_CWIID bool "cwiid" - depends on !BR2_STATIC_LIBS # bluez_utils - depends on BR2_USE_WCHAR # bluez_utils -> libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # bluez_utils -> dbus, alsa-lib, libglib2 - depends on BR2_USE_MMU # bluez_utils -> dbus, libglib2 - select BR2_PACKAGE_BLUEZ_UTILS + depends on !BR2_STATIC_LIBS # bluez5_utils + depends on BR2_USE_WCHAR # bluez5_utils -> libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # bluez5_utils -> dbus, alsa-lib, libglib2 + depends on BR2_USE_MMU # bluez5_utils -> dbus, libglib2 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5_utils + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5_utils + select BR2_PACKAGE_BLUEZ5_UTILS help A collection of Linux tools written in C for interfacing to the Nintendo Wiimote. @@ -14,7 +16,8 @@ config BR2_PACKAGE_CWIID if BR2_PACKAGE_CWIID config BR2_PACKAGE_CWIID_WMGUI bool "wmgui" - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk3 -> pango -> harfbuzz + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # libgtk2 -> pango -> harfbuzz depends on BR2_PACKAGE_XORG7 # libgtk2 depends on BR2_USE_WCHAR # libgtk2 -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2 -> libglib2 @@ -24,6 +27,9 @@ config BR2_PACKAGE_CWIID_WMGUI select BR2_PACKAGE_LIBGTK2 endif -comment "cwiid needs a toolchain w/ dynamic lib, threads, wchar" - depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS +comment "cwiid needs a toolchain w/ dynamic lib, threads, wchar, headers >= 3.4" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 depends on !BR2_USE_MMU diff --git a/package/cwiid/cwiid.mk b/package/cwiid/cwiid.mk index c092e401df..a11c56c0aa 100644 --- a/package/cwiid/cwiid.mk +++ b/package/cwiid/cwiid.mk @@ -12,7 +12,7 @@ CWIID_LICENSE_FILES = COPYING CWIID_AUTORECONF = YES CWIID_INSTALL_STAGING = YES -CWIID_DEPENDENCIES = host-pkgconf host-bison host-flex bluez_utils +CWIID_DEPENDENCIES = host-pkgconf host-bison host-flex bluez5_utils # Disable python support. This disables the 2 following things: # - wminput Python plugin support diff --git a/package/czmq/0001-configure.ac-remove-Werror.patch b/package/czmq/0001-configure.ac-remove-Werror.patch deleted file mode 100644 index 7f2dae2c2b..0000000000 --- a/package/czmq/0001-configure.ac-remove-Werror.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9a195dc573f4eed130773e6ef67efd5f71693e97 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 5 Nov 2016 15:33:57 +0100 -Subject: [PATCH] configure.ac: remove -Werror - --Werror shouldn't be used in releases, as it can break the build with -newer versions of the compiler or the C library, when new warnings -are introduced. - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index e92970a..2fd551a 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -344,7 +344,7 @@ AC_C_BIGENDIAN - - # These options are GNU compiler specific. - if test "x$GCC" = "xyes"; then -- CPPFLAGS="-pedantic -Werror -Wall -Wc++-compat ${CPPFLAGS}" -+ CPPFLAGS="-pedantic -Wall -Wc++-compat ${CPPFLAGS}" - fi - - AM_CONDITIONAL(ENABLE_SHARED, test "x$enable_shared" = "xyes") --- -2.7.4 - diff --git a/package/czmq/czmq.hash b/package/czmq/czmq.hash index c42525c78d..4738c9c434 100644 --- a/package/czmq/czmq.hash +++ b/package/czmq/czmq.hash @@ -1,6 +1,6 @@ # From https://github.com/zeromq/czmq/releases -md5 6d3a6fdd25c2bb29897c53670dce97bf czmq-4.1.1.tar.gz -sha1 629d34e8b5c1f2dd88689350f71f9917a8d76f23 czmq-4.1.1.tar.gz +md5 7e09997db6ac3b25e8ed104053040722 czmq-4.2.0.tar.gz +sha1 42165b3eede517708814e5a1b6972d8bde417f7a czmq-4.2.0.tar.gz # Locally calculated -sha256 f00ff419881dc2a05d0686c8467cd89b4882677fc56f31c0e2cc81c134cbb0c0 czmq-4.1.1.tar.gz -sha256 1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5 LICENCE +sha256 cfab29c2b3cc8a845749758a51e1dd5f5160c1ef57e2a41ea96e4c2dcc8feceb czmq-4.2.0.tar.gz +sha256 1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5 LICENSE diff --git a/package/czmq/czmq.mk b/package/czmq/czmq.mk index 6eb9314200..1c9493cb76 100644 --- a/package/czmq/czmq.mk +++ b/package/czmq/czmq.mk @@ -4,18 +4,14 @@ # ################################################################################ -CZMQ_VERSION = 4.1.1 +CZMQ_VERSION = 4.2.0 CZMQ_SITE = https://github.com/zeromq/czmq/releases/download/v$(CZMQ_VERSION) -# 0001-configure.ac-remove-Werror.patch touches configure.ac -CZMQ_AUTORECONF = YES CZMQ_INSTALL_STAGING = YES CZMQ_DEPENDENCIES = zeromq host-pkgconf CZMQ_LICENSE = MPL-2.0 CZMQ_LICENSE_FILES = LICENSE -# asciidoc is a python script that imports unicodedata, which is not in -# host-python, so disable asciidoc entirely. -CZMQ_CONF_ENV = ac_cv_prog_czmq_have_asciidoc=no +CZMQ_CONF_OPTS = --disable-Werror --without-docs $(eval $(autotools-package)) diff --git a/package/dacapo/Config.in b/package/dacapo/Config.in new file mode 100644 index 0000000000..02dcab9e72 --- /dev/null +++ b/package/dacapo/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_DACAPO + bool "dacapo" + depends on BR2_PACKAGE_OPENJDK + help + The DaCapo benchmark suite is intended as a tool for Java + benchmarking by the programming language, memory + management and computer architecture communities. + + http://dacapobench.org/ + +comment "dacapo needs OpenJDK" + depends on !BR2_PACKAGE_OPENJDK diff --git a/package/dacapo/dacapo.hash b/package/dacapo/dacapo.hash new file mode 100644 index 0000000000..ca7ad46383 --- /dev/null +++ b/package/dacapo/dacapo.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 be3db084adcb2867760e1197b3ccf541c3213d918daa19386d8e236648d24be8 dacapo-9.12-MR1-bach.jar +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/dacapo/dacapo.mk b/package/dacapo/dacapo.mk new file mode 100644 index 0000000000..3c5df6d285 --- /dev/null +++ b/package/dacapo/dacapo.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# dacapo +# +################################################################################ + +DACAPO_VERSION = 9.12-MR1-bach +DACAPO_SOURCE = dacapo-$(DACAPO_VERSION).jar +DACAPO_SITE = http://sourceforge.net/projects/dacapobench/files/9.12-bach-MR1 +DACAPO_LICENSE = Apache-2.0 +DACAPO_LICENSE_FILES = LICENSE + +define DACAPO_EXTRACT_CMDS + unzip $(DACAPO_DL_DIR)/$(DACAPO_SOURCE) LICENSE -d $(@D) +endef + +define DACAPO_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 755 $(DACAPO_DL_DIR)/$(DACAPO_SOURCE) $(TARGET_DIR)/usr/bin/$(DACAPO_SOURCE) +endef + +$(eval $(generic-package)) diff --git a/package/daemon/daemon.hash b/package/daemon/daemon.hash index 32308ea3f7..ad8637ee81 100644 --- a/package/daemon/daemon.hash +++ b/package/daemon/daemon.hash @@ -1,3 +1,4 @@ # md5 from http://www.libslack.org/daemon/; sha256 locally calculated md5 6cd0a28630a29ac279bc501f39baec66 daemon-0.6.4.tar.gz sha256 c4b9ea4aa74d55ea618c34f1e02c080ddf368549037cb239ee60c83191035ca1 daemon-0.6.4.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE diff --git a/package/dahdi-linux/dahdi-linux.hash b/package/dahdi-linux/dahdi-linux.hash index c362f8ea3f..1847a4da4c 100644 --- a/package/dahdi-linux/dahdi-linux.hash +++ b/package/dahdi-linux/dahdi-linux.hash @@ -1,7 +1,7 @@ # sha1 from: http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases # sha256 locally computed -sha1 8cbd55b8611c6ed80bcdf84d537566b4934f3def dahdi-linux-2.11.1.tar.gz -sha256 f59f382365118205e77d2874f1c0e1546e936247bcc45f07a43bc21778bee9df dahdi-linux-2.11.1.tar.gz +sha1 9827f0afc625e293021b81daf94ec054145c975b dahdi-linux-3.0.0.tar.gz +sha256 02a8a680d20a3e243f37259edc3554ab9a488595a28562c45c33da3792d12caa dahdi-linux-3.0.0.tar.gz # Firmware files have no upstream hash, so sha56 locally computed sha256 3ff26cf80555fd7470b43a87c51d03c1db2a75abcd4561d79f69b6c48298e4a1 dahdi-fwload-vpmadt032-1.25.0.tar.gz diff --git a/package/dahdi-linux/dahdi-linux.mk b/package/dahdi-linux/dahdi-linux.mk index 6ac1e88943..4d2c7e7177 100644 --- a/package/dahdi-linux/dahdi-linux.mk +++ b/package/dahdi-linux/dahdi-linux.mk @@ -4,7 +4,7 @@ # ################################################################################ -DAHDI_LINUX_VERSION = 2.11.1 +DAHDI_LINUX_VERSION = 3.0.0 DAHDI_LINUX_SITE = http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases # We need to download all thoe firmware blobs ourselves, otherwise diff --git a/package/dahdi-tools/dahdi-tools.hash b/package/dahdi-tools/dahdi-tools.hash index 7b668c6049..5538ed6b8a 100644 --- a/package/dahdi-tools/dahdi-tools.hash +++ b/package/dahdi-tools/dahdi-tools.hash @@ -1,7 +1,7 @@ # sha1 from http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases # sha256 locally computed -sha1 5da944e6d59a977f814230253f3ddf2847e7f31b dahdi-tools-2.11.1.tar.gz -sha256 53ffeb333f3e44b0c88e5b17475cdbf87d3f652eb81a6422de76250c061e2909 dahdi-tools-2.11.1.tar.gz +sha1 3e988256aae4b6a6ed8efb3ecc07753779f54823 dahdi-tools-3.0.0.tar.gz +sha256 5bebb20d5ae13fa13f0e2075603013954b962be477db02271eef44b3e41557c5 dahdi-tools-3.0.0.tar.gz # License files, locally computed sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 LICENSE diff --git a/package/dahdi-tools/dahdi-tools.mk b/package/dahdi-tools/dahdi-tools.mk index e97d944c52..392dc09140 100644 --- a/package/dahdi-tools/dahdi-tools.mk +++ b/package/dahdi-tools/dahdi-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -DAHDI_TOOLS_VERSION = 2.11.1 +DAHDI_TOOLS_VERSION = 3.0.0 DAHDI_TOOLS_SITE = http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases DAHDI_TOOLS_LICENSE = GPLv2, LGPLv2.1 diff --git a/package/dante/0002-compiler.m4-do-not-remove-g-flag.patch b/package/dante/0002-compiler.m4-do-not-remove-g-flag.patch deleted file mode 100644 index 0b41de6192..0000000000 --- a/package/dante/0002-compiler.m4-do-not-remove-g-flag.patch +++ /dev/null @@ -1,42 +0,0 @@ -From c00e284dd2baa5ecdb0c9586044399cd7cacce3e Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 8 Aug 2016 12:31:40 +0200 -Subject: [PATCH] compiler.m4: do not remove -g flag - -A sed expression such as 's/-g//' not only removes the -g -debugging-related flag, but also turns more specific flags such as --mfloat-gprs=double into -mfloatprs=double, which is no longer a valid -flag. - -However, it turns out that removing -g is not necessary: having -g0 -after -g negates the -g, and having -ggdb after -g is enough to produce -debugging information for GDB. - -Signed-off-by: Thomas Petazzoni ---- - compiler.m4 | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/compiler.m4 b/compiler.m4 -index 3a23406..621372c 100644 ---- a/compiler.m4 -+++ b/compiler.m4 -@@ -378,15 +378,9 @@ else - gcc) - if test x"$aixldbug" != x; then - #disable debug info -- if echo $CFLAGS | grep -- "-g" >/dev/null; then -- CFLAGS="`echo $CFLAGS | sed -e 's/-g//g'`" -- fi - CFLAGS="$CFLAGS${CFLAGS:+ }-g0" - else - #use -ggdb also when not debugging -- if echo $CFLAGS | grep -- "-g" >/dev/null; then -- CFLAGS="`echo $CFLAGS | sed -e 's/-g//g'`" -- fi - CFLAGS="$CFLAGS${CFLAGS:+ }-ggdb" - fi - ;; --- -2.7.4 - diff --git a/package/dante/0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch b/package/dante/0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch new file mode 100644 index 0000000000..af23d46d11 --- /dev/null +++ b/package/dante/0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch @@ -0,0 +1,35 @@ +osdep.m4: Remove getaddrinfo() too low checks + +dante runs AC_PREPROC_IFELSE then it fills $ERRVALFILE by running the +following command: + +cat conftest.i | grep gaierrval: >>$2 + +As a result, $ERRVALFILE does not contain the expected values because +the expected value is not on the same line than gaierrval: + + gaierrval: + # 130 "conftest.c" 3 4 + -3 + +So drop these checks + +Signed-off-by: Fabrice Fontaine + +diff -Nuar dante-1.4.2-orig/osdep.m4 dante-1.4.2/osdep.m4 +--- dante-1.4.2-orig/osdep.m4 2019-12-09 21:28:38.936003218 +0100 ++++ dante-1.4.2/osdep.m4 2019-12-09 21:49:48.764019371 +0100 +@@ -956,13 +956,7 @@ + unset UNIQUEVALS UNIQUESYMBOLS + if test -s $ERRVALFILE; then + UNIQUEVALS=`sort $ERRVALFILE | uniq | wc -l | awk '{ print $1 }'` +- if test $UNIQUEVALS -le 1; then +- AC_MSG_FAILURE([error: getaddrinfo() error value count too low]) +- fi + UNIQUESYMBOLS=`cat $ERRVALFILE | wc -l | awk '{ print $1 }'` +- if test $UNIQUESYMBOLS -le 1; then +- AC_MSG_FAILURE([error: getaddrinfo() error symbol count too low]) +- fi + + if test $ERRNOCNT -ne $UNIQUESYMBOLS; then + AC_MSG_FAILURE([internal error: errno symbol count mismatch]) diff --git a/package/dante/dante.hash b/package/dante/dante.hash index 38dea61b0a..cb87cdc04a 100644 --- a/package/dante/dante.hash +++ b/package/dante/dante.hash @@ -1,2 +1,5 @@ -# Locally computed -sha256 b6d232bd6fefc87d14bf97e447e4fcdeef4b28b16b048d804b50b48f261c4f53 dante-1.4.1.tar.gz +# From https://www.inet.no/dante/download.html +sha256 4c97cff23e5c9b00ca1ec8a95ab22972813921d7fbf60fc453e3e06382fc38a7 dante-1.4.2.tar.gz + +# Hash for license file +sha256 954ab6dbcf994711e28e603d8657d6eceef333cd6f9ca6705f0e9d118ab7d69a LICENSE diff --git a/package/dante/dante.mk b/package/dante/dante.mk index 0bd036d37e..6e950b119e 100644 --- a/package/dante/dante.mk +++ b/package/dante/dante.mk @@ -4,15 +4,22 @@ # ################################################################################ -DANTE_VERSION = 1.4.1 +DANTE_VERSION = 1.4.2 DANTE_SITE = http://www.inet.no/dante/files DANTE_LICENSE = BSD-3-Clause DANTE_LICENSE_FILES = LICENSE -# 0002-compiler.m4-do-not-remove-g-flag.patch touches a m4 file +# Needed so that our libtool patch applies properly DANTE_AUTORECONF = YES -DANTE_CONF_OPTS += --disable-client --disable-preload --without-pam +DANTE_CONF_OPTS += --disable-client --disable-preload + +ifeq ($(BR2_PACKAGE_LIBMINIUPNPC),y) +DANTE_DEPENDENCIES += libminiupnpc +DANTE_CONF_OPTS += --with-upnp +else +DANTE_CONF_OPTS += --without-upnp +endif ifeq ($(BR2_PACKAGE_LINUX_PAM),y) DANTE_DEPENDENCIES += linux-pam diff --git a/package/daq/daq.mk b/package/daq/daq.mk index a23a9dc5ee..f0f996ba2c 100644 --- a/package/daq/daq.mk +++ b/package/daq/daq.mk @@ -18,6 +18,13 @@ DAQ_MAKE = $(MAKE1) # disable ipq module as libipq is deprecated DAQ_CONF_OPTS += --disable-ipq-module +# Set --with-dnet-{includes,libraries} even if ipq and nfq modules are disabled +# otherwise daq will call 'dnet-config --cflags' and 'dnet-config --libs' which +# will result in a build failure if libdnet is installed on host +DAQ_CONF_OPTS += \ + --with-dnet-includes=$(STAGING_DIR)/usr/include \ + --with-dnet-libraries=$(STAGING_DIR)/usr/lib + ifeq ($(BR2_PACKAGE_LIBDNET)$(BR2_PACKAGE_LIBNETFILTER_QUEUE),yy) DAQ_DEPENDENCIES += libdnet libnetfilter_queue DAQ_CONF_OPTS += --enable-nfq-module diff --git a/package/darkhttpd/darkhttpd.mk b/package/darkhttpd/darkhttpd.mk index df80899371..f4831a9426 100644 --- a/package/darkhttpd/darkhttpd.mk +++ b/package/darkhttpd/darkhttpd.mk @@ -21,9 +21,6 @@ endef define DARKHTTPD_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 0644 package/darkhttpd/darkhttpd.service \ $(TARGET_DIR)/usr/lib/systemd/system/darkhttpd.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -fs ../../../../usr/lib/systemd/system/darkhttpd.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/darkhttpd.service endef define DARKHTTPD_INSTALL_INIT_SYSV diff --git a/package/dav1d/Config.in b/package/dav1d/Config.in new file mode 100644 index 0000000000..fb2902558f --- /dev/null +++ b/package/dav1d/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_DAV1D + bool "dav1d" + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_HAS_THREADS # pthread + help + dav1d is a new AV1 cross-platform decoder, open-source, and + focused on speed and correctness. + + https://code.videolan.org/videolan/dav1d + +comment "dav1d needs a toolchain w/ threads, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/dav1d/dav1d.hash b/package/dav1d/dav1d.hash new file mode 100644 index 0000000000..b91ae0710a --- /dev/null +++ b/package/dav1d/dav1d.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 7fcfb4d2e43681f99faaad29d2a81c0ecc42d6e2b94eb4d1fded4e9dcb3661f1 dav1d-0.6.0.tar.bz2 +sha256 b327887de263238deaa80c34cdd2ff3e0ba1d35db585ce14a37ce3e74ee389e9 COPYING diff --git a/package/dav1d/dav1d.mk b/package/dav1d/dav1d.mk new file mode 100644 index 0000000000..4dc1e46826 --- /dev/null +++ b/package/dav1d/dav1d.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# dav1d +# +################################################################################ + +DAV1D_VERSION = 0.6.0 +DAV1D_SOURCE = dav1d-$(DAV1D_VERSION).tar.bz2 +DAV1D_SITE = https://code.videolan.org/videolan/dav1d/-/archive/$(DAV1D_VERSION) +DAV1D_LICENSE = BSD-2-Clause +DAV1D_LICENSE_FILES = COPYING +DAV1D_INSTALL_STAGING = YES +DAV1D_CONF_OPTS = \ + -Denable_tests=false \ + -Denable_tools=false + +ifeq ($(BR2_i386)$(BR2_x86_64),y) +DAV1D_DEPENDENCIES += host-nasm +endif + +# ARM assembly requires v6+ ISA +ifeq ($(BR2_ARM_CPU_ARMV4)$(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV7M),y) +DAV1D_CONF_OPTS += -Denable_asm=false +endif + +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +DAV1D_LDFLAGS += -latomic +endif + +$(eval $(meson-package)) diff --git a/package/davfs2/0002-fix-iconv.patch b/package/davfs2/0002-fix-iconv.patch deleted file mode 100644 index f2bae8f8e9..0000000000 --- a/package/davfs2/0002-fix-iconv.patch +++ /dev/null @@ -1,48 +0,0 @@ -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.hash b/package/davfs2/davfs2.hash index 102659a38d..b8ac0af1b5 100644 --- a/package/davfs2/davfs2.hash +++ b/package/davfs2/davfs2.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 c9c4e0f0912a782386216b2147eb9c36c47f193b8fcf3d637719e0b9fe7c96e0 davfs2-1.5.4.tar.gz +sha256 417476cdcfd53966b2dcfaf12455b54f315959b488a89255ab4b44586153d801 davfs2-1.5.6.tar.gz # License file, locally calculated sha256 0ae0485a5bd37a63e63603596417e4eb0e653334fa6c7f932ca3a0e85d4af227 COPYING diff --git a/package/davfs2/davfs2.mk b/package/davfs2/davfs2.mk index f2b2fdbe41..a73093a52a 100644 --- a/package/davfs2/davfs2.mk +++ b/package/davfs2/davfs2.mk @@ -4,7 +4,7 @@ # ################################################################################ -DAVFS2_VERSION = 1.5.4 +DAVFS2_VERSION = 1.5.6 DAVFS2_SITE = http://download.savannah.nongnu.org/releases/davfs2 DAVFS2_LICENSE = GPL-3.0+ DAVFS2_LICENSE_FILES = COPYING diff --git a/package/davici/davici.hash b/package/davici/davici.hash index 257e902ce7..178d87f2e2 100644 --- a/package/davici/davici.hash +++ b/package/davici/davici.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d3e5e806ecca841d7e133a3df768062df59f4b4c76bf98e0f90aa8064721b3bd davici-v1.3.tar.gz +sha256 d3e5e806ecca841d7e133a3df768062df59f4b4c76bf98e0f90aa8064721b3bd davici-1.3.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/davici/davici.mk b/package/davici/davici.mk index 5c4b9774ea..5c08bbe0da 100644 --- a/package/davici/davici.mk +++ b/package/davici/davici.mk @@ -4,17 +4,12 @@ # ################################################################################ -DAVICI_VERSION = v1.3 -DAVICI_SITE = $(call github,strongswan,davici,$(DAVICI_VERSION)) +DAVICI_VERSION = 1.3 +DAVICI_SITE = $(call github,strongswan,davici,v$(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/dawgdic/dawgdic.hash b/package/dawgdic/dawgdic.hash index da03f0b860..ecf3cf9546 100644 --- a/package/dawgdic/dawgdic.hash +++ b/package/dawgdic/dawgdic.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 54622a3e79ff3ad2c01a830ec52b997b42ead468b18af5acebab3a4ff32a5ad6 dawgdic-16ac537ba9883ff01b63b6d1fdc3072150c68fee.tar.gz +sha256 54622a3e79ff3ad2c01a830ec52b997b42ead468b18af5acebab3a4ff32a5ad6 dawgdic-16ac537ba9883ff01b63b6d1fdc3072150c68fee.tar.gz +sha256 3059f68686f1c5bc6ed0e9db415fc257c4e7618b6ac58ecce83986eb8a7cf501 COPYING diff --git a/package/dbus-cpp/dbus-cpp.hash b/package/dbus-cpp/dbus-cpp.hash index b3fc3efd33..957698b487 100644 --- a/package/dbus-cpp/dbus-cpp.hash +++ b/package/dbus-cpp/dbus-cpp.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385af4e61 libdbus-c++-0.9.0.tar.gz +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/dbus-glib/dbus-glib.hash b/package/dbus-glib/dbus-glib.hash index 8a80b71b45..098832431e 100644 --- a/package/dbus-glib/dbus-glib.hash +++ b/package/dbus-glib/dbus-glib.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature sha256 7ce4760cf66c69148f6bd6c92feaabb8812dee30846b24cd0f7395c436d7e825 dbus-glib-0.110.tar.gz + +# Locally calculated +sha256 ef1634fc21d9112dca08f2557313584719d534d05213cf14f3c77938506266b4 COPYING diff --git a/package/dbus-python/Config.in b/package/dbus-python/Config.in index 332726348d..4bfb59ed91 100644 --- a/package/dbus-python/Config.in +++ b/package/dbus-python/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_DBUS_PYTHON depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_PACKAGE_DBUS depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 - select BR2_PACKAGE_DBUS_GLIB + select BR2_PACKAGE_LIBGLIB2 # pyexpat: runtime dependency only select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 diff --git a/package/dbus-python/Config.in.host b/package/dbus-python/Config.in.host new file mode 100644 index 0000000000..1e30e0a7f0 --- /dev/null +++ b/package/dbus-python/Config.in.host @@ -0,0 +1,6 @@ +config BR2_PACKAGE_HOST_DBUS_PYTHON + bool "host dbus-python" + help + Python bindings for D-Bus + + http://dbus.freedesktop.org/doc/dbus-python/ diff --git a/package/dbus-python/dbus-python.hash b/package/dbus-python/dbus-python.hash index 991bb42787..e65695d616 100644 --- a/package/dbus-python/dbus-python.hash +++ b/package/dbus-python/dbus-python.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature -sha256 abf12bbb765e300bf8e2a1b2f32f85949eab06998dbda127952c31cb63957b6f dbus-python-1.2.8.tar.gz +sha256 11238f1d86c995d8aed2e22f04a1e3779f0d70e587caffeab4857f3c662ed5a4 dbus-python-1.2.16.tar.gz + +# Locally calculated +sha256 1e4562245383fdb5203b1769789e5b28bba21af4923aea7e8b2614f7f93623c0 COPYING +sha256 064523e3ab64d6f03904132b2cc4a1bd8500586edb4cd050c2ff2b96aed4c33b dbus-gmain/COPYING diff --git a/package/dbus-python/dbus-python.mk b/package/dbus-python/dbus-python.mk index d6af7454af..f4b8996d76 100644 --- a/package/dbus-python/dbus-python.mk +++ b/package/dbus-python/dbus-python.mk @@ -4,13 +4,13 @@ # ################################################################################ -DBUS_PYTHON_VERSION = 1.2.8 +DBUS_PYTHON_VERSION = 1.2.16 DBUS_PYTHON_SITE = http://dbus.freedesktop.org/releases/dbus-python DBUS_PYTHON_INSTALL_STAGING = YES -DBUS_PYTHON_LICENSE = MIT -DBUS_PYTHON_LICENSE_FILES = COPYING -DBUS_PYTHON_DEPENDENCIES = dbus-glib -DBUS_PYTHON_CONF_OPTS = --disable-html-docs --disable-api-docs +DBUS_PYTHON_LICENSE = MIT (dbus-python), AFL-2.1 or GPL-2.0+ (dbus-gmain) +DBUS_PYTHON_LICENSE_FILES = COPYING dbus-gmain/COPYING +DBUS_PYTHON_DEPENDENCIES = dbus libglib2 +HOST_DBUS_PYTHON_DEPENDENCIES = host-dbus host-libglib2 ifeq ($(BR2_PACKAGE_PYTHON),y) DBUS_PYTHON_DEPENDENCIES += python host-python @@ -19,13 +19,30 @@ DBUS_PYTHON_CONF_ENV += \ PYTHON=$(HOST_DIR)/bin/python2 \ PYTHON_INCLUDES="`$(STAGING_DIR)/usr/bin/python2-config --includes`" \ PYTHON_LIBS="`$(STAGING_DIR)/usr/bin/python2-config --ldflags`" + +HOST_DBUS_PYTHON_DEPENDENCIES += host-python + +HOST_DBUS_PYTHON_CONF_ENV += \ + PYTHON=$(HOST_DIR)/bin/python2 \ + PYTHON_INCLUDES="`$(HOST_DIR)/usr/bin/python2-config --includes`" \ + PYTHON_LIBS="`$(HOST_DIR)/usr/bin/python2-config --ldflags`" else DBUS_PYTHON_DEPENDENCIES += python3 host-python3 DBUS_PYTHON_CONF_ENV += \ PYTHON=$(HOST_DIR)/bin/python3 \ PYTHON_INCLUDES="`$(STAGING_DIR)/usr/bin/python3-config --includes`" \ - PYTHON_LIBS="`$(STAGING_DIR)/usr/bin/python3-config --ldflags`" + PYTHON_LIBS="`$(STAGING_DIR)/usr/bin/python3-config --ldflags`" \ + PYTHON_EXTRA_LIBS="`$(STAGING_DIR)/usr/bin/python3-config --libs --embed`" + +HOST_DBUS_PYTHON_DEPENDENCIES += host-python3 + +HOST_DBUS_PYTHON_CONF_ENV += \ + PYTHON=$(HOST_DIR)/bin/python3 \ + PYTHON_INCLUDES="`$(HOST_DIR)/usr/bin/python3-config --includes`" \ + PYTHON_LIBS="`$(HOST_DIR)/usr/bin/python3-config --ldflags`" \ + PYTHON_EXTRA_LIBS="`$(HOST_DIR)/usr/bin/python3-config --libs --embed`" endif $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/dbus-triggerd/dbus-triggerd.hash b/package/dbus-triggerd/dbus-triggerd.hash index aa4ad97914..b7ed89abf7 100644 --- a/package/dbus-triggerd/dbus-triggerd.hash +++ b/package/dbus-triggerd/dbus-triggerd.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 3c6d865427bf1b93b16323c796ed6957ce6b2b6fd53f518b1b082d03b939102c dbus-triggerd-ba3dbec805cb707c94c54de21666bf18b79bcc09.tar.gz +sha256 3c6d865427bf1b93b16323c796ed6957ce6b2b6fd53f518b1b082d03b939102c dbus-triggerd-ba3dbec805cb707c94c54de21666bf18b79bcc09.tar.gz +sha256 30d135650639af9019633690fc1aecbfc150aeeef9446347d4286a58338d10b0 dbus-triggerd.c diff --git a/package/dbus/dbus.hash b/package/dbus/dbus.hash index 92c0c94210..cfa06301f6 100644 --- a/package/dbus/dbus.hash +++ b/package/dbus/dbus.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.10.tar.gz.asc +# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.18.tar.gz.asc # using key 36EC5A6448A4F5EF79BEFE98E05AE1478F814C4F -sha256 4b693d24976258c3f2fa9cc33ad9288c5fbfa7a16481dbd9a8a429f7aa8cdcf7 dbus-1.12.10.tar.gz +sha256 64cf4d70840230e5e9bc784d153880775ab3db19d656ead8a0cb9c0ab5a95306 dbus-1.12.18.tar.gz # Locally calculated -sha256 0e46f54efb12d04ab5c33713bacd0e140c9a35b57ae29e03c853203266e8f3a1 COPYING +sha256 0e46f54efb12d04ab5c33713bacd0e140c9a35b57ae29e03c853203266e8f3a1 COPYING diff --git a/package/dbus/dbus.mk b/package/dbus/dbus.mk index 0a56de5a4e..5c2a5fb2cc 100644 --- a/package/dbus/dbus.mk +++ b/package/dbus/dbus.mk @@ -4,14 +4,14 @@ # ################################################################################ -DBUS_VERSION = 1.12.10 +DBUS_VERSION = 1.12.18 DBUS_SITE = https://dbus.freedesktop.org/releases/dbus DBUS_LICENSE = AFL-2.1 or GPL-2.0+ (library, tools), GPL-2.0+ (tools) DBUS_LICENSE_FILES = COPYING DBUS_INSTALL_STAGING = YES define DBUS_PERMISSIONS - /usr/libexec/dbus-daemon-launch-helper f 4755 0 0 - - - - - + /usr/libexec/dbus-daemon-launch-helper f 4750 0 dbus - - - - - endef define DBUS_USERS diff --git a/package/dc3dd/dc3dd.hash b/package/dc3dd/dc3dd.hash index 5490d8d3f7..670bffa7a7 100644 --- a/package/dc3dd/dc3dd.hash +++ b/package/dc3dd/dc3dd.hash @@ -1,4 +1,5 @@ # From https://sourceforge.net/projects/dc3dd/files/dc3dd/7.2/ sha1 1bfe81a921a8473a6ecb46f328ecaab761afb55d dc3dd-7.2.641.tar.xz # Locally computed -sha256 7f50aadc38649845ab11014d11013928411c9d2128c941e9630939d4c28cae6d dc3dd-7.2.641.tar.xz +sha256 7f50aadc38649845ab11014d11013928411c9d2128c941e9630939d4c28cae6d dc3dd-7.2.641.tar.xz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/dcron/0001-main.c-add-newline-to-logfile-openning-error-message.patch b/package/dcron/0001-main.c-add-newline-to-logfile-openning-error-message.patch new file mode 100644 index 0000000000..c838063e03 --- /dev/null +++ b/package/dcron/0001-main.c-add-newline-to-logfile-openning-error-message.patch @@ -0,0 +1,26 @@ +From 2710bc67cd920323da9b23a3d60193577bd43d71 Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Sat, 20 Jul 2019 00:27:31 -0300 +Subject: [PATCH] main.c: add newline to logfile openning error message + +Signed-off-by: Carlos Santos +--- + main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/main.c b/main.c +index 0eba280..2606db8 100644 +--- a/main.c ++++ b/main.c +@@ -261,7 +261,7 @@ main(int ac, char **av) + dup2(fd, 2); + } else { + int n = errno; +- fdprintf(2, "failed to open logfile '%s', reason: %s", LogFile, strerror(n)); ++ fdprintf(2, "failed to open logfile '%s', reason: %s\n", LogFile, strerror(n)); + exit(n); + } + } +-- +2.18.1 + diff --git a/package/dcron/dcron.mk b/package/dcron/dcron.mk index 2ee0709af5..51ebb18745 100644 --- a/package/dcron/dcron.mk +++ b/package/dcron/dcron.mk @@ -31,9 +31,6 @@ endef define DCRON_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/dcron/dcron.service \ $(TARGET_DIR)/usr/lib/systemd/system/dcron.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -sf ../../../../usr/lib/systemd/system/dcron.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dcron.service endef $(eval $(generic-package)) diff --git a/package/ddrescue/0001-io.cc-add-stdio.h-include.patch b/package/ddrescue/0001-io.cc-add-stdio.h-include.patch deleted file mode 100644 index e719c708e8..0000000000 --- a/package/ddrescue/0001-io.cc-add-stdio.h-include.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 0f72787b922c53c33d497b17300a959b911e621f Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Tue, 14 Feb 2017 20:12:05 +0100 -Subject: [PATCH] io.cc: add stdio.h include -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes buildroot compile failure with uclibc [1]: - - In file included from io.cc:28:0: - block.h:219:22: error: ‘FILE’ has not been declared - int write_mapfile( FILE * f = 0, const bool timestamp = false, - -[1] http://autobuild.buildroot.net/results/4ac0754f1cc5ea934d6437e89d1f4906fb3fd0a8 - -Signed-off-by: Peter Seiderer ---- - io.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/io.cc b/io.cc -index 36b8341..2d6a76e 100644 ---- a/io.cc -+++ b/io.cc -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - #include - - #include "block.h" --- -2.11.0 - diff --git a/package/ddrescue/ddrescue.hash b/package/ddrescue/ddrescue.hash index bffa6153fe..6877b7008d 100644 --- a/package/ddrescue/ddrescue.hash +++ b/package/ddrescue/ddrescue.hash @@ -1,2 +1,4 @@ -# From http://lists.gnu.org/archive/html/info-gnu/2017-02/msg00003.html -sha1 df981672a612639ad0934e3fa6546a41d2feb99e ddrescue-1.22.tar.lz +# From https://lists.gnu.org/archive/html/info-gnu/2020-03/msg00002.html +sha256 ce538ebd26a09f45da67d3ad3f7431932428231ceec7a2d255f716fa231a1063 ddrescue-1.25.tar.lz +# Locally computed +sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING diff --git a/package/ddrescue/ddrescue.mk b/package/ddrescue/ddrescue.mk index 9432e7a16d..f113681fa1 100644 --- a/package/ddrescue/ddrescue.mk +++ b/package/ddrescue/ddrescue.mk @@ -4,7 +4,7 @@ # ################################################################################ -DDRESCUE_VERSION = 1.22 +DDRESCUE_VERSION = 1.25 DDRESCUE_SOURCE = ddrescue-$(DDRESCUE_VERSION).tar.lz DDRESCUE_SITE = http://download.savannah.gnu.org/releases/ddrescue DDRESCUE_LICENSE = GPL-2.0+ @@ -18,8 +18,14 @@ define DDRESCUE_CONFIGURE_CMDS ) endef +DDRESCUE_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +DDRESCUE_CXXFLAGS += -O0 +endif + define DDRESCUE_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE) CXXFLAGS="$(DDRESCUE_CXXFLAGS)" -C $(@D) endef define DDRESCUE_INSTALL_TARGET_CMDS diff --git a/package/debianutils/debianutils.hash b/package/debianutils/debianutils.hash index cd54e0b8b7..e07f405ee9 100644 --- a/package/debianutils/debianutils.hash +++ b/package/debianutils/debianutils.hash @@ -1,2 +1,4 @@ -# From http://ftp.de.debian.org/debian/pool/main/d/debianutils/debianutils_4.8.1.dsc -sha256 2c395c0bdcfe89de30828b1d25cc5549ded5225a6d3625fbcb2cc0881ef5f026 debianutils_4.8.1.tar.xz +# From http://snapshot.debian.org/archive/debian/20190828T161440Z/pool/main/d/debianutils/debianutils_4.8.6.3.dsc +sha256 2cc7de3afc6df1cf6d00af9938efac7ee8f739228e548e512ddc186b6a7be221 debianutils_4.8.6.3.tar.xz +# Locally calculated +sha256 a8698f078cd21fc501e66d070e12cf2f23ec1eaf5841bbc87629de76858ef7a7 debian/copyright diff --git a/package/debianutils/debianutils.mk b/package/debianutils/debianutils.mk index 189d983732..a91383c17a 100644 --- a/package/debianutils/debianutils.mk +++ b/package/debianutils/debianutils.mk @@ -4,9 +4,9 @@ # ################################################################################ -DEBIANUTILS_VERSION = 4.8.1 +DEBIANUTILS_VERSION = 4.8.6.3 DEBIANUTILS_SOURCE = debianutils_$(DEBIANUTILS_VERSION).tar.xz -DEBIANUTILS_SITE = http://snapshot.debian.org/archive/debian/20161118T033019Z/pool/main/d/debianutils +DEBIANUTILS_SITE = http://snapshot.debian.org/archive/debian/20190828T161440Z/pool/main/d/debianutils DEBIANUTILS_CONF_OPTS = --exec-prefix=/ DEBIANUTILS_LICENSE = GPL-2.0+, SMAIL (savelog) DEBIANUTILS_LICENSE_FILES = debian/copyright diff --git a/package/dehydrated/Config.in b/package/dehydrated/Config.in index f14ae0f611..979938d70c 100644 --- a/package/dehydrated/Config.in +++ b/package/dehydrated/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_DEHYDRATED select BR2_PACKAGE_BASH select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash select BR2_PACKAGE_LIBCURL - select BR2_PACKAGE_CURL + select BR2_PACKAGE_LIBCURL_CURL select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_LIBOPENSSL_BIN if BR2_PACKAGE_LIBOPENSSL select BR2_PACKAGE_LIBRESSL_BIN if BR2_PACKAGE_LIBRESSL diff --git a/package/dejavu/dejavu.hash b/package/dejavu/dejavu.hash index db7365a1c3..def64cbe87 100644 --- a/package/dejavu/dejavu.hash +++ b/package/dejavu/dejavu.hash @@ -1,2 +1,5 @@ # From https://dejavu-fonts.github.io/Download.html -sha256 fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7 dejavu-fonts-ttf-2.37.tar.bz2 +sha256 fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7 dejavu-fonts-ttf-2.37.tar.bz2 + +# locally computed +sha256 7a083b136e64d064794c3419751e5c7dd10d2f64c108fe5ba161eae5e5958a93 LICENSE diff --git a/package/devmem2/0001-be-coherent-in-type-usage.patch b/package/devmem2/0001-be-coherent-in-type-usage.patch deleted file mode 100644 index 1777387734..0000000000 --- a/package/devmem2/0001-be-coherent-in-type-usage.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 6570e7afe1eebd64022b871b9ebd9a76be267f57 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 29 Jun 2014 16:27:49 +0200 -Subject: [PATCH] Be coherent in type usage - -- no need to use off_t because it is read from strtoul() -- print unsigned int type correctly - -When built with _FILE_OFFSET_BITS=64, off_t becomes an long long int -and was printed as an unsigned int which lead to a garbled output. - -Signed-off-by: Colin Didier -Signed-off-by: Thomas Petazzoni ---- - devmem2.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/devmem2.c b/devmem2.c -index 7732ecb..7aa5c79 100644 ---- a/devmem2.c -+++ b/devmem2.c -@@ -58,8 +58,7 @@ - int main(int argc, char **argv) { - int fd; - void *map_base, *virt_addr; -- unsigned long read_result, writeval; -- off_t target; -+ unsigned long target, read_result, writeval; - int access_type = 'w'; - - if(argc < 2) { -@@ -101,7 +100,7 @@ int main(int argc, char **argv) { - fprintf(stderr, "Illegal data type '%c'.\n", access_type); - exit(2); - } -- printf("Value at address 0x%X (%p): 0x%X\n", target, virt_addr, read_result); -+ printf("Value at address 0x%lX (%p): 0x%X\n", target, virt_addr, read_result); - fflush(stdout); - - if(argc > 3) { -@@ -120,7 +119,7 @@ int main(int argc, char **argv) { - read_result = *((unsigned long *) virt_addr); - break; - } -- printf("Written 0x%X; readback 0x%X\n", writeval, read_result); -+ printf("Written 0x%lX; readback 0x%X\n", writeval, read_result); - fflush(stdout); - } - --- -2.0.0 - diff --git a/package/devmem2/Config.in b/package/devmem2/Config.in deleted file mode 100644 index 1ccb0553b4..0000000000 --- a/package/devmem2/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_DEVMEM2 - bool "devmem2" - depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS - help - Simple program to read/write from/to any location in memory. - - http://bootlin.com/pub/mirror/devmem2.c diff --git a/package/devmem2/devmem2.hash b/package/devmem2/devmem2.hash deleted file mode 100644 index aa638d631d..0000000000 --- a/package/devmem2/devmem2.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 3b15515693bae1ebd14d914e46d388edfec2175829ea1576a7a0c8606ebbe639 devmem2.c -sha256 560913d09310d446920c16bd0aca1ff21d3b6fedd527195bacfc832ce343e0ae devmem2.c.license diff --git a/package/devmem2/devmem2.mk b/package/devmem2/devmem2.mk deleted file mode 100644 index e1bbee3b78..0000000000 --- a/package/devmem2/devmem2.mk +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# -# devmem2 -# -################################################################################ - -DEVMEM2_SITE = http://bootlin.com/pub/mirror -DEVMEM2_SOURCE = devmem2.c -DEVMEM2_VERSION = 1 -DEVMEM2_LICENSE = GPL-2.0+ -DEVMEM2_LICENSE_FILES = devmem2.c.license - -define DEVMEM2_EXTRACT_CMDS - cp $(DEVMEM2_DL_DIR)/$($(PKG)_SOURCE) $(@D)/ -endef - -define DEVMEM2_EXTRACT_LICENSE - head -n 38 $(@D)/devmem2.c >$(@D)/devmem2.c.license -endef -DEVMEM2_PRE_PATCH_HOOKS += DEVMEM2_EXTRACT_LICENSE - -define DEVMEM2_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) devmem2 -endef - -define DEVMEM2_INSTALL_TARGET_CMDS - $(INSTALL) -D $(@D)/devmem2 $(TARGET_DIR)/sbin/devmem2 -endef - -$(eval $(generic-package)) diff --git a/package/dfu-util/dfu-util.hash b/package/dfu-util/dfu-util.hash index bf618d1ae8..7c66a93376 100644 --- a/package/dfu-util/dfu-util.hash +++ b/package/dfu-util/dfu-util.hash @@ -3,3 +3,4 @@ md5 233bb1e08ef4b405062445d84e28fde6 dfu-util-0.9.tar.gz # Locally computed sha256 36428c6a6cb3088cad5a3592933385253da5f29f2effa61518ee5991ea38f833 dfu-util-0.9.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/dhcp/0001-bind-cross-compile.patch b/package/dhcp/0001-bind-cross-compile.patch deleted file mode 100644 index f7c42c6ce2..0000000000 --- a/package/dhcp/0001-bind-cross-compile.patch +++ /dev/null @@ -1,24 +0,0 @@ -bind cross compile support integration - -Pass system types from dhcp configure to bind configure. - -This patch is submitted upstream as part of a cross compiling enhancement -suggestion to dhcp-suggest@isc.org. Reference ISC-Bugs #41502. - -Signed-off-by: Doug Kehn - -Index: dhcp-4.3.3-P1/bind/Makefile.in -=================================================================== ---- dhcp-4.3.3-P1.orig/bind/Makefile.in -+++ dhcp-4.3.3-P1/bind/Makefile.in -@@ -30,7 +30,9 @@ bindconfig = --disable-kqueue --disable- - --without-openssl --without-libxml2 --enable-exportlib \ - --with-gssapi=no --enable-threads=no @BINDCONFIG@ \ - --with-export-includedir=${binddir}/include \ -- --with-export-libdir=${binddir}/lib -+ --with-export-libdir=${binddir}/lib \ -+ --target=@target_alias@ --host=@host_alias@ \ -+ --build=@build_alias@ - - @BIND_ATF_FALSE@cleandirs = ./lib ./include - @BIND_ATF_TRUE@cleandirs = ./lib ./include ./atf diff --git a/package/dhcp/0002-v4_3-Plugs-a-socket-descriptor-leak-in-OMAPI.patch b/package/dhcp/0002-v4_3-Plugs-a-socket-descriptor-leak-in-OMAPI.patch deleted file mode 100644 index df294651fb..0000000000 --- a/package/dhcp/0002-v4_3-Plugs-a-socket-descriptor-leak-in-OMAPI.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 5097bc0559f592683faac1f67bf350e1bddf6ed4 Mon Sep 17 00:00:00 2001 -From: Thomas Markwalder -Date: Thu, 7 Dec 2017 11:39:30 -0500 -Subject: [PATCH] [v4_3] Plugs a socket descriptor leak in OMAPI - - Merges in rt46767. - -[baruch: drop RELNOTES hunk] -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit 5097bc0559f - - omapip/buffer.c | 9 +++++++++ - omapip/message.c | 2 +- - -diff --git a/omapip/buffer.c b/omapip/buffer.c -index f7fdc3250e82..809034d1317b 100644 ---- a/omapip/buffer.c -+++ b/omapip/buffer.c -@@ -566,6 +566,15 @@ isc_result_t omapi_connection_writer (omapi_object_t *h) - omapi_buffer_dereference (&buffer, MDL); - } - } -+ -+ /* If we had data left to write when we're told to disconnect, -+ * we need recall disconnect, now that we're done writing. -+ * See rt46767. */ -+ if (c->out_bytes == 0 && c->state == omapi_connection_disconnecting) { -+ omapi_disconnect (h, 1); -+ return ISC_R_SHUTTINGDOWN; -+ } -+ - return ISC_R_SUCCESS; - } - -diff --git a/omapip/message.c b/omapip/message.c -index 59ccdc2c05cf..21bcfc3822e7 100644 ---- a/omapip/message.c -+++ b/omapip/message.c -@@ -339,7 +339,7 @@ isc_result_t omapi_message_unregister (omapi_object_t *mo) - } - - #ifdef DEBUG_PROTOCOL --static const char *omapi_message_op_name(int op) { -+const char *omapi_message_op_name(int op) { - switch (op) { - case OMAPI_OP_OPEN: return "OMAPI_OP_OPEN"; - case OMAPI_OP_REFRESH: return "OMAPI_OP_REFRESH"; --- -2.15.1 - diff --git a/package/dhcp/0003-Correct-buffer-overrun-in-pretty_print_option.patch b/package/dhcp/0003-Correct-buffer-overrun-in-pretty_print_option.patch deleted file mode 100644 index aad20ff93f..0000000000 --- a/package/dhcp/0003-Correct-buffer-overrun-in-pretty_print_option.patch +++ /dev/null @@ -1,59 +0,0 @@ -From b8c29336bd5401a5f962bc6ddfa4ebb6f0274f3c Mon Sep 17 00:00:00 2001 -From: Thomas Markwalder -Date: Sat, 10 Feb 2018 12:15:27 -0500 -Subject: [PATCH 1/2] Correct buffer overrun in pretty_print_option - - Merges in rt47139. - -[baruch: drop RELNOTES and test; address CVE-2018-5732] -Signed-off-by: Baruch Siach ---- -Upstream status: backported from commit c5931725b48 ---- - common/options.c | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - -diff --git a/common/options.c b/common/options.c -index 5547287fb6e5..2ed6b16c6412 100644 ---- a/common/options.c -+++ b/common/options.c -@@ -1758,7 +1758,8 @@ format_min_length(format, oc) - - - /* Format the specified option so that a human can easily read it. */ -- -+/* Maximum pretty printed size */ -+#define MAX_OUTPUT_SIZE 32*1024 - const char *pretty_print_option (option, data, len, emit_commas, emit_quotes) - struct option *option; - const unsigned char *data; -@@ -1766,8 +1767,9 @@ const char *pretty_print_option (option, data, len, emit_commas, emit_quotes) - int emit_commas; - int emit_quotes; - { -- static char optbuf [32768]; /* XXX */ -- static char *endbuf = &optbuf[sizeof(optbuf)]; -+ /* We add 128 byte pad so we don't have to add checks everywhere. */ -+ static char optbuf [MAX_OUTPUT_SIZE + 128]; /* XXX */ -+ static char *endbuf = optbuf + MAX_OUTPUT_SIZE; - int hunksize = 0; - int opthunk = 0; - int hunkinc = 0; -@@ -2193,7 +2195,14 @@ const char *pretty_print_option (option, data, len, emit_commas, emit_quotes) - log_error ("Unexpected format code %c", - fmtbuf [j]); - } -+ - op += strlen (op); -+ if (op >= endbuf) { -+ log_error ("Option data exceeds" -+ " maximum size %d", MAX_OUTPUT_SIZE); -+ return (""); -+ } -+ - if (dp == data + len) - break; - if (j + 1 < numelem && comma != ':') --- -2.16.1 - diff --git a/package/dhcp/0004-Corrected-refcnt-loss-in-option-parsing.patch b/package/dhcp/0004-Corrected-refcnt-loss-in-option-parsing.patch deleted file mode 100644 index c79bbc7f82..0000000000 --- a/package/dhcp/0004-Corrected-refcnt-loss-in-option-parsing.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 93b5b67dd31b9efcbfaabc2df1e1d9d164a5e04a Mon Sep 17 00:00:00 2001 -From: Thomas Markwalder -Date: Fri, 9 Feb 2018 14:46:08 -0500 -Subject: [PATCH 2/2] Corrected refcnt loss in option parsing - - Merges in 47140. - -[baruch: drop RELNOTES and tests; address CVE-2018-5733] -Signed-off-by: Baruch Siach ---- -Upstream status: backported from commit 197b26f25309 ---- - common/options.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/common/options.c b/common/options.c -index 2ed6b16c6412..25b29a6be7bb 100644 ---- a/common/options.c -+++ b/common/options.c -@@ -3,7 +3,7 @@ - DHCP options parsing and reassembly. */ - - /* -- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC") -+ * Copyright (c) 2004-2018 by Internet Systems Consortium, Inc. ("ISC") - * Copyright (c) 1995-2003 by Internet Software Consortium - * - * Permission to use, copy, modify, and distribute this software for any -@@ -177,6 +177,8 @@ int parse_option_buffer (options, buffer, length, universe) - - /* If the length is outrageous, the options are bad. */ - if (offset + len > length) { -+ /* Avoid reference count overflow */ -+ option_dereference(&option, MDL); - reason = "option length exceeds option buffer length"; - bogus: - log_error("parse_option_buffer: malformed option " --- -2.16.1 - diff --git a/package/dhcp/Config.in b/package/dhcp/Config.in index 5340830902..e6e70908dd 100644 --- a/package/dhcp/Config.in +++ b/package/dhcp/Config.in @@ -3,10 +3,11 @@ config BR2_PACKAGE_DHCP # fork() depends on BR2_USE_MMU depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + select BR2_PACKAGE_BIND help DHCP relay agent from the ISC DHCP distribution. - http://www.isc.org/products/DHCP + https://www.isc.org/downloads/dhcp/ if BR2_PACKAGE_DHCP @@ -16,6 +17,10 @@ config BR2_PACKAGE_DHCP_SERVER help DHCP server from the ISC DHCP distribution. + This also installs omshell, an interactive tool to connect to, + query, and possibly change, the server's state via the Object + Management API (OMAPI). + config BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK bool "Enable delayed ACK feature" depends on BR2_PACKAGE_DHCP_SERVER diff --git a/package/dhcp/dhcp.hash b/package/dhcp/dhcp.hash index ce5f995a55..92ecdfec58 100644 --- a/package/dhcp/dhcp.hash +++ b/package/dhcp/dhcp.hash @@ -1,4 +1,4 @@ -# Verified from https://ftp.isc.org/isc/dhcp/4.3.6/dhcp-4.3.6.tar.gz.sha256.asc -sha256 a41eaf6364f1377fe065d35671d9cf82bbbc8f21207819b2b9f33f652aec6f1b dhcp-4.3.6.tar.gz +# Verified from https://ftp.isc.org/isc/dhcp/4.4.2/dhcp-4.4.2.tar.gz.sha256.asc +sha256 1a7ccd64a16e5e68f7b5e0f527fd07240a2892ea53fe245620f4f5f607004521 dhcp-4.4.2.tar.gz # Locally calculated -sha256 dd7ae2201c0c11c3c1e2510d731c67b2f4bc8ba735707d7348ddd65f7b598562 LICENSE +sha256 89e7b0661134cc118bdcdeb87ff0493d544bc5723c9ca6616fa05f03539738af LICENSE diff --git a/package/dhcp/dhcp.mk b/package/dhcp/dhcp.mk index a1285184d3..ad59804d3b 100644 --- a/package/dhcp/dhcp.mk +++ b/package/dhcp/dhcp.mk @@ -4,17 +4,25 @@ # ################################################################################ -DHCP_VERSION = 4.3.6 +DHCP_VERSION = 4.4.2 DHCP_SITE = http://ftp.isc.org/isc/dhcp/$(DHCP_VERSION) DHCP_INSTALL_STAGING = YES -DHCP_LICENSE = ISC +DHCP_LICENSE = MPL-2.0 DHCP_LICENSE_FILES = LICENSE +DHCP_DEPENDENCIES = bind + +# use libtool-enabled configure.ac +define DHCP_LIBTOOL_AUTORECONF + cp $(@D)/configure.ac+lt $(@D)/configure.ac +endef + DHCP_CONF_ENV = \ CPPFLAGS='-D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \ -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' \ CFLAGS='$(TARGET_CFLAGS) -DISC_CHECK_NONE=1' DHCP_CONF_OPTS = \ + --with-libbind=$(STAGING_DIR)/usr \ --with-randomdev=/dev/random \ --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \ --with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \ @@ -27,38 +35,32 @@ DHCP_CONF_OPTS = \ --with-relay-pid-file=/var/run/dhcrelay.pid \ --with-relay6-pid-file=/var/run/dhcrelay6.pid -# The source for the bind libraries used by dhcp are embedded in the dhcp source -# as a tar-ball. Extract the bind source to allow any patches to be applied -# during the patch phase. -define DHCP_EXTRACT_BIND - cd $(@D)/bind; tar -xvf bind.tar.gz -endef -DHCP_POST_EXTRACT_HOOKS += DHCP_EXTRACT_BIND - -# The patchset requires configure et.al. to be regenerated. +ifeq ($(BR2_STATIC_LIBS),y) +DHCP_CONF_ENV += LIBS="`$(STAGING_DIR)/usr/bin/bind9-config --libs bind9`" +DHCP_CONF_OPTS += --disable-libtool +else +DHCP_POST_EXTRACT_HOOKS += DHCP_LIBTOOL_AUTORECONF DHCP_AUTORECONF = YES - -# bind does not support parallel builds. -DHCP_MAKE = $(MAKE1) - -# bind configure is called via dhcp make instead of dhcp configure. The make env -# needs extra values for bind configure. -DHCP_MAKE_ENV = \ - $(TARGET_CONFIGURE_OPTS) \ - BUILD_CC="$(HOSTCC)" \ - BUILD_CFLAGS="$(HOST_CFLAGS)" \ - BUILD_CPPFLAGS="$(HOST_CPPFLAGS)" \ - BUILD_LDFLAGS="$(HOST_LDFLAGS)" +DHCP_CONF_OPTS += --enable-libtool +endif ifeq ($(BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK),y) DHCP_CONF_OPTS += --enable-delayed-ack endif +define DHCP_INSTALL_LIBS + $(MAKE) -C $(@D)/common install-exec DESTDIR=$(TARGET_DIR) + $(MAKE) -C $(@D)/omapip install-exec DESTDIR=$(TARGET_DIR) +endef + ifeq ($(BR2_PACKAGE_DHCP_SERVER),y) +define DHCP_INSTALL_CTL_LIBS + $(MAKE) -C $(@D)/dhcpctl install-exec DESTDIR=$(TARGET_DIR) +endef define DHCP_INSTALL_SERVER mkdir -p $(TARGET_DIR)/var/lib (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp) - $(INSTALL) -m 0755 -D $(@D)/server/dhcpd $(TARGET_DIR)/usr/sbin/dhcpd + $(MAKE) -C $(@D)/server DESTDIR=$(TARGET_DIR) install-sbinPROGRAMS $(INSTALL) -m 0644 -D package/dhcp/dhcpd.conf \ $(TARGET_DIR)/etc/dhcp/dhcpd.conf endef @@ -68,8 +70,7 @@ ifeq ($(BR2_PACKAGE_DHCP_RELAY),y) define DHCP_INSTALL_RELAY mkdir -p $(TARGET_DIR)/var/lib (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp) - $(INSTALL) -m 0755 -D $(DHCP_DIR)/relay/dhcrelay \ - $(TARGET_DIR)/usr/sbin/dhcrelay + $(MAKE) -C $(@D)/relay DESTDIR=$(TARGET_DIR) install-sbinPROGRAMS endef endif @@ -77,8 +78,8 @@ ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y) define DHCP_INSTALL_CLIENT mkdir -p $(TARGET_DIR)/var/lib (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp) - $(INSTALL) -m 0755 -D $(DHCP_DIR)/client/dhclient \ - $(TARGET_DIR)/sbin/dhclient + $(MAKE) -C $(@D)/client DESTDIR=$(TARGET_DIR) sbindir=/sbin \ + install-sbinPROGRAMS $(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \ $(TARGET_DIR)/etc/dhcp/dhclient.conf $(INSTALL) -m 0755 -D package/dhcp/dhclient-script \ @@ -99,11 +100,6 @@ define DHCP_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/dhcp/dhcpd.service \ $(TARGET_DIR)/usr/lib/systemd/system/dhcpd.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - - ln -sf ../../../../usr/lib/systemd/system/dhcpd.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpd.service - mkdir -p $(TARGET_DIR)/usr/lib/tmpfiles.d echo "d /var/lib/dhcp 0755 - - - -" > \ $(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf @@ -113,6 +109,8 @@ endef endif define DHCP_INSTALL_TARGET_CMDS + $(DHCP_INSTALL_LIBS) + $(DHCP_INSTALL_CTL_LIBS) $(DHCP_INSTALL_RELAY) $(DHCP_INSTALL_SERVER) $(DHCP_INSTALL_CLIENT) diff --git a/package/dhcpcd/dhcpcd.hash b/package/dhcpcd/dhcpcd.hash index 605e87609e..c0d68036f3 100644 --- a/package/dhcpcd/dhcpcd.hash +++ b/package/dhcpcd/dhcpcd.hash @@ -1,4 +1,4 @@ -# sha256 from ftp://roy.marples.name/pub/dhcpcd/dhcpcd-7.0.3.tar.xz.distinfo.asc -sha256 a255d9aecceb1c77a9862f1c0d31a48ba37aab5ef2ca5ad76fc7a907b6ea292e dhcpcd-7.0.3.tar.xz +# sha256 from ftp://roy.marples.name/pub/dhcpcd/dhcpcd-8.0.3.tar.xz.distinfo +sha256 9674971fcd5acd5a3401a0ad8eba7f0b816fec9abb4a2520332b4d8dae068f1d dhcpcd-8.0.3.tar.xz # Locally calculated -sha256 b120a64b92cfb2453b61df4457a3c0eb163ef9c1c397822826756a31581f3947 LICENSE +sha256 213fc1a704cecdb322276fa7c95891fd1c23137d9ab572af1fc5e91b48762303 LICENSE diff --git a/package/dhcpcd/dhcpcd.mk b/package/dhcpcd/dhcpcd.mk index ae16c340d6..63dbbee86c 100644 --- a/package/dhcpcd/dhcpcd.mk +++ b/package/dhcpcd/dhcpcd.mk @@ -4,7 +4,7 @@ # ################################################################################ -DHCPCD_VERSION = 7.0.3 +DHCPCD_VERSION = 8.0.3 DHCPCD_SOURCE = dhcpcd-$(DHCPCD_VERSION).tar.xz DHCPCD_SITE = http://roy.marples.name/downloads/dhcpcd DHCPCD_DEPENDENCIES = host-pkgconf @@ -48,9 +48,6 @@ endef define DHCPCD_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 0644 package/dhcpcd/dhcpcd.service \ $(TARGET_DIR)/usr/lib/systemd/system/dhcpcd.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -sf ../../../../usr/lib/systemd/system/dhcpcd.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpcd.service endef endif diff --git a/package/dhcpdump/dhcpdump.hash b/package/dhcpdump/dhcpdump.hash index 36040c8a5d..358a6f01d2 100644 --- a/package/dhcpdump/dhcpdump.hash +++ b/package/dhcpdump/dhcpdump.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 6d5eb9418162fb738bc56e4c1682ce7f7392dd96e568cc996e44c28de7f77190 dhcpdump-1.8.tar.gz +sha256 bab6ca76b7e93885396513689b1248dfb0e8fd662695b8bd1b26784ef71a0192 LICENSE diff --git a/package/dialog/dialog.hash b/package/dialog/dialog.hash index ac42784690..2286590b66 100644 --- a/package/dialog/dialog.hash +++ b/package/dialog/dialog.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 2ff1ba74c632b9d13a0d0d2c942295dd4e8909694eeeded7908a467d0bcd4756 dialog-1.3-20170509.tgz +sha256 466163e8b97c2b7709d00389199add3156bd813f60ccb0335d0a30f2d4a17f99 dialog-1.3-20200327.tgz +# Locally computed +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/dialog/dialog.mk b/package/dialog/dialog.mk index 73fabe07cf..1c98d354e3 100644 --- a/package/dialog/dialog.mk +++ b/package/dialog/dialog.mk @@ -4,12 +4,12 @@ # ################################################################################ -DIALOG_VERSION = 1.3-20170509 +DIALOG_VERSION = 1.3-20200327 DIALOG_SOURCE = dialog-$(DIALOG_VERSION).tgz -DIALOG_SITE = ftp://ftp.invisible-island.net/dialog +DIALOG_SITE = https://invisible-mirror.net/archives/dialog DIALOG_CONF_OPTS = --with-ncurses --with-curses-dir=$(STAGING_DIR)/usr \ --disable-rpath-hack -DIALOG_DEPENDENCIES = host-pkgconf ncurses +DIALOG_DEPENDENCIES = host-pkgconf ncurses $(TARGET_NLS_DEPENDENCIES) DIALOG_LICENSE = LGPL-2.1 DIALOG_LICENSE_FILES = COPYING diff --git a/package/dieharder/dieharder.hash b/package/dieharder/dieharder.hash index eefe4b71de..55932ce6af 100644 --- a/package/dieharder/dieharder.hash +++ b/package/dieharder/dieharder.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 6cff0ff8394c553549ac7433359ccfc955fb26794260314620dfa5e4cd4b727f dieharder-3.31.1.tgz +sha256 6cff0ff8394c553549ac7433359ccfc955fb26794260314620dfa5e4cd4b727f dieharder-3.31.1.tgz +sha256 c475bcd1afa6fc15a65174e31c599c0d23706a34e4b9f2fcb03a4dad5438d53f COPYING diff --git a/package/diffutils/diffutils.hash b/package/diffutils/diffutils.hash index 5506ab275a..aa91fd4316 100644 --- a/package/diffutils/diffutils.hash +++ b/package/diffutils/diffutils.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 d621e8bdd4b573918c8145f7ae61817d1be9deb4c8d2328a65cea8e11d783bd6 diffutils-3.6.tar.xz +sha256 b3a7a6221c3dc916085f0d205abf6b8e1ba443d4dd965118da364a1dc1cb3a26 diffutils-3.7.tar.xz +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/diffutils/diffutils.mk b/package/diffutils/diffutils.mk index 9a41c985df..586b81ace8 100644 --- a/package/diffutils/diffutils.mk +++ b/package/diffutils/diffutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -DIFFUTILS_VERSION = 3.6 +DIFFUTILS_VERSION = 3.7 DIFFUTILS_SOURCE = diffutils-$(DIFFUTILS_VERSION).tar.xz DIFFUTILS_SITE = $(BR2_GNU_MIRROR)/diffutils DIFFUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) diff --git a/package/dillo/0003-Fix-openssl-detection.patch b/package/dillo/0003-Fix-openssl-detection.patch new file mode 100644 index 0000000000..6e5f1d021f --- /dev/null +++ b/package/dillo/0003-Fix-openssl-detection.patch @@ -0,0 +1,29 @@ +From 96dde9dedf806256cdc6cbf5cacbd5c8d74e6288 Mon Sep 17 00:00:00 2001 +From: Jonathan Kimmitt +Date: Thu, 9 Jan 2020 22:01:42 +0100 +Subject: [PATCH] Fix openssl detection + +SSL_library_init is now a define, use OPENSSL_init_ssl instead. + +Signed-off-by: Jonathan Kimmitt +Signed-off-by: Peter Seiderer +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 66b5e9f..206fd53 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -276,7 +276,7 @@ if test "x$enable_ssl" = "xyes"; then + + if test "x$ssl_ok" = "xyes"; then + old_libs="$LIBS" +- AC_CHECK_LIB(ssl, SSL_library_init, ssl_ok=yes, ssl_ok=no, -lcrypto) ++ AC_CHECK_LIB(ssl, OPENSSL_init_ssl, ssl_ok=yes, ssl_ok=no, -lcrypto) + LIBS="$old_libs" + fi + +-- +2.24.1 + diff --git a/package/dillo/0004-Support-OpenSSL-1.1.0.patch b/package/dillo/0004-Support-OpenSSL-1.1.0.patch new file mode 100644 index 0000000000..87b9d0dce3 --- /dev/null +++ b/package/dillo/0004-Support-OpenSSL-1.1.0.patch @@ -0,0 +1,33 @@ +From ff44d8b2d5211a502afdb3e612dae0e8133b5124 Mon Sep 17 00:00:00 2001 +From: Johannes Hofmann +Date: Thu, 9 Jan 2020 22:07:15 +0100 +Subject: [PATCH] Support OpenSSL 1.1.0 + +taken-from: pkgsrc (Ryo ONODERA) +submitted-by: Jun Ebihara + +Upstream: https://hg.dillo.org/dillo/rev/b171b8610400 +Signed-off-by: Peter Seiderer +--- + dpi/https.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/dpi/https.c b/dpi/https.c +index 766b3af..025cfc4 100644 +--- a/dpi/https.c ++++ b/dpi/https.c +@@ -476,7 +476,11 @@ static int handle_certificate_problem(SSL * ssl_connection) + case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: + /*Either self signed and untrusted*/ + /*Extract CN from certificate name information*/ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + if ((cn = strstr(remote_cert->name, "/CN=")) == NULL) { ++#else ++ if ((cn = strstr(X509_get_subject_name(remote_cert), "/CN=")) == NULL) { ++#endif + strcpy(buf, "(no CN given)"); + } else { + char *cn_end; +-- +2.24.1 + diff --git a/package/dillo/dillo.hash b/package/dillo/dillo.hash index cab0b14abd..fa46702a63 100644 --- a/package/dillo/dillo.hash +++ b/package/dillo/dillo.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 db1be16c1c5842ebe07b419aa7c6ef11a45603a75df2877f99635f4f8345148b dillo-3.0.5.tar.bz2 +sha256 db1be16c1c5842ebe07b419aa7c6ef11a45603a75df2877f99635f4f8345148b dillo-3.0.5.tar.bz2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/ding-libs/Config.in b/package/ding-libs/Config.in index 6dc2a80f82..152dca0426 100644 --- a/package/ding-libs/Config.in +++ b/package/ding-libs/Config.in @@ -13,4 +13,4 @@ config BR2_PACKAGE_DING_LIBS initialization format (INI) into a library collection data structure (libini_config). - https://git.fedorahosted.org/git/ding-libs.git + https://pagure.io/SSSD/ding-libs diff --git a/package/ding-libs/ding-libs.hash b/package/ding-libs/ding-libs.hash index 6e35697692..2ac5bd8eee 100644 --- a/package/ding-libs/ding-libs.hash +++ b/package/ding-libs/ding-libs.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 639984a57d6f936a6551c842712619692febaebf4515033fc929620a241ffa6a ding_libs-0_4_0.tar.xz +sha256 ad3c573641701f67d4b6bd8a5a71f0b65d45fd39fe961495ef5f5d3c57fc0963 ding-libs-ding_libs-0_6_1.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 6c57f43c939054fd4b831f271a14c97a488c38f98cdda5e887c5d396e3b3bc58 COPYING.LESSER diff --git a/package/ding-libs/ding-libs.mk b/package/ding-libs/ding-libs.mk index e9508ccf9e..1e8fa59d69 100644 --- a/package/ding-libs/ding-libs.mk +++ b/package/ding-libs/ding-libs.mk @@ -4,9 +4,10 @@ # ################################################################################ -DING_LIBS_VERSION = 0_4_0 -DING_LIBS_SOURCE = ding_libs-$(DING_LIBS_VERSION).tar.xz -DING_LIBS_SITE = https://git.fedorahosted.org/cgit/ding-libs.git/snapshot +DING_LIBS_VERSION = 0.6.1 +DING_LIBS_SOURCE = ding-libs-ding_libs-$(subst .,_,$(DING_LIBS_VERSION)).tar.gz +DING_LIBS_SITE = \ + https://pagure.io/SSSD/ding-libs/archive/ding_libs-$(subst .,_,$(DING_LIBS_VERSION)) DING_LIBS_DEPENDENCIES = host-pkgconf \ $(TARGET_NLS_DEPENDENCIES) \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) diff --git a/package/directfb-examples/directfb-examples.hash b/package/directfb-examples/directfb-examples.hash index 9d59cfef78..9c7f7c25a7 100644 --- a/package/directfb-examples/directfb-examples.hash +++ b/package/directfb-examples/directfb-examples.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 9a2104cc4da8123c8371813551b66b943198979f745cbebc034bb5e10844122a DirectFB-examples-1.7.0.tar.gz +sha256 9a2104cc4da8123c8371813551b66b943198979f745cbebc034bb5e10844122a DirectFB-examples-1.7.0.tar.gz +sha256 f91483684678e8aa8ccc4ee0ede3140b0494f8305e162695c7e6e3f83e54f236 COPYING diff --git a/package/directfb/directfb.hash b/package/directfb/directfb.hash index 069d8c3f1d..f8c4a8303c 100644 --- a/package/directfb/directfb.hash +++ b/package/directfb/directfb.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 b785c638dc31b8fe3a7c81be1475c89b2255ab3d67b777c747d3fbc52f8027a3 DirectFB-1.7.7.tar.gz +sha256 b785c638dc31b8fe3a7c81be1475c89b2255ab3d67b777c747d3fbc52f8027a3 DirectFB-1.7.7.tar.gz +sha256 512d2d21b6b3384ba64781abb0208a1b87740bc31e2df48e2b206ddb7e4d5779 COPYING diff --git a/package/dmalloc/Config.in b/package/dmalloc/Config.in index e5be109332..0c01970b04 100644 --- a/package/dmalloc/Config.in +++ b/package/dmalloc/Config.in @@ -1,9 +1,5 @@ config BR2_PACKAGE_DMALLOC bool "dmalloc" - # On some packages, Microblaze gcc has issues when debugging - # symbols are enabled: "Error: operation combines symbols in - # different segments". - depends on !(BR2_microblaze && BR2_ENABLE_DEBUG) help A debug memory allocation library which is a drop in replacement for the system's malloc, realloc, calloc, free and diff --git a/package/dmalloc/dmalloc.hash b/package/dmalloc/dmalloc.hash index e74ef741b9..113751656c 100644 --- a/package/dmalloc/dmalloc.hash +++ b/package/dmalloc/dmalloc.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 d3be5c6eec24950cb3bd67dbfbcdf036f1278fae5fd78655ef8cdf9e911e428a dmalloc-5.5.2.tgz +sha256 d3be5c6eec24950cb3bd67dbfbcdf036f1278fae5fd78655ef8cdf9e911e428a dmalloc-5.5.2.tgz +sha256 8659d49ceeeb006288ad246164e504ccfe33f7a4c1680439fb6ff6a393b0722b dmalloc.h.1 diff --git a/package/dmalloc/dmalloc.mk b/package/dmalloc/dmalloc.mk index 6ebb44c5c0..38b2c02027 100644 --- a/package/dmalloc/dmalloc.mk +++ b/package/dmalloc/dmalloc.mk @@ -35,6 +35,10 @@ ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) DMALLOC_CFLAGS += -marm endif +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_63261),y) +DMALLOC_CFLAGS += -O0 +endif + DMALLOC_CONF_ENV = CFLAGS="$(DMALLOC_CFLAGS)" define DMALLOC_POST_PATCH diff --git a/package/dmidecode/dmidecode.hash b/package/dmidecode/dmidecode.hash index 1e8154b37d..c6edf4bcac 100644 --- a/package/dmidecode/dmidecode.hash +++ b/package/dmidecode/dmidecode.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 d766ce9b25548c59b1e7e930505b4cad9a7bb0b904a1a391fbb604d529781ac0 dmidecode-3.1.tar.xz +sha256 077006fa2da0d06d6383728112f2edef9684e9c8da56752e97cd45a11f838edd dmidecode-3.2.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/dmidecode/dmidecode.mk b/package/dmidecode/dmidecode.mk index b6f96b6df8..811565d8e4 100644 --- a/package/dmidecode/dmidecode.mk +++ b/package/dmidecode/dmidecode.mk @@ -4,7 +4,7 @@ # ################################################################################ -DMIDECODE_VERSION = 3.1 +DMIDECODE_VERSION = 3.2 DMIDECODE_SOURCE = dmidecode-$(DMIDECODE_VERSION).tar.xz DMIDECODE_SITE = http://download.savannah.gnu.org/releases/dmidecode DMIDECODE_LICENSE = GPL-2.0+ diff --git a/package/dmraid/Config.in b/package/dmraid/Config.in index aa98c853a1..3c375f4c67 100644 --- a/package/dmraid/Config.in +++ b/package/dmraid/Config.in @@ -12,6 +12,8 @@ config BR2_PACKAGE_DMRAID dmraid uses the Linux device-mapper to create devices with respective mappings for the ATARAID sets discovered. + http://people.redhat.com/~heinzm/sw/dmraid/ + comment "dmraid needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/dmraid/dmraid.hash b/package/dmraid/dmraid.hash index 31669218e8..af84732f93 100644 --- a/package/dmraid/dmraid.hash +++ b/package/dmraid/dmraid.hash @@ -1,2 +1,5 @@ # From http://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-1.0.0.rc16-3.tar.bz2.md5.sum md5 819338fcef98e8e25819f0516722beeb dmraid-1.0.0.rc16-3.tar.bz2 +# locally computed +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 1.0.0.rc16-3/dmraid/LICENSE_GPL +sha256 4bc391fcf852e03c3a7564cb146af6e47717562eed296b28bce123ee1b0396b8 1.0.0.rc16-3/dmraid/LICENSE diff --git a/package/dnsmasq/Config.in b/package/dnsmasq/Config.in index 262aca688e..ef3a9b8341 100644 --- a/package/dnsmasq/Config.in +++ b/package/dnsmasq/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_DNSMASQ bool "dnsmasq" + depends on BR2_USE_MMU # fork() help A lightweight DNS and DHCP server. It is intended to provide coupled DNS and DHCP service to a LAN. @@ -29,8 +30,7 @@ config BR2_PACKAGE_DNSMASQ_DNSSEC config BR2_PACKAGE_DNSMASQ_IDN bool "IDN support" - depends on BR2_USE_WCHAR - select BR2_PACKAGE_LIBIDN + select BR2_PACKAGE_LIBIDN2 if !BR2_PACKAGE_LIBIDN help Enable IDN support in dnsmasq. This option is a big space taker since it pulls in many diff --git a/package/dnsmasq/dnsmasq.hash b/package/dnsmasq/dnsmasq.hash index 322f8df5cc..99e417f069 100644 --- a/package/dnsmasq/dnsmasq.hash +++ b/package/dnsmasq/dnsmasq.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.79.tar.xz.asc -sha256 78ad74f5ca14fd85a8bac93f764cd9d60b27579e90eabd3687ca7b030e67861f dnsmasq-2.79.tar.xz +# http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.81.tar.xz.asc +sha256 749ca903537c5197c26444ac24b0dce242cf42595fdfe6b9a5b9e4c7ad32f8fb dnsmasq-2.81.tar.xz # Locally calculated -sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING-v3 +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING-v3 diff --git a/package/dnsmasq/dnsmasq.mk b/package/dnsmasq/dnsmasq.mk index 79c5619966..4a7218a2b7 100644 --- a/package/dnsmasq/dnsmasq.mk +++ b/package/dnsmasq/dnsmasq.mk @@ -4,7 +4,7 @@ # ################################################################################ -DNSMASQ_VERSION = 2.79 +DNSMASQ_VERSION = 2.81 DNSMASQ_SOURCE = dnsmasq-$(DNSMASQ_VERSION).tar.xz DNSMASQ_SITE = http://thekelleys.org.uk/dnsmasq DNSMASQ_MAKE_ENV = $(TARGET_MAKE_ENV) CC="$(TARGET_CC)" @@ -34,9 +34,14 @@ DNSMASQ_COPTS += -DNO_TFTP endif ifeq ($(BR2_PACKAGE_DNSMASQ_IDN),y) +ifeq ($(BR2_PACKAGE_LIBIDN2),y) +DNSMASQ_DEPENDENCIES += libidn2 +DNSMASQ_COPTS += -DHAVE_LIBIDN2 +else DNSMASQ_DEPENDENCIES += libidn DNSMASQ_COPTS += -DHAVE_IDN endif +endif ifeq ($(BR2_PACKAGE_DNSMASQ_CONNTRACK),y) DNSMASQ_DEPENDENCIES += libnetfilter_conntrack @@ -67,6 +72,11 @@ define DNSMASQ_INSTALL_DBUS endef endif +ifeq ($(BR2_PACKAGE_UBUS),y) +DNSMASQ_DEPENDENCIES += ubus +DNSMASQ_COPTS += -DHAVE_UBUS +endif + define DNSMASQ_FIX_PKGCONFIG $(SED) 's^PKG_CONFIG = pkg-config^PKG_CONFIG = $(PKG_CONFIG_HOST_BINARY)^' \ $(DNSMASQ_DIR)/Makefile diff --git a/package/docker-cli/Config.in b/package/docker-cli/Config.in index 82c35c453d..6f187c9d22 100644 --- a/package/docker-cli/Config.in +++ b/package/docker-cli/Config.in @@ -1,7 +1,7 @@ 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_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS help Docker is a platform to build, ship, @@ -20,6 +20,6 @@ config BR2_PACKAGE_DOCKER_CLI_STATIC 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_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_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 index 41686f0de8..8868a60e38 100644 --- a/package/docker-cli/docker-cli.hash +++ b/package/docker-cli/docker-cli.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f9be44f395617f3f75faac69ad90f93c94ee4050c193bfa05eddb520a27c5d44 docker-cli-v18.09.4.tar.gz +sha256 a5b1d6c5766f77896273e864a448a7f0ea4055bb52f50f884f14ad6ef0d5fdb4 docker-cli-19.03.11.tar.gz sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE diff --git a/package/docker-cli/docker-cli.mk b/package/docker-cli/docker-cli.mk index 65701d1530..1466b0afbd 100644 --- a/package/docker-cli/docker-cli.mk +++ b/package/docker-cli/docker-cli.mk @@ -4,8 +4,8 @@ # ################################################################################ -DOCKER_CLI_VERSION = v18.09.4 -DOCKER_CLI_SITE = $(call github,docker,cli,$(DOCKER_CLI_VERSION)) +DOCKER_CLI_VERSION = 19.03.11 +DOCKER_CLI_SITE = $(call github,docker,cli,v$(DOCKER_CLI_VERSION)) DOCKER_CLI_WORKSPACE = gopath DOCKER_CLI_LICENSE = Apache-2.0 diff --git a/package/docker-compose/0001-Strip-up-generic-versions-and-bump-requests.patch b/package/docker-compose/0001-Strip-up-generic-versions-and-bump-requests.patch new file mode 100644 index 0000000000..536a9590dd --- /dev/null +++ b/package/docker-compose/0001-Strip-up-generic-versions-and-bump-requests.patch @@ -0,0 +1,66 @@ +From 2bb1a267aba3ca5fe414d0f79192def668c18bab Mon Sep 17 00:00:00 2001 +From: Ulysses Souza +Date: Tue, 2 Jul 2019 15:49:07 +0200 +Subject: [PATCH] Strip up generic versions and bump requests + +Replaces generic limitations with a next major value +Bump the minimal `requests` to 2.20.0 + +Signed-off-by: Ulysses Souza +(cherry picked from commit ce5451c5b4a3b449ce703168d2a568b0a4d25ee6) +Signed-off-by: Peter Korsgaard +--- + setup.py | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +diff --git a/setup.py b/setup.py +index 8371cc75..61447801 100644 +--- a/setup.py ++++ b/setup.py +@@ -31,31 +31,31 @@ def find_version(*file_paths): + + install_requires = [ + 'cached-property >= 1.2.0, < 2', +- 'docopt >= 0.6.1, < 0.7', +- 'PyYAML >= 3.10, < 4.3', +- 'requests >= 2.6.1, != 2.11.0, != 2.12.2, != 2.18.0, < 2.21', +- 'texttable >= 0.9.0, < 0.10', +- 'websocket-client >= 0.32.0, < 1.0', +- 'docker[ssh] >= 3.7.0, < 4.0', +- 'dockerpty >= 0.4.1, < 0.5', ++ 'docopt >= 0.6.1, < 1', ++ 'PyYAML >= 3.10, < 5', ++ 'requests >= 2.20.0, < 3', ++ 'texttable >= 0.9.0, < 1', ++ 'websocket-client >= 0.32.0, < 1', ++ 'docker[ssh] >= 3.7.0, < 5', ++ 'dockerpty >= 0.4.1, < 1', + 'six >= 1.3.0, < 2', + 'jsonschema >= 2.5.1, < 3', + ] + + + tests_require = [ +- 'pytest', ++ 'pytest < 6', + ] + + + if sys.version_info[:2] < (3, 4): +- tests_require.append('mock >= 1.0.1') ++ tests_require.append('mock >= 1.0.1, < 2') + + extras_require = { + ':python_version < "3.4"': ['enum34 >= 1.0.4, < 2'], +- ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5'], +- ':python_version < "3.3"': ['ipaddress >= 1.0.16'], +- ':sys_platform == "win32"': ['colorama >= 0.4, < 0.5'], ++ ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5, < 4'], ++ ':python_version < "3.3"': ['ipaddress >= 1.0.16, < 2'], ++ ':sys_platform == "win32"': ['colorama >= 0.4, < 1'], + 'socks': ['PySocks >= 1.5.6, != 1.5.7, < 2'], + } + +-- +2.20.1 + 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 deleted file mode 100644 index 1378c3b81a..0000000000 --- a/package/docker-compose/0001-setup.py-allow-all-recent-2.x-requests-releases.patch +++ /dev/null @@ -1,34 +0,0 @@ -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-Bump-texttable-from-0.9.1-to-1.6.2.patch b/package/docker-compose/0002-Bump-texttable-from-0.9.1-to-1.6.2.patch new file mode 100644 index 0000000000..92c2e1f133 --- /dev/null +++ b/package/docker-compose/0002-Bump-texttable-from-0.9.1-to-1.6.2.patch @@ -0,0 +1,41 @@ +From e55dd65ba42a17ba4b017b42f14f7ee647efe64f Mon Sep 17 00:00:00 2001 +From: Ulysses Souza +Date: Mon, 8 Jul 2019 14:52:30 +0200 +Subject: [PATCH] Bump texttable from 0.9.1 to 1.6.2 + +Signed-off-by: Ulysses Souza +(cherry picked from commit 0bfa1c34f054d86674434770d4d6340e02508e52) +Signed-off-by: Peter Korsgaard +--- + requirements.txt | 2 +- + setup.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/requirements.txt b/requirements.txt +index 6007ee3f..d868fdeb 100644 +--- a/requirements.txt ++++ b/requirements.txt +@@ -19,6 +19,6 @@ PySocks==1.6.7 + PyYAML==4.2b1 + requests==2.20.0 + six==1.10.0 +-texttable==0.9.1 ++texttable==1.6.2 + urllib3==1.21.1; python_version == '3.3' + websocket-client==0.56.0 +diff --git a/setup.py b/setup.py +index 61447801..c9e4729d 100644 +--- a/setup.py ++++ b/setup.py +@@ -34,7 +34,7 @@ install_requires = [ + 'docopt >= 0.6.1, < 1', + 'PyYAML >= 3.10, < 5', + 'requests >= 2.20.0, < 3', +- 'texttable >= 0.9.0, < 1', ++ 'texttable >= 0.9.0, < 2', + 'websocket-client >= 0.32.0, < 1', + 'docker[ssh] >= 3.7.0, < 5', + 'dockerpty >= 0.4.1, < 1', +-- +2.20.1 + diff --git a/package/docker-compose/0002-Upgrade-pyyaml-to-4.2b1.patch b/package/docker-compose/0002-Upgrade-pyyaml-to-4.2b1.patch deleted file mode 100644 index a3b4bfb853..0000000000 --- a/package/docker-compose/0002-Upgrade-pyyaml-to-4.2b1.patch +++ /dev/null @@ -1,27 +0,0 @@ -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-compose/0003-support-PyYAML-up-to-5.1-version.patch b/package/docker-compose/0003-support-PyYAML-up-to-5.1-version.patch new file mode 100644 index 0000000000..ecbd197a51 --- /dev/null +++ b/package/docker-compose/0003-support-PyYAML-up-to-5.1-version.patch @@ -0,0 +1,44 @@ +From 3be619b814c16c02a02499e7a157dabd065926dd Mon Sep 17 00:00:00 2001 +From: Sergey Fursov +Date: Sun, 31 Mar 2019 12:45:50 +0700 +Subject: [PATCH] support PyYAML up to 5.1 version + +Signed-off-by: Sergey Fursov +[Upstream: https://github.com/docker/compose/pull/6623] +(cherry picked from commit d2ca096f46a56cd4db494c593ed84e5c255dc15d) +[Peter: allow all 5.x] +Signed-off-by: Peter Korsgaard +--- + requirements.txt | 2 +- + setup.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/requirements.txt b/requirements.txt +index d868fdeb..e3dbc807 100644 +--- a/requirements.txt ++++ b/requirements.txt +@@ -16,7 +16,7 @@ paramiko==2.4.2 + pypiwin32==219; sys_platform == 'win32' and python_version < '3.6' + pypiwin32==223; sys_platform == 'win32' and python_version >= '3.6' + PySocks==1.6.7 +-PyYAML==4.2b1 ++PyYAML==5.1 + requests==2.20.0 + six==1.10.0 + texttable==1.6.2 +diff --git a/setup.py b/setup.py +index c9e4729d..17ab678e 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, < 1', +- 'PyYAML >= 3.10, < 5', ++ 'PyYAML >= 3.10, < 6', + 'requests >= 2.20.0, < 3', + 'texttable >= 0.9.0, < 2', + 'websocket-client >= 0.32.0, < 1', +-- +2.20.1 + diff --git a/package/docker-compose/Config.in b/package/docker-compose/Config.in index 393b5f1a0d..74af8e03d5 100644 --- a/package/docker-compose/Config.in +++ b/package/docker-compose/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_DOCKER_COMPOSE depends on BR2_USE_WCHAR # python depends on BR2_TOOLCHAIN_HAS_THREADS # python depends on !BR2_STATIC_LIBS # python + depends on BR2_INSTALL_LIBSTDCPP # python-paramiko -> python-cryptography select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON select BR2_PACKAGE_PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME \ if BR2_PACKAGE_PYTHON # runtime @@ -11,6 +12,7 @@ config BR2_PACKAGE_DOCKER_COMPOSE select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON_CACHED_PROPERTY # runtime select BR2_PACKAGE_PYTHON_DOCOPT # runtime + select BR2_PACKAGE_PYTHON_PARAMIKO # runtime select BR2_PACKAGE_PYTHON_PYYAML # runtime select BR2_PACKAGE_PYTHON_REQUESTS # runtime select BR2_PACKAGE_PYTHON_TEXTTABLE # runtime @@ -24,6 +26,7 @@ config BR2_PACKAGE_DOCKER_COMPOSE https://www.docker.com/ -comment "docker-compose needs a toolchain w/ wchar, threads, dynamic library" +comment "docker-compose needs a toolchain w/ C++, wchar, threads, dynamic library" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP diff --git a/package/docker-compose/docker-compose.hash b/package/docker-compose/docker-compose.hash index 5a5e86abe8..aa29a6d6cb 100644 --- a/package/docker-compose/docker-compose.hash +++ b/package/docker-compose/docker-compose.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/docker-compose/json, sha256 locally computed -md5 8f9f6d59cc8e65dbfad6fda26b96fde7 docker-compose-1.20.1.tar.gz -sha256 34c043ebd4c23e4b864812c16b41dad25cec6b675557b180ced52d372e1a9e66 docker-compose-1.20.1.tar.gz +# from https://pypi.python.org/pypi/docker-compose/json +sha256 a5d58e974fd717e24b0dda6669a46bc03548d9023ef38d965acdc32d4d5fa753 docker-compose-1.24.1.tar.gz + +# locally computed sha256 552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243 LICENSE diff --git a/package/docker-compose/docker-compose.mk b/package/docker-compose/docker-compose.mk index 52c16dbc79..ec24157c56 100644 --- a/package/docker-compose/docker-compose.mk +++ b/package/docker-compose/docker-compose.mk @@ -4,8 +4,8 @@ # ################################################################################ -DOCKER_COMPOSE_VERSION = 1.20.1 -DOCKER_COMPOSE_SITE = https://pypi.python.org/packages/25/4f/4e2b8ff942c9b3d96a81082590617c5c5fa006b066a4181b8d985ea3ac79 +DOCKER_COMPOSE_VERSION = 1.24.1 +DOCKER_COMPOSE_SITE = https://files.pythonhosted.org/packages/b6/a4/59c39df6a23144a6252ad33170dfbf781af5953651e4587e8ea5f995f95e DOCKER_COMPOSE_SETUP_TYPE = setuptools DOCKER_COMPOSE_LICENSE = Apache-2.0 DOCKER_COMPOSE_LICENSE_FILES = LICENSE diff --git a/package/docker-containerd/Config.in b/package/docker-containerd/Config.in index 72ca9313b8..9568dd0a2a 100644 --- a/package/docker-containerd/Config.in +++ b/package/docker-containerd/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_DOCKER_CONTAINERD bool "docker-containerd" - depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS - depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc depends on BR2_USE_MMU # util-linux @@ -29,7 +29,7 @@ config BR2_PACKAGE_DOCKER_CONTAINERD_DRIVER_BTRFS 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_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on BR2_USE_MMU 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 fc7b6fcb49..95288be58b 100644 --- a/package/docker-containerd/docker-containerd.hash +++ b/package/docker-containerd/docker-containerd.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 b92819bde71de947329814a3c649b8adb106cc03be16aae217b94297f4b843a1 docker-containerd-v1.2.5.tar.gz -sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE +sha256 0811057ab67b78ce911416e793edaeb14b3f1e105d67b8e67b6302e0eab572e4 docker-containerd-1.2.13.tar.gz +sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE diff --git a/package/docker-containerd/docker-containerd.mk b/package/docker-containerd/docker-containerd.mk index 586fd1fa08..5a44489065 100644 --- a/package/docker-containerd/docker-containerd.mk +++ b/package/docker-containerd/docker-containerd.mk @@ -4,8 +4,8 @@ # ################################################################################ -DOCKER_CONTAINERD_VERSION = v1.2.5 -DOCKER_CONTAINERD_SITE = $(call github,containerd,containerd,$(DOCKER_CONTAINERD_VERSION)) +DOCKER_CONTAINERD_VERSION = 1.2.13 +DOCKER_CONTAINERD_SITE = $(call github,containerd,containerd,v$(DOCKER_CONTAINERD_VERSION)) DOCKER_CONTAINERD_LICENSE = Apache-2.0 DOCKER_CONTAINERD_LICENSE_FILES = LICENSE 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 deleted file mode 100644 index dc47a8f9ef..0000000000 --- a/package/docker-engine/0001-Fix-faulty-runc-version-commit-scrape.patch +++ /dev/null @@ -1,45 +0,0 @@ -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 3c97310484..1fd229fcbb 100644 --- a/package/docker-engine/Config.in +++ b/package/docker-engine/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_DOCKER_ENGINE bool "docker-engine" - depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS - depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_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 @@ -51,7 +51,7 @@ config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_VFS endif 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_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC depends on BR2_USE_MMU diff --git a/package/docker-engine/docker-engine.hash b/package/docker-engine/docker-engine.hash index b268b7f330..99159f9376 100644 --- a/package/docker-engine/docker-engine.hash +++ b/package/docker-engine/docker-engine.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1f4bd15d799420b587024fe3c6d7bd4eb584e509d30c8193db31411579780f2a docker-engine-v18.09.4.tar.gz -sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE +sha256 5ff62d7b3638a275b2c459e53a4d1a7a8fb03dde8305defcd55e05e059e5618d docker-engine-19.03.11.tar.gz +sha256 7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8 LICENSE diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk index 92e364e60d..2f622014ba 100644 --- a/package/docker-engine/docker-engine.mk +++ b/package/docker-engine/docker-engine.mk @@ -4,8 +4,8 @@ # ################################################################################ -DOCKER_ENGINE_VERSION = v18.09.4 -DOCKER_ENGINE_SITE = $(call github,docker,engine,$(DOCKER_ENGINE_VERSION)) +DOCKER_ENGINE_VERSION = 19.03.11 +DOCKER_ENGINE_SITE = $(call github,docker,engine,v$(DOCKER_ENGINE_VERSION)) DOCKER_ENGINE_LICENSE = Apache-2.0 DOCKER_ENGINE_LICENSE_FILES = LICENSE @@ -68,9 +68,6 @@ define DOCKER_ENGINE_INSTALL_INIT_SYSTEMD $(TARGET_DIR)/usr/lib/systemd/system/docker.service $(INSTALL) -D -m 0644 $(@D)/contrib/init/systemd/docker.socket \ $(TARGET_DIR)/usr/lib/systemd/system/docker.socket - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ - ln -fs ../../../../usr/lib/systemd/system/docker.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/docker.service endef define DOCKER_ENGINE_INSTALL_INIT_SYSV diff --git a/package/docker-proxy/Config.in b/package/docker-proxy/Config.in index 596e18a3f3..7e40536537 100644 --- a/package/docker-proxy/Config.in +++ b/package/docker-proxy/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_DOCKER_PROXY bool "docker-proxy" - depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS - depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS help Libnetwork is a Container Network Model that provides a @@ -14,6 +14,6 @@ config BR2_PACKAGE_DOCKER_PROXY https://github.com/docker/libnetwork comment "docker-proxy 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_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/docker-proxy/docker-proxy.hash b/package/docker-proxy/docker-proxy.hash index 3ec184f54f..58de697929 100644 --- a/package/docker-proxy/docker-proxy.hash +++ b/package/docker-proxy/docker-proxy.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 2eee331b6ded567a36e7db708405b34032b93938682cf049025f48b96d755bf6 docker-proxy-7b2b1feb1de4817d522cc372af149ff48d25028e.tar.gz +sha256 866c8d196b9396a383b437b0d775476459ed7c11f527c4f6bbf1fd08524b461d docker-proxy-55685ba49593e67f5e1c8180539379b16736c25e.tar.gz +sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 LICENSE diff --git a/package/docker-proxy/docker-proxy.mk b/package/docker-proxy/docker-proxy.mk index dfa9d4347d..8843266c30 100644 --- a/package/docker-proxy/docker-proxy.mk +++ b/package/docker-proxy/docker-proxy.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_PROXY_VERSION = 7b2b1feb1de4817d522cc372af149ff48d25028e +DOCKER_PROXY_VERSION = 55685ba49593e67f5e1c8180539379b16736c25e DOCKER_PROXY_SITE = $(call github,docker,libnetwork,$(DOCKER_PROXY_VERSION)) DOCKER_PROXY_LICENSE = Apache-2.0 diff --git a/package/docker/docker.hash b/package/docker/docker.hash index 710a0eb57c..cf0f00e8d8 100644 --- a/package/docker/docker.hash +++ b/package/docker/docker.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 47629578e89d96d1541c91d040aec4316f03ad6d01dc3eecb8f82a33445c1e4e docker-1.5.tar.gz +sha256 47629578e89d96d1541c91d040aec4316f03ad6d01dc3eecb8f82a33445c1e4e docker-1.5.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 fd82a1ac93bfe0a5afcf28cfb5342dd02015555fc23529a87bd77a7b271d3262 README diff --git a/package/domoticz/0001-Bumped-version.patch b/package/domoticz/0001-Bumped-version.patch deleted file mode 100644 index 70426ba1aa..0000000000 --- a/package/domoticz/0001-Bumped-version.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 98723b7da9467a49222b8a7ffaae276c5bc075c1 Mon Sep 17 00:00:00 2001 -From: gizmocuz -Date: Thu, 28 Jun 2018 08:00:58 +0200 -Subject: [PATCH] Bumped version - -Signed-off-by: Fabrice Fontaine -[Retrieved from https://github.com/domoticz/domoticz/commit/98723b7da9467a49222b8a7ffaae276c5bc075c1] ---- - appversion.default | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/appversion.default b/appversion.default -index beaa069bb..7d3530590 100644 ---- a/appversion.default -+++ b/appversion.default -@@ -1,3 +1,3 @@ --#define APPVERSION 5876 -+#define APPVERSION 9700 - #define APPHASH "b97777b" - #define APPDATE 1478691222 diff --git a/package/domoticz/0001-Revert-Updating-CMake-configuration-file-to-use-vers.patch b/package/domoticz/0001-Revert-Updating-CMake-configuration-file-to-use-vers.patch new file mode 100644 index 0000000000..5393b0caf0 --- /dev/null +++ b/package/domoticz/0001-Revert-Updating-CMake-configuration-file-to-use-vers.patch @@ -0,0 +1,55 @@ +From 2cd95289939b4a7c2576176c7f6268028aa093b2 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 24 May 2019 21:50:16 +0200 +Subject: [PATCH] Revert "Updating CMake configuration file to use + version 3.14 as minimum and added boost dependency targets" + +This reverts commit 4e4ee999c4b323514c0ba81ab1ff3afb10d2f1cd to avoid +bumping host-cmake requirement version from 3.8 to 3.14 in buildroot. + +[Fabrice: Updated for 2020.1] +Signed-off-by: Fabrice Fontaine +--- + CMakeLists.txt | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c5b7832ff..a21f5b87b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,5 @@ +-#set to minimum version that supports clean build +-cmake_minimum_required(VERSION 3.14.0) ++#set to minimum version that supports clean build on cygwin ++cmake_minimum_required(VERSION 2.8.4) + + project(domoticz) + +@@ -583,6 +583,7 @@ set(Boost_USE_STATIC_LIBS ${USE_STATIC_BOOST}) + set(Boost_USE_MULTITHREADED ON) + unset(Boost_INCLUDE_DIR CACHE) + unset(Boost_LIBRARY_DIRS CACHE) ++find_package(Boost REQUIRED COMPONENTS thread system) + + if(USE_STATIC_BOOST) + message(STATUS "Linking against boost static libraries") +@@ -590,16 +591,6 @@ else(USE_STATIC_BOOST) + message(STATUS "Linking against boost dynamic libraries") + endif(USE_STATIC_BOOST) + +-find_package(Boost REQUIRED COMPONENTS thread system) +-if(Boost_FOUND) +- MESSAGE(STATUS "BOOST libraries found at: ${Boost_LIBRARY_DIRS}") +- MESSAGE(STATUS "Boost includes found at: ${Boost_INCLUDE_DIR}") +-else(Boost_FOUND) +- MESSAGE(FATAL_ERROR "Boost thread/system library not found on your system, try to get this installed.") +-endif(Boost_FOUND) +- +-target_link_libraries(domoticz Boost::thread Boost::system) +- + # compare found vs required libBoost version + if(Boost_VERSION VERSION_LESS DOMO_MIN_LIBBOOST_VERSION) + message(FATAL_ERROR "Found libBoost version ${Boost_VERSION}, ${DOMO_MIN_LIBBOOST_VERSION} or newer required") +-- +2.20.1 + 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 deleted file mode 100644 index a0adbdfed9..0000000000 --- a/package/domoticz/0002-CMakeLists.txt-fix-build-with-python-and-cmake-3.7.patch +++ /dev/null @@ -1,40 +0,0 @@ -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 b99e548012..c713ac58b1 100644 --- a/package/domoticz/Config.in +++ b/package/domoticz/Config.in @@ -14,6 +14,7 @@ config BR2_PACKAGE_DOMOTICZ select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD + select BR2_PACKAGE_JSONCPP select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_MOSQUITTO select BR2_PACKAGE_OPENSSL diff --git a/package/domoticz/S99domoticz b/package/domoticz/S99domoticz index a16cacadde..e773aceeec 100644 --- a/package/domoticz/S99domoticz +++ b/package/domoticz/S99domoticz @@ -1,38 +1,51 @@ #!/bin/sh -NAME=domoticz -PIDFILE=/var/run/$NAME.pid -DAEMON=/opt/domoticz/$NAME -DAEMON_ARGS="-daemon -www 8080 -sslwww 443" +DAEMON="domoticz" +PIDFILE="/var/run/$DAEMON.pid" + +DOMOTICZ_ARGS="-daemon -www 8080 -sslwww 443" + +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" start() { - printf "Starting $NAME: " - start-stop-daemon -S -q -m -b -p $PIDFILE --exec $DAEMON -- $DAEMON_ARGS - [ $? = 0 ] && echo "OK" || echo "FAIL" + printf 'Starting %s: ' "$DAEMON" + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/opt/domoticz/$DAEMON" \ + -- $DOMOTICZ_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" } + stop() { - printf "Stopping $NAME: " - start-stop-daemon -K -q -p $PIDFILE - [ $? = 0 ] && echo "OK" || echo "FAIL" + 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) - start - ;; - stop) - stop - ;; - restart|reload) - restart - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 + start|stop|restart) + "$1";; + reload) + # Restart, since there is no true "reload" feature. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 esac - -exit $? diff --git a/package/domoticz/domoticz.hash b/package/domoticz/domoticz.hash index 106d242d0d..4f095c33a7 100644 --- a/package/domoticz/domoticz.hash +++ b/package/domoticz/domoticz.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 c31f185a1ffac01b86a77bf33e059a4403d814e826c9d6639c63c2e9afa55a46 domoticz-4.9700.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 License.txt +sha256 d0c17b2082dad8a8caeed888b7d4c191975e74a2808b5d078305f5327b82442d domoticz-2020.1.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 License.txt diff --git a/package/domoticz/domoticz.mk b/package/domoticz/domoticz.mk index 7f094d0976..0ceaab87b4 100644 --- a/package/domoticz/domoticz.mk +++ b/package/domoticz/domoticz.mk @@ -4,13 +4,14 @@ # ################################################################################ -DOMOTICZ_VERSION = 4.9700 +DOMOTICZ_VERSION = 2020.1 DOMOTICZ_SITE = $(call github,domoticz,domoticz,$(DOMOTICZ_VERSION)) DOMOTICZ_LICENSE = GPL-3.0 DOMOTICZ_LICENSE_FILES = License.txt DOMOTICZ_DEPENDENCIES = \ boost \ host-pkgconf \ + jsoncpp \ libcurl \ lua \ mosquitto \ @@ -18,6 +19,9 @@ DOMOTICZ_DEPENDENCIES = \ sqlite \ zlib +# Disable precompiled header as it needs cmake >= 3.16 +DOMOTICZ_CONF_OPTS = -DUSE_PRECOMPILED_HEADER=OFF + # Due to the dependency on mosquitto, domoticz depends on # !BR2_STATIC_LIBS so set USE_STATIC_BOOST and USE_OPENSSL_STATIC to OFF DOMOTICZ_CONF_OPTS += \ @@ -25,14 +29,18 @@ DOMOTICZ_CONF_OPTS += \ -DUSE_OPENSSL_STATIC=OFF # Do not use any built-in libraries which are enabled by default for -# lua, sqlite and mqtt +# jsoncpp, lua, sqlite and mqtt DOMOTICZ_CONF_OPTS += \ + -DUSE_BUILTIN_JSONCPP=OFF \ -DUSE_BUILTIN_LUA=OFF \ -DUSE_BUILTIN_SQLITE=OFF \ -DUSE_BUILTIN_MQTT=OFF ifeq ($(BR2_PACKAGE_LIBUSB),y) DOMOTICZ_DEPENDENCIES += libusb +DOMOTICZ_CONF_OPTS += -DWITH_LIBUSB=ON +else +DOMOTICZ_CONF_OPTS += -DWITH_LIBUSB=OFF endif ifeq ($(BR2_PACKAGE_OPENZWAVE),y) @@ -78,9 +86,6 @@ endef define DOMOTICZ_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/domoticz/domoticz.service \ $(TARGET_DIR)/usr/lib/systemd/system/domoticz.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -sf ../../../../usr/lib/systemd/system/domoticz.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/domoticz.service endef $(eval $(cmake-package)) diff --git a/package/doom-wad/Config.in b/package/doom-wad/Config.in index 6f51cfb936..9ef4e3e5a2 100644 --- a/package/doom-wad/Config.in +++ b/package/doom-wad/Config.in @@ -7,3 +7,5 @@ config BR2_PACKAGE_DOOM_WAD The wad file will be placed in the /usr/share/games/doom directory. + + https://doomwiki.org/wiki/DOOM1.WAD diff --git a/package/dos2unix/dos2unix.hash b/package/dos2unix/dos2unix.hash index 80b739495d..41fb23429b 100644 --- a/package/dos2unix/dos2unix.hash +++ b/package/dos2unix/dos2unix.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://waterlan.home.xs4all.nl/dos2unix/dos2unix-7.4.0.tar.gz.asc -sha256 bac765abdbd95cdd87a71989d4382c32cf3cbfeee2153f0086cb9cf18261048a dos2unix-7.4.0.tar.gz -sha256 49224e841621b52a72aa38d8ac895a396cd3fa1395190bdfc9252378001eb3c0 COPYING.txt +# https://waterlan.home.xs4all.nl/dos2unix/dos2unix-7.4.1.tar.gz.asc +sha256 1cd58a60b03ed28fa39046102a185c5e88c4f7665e1e0417c25de7f8b9f78623 dos2unix-7.4.1.tar.gz +sha256 af32dca9450e90b9a7a0f6408da1554466382cc81960108c59512f78a666a276 COPYING.txt diff --git a/package/dos2unix/dos2unix.mk b/package/dos2unix/dos2unix.mk index 0522ad1671..5064b7e5bb 100644 --- a/package/dos2unix/dos2unix.mk +++ b/package/dos2unix/dos2unix.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOS2UNIX_VERSION = 7.4.0 +DOS2UNIX_VERSION = 7.4.1 DOS2UNIX_SITE = http://waterlan.home.xs4all.nl/dos2unix DOS2UNIX_LICENSE = BSD-2-Clause DOS2UNIX_LICENSE_FILES = COPYING.txt diff --git a/package/dosfstools/dosfstools.hash b/package/dosfstools/dosfstools.hash index 2515ea68c3..d5f396f69f 100644 --- a/package/dosfstools/dosfstools.hash +++ b/package/dosfstools/dosfstools.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature sha256 e6b2aca70ccc3fe3687365009dd94a2e18e82b688ed4e260e04b7412471cc173 dosfstools-4.1.tar.xz + +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/dosfstools/dosfstools.mk b/package/dosfstools/dosfstools.mk index 6eb0851d0e..fdf973af9d 100644 --- a/package/dosfstools/dosfstools.mk +++ b/package/dosfstools/dosfstools.mk @@ -24,26 +24,36 @@ DOSFSTOOLS_CONF_OPTS += LIBS="-liconv" DOSFSTOOLS_DEPENDENCIES += libiconv endif -ifeq ($(BR2_PACKAGE_DOSFSTOOLS_FATLABEL),) -define DOSFSTOOLS_REMOVE_FATLABEL - rm -f $(addprefix $(TARGET_DIR)/sbin/,dosfslabel fatlabel) +ifeq ($(BR2_PACKAGE_DOSFSTOOLS_FATLABEL),y) +define DOSFSTOOLS_INSTALL_FATLABEL + $(INSTALL) -D -m 0755 $(@D)/src/fatlabel $(TARGET_DIR)/sbin/fatlabel + ln -sf fatlabel $(TARGET_DIR)/sbin/dosfslabel endef -DOSFSTOOLS_POST_INSTALL_TARGET_HOOKS += DOSFSTOOLS_REMOVE_FATLABEL endif -ifeq ($(BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT),) -define DOSFSTOOLS_REMOVE_FSCK_FAT - rm -f $(addprefix $(TARGET_DIR)/sbin/,fsck.fat dosfsck fsck.msdos fsck.vfat) +ifeq ($(BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT),y) +define DOSFSTOOLS_INSTALL_FSCK_FAT + $(INSTALL) -D -m 0755 $(@D)/src/fsck.fat $(TARGET_DIR)/sbin/fsck.fat + ln -sf fsck.fat $(TARGET_DIR)/sbin/fsck.vfat + ln -sf fsck.fat $(TARGET_DIR)/sbin/fsck.msdos + ln -sf fsck.fat $(TARGET_DIR)/sbin/dosfsck endef -DOSFSTOOLS_POST_INSTALL_TARGET_HOOKS += DOSFSTOOLS_REMOVE_FSCK_FAT endif -ifeq ($(BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT),) -define DOSFSTOOLS_REMOVE_MKFS_FAT - rm -f $(addprefix $(TARGET_DIR)/sbin/,mkfs.fat mkdosfs mkfs.msdos mkfs.vfat) +ifeq ($(BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT),y) +define DOSFSTOOLS_INSTALL_MKFS_FAT + $(INSTALL) -D -m 0755 $(@D)/src/mkfs.fat $(TARGET_DIR)/sbin/mkfs.fat + ln -sf mkfs.fat $(TARGET_DIR)/sbin/mkdosfs + ln -sf mkfs.fat $(TARGET_DIR)/sbin/mkfs.msdos + ln -sf mkfs.fat $(TARGET_DIR)/sbin/mkfs.vfat endef -DOSFSTOOLS_POST_INSTALL_TARGET_HOOKS += DOSFSTOOLS_REMOVE_MKFS_FAT endif +define DOSFSTOOLS_INSTALL_TARGET_CMDS + $(call DOSFSTOOLS_INSTALL_FATLABEL) + $(call DOSFSTOOLS_INSTALL_FSCK_FAT) + $(call DOSFSTOOLS_INSTALL_MKFS_FAT) +endef + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash index a1d88d49e2..28a49b13d6 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 cbaa106e1c2b23824420efdd6a9f8572c64c8dccf75a3101a899b6ddb25149a5 dovecot-2.3-pigeonhole-0.5.5.tar.gz +sha256 36da68aae5157b83e21383f711b8977e5b6f5477f369f71e7e22e76a738bbd05 dovecot-2.3-pigeonhole-0.5.9.tar.gz sha256 fc9e9522216f2a9a28b31300e3c73c1df56acc27dfae951bf516e7995366b51a COPYING diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk index 2a7626733f..95bfa6fc4a 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOVECOT_PIGEONHOLE_VERSION = 0.5.5 +DOVECOT_PIGEONHOLE_VERSION = 0.5.9 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/0001-byteorder.h-fix-uclibc-build.patch b/package/dovecot/0001-byteorder.h-fix-uclibc-build.patch deleted file mode 100644 index b6d3ed3ec0..0000000000 --- a/package/dovecot/0001-byteorder.h-fix-uclibc-build.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 902917880ca29f1007750a70cf46e7246b2d0a2a Mon Sep 17 00:00:00 2001 -From: Josef 'Jeff' Sipek -Date: Tue, 14 Nov 2017 06:01:21 +0100 -Subject: [PATCH] byteorder.h: fix uclibc build - -Patch suggested on upstream mailinglist: -https://www.dovecot.org/pipermail/dovecot/2017-November/110019.html - -Signed-off-by: Bernd Kuhls ---- - src/lib/byteorder.h | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/lib/byteorder.h b/src/lib/byteorder.h -index 2f5dc7c17..4ffe8da21 100644 ---- a/src/lib/byteorder.h -+++ b/src/lib/byteorder.h -@@ -23,6 +23,11 @@ - #ifndef BYTEORDER_H - #define BYTEORDER_H - -+#undef bswap_8 -+#undef bswap_16 -+#undef bswap_32 -+#undef bswap_64 -+ - /* - * These prototypes exist to catch bugs in the code generating macros below. - */ --- -2.11.0 - diff --git a/package/dovecot/dovecot.hash b/package/dovecot/dovecot.hash index 2b8492a3c8..09295816d3 100644 --- a/package/dovecot/dovecot.hash +++ b/package/dovecot/dovecot.hash @@ -1,5 +1,5 @@ # Locally computed after checking signature -sha256 ba14e41aefd81a868a35b83bcb54194116106424d37690519b50ea83c0f31bf2 dovecot-2.3.5.2.tar.gz -sha256 a363b132e494f662d98c820d1481297e6ae72f194c2c91b6c39e1518b86240a8 COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL -sha256 52b8c95fabb19575281874b661ef7968ea47e8f5d74ba0dd40ce512e52b3fc97 COPYING.MIT +sha256 6642e62f23b1b23cfac235007ca6e21cb67460cca834689fad450724456eb10c dovecot-2.3.10.1.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 d9b94eb83a..59b52a3f84 100644 --- a/package/dovecot/dovecot.mk +++ b/package/dovecot/dovecot.mk @@ -5,8 +5,8 @@ ################################################################################ DOVECOT_VERSION_MAJOR = 2.3 -DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).5.2 -DOVECOT_SITE = https://www.dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) +DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).10.1 +DOVECOT_SITE = https://dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) DOVECOT_INSTALL_STAGING = YES DOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015 DOVECOT_LICENSE_FILES = COPYING COPYING.LGPL COPYING.MIT @@ -14,6 +14,8 @@ DOVECOT_DEPENDENCIES = \ host-pkgconf \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ openssl +# add host-gettext for AM_ICONV macro +DOVECOT_DEPENDENCIES += host-gettext DOVECOT_CONF_ENV = \ RPCGEN=__disable_RPCGEN_rquota \ @@ -64,6 +66,13 @@ else DOVECOT_CONF_OPTS += --without-sodium endif +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +DOVECOT_CONF_OPTS += --with-pam +DOVECOT_DEPENDENCIES += linux-pam +else +DOVECOT_CONF_OPTS += --without-pam +endif + ifeq ($(BR2_PACKAGE_DOVECOT_MYSQL),y) DOVECOT_CONF_ENV += MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config" DOVECOT_CONF_OPTS += --with-mysql diff --git a/package/doxygen/Config.in.host b/package/doxygen/Config.in.host new file mode 100644 index 0000000000..3a06199c93 --- /dev/null +++ b/package/doxygen/Config.in.host @@ -0,0 +1,12 @@ +config BR2_PACKAGE_HOST_DOXYGEN + bool "host doxygen" + depends on BR2_HOST_GCC_AT_LEAST_4_9 # C++14 + help + Doxygen is the de facto standard tool for generating + documentation from annotated C++ sources, but it also + supports other popular programming languages such as C, + Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft, + and UNO/OpenOffice flavors), Fortran, VHDL, Tcl, and to some + extent D. + + http://www.doxygen.nl/ diff --git a/package/doxygen/doxygen.hash b/package/doxygen/doxygen.hash index db70b74d23..90d4e978bc 100644 --- a/package/doxygen/doxygen.hash +++ b/package/doxygen/doxygen.hash @@ -1,2 +1,3 @@ # Computed locally -sha256 d1757e02755ef6f56fd45f1f4398598b920381948d6fcfa58f5ca6aa56f59d4d doxygen-1.8.14.src.tar.gz +sha256 2cba988af2d495541cbbe5541b3bee0ee11144dcb23a81eada19f5501fd8b599 doxygen-1.8.17.src.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/doxygen/doxygen.mk b/package/doxygen/doxygen.mk index 5e11a1d187..52e96f3807 100644 --- a/package/doxygen/doxygen.mk +++ b/package/doxygen/doxygen.mk @@ -4,9 +4,9 @@ # ################################################################################ -DOXYGEN_VERSION = 1.8.14 +DOXYGEN_VERSION = 1.8.17 DOXYGEN_SOURCE = doxygen-$(DOXYGEN_VERSION).src.tar.gz -DOXYGEN_SITE = http://ftp.stack.nl/pub/users/dimitri +DOXYGEN_SITE = http://doxygen.nl/files DOXYGEN_LICENSE = GPL-2.0 DOXYGEN_LICENSE_FILES = LICENSE HOST_DOXYGEN_DEPENDENCIES = host-flex host-bison diff --git a/package/drbd-utils/drbd-utils.hash b/package/drbd-utils/drbd-utils.hash index bcbed1ee8a..79914af508 100644 --- a/package/drbd-utils/drbd-utils.hash +++ b/package/drbd-utils/drbd-utils.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 11299b555b703440ef0af2c74b69cf6dfb833e050b87cfdc3b93d0b71d8820a6 drbd-utils-9.2.0.tar.gz +sha256 16a6d000aac7f746419839a2c2afcb71fa8779fe0b5898e967767791cb8f4bc7 drbd-utils-9.12.0.tar.gz +sha256 1ca3e8f71b7de618968e7ea9fe47822d9e704dc476aef8544033abedec355225 COPYING diff --git a/package/drbd-utils/drbd-utils.mk b/package/drbd-utils/drbd-utils.mk index bb28729b40..a24cc4ade6 100644 --- a/package/drbd-utils/drbd-utils.mk +++ b/package/drbd-utils/drbd-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -DRBD_UTILS_VERSION = 9.2.0 +DRBD_UTILS_VERSION = 9.12.0 DRBD_UTILS_SITE = http://www.linbit.com/downloads/drbd/utils DRBD_UTILS_LICENSE = GPL-2.0+ DRBD_UTILS_LICENSE_FILES = COPYING diff --git a/package/dropbear/0001-only-advertise-single-server-ecdsa-key-when-R-is-used.patch b/package/dropbear/0001-only-advertise-single-server-ecdsa-key-when-R-is-used.patch deleted file mode 100644 index 1467e3bc2d..0000000000 --- a/package/dropbear/0001-only-advertise-single-server-ecdsa-key-when-R-is-used.patch +++ /dev/null @@ -1,113 +0,0 @@ -# HG changeset patch -# User Matt Johnston -# Date 1520519133 -28800 -# Node ID 0dc3103a5900971d1d06d9101e062ddbd1112436 -# Parent 0f149d63068d90705db7fb52c8dea15ff32eedd7 -Only advertise a single server ecdsa key when -R (generate as required) is -specified. Fixes -R now that default ecdsa key size has changed. - -Upstream-URL: https://secure.ucc.asn.au/hg/dropbear/rev/0dc3103a5900 -Signed-off-by: Peter Korsgaard -diff -r 0f149d63068d -r 0dc3103a5900 svr-runopts.c ---- a/svr-runopts.c Thu Mar 08 22:22:11 2018 +0800 -+++ b/svr-runopts.c Thu Mar 08 22:25:33 2018 +0800 -@@ -526,8 +526,10 @@ - - void load_all_hostkeys() { - int i; -- int disable_unset_keys = 1; - int any_keys = 0; -+#ifdef DROPBEAR_ECDSA -+ int loaded_any_ecdsa = 0; -+#endif - - svr_opts.hostkey = new_sign_key(); - -@@ -552,14 +554,8 @@ - #endif - } - --#if DROPBEAR_DELAY_HOSTKEY -- if (svr_opts.delay_hostkey) { -- disable_unset_keys = 0; -- } --#endif -- - #if DROPBEAR_RSA -- if (disable_unset_keys && !svr_opts.hostkey->rsakey) { -+ if (!svr_opts.delay_hostkey && !svr_opts.hostkey->rsakey) { - disablekey(DROPBEAR_SIGNKEY_RSA); - } else { - any_keys = 1; -@@ -567,39 +563,54 @@ - #endif - - #if DROPBEAR_DSS -- if (disable_unset_keys && !svr_opts.hostkey->dsskey) { -+ if (!svr_opts.delay_hostkey && !svr_opts.hostkey->dsskey) { - disablekey(DROPBEAR_SIGNKEY_DSS); - } else { - any_keys = 1; - } - #endif - -+#if DROPBEAR_ECDSA -+ /* We want to advertise a single ecdsa algorithm size. -+ - If there is a ecdsa hostkey at startup we choose that that size. -+ - If we generate at runtime we choose the default ecdsa size. -+ - Otherwise no ecdsa keys will be advertised */ - --#if DROPBEAR_ECDSA -+ /* check if any keys were loaded at startup */ -+ loaded_any_ecdsa = -+ 0 - #if DROPBEAR_ECC_256 -- if ((disable_unset_keys || ECDSA_DEFAULT_SIZE != 256) -- && !svr_opts.hostkey->ecckey256) { -+ || svr_opts.hostkey->ecckey256 -+#endif -+#if DROPBEAR_ECC_384 -+ || svr_opts.hostkey->ecckey384 -+#endif -+#if DROPBEAR_ECC_521 -+ || svr_opts.hostkey->ecckey521 -+#endif -+ ; -+ any_keys |= loaded_any_ecdsa; -+ -+ /* Or an ecdsa key could be generated at runtime */ -+ any_keys |= svr_opts.delay_hostkey; -+ -+ /* At most one ecdsa key size will be left enabled */ -+#if DROPBEAR_ECC_256 -+ if (!svr_opts.hostkey->ecckey256 -+ && (!svr_opts.delay_hostkey || loaded_any_ecdsa || ECDSA_DEFAULT_SIZE != 256 )) { - disablekey(DROPBEAR_SIGNKEY_ECDSA_NISTP256); -- } else { -- any_keys = 1; - } - #endif -- - #if DROPBEAR_ECC_384 -- if ((disable_unset_keys || ECDSA_DEFAULT_SIZE != 384) -- && !svr_opts.hostkey->ecckey384) { -+ if (!svr_opts.hostkey->ecckey384 -+ && (!svr_opts.delay_hostkey || loaded_any_ecdsa || ECDSA_DEFAULT_SIZE != 384 )) { - disablekey(DROPBEAR_SIGNKEY_ECDSA_NISTP384); -- } else { -- any_keys = 1; - } - #endif -- - #if DROPBEAR_ECC_521 -- if ((disable_unset_keys || ECDSA_DEFAULT_SIZE != 521) -- && !svr_opts.hostkey->ecckey521) { -+ if (!svr_opts.hostkey->ecckey521 -+ && (!svr_opts.delay_hostkey || loaded_any_ecdsa || ECDSA_DEFAULT_SIZE != 521 )) { - disablekey(DROPBEAR_SIGNKEY_ECDSA_NISTP521); -- } else { -- any_keys = 1; - } - #endif - #endif /* DROPBEAR_ECDSA */ - diff --git a/package/dropbear/0002-Wait-to-fail-invalid-usernames.patch b/package/dropbear/0002-Wait-to-fail-invalid-usernames.patch deleted file mode 100644 index 958ac9921e..0000000000 --- a/package/dropbear/0002-Wait-to-fail-invalid-usernames.patch +++ /dev/null @@ -1,236 +0,0 @@ -From 52adbb34c32d3e2e1bcdb941e20a6f81138b8248 Mon Sep 17 00:00:00 2001 -From: Matt Johnston -Date: Thu, 23 Aug 2018 23:43:12 +0800 -Subject: [PATCH] Wait to fail invalid usernames - -[hg: https://secure.ucc.asn.au/hg/dropbear/rev/5d2d1021ca00] -Signed-off-by: Peter Korsgaard ---- - auth.h | 6 +++--- - svr-auth.c | 19 +++++-------------- - svr-authpam.c | 26 ++++++++++++++++++++++---- - svr-authpasswd.c | 27 ++++++++++++++------------- - svr-authpubkey.c | 11 ++++++++++- - 5 files changed, 54 insertions(+), 35 deletions(-) - -diff --git a/auth.h b/auth.h -index da498f5..98f5468 100644 ---- a/auth.h -+++ b/auth.h -@@ -37,9 +37,9 @@ void recv_msg_userauth_request(void); - void send_msg_userauth_failure(int partial, int incrfail); - void send_msg_userauth_success(void); - void send_msg_userauth_banner(const buffer *msg); --void svr_auth_password(void); --void svr_auth_pubkey(void); --void svr_auth_pam(void); -+void svr_auth_password(int valid_user); -+void svr_auth_pubkey(int valid_user); -+void svr_auth_pam(int valid_user); - - #if DROPBEAR_SVR_PUBKEY_OPTIONS_BUILT - int svr_pubkey_allows_agentfwd(void); -diff --git a/svr-auth.c b/svr-auth.c -index c19c090..edde86b 100644 ---- a/svr-auth.c -+++ b/svr-auth.c -@@ -149,10 +149,8 @@ void recv_msg_userauth_request() { - if (methodlen == AUTH_METHOD_PASSWORD_LEN && - strncmp(methodname, AUTH_METHOD_PASSWORD, - AUTH_METHOD_PASSWORD_LEN) == 0) { -- if (valid_user) { -- svr_auth_password(); -- goto out; -- } -+ svr_auth_password(valid_user); -+ goto out; - } - } - #endif -@@ -164,10 +162,8 @@ void recv_msg_userauth_request() { - if (methodlen == AUTH_METHOD_PASSWORD_LEN && - strncmp(methodname, AUTH_METHOD_PASSWORD, - AUTH_METHOD_PASSWORD_LEN) == 0) { -- if (valid_user) { -- svr_auth_pam(); -- goto out; -- } -+ svr_auth_pam(valid_user); -+ goto out; - } - } - #endif -@@ -177,12 +173,7 @@ void recv_msg_userauth_request() { - if (methodlen == AUTH_METHOD_PUBKEY_LEN && - strncmp(methodname, AUTH_METHOD_PUBKEY, - AUTH_METHOD_PUBKEY_LEN) == 0) { -- if (valid_user) { -- svr_auth_pubkey(); -- } else { -- /* pubkey has no failure delay */ -- send_msg_userauth_failure(0, 0); -- } -+ svr_auth_pubkey(valid_user); - goto out; - } - #endif -diff --git a/svr-authpam.c b/svr-authpam.c -index 05e4f3e..d201bc9 100644 ---- a/svr-authpam.c -+++ b/svr-authpam.c -@@ -178,13 +178,14 @@ pamConvFunc(int num_msg, - * Keyboard interactive would be a lot nicer, but since PAM is synchronous, it - * gets very messy trying to send the interactive challenges, and read the - * interactive responses, over the network. */ --void svr_auth_pam() { -+void svr_auth_pam(int valid_user) { - - struct UserDataS userData = {NULL, NULL}; - struct pam_conv pamConv = { - pamConvFunc, - &userData /* submitted to pamvConvFunc as appdata_ptr */ - }; -+ const char* printable_user = NULL; - - pam_handle_t* pamHandlep = NULL; - -@@ -204,12 +205,23 @@ void svr_auth_pam() { - - password = buf_getstring(ses.payload, &passwordlen); - -+ /* We run the PAM conversation regardless of whether the username is valid -+ in case the conversation function has an inherent delay. -+ Use ses.authstate.username rather than ses.authstate.pw_name. -+ After PAM succeeds we then check the valid_user flag too */ -+ - /* used to pass data to the PAM conversation function - don't bother with - * strdup() etc since these are touched only by our own conversation - * function (above) which takes care of it */ -- userData.user = ses.authstate.pw_name; -+ userData.user = ses.authstate.username; - userData.passwd = password; - -+ if (ses.authstate.pw_name) { -+ printable_user = ses.authstate.pw_name; -+ } else { -+ printable_user = ""; -+ } -+ - /* Init pam */ - if ((rc = pam_start("sshd", NULL, &pamConv, &pamHandlep)) != PAM_SUCCESS) { - dropbear_log(LOG_WARNING, "pam_start() failed, rc=%d, %s", -@@ -242,7 +254,7 @@ void svr_auth_pam() { - rc, pam_strerror(pamHandlep, rc)); - dropbear_log(LOG_WARNING, - "Bad PAM password attempt for '%s' from %s", -- ses.authstate.pw_name, -+ printable_user, - svr_ses.addrstring); - send_msg_userauth_failure(0, 1); - goto cleanup; -@@ -253,12 +265,18 @@ void svr_auth_pam() { - rc, pam_strerror(pamHandlep, rc)); - dropbear_log(LOG_WARNING, - "Bad PAM password attempt for '%s' from %s", -- ses.authstate.pw_name, -+ printable_user, - svr_ses.addrstring); - send_msg_userauth_failure(0, 1); - goto cleanup; - } - -+ if (!valid_user) { -+ /* PAM auth succeeded but the username isn't allowed in for another reason -+ (checkusername() failed) */ -+ send_msg_userauth_failure(0, 1); -+ } -+ - /* successful authentication */ - dropbear_log(LOG_NOTICE, "PAM password auth succeeded for '%s' from %s", - ses.authstate.pw_name, -diff --git a/svr-authpasswd.c b/svr-authpasswd.c -index bdee2aa..69c7d8a 100644 ---- a/svr-authpasswd.c -+++ b/svr-authpasswd.c -@@ -48,22 +48,14 @@ static int constant_time_strcmp(const char* a, const char* b) { - - /* Process a password auth request, sending success or failure messages as - * appropriate */ --void svr_auth_password() { -+void svr_auth_password(int valid_user) { - - char * passwdcrypt = NULL; /* the crypt from /etc/passwd or /etc/shadow */ - char * testcrypt = NULL; /* crypt generated from the user's password sent */ -- char * password; -+ char * password = NULL; - unsigned int passwordlen; -- - unsigned int changepw; - -- passwdcrypt = ses.authstate.pw_passwd; -- --#ifdef DEBUG_HACKCRYPT -- /* debugging crypt for non-root testing with shadows */ -- passwdcrypt = DEBUG_HACKCRYPT; --#endif -- - /* check if client wants to change password */ - changepw = buf_getbool(ses.payload); - if (changepw) { -@@ -73,12 +65,21 @@ void svr_auth_password() { - } - - password = buf_getstring(ses.payload, &passwordlen); -- -- /* the first bytes of passwdcrypt are the salt */ -- testcrypt = crypt(password, passwdcrypt); -+ if (valid_user) { -+ /* the first bytes of passwdcrypt are the salt */ -+ passwdcrypt = ses.authstate.pw_passwd; -+ testcrypt = crypt(password, passwdcrypt); -+ } - m_burn(password, passwordlen); - m_free(password); - -+ /* After we have got the payload contents we can exit if the username -+ is invalid. Invalid users have already been logged. */ -+ if (!valid_user) { -+ send_msg_userauth_failure(0, 1); -+ return; -+ } -+ - if (testcrypt == NULL) { - /* crypt() with an invalid salt like "!!" */ - dropbear_log(LOG_WARNING, "User account '%s' is locked", -diff --git a/svr-authpubkey.c b/svr-authpubkey.c -index aa6087c..ff481c8 100644 ---- a/svr-authpubkey.c -+++ b/svr-authpubkey.c -@@ -79,7 +79,7 @@ static int checkfileperm(char * filename); - - /* process a pubkey auth request, sending success or failure message as - * appropriate */ --void svr_auth_pubkey() { -+void svr_auth_pubkey(int valid_user) { - - unsigned char testkey; /* whether we're just checking if a key is usable */ - char* algo = NULL; /* pubkey algo */ -@@ -102,6 +102,15 @@ void svr_auth_pubkey() { - keybloblen = buf_getint(ses.payload); - keyblob = buf_getptr(ses.payload, keybloblen); - -+ if (!valid_user) { -+ /* Return failure once we have read the contents of the packet -+ required to validate a public key. -+ Avoids blind user enumeration though it isn't possible to prevent -+ testing for user existence if the public key is known */ -+ send_msg_userauth_failure(0, 0); -+ goto out; -+ } -+ - /* check if the key is valid */ - if (checkpubkey(algo, algolen, keyblob, keybloblen) == DROPBEAR_FAILURE) { - send_msg_userauth_failure(0, 0); --- -2.11.0 - diff --git a/package/dropbear/Config.in b/package/dropbear/Config.in index 62f77bad9d..e14a670c19 100644 --- a/package/dropbear/Config.in +++ b/package/dropbear/Config.in @@ -66,4 +66,11 @@ config BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO DSA public keys Diffie-Hellman Group1 key exchange +config BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE + string "path to custom localoptions.h definitions file" + help + Path to a file whose contents will be appended to Dropbear + localoptions.h. It can be used to tweak the Dropbear + configuration. + endif diff --git a/package/dropbear/dropbear.hash b/package/dropbear/dropbear.hash index ef2011d907..aa0e80a20a 100644 --- a/package/dropbear/dropbear.hash +++ b/package/dropbear/dropbear.hash @@ -1,2 +1,5 @@ # From https://matt.ucc.asn.au/dropbear/releases/SHA256SUM.asc -sha256 f2fb9167eca8cf93456a5fc1d4faf709902a3ab70dd44e352f3acbc3ffdaea65 dropbear-2018.76.tar.bz2 +sha256 525965971272270995364a0eb01f35180d793182e63dd0b0c3eb0292291644a4 dropbear-2019.78.tar.bz2 + +# License file, locally computed +sha256 cfa32d49e9022265375e533a4a5ef9e37d4aaa604119d612c46816aa1e59fe52 LICENSE diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk index a5a8243bd4..1070a410b9 100644 --- a/package/dropbear/dropbear.mk +++ b/package/dropbear/dropbear.mk @@ -4,10 +4,10 @@ # ################################################################################ -DROPBEAR_VERSION = 2018.76 +DROPBEAR_VERSION = 2019.78 DROPBEAR_SITE = https://matt.ucc.asn.au/dropbear/releases DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2 -DROPBEAR_LICENSE = MIT, BSD-2-Clause-like, BSD-2-Clause +DROPBEAR_LICENSE = MIT, BSD-2-Clause, BSD-3-Clause DROPBEAR_LICENSE_FILES = LICENSE DROPBEAR_TARGET_BINS = dropbearkey dropbearconvert scp DROPBEAR_PROGRAMS = dropbear $(DROPBEAR_TARGET_BINS) @@ -56,6 +56,7 @@ endef DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_SVR_PASSWORD_AUTH endif +ifneq ($(BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO),y) define DROPBEAR_DISABLE_LEGACY_CRYPTO echo '#define DROPBEAR_3DES 0' >> $(@D)/localoptions.h echo '#define DROPBEAR_ENABLE_CBC_MODE 0' >> $(@D)/localoptions.h @@ -63,36 +64,37 @@ define DROPBEAR_DISABLE_LEGACY_CRYPTO echo '#define DROPBEAR_DSS 0' >> $(@D)/localoptions.h echo '#define DROPBEAR_DH_GROUP1 0' >> $(@D)/localoptions.h endef -ifneq ($(BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO),y) DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_DISABLE_LEGACY_CRYPTO endif +ifeq ($(BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS),) define DROPBEAR_ENABLE_REVERSE_DNS echo '#define DO_HOST_LOOKUP 1' >> $(@D)/localoptions.h endef +DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_ENABLE_REVERSE_DNS +endif +ifeq ($(BR2_PACKAGE_DROPBEAR_SMALL),y) +DROPBEAR_CONF_OPTS += --disable-zlib --enable-bundled-libtom +else define DROPBEAR_BUILD_FEATURED echo '#define DROPBEAR_SMALL_CODE 0' >> $(@D)/localoptions.h echo '#define DROPBEAR_TWOFISH128 1' >> $(@D)/localoptions.h echo '#define DROPBEAR_TWOFISH256 1' >> $(@D)/localoptions.h endef - -define DROPBEAR_DISABLE_STANDALONE - echo '#define NON_INETD_MODE 0' >> $(@D)/localoptions.h -endef +DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_BUILD_FEATURED +DROPBEAR_DEPENDENCIES += zlib libtomcrypt +DROPBEAR_CONF_OPTS += --disable-bundled-libtom +endif 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 - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -fs ../../../../usr/lib/systemd/system/dropbear.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dropbear.service endef ifeq ($(BR2_USE_MMU),y) @@ -101,21 +103,12 @@ define DROPBEAR_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S50dropbear endef else +define DROPBEAR_DISABLE_STANDALONE + echo '#define NON_INETD_MODE 0' >> $(@D)/localoptions.h +endef DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_DISABLE_STANDALONE endif -ifeq ($(BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS),) -DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_ENABLE_REVERSE_DNS -endif - -ifeq ($(BR2_PACKAGE_DROPBEAR_SMALL),y) -DROPBEAR_CONF_OPTS += --disable-zlib --enable-bundled-libtom -else -DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_BUILD_FEATURED -DROPBEAR_DEPENDENCIES += zlib libtomcrypt -DROPBEAR_CONF_OPTS += --disable-bundled-libtom -endif - ifneq ($(BR2_PACKAGE_DROPBEAR_WTMP),y) DROPBEAR_CONF_OPTS += --disable-wtmp endif @@ -124,6 +117,14 @@ ifneq ($(BR2_PACKAGE_DROPBEAR_LASTLOG),y) DROPBEAR_CONF_OPTS += --disable-lastlog endif +DROPBEAR_LOCALOPTIONS_FILE = $(call qstrip,$(BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE)) +ifneq ($(DROPBEAR_LOCALOPTIONS_FILE),) +define DROPBEAR_APPEND_LOCALOPTIONS_FILE + cat $(DROPBEAR_LOCALOPTIONS_FILE) >> $(@D)/localoptions.h +endef +DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_APPEND_LOCALOPTIONS_FILE +endif + define DROPBEAR_INSTALL_TARGET_CMDS $(INSTALL) -m 755 $(@D)/dropbearmulti $(TARGET_DIR)/usr/sbin/dropbear for f in $(DROPBEAR_TARGET_BINS); do \ diff --git a/package/dropwatch/0001-Fix-build-on-32-bit-systems.patch b/package/dropwatch/0001-Fix-build-on-32-bit-systems.patch new file mode 100644 index 0000000000..355a01c99f --- /dev/null +++ b/package/dropwatch/0001-Fix-build-on-32-bit-systems.patch @@ -0,0 +1,87 @@ +From 3004f23d38400cd4a8619bcacd55a625d3bd7e1f Mon Sep 17 00:00:00 2001 +From: Alexander Dahl +Date: Fri, 13 Mar 2020 13:20:27 +0100 +Subject: [PATCH] Fix build on 32-bit systems +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Because -Werror is set, some printf statements caused build errors on +32-bit systems when printing uint64_t. This can be handled in a portable +way by using the macros from inttypes.h … + +Fixes: #12 +Signed-off-by: Alexander Dahl +--- +PR upstream: https://github.com/nhorman/dropwatch/pull/24 +--- + src/dwdump.c | 3 ++- + src/main.c | 9 +++++---- + 2 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/src/dwdump.c b/src/dwdump.c +index 0c3ba6f..0ea9fd0 100644 +--- a/src/dwdump.c ++++ b/src/dwdump.c +@@ -3,6 +3,7 @@ + */ + + #include ++#include + #include + #include + #include +@@ -246,7 +247,7 @@ static void dwdump_nested_stats_print(struct nlattr *attr) + return; + + if (attrs[NET_DM_ATTR_STATS_DROPPED]) +- printf("Tail dropped: %lu\n", ++ printf("Tail dropped: %" PRIu64 "\n", + nla_get_u64(attrs[NET_DM_ATTR_STATS_DROPPED])); + } + +diff --git a/src/main.c b/src/main.c +index 1a1515c..bd87085 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -486,9 +487,9 @@ void handle_dm_packet_alert_msg(struct netlink_message *msg, int err) + goto out_free; + + if (attrs[NET_DM_ATTR_PC] && attrs[NET_DM_ATTR_SYMBOL]) +- printf("drop at: %s (%p)\n", ++ printf("drop at: %s (0x%" PRIx64 ")\n", + nla_get_string(attrs[NET_DM_ATTR_SYMBOL]), +- (void *) nla_get_u64(attrs[NET_DM_ATTR_PC])); ++ nla_get_u64(attrs[NET_DM_ATTR_PC])); + else if (attrs[NET_DM_ATTR_HW_TRAP_GROUP_NAME] && + attrs[NET_DM_ATTR_HW_TRAP_NAME]) + printf("drop at: %s (%s)\n", +@@ -524,7 +525,7 @@ void handle_dm_packet_alert_msg(struct netlink_message *msg, int err) + + tstr = asctime(tm); + tstr[strlen(tstr) - 1] = 0; +- printf("timestamp: %s %09ld nsec\n", tstr, ts % 1000000000); ++ printf("timestamp: %s %09" PRId64 " nsec\n", tstr, ts % 1000000000); + } + + if (attrs[NET_DM_ATTR_PROTO]) +@@ -599,7 +600,7 @@ void print_nested_stats(struct nlattr *attr) + return; + + if (attrs[NET_DM_ATTR_STATS_DROPPED]) +- printf("Tail dropped: %lu\n", ++ printf("Tail dropped: %" PRIu64 "\n", + nla_get_u64(attrs[NET_DM_ATTR_STATS_DROPPED])); + } + +-- +2.20.1 + diff --git a/package/dropwatch/0001-binutils-2.23.1.patch b/package/dropwatch/0001-binutils-2.23.1.patch deleted file mode 100644 index f9f090c055..0000000000 --- a/package/dropwatch/0001-binutils-2.23.1.patch +++ /dev/null @@ -1,92 +0,0 @@ -From c89cc908ba7f9f41aba4f61f58103d0fc64fa19f Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Fri, 16 Jun 2017 08:50:03 +0200 -Subject: [PATCH] Fix for binutils 2.23.1 - -libbfd from binutils 2.23.1+ requires PACKAGE* definitions from autoconf. -Patch from https://fedorahosted.org/dropwatch/ticket/5 -Upstream status: new. - -Signed-off-by: Gustavo Zacarias ---- - src/lookup.c | 2 +- - src/lookup.h | 3 +++ - src/lookup_bfd.c | 2 +- - src/lookup_kas.c | 2 +- - 4 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/src/lookup.c b/src/lookup.c -index ba54991..809981b 100644 ---- a/src/lookup.c -+++ b/src/lookup.c -@@ -27,13 +27,13 @@ - #include - #include - #include --#include - #include - #include - #include - #include - - #include "lookup.h" -+#include - - extern struct lookup_methods bfd_methods; - extern struct lookup_methods kallsym_methods; -diff --git a/src/lookup.h b/src/lookup.h -index e6568d8..47a7b56 100644 ---- a/src/lookup.h -+++ b/src/lookup.h -@@ -28,6 +28,9 @@ - #include - #include - -+// satisfy PR 14072 in bfd.h -+#define PACKAGE 1 -+#define PACKAGE_VERSION 1 - - /* - * Initalization routine -diff --git a/src/lookup_bfd.c b/src/lookup_bfd.c -index cc7010b..271d426 100644 ---- a/src/lookup_bfd.c -+++ b/src/lookup_bfd.c -@@ -25,13 +25,13 @@ - #include - #include - #include --#include - #include - #include - #include - #include - - #include "lookup.h" -+#include - - - static int lookup_bfd_init(void) -diff --git a/src/lookup_kas.c b/src/lookup_kas.c -index 16e639f..556cb62 100644 ---- a/src/lookup_kas.c -+++ b/src/lookup_kas.c -@@ -25,7 +25,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -33,6 +32,7 @@ - #include - - #include "lookup.h" -+#include - - struct symbol_entry { - char *sym_name; --- -2.1.4 - diff --git a/package/dropwatch/0002-remove-werror.patch b/package/dropwatch/0002-remove-werror.patch deleted file mode 100644 index 4b6c989364..0000000000 --- a/package/dropwatch/0002-remove-werror.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 2462baf55939ee53bb28ff5f9474761f2a888add Mon Sep 17 00:00:00 2001 -From: Markos Chandras -Date: Fri, 16 Jun 2017 08:53:31 +0200 -Subject: [PATCH] remove werror - --Werror shouldn't be used in released code since it can -cause random build failures on moderate warnings. It also -depends on the used toolchain since different toolchains may -or may not print the same warnings. - -Signed-off-by: Markos Chandras ---- - src/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Makefile b/src/Makefile -index 5bc6aaa..527c1da 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -1,7 +1,7 @@ - all: dropwatch - - CPPFLAGS += -D_GNU_SOURCE --CFLAGS += -g -Wall -Werror $(shell pkg-config --cflags libnl-3.0) -+CFLAGS += -g -Wall $(shell pkg-config --cflags libnl-3.0) - LDLIBS += -lbfd -lreadline -lnl-3 -lnl-genl-3 - - OBJFILES := main.o lookup.o\ --- -2.1.4 - diff --git a/package/dropwatch/Config.in b/package/dropwatch/Config.in index f470f1b562..8dfb4ace56 100644 --- a/package/dropwatch/Config.in +++ b/package/dropwatch/Config.in @@ -1,17 +1,14 @@ config BR2_PACKAGE_DROPWATCH bool "dropwatch" - depends on !BR2_nios2 # binutils - depends on BR2_USE_WCHAR # binutils depends on BR2_TOOLCHAIN_HAS_THREADS # libnl - select BR2_PACKAGE_BINUTILS select BR2_PACKAGE_READLINE select BR2_PACKAGE_LIBNL + select BR2_PACKAGE_LIBPCAP help Dropwatch is an interactive utility for monitoring and recording packets that are dropped by the kernel - http://git.infradead.org/users/nhorman/dropwatch.git + https://github.com/nhorman/dropwatch -comment "dropwatch needs a toolchain w/ threads, wchar" - depends on !BR2_nios2 - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR +comment "dropwatch needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/dropwatch/dropwatch.hash b/package/dropwatch/dropwatch.hash index 585b035d0f..e4b687ae75 100644 --- a/package/dropwatch/dropwatch.hash +++ b/package/dropwatch/dropwatch.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 4937007da3d0071c9a37ee0360cfd1657b342fd2a327d83ba992fbf3e0ea51b5 dropwatch-7c33d8a8ed105b07a46b55d71d93b36ed34c16db.tar.gz +sha256 a2049a68d2cc2f81df977c7a732f50de3ec71283bc7bd94389ba33574af9aaa6 dropwatch-1.5.2.tar.gz +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/dropwatch/dropwatch.mk b/package/dropwatch/dropwatch.mk index 692a6e8c40..4cebe041db 100644 --- a/package/dropwatch/dropwatch.mk +++ b/package/dropwatch/dropwatch.mk @@ -4,27 +4,15 @@ # ################################################################################ -DROPWATCH_VERSION = 7c33d8a8ed105b07a46b55d71d93b36ed34c16db -DROPWATCH_SITE = git://git.infradead.org/users/nhorman/dropwatch.git -DROPWATCH_DEPENDENCIES = binutils libnl readline host-pkgconf \ - $(TARGET_NLS_DEPENDENCIES) -DROPWATCH_LICENSE = GPL-2.0 +DROPWATCH_VERSION = 1.5.2 +DROPWATCH_SITE = $(call github,nhorman,dropwatch,v$(DROPWATCH_VERSION)) +DROPWATCH_DEPENDENCIES = libnl readline libpcap host-pkgconf $(TARGET_NLS_DEPENDENCIES) +DROPWATCH_LICENSE = GPL-2.0+ DROPWATCH_LICENSE_FILES = COPYING +# From git +DROPWATCH_AUTORECONF = YES -# libbfd may be linked to libintl -# Ugly... but LDLIBS are hardcoded anyway -DROPWATCH_LDLIBS = \ - -lbfd -lreadline -lnl-3 -lnl-genl-3 -lpthread -lncurses -lm \ - $(TARGET_NLS_LIBS) +DROPWATCH_CONF_OPTS = --without-bfd +DROPWATCH_MAKE_OPTS = LIBS=$(TARGET_NLS_LIBS) -define DROPWATCH_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - LDLIBS="$(DROPWATCH_LDLIBS)" build -endef - -define DROPWATCH_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/src/dropwatch \ - $(TARGET_DIR)/usr/bin/dropwatch -endef - -$(eval $(generic-package)) +$(eval $(autotools-package)) diff --git a/package/dstat/Config.in b/package/dstat/Config.in index 110aee844b..647a7033c6 100644 --- a/package/dstat/Config.in +++ b/package/dstat/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_DSTAT depends on BR2_USE_MMU # python depends on BR2_TOOLCHAIN_HAS_THREADS # python depends on !BR2_STATIC_LIBS # python - select BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON help Dstat, written in Python, is a versatile replacement for vmstat, iostat, netstat and ifstat. Dstat overcomes some of diff --git a/package/dstat/dstat.hash b/package/dstat/dstat.hash index a4dbcc9819..603bd506fd 100644 --- a/package/dstat/dstat.hash +++ b/package/dstat/dstat.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 46e63821857b69fbc60cb2c7d893ccdd6f31cd9ef24b8bb0b68951e1c7374898 dstat-0.7.3.tar.gz +sha256 4fbd58f3461c86d09a3ab97472aa204de37aa33d31a0493a3e5ed86a2045abea dstat-0.7.4.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/dstat/dstat.mk b/package/dstat/dstat.mk index 9c4b44576b..6f01a37131 100644 --- a/package/dstat/dstat.mk +++ b/package/dstat/dstat.mk @@ -4,8 +4,8 @@ # ################################################################################ -DSTAT_VERSION = 0.7.3 -DSTAT_SITE = $(call github,dagwieers,dstat,$(DSTAT_VERSION)) +DSTAT_VERSION = 0.7.4 +DSTAT_SITE = $(call github,dagwieers,dstat,v$(DSTAT_VERSION)) DSTAT_LICENSE = GPL-2.0 DSTAT_LICENSE_FILES = COPYING 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 deleted file mode 100644 index 8c2f585946..0000000000 --- a/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch +++ /dev/null @@ -1,75 +0,0 @@ -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/dt-utils.hash b/package/dt-utils/dt-utils.hash index 5805adf361..3610fe164f 100644 --- a/package/dt-utils/dt-utils.hash +++ b/package/dt-utils/dt-utils.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d0f53c76bc9f821a6506c8db3b623922d82570a017a9a40ad118bd7c957672b6 dt-utils-v2018.05.0.tar.gz +sha256 61440ab222543268923175eb5c7425076d2b8bce4c1dfc177f2eb3873449af7c dt-utils-v2019.01.0.tar.gz sha256 a45932c79317d15116eadbf1c9c6fc59117ec3c4621db3a876066defa723963b COPYING diff --git a/package/dt-utils/dt-utils.mk b/package/dt-utils/dt-utils.mk index 3dbadc7b9e..25c287d434 100644 --- a/package/dt-utils/dt-utils.mk +++ b/package/dt-utils/dt-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -DT_UTILS_VERSION = v2018.05.0 +DT_UTILS_VERSION = v2019.01.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/dt/dt.hash b/package/dt/dt.hash index 7cd8c643e1..9c1102579d 100644 --- a/package/dt/dt.hash +++ b/package/dt/dt.hash @@ -1,5 +1,7 @@ # From http://pkgs.fedoraproject.org/repo/pkgs/dt/dt-source-v18.32.tar.gz # (directory name is md5 hash) md5 3054aeaaba047a1dbe90c2132a382ee2 dt-source-v18.32.tar.gz -# Calculated based on the hash above + +# Locally calculated sha256 10d164676e918a4d07f233bcd11e4cb6bfd1052c996182cd1827ccd0c063fcc6 dt-source-v18.32.tar.gz +sha256 49f47f20de4b44dc3505ed0cc55bfbfe0fc3e41956ab546f1eeedcf554def54c LICENSE diff --git a/package/dt/dt.mk b/package/dt/dt.mk index 8ec7788883..1963a7ecc5 100644 --- a/package/dt/dt.mk +++ b/package/dt/dt.mk @@ -4,9 +4,9 @@ # ################################################################################ -DT_VERSION = v18.32 +DT_VERSION = 18.32 DT_SITE = http://pkgs.fedoraproject.org/repo/pkgs/dt/$(DT_SOURCE)/3054aeaaba047a1dbe90c2132a382ee2 -DT_SOURCE = dt-source-$(DT_VERSION).tar.gz +DT_SOURCE = dt-source-v$(DT_VERSION).tar.gz DT_STRIP_COMPONENTS = 2 DT_LICENSE = ISC-like DT_LICENSE_FILES = LICENSE diff --git a/package/dtach/dtach.hash b/package/dtach/dtach.hash index c643264f84..1a97aa35ff 100644 --- a/package/dtach/dtach.hash +++ b/package/dtach/dtach.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 5f7e8c835ee49a9e6dcf89f4e8ccbe724b061c0fc8565b504dd8b3e67ab79f82 dtach-v0.9.tar.gz +sha256 5f7e8c835ee49a9e6dcf89f4e8ccbe724b061c0fc8565b504dd8b3e67ab79f82 dtach-0.9.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/dtach/dtach.mk b/package/dtach/dtach.mk index 571481cdda..3cbf37e257 100644 --- a/package/dtach/dtach.mk +++ b/package/dtach/dtach.mk @@ -4,8 +4,8 @@ # ################################################################################ -DTACH_VERSION = v0.9 -DTACH_SITE = $(call github,crigler,dtach,$(DTACH_VERSION)) +DTACH_VERSION = 0.9 +DTACH_SITE = $(call github,crigler,dtach,v$(DTACH_VERSION)) DTACH_LICENSE = GPL-2.0+ DTACH_LICENSE_FILES = COPYING diff --git a/package/dtc/0001-Fix-include-guards-for-older-kernel-u-boot-sources.patch b/package/dtc/0001-Fix-include-guards-for-older-kernel-u-boot-sources.patch new file mode 100644 index 0000000000..127114e866 --- /dev/null +++ b/package/dtc/0001-Fix-include-guards-for-older-kernel-u-boot-sources.patch @@ -0,0 +1,67 @@ +From 086283ed7f1886de05407bc75dd4c070c78a6f50 Mon Sep 17 00:00:00 2001 +From: Lothar Felten +Date: Mon, 8 Oct 2018 13:29:44 +0200 +Subject: [PATCH] Fix include guards for older kernel/u-boot sources + +Linux kernels before 4.17 and U-Boot versions before 2018.07 use libfdt +include guards with leading underscores. + +Those have been removed in dtc-1.4.7. + +This patch handles both include guard types and allows the compilation +of older Linux kernel and u-boot sources. + +Signed-off-by: Lothar Felten +[ThomasDS: also update fdt.h which has the same issue, seen on U-Boot +2011.03] +Signed-off-by: Thomas De Schampheleire +[SB: Updated to match context change in v1.5.1] +Signed-off-by: Sam Bobroff +--- + libfdt/fdt.h | 4 ++++ + libfdt/libfdt.h | 4 ++++ + libfdt/libfdt_env.h | 4 ++++ + 3 files changed, 12 insertions(+) + +diff --git a/libfdt/fdt.h b/libfdt/fdt.h +index f2e6880..0f1dc4d 100644 +--- a/libfdt/fdt.h ++++ b/libfdt/fdt.h +@@ -1,4 +1,8 @@ + /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */ ++#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 8037f39..7668432 100644 +--- a/libfdt/libfdt.h ++++ b/libfdt/libfdt.h +@@ -1,4 +1,8 @@ + /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */ ++#ifdef _LIBFDT_H ++#warning "Please consider updating your kernel and/or u-boot version" ++#define LIBFDT_H ++#endif + #ifndef LIBFDT_H + #define LIBFDT_H + /* +diff --git a/libfdt/libfdt_env.h b/libfdt/libfdt_env.h +index 73b6d40..b95a287 100644 +--- a/libfdt/libfdt_env.h ++++ b/libfdt/libfdt_env.h +@@ -1,4 +1,8 @@ + /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */ ++#ifdef _LIBFDT_ENV_H ++#warning "Please consider updating your kernel and/or u-boot version" ++#define LIBFDT_ENV_H ++#endif + #ifndef LIBFDT_ENV_H + #define LIBFDT_ENV_H + /* +-- +2.22.0.216.g00a2a96fc9 + diff --git a/package/dtc/0001-Kill-bogus-TYPE_BLOB-marker-type.patch b/package/dtc/0001-Kill-bogus-TYPE_BLOB-marker-type.patch deleted file mode 100644 index d9c660ef51..0000000000 --- a/package/dtc/0001-Kill-bogus-TYPE_BLOB-marker-type.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 9619c8619c37b9aea98100bcc15c51a5642e877e Mon Sep 17 00:00:00 2001 -From: Greg Kurz -Date: Thu, 30 Aug 2018 12:01:59 +0200 -Subject: [PATCH] Kill bogus TYPE_BLOB marker type - -Since commit 32b9c6130762 "Preserve datatype markers when emitting dts -format", we no longer try to guess the value type. Instead, we reuse -the type of the datatype markers when they are present, if the type -is either TYPE_UINT* or TYPE_STRING. - -This causes 'dtc -I fs' to crash: - -Starting program: /root/dtc -q -f -O dts -I fs /proc/device-tree -/dts-v1/; - -/ { - -Program received signal SIGSEGV, Segmentation fault. -__strlen_power8 () at ../sysdeps/powerpc/powerpc64/power8/strlen.S:47 -47 ld r12,0(r4) /* Load doubleword from memory. */ -(gdb) bt -#0 __strlen_power8 () at ../sysdeps/powerpc/powerpc64/power8/strlen.S:47 -#1 0x00007ffff7de3d10 in __GI__IO_fputs (str=, - fp=) at iofputs.c:33 -#2 0x000000001000c7a0 in write_propval (prop=0x100525e0, - f=0x7ffff7f718a0 <_IO_2_1_stdout_>) at treesource.c:245 - -The offending line is: - - fprintf(f, "%s", delim_start[emit_type]); - -where emit_type is TYPE_BLOB and: - -static const char *delim_start[] = { - [TYPE_UINT8] = "[", - [TYPE_UINT16] = "/bits/ 16 <", - [TYPE_UINT32] = "<", - [TYPE_UINT64] = "/bits/ 64 <", - [TYPE_STRING] = "", -}; - -/* Data blobs */ -enum markertype { - TYPE_NONE, - REF_PHANDLE, - REF_PATH, - LABEL, - TYPE_UINT8, - TYPE_UINT16, - TYPE_UINT32, - TYPE_UINT64, - TYPE_BLOB, - TYPE_STRING, -}; - -Because TYPE_BLOB < TYPE_STRING and delim_start[] is a static array, -delim_start[emit_type] is 0x0. The glibc usually prints out "(null)" -when one passes 0x0 to %s, but it seems to call fputs() internally if -the format is exactly "%s", hence the crash. - -TYPE_BLOB basically means the data comes from a file and we don't know -its type. We don't care for the former, and the latter is TYPE_NONE. - -So let's drop TYPE_BLOB completely and use TYPE_NONE instead when reading -the file. Then, try to guess the data type at emission time, like the -code already does for refs and labels. - -Instead of adding yet another check for TYPE_NONE, an helper is introduced -to check if the data marker has type information, ie, >= TYPE_UINT8. - -Fixes: 32b9c61307629ac76c6ac0bead6f926d579b3d2c -Suggested-by: David Gibson -Signed-off-by: Greg Kurz -Signed-off-by: David Gibson -Signed-off-by: Joel Stanley ---- - data.c | 2 +- - dtc.h | 1 - - treesource.c | 9 +++++++-- - 3 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/data.c b/data.c -index accdfaef6668..4a204145cc7b 100644 ---- a/data.c -+++ b/data.c -@@ -95,7 +95,7 @@ struct data data_copy_file(FILE *f, size_t maxlen) - { - struct data d = empty_data; - -- d = data_add_marker(d, TYPE_BLOB, NULL); -+ d = data_add_marker(d, TYPE_NONE, NULL); - while (!feof(f) && (d.len < maxlen)) { - size_t chunksize, ret; - -diff --git a/dtc.h b/dtc.h -index 303c2a6a73b7..51c03ef64dbe 100644 ---- a/dtc.h -+++ b/dtc.h -@@ -82,7 +82,6 @@ enum markertype { - TYPE_UINT16, - TYPE_UINT32, - TYPE_UINT64, -- TYPE_BLOB, - TYPE_STRING, - }; - extern const char *markername(enum markertype markertype); -diff --git a/treesource.c b/treesource.c -index f99544d72344..53e62036ad0e 100644 ---- a/treesource.c -+++ b/treesource.c -@@ -133,9 +133,14 @@ static void write_propval_int(FILE *f, const char *p, size_t len, size_t width) - } - } - -+static bool has_data_type_information(struct marker *m) -+{ -+ return m->type >= TYPE_UINT8; -+} -+ - static struct marker *next_type_marker(struct marker *m) - { -- while (m && (m->type == LABEL || m->type == REF_PHANDLE || m->type == REF_PATH)) -+ while (m && !has_data_type_information(m)) - m = m->next; - return m; - } -@@ -225,7 +230,7 @@ static void write_propval(FILE *f, struct property *prop) - size_t chunk_len; - const char *p = &prop->val.val[m->offset]; - -- if (m->type < TYPE_UINT8) -+ if (!has_data_type_information(m)) - continue; - - chunk_len = type_marker_length(m); --- -2.17.1 - diff --git a/package/dtc/0002-Fix-include-guards-for-older-kernel-u-boot-sources.patch b/package/dtc/0002-Fix-include-guards-for-older-kernel-u-boot-sources.patch deleted file mode 100644 index bff5f4c07a..0000000000 --- a/package/dtc/0002-Fix-include-guards-for-older-kernel-u-boot-sources.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 086283ed7f1886de05407bc75dd4c070c78a6f50 Mon Sep 17 00:00:00 2001 -From: Lothar Felten -Date: Mon, 8 Oct 2018 13:29:44 +0200 -Subject: [PATCH] Fix include guards for older kernel/u-boot sources - -Linux kernels before 4.17 and U-Boot versions before 2018.07 use libfdt -include guards with leading underscores. - -Those have been removed in dtc-1.4.7. - -This patch handles both include guard types and allows the compilation -of older Linux kernel and u-boot sources. - -Signed-off-by: Lothar Felten -[ThomasDS: also update fdt.h which has the same issue, seen on U-Boot -2011.03] -Signed-off-by: Thomas De Schampheleire ---- - libfdt/fdt.h | 4 ++++ - libfdt/libfdt.h | 4 ++++ - libfdt/libfdt_env.h | 4 ++++ - 3 files changed, 12 insertions(+) - -diff --git a/libfdt/fdt.h b/libfdt/fdt.h -index 74961f9..2904f48 100644 ---- a/libfdt/fdt.h -+++ b/libfdt/fdt.h -@@ -1,3 +1,7 @@ -+#ifdef _FDT_H -+#warning "Please consider updating your kernel and/or u-boot version" -+#define FDT_H -+#endif - #ifndef FDT_H - #define FDT_H - /* -diff --git a/libfdt/libfdt.h b/libfdt/libfdt.h -index 830b77e..bef4566 100644 ---- a/libfdt/libfdt.h -+++ b/libfdt/libfdt.h -@@ -1,3 +1,7 @@ -+#ifdef _LIBFDT_H -+#warning "Please consider updating your kernel and/or u-boot version" -+#define LIBFDT_H -+#endif - #ifndef LIBFDT_H - #define LIBFDT_H - /* -diff --git a/libfdt/libfdt_env.h b/libfdt/libfdt_env.h -index eb20538..6a61e6a 100644 ---- a/libfdt/libfdt_env.h -+++ b/libfdt/libfdt_env.h -@@ -1,3 +1,7 @@ -+#ifdef _LIBFDT_ENV_H -+#warning "Please consider updating your kernel and/or u-boot version" -+#define LIBFDT_ENV_H -+#endif - #ifndef LIBFDT_ENV_H - #define LIBFDT_ENV_H - /* --- -2.19.2 - diff --git a/package/dtc/0003-checks-fix-simple-bus-compatible-matching.patch b/package/dtc/0003-checks-fix-simple-bus-compatible-matching.patch deleted file mode 100644 index ab95214a53..0000000000 --- a/package/dtc/0003-checks-fix-simple-bus-compatible-matching.patch +++ /dev/null @@ -1,120 +0,0 @@ -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/dtc/dtc.hash b/package/dtc/dtc.hash index b402c2249b..902ce1baf9 100644 --- a/package/dtc/dtc.hash +++ b/package/dtc/dtc.hash @@ -1,2 +1,7 @@ # from https://www.kernel.org/pub/software/utils/dtc/sha256sums.asc -sha256 6643e8f00ff86350f465bb54b2185058b5b1b7bac01a0842c81a52b86589cde7 dtc-1.4.7.tar.xz +sha256 10503b0217e1b07933e29e8d347a00015b2431bea5f59afe0bed3af30340c82d dtc-1.6.0.tar.xz + +# Hash for license files +sha256 78e1e1ce5728a990d59c7de61d4741c49185d5129daf783b386380a214328d68 README.license +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 GPL +sha256 6313108c23efffa36948f8b2cff1560a5935373b527b0e1a837cc77e6ed1bacd BSD-2-Clause diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk index 7cb879bff4..956a60b29d 100644 --- a/package/dtc/dtc.mk +++ b/package/dtc/dtc.mk @@ -4,22 +4,34 @@ # ################################################################################ -DTC_VERSION = 1.4.7 +DTC_VERSION = 1.6.0 DTC_SOURCE = dtc-$(DTC_VERSION).tar.xz DTC_SITE = https://www.kernel.org/pub/software/utils/dtc DTC_LICENSE = GPL-2.0+ or BSD-2-Clause (library) -DTC_LICENSE_FILES = README.license GPL +DTC_LICENSE_FILES = README.license GPL BSD-2-Clause DTC_INSTALL_STAGING = YES -DTC_DEPENDENCIES = host-bison host-flex -HOST_DTC_DEPENDENCIES = host-bison host-flex +DTC_DEPENDENCIES = host-bison host-flex host-pkgconf +HOST_DTC_DEPENDENCIES = host-bison host-flex host-pkgconf DTC_MAKE_OPTS = \ PREFIX=/usr \ - NO_PYTHON=1 + NO_PYTHON=1 \ + NO_VALGRIND=1 +# For the host, we install headers in a special subdirectory to avoid +# conflicts with the in-kernel libfdt copy. HOST_DTC_MAKE_OPTS = \ PREFIX=$(HOST_DIR) \ - NO_PYTHON=1 + INCLUDEDIR=$(HOST_DIR)/include/libfdt \ + NO_PYTHON=1 \ + NO_VALGRIND=1 \ + NO_YAML=1 + +ifeq ($(BR2_PACKAGE_LIBYAML),y) +DTC_DEPENDENCIES += libyaml +else +DTC_MAKE_OPTS += NO_YAML=1 +endif define DTC_POST_INSTALL_TARGET_RM_DTDIFF rm -f $(TARGET_DIR)/usr/bin/dtdiff @@ -27,7 +39,7 @@ endef ifeq ($(BR2_PACKAGE_DTC_PROGRAMS),y) -DTC_LICENSE := $(DTC_LICENSE), GPL-2.0+ (programs) +DTC_LICENSE += , GPL-2.0+ (programs) DTC_INSTALL_GOAL = install ifeq ($(BR2_PACKAGE_BASH),) DTC_POST_INSTALL_TARGET_HOOKS += DTC_POST_INSTALL_TARGET_RM_DTDIFF @@ -40,7 +52,7 @@ DTC_INSTALL_GOAL = install-lib endif # $(BR2_PACKAGE_DTC_PROGRAMS) != y define DTC_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) CFLAGS="$(TARGET_CFLAGS) -fPIC" -C $(@D) $(DTC_MAKE_OPTS) + $(TARGET_CONFIGURE_OPTS) $(MAKE) EXTRA_CFLAGS="$(TARGET_CFLAGS) -fPIC" -C $(@D) $(DTC_MAKE_OPTS) endef # For staging, only the library is needed @@ -55,7 +67,7 @@ endef # host build define HOST_DTC_BUILD_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE) CFLAGS="$(HOST_CFLAGS) -fPIC" -C $(@D) $(HOST_DTC_MAKE_OPTS) + $(HOST_CONFIGURE_OPTS) $(MAKE) EXTRA_CFLAGS="$(HOST_CFLAGS) -fPIC" -C $(@D) $(HOST_DTC_MAKE_OPTS) endef define HOST_DTC_INSTALL_CMDS diff --git a/package/dtv-scan-tables/dtv-scan-tables.hash b/package/dtv-scan-tables/dtv-scan-tables.hash index a4606bbe00..73e0e7d19a 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 a9c9375a3d3087cf9ee47086c19fffe8e3bf52397928288d88cd7fa4d7f8944e dtv-scan-tables-59f4a9b1dfbd573bafe33d238a08da95e4f0263a.tar.gz +sha256 76cb6131df1b35ed71b0f6c87cfafc188d614cfbd9973e7832a65ba63e85c504 dtv-scan-tables-6d019038cd04e837d9dd58701202c15924c1c654.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 6477985881..5933f16776 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 = 59f4a9b1dfbd573bafe33d238a08da95e4f0263a +DTV_SCAN_TABLES_VERSION = 6d019038cd04e837d9dd58701202c15924c1c654 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/duktape.hash b/package/duktape/duktape.hash index 100af58d60..b50ae7329c 100644 --- a/package/duktape/duktape.hash +++ b/package/duktape/duktape.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 0df1c0a9d40bfae31733e5c44f0eabaeae59e0a2ebf7693ff68bbabd49aae331 duktape-v2.3.0.tar.gz -sha256 9aabee442709a6e7652348b9617ae26d26da6b270c1f4b6fce4a1e746acb3df0 LICENSE.txt +sha256 810e1dab50dfd3040cac4bb18b96d749a5fdebfd898a7bfe74512044c1a89880 duktape-2.5.0.tar.gz +sha256 5b42d02dbd084fd6d7e61d93f52e02b596f25400e54e0f86d5780045e5b754c8 LICENSE.txt diff --git a/package/duktape/duktape.mk b/package/duktape/duktape.mk index 97b51f94b1..0047571883 100644 --- a/package/duktape/duktape.mk +++ b/package/duktape/duktape.mk @@ -4,8 +4,8 @@ # ################################################################################ -DUKTAPE_VERSION = v2.3.0 -DUKTAPE_SITE = $(call github,svaarala,duktape-releases,$(DUKTAPE_VERSION)) +DUKTAPE_VERSION = 2.5.0 +DUKTAPE_SITE = $(call github,svaarala,duktape-releases,v$(DUKTAPE_VERSION)) DUKTAPE_LICENSE = MIT DUKTAPE_LICENSE_FILES = LICENSE.txt DUKTAPE_INSTALL_STAGING = YES diff --git a/package/duma/0004-Fix-build-with-latest-glibc.patch b/package/duma/0004-Fix-build-with-latest-glibc.patch new file mode 100644 index 0000000000..2d73d7ae57 --- /dev/null +++ b/package/duma/0004-Fix-build-with-latest-glibc.patch @@ -0,0 +1,22 @@ +Fix build with latest glibc + +Fixes: + - http://autobuild.buildroot.net/results/c7de1a1d01edced2098a804ad87dcb67b5dc6832 + +Signed-off-by: Fabrice Fontaine + +diff -durN duma_2_5_15.orig/print.c duma_2_5_15/print.c +--- duma_2_5_15.orig/print.c 2019-10-28 10:21:14.080149620 +0100 ++++ duma_2_5_15/print.c 2019-10-28 10:22:01.256151561 +0100 +@@ -326,9 +326,9 @@ + if(DUMA_OUTPUT_FILE != NULL) + { + #if defined(WIN32) && !defined(__CYGWIN__) +- fd = _open(DUMA_OUTPUT_FILE, _O_APPEND|_O_CREAT|_O_WRONLY); ++ fd = _open(DUMA_OUTPUT_FILE, _O_APPEND|_O_CREAT|_O_WRONLY, 0600); + #else +- fd = open(DUMA_OUTPUT_FILE, O_APPEND|O_CREAT|O_WRONLY); ++ fd = open(DUMA_OUTPUT_FILE, O_APPEND|O_CREAT|O_WRONLY, 0600); + #endif + if ( fd >= 0 ) + { diff --git a/package/duma/duma.hash b/package/duma/duma.hash index f664d4033b..ccf171a97c 100644 --- a/package/duma/duma.hash +++ b/package/duma/duma.hash @@ -1,2 +1,4 @@ # Locally computed: sha256 baaf794854e3093ad1bddadbfb8ad4b220a7117d70359ee216bd59e353734e17 duma_2_5_15.tar.gz +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING-GPL +sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING-LGPL diff --git a/package/dvb-apps/dvb-apps.hash b/package/dvb-apps/dvb-apps.hash new file mode 100644 index 0000000000..d394ced131 --- /dev/null +++ b/package/dvb-apps/dvb-apps.hash @@ -0,0 +1,6 @@ +# Locally computed: +sha256 926208b7e711b4bab1a909ff9bf4e6ae54acdd30a46f5d5bd700ecb088fe1f57 dvb-apps-3d43b280298c39a67d1d889e01e173f52c12da35.tar.gz + +# Hash for license files: +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 4fd46f32582c29007657e2daad8d0a6d954cf4e9d2e47bae8f8d8c32765fc987 COPYING.LGPL diff --git a/package/dvbsnoop/dvbsnoop.hash b/package/dvbsnoop/dvbsnoop.hash index 05939f9e31..0d88afe154 100644 --- a/package/dvbsnoop/dvbsnoop.hash +++ b/package/dvbsnoop/dvbsnoop.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 7658498b26a5d2a0242e81f0cfafa0e43a2bec56f8674e7ac197dfc310866ec6 dvbsnoop-1.4.50.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/dvdauthor/dvdauthor.hash b/package/dvdauthor/dvdauthor.hash index 36d5d0e686..833884aa9a 100644 --- a/package/dvdauthor/dvdauthor.hash +++ b/package/dvdauthor/dvdauthor.hash @@ -2,4 +2,5 @@ md5 1173dcb8d40e74fc90c0f3a25dbd642d dvdauthor-0.7.2.tar.gz sha1 0e605642140576bfb3e963414d77630d1c073a51 dvdauthor-0.7.2.tar.gz # Locally computed -sha256 3020a92de9f78eb36f48b6f22d5a001c47107826634a785a62dfcd080f612eb7 dvdauthor-0.7.2.tar.gz +sha256 3020a92de9f78eb36f48b6f22d5a001c47107826634a785a62dfcd080f612eb7 dvdauthor-0.7.2.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/dvdrw-tools/dvdrw-tools.hash b/package/dvdrw-tools/dvdrw-tools.hash index 17d48f1d1f..a5ed6ad521 100644 --- a/package/dvdrw-tools/dvdrw-tools.hash +++ b/package/dvdrw-tools/dvdrw-tools.hash @@ -1,2 +1,3 @@ # Locally computed using sha256sum -sha256 f8d60f822e914128bcbc5f64fbe3ed131cbff9045dca7e12c5b77b26edde72ca dvd+rw-tools-7.1.tar.gz +sha256 f8d60f822e914128bcbc5f64fbe3ed131cbff9045dca7e12c5b77b26edde72ca dvd+rw-tools-7.1.tar.gz +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad LICENSE diff --git a/package/e2fsprogs/e2fsprogs.hash b/package/e2fsprogs/e2fsprogs.hash index 7619e26275..b563af27f2 100644 --- a/package/e2fsprogs/e2fsprogs.hash +++ b/package/e2fsprogs/e2fsprogs.hash @@ -1,6 +1,6 @@ -# From https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.44.5/sha256sums.asc -sha256 ba5eb3069d69160d96818bb9700de9ab5a8458d9add1fd85d427c0000d34c5b9 e2fsprogs-1.44.5.tar.xz +# https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.45.6/sha256sums.asc +sha256 ffa7ae6954395abdc50d0f8605d8be84736465afc53b8938ef473fcf7ff44256 e2fsprogs-1.45.6.tar.xz # Locally calculated -sha256 5da5ef153e559c1d990d4c3eedbedd4442db892d37eae1f35fff069de8ec9020 NOTICE -sha256 032989b508f1a72ebee5b3417e55d06d473f9ee203e45ab11864a7e49cdec63d lib/ss/mit-sipb-copyright.h -sha256 47182fe6631a32f271a15bbe210751b3825b7199f588879aac7d4804fc8b4b8f lib/et/internal.h +sha256 5da5ef153e559c1d990d4c3eedbedd4442db892d37eae1f35fff069de8ec9020 NOTICE +sha256 032989b508f1a72ebee5b3417e55d06d473f9ee203e45ab11864a7e49cdec63d lib/ss/mit-sipb-copyright.h +sha256 47182fe6631a32f271a15bbe210751b3825b7199f588879aac7d4804fc8b4b8f lib/et/internal.h diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk index f5785ab4f2..f6642d8de1 100644 --- a/package/e2fsprogs/e2fsprogs.mk +++ b/package/e2fsprogs/e2fsprogs.mk @@ -4,7 +4,7 @@ # ################################################################################ -E2FSPROGS_VERSION = 1.44.5 +E2FSPROGS_VERSION = 1.45.6 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) @@ -28,7 +28,10 @@ HOST_E2FSPROGS_CONF_OPTS = \ --disable-libuuid \ --disable-testio-debug \ --enable-symlink-install \ - --enable-elf-shlibs + --enable-elf-shlibs \ + --with-crond-dir=no \ + --with-udev-rules-dir=no \ + --with-systemd-unit-dir=no # Set the binary directories to "/bin" and "/sbin", as busybox does, # so that we do not end up with two versions of e2fs tools. diff --git a/package/e2tools/e2tools.hash b/package/e2tools/e2tools.hash index 4cec81e942..a109ff1bda 100644 --- a/package/e2tools/e2tools.hash +++ b/package/e2tools/e2tools.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 37bbd705170dff80720d68916f8d90803d71987e1b60f7149a285a7fcd539214 e2tools-3158ef18a903ca4a98b8fa220c9fc5c133d8bdf6.tar.gz +sha256 1d06ca71f01483ad6d9a514e31466e7d2357b3465de2813d667a8b2f9638544e e2tools-0.0.16.4.tar.gz +sha256 0e79fd282723e1eb3f7381d41233a83ed20cf3e8c83aa53e6847bf7ffe781583 COPYING diff --git a/package/e2tools/e2tools.mk b/package/e2tools/e2tools.mk index 266d90911f..7c9ef0ffc7 100644 --- a/package/e2tools/e2tools.mk +++ b/package/e2tools/e2tools.mk @@ -4,8 +4,8 @@ # ################################################################################ -E2TOOLS_VERSION = 3158ef18a903ca4a98b8fa220c9fc5c133d8bdf6 -E2TOOLS_SITE = $(call github,ndim,e2tools,$(E2TOOLS_VERSION)) +E2TOOLS_VERSION = 0.0.16.4 +E2TOOLS_SITE = $(call github,ndim,e2tools,v$(E2TOOLS_VERSION)) # Source coming from GitHub, no configure included. E2TOOLS_AUTORECONF = YES diff --git a/package/easy-rsa/Config.in b/package/easy-rsa/Config.in index 883d679e98..56db64a590 100644 --- a/package/easy-rsa/Config.in +++ b/package/easy-rsa/Config.in @@ -1,7 +1,8 @@ config BR2_PACKAGE_EASY_RSA bool "easy-rsa" select BR2_PACKAGE_OPENSSL # runtime - select BR2_PACKAGE_OPENSSL_BIN + select BR2_PACKAGE_LIBOPENSSL_BIN if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBRESSL_BIN if BR2_PACKAGE_LIBRESSL help Simple shell based CA utility diff --git a/package/easy-rsa/easy-rsa.hash b/package/easy-rsa/easy-rsa.hash index e2d658ac81..5f5a490cbc 100644 --- a/package/easy-rsa/easy-rsa.hash +++ b/package/easy-rsa/easy-rsa.hash @@ -1,2 +1,6 @@ # Locally computed: (after verifying gpg sig) -sha512 d20f646e33ec803444dfcd446553f1d6001227fedec93280c212b34cccee11b184599f1b2ae6a3ce9cf6c9ac52f2b840ebb645536df6ddf55382fa25c22df81f EasyRSA-3.0.1.tgz +sha512 1e0eb08fb343345c2bc079d622474f1b34dda3a0517b119efc7cb09113ab467f1346a6678e67d65e535bd404c2abb350d47a00c8f24e4541d54dbeb5600fab72 EasyRSA-unix-v3.0.6.tgz + +# Hash for license files +sha256 7c4a4fc71745d93a87278801f1bca555562ca23f21e18293add64b9e6f6b7bf1 COPYING.md +sha256 640d90f6ee401241ff62834d0d1b33f83049e99b8bfdfa04ed1b0a1635dde3e7 gpl-2.0.txt diff --git a/package/easy-rsa/easy-rsa.mk b/package/easy-rsa/easy-rsa.mk index 8ed5741c88..b3c57439a7 100644 --- a/package/easy-rsa/easy-rsa.mk +++ b/package/easy-rsa/easy-rsa.mk @@ -4,11 +4,11 @@ # ################################################################################ -EASY_RSA_VERSION = 3.0.1 -EASY_RSA_SOURCE = EasyRSA-$(EASY_RSA_VERSION).tgz -EASY_RSA_SITE = https://github.com/OpenVPN/easy-rsa/releases/download/$(EASY_RSA_VERSION) +EASY_RSA_VERSION = 3.0.6 +EASY_RSA_SOURCE = EasyRSA-unix-v$(EASY_RSA_VERSION).tgz +EASY_RSA_SITE = https://github.com/OpenVPN/easy-rsa/releases/download/v$(EASY_RSA_VERSION) EASY_RSA_LICENSE = GPL-2.0 -EASY_RSA_LICENSE_FILES = COPYING gpl-2.0.txt +EASY_RSA_LICENSE_FILES = COPYING.md gpl-2.0.txt # shell script, so no build step @@ -16,7 +16,7 @@ define EASY_RSA_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/easyrsa $(TARGET_DIR)/usr/bin/easyrsa $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/easy-rsa/x509-types $(INSTALL) -m 0644 -t $(TARGET_DIR)/etc/easy-rsa/x509-types $(@D)/x509-types/* - $(INSTALL) -D -m 0644 $(@D)/openssl-1.0.cnf $(TARGET_DIR)/etc/easy-rsa/openssl-1.0.cnf + $(INSTALL) -D -m 0644 $(@D)/openssl-easyrsa.cnf $(TARGET_DIR)/etc/easy-rsa/openssl-easyrsa.cnf $(INSTALL) -D -m 0644 $(@D)/vars.example $(TARGET_DIR)/etc/easy-rsa/vars endef diff --git a/package/easydbus/0001-easydbus-is-a-C-project-file.patch b/package/easydbus/0001-easydbus-is-a-C-project-file.patch deleted file mode 100644 index 1c149c582c..0000000000 --- a/package/easydbus/0001-easydbus-is-a-C-project-file.patch +++ /dev/null @@ -1,33 +0,0 @@ -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/easydbus/easydbus.hash b/package/easydbus/easydbus.hash index 0ef73f23f9..49245709f6 100644 --- a/package/easydbus/easydbus.hash +++ b/package/easydbus/easydbus.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 3e5907664f5dfebbc0e652faf87564fd58dbd639742f442c100ef2db8be46e52 easydbus-59c340f2cd2c92ded82f9d4436866847f295faab.tar.gz +sha256 4626d6af3d9000d7e6ee9723abba7cd5f01d1c52420a80d8259dfa2d884faa11 easydbus-b86721147b265dfefc9a857669408cb6eb3d6560.tar.gz +sha256 dec3b3103cd6889045da86fc7da22bd25545966e5bd7c214791b922dec19588b LICENSE diff --git a/package/easydbus/easydbus.mk b/package/easydbus/easydbus.mk index 376b09bfca..5e6de73c31 100644 --- a/package/easydbus/easydbus.mk +++ b/package/easydbus/easydbus.mk @@ -4,7 +4,7 @@ # ################################################################################ -EASYDBUS_VERSION = 59c340f2cd2c92ded82f9d4436866847f295faab +EASYDBUS_VERSION = b86721147b265dfefc9a857669408cb6eb3d6560 EASYDBUS_SITE = $(call github,mniestroj,easydbus,$(EASYDBUS_VERSION)) EASYDBUS_DEPENDENCIES = luainterpreter libglib2 EASYDBUS_LICENSE = MIT diff --git a/package/ebtables/0003-replace-ebtables-save-perl-script-with-bash.patch b/package/ebtables/0003-replace-ebtables-save-perl-script-with-bash.patch new file mode 100644 index 0000000000..687eb6a373 --- /dev/null +++ b/package/ebtables/0003-replace-ebtables-save-perl-script-with-bash.patch @@ -0,0 +1,75 @@ +From 73536d15c80be96049289d96fc32122467c56b1d Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Mon, 16 Dec 2019 13:27:30 -0600 +Subject: [PATCH] ebtables: replace ebtables-save perl script with bash rewrite + +Fedora provides a bash replacement for the default ebtables-save perl +script. Using it allows the ebtables run-time dependency on perl to +be replaced with a runtime dependency on bash - which is lower +overhead and more likely to be present on typical embedded systems +already. + + https://bugzilla.redhat.com/show_bug.cgi?id=746040 + http://pkgs.fedoraproject.org/cgit/rpms/ebtables.git/tree/ebtables-save + +Upstream: +https://github.com/openembedded/meta-openembedded/commit/7f723007364ba79de05447671e83d4eefb3097dc + +Signed-off-by: Matthew Weber +--- + ebtables-save.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 43 insertions(+) + create mode 100644 ebtables-save.sh + +diff --git a/ebtables-save.sh b/ebtables-save.sh +new file mode 100644 +index 0000000..2d7fc4e +--- /dev/null ++++ b/ebtables-save.sh +@@ -0,0 +1,43 @@ ++#!/bin/bash ++ ++EBTABLES="/sbin/ebtables" ++ ++[ -x "$EBTABLES" ] || exit 1 ++ ++echo "# Generated by ebtables-save v1.0 on $(date)" ++ ++cnt="" ++[ "x$EBTABLES_SAVE_COUNTER" = "xyes" ] && cnt="--Lc" ++ ++for table_name in $(grep -E '^ebtable_' /proc/modules | cut -f1 -d' ' | sed s/ebtable_//); do ++ table=$($EBTABLES -t $table_name -L $cnt) ++ [ $? -eq 0 ] || { echo "$table"; exit -1; } ++ ++ chain="" ++ rules="" ++ while read line; do ++ [ -z "$line" ] && continue ++ ++ case "$line" in ++ Bridge\ table:\ *) ++ echo "*${line:14}" ++ ;; ++ Bridge\ chain:\ *) ++ chain="${line:14}" ++ chain="${chain%%,*}" ++ policy="${line##*policy: }" ++ echo ":$chain $policy" ++ ;; ++ *) ++ if [ "$cnt" = "--Lc" ]; then ++ line=${line/, pcnt \=/ -c} ++ line=${line/-- bcnt \=/} ++ fi ++ rules="$rules-A $chain $line\n" ++ ;; ++ esac ++ done < +[Upstream status: https://bugs.launchpad.net/ecryptfs/+bug/1857622] + +diff -Nuar ecryptfs-utils-111-orig/src/utils/Makefile.in ecryptfs-utils-111/src/utils/Makefile.in +--- ecryptfs-utils-111-orig/src/utils/Makefile.in 2019-12-26 15:14:16.656146065 +0100 ++++ ecryptfs-utils-111/src/utils/Makefile.in 2019-12-26 17:36:07.108496164 +0100 +@@ -1522,7 +1522,7 @@ + .PRECIOUS: Makefile + + +-install-exec-hook: install-rootsbinPROGRAMS ++install-exec-hook: + -rm -f "$(DESTDIR)/$(rootsbindir)/umount.ecryptfs_private" + $(LN_S) "mount.ecryptfs_private" "$(DESTDIR)/$(rootsbindir)/umount.ecryptfs_private" + diff --git a/package/ecryptfs-utils/Config.in b/package/ecryptfs-utils/Config.in index 6652d33e0e..0c39f48d08 100644 --- a/package/ecryptfs-utils/Config.in +++ b/package/ecryptfs-utils/Config.in @@ -2,12 +2,10 @@ config BR2_PACKAGE_ECRYPTFS_UTILS bool "ecryptfs-utils" depends on BR2_USE_WCHAR # gettext depends on BR2_USE_MMU # keyutils - depends on !BR2_microblaze # keyutils depends on BR2_TOOLCHAIN_HAS_THREADS # libnss -> libnspr depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT # libnss -> libnspr depends on !BR2_MIPS_NABI32 # libnss depends on !BR2_STATIC_LIBS # libnss, keyutils - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85862 # microblaze specific & GCC < 7.x select BR2_PACKAGE_KEYUTILS select BR2_PACKAGE_LIBNSS # runtime dependency only, some scripts are using the @@ -30,12 +28,8 @@ config BR2_PACKAGE_ECRYPTFS_UTILS http://ecryptfs.org -comment "ecryptfs-utils needs a toolchain w/ threads, wchar, dynami library" - depends on !BR2_microblaze +comment "ecryptfs-utils needs a toolchain w/ threads, wchar, dynamic library" depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ BR2_STATIC_LIBS - -comment "ecryptfs needs a toolchain not affected by GCC bug 85862" - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85862 # libnss diff --git a/package/ecryptfs-utils/ecryptfs-utils.hash b/package/ecryptfs-utils/ecryptfs-utils.hash index 1e08661e25..8a0b111e5c 100644 --- a/package/ecryptfs-utils/ecryptfs-utils.hash +++ b/package/ecryptfs-utils/ecryptfs-utils.hash @@ -2,3 +2,4 @@ md5 83513228984f671930752c3518cac6fd ecryptfs-utils_111.orig.tar.gz # Locally computed sha256 112cb3e37e81a1ecd8e39516725dec0ce55c5f3df6284e0f4cc0f118750a987f ecryptfs-utils_111.orig.tar.gz +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/ecryptfs-utils/ecryptfs-utils.mk b/package/ecryptfs-utils/ecryptfs-utils.mk index eb3194b6d0..326ff4f2dd 100644 --- a/package/ecryptfs-utils/ecryptfs-utils.mk +++ b/package/ecryptfs-utils/ecryptfs-utils.mk @@ -11,13 +11,20 @@ ECRYPTFS_UTILS_LICENSE = GPL-2.0+ ECRYPTFS_UTILS_LICENSE_FILES = COPYING ECRYPTFS_UTILS_DEPENDENCIES = keyutils libnss host-intltool -ECRYPTFS_UTILS_CONF_OPTS = --disable-pywrap --disable-pam +ECRYPTFS_UTILS_CONF_OPTS = --disable-pywrap #Needed for build system to find pk11func.h and libnss3.so ECRYPTFS_UTILS_CONF_ENV = \ NSS_CFLAGS="-I$(STAGING_DIR)/usr/include/nss -I$(STAGING_DIR)/usr/include/nspr" \ NSS_LIBS="-lnss3" +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +ECRYPTFS_UTILS_CONF_OPTS += --enable-pam +ECRYPTFS_UTILS_DEPENDENCIES += linux-pam +else +ECRYPTFS_UTILS_CONF_OPTS += --disable-pam +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) ECRYPTFS_UTILS_CONF_OPTS += --enable-openssl ECRYPTFS_UTILS_DEPENDENCIES += openssl diff --git a/package/ed/ed.hash b/package/ed/ed.hash index 96c814d3c2..3169923c3d 100644 --- a/package/ed/ed.hash +++ b/package/ed/ed.hash @@ -1,4 +1,4 @@ -# From http://lists.gnu.org/archive/html/bug-ed/2019-01/msg00010.html -sha256 ad4489c0ad7a108c514262da28e6c2a426946fb408a3977ef1ed34308bdfd174 ed-1.15.tar.lz +# From https://lists.gnu.org/archive/html/bug-ed/2020-02/msg00002.html +sha256 cfc07a14ab048a758473ce222e784fbf031485bcd54a76f74acfee1f390d8b2c ed-1.16.tar.lz # Locally calculated -sha256 f03a12bef9dfb7281864a0dd965166d4f4ec7a66633df2bc72fa4363e57de02c COPYING +sha256 f03a12bef9dfb7281864a0dd965166d4f4ec7a66633df2bc72fa4363e57de02c COPYING diff --git a/package/ed/ed.mk b/package/ed/ed.mk index 6ef8f951cf..deb900e283 100644 --- a/package/ed/ed.mk +++ b/package/ed/ed.mk @@ -4,7 +4,7 @@ # ################################################################################ -ED_VERSION = 1.15 +ED_VERSION = 1.16 ED_SITE = $(BR2_GNU_MIRROR)/ed ED_SOURCE = ed-$(ED_VERSION).tar.lz ED_LICENSE = GPL-3.0+ diff --git a/package/edid-decode/edid-decode.hash b/package/edid-decode/edid-decode.hash index 437dcf4a66..e0a9c18523 100644 --- a/package/edid-decode/edid-decode.hash +++ b/package/edid-decode/edid-decode.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 94f43f93285eb5cf8133061295bcdf72b6897bf5372879c2e4032a08d359af12 edid-decode-f56f329ed23a25d002352dedba1e8f092a47286f.tar.gz +sha256 27fcf4c8693ec6fe020b18c78c70ddba9a8b3ea8c55fcfad2a38103128ec5e36 edid-decode-6def7bc83dfb0338632e06a8b14c93faa6af8879.tar.gz +sha256 4b4a7e6d7c358bb5b982eaa84d228cd9e99b75a5fefd3af01272957bf2016b5b edid-decode.c diff --git a/package/edid-decode/edid-decode.mk b/package/edid-decode/edid-decode.mk index b412a77a13..c43f1ae7da 100644 --- a/package/edid-decode/edid-decode.mk +++ b/package/edid-decode/edid-decode.mk @@ -4,7 +4,7 @@ # ################################################################################ -EDID_DECODE_VERSION = f56f329ed23a25d002352dedba1e8f092a47286f +EDID_DECODE_VERSION = 6def7bc83dfb0338632e06a8b14c93faa6af8879 EDID_DECODE_SITE = git://linuxtv.org/edid-decode.git EDID_DECODE_LICENSE = MIT EDID_DECODE_LICENSE_FILES = edid-decode.c diff --git a/package/efibootmgr/Config.in b/package/efibootmgr/Config.in index 6644d26b6c..d31f9b13ee 100644 --- a/package/efibootmgr/Config.in +++ b/package/efibootmgr/Config.in @@ -4,7 +4,6 @@ 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 @@ -16,10 +15,9 @@ 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, host gcc >= 4.8" +comment "efibootmgr needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9" 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_HOST_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS diff --git a/package/efivar/0001-Allow-build-with-uClibc.patch b/package/efivar/0001-Allow-build-with-uClibc.patch index 01fa9dee70..0db9955760 100644 --- a/package/efivar/0001-Allow-build-with-uClibc.patch +++ b/package/efivar/0001-Allow-build-with-uClibc.patch @@ -1,4 +1,4 @@ -From 2255601757a8a58baddad2d37d0bcc6b003a3732 Mon Sep 17 00:00:00 2001 +From f1f24eb486c4376066884bae3c31f1c455a79836 Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Fri, 25 Nov 2016 19:42:27 +0200 Subject: [PATCH] Allow build with uClibc @@ -11,17 +11,16 @@ Signed-off-by: Andy Shevchenko 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/export.c b/src/export.c -index 7f2d4dd..72c02d1 100644 +index 8321bd3..ef36add 100644 --- a/src/export.c +++ b/src/export.c -@@ -21,11 +21,17 @@ +@@ -23,10 +23,16 @@ #include #include #include -#include - #include - #include "lib.h" + #include "efivar.h" +#ifdef __UCLIBC__ +typedef int_least16_t char16_t; @@ -34,5 +33,5 @@ index 7f2d4dd..72c02d1 100644 #define ATTRS_UNSET 0xa5a5a5a5a5a5a5a5 -- -2.10.2 +2.20.1 diff --git a/package/efivar/0002-dp.h-make-format_guid-handle-misaligned-guid-pointer.patch b/package/efivar/0002-dp.h-make-format_guid-handle-misaligned-guid-pointer.patch new file mode 100644 index 0000000000..37fd39a127 --- /dev/null +++ b/package/efivar/0002-dp.h-make-format_guid-handle-misaligned-guid-pointer.patch @@ -0,0 +1,62 @@ +From b98ba8921010d03f46704a476c69861515deb1ca Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Mon, 7 Jan 2019 10:30:59 -0500 +Subject: [PATCH] dp.h: make format_guid() handle misaligned guid pointers + safely. + +GCC 9 adds -Werror=address-of-packed-member, which causes us to see the +build error reported at + https://bugzilla.opensuse.org/show_bug.cgi?id=1120862 . + +That bug report shows us the following: + +In file included from dp.c:26: +dp.h: In function 'format_vendor_helper': +dp.h:120:37: error: taking address of packed member of 'struct ' may result in an unaligned pointer value [-Werror=address-of-packed-member] + 120 | format_guid(buf, size, off, label, &dp->hw_vendor.vendor_guid); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +dp.h:74:25: note: in definition of macro 'format_guid' + 74 | _rc = efi_guid_to_str(guid, &_guidstr); \ + | ^~~~ +cc1: all warnings being treated as errors + +This patch makes format_guid() use a local variable as a bounce buffer +in the case that the guid we're passed is aligned as chaotic neutral. + +Note that this only fixes this instance and there may be others that bz +didn't show because it exited too soon, and I don't have a gcc 9 build +in front of me right now. + +Signed-off-by: Peter Jones +[james.hilliard1@gmail.com: backport from upstream commit +b98ba8921010d03f46704a476c69861515deb1ca] +Signed-off-by: James Hilliard +--- + src/dp.h | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/src/dp.h b/src/dp.h +index aa4e390..20cb608 100644 +--- a/src/dp.h ++++ b/src/dp.h +@@ -70,8 +70,15 @@ + #define format_guid(buf, size, off, dp_type, guid) ({ \ + int _rc; \ + char *_guidstr = NULL; \ +- \ +- _rc = efi_guid_to_str(guid, &_guidstr); \ ++ efi_guid_t _guid; \ ++ const efi_guid_t * const _guid_p = \ ++ likely(__alignof__(guid) == sizeof(guid)) \ ++ ? guid \ ++ : &_guid; \ ++ \ ++ if (unlikely(__alignof__(guid) == sizeof(guid))) \ ++ memmove(&_guid, guid, sizeof(_guid)); \ ++ _rc = efi_guid_to_str(_guid_p, &_guidstr); \ + if (_rc < 0) { \ + efi_error("could not build %s GUID DP string", \ + dp_type); \ +-- +2.20.1 + diff --git a/package/efivar/0003-Fix-all-the-places-Werror-address-of-packed-member-c.patch b/package/efivar/0003-Fix-all-the-places-Werror-address-of-packed-member-c.patch new file mode 100644 index 0000000000..52db443b7e --- /dev/null +++ b/package/efivar/0003-Fix-all-the-places-Werror-address-of-packed-member-c.patch @@ -0,0 +1,174 @@ +From c3c553db85ff10890209d0fe48fb4856ad68e4e0 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Thu, 21 Feb 2019 15:20:12 -0500 +Subject: [PATCH] Fix all the places -Werror=address-of-packed-member catches. + +This gets rid of all the places GCC 9's -Werror=address-of-packed-member +flags as problematic. + +Fixes github issue #123 + +Signed-off-by: Peter Jones +[james.hilliard1@gmail.com: backport from upstream commit +c3c553db85ff10890209d0fe48fb4856ad68e4e0] +Signed-off-by: James Hilliard +--- + src/dp-message.c | 6 ++++-- + src/dp.h | 12 ++++-------- + src/guid.c | 2 +- + src/include/efivar/efivar.h | 2 +- + src/ucs2.h | 27 +++++++++++++++++++-------- + 5 files changed, 29 insertions(+), 20 deletions(-) + +diff --git a/src/dp-message.c b/src/dp-message.c +index 3724e5f..9f96466 100644 +--- a/src/dp-message.c ++++ b/src/dp-message.c +@@ -620,11 +620,13 @@ _format_message_dn(char *buf, size_t size, const_efidp dp) + ) / sizeof(efi_ip_addr_t); + format(buf, size, off, "Dns", "Dns("); + for (int i=0; i < end; i++) { +- const efi_ip_addr_t *addr = &dp->dns.addrs[i]; ++ efi_ip_addr_t addr; ++ ++ memcpy(&addr, &dp->dns.addrs[i], sizeof(addr)); + if (i != 0) + format(buf, size, off, "Dns", ","); + format_ip_addr(buf, size, off, "Dns", +- dp->dns.is_ipv6, addr); ++ dp->dns.is_ipv6, &addr); + } + format(buf, size, off, "Dns", ")"); + break; +diff --git a/src/dp.h b/src/dp.h +index 20cb608..1f921d5 100644 +--- a/src/dp.h ++++ b/src/dp.h +@@ -71,13 +71,9 @@ + int _rc; \ + char *_guidstr = NULL; \ + efi_guid_t _guid; \ +- const efi_guid_t * const _guid_p = \ +- likely(__alignof__(guid) == sizeof(guid)) \ +- ? guid \ +- : &_guid; \ +- \ +- if (unlikely(__alignof__(guid) == sizeof(guid))) \ +- memmove(&_guid, guid, sizeof(_guid)); \ ++ const efi_guid_t * const _guid_p = &_guid; \ ++ \ ++ memmove(&_guid, guid, sizeof(_guid)); \ + _rc = efi_guid_to_str(_guid_p, &_guidstr); \ + if (_rc < 0) { \ + efi_error("could not build %s GUID DP string", \ +@@ -86,7 +82,7 @@ + _guidstr = onstack(_guidstr, \ + strlen(_guidstr)+1); \ + _rc = format(buf, size, off, dp_type, "%s", \ +- _guidstr); \ ++ _guidstr); \ + } \ + _rc; \ + }) +diff --git a/src/guid.c b/src/guid.c +index 306c9ff..3156b3b 100644 +--- a/src/guid.c ++++ b/src/guid.c +@@ -31,7 +31,7 @@ + extern const efi_guid_t efi_guid_zero; + + int NONNULL(1, 2) PUBLIC +-efi_guid_cmp(const efi_guid_t *a, const efi_guid_t *b) ++efi_guid_cmp(const void * const a, const void * const b) + { + return memcmp(a, b, sizeof (efi_guid_t)); + } +diff --git a/src/include/efivar/efivar.h b/src/include/efivar/efivar.h +index 316891c..ad6449d 100644 +--- a/src/include/efivar/efivar.h ++++ b/src/include/efivar/efivar.h +@@ -128,7 +128,7 @@ extern int efi_symbol_to_guid(const char *symbol, efi_guid_t *guid) + + extern int efi_guid_is_zero(const efi_guid_t *guid); + extern int efi_guid_is_empty(const efi_guid_t *guid); +-extern int efi_guid_cmp(const efi_guid_t *a, const efi_guid_t *b); ++extern int efi_guid_cmp(const void * const a, const void * const b); + + /* import / export functions */ + typedef struct efi_variable efi_variable_t; +diff --git a/src/ucs2.h b/src/ucs2.h +index dbb5900..edd8367 100644 +--- a/src/ucs2.h ++++ b/src/ucs2.h +@@ -23,16 +23,21 @@ + (((val) & ((mask) << (shift))) >> (shift)) + + static inline size_t UNUSED +-ucs2len(const uint16_t * const s, ssize_t limit) ++ucs2len(const void *vs, ssize_t limit) + { + ssize_t i; +- for (i = 0; i < (limit >= 0 ? limit : i+1) && s[i] != (uint16_t)0; i++) ++ const uint16_t *s = vs; ++ const uint8_t *s8 = vs; ++ ++ for (i = 0; ++ i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0; ++ i++, s8 += 2, s++) + ; + return i; + } + + static inline size_t UNUSED +-ucs2size(const uint16_t * const s, ssize_t limit) ++ucs2size(const void *s, ssize_t limit) + { + size_t rc = ucs2len(s, limit); + rc *= sizeof (uint16_t); +@@ -69,10 +74,11 @@ utf8size(uint8_t *s, ssize_t limit) + } + + static inline unsigned char * UNUSED +-ucs2_to_utf8(const uint16_t * const chars, ssize_t limit) ++ucs2_to_utf8(const void * const voidchars, ssize_t limit) + { + ssize_t i, j; + unsigned char *ret; ++ const uint16_t * const chars = voidchars; + + if (limit < 0) + limit = ucs2len(chars, -1); +@@ -124,10 +130,12 @@ ucs2_to_utf8(const uint16_t * const chars, ssize_t limit) + } + + static inline ssize_t UNUSED NONNULL(4) +-utf8_to_ucs2(uint16_t *ucs2, ssize_t size, int terminate, uint8_t *utf8) ++utf8_to_ucs2(void *ucs2void, ssize_t size, int terminate, uint8_t *utf8) + { + ssize_t req; + ssize_t i, j; ++ uint16_t *ucs2 = ucs2void; ++ uint16_t val16; + + if (!ucs2 && size > 0) { + errno = EINVAL; +@@ -162,10 +170,13 @@ utf8_to_ucs2(uint16_t *ucs2, ssize_t size, int terminate, uint8_t *utf8) + val = utf8[i] & 0x7f; + i += 1; + } +- ucs2[j] = val; ++ val16 = val; ++ ucs2[j] = val16; ++ } ++ if (terminate) { ++ val16 = 0; ++ ucs2[j++] = val16; + } +- if (terminate) +- ucs2[j++] = (uint16_t)0; + return j; + }; + +-- +2.20.1 + diff --git a/package/efivar/0004-Fix-another-error-of-Werror-address-of-packed-member.patch b/package/efivar/0004-Fix-another-error-of-Werror-address-of-packed-member.patch new file mode 100644 index 0000000000..b103e975a3 --- /dev/null +++ b/package/efivar/0004-Fix-another-error-of-Werror-address-of-packed-member.patch @@ -0,0 +1,57 @@ +From 0dad6d78a7fb5f6c5fb4a1d646040539db6cf865 Mon Sep 17 00:00:00 2001 +From: Chih-Wei Huang +Date: Tue, 26 Feb 2019 18:42:20 +0800 +Subject: [PATCH] Fix another error of -Werror=address-of-packed-member + +Android 9 clang complains: + +external/efivar/src/dp-message.c:367:24: error: taking address of packed member '' of class or structure 'efidp_infiniband' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member] + (efi_guid_t *)&dp->infiniband.ioc_guid); + ^~~~~~~~~~~~~~~~~~~~~~~ +external/efivar/src/dp.h:76:19: note: expanded from macro 'format_guid' + memmove(&_guid, guid, sizeof(_guid)); \ + ^~~~ +1 error generated. + +Since commit c3c553d the fifth parameter of format_guid() is treated as +a const void *. The casting is unnecessary. + +Signed-off-by: Chih-Wei Huang +[james.hilliard1@gmail.com: backport from upstream commit +0dad6d78a7fb5f6c5fb4a1d646040539db6cf865] +Signed-off-by: James Hilliard +--- + src/dp-media.c | 3 +-- + src/dp-message.c | 2 +- + 2 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/src/dp-media.c b/src/dp-media.c +index 96a576f..be691c4 100644 +--- a/src/dp-media.c ++++ b/src/dp-media.c +@@ -46,8 +46,7 @@ _format_media_dn(char *buf, size_t size, const_efidp dp) + break; + case EFIDP_HD_SIGNATURE_GUID: + format(buf, size, off, "HD", "GPT,"); +- format_guid(buf, size, off, "HD", +- (efi_guid_t *)dp->hd.signature); ++ format_guid(buf, size, off, "HD", dp->hd.signature); + format(buf, size, off, "HD", + ",0x%"PRIx64",0x%"PRIx64")", + dp->hd.start, dp->hd.size); +diff --git a/src/dp-message.c b/src/dp-message.c +index 9f96466..6b8e907 100644 +--- a/src/dp-message.c ++++ b/src/dp-message.c +@@ -364,7 +364,7 @@ _format_message_dn(char *buf, size_t size, const_efidp dp) + dp->infiniband.port_gid[1], + dp->infiniband.port_gid[0]); + format_guid(buf, size, off, "Infiniband", +- (efi_guid_t *)&dp->infiniband.ioc_guid); ++ &dp->infiniband.ioc_guid); + format(buf, size, off, "Infiniband", + ",%"PRIu64",%"PRIu64")", + dp->infiniband.target_port_id, +-- +2.20.1 + diff --git a/package/efivar/Config.in b/package/efivar/Config.in index 545962ed70..74f2bb5abb 100644 --- a/package/efivar/Config.in +++ b/package/efivar/Config.in @@ -17,17 +17,14 @@ 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, host gcc >= 4.8" +comment "efivar needs a toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9" 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_HOST_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS diff --git a/package/efivar/efivar.hash b/package/efivar/efivar.hash index 7feb5b7533..b521e08a53 100644 --- a/package/efivar/efivar.hash +++ b/package/efivar/efivar.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 747bc4d97b4bd74979e5356c44a172534a8a07184f130349fd201742e683d292 efivar-35.tar.gz +sha256 74c52b4f479120fb6639e753e71163ba3f557a7a67c0be225593f9f05b253f36 efivar-37.tar.gz sha256 91df770634adc2755e78cae33a0d01e702ce2f69046408ae93d0d934ff29691b COPYING diff --git a/package/efivar/efivar.mk b/package/efivar/efivar.mk index d96bd98d09..8708057b18 100644 --- a/package/efivar/efivar.mk +++ b/package/efivar/efivar.mk @@ -4,7 +4,7 @@ # ################################################################################ -EFIVAR_VERSION = 35 +EFIVAR_VERSION = 37 EFIVAR_SITE = $(call github,rhboot,efivar,$(EFIVAR_VERSION)) EFIVAR_LICENSE = LGPL-2.1 EFIVAR_LICENSE_FILES = COPYING diff --git a/package/efl/0001-eina-set-EINA_VALUE_EMPTY-during-library-init.patch b/package/efl/0001-eina-set-EINA_VALUE_EMPTY-during-library-init.patch new file mode 100644 index 0000000000..bfc12fd5b8 --- /dev/null +++ b/package/efl/0001-eina-set-EINA_VALUE_EMPTY-during-library-init.patch @@ -0,0 +1,51 @@ +From b8458ed248cf49bfe9a263d708b5e34adf77e275 Mon Sep 17 00:00:00 2001 +From: Cedric BAIL +Date: Wed, 17 Jul 2019 11:12:18 -0700 +Subject: [PATCH] eina: set EINA_VALUE_EMPTY during library init. + +This is a work around compiler/linker limit on some system as reported +by Romain Naour. + +Reviewed-by: Mike Blumenkrantz +Differential Revision: https://phab.enlightenment.org/D9348 + +(cherry picked from commit c46a8143916f0d3f66bbdffc7107c97c88df212d) +[Romain: backport to 1.22.x] +Signed-off-by: Romain Naour +--- + src/lib/eina/eina_value.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/lib/eina/eina_value.c b/src/lib/eina/eina_value.c +index c75a5f1235..942a6d533e 100644 +--- a/src/lib/eina/eina_value.c ++++ b/src/lib/eina/eina_value.c +@@ -58,7 +58,7 @@ static Eina_Hash *_eina_value_inner_mps = NULL; + static Eina_Lock _eina_value_inner_mps_lock; + static char *_eina_value_mp_choice = NULL; + static int _eina_value_log_dom = -1; +-static const Eina_Value _eina_value_empty = EINA_VALUE_EMPTY; ++static Eina_Value _eina_value_empty; + + #ifdef ERR + #undef ERR +@@ -5404,6 +5404,7 @@ eina_value_inner_free(size_t size, void *mem) + Eina_Bool + eina_value_init(void) + { ++ const Eina_Value empty = EINA_VALUE_EMPTY; + const char *choice, *tmp; + + _eina_value_log_dom = eina_log_domain_register("eina_value", +@@ -5490,6 +5491,8 @@ eina_value_init(void) + + EINA_ERROR_VALUE_FAILED = eina_error_msg_static_register("Eina_Value failed to copy/convert."); + ++ memcpy(&_eina_value_empty, &empty, sizeof (empty)); ++ + return EINA_TRUE; + + on_init_fail_hash: +-- +2.21.0 + 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 deleted file mode 100644 index b64a200ffb..0000000000 --- a/package/efl/0001-evas-gl-make-GLintptr-etc.-also-ndefed-for-GL_VERSIO.patch +++ /dev/null @@ -1,34 +0,0 @@ -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/0002-Fix-build-with-gcc-10-which-has-fno-common-enabled-b.patch b/package/efl/0002-Fix-build-with-gcc-10-which-has-fno-common-enabled-b.patch new file mode 100644 index 0000000000..1b54bfdf0a --- /dev/null +++ b/package/efl/0002-Fix-build-with-gcc-10-which-has-fno-common-enabled-b.patch @@ -0,0 +1,222 @@ +From c245b576aad09ac5faeb800de7f7c4fef87c6363 Mon Sep 17 00:00:00 2001 +From: Tom Callaway +Date: Fri, 31 Jan 2020 12:40:45 +0000 +Subject: [PATCH] Fix build with gcc 10 (which has -fno-common enabled by + default). + +EFL failed to build from source in Fedora Rawhide as a result of the update to GCC 10. GCC 10 enables -fno-common by default, and this found three issues in EFL: + + # The eina benchmark code defined int key_size in a header that was included in multiple places. + #/usr/bin/ld: bin/elementary/elementary_test-test_ui_clock.o:(.bss.dt1+0x0): multiple definition of `dt1'; bin/elementary/elementary_test-test_datetime.o:(.bss.dt1+0x0): first defined here + The elementary test code defines the "dt1", "dt2", "dt3" vars in two code files which are compiled together (but these variables do not appear to be used globally) + # The eio test code defines the "ee" var in two code files which are compiled together (but this variable does not appear to be used globally) + +I've fixed these issues and confirmed locally that the code builds again in Fedora. + +Reviewed-by: Marcel Hollerbach +Differential Revision: https://phab.enlightenment.org/D11259 + +Patch taken from upstream: https://github.com/Enlightenment/efl/commit/c245b576aad09ac5faeb800de7f7c4fef87c6363 +Signed-off-by: Heiko Thiery +--- + src/benchmarks/eina/eina_bench.h | 2 +- + src/benchmarks/eina/eina_bench_crc_hash.c | 1 + + src/bin/elementary/test_ui_clock.c | 90 +++++++++++------------ + src/tests/eio/eio_test_map.c | 10 +-- + 4 files changed, 52 insertions(+), 51 deletions(-) + +diff --git a/src/benchmarks/eina/eina_bench.h b/src/benchmarks/eina/eina_bench.h +index a38d70433e..747ac6f39f 100644 +--- a/src/benchmarks/eina/eina_bench.h ++++ b/src/benchmarks/eina/eina_bench.h +@@ -21,7 +21,7 @@ + + #include "eina_benchmark.h" + +-int key_size; ++extern int key_size; + + void eina_bench_hash(Eina_Benchmark *bench); + void eina_bench_crc_hash_short(Eina_Benchmark *bench); +diff --git a/src/benchmarks/eina/eina_bench_crc_hash.c b/src/benchmarks/eina/eina_bench_crc_hash.c +index b6734489a3..7750233ed4 100644 +--- a/src/benchmarks/eina/eina_bench_crc_hash.c ++++ b/src/benchmarks/eina/eina_bench_crc_hash.c +@@ -26,6 +26,7 @@ + uint64_t CityHash64(const char *buf, size_t len); + #endif + ++int key_size; + char *key_str=NULL; + + void repchar(int n) +diff --git a/src/bin/elementary/test_ui_clock.c b/src/bin/elementary/test_ui_clock.c +index 79e9074ead..9973b25cd3 100644 +--- a/src/bin/elementary/test_ui_clock.c ++++ b/src/bin/elementary/test_ui_clock.c +@@ -6,7 +6,7 @@ + + /* A simple test, just displaying clock in its default format */ + +-Evas_Object *dt1, *dt2, *dt3, *dt4; ++Evas_Object *uicdt1, *uicdt2, *uicdt3, *uicdt4; + + static void + _changed_cb(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) +@@ -28,19 +28,19 @@ _bt_clicked(void *data EINA_UNUSED, const Efl_Event *ev) + new_time.tm_mday = 26; + new_time.tm_hour = 9; + new_time.tm_min = 0; +- efl_ui_clock_field_visible_set(dt1, EFL_UI_CLOCK_TYPE_HOUR, EINA_TRUE); +- efl_ui_clock_field_visible_set(dt1, EFL_UI_CLOCK_TYPE_MINUTE, EINA_TRUE); +- efl_ui_clock_field_visible_set(dt1, EFL_UI_CLOCK_TYPE_AMPM, EINA_TRUE); +- efl_ui_clock_field_visible_set(dt1, EFL_UI_CLOCK_TYPE_SECOND, EINA_TRUE); +- efl_ui_clock_field_visible_set(dt1, EFL_UI_CLOCK_TYPE_DAY, EINA_TRUE); +- efl_ui_clock_time_set(dt1, new_time); +- +- elm_object_disabled_set(dt1, EINA_TRUE); ++ efl_ui_clock_field_visible_set(uicdt1, EFL_UI_CLOCK_TYPE_HOUR, EINA_TRUE); ++ efl_ui_clock_field_visible_set(uicdt1, EFL_UI_CLOCK_TYPE_MINUTE, EINA_TRUE); ++ efl_ui_clock_field_visible_set(uicdt1, EFL_UI_CLOCK_TYPE_AMPM, EINA_TRUE); ++ efl_ui_clock_field_visible_set(uicdt1, EFL_UI_CLOCK_TYPE_SECOND, EINA_TRUE); ++ efl_ui_clock_field_visible_set(uicdt1, EFL_UI_CLOCK_TYPE_DAY, EINA_TRUE); ++ efl_ui_clock_time_set(uicdt1, new_time); ++ ++ elm_object_disabled_set(uicdt1, EINA_TRUE); + elm_object_disabled_set(ev->object, EINA_TRUE); + +- efl_del(dt2); +- efl_del(dt3); +- dt2 = dt3 = NULL; ++ efl_del(uicdt2); ++ efl_del(uicdt3); ++ uicdt2 = uicdt3 = NULL; + } + + void +@@ -56,33 +56,33 @@ test_ui_clock(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ + efl_content_set(win, efl_added), + efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(360, 240))); + +- dt1 = efl_add(EFL_UI_CLOCK_CLASS, bx, +- efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), +- efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE), +- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_HOUR, EINA_FALSE), +- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_MINUTE, EINA_FALSE), +- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_AMPM, EINA_FALSE), +- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_SECOND, EINA_FALSE), +- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_DAY, EINA_FALSE), +- efl_ui_clock_pause_set(efl_added, EINA_TRUE), +- efl_event_callback_add(efl_added, EFL_UI_CLOCK_EVENT_CHANGED, _changed_cb, NULL), +- efl_pack(bx, efl_added)); +- +- dt2 = efl_add(EFL_UI_CLOCK_CLASS, bx, +- efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), +- efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE), +- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_YEAR, EINA_FALSE), +- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_MONTH, EINA_FALSE), +- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_DATE, EINA_FALSE), +- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_SECOND, EINA_FALSE), +- efl_ui_clock_pause_set(efl_added, EINA_TRUE), +- efl_pack(bx, efl_added)); +- elm_object_disabled_set(dt2, EINA_TRUE); +- +- dt3 = efl_add(EFL_UI_CLOCK_CLASS, bx, +- efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), +- efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE), +- efl_pack(bx, efl_added)); ++ uicdt1 = efl_add(EFL_UI_CLOCK_CLASS, bx, ++ efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), ++ efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE), ++ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_HOUR, EINA_FALSE), ++ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_MINUTE, EINA_FALSE), ++ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_AMPM, EINA_FALSE), ++ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_SECOND, EINA_FALSE), ++ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_DAY, EINA_FALSE), ++ efl_ui_clock_pause_set(efl_added, EINA_TRUE), ++ efl_event_callback_add(efl_added, EFL_UI_CLOCK_EVENT_CHANGED, _changed_cb, NULL), ++ efl_pack(bx, efl_added)); ++ ++ uicdt2 = efl_add(EFL_UI_CLOCK_CLASS, bx, ++ efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), ++ efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE), ++ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_YEAR, EINA_FALSE), ++ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_MONTH, EINA_FALSE), ++ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_DATE, EINA_FALSE), ++ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_SECOND, EINA_FALSE), ++ efl_ui_clock_pause_set(efl_added, EINA_TRUE), ++ efl_pack(bx, efl_added)); ++ elm_object_disabled_set(uicdt2, EINA_TRUE); ++ ++ uicdt3 = efl_add(EFL_UI_CLOCK_CLASS, bx, ++ efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), ++ efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE), ++ efl_pack(bx, efl_added)); + + efl_add(EFL_UI_TEXTBOX_CLASS, bx, + efl_text_set(efl_added, "Editable Clock:"), +@@ -92,12 +92,12 @@ test_ui_clock(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ + efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(100, 25)), + efl_pack(bx, efl_added)); + +- dt4 = efl_add(EFL_UI_CLOCK_CLASS, bx, +- efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), +- efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE), +- efl_ui_clock_edit_mode_set(efl_added, EINA_TRUE), +- efl_ui_clock_pause_set(efl_added, EINA_TRUE), +- efl_pack(bx, efl_added)); ++ uicdt4 = efl_add(EFL_UI_CLOCK_CLASS, bx, ++ efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), ++ efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE), ++ efl_ui_clock_edit_mode_set(efl_added, EINA_TRUE), ++ efl_ui_clock_pause_set(efl_added, EINA_TRUE), ++ efl_pack(bx, efl_added)); + + efl_add(EFL_UI_BUTTON_CLASS, win, + efl_text_set(efl_added, "Back to the future..."), +diff --git a/src/tests/eio/eio_test_map.c b/src/tests/eio/eio_test_map.c +index fdb0631a9d..f794f73d73 100644 +--- a/src/tests/eio/eio_test_map.c ++++ b/src/tests/eio/eio_test_map.c +@@ -14,7 +14,7 @@ + + #include "eio_suite.h" + +-Eina_File *ee; ++Eina_File *eie; + + static void + _done_cb(void *data EINA_UNUSED, Eio_File *handler EINA_UNUSED) +@@ -25,7 +25,7 @@ _done_cb(void *data EINA_UNUSED, Eio_File *handler EINA_UNUSED) + static void + _open_cb(void *data EINA_UNUSED, Eio_File *handler EINA_UNUSED, Eina_File *ef) + { +- ee = ef; ++ eie = ef; + ecore_main_loop_quit(); + } + +@@ -70,17 +70,17 @@ EFL_START_TEST(eio_test_map_simple) + ecore_main_loop_begin(); + fail_if(!ef); + +- ef = eio_file_map_all(ee, EINA_FILE_POPULATE, _filter_cb, _map_cb, ++ ef = eio_file_map_all(eie, EINA_FILE_POPULATE, _filter_cb, _map_cb, + _error_cb, data); + ecore_main_loop_begin(); + fail_if(!ef); + +- ef = eio_file_map_new(ee, EINA_FILE_WILLNEED, 0, strlen(data), _filter_cb, ++ ef = eio_file_map_new(eie, EINA_FILE_WILLNEED, 0, strlen(data), _filter_cb, + _map_cb, _error_cb, data); + ecore_main_loop_begin(); + fail_if(!ef); + +- ef = eio_file_close(ee, _done_cb, _error_cb, NULL); ++ ef = eio_file_close(eie, _done_cb, _error_cb, NULL); + ecore_main_loop_begin(); + fail_if(!ef); + +-- +2.20.1 + diff --git a/package/efl/Config.in b/package/efl/Config.in index 05be5aae56..ff49161163 100644 --- a/package/efl/Config.in +++ b/package/efl/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_EFL bool "efl" # g++ issue with 4.4.5, tested with g++ 4.7.2 - depends on BR2_HOST_GCC_AT_LEAST_4_7 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS # luajit @@ -144,15 +143,14 @@ comment "Warning: one of the recommended option for EFL is not enabled" config BR2_PACKAGE_EFL_EOLIAN_CPP bool "Enable Eolian C++ bindings" - depends on BR2_HOST_GCC_AT_LEAST_4_8 # Eolian (host) needs C++11 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # Eolian needs C++11 help Eolian is an EO object parser and code generator. With this option enabled Eolian will handle automatic generation of EFL bindings for the C++11 language. -comment "Eolian needs host and target gcc >= 4.8" - depends on !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 +comment "Eolian needs gcc >= 4.8" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 comment "libecore video support" @@ -168,7 +166,6 @@ config BR2_PACKAGE_EFL_X_XLIB select BR2_PACKAGE_XLIB_LIBXCURSOR select BR2_PACKAGE_XLIB_LIBXDAMAGE select BR2_PACKAGE_XLIB_LIBXINERAMA - select BR2_PACKAGE_XLIB_LIBXP select BR2_PACKAGE_XLIB_LIBXRANDR select BR2_PACKAGE_XLIB_LIBXRENDER select BR2_PACKAGE_XLIB_LIBXSCRNSAVER @@ -222,7 +219,6 @@ endchoice # OpenGL support config BR2_PACKAGE_EFL_ELPUT bool "Elput" - depends on BR2_ENABLE_LOCALE # libinput depends on BR2_PACKAGE_EFL_EEZE select BR2_PACKAGE_LIBINPUT select BR2_PACKAGE_LIBXKBCOMMON @@ -233,24 +229,23 @@ config BR2_PACKAGE_EFL_ELPUT libinput without having to duplicate the code in each subsystem. -comment "Elput support needs udev /dev management (eeze), locales" - depends on !BR2_PACKAGE_EFL_EEZE || !BR2_ENABLE_LOCALE +comment "Elput support needs udev /dev management (eeze)" + depends on !BR2_PACKAGE_EFL_EEZE config BR2_PACKAGE_EFL_DRM bool "Evas DRM Engine" depends on BR2_PACKAGE_EFL_EEZE depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # require libgbm from mesa3d - depends on BR2_ENABLE_LOCALE # efl-elput <- libinput select BR2_PACKAGE_EFL_ELPUT select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBXKBCOMMON help This option enable building support for the Evas DRM Engine. -comment "Evas DRM Engine needs udev /dev management (eeze), mesa3d w/ EGL support, threads, locales" +comment "Evas DRM Engine needs udev /dev management (eeze), mesa3d w/ EGL support, threads" depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL \ - || !BR2_PACKAGE_EFL_EEZE || !BR2_ENABLE_LOCALE + || !BR2_PACKAGE_EFL_EEZE comment "libevas loaders" @@ -295,16 +290,21 @@ config BR2_PACKAGE_EFL_LIBRAW config BR2_PACKAGE_EFL_SVG bool "SVG loader" depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # librsvg -> pango -> harfbuzz select BR2_PACKAGE_LIBRSVG select BR2_PACKAGE_CAIRO help This option enables the Evas generic SVG loader +comment "SVG loader needs a toolchain w/ gcc >= 4.8" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + endif # BR2_PACKAGE_EFL comment "efl needs a toolchain w/ C++, dynamic library, gcc >= 4.7, threads, wchar" depends on !BR2_INSTALL_LIBSTDCPP \ - || !BR2_HOST_GCC_AT_LEAST_4_7 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \ || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS depends on BR2_USE_MMU diff --git a/package/efl/efl.hash b/package/efl/efl.hash index bbefdeec66..c60495418c 100644 --- a/package/efl/efl.hash +++ b/package/efl/efl.hash @@ -1,5 +1,5 @@ -# From https://download.enlightenment.org/rel/libs/efl/efl-1.21.1.tar.xz.sha256 -sha256 44774b42b3dbbbe4d124c8fddcd169c6ffab9d602d1a757abcfb9a84e001a928 efl-1.21.1.tar.xz +# From https://download.enlightenment.org/rel/libs/efl/efl-1.22.3.tar.xz.sha256 +sha256 7e7a4199b1e90d400dab2491db6032f8e0b26bab65ec19c9f8a97a82394331c8 efl-1.22.3.tar.xz sha256 d949e42ca8fd48d275c397c5fc2ac34c9b63ada715dcaf1a670e17bb62964341 COMPLIANCE sha256 1f0597d326e2fdb54aa2f0caec6d8bb0afb9941ef32475f017ed02ca214fcf37 COPYING diff --git a/package/efl/efl.mk b/package/efl/efl.mk index c4fd676be1..d8364ed76f 100644 --- a/package/efl/efl.mk +++ b/package/efl/efl.mk @@ -4,7 +4,7 @@ # ################################################################################ -EFL_VERSION = 1.21.1 +EFL_VERSION = 1.22.3 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 @@ -257,6 +257,8 @@ EFL_CONF_OPTS += --disable-image-loader-webp endif ifeq ($(BR2_PACKAGE_POPPLER),y) +# poppler needs c++11 +EFL_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" EFL_DEPENDENCIES += poppler EFL_CONF_OPTS += --enable-poppler else diff --git a/package/ejabberd/0002-fix-ejabberdctl.patch b/package/ejabberd/0002-fix-ejabberdctl.patch index 090fcc52d2..e7fc9315c0 100644 --- a/package/ejabberd/0002-fix-ejabberdctl.patch +++ b/package/ejabberd/0002-fix-ejabberdctl.patch @@ -1,32 +1,28 @@ -From 168d5840dc2a541ec16385e666c1932cf02907e9 Mon Sep 17 00:00:00 2001 +From 4283f675f21d3923e200092cec6418014a03ad52 Mon Sep 17 00:00:00 2001 From: Johan Oudinet -Date: Wed, 10 Jan 2018 15:00:07 +0100 +Date: Thu, 26 Dec 2019 17:06:34 +0100 Subject: [PATCH] fix ejabberdctl Change default values so ejabberdctl run commands as ejabberd user. -Also add a way for the user to change default values. Signed-off-by: Johan Oudinet --- - ejabberdctl.template | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) + ejabberdctl.template | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ejabberdctl.template b/ejabberdctl.template -index 83637766..5a8a8795 100755 +index a940c3df7..5166e5a27 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template -@@ -15,7 +15,10 @@ SCRIPT_DIR=$(cd "${0%/*}" && pwd) +@@ -15,7 +15,7 @@ SCRIPT_DIR=$(cd "${0%/*}" && pwd) ERL="{{erl}}" IEX="{{bindir}}/iex" EPMD="{{epmd}}" -INSTALLUSER="{{installuser}}" +INSTALLUSER=ejabberd -+ -+# Read default configuration file if present -+[ ! -r /etc/default/ejabberd ] || . /etc/default/ejabberd # check the proper system user is used case $(id -un) in -- -2.14.1 +2.20.1 diff --git a/package/ejabberd/Config.in b/package/ejabberd/Config.in index 7d51d1de9e..e24c7fee6b 100644 --- a/package/ejabberd/Config.in +++ b/package/ejabberd/Config.in @@ -3,11 +3,15 @@ config BR2_PACKAGE_EJABBERD depends on BR2_PACKAGE_ERLANG depends on BR2_INSTALL_LIBSTDCPP # jiffy, stringprep select BR2_PACKAGE_ERLANG_EIMP + select BR2_PACKAGE_ERLANG_IDNA # runtime select BR2_PACKAGE_ERLANG_JIFFY # runtime + select BR2_PACKAGE_ERLANG_JOSE # runtime select BR2_PACKAGE_ERLANG_LAGER + select BR2_PACKAGE_ERLANG_P1_ACME # runtime select BR2_PACKAGE_ERLANG_P1_CACHE_TAB - select BR2_PACKAGE_ERLANG_P1_ICONV + select BR2_PACKAGE_ERLANG_P1_MQTREE # runtime select BR2_PACKAGE_ERLANG_P1_OAUTH2 # runtime + select BR2_PACKAGE_ERLANG_P1_PKIX # runtime select BR2_PACKAGE_ERLANG_P1_SIP select BR2_PACKAGE_ERLANG_P1_STRINGPREP select BR2_PACKAGE_ERLANG_P1_STUN @@ -16,6 +20,7 @@ config BR2_PACKAGE_EJABBERD select BR2_PACKAGE_ERLANG_P1_XML select BR2_PACKAGE_ERLANG_P1_XMPP select BR2_PACKAGE_ERLANG_P1_YAML + select BR2_PACKAGE_ERLANG_P1_YCONF # runtime select BR2_PACKAGE_ERLANG_P1_ZLIB select BR2_PACKAGE_GETENT select BR2_PACKAGE_OPENSSL diff --git a/package/ejabberd/S50ejabberd b/package/ejabberd/S50ejabberd index 830fcb85a7..83513bdc83 100644 --- a/package/ejabberd/S50ejabberd +++ b/package/ejabberd/S50ejabberd @@ -4,7 +4,7 @@ # CTL=/usr/sbin/ejabberdctl -DEFAULT=/etc/default/ejabberd +DEFAULT=/etc/ejabberd/ejabberdctl.cfg INSTALLUSER=ejabberd RUNDIR=/var/run/ejabberd diff --git a/package/ejabberd/ejabberd.hash b/package/ejabberd/ejabberd.hash index aed269cb8d..145e7401a9 100644 --- a/package/ejabberd/ejabberd.hash +++ b/package/ejabberd/ejabberd.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 781a68d2deefb4afae563c29a8955063c759c244d308251167d46185f145d4ff ejabberd-18.09.tgz +sha256 18ddf61af22fc9b59f8afc6835aae2aee9896eb91cc1030056d6bca6a1fa40d2 ejabberd-19.09.1.tgz +sha256 469bb8cfa3ef22c102875ff31932450c075e6908ff3f7d36893485c0c30898eb COPYING diff --git a/package/ejabberd/ejabberd.mk b/package/ejabberd/ejabberd.mk index 6982375cf4..3419c6e59c 100644 --- a/package/ejabberd/ejabberd.mk +++ b/package/ejabberd/ejabberd.mk @@ -4,14 +4,13 @@ # ################################################################################ -EJABBERD_VERSION = 18.09 +EJABBERD_VERSION = 19.09.1 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 erlang-eimp \ - host-erlang-lager erlang-lager \ - erlang-p1-cache-tab erlang-p1-iconv erlang-p1-sip \ +EJABBERD_DEPENDENCIES = getent openssl erlang-eimp host-erlang-lager \ + erlang-lager erlang-p1-cache-tab erlang-p1-sip \ erlang-p1-stringprep erlang-p1-stun erlang-p1-tls \ erlang-p1-utils erlang-p1-xml erlang-p1-xmpp erlang-p1-yaml \ erlang-p1-zlib host-erlang-p1-utils host-erlang-p1-xmpp diff --git a/package/elf2flt/0002-Makefile-fix-build-with-Binutils-2.31.patch b/package/elf2flt/0002-Makefile-fix-build-with-Binutils-2.31.patch deleted file mode 100644 index 825582550b..0000000000 --- a/package/elf2flt/0002-Makefile-fix-build-with-Binutils-2.31.patch +++ /dev/null @@ -1,34 +0,0 @@ -From faf1a1646093fbc5ed279bae1c7250c7dfea56f8 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 17 Jul 2018 16:36:16 +0200 -Subject: [PATCH] Makefile: fix build with Binutils 2.31 - -Binutils added diagnostics.h to bfd.h [1], so elf2flt must create a symlink -for this header. - -Fixes: -https://gitlab.com/free-electrons/toolchains-builder/-/jobs/82284139 - -[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=95da9854466ada2572b42f5528711a06a2d42db1 - -Signed-off-by: Romain Naour ---- - Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.in b/Makefile.in -index cfad06c..164e306 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -127,7 +127,7 @@ bfd-headers/.stamp: - rm -rf bfd-headers - mkdir bfd-headers - ln -sf $(BFD_INCLUDE_DIR)/bfd.h bfd-headers/bfd.h -- for f in ansidecl filenames hashtab libiberty symcat; do \ -+ for f in ansidecl diagnostics filenames hashtab libiberty symcat; do \ - ln -sf $(BINUTILS_INCLUDE_DIR)/$$f.h bfd-headers/$$f.h || exit 1; \ - done - ln -sf $(BINUTILS_INCLUDE_DIR)/elf bfd-headers/elf --- -2.7.4 - diff --git a/package/elf2flt/0002-elf2flt.c-add-new-relocation-types-for-xtensa.patch b/package/elf2flt/0002-elf2flt.c-add-new-relocation-types-for-xtensa.patch new file mode 100644 index 0000000000..953bd79ccf --- /dev/null +++ b/package/elf2flt/0002-elf2flt.c-add-new-relocation-types-for-xtensa.patch @@ -0,0 +1,188 @@ +From d7eb73163bcea31168c438fc132a0967ac172e3d Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Thu, 7 May 2020 21:11:43 -0700 +Subject: [PATCH] elf2flt.c: add new relocation types for xtensa + +Xtensa have added new relocation types R_XTENSA_[NP]DIFF{8,16,32} with +the same properties as the existing types R_XTENSA_DIFF{8,16,32}. +Add them to the list of ignored relocation types. + +This fixes the following error when invoking elf2flt on xtensa binaries +built with the recent binutils: + + ERROR: reloc type R_XTENSA_PDIFF32 unsupported in this context + +Reported-by: Romain Naour +Signed-off-by: Max Filippov +Backported from: d7eb73163bcea31168c438fc132a0967ac172e3d +--- + Makefile.in | 3 ++- + configure | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + configure.ac | 14 ++++++++++++ + elf2flt.c | 8 +++++++ + 4 files changed, 88 insertions(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 52b3347d7f43..0529c7f0a25a 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -30,7 +30,8 @@ DEFS = @DEFS@ \ + -DNO_GOT_CHECK=@got_check@ \ + -DUSE_EMIT_RELOCS=@emit_relocs@ \ + -DEMIT_CTOR_DTOR=@emit_ctor_dtor@ \ +- -DALWAYS_RELOC_TEXT=@always_reloc_text@ ++ -DALWAYS_RELOC_TEXT=@always_reloc_text@ \ ++ -DHAVE_BFD_XTENSA_PDIFF_RELOCS=@HAVE_BFD_XTENSA_PDIFF_RELOCS@ + EXEEXT = @EXEEXT@ + OBJEXT = @OBJEXT@ + +diff --git a/configure b/configure +index bb8e33f9cb28..bca38c34247e 100755 +--- a/configure ++++ b/configure +@@ -621,6 +621,7 @@ ac_includes_default="\ + + ac_subst_vars='LTLIBOBJS + LIBOBJS ++HAVE_BFD_XTENSA_PDIFF_RELOCS + SYMBOL_PREFIX + always_reloc_text + emit_ctor_dtor +@@ -1729,6 +1730,52 @@ fi + + } # ac_fn_c_try_link + ++# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES ++# --------------------------------------------- ++# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR ++# accordingly. ++ac_fn_c_check_decl () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ as_decl_name=`echo $2|sed 's/ *(.*//'` ++ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 ++$as_echo_n "checking whether $as_decl_name is declared... " >&6; } ++if eval \${$3+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$4 ++int ++main () ++{ ++#ifndef $as_decl_name ++#ifdef __cplusplus ++ (void) $as_decl_use; ++#else ++ (void) $as_decl_name; ++#endif ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ eval "$3=yes" ++else ++ eval "$3=no" ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++eval ac_res=\$$3 ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++$as_echo "$ac_res" >&6; } ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ ++} # ac_fn_c_check_decl ++ + # ac_fn_c_check_func LINENO FUNC VAR + # ---------------------------------- + # Tests whether FUNC exists, setting the cache variable VAR accordingly +@@ -4272,6 +4319,22 @@ $as_echo "#define const /**/" >>confdefs.h + fi + + ++HAVE_BFD_XTENSA_PDIFF_RELOCS=0 ++case $target in ++ xtensa*) ++ OLD_CPPFLAGS=$CPPFLAGS ++ CPPFLAGS="-I$bfd_include_dir -I$binutils_include_dir $CPPFLAGS" ++ ac_fn_c_check_decl "$LINENO" "R_XTENSA_PDIFF8" "ac_cv_have_decl_R_XTENSA_PDIFF8" "#include \"bfd.h\" ++ #include \"elf/xtensa.h\" ++" ++if test "x$ac_cv_have_decl_R_XTENSA_PDIFF8" = xyes; then : ++ HAVE_BFD_XTENSA_PDIFF_RELOCS=1 ++fi ++ ++ CPPFLAGS=$OLD_CPPFLAGS ++ ;; ++esac ++ + for ac_func in vprintf + do : + ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" +@@ -4333,6 +4396,7 @@ fi + + + ++ + ac_config_files="$ac_config_files ld-elf2flt.sh:ld-elf2flt.in Makefile elf2flt.ld" + + cat >confcache <<\_ACEOF +diff --git a/configure.ac b/configure.ac +index d6b4119eb18a..19969b1045f6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -202,6 +202,19 @@ AC_CHECK_HEADERS(fcntl.h unistd.h bfd.h) + dnl Checks for typedefs, structures, and compiler characteristics. + AC_C_CONST + ++HAVE_BFD_XTENSA_PDIFF_RELOCS=0 ++case $target in ++ xtensa*) ++ AS_VAR_COPY([OLD_CPPFLAGS], [CPPFLAGS]) ++ AS_VAR_SET([CPPFLAGS], ["-I$bfd_include_dir -I$binutils_include_dir $CPPFLAGS"]) ++ AC_CHECK_DECL([R_XTENSA_PDIFF8], ++ [HAVE_BFD_XTENSA_PDIFF_RELOCS=1],, ++ [#include "bfd.h" ++ #include "elf/xtensa.h"]) ++ AS_VAR_COPY([CPPFLAGS], [OLD_CPPFLAGS]) ++ ;; ++esac ++ + dnl Checks for library functions. + AC_FUNC_VPRINTF + +@@ -235,6 +248,7 @@ AC_SUBST(emit_relocs) + AC_SUBST(emit_ctor_dtor) + AC_SUBST(always_reloc_text) + AC_SUBST(SYMBOL_PREFIX) ++AC_SUBST(HAVE_BFD_XTENSA_PDIFF_RELOCS) + + AC_OUTPUT(ld-elf2flt.sh:ld-elf2flt.in Makefile elf2flt.ld) + +diff --git a/elf2flt.c b/elf2flt.c +index b7c4a490df02..961534973f56 100644 +--- a/elf2flt.c ++++ b/elf2flt.c +@@ -776,6 +776,14 @@ output_relocs ( + case R_XTENSA_DIFF8: + case R_XTENSA_DIFF16: + case R_XTENSA_DIFF32: ++#if HAVE_BFD_XTENSA_PDIFF_RELOCS ++ case R_XTENSA_PDIFF8: ++ case R_XTENSA_PDIFF16: ++ case R_XTENSA_PDIFF32: ++ case R_XTENSA_NDIFF8: ++ case R_XTENSA_NDIFF16: ++ case R_XTENSA_NDIFF32: ++#endif + case R_XTENSA_32_PCREL: + continue; + case R_XTENSA_32: +-- +2.20.1 + diff --git a/package/elf2flt/Config.in.host b/package/elf2flt/Config.in.host index b93795baa4..d6685a7ff6 100644 --- a/package/elf2flt/Config.in.host +++ b/package/elf2flt/Config.in.host @@ -9,3 +9,5 @@ config BR2_PACKAGE_HOST_ELF2FLT This option compiles the required tools and makes the required modifications on your toolchain (linker). + + https://github.com/uclinux-dev/elf2flt diff --git a/package/elf2flt/elf2flt.hash b/package/elf2flt/elf2flt.hash index 40df62c8c0..c4b0697fcd 100644 --- a/package/elf2flt/elf2flt.hash +++ b/package/elf2flt/elf2flt.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 7713bd1debd24a94b795b7fc698dc97e306e7cbcc1d0580856c79fe70aac9c45 elf2flt-6d80ab6c93409e796f85da404bde84b841231531.tar.gz +sha256 d63baae6fe0d7fcc50a635be151a6f9e1e83dba30568046a869a395c15bf6284 elf2flt-7e33f28df198c46764021ed14408bd262751e148.tar.gz +sha256 f20bc5007904094e3a4e9fbcc3526cdd40893f91d458c3139b308e5c4c0899c6 LICENSE.TXT diff --git a/package/elf2flt/elf2flt.mk b/package/elf2flt/elf2flt.mk index 557f94d338..e7edd8b9de 100644 --- a/package/elf2flt/elf2flt.mk +++ b/package/elf2flt/elf2flt.mk @@ -4,7 +4,7 @@ # ################################################################################ -ELF2FLT_VERSION = 6d80ab6c93409e796f85da404bde84b841231531 +ELF2FLT_VERSION = 7e33f28df198c46764021ed14408bd262751e148 ELF2FLT_SITE = $(call github,uclinux-dev,elf2flt,$(ELF2FLT_VERSION)) ELF2FLT_LICENSE = GPL-2.0+ ELF2FLT_LICENSE_FILES = LICENSE.TXT diff --git a/package/elftosb/elftosb.hash b/package/elftosb/elftosb.hash index 2b9f02b14f..83f5ce664e 100644 --- a/package/elftosb/elftosb.hash +++ b/package/elftosb/elftosb.hash @@ -1,2 +1,4 @@ # From http://repository.timesys.com/buildsources/e/elftosb/elftosb-10.12.01/elftosb-10.12.01.tar.gz.md5sum md5 e8005d606c1e0bb3507c82f6eceb3056 elftosb-10.12.01.tar.gz +# locally computed +sha256 c861c25936b7bc0cf180023d540f2b0d0f5892edd27fd00efef4b6234c1df27a COPYING diff --git a/package/elfutils/0001-Add-a-enable-disable-progs-configure-option.patch b/package/elfutils/0001-Add-a-enable-disable-progs-configure-option.patch index 3f80fe60df..36bd462175 100644 --- a/package/elfutils/0001-Add-a-enable-disable-progs-configure-option.patch +++ b/package/elfutils/0001-Add-a-enable-disable-progs-configure-option.patch @@ -13,9 +13,11 @@ obstack_printf() in uClibc for example). Based on the former patch by Thomas Petazzoni. [Vincent: tweak patch for 0.166] +[Bernd: rebased patch for 0.177] Signed-off-by: Thomas Petazzoni Signed-off-by: Vicente Olivert Riera +Signed-off-by: Bernd Kuhls --- Makefile.am | 6 +++++- configure.ac | 6 ++++++ @@ -44,7 +46,7 @@ diff --git a/configure.ac b/configure.ac index c2c1d90b2133..7b4c38381cca 100644 --- a/configure.ac +++ b/configure.ac -@@ -259,6 +259,12 @@ AC_SUBST([LIBEBL_SUBDIR]) +@@ -345,6 +345,12 @@ AC_SUBST([LIBEBL_SUBDIR]) AC_DEFINE_UNQUOTED(LIBEBL_SUBDIR, "$LIBEBL_SUBDIR") AH_TEMPLATE([LIBEBL_SUBDIR], [$libdir subdirectory containing libebl modules.]) diff --git a/package/elfutils/0002-Add-an-implementation-of-the-fts_-functions.patch b/package/elfutils/0002-Add-an-implementation-of-the-fts_-functions.patch deleted file mode 100644 index cf5ba25c82..0000000000 --- a/package/elfutils/0002-Add-an-implementation-of-the-fts_-functions.patch +++ /dev/null @@ -1,1332 +0,0 @@ -From 098760f7eac1fb86b3f6871d5bb10f9f44468f2d Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 29 May 2017 23:08:05 +0300 -Subject: [PATCH] Add an implementation of the fts_*() functions - -The fts_*() functions are optional in uClibc, and not compiled in our -default configuration. The best option would be to migrate this -elfutils code to the nftw family of functions, but it requires quite -some work. - -So we have several options here: - - *) Enable fts_*() functions in our default uClibc configuration. Not - nice since only one package needs them (the help text of uClibc - for fts_*() functions explicitly mention that they have been added - to be able to build elfutils). - - *) Use gnulib, but it is quite heavy to setup, requires modifications - to configure.ac, and other things. - - *) Copy the fts function from uClibc into elfutils source code. This - is the solution used below. uClibc is LGPL, and elfutils is - LGPL/GPL, so there should not be any licensing issue. - -Of course, the fts_*() functions are only built if they are not -already provided by the C library. - -Based on the former patch by Thomas Petazzoni. - -[Vincent: tweak patch for 0.166] - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Vicente Olivert Riera ---- - configure.ac | 4 + - libdwfl/Makefile.am | 3 + - libdwfl/fts.c | 1095 ++++++++++++++++++++++++++++++++++++++++ - libdwfl/fts_.h | 131 +++++ - libdwfl/linux-kernel-modules.c | 4 + - 5 files changed, 1237 insertions(+) - create mode 100644 libdwfl/fts.c - create mode 100644 libdwfl/fts_.h - -diff --git a/configure.ac b/configure.ac -index 7b4c38381cca..bcebb05fa532 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -265,6 +265,10 @@ AC_ARG_ENABLE([progs], - enable_progs=yes) - AM_CONDITIONAL(ENABLE_PROGS, test "$enable_progs" = yes) - -+AC_CHECK_HEADER([fts.h], -+ AC_DEFINE([HAVE_FTS_H], [], [Define if is available in C library])) -+AM_CONDITIONAL(HAVE_FTS, test "$ac_cv_header_fts_h" = yes) -+ - dnl zlib is mandatory. - save_LIBS="$LIBS" - LIBS= -diff --git a/libdwfl/Makefile.am b/libdwfl/Makefile.am -index 89ca92ed8110..a5a5615c5f94 100644 ---- a/libdwfl/Makefile.am -+++ b/libdwfl/Makefile.am -@@ -77,6 +77,9 @@ endif - if LZMA - libdwfl_a_SOURCES += lzma.c - endif -+if !HAVE_FTS -+libdwfl_a_SOURCES += fts.c -+endif - - libdwfl = $(libdw) - libdw = ../libdw/libdw.so -diff --git a/libdwfl/fts.c b/libdwfl/fts.c -new file mode 100644 -index 000000000000..f34cc03bd963 ---- /dev/null -+++ b/libdwfl/fts.c -@@ -0,0 +1,1095 @@ -+/*- -+ * Copyright (c) 1990, 1993, 1994 -+ * The Regents of the University of California. All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 4. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include "fts_.h" -+#include -+#include -+#include -+ -+/* Largest alignment size needed, minus one. -+ Usually long double is the worst case. */ -+#ifndef ALIGNBYTES -+#define ALIGNBYTES (__alignof__ (long double) - 1) -+#endif -+/* Align P to that size. */ -+#ifndef ALIGN -+#define ALIGN(p) (((unsigned long int) (p) + ALIGNBYTES) & ~ALIGNBYTES) -+#endif -+ -+ -+static FTSENT *fts_alloc (FTS *, const char *, size_t); -+static FTSENT *fts_build (FTS *, int); -+static void fts_lfree (FTSENT *); -+static void fts_load (FTS *, FTSENT *); -+static size_t fts_maxarglen (char * const *); -+static void fts_padjust (FTS *, FTSENT *); -+static int fts_palloc (FTS *, size_t); -+static FTSENT *fts_sort (FTS *, FTSENT *, int); -+static u_short fts_stat (FTS *, FTSENT *, int); -+static int fts_safe_changedir (FTS *, FTSENT *, int, const char *); -+ -+#ifndef MAX -+#define MAX(a, b) ({ __typeof__ (a) _a = (a); \ -+ __typeof__ (b) _b = (b); \ -+ _a > _b ? _a : _b; }) -+#endif -+ -+#define ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2]))) -+ -+#define CLR(opt) (sp->fts_options &= ~(opt)) -+#define ISSET(opt) (sp->fts_options & (opt)) -+#define SET(opt) (sp->fts_options |= (opt)) -+ -+#define FCHDIR(sp, fd) (!ISSET(FTS_NOCHDIR) && fchdir(fd)) -+ -+/* fts_build flags */ -+#define BCHILD 1 /* fts_children */ -+#define BNAMES 2 /* fts_children, names only */ -+#define BREAD 3 /* fts_read */ -+ -+FTS * -+fts_open( char * const *argv, register int options, -+ int (*compar) (const FTSENT **, const FTSENT **)) -+{ -+ register FTS *sp; -+ register FTSENT *p, *root; -+ register int nitems; -+ FTSENT *parent = NULL; -+ FTSENT *tmp = NULL; -+ -+ /* Options check. */ -+ if (options & ~FTS_OPTIONMASK) { -+ errno = EINVAL; -+ return (NULL); -+ } -+ -+ /* Allocate/initialize the stream */ -+ if ((sp = malloc((u_int)sizeof(FTS))) == NULL) -+ return (NULL); -+ memset(sp, 0, sizeof(FTS)); -+ sp->fts_compar = (int (*) (const void *, const void *)) compar; -+ sp->fts_options = options; -+ -+ /* Logical walks turn on NOCHDIR; symbolic links are too hard. */ -+ if (ISSET(FTS_LOGICAL)) -+ SET(FTS_NOCHDIR); -+ -+ /* -+ * Start out with 1K of path space, and enough, in any case, -+ * to hold the user's paths. -+ */ -+#ifndef MAXPATHLEN -+#define MAXPATHLEN 1024 -+#endif -+ size_t maxarglen = fts_maxarglen(argv); -+ if (fts_palloc(sp, MAX(maxarglen, MAXPATHLEN))) -+ goto mem1; -+ -+ /* Allocate/initialize root's parent. */ -+ if (*argv != NULL) { -+ if ((parent = fts_alloc(sp, "", 0)) == NULL) -+ goto mem2; -+ parent->fts_level = FTS_ROOTPARENTLEVEL; -+ } -+ -+ /* Allocate/initialize root(s). */ -+ for (root = NULL, nitems = 0; *argv != NULL; ++argv, ++nitems) { -+ /* Don't allow zero-length paths. */ -+ size_t len = strlen(*argv); -+ if (len == 0) { -+ errno = ENOENT; -+ goto mem3; -+ } -+ -+ p = fts_alloc(sp, *argv, len); -+ p->fts_level = FTS_ROOTLEVEL; -+ p->fts_parent = parent; -+ p->fts_accpath = p->fts_name; -+ p->fts_info = fts_stat(sp, p, ISSET(FTS_COMFOLLOW)); -+ -+ /* Command-line "." and ".." are real directories. */ -+ if (p->fts_info == FTS_DOT) -+ p->fts_info = FTS_D; -+ -+ /* -+ * If comparison routine supplied, traverse in sorted -+ * order; otherwise traverse in the order specified. -+ */ -+ if (compar) { -+ p->fts_link = root; -+ root = p; -+ } else { -+ p->fts_link = NULL; -+ if (root == NULL) -+ tmp = root = p; -+ else { -+ tmp->fts_link = p; -+ tmp = p; -+ } -+ } -+ } -+ if (compar && nitems > 1) -+ root = fts_sort(sp, root, nitems); -+ -+ /* -+ * Allocate a dummy pointer and make fts_read think that we've just -+ * finished the node before the root(s); set p->fts_info to FTS_INIT -+ * so that everything about the "current" node is ignored. -+ */ -+ if ((sp->fts_cur = fts_alloc(sp, "", 0)) == NULL) -+ goto mem3; -+ sp->fts_cur->fts_link = root; -+ sp->fts_cur->fts_info = FTS_INIT; -+ -+ /* -+ * If using chdir(2), grab a file descriptor pointing to dot to ensure -+ * that we can get back here; this could be avoided for some paths, -+ * but almost certainly not worth the effort. Slashes, symbolic links, -+ * and ".." are all fairly nasty problems. Note, if we can't get the -+ * descriptor we run anyway, just more slowly. -+ */ -+ if (!ISSET(FTS_NOCHDIR) -+ && (sp->fts_rfd = open(".", O_RDONLY, 0)) < 0) -+ SET(FTS_NOCHDIR); -+ -+ return (sp); -+ -+mem3: fts_lfree(root); -+ free(parent); -+mem2: free(sp->fts_path); -+mem1: free(sp); -+ return (NULL); -+} -+ -+static void -+fts_load(FTS *sp, register FTSENT *p) -+{ -+ register int len; -+ register char *cp; -+ -+ /* -+ * Load the stream structure for the next traversal. Since we don't -+ * actually enter the directory until after the preorder visit, set -+ * the fts_accpath field specially so the chdir gets done to the right -+ * place and the user can access the first node. From fts_open it's -+ * known that the path will fit. -+ */ -+ len = p->fts_pathlen = p->fts_namelen; -+ memmove(sp->fts_path, p->fts_name, len + 1); -+ if ((cp = strrchr(p->fts_name, '/')) && (cp != p->fts_name || cp[1])) { -+ len = strlen(++cp); -+ memmove(p->fts_name, cp, len + 1); -+ p->fts_namelen = len; -+ } -+ p->fts_accpath = p->fts_path = sp->fts_path; -+ sp->fts_dev = p->fts_dev; -+} -+ -+int -+fts_close(FTS *sp) -+{ -+ register FTSENT *freep, *p; -+ int saved_errno; -+ -+ /* -+ * This still works if we haven't read anything -- the dummy structure -+ * points to the root list, so we step through to the end of the root -+ * list which has a valid parent pointer. -+ */ -+ if (sp->fts_cur) { -+ for (p = sp->fts_cur; p->fts_level >= FTS_ROOTLEVEL;) { -+ freep = p; -+ p = p->fts_link != NULL ? p->fts_link : p->fts_parent; -+ free(freep); -+ } -+ free(p); -+ } -+ -+ /* Free up child linked list, sort array, path buffer. */ -+ if (sp->fts_child) -+ fts_lfree(sp->fts_child); -+ free(sp->fts_array); -+ free(sp->fts_path); -+ -+ /* Return to original directory, save errno if necessary. */ -+ if (!ISSET(FTS_NOCHDIR)) { -+ saved_errno = fchdir(sp->fts_rfd) ? errno : 0; -+ (void)close(sp->fts_rfd); -+ -+ /* Set errno and return. */ -+ if (saved_errno != 0) { -+ /* Free up the stream pointer. */ -+ free(sp); -+ errno = saved_errno; -+ return (-1); -+ } -+ } -+ -+ /* Free up the stream pointer. */ -+ free(sp); -+ return (0); -+} -+ -+/* -+ * Special case of "/" at the end of the path so that slashes aren't -+ * appended which would cause paths to be written as "....//foo". -+ */ -+#define NAPPEND(p) \ -+ (p->fts_path[p->fts_pathlen - 1] == '/' \ -+ ? p->fts_pathlen - 1 : p->fts_pathlen) -+ -+FTSENT * -+fts_read(register FTS *sp) -+{ -+ register FTSENT *p, *tmp; -+ register int instr; -+ register char *t; -+ int saved_errno; -+ -+ /* If finished or unrecoverable error, return NULL. */ -+ if (sp->fts_cur == NULL || ISSET(FTS_STOP)) -+ return (NULL); -+ -+ /* Set current node pointer. */ -+ p = sp->fts_cur; -+ -+ /* Save and zero out user instructions. */ -+ instr = p->fts_instr; -+ p->fts_instr = FTS_NOINSTR; -+ -+ /* Any type of file may be re-visited; re-stat and re-turn. */ -+ if (instr == FTS_AGAIN) { -+ p->fts_info = fts_stat(sp, p, 0); -+ return (p); -+ } -+ -+ /* -+ * Following a symlink -- SLNONE test allows application to see -+ * SLNONE and recover. If indirecting through a symlink, have -+ * keep a pointer to current location. If unable to get that -+ * pointer, follow fails. -+ */ -+ if (instr == FTS_FOLLOW && -+ (p->fts_info == FTS_SL || p->fts_info == FTS_SLNONE)) { -+ p->fts_info = fts_stat(sp, p, 1); -+ if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { -+ if ((p->fts_symfd = open(".", O_RDONLY, 0)) < 0) { -+ p->fts_errno = errno; -+ p->fts_info = FTS_ERR; -+ } else -+ p->fts_flags |= FTS_SYMFOLLOW; -+ } -+ return (p); -+ } -+ -+ /* Directory in pre-order. */ -+ if (p->fts_info == FTS_D) { -+ /* If skipped or crossed mount point, do post-order visit. */ -+ if (instr == FTS_SKIP || -+ (ISSET(FTS_XDEV) && p->fts_dev != sp->fts_dev)) { -+ if (p->fts_flags & FTS_SYMFOLLOW) -+ (void)close(p->fts_symfd); -+ if (sp->fts_child) { -+ fts_lfree(sp->fts_child); -+ sp->fts_child = NULL; -+ } -+ p->fts_info = FTS_DP; -+ return (p); -+ } -+ -+ /* Rebuild if only read the names and now traversing. */ -+ if (sp->fts_child != NULL && ISSET(FTS_NAMEONLY)) { -+ CLR(FTS_NAMEONLY); -+ fts_lfree(sp->fts_child); -+ sp->fts_child = NULL; -+ } -+ -+ /* -+ * Cd to the subdirectory. -+ * -+ * If have already read and now fail to chdir, whack the list -+ * to make the names come out right, and set the parent errno -+ * so the application will eventually get an error condition. -+ * Set the FTS_DONTCHDIR flag so that when we logically change -+ * directories back to the parent we don't do a chdir. -+ * -+ * If haven't read do so. If the read fails, fts_build sets -+ * FTS_STOP or the fts_info field of the node. -+ */ -+ if (sp->fts_child != NULL) { -+ if (fts_safe_changedir(sp, p, -1, p->fts_accpath)) { -+ p->fts_errno = errno; -+ p->fts_flags |= FTS_DONTCHDIR; -+ for (p = sp->fts_child; p != NULL; -+ p = p->fts_link) -+ p->fts_accpath = -+ p->fts_parent->fts_accpath; -+ } -+ } else if ((sp->fts_child = fts_build(sp, BREAD)) == NULL) { -+ if (ISSET(FTS_STOP)) -+ return (NULL); -+ return (p); -+ } -+ p = sp->fts_child; -+ sp->fts_child = NULL; -+ sp->fts_cur = p; -+ goto name; -+ } -+ -+ /* Move to the next node on this level. */ -+next: tmp = p; -+ if ((p = p->fts_link) != NULL) { -+ sp->fts_cur = p; -+ free(tmp); -+ -+ /* -+ * If reached the top, return to the original directory (or -+ * the root of the tree), and load the paths for the next root. -+ */ -+ if (p->fts_level == FTS_ROOTLEVEL) { -+ if (FCHDIR(sp, sp->fts_rfd)) { -+ SET(FTS_STOP); -+ return (NULL); -+ } -+ fts_load(sp, p); -+ return p; -+ } -+ -+ /* -+ * User may have called fts_set on the node. If skipped, -+ * ignore. If followed, get a file descriptor so we can -+ * get back if necessary. -+ */ -+ if (p->fts_instr == FTS_SKIP) -+ goto next; -+ if (p->fts_instr == FTS_FOLLOW) { -+ p->fts_info = fts_stat(sp, p, 1); -+ if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { -+ if ((p->fts_symfd = -+ open(".", O_RDONLY, 0)) < 0) { -+ p->fts_errno = errno; -+ p->fts_info = FTS_ERR; -+ } else -+ p->fts_flags |= FTS_SYMFOLLOW; -+ } -+ p->fts_instr = FTS_NOINSTR; -+ } -+ -+name: t = sp->fts_path + NAPPEND(p->fts_parent); -+ *t++ = '/'; -+ memmove(t, p->fts_name, p->fts_namelen + 1); -+ return p; -+ } -+ -+ /* Move up to the parent node. */ -+ p = tmp->fts_parent; -+ sp->fts_cur = p; -+ free(tmp); -+ -+ if (p->fts_level == FTS_ROOTPARENTLEVEL) { -+ /* -+ * Done; free everything up and set errno to 0 so the user -+ * can distinguish between error and EOF. -+ */ -+ free(p); -+ errno = 0; -+ return (sp->fts_cur = NULL); -+ } -+ -+ /* NUL terminate the pathname. */ -+ sp->fts_path[p->fts_pathlen] = '\0'; -+ -+ /* -+ * Return to the parent directory. If at a root node or came through -+ * a symlink, go back through the file descriptor. Otherwise, cd up -+ * one directory. -+ */ -+ if (p->fts_level == FTS_ROOTLEVEL) { -+ if (FCHDIR(sp, sp->fts_rfd)) { -+ SET(FTS_STOP); -+ return (NULL); -+ } -+ } else if (p->fts_flags & FTS_SYMFOLLOW) { -+ if (FCHDIR(sp, p->fts_symfd)) { -+ saved_errno = errno; -+ (void)close(p->fts_symfd); -+ errno = saved_errno; -+ SET(FTS_STOP); -+ return (NULL); -+ } -+ (void)close(p->fts_symfd); -+ } else if (!(p->fts_flags & FTS_DONTCHDIR) && -+ fts_safe_changedir(sp, p->fts_parent, -1, "..")) { -+ SET(FTS_STOP); -+ return (NULL); -+ } -+ p->fts_info = p->fts_errno ? FTS_ERR : FTS_DP; -+ return p; -+} -+ -+/* -+ * Fts_set takes the stream as an argument although it's not used in this -+ * implementation; it would be necessary if anyone wanted to add global -+ * semantics to fts using fts_set. An error return is allowed for similar -+ * reasons. -+ */ -+/* ARGSUSED */ -+int -+fts_set(FTS *sp, FTSENT *p, int instr) -+{ -+ if (instr != 0 && instr != FTS_AGAIN && instr != FTS_FOLLOW && -+ instr != FTS_NOINSTR && instr != FTS_SKIP) { -+ errno = EINVAL; -+ return (1); -+ } -+ p->fts_instr = instr; -+ return (0); -+} -+ -+FTSENT * -+fts_children(register FTS *sp, int instr) -+{ -+ register FTSENT *p; -+ int fd; -+ -+ if (instr != 0 && instr != FTS_NAMEONLY) { -+ errno = EINVAL; -+ return (NULL); -+ } -+ -+ /* Set current node pointer. */ -+ p = sp->fts_cur; -+ -+ /* -+ * Errno set to 0 so user can distinguish empty directory from -+ * an error. -+ */ -+ errno = 0; -+ -+ /* Fatal errors stop here. */ -+ if (ISSET(FTS_STOP)) -+ return (NULL); -+ -+ /* Return logical hierarchy of user's arguments. */ -+ if (p->fts_info == FTS_INIT) -+ return (p->fts_link); -+ -+ /* -+ * If not a directory being visited in pre-order, stop here. Could -+ * allow FTS_DNR, assuming the user has fixed the problem, but the -+ * same effect is available with FTS_AGAIN. -+ */ -+ if (p->fts_info != FTS_D /* && p->fts_info != FTS_DNR */) -+ return (NULL); -+ -+ /* Free up any previous child list. */ -+ if (sp->fts_child != NULL) -+ fts_lfree(sp->fts_child); -+ -+ if (instr == FTS_NAMEONLY) { -+ SET(FTS_NAMEONLY); -+ instr = BNAMES; -+ } else -+ instr = BCHILD; -+ -+ /* -+ * If using chdir on a relative path and called BEFORE fts_read does -+ * its chdir to the root of a traversal, we can lose -- we need to -+ * chdir into the subdirectory, and we don't know where the current -+ * directory is, so we can't get back so that the upcoming chdir by -+ * fts_read will work. -+ */ -+ if (p->fts_level != FTS_ROOTLEVEL || p->fts_accpath[0] == '/' || -+ ISSET(FTS_NOCHDIR)) -+ return (sp->fts_child = fts_build(sp, instr)); -+ -+ if ((fd = open(".", O_RDONLY, 0)) < 0) -+ return (NULL); -+ sp->fts_child = fts_build(sp, instr); -+ if (fchdir(fd)) -+ return (NULL); -+ (void)close(fd); -+ return (sp->fts_child); -+} -+ -+/* -+ * This is the tricky part -- do not casually change *anything* in here. The -+ * idea is to build the linked list of entries that are used by fts_children -+ * and fts_read. There are lots of special cases. -+ * -+ * The real slowdown in walking the tree is the stat calls. If FTS_NOSTAT is -+ * set and it's a physical walk (so that symbolic links can't be directories), -+ * we can do things quickly. First, if it's a 4.4BSD file system, the type -+ * of the file is in the directory entry. Otherwise, we assume that the number -+ * of subdirectories in a node is equal to the number of links to the parent. -+ * The former skips all stat calls. The latter skips stat calls in any leaf -+ * directories and for any files after the subdirectories in the directory have -+ * been found, cutting the stat calls by about 2/3. -+ */ -+static FTSENT * -+fts_build(register FTS *sp, int type) -+{ -+ register struct dirent *dp; -+ register FTSENT *p, *head; -+ register int nitems; -+ FTSENT *cur, *tail; -+ DIR *dirp; -+ void *oldaddr; -+ int cderrno, descend, len, level, nlinks, saved_errno, -+ nostat, doadjust; -+ size_t maxlen; -+ char *cp; -+ -+ /* Set current node pointer. */ -+ cur = sp->fts_cur; -+ -+ /* -+ * Open the directory for reading. If this fails, we're done. -+ * If being called from fts_read, set the fts_info field. -+ */ -+#if defined FTS_WHITEOUT && 0 -+ if (ISSET(FTS_WHITEOUT)) -+ oflag = DTF_NODUP|DTF_REWIND; -+ else -+ oflag = DTF_HIDEW|DTF_NODUP|DTF_REWIND; -+#else -+# define opendir2(path, flag) opendir(path) -+#endif -+ if ((dirp = opendir2(cur->fts_accpath, oflag)) == NULL) { -+ if (type == BREAD) { -+ cur->fts_info = FTS_DNR; -+ cur->fts_errno = errno; -+ } -+ return (NULL); -+ } -+ -+ /* -+ * Nlinks is the number of possible entries of type directory in the -+ * directory if we're cheating on stat calls, 0 if we're not doing -+ * any stat calls at all, -1 if we're doing stats on everything. -+ */ -+ if (type == BNAMES) { -+ nlinks = 0; -+ /* Be quiet about nostat, GCC. */ -+ nostat = 0; -+ } else if (ISSET(FTS_NOSTAT) && ISSET(FTS_PHYSICAL)) { -+ nlinks = cur->fts_nlink - (ISSET(FTS_SEEDOT) ? 0 : 2); -+ nostat = 1; -+ } else { -+ nlinks = -1; -+ nostat = 0; -+ } -+ -+#ifdef notdef -+ (void)printf("nlinks == %d (cur: %d)\n", nlinks, cur->fts_nlink); -+ (void)printf("NOSTAT %d PHYSICAL %d SEEDOT %d\n", -+ ISSET(FTS_NOSTAT), ISSET(FTS_PHYSICAL), ISSET(FTS_SEEDOT)); -+#endif -+ /* -+ * If we're going to need to stat anything or we want to descend -+ * and stay in the directory, chdir. If this fails we keep going, -+ * but set a flag so we don't chdir after the post-order visit. -+ * We won't be able to stat anything, but we can still return the -+ * names themselves. Note, that since fts_read won't be able to -+ * chdir into the directory, it will have to return different path -+ * names than before, i.e. "a/b" instead of "b". Since the node -+ * has already been visited in pre-order, have to wait until the -+ * post-order visit to return the error. There is a special case -+ * here, if there was nothing to stat then it's not an error to -+ * not be able to stat. This is all fairly nasty. If a program -+ * needed sorted entries or stat information, they had better be -+ * checking FTS_NS on the returned nodes. -+ */ -+ cderrno = 0; -+ if (nlinks || type == BREAD) { -+ if (fts_safe_changedir(sp, cur, dirfd(dirp), NULL)) { -+ if (nlinks && type == BREAD) -+ cur->fts_errno = errno; -+ cur->fts_flags |= FTS_DONTCHDIR; -+ descend = 0; -+ cderrno = errno; -+ (void)closedir(dirp); -+ dirp = NULL; -+ } else -+ descend = 1; -+ } else -+ descend = 0; -+ -+ /* -+ * Figure out the max file name length that can be stored in the -+ * current path -- the inner loop allocates more path as necessary. -+ * We really wouldn't have to do the maxlen calculations here, we -+ * could do them in fts_read before returning the path, but it's a -+ * lot easier here since the length is part of the dirent structure. -+ * -+ * If not changing directories set a pointer so that can just append -+ * each new name into the path. -+ */ -+ len = NAPPEND(cur); -+ if (ISSET(FTS_NOCHDIR)) { -+ cp = sp->fts_path + len; -+ *cp++ = '/'; -+ } else { -+ /* GCC, you're too verbose. */ -+ cp = NULL; -+ } -+ len++; -+ maxlen = sp->fts_pathlen - len; -+ -+ level = cur->fts_level + 1; -+ -+ /* Read the directory, attaching each entry to the `link' pointer. */ -+ doadjust = 0; -+ for (head = tail = NULL, nitems = 0; dirp && (dp = readdir(dirp));) { -+ if (!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name)) -+ continue; -+ -+ if ((p = fts_alloc(sp, dp->d_name, _D_EXACT_NAMLEN (dp))) == NULL) -+ goto mem1; -+ if (_D_EXACT_NAMLEN (dp) >= maxlen) {/* include space for NUL */ -+ oldaddr = sp->fts_path; -+ if (fts_palloc(sp, _D_EXACT_NAMLEN (dp) + len + 1)) { -+ /* -+ * No more memory for path or structures. Save -+ * errno, free up the current structure and the -+ * structures already allocated. -+ */ -+mem1: saved_errno = errno; -+ free(p); -+ fts_lfree(head); -+ (void)closedir(dirp); -+ cur->fts_info = FTS_ERR; -+ SET(FTS_STOP); -+ errno = saved_errno; -+ return (NULL); -+ } -+ /* Did realloc() change the pointer? */ -+ if (oldaddr != sp->fts_path) { -+ doadjust = 1; -+ if (ISSET(FTS_NOCHDIR)) -+ cp = sp->fts_path + len; -+ } -+ maxlen = sp->fts_pathlen - len; -+ } -+ -+ if (len + _D_EXACT_NAMLEN (dp) >= USHRT_MAX) { -+ /* -+ * In an FTSENT, fts_pathlen is a u_short so it is -+ * possible to wraparound here. If we do, free up -+ * the current structure and the structures already -+ * allocated, then error out with ENAMETOOLONG. -+ */ -+ free(p); -+ fts_lfree(head); -+ (void)closedir(dirp); -+ cur->fts_info = FTS_ERR; -+ SET(FTS_STOP); -+ errno = ENAMETOOLONG; -+ return (NULL); -+ } -+ p->fts_level = level; -+ p->fts_parent = sp->fts_cur; -+ p->fts_pathlen = len + _D_EXACT_NAMLEN (dp); -+ -+#if defined FTS_WHITEOUT && 0 -+ if (dp->d_type == DT_WHT) -+ p->fts_flags |= FTS_ISW; -+#endif -+ -+#if 0 -+ /* Unreachable code. cderrno is only ever set to a nonnull -+ value if dirp is closed at the same time. But then we -+ cannot enter this loop. */ -+ if (cderrno) { -+ if (nlinks) { -+ p->fts_info = FTS_NS; -+ p->fts_errno = cderrno; -+ } else -+ p->fts_info = FTS_NSOK; -+ p->fts_accpath = cur->fts_accpath; -+ } else -+#endif -+ if (nlinks == 0 -+#if defined DT_DIR && defined _DIRENT_HAVE_D_TYPE -+ || (nostat && -+ dp->d_type != DT_DIR && dp->d_type != DT_UNKNOWN) -+#endif -+ ) { -+ p->fts_accpath = -+ ISSET(FTS_NOCHDIR) ? p->fts_path : p->fts_name; -+ p->fts_info = FTS_NSOK; -+ } else { -+ /* Build a file name for fts_stat to stat. */ -+ if (ISSET(FTS_NOCHDIR)) { -+ p->fts_accpath = p->fts_path; -+ memmove(cp, p->fts_name, p->fts_namelen + 1); -+ } else -+ p->fts_accpath = p->fts_name; -+ /* Stat it. */ -+ p->fts_info = fts_stat(sp, p, 0); -+ -+ /* Decrement link count if applicable. */ -+ if (nlinks > 0 && (p->fts_info == FTS_D || -+ p->fts_info == FTS_DC || p->fts_info == FTS_DOT)) -+ --nlinks; -+ } -+ -+ /* We walk in directory order so "ls -f" doesn't get upset. */ -+ p->fts_link = NULL; -+ if (head == NULL) -+ head = tail = p; -+ else { -+ tail->fts_link = p; -+ tail = p; -+ } -+ ++nitems; -+ } -+ if (dirp) -+ (void)closedir(dirp); -+ -+ /* -+ * If realloc() changed the address of the path, adjust the -+ * addresses for the rest of the tree and the dir list. -+ */ -+ if (doadjust) -+ fts_padjust(sp, head); -+ -+ /* -+ * If not changing directories, reset the path back to original -+ * state. -+ */ -+ if (ISSET(FTS_NOCHDIR)) { -+ if (len == sp->fts_pathlen || nitems == 0) -+ --cp; -+ *cp = '\0'; -+ } -+ -+ /* -+ * If descended after called from fts_children or after called from -+ * fts_read and nothing found, get back. At the root level we use -+ * the saved fd; if one of fts_open()'s arguments is a relative path -+ * to an empty directory, we wind up here with no other way back. If -+ * can't get back, we're done. -+ */ -+ if (descend && (type == BCHILD || !nitems) && -+ (cur->fts_level == FTS_ROOTLEVEL ? -+ FCHDIR(sp, sp->fts_rfd) : -+ fts_safe_changedir(sp, cur->fts_parent, -1, ".."))) { -+ cur->fts_info = FTS_ERR; -+ SET(FTS_STOP); -+ fts_lfree(head); -+ return (NULL); -+ } -+ -+ /* If didn't find anything, return NULL. */ -+ if (!nitems) { -+ if (type == BREAD) -+ cur->fts_info = FTS_DP; -+ fts_lfree(head); -+ return (NULL); -+ } -+ -+ /* Sort the entries. */ -+ if (sp->fts_compar && nitems > 1) -+ head = fts_sort(sp, head, nitems); -+ return (head); -+} -+ -+static u_short -+fts_stat(FTS *sp, register FTSENT *p, int follow) -+{ -+ register FTSENT *t; -+ register dev_t dev; -+ register ino_t ino; -+ struct stat *sbp, sb; -+ int saved_errno; -+ -+ /* If user needs stat info, stat buffer already allocated. */ -+ sbp = ISSET(FTS_NOSTAT) ? &sb : p->fts_statp; -+ -+#if defined FTS_WHITEOUT && 0 -+ /* check for whiteout */ -+ if (p->fts_flags & FTS_ISW) { -+ if (sbp != &sb) { -+ memset(sbp, '\0', sizeof (*sbp)); -+ sbp->st_mode = S_IFWHT; -+ } -+ return (FTS_W); -+ } -+#endif -+ -+ /* -+ * If doing a logical walk, or application requested FTS_FOLLOW, do -+ * a stat(2). If that fails, check for a non-existent symlink. If -+ * fail, set the errno from the stat call. -+ */ -+ if (ISSET(FTS_LOGICAL) || follow) { -+ if (stat(p->fts_accpath, sbp)) { -+ saved_errno = errno; -+ if (!lstat(p->fts_accpath, sbp)) { -+ errno = 0; -+ return (FTS_SLNONE); -+ } -+ p->fts_errno = saved_errno; -+ goto err; -+ } -+ } else if (lstat(p->fts_accpath, sbp)) { -+ p->fts_errno = errno; -+err: memset(sbp, 0, sizeof(struct stat)); -+ return (FTS_NS); -+ } -+ -+ if (S_ISDIR(sbp->st_mode)) { -+ /* -+ * Set the device/inode. Used to find cycles and check for -+ * crossing mount points. Also remember the link count, used -+ * in fts_build to limit the number of stat calls. It is -+ * understood that these fields are only referenced if fts_info -+ * is set to FTS_D. -+ */ -+ dev = p->fts_dev = sbp->st_dev; -+ ino = p->fts_ino = sbp->st_ino; -+ p->fts_nlink = sbp->st_nlink; -+ -+ if (ISDOT(p->fts_name)) -+ return (FTS_DOT); -+ -+ /* -+ * Cycle detection is done by brute force when the directory -+ * is first encountered. If the tree gets deep enough or the -+ * number of symbolic links to directories is high enough, -+ * something faster might be worthwhile. -+ */ -+ for (t = p->fts_parent; -+ t->fts_level >= FTS_ROOTLEVEL; t = t->fts_parent) -+ if (ino == t->fts_ino && dev == t->fts_dev) { -+ p->fts_cycle = t; -+ return (FTS_DC); -+ } -+ return (FTS_D); -+ } -+ if (S_ISLNK(sbp->st_mode)) -+ return (FTS_SL); -+ if (S_ISREG(sbp->st_mode)) -+ return (FTS_F); -+ return (FTS_DEFAULT); -+} -+ -+static FTSENT * -+fts_sort(FTS *sp, FTSENT *head, register int nitems) -+{ -+ register FTSENT **ap, *p; -+ -+ /* -+ * Construct an array of pointers to the structures and call qsort(3). -+ * Reassemble the array in the order returned by qsort. If unable to -+ * sort for memory reasons, return the directory entries in their -+ * current order. Allocate enough space for the current needs plus -+ * 40 so don't realloc one entry at a time. -+ */ -+ if (nitems > sp->fts_nitems) { -+ struct _ftsent **a; -+ -+ sp->fts_nitems = nitems + 40; -+ if ((a = realloc(sp->fts_array, -+ (size_t)(sp->fts_nitems * sizeof(FTSENT *)))) == NULL) { -+ free(sp->fts_array); -+ sp->fts_array = NULL; -+ sp->fts_nitems = 0; -+ return (head); -+ } -+ sp->fts_array = a; -+ } -+ for (ap = sp->fts_array, p = head; p; p = p->fts_link) -+ *ap++ = p; -+ qsort((void *)sp->fts_array, nitems, sizeof(FTSENT *), sp->fts_compar); -+ for (head = *(ap = sp->fts_array); --nitems; ++ap) -+ ap[0]->fts_link = ap[1]; -+ ap[0]->fts_link = NULL; -+ return (head); -+} -+ -+static FTSENT * -+fts_alloc(FTS *sp, const char *name, size_t namelen) -+{ -+ register FTSENT *p; -+ size_t len; -+ -+ /* -+ * The file name is a variable length array and no stat structure is -+ * necessary if the user has set the nostat bit. Allocate the FTSENT -+ * structure, the file name and the stat structure in one chunk, but -+ * be careful that the stat structure is reasonably aligned. Since the -+ * fts_name field is declared to be of size 1, the fts_name pointer is -+ * namelen + 2 before the first possible address of the stat structure. -+ */ -+ len = sizeof(FTSENT) + namelen; -+ if (!ISSET(FTS_NOSTAT)) -+ len += sizeof(struct stat) + ALIGNBYTES; -+ if ((p = malloc(len)) == NULL) -+ return (NULL); -+ -+ /* Copy the name and guarantee NUL termination. */ -+ memmove(p->fts_name, name, namelen); -+ p->fts_name[namelen] = '\0'; -+ -+ if (!ISSET(FTS_NOSTAT)) -+ p->fts_statp = (struct stat *)ALIGN(p->fts_name + namelen + 2); -+ p->fts_namelen = namelen; -+ p->fts_path = sp->fts_path; -+ p->fts_errno = 0; -+ p->fts_flags = 0; -+ p->fts_instr = FTS_NOINSTR; -+ p->fts_number = 0; -+ p->fts_pointer = NULL; -+ return (p); -+} -+ -+static void -+fts_lfree(register FTSENT *head) -+{ -+ register FTSENT *p; -+ -+ /* Free a linked list of structures. */ -+ while ((p = head)) { -+ head = head->fts_link; -+ free(p); -+ } -+} -+ -+/* -+ * Allow essentially unlimited paths; find, rm, ls should all work on any tree. -+ * Most systems will allow creation of paths much longer than MAXPATHLEN, even -+ * though the kernel won't resolve them. Add the size (not just what's needed) -+ * plus 256 bytes so don't realloc the path 2 bytes at a time. -+ */ -+static int -+fts_palloc(FTS *sp, size_t more) -+{ -+ char *p; -+ -+ sp->fts_pathlen += more + 256; -+ /* -+ * Check for possible wraparound. In an FTS, fts_pathlen is -+ * a signed int but in an FTSENT it is an unsigned short. -+ * We limit fts_pathlen to USHRT_MAX to be safe in both cases. -+ */ -+ if (sp->fts_pathlen < 0 || sp->fts_pathlen >= USHRT_MAX) { -+ free(sp->fts_path); -+ sp->fts_path = NULL; -+ errno = ENAMETOOLONG; -+ return (1); -+ } -+ p = realloc(sp->fts_path, sp->fts_pathlen); -+ if (p == NULL) { -+ free(sp->fts_path); -+ sp->fts_path = NULL; -+ return 1; -+ } -+ sp->fts_path = p; -+ return 0; -+} -+ -+/* -+ * When the path is realloc'd, have to fix all of the pointers in structures -+ * already returned. -+ */ -+static void -+fts_padjust(FTS *sp, FTSENT *head) -+{ -+ FTSENT *p; -+ char *addr = sp->fts_path; -+ -+#define ADJUST(p) do { \ -+ if ((p)->fts_accpath != (p)->fts_name) { \ -+ (p)->fts_accpath = \ -+ (char *)addr + ((p)->fts_accpath - (p)->fts_path); \ -+ } \ -+ (p)->fts_path = addr; \ -+} while (0) -+ /* Adjust the current set of children. */ -+ for (p = sp->fts_child; p; p = p->fts_link) -+ ADJUST(p); -+ -+ /* Adjust the rest of the tree, including the current level. */ -+ for (p = head; p->fts_level >= FTS_ROOTLEVEL;) { -+ ADJUST(p); -+ p = p->fts_link ? p->fts_link : p->fts_parent; -+ } -+} -+ -+static size_t -+fts_maxarglen(char * const *argv) -+{ -+ size_t len, max; -+ -+ for (max = 0; *argv; ++argv) -+ if ((len = strlen(*argv)) > max) -+ max = len; -+ return (max + 1); -+} -+ -+/* -+ * Change to dir specified by fd or p->fts_accpath without getting -+ * tricked by someone changing the world out from underneath us. -+ * Assumes p->fts_dev and p->fts_ino are filled in. -+ */ -+static int -+fts_safe_changedir(FTS *sp, FTSENT *p, int fd, const char *path) -+{ -+ int ret, oerrno, newfd; -+ struct stat64 sb; -+ -+ newfd = fd; -+ if (ISSET(FTS_NOCHDIR)) -+ return (0); -+ if (fd < 0 && (newfd = open(path, O_RDONLY, 0)) < 0) -+ return (-1); -+ if (fstat64(newfd, &sb)) { -+ ret = -1; -+ goto bail; -+ } -+ if (p->fts_dev != sb.st_dev || p->fts_ino != sb.st_ino) { -+ errno = ENOENT; /* disinformation */ -+ ret = -1; -+ goto bail; -+ } -+ ret = fchdir(newfd); -+bail: -+ oerrno = errno; -+ if (fd < 0) -+ (void)close(newfd); -+ errno = oerrno; -+ return (ret); -+} -diff --git a/libdwfl/fts_.h b/libdwfl/fts_.h -new file mode 100644 -index 000000000000..0a070ba8dce5 ---- /dev/null -+++ b/libdwfl/fts_.h -@@ -0,0 +1,131 @@ -+/* -+ * Copyright (c) 1989, 1993 -+ * The Regents of the University of California. All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 4. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ * -+ * @(#)fts.h 8.3 (Berkeley) 8/14/94 -+ */ -+ -+#ifndef _FTS_H -+#define _FTS_H 1 -+ -+#include -+#include -+ -+/* The fts interface is incompatible with the LFS interface which -+ transparently uses the 64-bit file access functions. */ -+#ifdef __USE_FILE_OFFSET64 -+# error " cannot be used with -D_FILE_OFFSET_BITS==64" -+#endif -+ -+ -+typedef struct { -+ struct _ftsent *fts_cur; /* current node */ -+ struct _ftsent *fts_child; /* linked list of children */ -+ struct _ftsent **fts_array; /* sort array */ -+ dev_t fts_dev; /* starting device # */ -+ char *fts_path; /* path for this descent */ -+ int fts_rfd; /* fd for root */ -+ int fts_pathlen; /* sizeof(path) */ -+ int fts_nitems; /* elements in the sort array */ -+ int (*fts_compar) (const void *, const void *); /* compare fn */ -+ -+#define FTS_COMFOLLOW 0x0001 /* follow command line symlinks */ -+#define FTS_LOGICAL 0x0002 /* logical walk */ -+#define FTS_NOCHDIR 0x0004 /* don't change directories */ -+#define FTS_NOSTAT 0x0008 /* don't get stat info */ -+#define FTS_PHYSICAL 0x0010 /* physical walk */ -+#define FTS_SEEDOT 0x0020 /* return dot and dot-dot */ -+#define FTS_XDEV 0x0040 /* don't cross devices */ -+#define FTS_WHITEOUT 0x0080 /* return whiteout information */ -+#define FTS_OPTIONMASK 0x00ff /* valid user option mask */ -+ -+#define FTS_NAMEONLY 0x0100 /* (private) child names only */ -+#define FTS_STOP 0x0200 /* (private) unrecoverable error */ -+ int fts_options; /* fts_open options, global flags */ -+} FTS; -+ -+typedef struct _ftsent { -+ struct _ftsent *fts_cycle; /* cycle node */ -+ struct _ftsent *fts_parent; /* parent directory */ -+ struct _ftsent *fts_link; /* next file in directory */ -+ long fts_number; /* local numeric value */ -+ void *fts_pointer; /* local address value */ -+ char *fts_accpath; /* access path */ -+ char *fts_path; /* root path */ -+ int fts_errno; /* errno for this node */ -+ int fts_symfd; /* fd for symlink */ -+ u_short fts_pathlen; /* strlen(fts_path) */ -+ u_short fts_namelen; /* strlen(fts_name) */ -+ -+ ino_t fts_ino; /* inode */ -+ dev_t fts_dev; /* device */ -+ nlink_t fts_nlink; /* link count */ -+ -+#define FTS_ROOTPARENTLEVEL -1 -+#define FTS_ROOTLEVEL 0 -+ short fts_level; /* depth (-1 to N) */ -+ -+#define FTS_D 1 /* preorder directory */ -+#define FTS_DC 2 /* directory that causes cycles */ -+#define FTS_DEFAULT 3 /* none of the above */ -+#define FTS_DNR 4 /* unreadable directory */ -+#define FTS_DOT 5 /* dot or dot-dot */ -+#define FTS_DP 6 /* postorder directory */ -+#define FTS_ERR 7 /* error; errno is set */ -+#define FTS_F 8 /* regular file */ -+#define FTS_INIT 9 /* initialized only */ -+#define FTS_NS 10 /* stat(2) failed */ -+#define FTS_NSOK 11 /* no stat(2) requested */ -+#define FTS_SL 12 /* symbolic link */ -+#define FTS_SLNONE 13 /* symbolic link without target */ -+#define FTS_W 14 /* whiteout object */ -+ u_short fts_info; /* user flags for FTSENT structure */ -+ -+#define FTS_DONTCHDIR 0x01 /* don't chdir .. to the parent */ -+#define FTS_SYMFOLLOW 0x02 /* followed a symlink to get here */ -+ u_short fts_flags; /* private flags for FTSENT structure */ -+ -+#define FTS_AGAIN 1 /* read node again */ -+#define FTS_FOLLOW 2 /* follow symbolic link */ -+#define FTS_NOINSTR 3 /* no instructions */ -+#define FTS_SKIP 4 /* discard node */ -+ u_short fts_instr; /* fts_set() instructions */ -+ -+ struct stat *fts_statp; /* stat(2) information */ -+ char fts_name[1]; /* file name */ -+} FTSENT; -+ -+__BEGIN_DECLS -+FTSENT *fts_children (FTS *, int); -+int fts_close (FTS *); -+FTS *fts_open (char * const *, int, -+ int (*)(const FTSENT **, const FTSENT **)); -+FTSENT *fts_read (FTS *); -+int fts_set (FTS *, FTSENT *, int) __THROW; -+__END_DECLS -+ -+#endif /* fts.h */ -diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c -index 9d0fef2cf260..47f0e3892294 100644 ---- a/libdwfl/linux-kernel-modules.c -+++ b/libdwfl/linux-kernel-modules.c -@@ -31,10 +31,14 @@ - Everything we need here is fine if its declarations just come first. - Also, include sys/types.h before fts. On some systems fts.h is not self - contained. */ -+#ifdef HAVE_FTS_H - #ifdef BAD_FTS - #include - #include - #endif -+#else -+#include -+#endif - - #include - #include --- -2.11.0 - diff --git a/package/elfutils/0002-Really-make-Werror-conditional-to-BUILD_WERROR.patch b/package/elfutils/0002-Really-make-Werror-conditional-to-BUILD_WERROR.patch new file mode 100644 index 0000000000..85ac1e4b64 --- /dev/null +++ b/package/elfutils/0002-Really-make-Werror-conditional-to-BUILD_WERROR.patch @@ -0,0 +1,38 @@ +From 2688a0238eaf825d6659c16c012db0c16f07e197 Mon Sep 17 00:00:00 2001 +From: Vicente Olivert Riera +Date: Mon, 29 May 2017 23:24:42 +0300 +Subject: [PATCH] Really make -Werror conditional to BUILD_WERROR + +Otherwise it will fail with an error message like this one: + +elf_getarsym.c:290:9: error: 'n' may be used uninitialized in this +function [-Werror=maybe-uninitialized] + arsym[n].as_name = NULL; + ^ +cc1: all warnings being treated as errors + +[Vincent: tweak patch for 0.166] +[Bernd: rebased patch for 0.177] + +Signed-off-by: "Yann E. MORIN" +Signed-off-by: Vicente Olivert Riera +Signed-off-by: Bernd Kuhls +--- + config/eu.am | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/config/eu.am b/config/eu.am +index c2cc349ce876..99b368e09060 100644 +--- a/config/eu.am ++++ b/config/eu.am +@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ + -Wold-style-definition -Wstrict-prototypes -Wtrampolines \ + $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ + $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ +- $(if $($(*F)_no_Werror),,-Werror) \ + $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ + $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ + $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \ +-- +2.17.1 + diff --git a/package/elfutils/0003-Really-make-Werror-conditional-to-BUILD_WERROR.patch b/package/elfutils/0003-Really-make-Werror-conditional-to-BUILD_WERROR.patch deleted file mode 100644 index 21ffa7f31b..0000000000 --- a/package/elfutils/0003-Really-make-Werror-conditional-to-BUILD_WERROR.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 2688a0238eaf825d6659c16c012db0c16f07e197 Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Mon, 29 May 2017 23:24:42 +0300 -Subject: [PATCH] Really make -Werror conditional to BUILD_WERROR - -Otherwise it will fail with an error message like this one: - -elf_getarsym.c:290:9: error: 'n' may be used uninitialized in this -function [-Werror=maybe-uninitialized] - arsym[n].as_name = NULL; - ^ -cc1: all warnings being treated as errors - -[Vincent: tweak patch for 0.166] - -Signed-off-by: "Yann E. MORIN" -Signed-off-by: Vicente Olivert Riera ---- - config/eu.am | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/config/eu.am b/config/eu.am -index c2cc349ce876..99b368e09060 100644 ---- a/config/eu.am -+++ b/config/eu.am -@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ - -Wold-style-definition -Wstrict-prototypes \ - $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ -- $(if $($(*F)_no_Werror),,-Werror) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \ --- -2.17.1 - diff --git a/package/elfutils/Config.in b/package/elfutils/Config.in index 6c8bd0b058..f094e7b865 100644 --- a/package/elfutils/Config.in +++ b/package/elfutils/Config.in @@ -10,6 +10,7 @@ config BR2_PACKAGE_ELFUTILS depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_ZLIB select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC + select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC help Libraries/utilities to handle ELF objects (drop in replacement for libelf). diff --git a/package/elfutils/elfutils.hash b/package/elfutils/elfutils.hash index 5a76cd5868..d8a1ce3915 100644 --- a/package/elfutils/elfutils.hash +++ b/package/elfutils/elfutils.hash @@ -1,5 +1,7 @@ -# From https://sourceware.org/elfutils/ftp/0.174/sha512.sum -sha512 696708309c2a9a076099748809ecdc0490f4a8a842b2efc1aae0d746e7c5a8b203743f5626739eff837216b0c052696516b2821f5d3cc3f2eef86597c96d42df elfutils-0.174.tar.bz2 +# From https://sourceware.org/elfutils/ftp/0.177/md5.sum +md5 0b583722f911e1632544718d502aab87 elfutils-0.177.tar.bz2 +# From https://sourceware.org/elfutils/ftp/0.177/sha512.sum +sha512 2779987463a22ed220759e25a09c9a1eb84c0f36db37675136e59aa55c7f8f90b7a7d34ffc4e6a4291d7fa73692a1bd1a303a74270b11d1623b4f9868d19498f elfutils-0.177.tar.bz2 # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING-GPLV2 diff --git a/package/elfutils/elfutils.mk b/package/elfutils/elfutils.mk index 2d62017bba..c3df7303b7 100644 --- a/package/elfutils/elfutils.mk +++ b/package/elfutils/elfutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -ELFUTILS_VERSION = 0.174 +ELFUTILS_VERSION = 0.177 ELFUTILS_SOURCE = elfutils-$(ELFUTILS_VERSION).tar.bz2 ELFUTILS_SITE = https://sourceware.org/elfutils/ftp/$(ELFUTILS_VERSION) ELFUTILS_INSTALL_STAGING = YES @@ -43,6 +43,11 @@ ELFUTILS_CONF_ENV += \ ELFUTILS_LDFLAGS = $(TARGET_LDFLAGS) \ $(TARGET_NLS_LIBS) +ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),) +ELFUTILS_DEPENDENCIES += musl-fts +ELFUTILS_LDFLAGS += -lfts +endif + ELFUTILS_CONF_ENV += \ LDFLAGS="$(ELFUTILS_LDFLAGS)" @@ -67,7 +72,7 @@ endif ifeq ($(BR2_PACKAGE_ELFUTILS_PROGS),y) ELFUTILS_CONF_OPTS += --enable-progs -ELFUTILS_LICENSE := $(ELFUTILS_LICENSE), GPL-3.0+ (programs) +ELFUTILS_LICENSE += , GPL-3.0+ (programs) ELFUTILS_LICENSE_FILES += COPYING else ELFUTILS_CONF_OPTS += --disable-progs diff --git a/package/elixir/elixir.hash b/package/elixir/elixir.hash new file mode 100644 index 0000000000..b4d2f8b6b0 --- /dev/null +++ b/package/elixir/elixir.hash @@ -0,0 +1,3 @@ +# Computed locally +sha256 f3465d8a8e386f3e74831bf9594ee39e6dfde6aa430fe9260844cfe46aa10139 elixir-1.9.4.tar.gz +sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 LICENSE diff --git a/package/elixir/elixir.mk b/package/elixir/elixir.mk new file mode 100644 index 0000000000..7a545d43b0 --- /dev/null +++ b/package/elixir/elixir.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# elixir +# +################################################################################ + +ELIXIR_VERSION = 1.9.4 +ELIXIR_SITE = $(call github,elixir-lang,elixir,v$(ELIXIR_VERSION)) +ELIXIR_LICENSE = Apache-2.0 +ELIXIR_LICENSE_FILES = LICENSE +ELIXIR_DEPENDENCIES = host-erlang + +define HOST_ELIXIR_BUILD_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) compile +endef + +define HOST_ELIXIR_INSTALL_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) PREFIX="$(HOST_DIR)" -C $(@D) install +endef + +$(eval $(host-generic-package)) diff --git a/package/ell/0001-ell-ecc.h-fix-build-with-uclibc.patch b/package/ell/0001-ell-ecc.h-fix-build-with-uclibc.patch new file mode 100644 index 0000000000..f64e3d9a87 --- /dev/null +++ b/package/ell/0001-ell-ecc.h-fix-build-with-uclibc.patch @@ -0,0 +1,31 @@ +From 3ca3044859f40d7c595daf0a93393352e4999fb7 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 30 May 2019 23:46:27 +0200 +Subject: [PATCH] ell/ecc.h: fix build with uclibc + +ssize_t is defined in sys/types.h + +Fixes: + - http://autobuild.buildroot.org/results/444c9deb728fb041e560d940145f96cc4f455080 + +Signed-off-by: Fabrice Fontaine +--- + ell/ecc.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ell/ecc.h b/ell/ecc.h +index 26a5889..65c49e8 100644 +--- a/ell/ecc.h ++++ b/ell/ecc.h +@@ -27,6 +27,8 @@ + extern "C" { + #endif + ++#include // for ssize_t ++ + #define L_ECC_MAX_DIGITS 6 + #define L_ECC_SCALAR_MAX_BYTES L_ECC_MAX_DIGITS * 8 + #define L_ECC_POINT_MAX_BYTES L_ECC_SCALAR_MAX_BYTES * 2 +-- +2.20.1 + diff --git a/package/ell/0002-ell-rtnl-fix-compile-with-older-toolchains.patch b/package/ell/0002-ell-rtnl-fix-compile-with-older-toolchains.patch new file mode 100644 index 0000000000..a9828f1904 --- /dev/null +++ b/package/ell/0002-ell-rtnl-fix-compile-with-older-toolchains.patch @@ -0,0 +1,67 @@ +From 60b4cd4c703be380aef194d31a1ffc4b42431bde Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 9 Apr 2020 22:21:36 +0200 +Subject: [PATCH] ell/rtnl: fix compile with older toolchains + +Older toolchains need to include sys/types.h and sys/socket.h before +linux/if.h, RTA_PREF was introduces with linux-4.1.x. + +Fixes: + + In file included from ell/rtnl.c:28:0: + .../host/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/if.h:185:19: error: field 'ifru_addr' has incomplete type + .../host/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/if.h:186:19: error: field 'ifru_dstaddr' has incomplete type + .../host/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/if.h:187:19: error: field 'ifru_broadaddr' has incomplete type + .../host/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/if.h:188:19: error: field 'ifru_netmask' has incomplete type + .../arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/if.h:189:20: error: field 'ifru_hwaddr' has incomplete type + ell/rtnl.c: In function 'l_rtnl_route_extract': + ell/rtnl.c:120:8: error: 'RTA_PREF' undeclared (first use in this function) + +Signed-off-by: Peter Seiderer +--- + configure.ac | 2 ++ + ell/rtnl.c | 7 ++++++- + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0351f89..3be35a4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -113,6 +113,8 @@ AC_CHECK_LIB(dl, dlopen, dummy=yes, + + AC_CHECK_HEADERS(linux/types.h linux/if_alg.h) + ++AC_CHECK_DECLS([RTA_PREF], [], [], [[#include ]]) ++ + AC_ARG_ENABLE(glib, AC_HELP_STRING([--enable-glib], + [enable ell/glib main loop example]), + [enable_glib=${enableval}]) +diff --git a/ell/rtnl.c b/ell/rtnl.c +index dc83937..3493d34 100644 +--- a/ell/rtnl.c ++++ b/ell/rtnl.c +@@ -25,8 +25,9 @@ + #endif + + #define _GNU_SOURCE +-#include ++#include + #include ++#include + #include + + #include "util.h" +@@ -35,6 +36,10 @@ + #include "rtnl.h" + #include "private.h" + ++#if defined HAVE_DECL_RTA_PREF && !HAVE_DECL_RTA_PREF ++#define RTA_PREF 20 ++#endif ++ + static size_t rta_add_u8(void *rta_buf, unsigned short type, uint8_t value) + { + struct rtattr *rta = rta_buf; +-- +2.26.0 + diff --git a/package/ell/ell.hash b/package/ell/ell.hash index dd6e90f3fc..58e624baed 100644 --- a/package/ell/ell.hash +++ b/package/ell/ell.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 bb7038340bfa4eed57700a42da235ba2efce19fe7ab6b976af3e69ee9597a4dd ell-0.16.tar.gz +sha256 15abb7eff187002ce36a27f6752cd4ec815da0ab658608b1cd36a63f7a84237e ell-0.30.tar.gz # License files -sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING +sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING diff --git a/package/ell/ell.mk b/package/ell/ell.mk index 9f610e7d23..45d3df34ed 100644 --- a/package/ell/ell.mk +++ b/package/ell/ell.mk @@ -4,7 +4,7 @@ # ################################################################################ -ELL_VERSION = 0.16 +ELL_VERSION = 0.30 ELL_SITE = https://git.kernel.org/pub/scm/libs/ell/ell.git ELL_SITE_METHOD = git ELL_LICENSE = LGPL-2.1+ diff --git a/package/emlog/emlog.hash b/package/emlog/emlog.hash index 9d81d47ec2..ddc61a88e8 100644 --- a/package/emlog/emlog.hash +++ b/package/emlog/emlog.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 9f791a00c86215306597b761ef5c5ad267efee5f01efbe23cfcc04e583aa402d emlog-emlog-0.60.tar.gz +sha256 76082cf981b0865c8a1b300d4641c790a6556461901bbb63700df38300277271 emlog-0.70.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/emlog/emlog.mk b/package/emlog/emlog.mk index e0926e6cbd..7d63916ab2 100644 --- a/package/emlog/emlog.mk +++ b/package/emlog/emlog.mk @@ -4,11 +4,15 @@ # ################################################################################ -EMLOG_VERSION = emlog-0.60 -EMLOG_SITE = $(call github,nicupavel,emlog,$(EMLOG_VERSION)) +EMLOG_VERSION = 0.70 +EMLOG_SITE = $(call github,nicupavel,emlog,emlog-$(EMLOG_VERSION)) EMLOG_LICENSE = GPL-2.0 EMLOG_LICENSE_FILES = COPYING +# CVE-2019-16868 and CVE-2019-17073 are misclassified (by our CVE tracker) as +# affecting emlog, while in fact it affects http://www.emlog.net. +EMLOG_IGNORE_CVES += CVE-2019-16868 CVE-2019-17073 + define EMLOG_BUILD_CMDS $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) nbcat endef diff --git a/package/empty/empty.hash b/package/empty/empty.hash index e62939687d..47e9577070 100644 --- a/package/empty/empty.hash +++ b/package/empty/empty.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 7e6636e400856984c4405ce7bd0843aaa3329fa3efd20c58df8400a9eaa35f09 empty-0.6.20b.tgz +sha256 f01dbe3c624084900b9df1393d9062518b2bc0487acd6a3300ebd6e71352d112 COPYRIGHT diff --git a/package/enchant/enchant.hash b/package/enchant/enchant.hash index 884a8b59f2..f5709f08ee 100644 --- a/package/enchant/enchant.hash +++ b/package/enchant/enchant.hash @@ -1,2 +1,4 @@ # From http://www.abisource.com/downloads/enchant/1.6.0/MD5SUM md5 de11011aff801dc61042828041fb59c7 enchant-1.6.0.tar.gz +# locally computed +sha256 d0db934167997c8b8c863af297b3653aa98500bca0a7c05e9c6ec0dabf4f67d4 COPYING.LIB diff --git a/package/enet/Config.in b/package/enet/Config.in new file mode 100644 index 0000000000..ef3f1523da --- /dev/null +++ b/package/enet/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_ENET + bool "enet" + help + ENet's purpose is to provide a relatively thin, simple + and robust network communication layer on top of UDP + (User Datagram Protocol).The primary feature it + provides is optional reliable, in-order delivery of + packets. + + ENet omits certain higher level networking features + such as authentication, lobbying, server discovery, + encryption, or other similar tasks that are + particularly application specific so that the library + remains flexible, portable, and easily embeddable. + + http://enet.bespin.org diff --git a/package/enet/enet.hash b/package/enet/enet.hash new file mode 100644 index 0000000000..ed5231c779 --- /dev/null +++ b/package/enet/enet.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 98f6f57aab0a424469619ed3047728f0d3901ce8f0dea919c11e7966d807e870 enet-1.3.14.tar.gz +sha256 eebe647a9ef7e596b0e8b9216c215f169d762af1a27904a87bc2e05b83735d35 LICENSE diff --git a/package/enet/enet.mk b/package/enet/enet.mk new file mode 100644 index 0000000000..b12c1b60af --- /dev/null +++ b/package/enet/enet.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# enet +# +################################################################################ + +ENET_VERSION = 1.3.14 +ENET_SITE = http://enet.bespin.org/download +ENET_LICENSE = MIT +ENET_LICENSE_FILES = LICENSE + +ENET_INSTALL_STAGING = YES + +$(eval $(autotools-package)) diff --git a/package/enlightenment/Config.in b/package/enlightenment/Config.in index d1dee25f86..2cd6512e1e 100644 --- a/package/enlightenment/Config.in +++ b/package/enlightenment/Config.in @@ -13,6 +13,7 @@ config BR2_PACKAGE_ENLIGHTENMENT depends on BR2_PACKAGE_XORG7 # libevas-generic-loaders-svg -> librsvg -> pango -> harfbuzz depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 select BR2_PACKAGE_EFL_X_XLIB select BR2_PACKAGE_EFL_EEZE select BR2_PACKAGE_EFL_JPEG # needed at runtime by enlightenment_start @@ -28,8 +29,9 @@ config BR2_PACKAGE_ENLIGHTENMENT http://www.enlightenment.org/ -comment "enlightenment needs udev /dev management and a toolchain w/ wchar, C++, threads" +comment "enlightenment needs udev /dev management and a toolchain w/ wchar, C++, threads, gcc >= 4.8" depends on BR2_PACKAGE_EFL && BR2_PACKAGE_XORG7 && BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ !BR2_PACKAGE_HAS_UDEV depends on BR2_TOOLCHAIN_HAS_SYNC_4 diff --git a/package/enlightenment/enlightenment.hash b/package/enlightenment/enlightenment.hash index 4872676bee..f692a67aa1 100644 --- a/package/enlightenment/enlightenment.hash +++ b/package/enlightenment/enlightenment.hash @@ -1,3 +1,3 @@ -# From https://www.enlightenment.org/news/e0.22.4_release -sha256 59f4997c8b59457142870e40f137bc08c9735c84368d32213dacf09c4342fe79 enlightenment-0.22.4.tar.xz +# From https://www.enlightenment.org/news/e23_release +sha256 b8c5d040875576d3d3ad8572644f92a65e21291bcee6b0d62f74fbfd482afdf8 enlightenment-0.23.0.tar.xz sha256 34dbd501ec9d1c8dcc569c01db9cf9a4b7ee5981614cc9f8f613a97463d27350 COPYING diff --git a/package/enlightenment/enlightenment.mk b/package/enlightenment/enlightenment.mk index f0f9834c87..43f79d59da 100644 --- a/package/enlightenment/enlightenment.mk +++ b/package/enlightenment/enlightenment.mk @@ -4,7 +4,7 @@ # ################################################################################ -ENLIGHTENMENT_VERSION = 0.22.4 +ENLIGHTENMENT_VERSION = 0.23.0 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/enscript/enscript.hash b/package/enscript/enscript.hash index 8b7694d408..4c50a165ac 100644 --- a/package/enscript/enscript.hash +++ b/package/enscript/enscript.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature sha256 6d56bada6934d055b34b6c90399aa85975e66457ac5bf513427ae7fc77f5c0bb enscript-1.6.6.tar.gz +# Locally computed +sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/erlang-base64url/Config.in b/package/erlang-base64url/Config.in new file mode 100644 index 0000000000..7883fa3831 --- /dev/null +++ b/package/erlang-base64url/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_ERLANG_BASE64URL + bool "erlang-base64url" + help + URL safe base64-compatible codec. + + https://github.com/dvv/base64url diff --git a/package/erlang-base64url/erlang-base64url.hash b/package/erlang-base64url/erlang-base64url.hash new file mode 100644 index 0000000000..becbe5db61 --- /dev/null +++ b/package/erlang-base64url/erlang-base64url.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 7ef7210effd25ac1f82f190fcfaef53e49d7bc40bb94112c4aa07266c32a851b erlang-base64url-1.0.1.tar.gz +sha256 d59dff2fa4c39f05188ee533fbf06479eef1b47f8cad6353f8ab3726cc6923bc LICENSE.txt diff --git a/package/erlang-base64url/erlang-base64url.mk b/package/erlang-base64url/erlang-base64url.mk new file mode 100644 index 0000000000..2d49631941 --- /dev/null +++ b/package/erlang-base64url/erlang-base64url.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# erlang-base64url +# +################################################################################ + +ERLANG_BASE64URL_VERSION = 1.0.1 +ERLANG_BASE64URL_SITE = $(call github,dvv,base64url,$(ERLANG_BASE64URL_VERSION)) +ERLANG_BASE64URL_LICENSE = MIT +ERLANG_BASE64URL_LICENSE_FILES = LICENSE.txt + +$(eval $(rebar-package)) diff --git a/package/erlang-eimp/erlang-eimp.hash b/package/erlang-eimp/erlang-eimp.hash new file mode 100644 index 0000000000..a0276beded --- /dev/null +++ b/package/erlang-eimp/erlang-eimp.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 dfcdc211480f974175af615616c7f8c1e8f9dff5d6be5faa3f20c3eb4c60240e erlang-eimp-1.0.12.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/erlang-eimp/erlang-eimp.mk b/package/erlang-eimp/erlang-eimp.mk index 83d34cd5e0..c8cea0e429 100644 --- a/package/erlang-eimp/erlang-eimp.mk +++ b/package/erlang-eimp/erlang-eimp.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_EIMP_VERSION = 1.0.8 +ERLANG_EIMP_VERSION = 1.0.12 ERLANG_EIMP_SITE = $(call github,processone,eimp,$(ERLANG_EIMP_VERSION)) ERLANG_EIMP_LICENSE = Apache-2.0 ERLANG_EIMP_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-goldrush/erlang-goldrush.hash b/package/erlang-goldrush/erlang-goldrush.hash index d575aa49b2..1e20607334 100644 --- a/package/erlang-goldrush/erlang-goldrush.hash +++ b/package/erlang-goldrush/erlang-goldrush.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 6fb8ac6345d940396ecf89d4ce6b9b809039f336d85d7a54239e85106a807612 erlang-goldrush-0.1.9.tar.gz +sha256 335dd315c1bf12bd9bde777666c45e92652c9fe633101b12fc6f927b88433b6f LICENSE diff --git a/package/erlang-idna/Config.in b/package/erlang-idna/Config.in new file mode 100644 index 0000000000..de7116689a --- /dev/null +++ b/package/erlang-idna/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_ERLANG_IDNA + bool "erlang-idna" + help + A pure Erlang IDNA implementation that follows RFC5891. + + https://github.com/benoitc/erlang-idna diff --git a/package/erlang-idna/erlang-idna.hash b/package/erlang-idna/erlang-idna.hash new file mode 100644 index 0000000000..2200bbad8d --- /dev/null +++ b/package/erlang-idna/erlang-idna.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 d57e20ee88018ff0431e0275e91ada5915782870c9981fc798bcd05589031d6f erlang-idna-6.0.0.tar.gz +sha256 95f5c9410a95332b0833c4606028ee00008cd8c497336e230df3144d1a720bda LICENSE diff --git a/package/erlang-idna/erlang-idna.mk b/package/erlang-idna/erlang-idna.mk new file mode 100644 index 0000000000..27a32fb06d --- /dev/null +++ b/package/erlang-idna/erlang-idna.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# erlang-idna +# +################################################################################ + +ERLANG_IDNA_VERSION = 6.0.0 +ERLANG_IDNA_SITE = $(call github,benoitc,erlang-idna,$(ERLANG_IDNA_VERSION)) +ERLANG_IDNA_LICENSE = MIT +ERLANG_IDNA_LICENSE_FILES = LICENSE + +$(eval $(rebar-package)) diff --git a/package/erlang-jiffy/erlang-jiffy.hash b/package/erlang-jiffy/erlang-jiffy.hash index 4a201fe5d6..1c18142b6e 100644 --- a/package/erlang-jiffy/erlang-jiffy.hash +++ b/package/erlang-jiffy/erlang-jiffy.hash @@ -1,2 +1,3 @@ # Locally computed sha256 c555726f592b79894c253ca1dc3c3aec6a5697271d29364d57f8175f387b86f3 erlang-jiffy-0.14.11.tar.gz +sha256 0fa8afad2f02c08850a16e36fe55376ee19732b3a116a0207f2a73c857777a49 LICENSE diff --git a/package/erlang-jose/Config.in b/package/erlang-jose/Config.in new file mode 100644 index 0000000000..8101ff4103 --- /dev/null +++ b/package/erlang-jose/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_ERLANG_JOSE + bool "erlang-jose" + select BR2_PACKAGE_ERLANG_BASE64URL + help + JSON Object Signing and Encryption (JOSE) for Erlang and + Elixir. + + https://github.com/potatosalad/erlang-jose diff --git a/package/erlang-jose/erlang-jose.hash b/package/erlang-jose/erlang-jose.hash new file mode 100644 index 0000000000..71a1543d92 --- /dev/null +++ b/package/erlang-jose/erlang-jose.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 d55a9d3a1697833fed555a21f1aeb2727af88193995cb6ffa945d4b6749d0e8d erlang-jose-1.9.0.tar.gz +sha256 6397e2bd9a35a64c1bb798b937071fbe49d90667f717e65c74a0d0fe93d5c1be LICENSE.md diff --git a/package/erlang-jose/erlang-jose.mk b/package/erlang-jose/erlang-jose.mk new file mode 100644 index 0000000000..43ed22a9f7 --- /dev/null +++ b/package/erlang-jose/erlang-jose.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# erlang-jose +# +################################################################################ + +ERLANG_JOSE_VERSION = 1.9.0 +ERLANG_JOSE_SITE = $(call github,potatosalad,erlang-jose,$(ERLANG_JOSE_VERSION)) +ERLANG_JOSE_LICENSE = MIT +ERLANG_JOSE_LICENSE_FILES = LICENSE.md +ERLANG_JOSE_DEPENDENCIES = erlang-base64url + +$(eval $(rebar-package)) diff --git a/package/erlang-lager/erlang-lager.hash b/package/erlang-lager/erlang-lager.hash index 144cef6d3d..40291af392 100644 --- a/package/erlang-lager/erlang-lager.hash +++ b/package/erlang-lager/erlang-lager.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 c5f532dd236e07dad27976abcf12b9c90fcf33ffd6fe1b1d34639c06171c36ea erlang-lager-3.4.2.tar.gz +sha256 c5bb4ba6f918e90d2e6671c3996d72c61f2a589b65c151b3df8011d046362981 erlang-lager-3.6.10.tar.gz +sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 LICENSE diff --git a/package/erlang-lager/erlang-lager.mk b/package/erlang-lager/erlang-lager.mk index 790288a460..a698bce8d5 100644 --- a/package/erlang-lager/erlang-lager.mk +++ b/package/erlang-lager/erlang-lager.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_LAGER_VERSION = 3.4.2 +ERLANG_LAGER_VERSION = 3.6.10 ERLANG_LAGER_SITE = $(call github,erlang-lager,lager,$(ERLANG_LAGER_VERSION)) ERLANG_LAGER_LICENSE = Apache-2.0 ERLANG_LAGER_LICENSE_FILES = LICENSE diff --git a/package/erlang-p1-acme/Config.in b/package/erlang-p1-acme/Config.in new file mode 100644 index 0000000000..2c0d1d0337 --- /dev/null +++ b/package/erlang-p1-acme/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_ERLANG_P1_ACME + bool "erlang-p1-acme" + depends on BR2_INSTALL_LIBSTDCPP # erlang-jiffy + select BR2_PACKAGE_ERLANG_IDNA + select BR2_PACKAGE_ERLANG_JIFFY + select BR2_PACKAGE_ERLANG_JOSE + select BR2_PACKAGE_ERLANG_P1_YCONF + help + ACME client library for Erlang. + + https://github.com/processone/p1_acme + +comment "erlang-p1-acme needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/erlang-p1-acme/erlang-p1-acme.hash b/package/erlang-p1-acme/erlang-p1-acme.hash new file mode 100644 index 0000000000..036cb923bd --- /dev/null +++ b/package/erlang-p1-acme/erlang-p1-acme.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 556a9628c323a5a83116ed78599c891f74447b0bac237c095e776c7009089656 erlang-p1-acme-1.0.1.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/erlang-p1-acme/erlang-p1-acme.mk b/package/erlang-p1-acme/erlang-p1-acme.mk new file mode 100644 index 0000000000..ae77d4a580 --- /dev/null +++ b/package/erlang-p1-acme/erlang-p1-acme.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# erlang-p1-acme +# +################################################################################ + +ERLANG_P1_ACME_VERSION = 1.0.1 +ERLANG_P1_ACME_SITE = $(call github,processone,p1_acme,$(ERLANG_P1_ACME_VERSION)) +ERLANG_P1_ACME_LICENSE = Apache-2.0 +ERLANG_P1_ACME_LICENSE_FILES = LICENSE.txt +ERLANG_P1_ACME_DEPENDENCIES = erlang-idna erlang-jiffy erlang-jose erlang-p1-yconf + +$(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 841410292f..605ced2ba7 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,3 @@ # Locally calculated -sha256 169c3ca82b99c482e5914b616d594fed25cf34a4c995e37bfe1651d70bbaea55 erlang-p1-cache-tab-1.0.16.tar.gz +sha256 572b6532dca59c561d994bf2bf8eed3637118c64cdd3a9e51d81b506f5b09e2c erlang-p1-cache-tab-1.0.20.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt 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 a25f0a1e6e..0d53358cfa 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.16 +ERLANG_P1_CACHE_TAB_VERSION = 1.0.20 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/Config.in b/package/erlang-p1-iconv/Config.in deleted file mode 100644 index cec17d0605..0000000000 --- a/package/erlang-p1-iconv/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_ERLANG_P1_ICONV - bool "erlang-p1-iconv" - select BR2_PACKAGE_ERLANG_P1_UTILS - select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE - help - Erlang interface to libiconv - - https://github.com/processone/eiconv diff --git a/package/erlang-p1-iconv/erlang-p1-iconv.hash b/package/erlang-p1-iconv/erlang-p1-iconv.hash deleted file mode 100644 index 31bcf40731..0000000000 --- a/package/erlang-p1-iconv/erlang-p1-iconv.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated -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 deleted file mode 100644 index 79d8efe16f..0000000000 --- a/package/erlang-p1-iconv/erlang-p1-iconv.mk +++ /dev/null @@ -1,19 +0,0 @@ -################################################################################ -# -# erlang-p1-iconv -# -################################################################################ - -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 -ERLANG_P1_ICONV_DEPENDENCIES = erlang-p1-utils - -ifeq ($(BR2_PACKAGE_LIBICONV),y) -ERLANG_P1_ICONV_DEPENDENCIES += libiconv -endif - -ERLANG_P1_ICONV_USE_AUTOCONF = YES - -$(eval $(rebar-package)) diff --git a/package/erlang-p1-mqtree/Config.in b/package/erlang-p1-mqtree/Config.in new file mode 100644 index 0000000000..4e2d58c256 --- /dev/null +++ b/package/erlang-p1-mqtree/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_ERLANG_P1_MQTREE + bool "erlang-p1-mqtree" + select BR2_PACKAGE_ERLANG_P1_UTILS + help + Index tree for MQTT topic filters. + + https://github.com/processone/mqtree diff --git a/package/erlang-p1-mqtree/erlang-p1-mqtree.hash b/package/erlang-p1-mqtree/erlang-p1-mqtree.hash new file mode 100644 index 0000000000..43e98d0699 --- /dev/null +++ b/package/erlang-p1-mqtree/erlang-p1-mqtree.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 034d564e92ca8e9d66668548ea510d2cf9fdbad40609622a87374aa907110884 erlang-p1-mqtree-1.0.5.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/erlang-p1-mqtree/erlang-p1-mqtree.mk b/package/erlang-p1-mqtree/erlang-p1-mqtree.mk new file mode 100644 index 0000000000..bd5f28237c --- /dev/null +++ b/package/erlang-p1-mqtree/erlang-p1-mqtree.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# erlang-p1-mqtree +# +################################################################################ + +ERLANG_P1_MQTREE_VERSION = 1.0.5 +ERLANG_P1_MQTREE_SITE = $(call github,processone,mqtree,$(ERLANG_P1_MQTREE_VERSION)) +ERLANG_P1_MQTREE_LICENSE = Apache-2.0 +ERLANG_P1_MQTREE_LICENSE_FILES = LICENSE +ERLANG_P1_MQTREE_DEPENDENCIES = erlang-p1-utils + +$(eval $(rebar-package)) diff --git a/package/erlang-p1-oauth2/erlang-p1-oauth2.hash b/package/erlang-p1-oauth2/erlang-p1-oauth2.hash index 58756c6fd7..ed5ea55145 100644 --- a/package/erlang-p1-oauth2/erlang-p1-oauth2.hash +++ b/package/erlang-p1-oauth2/erlang-p1-oauth2.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 d7d954376ae7c131a0884c7c80b0b9e8270b6f574182df59ce4f2fbbae322854 erlang-p1-oauth2-0.6.3.tar.gz +sha256 55bf54133ce0882fab59f813ddf9ed4dac1e051a53fb4bd1c0565136ebb4d6ac erlang-p1-oauth2-0.6.5.tar.gz +sha256 0ecddd0a5e35b7fcdab451f54c5bb688fac8365cdf6b0da0ac64b7895a0770f3 LICENSE diff --git a/package/erlang-p1-oauth2/erlang-p1-oauth2.mk b/package/erlang-p1-oauth2/erlang-p1-oauth2.mk index 444bc8971b..ea7c23a517 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.3 +ERLANG_P1_OAUTH2_VERSION = 0.6.5 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-pkix/Config.in b/package/erlang-p1-pkix/Config.in new file mode 100644 index 0000000000..dfd43f9de4 --- /dev/null +++ b/package/erlang-p1-pkix/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_ERLANG_P1_PKIX + bool "erlang-p1-pkix" + help + PKIX certificates management library for Erlang. + + https://github.com/processone/pkix diff --git a/package/erlang-p1-pkix/erlang-p1-pkix.hash b/package/erlang-p1-pkix/erlang-p1-pkix.hash new file mode 100644 index 0000000000..b11340b873 --- /dev/null +++ b/package/erlang-p1-pkix/erlang-p1-pkix.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 184069d9055991cb8b7bd07dde8737a0a793e66e1ec1020deb680f83260a3e82 erlang-p1-pkix-1.0.4.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/erlang-p1-pkix/erlang-p1-pkix.mk b/package/erlang-p1-pkix/erlang-p1-pkix.mk new file mode 100644 index 0000000000..9f902d44bb --- /dev/null +++ b/package/erlang-p1-pkix/erlang-p1-pkix.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# erlang-p1-pkix +# +################################################################################ + +ERLANG_P1_PKIX_VERSION = 1.0.4 +ERLANG_P1_PKIX_SITE = $(call github,processone,pkix,$(ERLANG_P1_PKIX_VERSION)) +ERLANG_P1_PKIX_LICENSE = Apache-2.0 +ERLANG_P1_PKIX_LICENSE_FILES = LICENSE + +$(eval $(rebar-package)) diff --git a/package/erlang-p1-sip/erlang-p1-sip.hash b/package/erlang-p1-sip/erlang-p1-sip.hash index 2cd057b976..70b20f95dc 100644 --- a/package/erlang-p1-sip/erlang-p1-sip.hash +++ b/package/erlang-p1-sip/erlang-p1-sip.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 be38cceff8e2207da24805b8e1c926cdf6d63ab116be12cd829f5a3a4e5e58ab erlang-p1-sip-1.0.26.tar.gz +sha256 4c8dbba1dfcbb16a300fea5fd75f5ab2a145f011fa1ebff37e31e1672a9bc285 erlang-p1-sip-1.0.30.tar.gz +sha256 6e68ca4488fcdacf80ea0a3f5a6a294d48c2d8dc9de520cc3d6b3f3c1bc12847 LICENSE.txt diff --git a/package/erlang-p1-sip/erlang-p1-sip.mk b/package/erlang-p1-sip/erlang-p1-sip.mk index 846633873a..f7f10caf94 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.26 +ERLANG_P1_SIP_VERSION = 1.0.30 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 5200d661a8..bd1995cb73 100644 --- a/package/erlang-p1-stringprep/erlang-p1-stringprep.hash +++ b/package/erlang-p1-stringprep/erlang-p1-stringprep.hash @@ -1,2 +1,5 @@ # Locally calculated -sha256 32245561f84b03b9024c8768ad2ac8d67f285a032a7f36ff35a74c77fc701f96 erlang-p1-stringprep-1.0.14.tar.gz +sha256 119b751f569baecc4d911ff3c2a6a33a042f8d0b2e64445072d1af14ed935fc0 erlang-p1-stringprep-1.0.17.tar.gz +sha256 f44415631770cb818de6d92f3961fdfe6e407a5154f84b87cc06ac27323e919c LICENSE.ALL +sha256 42aef2a1337ef1f45ae2832aa5aa268c79b2560fb1f3ebab519629372cb24ffe LICENSE.TCL +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/erlang-p1-stringprep/erlang-p1-stringprep.mk b/package/erlang-p1-stringprep/erlang-p1-stringprep.mk index a05752508c..49ffb77cd3 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.14 +ERLANG_P1_STRINGPREP_VERSION = 1.0.17 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/erlang-p1-stun.hash b/package/erlang-p1-stun/erlang-p1-stun.hash index 7400a276a0..bf569201b8 100644 --- a/package/erlang-p1-stun/erlang-p1-stun.hash +++ b/package/erlang-p1-stun/erlang-p1-stun.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 a5a59ae3c75290029aa062ef19ecd52b8377959a8eb7352bd2a62c4ff1dd0613 erlang-p1-stun-1.0.25.tar.gz +sha256 87cfd9d75c7b956b4c26c9e94492737a4528abf4b09f4f7d89a40abaa0dc088a erlang-p1-stun-1.0.29.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/erlang-p1-stun/erlang-p1-stun.mk b/package/erlang-p1-stun/erlang-p1-stun.mk index 32bdd4f245..ff2899ffbe 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.25 +ERLANG_P1_STUN_VERSION = 1.0.29 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 af635e5221..135a5368d1 100644 --- a/package/erlang-p1-tls/erlang-p1-tls.hash +++ b/package/erlang-p1-tls/erlang-p1-tls.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 5bb883b03514999876c750cdb08a5e4cf80a9eb89319037b612e1265c43f6f6d erlang-p1-tls-1.0.25.tar.gz +sha256 6444e174650054a53624490155a914b8bea31cdefbcd5f87fc1862102dc1db6e erlang-p1-tls-1.1.2.tar.gz +sha256 6e68ca4488fcdacf80ea0a3f5a6a294d48c2d8dc9de520cc3d6b3f3c1bc12847 LICENSE.txt diff --git a/package/erlang-p1-tls/erlang-p1-tls.mk b/package/erlang-p1-tls/erlang-p1-tls.mk index b569664465..824fe41ec1 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.25 +ERLANG_P1_TLS_VERSION = 1.1.2 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 db925bddd1..f749aabe37 100644 --- a/package/erlang-p1-utils/erlang-p1-utils.hash +++ b/package/erlang-p1-utils/erlang-p1-utils.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 8f21fc0472c314572ebb066d624cb5463cf5b016e18b7fd7dca9dca2a4589382 erlang-p1-utils-1.0.13.tar.gz +sha256 2559967770558dc003bcc3c7efc216f6c57c4f23830d5de33c6bf61d8a3f880c erlang-p1-utils-1.0.16.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/erlang-p1-utils/erlang-p1-utils.mk b/package/erlang-p1-utils/erlang-p1-utils.mk index 6025e3f56c..5375971d39 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.13 +ERLANG_P1_UTILS_VERSION = 1.0.16 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/erlang-p1-xml.hash b/package/erlang-p1-xml/erlang-p1-xml.hash index ac8042da64..07e640341a 100644 --- a/package/erlang-p1-xml/erlang-p1-xml.hash +++ b/package/erlang-p1-xml/erlang-p1-xml.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 8615f77a1448e297af25f85261b6e4a84952af797da2e317c8ec71fe2fe779ac erlang-p1-xml-1.1.34.tar.gz +sha256 f3226683ec9c8406147a025beebb5b9ed0adcb28099b7c4bb9435a369e9ac3f9 erlang-p1-xml-1.1.37.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/erlang-p1-xml/erlang-p1-xml.mk b/package/erlang-p1-xml/erlang-p1-xml.mk index c8c65ff423..c66bd25776 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.34 +ERLANG_P1_XML_VERSION = 1.1.37 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/erlang-p1-xmpp.hash b/package/erlang-p1-xmpp/erlang-p1-xmpp.hash index e1c63a6065..05578f9939 100644 --- a/package/erlang-p1-xmpp/erlang-p1-xmpp.hash +++ b/package/erlang-p1-xmpp/erlang-p1-xmpp.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 699f50d50850272e67160b022fd27f3ccc46570e48968d8ee30d491bf926794d erlang-p1-xmpp-1.2.5.tar.gz +sha256 a192349e256c0c0af46e6d7f46c52e6345e61984a266696bb0346934c434f342 erlang-p1-xmpp-1.4.2.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/erlang-p1-xmpp/erlang-p1-xmpp.mk b/package/erlang-p1-xmpp/erlang-p1-xmpp.mk index e20a84f4a3..2f74c60df2 100644 --- a/package/erlang-p1-xmpp/erlang-p1-xmpp.mk +++ b/package/erlang-p1-xmpp/erlang-p1-xmpp.mk @@ -4,13 +4,14 @@ # ################################################################################ -ERLANG_P1_XMPP_VERSION = 1.2.5 +ERLANG_P1_XMPP_VERSION = 1.4.2 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-tls erlang-p1-utils erlang-p1-zlib host-erlang-p1-xml +HOST_ERLANG_P1_XMPP_DEPENDENCIES = host-erlang-p1-xml $(eval $(rebar-package)) $(eval $(host-rebar-package)) diff --git a/package/erlang-p1-yaml/erlang-p1-yaml.hash b/package/erlang-p1-yaml/erlang-p1-yaml.hash index 2f3b181f6a..116363203c 100644 --- a/package/erlang-p1-yaml/erlang-p1-yaml.hash +++ b/package/erlang-p1-yaml/erlang-p1-yaml.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 d2675ec9b2f64eba6c3437597e3abe3bfaae2172560784456a2763d1d1a50b08 erlang-p1-yaml-1.0.17.tar.gz +sha256 b915612c06ef190bfed6d0370906b071274ed4ce4143b668cdad66588a9484a0 erlang-p1-yaml-1.0.21.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/erlang-p1-yaml/erlang-p1-yaml.mk b/package/erlang-p1-yaml/erlang-p1-yaml.mk index d4173988f3..6836c3f557 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.17 +ERLANG_P1_YAML_VERSION = 1.0.21 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-yconf/Config.in b/package/erlang-p1-yconf/Config.in new file mode 100644 index 0000000000..3777ebbe14 --- /dev/null +++ b/package/erlang-p1-yconf/Config.in @@ -0,0 +1,5 @@ +config BR2_PACKAGE_ERLANG_P1_YCONF + bool "erlang-p1-yconf" + select BR2_PACKAGE_ERLANG_P1_YAML + help + YAML configuration processor. diff --git a/package/erlang-p1-yconf/erlang-p1-yconf.hash b/package/erlang-p1-yconf/erlang-p1-yconf.hash new file mode 100644 index 0000000000..6d0a9f68a1 --- /dev/null +++ b/package/erlang-p1-yconf/erlang-p1-yconf.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 94724bde03c976cdf51d0d43eece73c70381ef60a9dd7e49292d194c0beaeb53 erlang-p1-yconf-1.0.1.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/erlang-p1-yconf/erlang-p1-yconf.mk b/package/erlang-p1-yconf/erlang-p1-yconf.mk new file mode 100644 index 0000000000..5d44ec7eec --- /dev/null +++ b/package/erlang-p1-yconf/erlang-p1-yconf.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# erlang-p1-yconf +# +################################################################################ + +ERLANG_P1_YCONF_VERSION = 1.0.1 +ERLANG_P1_YCONF_SITE = $(call github,processone,yconf,$(ERLANG_P1_YCONF_VERSION)) +ERLANG_P1_YCONF_LICENSE = Apache-2.0 +ERLANG_P1_YCONF_LICENSE_FILES = LICENSE +ERLANG_P1_YCONF_DEPENDENCIES = erlang-p1-yaml + +$(eval $(rebar-package)) diff --git a/package/erlang-p1-zlib/erlang-p1-zlib.hash b/package/erlang-p1-zlib/erlang-p1-zlib.hash index 6717abdde0..ed803d98d8 100644 --- a/package/erlang-p1-zlib/erlang-p1-zlib.hash +++ b/package/erlang-p1-zlib/erlang-p1-zlib.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 3328661c512c28e68db69b82202b8d6c4127f31f2aefc5b0040ba9bce6abe9b3 erlang-p1-zlib-1.0.4.tar.gz +sha256 7d39a3cb92ed7781b6b6ba95704e2591c626d62eddb3c52dcaeac60c339084d7 erlang-p1-zlib-1.0.6.tar.gz +sha256 6e68ca4488fcdacf80ea0a3f5a6a294d48c2d8dc9de520cc3d6b3f3c1bc12847 LICENSE.txt diff --git a/package/erlang-p1-zlib/erlang-p1-zlib.mk b/package/erlang-p1-zlib/erlang-p1-zlib.mk index f62eff6377..46a7d12862 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.4 +ERLANG_P1_ZLIB_VERSION = 1.0.6 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/erlang-rebar/erlang-rebar.hash b/package/erlang-rebar/erlang-rebar.hash index 27cc91affc..b052980095 100644 --- a/package/erlang-rebar/erlang-rebar.hash +++ b/package/erlang-rebar/erlang-rebar.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 577246bafa2eb2b2c3f1d0c157408650446884555bf87901508ce71d5cc0bd07 erlang-rebar-2.6.4.tar.gz +sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 LICENSE diff --git a/package/erlang/0003-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch b/package/erlang/0003-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch deleted file mode 100644 index ad0bb6b453..0000000000 --- a/package/erlang/0003-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 011752ec7b31e3dde376270fc65c7ee70644f6e7 Mon Sep 17 00:00:00 2001 -From: Johan Oudinet -Date: Wed, 6 Dec 2017 15:01:17 +0100 -Subject: [PATCH] Link with LDLIBS instead of LIBS for DED - -Fix ERL-529 by avoiding to link with libz for no reason. - -Signed-off-by: Johan Oudinet ---- - lib/asn1/c_src/Makefile | 2 +- - lib/runtime_tools/c_src/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile -index 1f714df357..f7c6b8b9bc 100644 ---- a/lib/asn1/c_src/Makefile -+++ b/lib/asn1/c_src/Makefile -@@ -126,7 +126,7 @@ $(NIF_LIB_FILE): $(NIF_STATIC_OBJ_FILES) - $(V_RANLIB) $@ - - $(NIF_SHARED_OBJ_FILE): $(NIF_OBJ_FILES) -- $(V_LD) $(LDFLAGS) -o $(NIF_SHARED_OBJ_FILE) $(NIF_OBJ_FILES) $(CLIB_FLAGS) $(LIBS) -+ $(V_LD) $(LDFLAGS) -o $(NIF_SHARED_OBJ_FILE) $(NIF_OBJ_FILES) $(CLIB_FLAGS) $(LDLIBS) - - # ---------------------------------------------------- - # Release Target -diff --git a/lib/runtime_tools/c_src/Makefile.in b/lib/runtime_tools/c_src/Makefile.in -index 4530a83aee..4e13e0d789 100644 ---- a/lib/runtime_tools/c_src/Makefile.in -+++ b/lib/runtime_tools/c_src/Makefile.in -@@ -95,7 +95,7 @@ $(OBJDIR)/%$(TYPEMARKER).o: %.c dyntrace_lttng.h - $(V_CC) -c -o $@ $(ALL_CFLAGS) $< - - $(LIBDIR)/%$(TYPEMARKER).@DED_EXT@: $(OBJDIR)/%$(TYPEMARKER).o -- $(V_LD) $(LDFLAGS) -o $@ $^ $(LIBS) -+ $(V_LD) $(LDFLAGS) -o $@ $^ $(LDLIBS) - - clean: - rm -f $(TRACE_LIBS) --- -2.14.1 - diff --git a/package/erlang/0003-ei_portio.h-avoid-ODR-violation-of-ei_default_socket.patch b/package/erlang/0003-ei_portio.h-avoid-ODR-violation-of-ei_default_socket.patch new file mode 100644 index 0000000000..69b6fae81f --- /dev/null +++ b/package/erlang/0003-ei_portio.h-avoid-ODR-violation-of-ei_default_socket.patch @@ -0,0 +1,54 @@ +From de870d7f9f36b3e68f280057851a4585a67ab219 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Tue, 14 Jan 2020 23:15:01 +0000 +Subject: [PATCH] ei_portio.h: avoid ODR violation of + 'ei_default_socket_callbacks' + +Noticed as a build failure against fresh gcc-master: + +``` +LD otp/lib/erl_interface/bin/x86_64-unknown-linux-gnu/erl_call +ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(eirecv.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here +ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(send.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here +ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(send_reg.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here +ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(epmd_port.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here +ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_portio.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here +collect2: error: ld returned 1 exit status +make[3]: *** [x86_64-unknown-linux-gnu/Makefile:669: otp/lib/erl_interface/bin/x86_64-unknown-linux-gnu/erl_call] Error 1 +``` + +The failure looks legitimate: `ei_default_socket_callbacks` is a +struct defined in 'ei_portio.h' and in 'ei_portio.c'. + +The change flips 'ei_portio.h' definition to declaration. + +gcc-10 will change the default from -fcommon to fno-common: +https://gcc.gnu.org/PR85678. + +The error also happens if CFLAGS=-fno-common passed explicitly. + +Signed-off-by: Sergei Trofimovich + +Patch taken from upstream: https://github.com/erlang/otp/commit/de870d7f9f36b3e68f280057851a4585a67ab219 +Signed-off-by: Heiko Thiery +--- + lib/erl_interface/src/misc/ei_portio.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/erl_interface/src/misc/ei_portio.h b/lib/erl_interface/src/misc/ei_portio.h +index 84ebc5039a..5172d085b4 100644 + +--- a/lib/erl_interface/src/misc/ei_portio.h ++++ b/lib/erl_interface/src/misc/ei_portio.h +@@ -47,7 +47,7 @@ int ei_writev_fill_ctx_t__(ei_socket_callbacks *cbs, void *ctx, const struct iov + int ei_socket_callbacks_have_writev__(ei_socket_callbacks *cbs); + #endif + +-ei_socket_callbacks ei_default_socket_callbacks; ++extern ei_socket_callbacks ei_default_socket_callbacks; + + #define EI_FD_AS_CTX__(FD) \ + ((void *) (long) (FD)) +-- +2.20.1 + diff --git a/package/erlang/erlang.hash b/package/erlang/erlang.hash index 616c85e9ae..3c2f039496 100644 --- a/package/erlang/erlang.hash +++ b/package/erlang/erlang.hash @@ -1,4 +1,4 @@ # md5 from http://www.erlang.org/download/MD5, sha256 locally computed -md5 350988f024f88e9839c3715b35e7e27a otp_src_21.0.tar.gz -sha256 c7d247c0cad2d2e718eaca2e2dff051136a1347a92097abf19ebf65ea2870131 otp_src_21.0.tar.gz +md5 b2b48dad6e69c1e882843edbf2abcfd3 otp_src_22.2.tar.gz +sha256 89c2480cdac566065577c82704a48e10f89cf2e6ca5ab99e1cf80027784c678f otp_src_22.2.tar.gz sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 LICENSE.txt diff --git a/package/erlang/erlang.mk b/package/erlang/erlang.mk index ca0aa0b770..9cedb62e05 100644 --- a/package/erlang/erlang.mk +++ b/package/erlang/erlang.mk @@ -5,7 +5,7 @@ ################################################################################ # See note below when updating Erlang -ERLANG_VERSION = 21.0 +ERLANG_VERSION = 22.2 ERLANG_SITE = http://www.erlang.org/download ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz ERLANG_DEPENDENCIES = host-erlang @@ -14,12 +14,25 @@ ERLANG_LICENSE = Apache-2.0 ERLANG_LICENSE_FILES = LICENSE.txt ERLANG_INSTALL_STAGING = YES +# Remove the leftover deps directory from the ssl app +# See https://bugs.erlang.org/browse/ERL-1168 +define ERLANG_REMOVE_SSL_DEPS + rm -rf $(@D)/lib/ssl/src/deps +endef +ERLANG_POST_PATCH_HOOKS += ERLANG_REMOVE_SSL_DEPS + # Patched erts/aclocal.m4 -ERLANG_AUTORECONF = YES +define ERLANG_RUN_AUTOCONF + cd $(@D) && PATH=$(BR_PATH) ./otp_build autoconf +endef +ERLANG_DEPENDENCIES += host-autoconf +ERLANG_PRE_CONFIGURE_HOOKS += ERLANG_RUN_AUTOCONF +HOST_ERLANG_DEPENDENCIES += host-autoconf +HOST_ERLANG_PRE_CONFIGURE_HOOKS += ERLANG_RUN_AUTOCONF # Whenever updating Erlang, this value should be updated as well, to the # value of EI_VSN in the file lib/erl_interface/vsn.mk -ERLANG_EI_VSN = 3.10.3 +ERLANG_EI_VSN = 3.13.1 # The configure checks for these functions fail incorrectly ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes @@ -38,7 +51,7 @@ HOST_ERLANG_CONF_ENV += ERL_TOP=$(@D) # erlang uses openssl for all things crypto. Since the host tools (such as # rebar) uses crypto, we need to build host-erlang with support for openssl. -HOST_ERLANG_DEPENDENCIES = host-openssl +HOST_ERLANG_DEPENDENCIES += host-openssl HOST_ERLANG_CONF_OPTS = --without-javac --with-ssl=$(HOST_DIR) HOST_ERLANG_CONF_OPTS += --without-termcap @@ -65,7 +78,7 @@ ERLANG_CONF_OPTS += --without-odbc endif # Always use Buildroot's zlib -ERLANG_CONF_OPTS += --enable-shared-zlib +ERLANG_CONF_OPTS += --disable-builtin-zlib ERLANG_DEPENDENCIES += zlib # Remove source, example, gs and wx files from staging and target. diff --git a/package/erofs-utils/0001-erofs-utils-fix-configure.ac.patch b/package/erofs-utils/0001-erofs-utils-fix-configure.ac.patch new file mode 100644 index 0000000000..7ced565995 --- /dev/null +++ b/package/erofs-utils/0001-erofs-utils-fix-configure.ac.patch @@ -0,0 +1,33 @@ +From eefd95b37e1042992cb07bec1ac3f6dbe199d8f0 Mon Sep 17 00:00:00 2001 +From: Haruue Icymoon +Date: Fri, 22 Nov 2019 16:58:59 +0800 +Subject: [PATCH] erofs-utils: fix configure.ac + +./configure will fail when --with-lz4-libdir is not set, since +$with_lz4_libdir will be an empty string and generate an empty -L +into LDFLAGS. This patch fixes it. + +Link: https://lore.kernel.org/r/20191122085859.GA2414688@usamimi.host.haruue.net +Signed-off-by: Haruue Icymoon +Fixes: d51c2d043773 ("erofs-utils: introduce lz4/lz4hc compression algorithm") +Signed-off-by: Gao Xiang +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index f925358..870dfb9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -174,7 +174,7 @@ if test "x$enable_lz4" = "xyes"; then + + if test "x${have_lz4h}" = "xyes" ; then + saved_LDFLAGS=${LDFLAGS} +- LDFLAGS="-L$with_lz4_libdir ${LDFLAGS}" ++ test -z "${with_lz4_libdir}" || LDFLAGS="-L$with_lz4_libdir ${LDFLAGS}" + AC_CHECK_LIB(lz4, LZ4_compress_destSize, [ + have_lz4="yes" + have_lz4hc="yes" +-- +2.20.1 + diff --git a/package/erofs-utils/0002-erofs-utils-avoid-_LARGEFILE64_SOURCE-and-_GNU_SOURC.patch b/package/erofs-utils/0002-erofs-utils-avoid-_LARGEFILE64_SOURCE-and-_GNU_SOURC.patch new file mode 100644 index 0000000000..0b6ecab71b --- /dev/null +++ b/package/erofs-utils/0002-erofs-utils-avoid-_LARGEFILE64_SOURCE-and-_GNU_SOURC.patch @@ -0,0 +1,58 @@ +From 41d6c984699f30c11e8c92550239bbe5a3e5ada1 Mon Sep 17 00:00:00 2001 +From: Gao Xiang +Date: Sat, 14 Mar 2020 17:05:37 +0800 +Subject: [PATCH] erofs-utils: avoid _LARGEFILE64_SOURCE and _GNU_SOURCE + redefinition + +This patch can be used to resolve the following build errors: + +compress.c:10: error: "_LARGEFILE64_SOURCE" redefined [-Werror] + #define _LARGEFILE64_SOURCE + +: note: this is the location of the previous definition + +io.c:9: error: "_LARGEFILE64_SOURCE" redefined [-Werror] + #define _LARGEFILE64_SOURCE + +: note: this is the location of the previous definition + +Signed-off-by: Gao Xiang +--- + lib/compress.c | 2 ++ + lib/io.c | 4 ++++ + 2 files changed, 6 insertions(+) + +diff --git a/lib/compress.c b/lib/compress.c +index 8337487..b14ff17 100644 +--- a/lib/compress.c ++++ b/lib/compress.c +@@ -7,7 +7,9 @@ + * Created by Miao Xie + * with heavy changes by Gao Xiang + */ ++#ifndef _LARGEFILE64_SOURCE + #define _LARGEFILE64_SOURCE ++#endif + #include + #include + #include +diff --git a/lib/io.c b/lib/io.c +index 52f9424..5b998d8 100644 +--- a/lib/io.c ++++ b/lib/io.c +@@ -6,8 +6,12 @@ + * http://www.huawei.com/ + * Created by Li Guifu + */ ++#ifndef _LARGEFILE64_SOURCE + #define _LARGEFILE64_SOURCE ++#endif ++#ifndef _GNU_SOURCE + #define _GNU_SOURCE ++#endif + #include + #include + #include "erofs/io.h" +-- +2.20.1 + diff --git a/package/erofs-utils/0003-erofs-utils-avoid-using-old-compatibility-type-uint.patch b/package/erofs-utils/0003-erofs-utils-avoid-using-old-compatibility-type-uint.patch new file mode 100644 index 0000000000..cef1256975 --- /dev/null +++ b/package/erofs-utils/0003-erofs-utils-avoid-using-old-compatibility-type-uint.patch @@ -0,0 +1,75 @@ +From 873c932b1119531355df23bacc3cf6824231804b Mon Sep 17 00:00:00 2001 +From: Gao Xiang +Date: Tue, 24 Mar 2020 16:19:49 +0800 +Subject: [PATCH] erofs-utils: avoid using old compatibility type uint + +This should fix the following buildroot autobuild issues +with some configration on ARM platform [1]: + +compress.c: In function 'vle_compress_one': +compress.c:209:10: error: unknown type name 'uint' + const uint qh_aligned = round_down(ctx->head, EROFS_BLKSIZ); + ^~~~ +compress.c:210:10: error: unknown type name 'uint' + const uint qh_after = ctx->head - qh_aligned; + ^~~~ +compress.c: In function 'z_erofs_convert_to_compacted_format': +compress.c:313:8: error: unknown type name 'uint' + const uint headerpos = Z_EROFS_VLE_EXTENT_ALIGN(inode->inode_isize + + ^~~~ +compress.c:316:8: error: unknown type name 'uint' + const uint totalidx = (legacymetasize - + ^~~~ + +[1] http://autobuild.buildroot.net/results/842a3c6416416d7badf4db9f38e3b231093a786a +Link: https://lore.kernel.org/r/20200324081949.26355-1-hsiangkao@aol.com +Signed-off-by: Gao Xiang +--- + lib/compress.c | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +diff --git a/lib/compress.c b/lib/compress.c +index b14ff17..6cc68ed 100644 +--- a/lib/compress.c ++++ b/lib/compress.c +@@ -204,8 +204,9 @@ nocompression: + len -= count; + + if (!final && ctx->head >= EROFS_CONFIG_COMPR_MAX_SZ) { +- const uint qh_aligned = round_down(ctx->head, EROFS_BLKSIZ); +- const uint qh_after = ctx->head - qh_aligned; ++ const unsigned int qh_aligned = ++ round_down(ctx->head, EROFS_BLKSIZ); ++ const unsigned int qh_after = ctx->head - qh_aligned; + + memmove(ctx->queue, ctx->queue + qh_aligned, + len + qh_after); +@@ -308,11 +309,11 @@ int z_erofs_convert_to_compacted_format(struct erofs_inode *inode, + unsigned int legacymetasize, + unsigned int logical_clusterbits) + { +- const uint headerpos = Z_EROFS_VLE_EXTENT_ALIGN(inode->inode_isize + +- inode->xattr_isize) + +- sizeof(struct z_erofs_map_header); +- const uint totalidx = (legacymetasize - +- Z_EROFS_LEGACY_MAP_HEADER_SIZE) / 8; ++ const unsigned int mpos = Z_EROFS_VLE_EXTENT_ALIGN(inode->inode_isize + ++ inode->xattr_isize) + ++ sizeof(struct z_erofs_map_header); ++ const unsigned int totalidx = (legacymetasize - ++ Z_EROFS_LEGACY_MAP_HEADER_SIZE) / 8; + u8 *out, *in; + struct z_erofs_compressindex_vec cv[16]; + /* # of 8-byte units so that it can be aligned with 32 bytes */ +@@ -324,7 +325,7 @@ int z_erofs_convert_to_compacted_format(struct erofs_inode *inode, + if (logical_clusterbits > 14) /* currently not supported */ + return -ENOTSUP; + if (logical_clusterbits == 12) { +- compacted_4b_initial = (32 - headerpos % 32) / 4; ++ compacted_4b_initial = (32 - mpos % 32) / 4; + if (compacted_4b_initial == 32 / 4) + compacted_4b_initial = 0; + +-- +2.20.1 + diff --git a/package/erofs-utils/0004-erofs-utils-avoid-PAGE_SIZE-redefinition.patch b/package/erofs-utils/0004-erofs-utils-avoid-PAGE_SIZE-redefinition.patch new file mode 100644 index 0000000000..2441a841ba --- /dev/null +++ b/package/erofs-utils/0004-erofs-utils-avoid-PAGE_SIZE-redefinition.patch @@ -0,0 +1,57 @@ +From 6c087a91c968197b5a95578fc645617947c943ad Mon Sep 17 00:00:00 2001 +From: Gao Xiang +Date: Wed, 25 Mar 2020 15:42:22 +0800 +Subject: [PATCH] erofs-utils: avoid PAGE_SIZE redefinition + +Buildroot autobuild reported a PAGE_SIZE redefinition with some +configrations on i586 toolchain [1] (I didn't notice such report +from erofs-utils travis CI or distribution builds before.) + +In file included from config.c:11: +../include/erofs/internal.h:27: error: "PAGE_SIZE" redefined [-Werror] + #define PAGE_SIZE (1U << PAGE_SHIFT) + +In file included from ../include/erofs/defs.h:17, + from ../include/erofs/config.h:12, + from ../include/erofs/print.h:12, + from config.c:10: +.../sysroot/usr/include/limits.h:89: note: this is the location of the previous definition + #define PAGE_SIZE PAGESIZE + +cc1: all warnings being treated as errors + +Fix it now. + +[1] http://autobuild.buildroot.net/results/340b98caa45bafd43f109002be9da59ba7f6d971 +Link: https://lore.kernel.org/r/20200325082930.2025-1-hsiangkao@aol.com +Signed-off-by: Gao Xiang +--- + include/erofs/internal.h | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/include/erofs/internal.h b/include/erofs/internal.h +index e7d5a64..41da189 100644 +--- a/include/erofs/internal.h ++++ b/include/erofs/internal.h +@@ -23,8 +23,18 @@ typedef unsigned short umode_t; + #define PATH_MAX 4096 /* # chars in a path name including nul */ + #endif + ++#ifndef PAGE_SHIFT + #define PAGE_SHIFT (12) ++#endif ++ ++#ifndef PAGE_SIZE + #define PAGE_SIZE (1U << PAGE_SHIFT) ++#endif ++ ++/* no obvious reason to support explicit PAGE_SIZE != 4096 for now */ ++#if PAGE_SIZE != 4096 ++#error incompatible PAGE_SIZE is already defined ++#endif + + #define LOG_BLOCK_SIZE (12) + #define EROFS_BLKSIZ (1U << LOG_BLOCK_SIZE) +-- +2.20.1 + diff --git a/package/erofs-utils/Config.in b/package/erofs-utils/Config.in new file mode 100644 index 0000000000..75bcbdaae2 --- /dev/null +++ b/package/erofs-utils/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_EROFS_UTILS + bool "erofs-utils" + help + Userspace utilities for EROFS filesystem + + https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git + +if BR2_PACKAGE_EROFS_UTILS + +config BR2_PACKAGE_EROFS_UTILS_LZ4 + bool "lz4 support" + select BR2_PACKAGE_LZ4 + help + Support LZ4 compression algorithm + +endif diff --git a/package/erofs-utils/Config.in.host b/package/erofs-utils/Config.in.host new file mode 100644 index 0000000000..31ea6eb2ea --- /dev/null +++ b/package/erofs-utils/Config.in.host @@ -0,0 +1,6 @@ +config BR2_PACKAGE_HOST_EROFS_UTILS + bool "host erofs-utils" + help + Userspace utilities for EROFS filesystem + + https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git diff --git a/package/erofs-utils/erofs-utils.hash b/package/erofs-utils/erofs-utils.hash new file mode 100644 index 0000000000..45d4883a01 --- /dev/null +++ b/package/erofs-utils/erofs-utils.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 508ee818dc6a02cf986647e37cb991b76f7b3e7ea303ffc9e980772de68f3b10 erofs-utils-1.0.tar.gz +sha256 feee3b3157dcdf78d4f50edefbd5dd7adf8b6d52c11bfaaa746a85a373256713 COPYING diff --git a/package/erofs-utils/erofs-utils.mk b/package/erofs-utils/erofs-utils.mk new file mode 100644 index 0000000000..562e3a427a --- /dev/null +++ b/package/erofs-utils/erofs-utils.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# erofs-utils +# +################################################################################ + +EROFS_UTILS_VERSION = 1.0 +EROFS_UTILS_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/snapshot +EROFS_UTILS_LICENSE = GPL-2.0+ +EROFS_UTILS_LICENSE_FILES = COPYING + +# From a git tree: no generated autotools files +# Also: 0001-erofs-utils-fix-configure.ac.patch +EROFS_UTILS_AUTORECONF = YES + +ifeq ($(BR2_PACKAGE_EROFS_UTILS_LZ4),y) +EROFS_UTILS_DEPENDENCIES += lz4 +EROFS_UTILS_CONF_OPTS += --enable-lz4 +else +EROFS_UTILS_CONF_OPTS += --disable-lz4 +endif + +HOST_EROFS_UTILS_DEPENDENCIES = host-lz4 +HOST_EROFS_UTILS_CONF_OPTS += --enable-lz4 + +$(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/espeak/espeak.hash b/package/espeak/espeak.hash index 8f4a1ab95b..91feda3ca1 100644 --- a/package/espeak/espeak.hash +++ b/package/espeak/espeak.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 bf9a17673adffcc28ff7ea18764f06136547e97bbd9edf2ec612f09b207f0659 espeak-1.48.04-source.zip +sha256 0bbca7a0ad5da4a6b0677f90d17817984edce7e42d300cae94ae93e4ccba9df7 License.txt diff --git a/package/ethtool/ethtool.hash b/package/ethtool/ethtool.hash index b918dca308..86c71d7380 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 b18a6c364e42c29cdac057cf183c9674163db96b30848adfa8c2a90450f6d0c8 ethtool-4.19.tar.xz +sha256 22f81e4927d6eb6a13a259d705248a96005fce2005e15257f639f5a1c8c52b6b ethtool-5.4.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 5d632934396f90c82dfebe3c9512648bbb6333b406113d0cd331b0e0aa2d34a1 LICENSE diff --git a/package/ethtool/ethtool.mk b/package/ethtool/ethtool.mk index ae15800b19..ce4f2d862d 100644 --- a/package/ethtool/ethtool.mk +++ b/package/ethtool/ethtool.mk @@ -4,7 +4,7 @@ # ################################################################################ -ETHTOOL_VERSION = 4.19 +ETHTOOL_VERSION = 5.4 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/0001-src-libudev-libudev-monitor.c-do-not-check-if-dev-is.patch b/package/eudev/0001-src-libudev-libudev-monitor.c-do-not-check-if-dev-is.patch new file mode 100644 index 0000000000..3027ad7f17 --- /dev/null +++ b/package/eudev/0001-src-libudev-libudev-monitor.c-do-not-check-if-dev-is.patch @@ -0,0 +1,33 @@ +From 799591c57368bbe47667f5b696050247a766b117 Mon Sep 17 00:00:00 2001 +From: "Anthony G. Basile" +Date: Mon, 6 Jan 2020 11:14:47 -0500 +Subject: [PATCH] src/libudev/libudev-monitor.c: do not check if /dev is tmpfs + +This check fails for buildroot systems where /dev is not mounted +as a tmpfs filesystem. Dropping this check should be safe even +on regular systems. + +This solves issue #172. + +Signed-off-by: Anthony G. Basile +Signed-off-by: Joel Stanley +--- + src/libudev/libudev-monitor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c +index 614149c6243c..060ba733f33b 100644 +--- a/src/libudev/libudev-monitor.c ++++ b/src/libudev/libudev-monitor.c +@@ -186,7 +186,7 @@ struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const c + * We do not set a netlink multicast group here, so the socket + * will not receive any messages. + */ +- if (access(UDEV_ROOT_RUN "/udev/control", F_OK) < 0 || !udev_has_devtmpfs(udev)) { ++ if (access(UDEV_ROOT_RUN "/udev/control", F_OK) < 0) { + log_debug("the udev service seems not to be active, disable the monitor"); + group = UDEV_MONITOR_NONE; + } else +-- +2.25.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 deleted file mode 100644 index 97dac3fe81..0000000000 --- a/package/eudev/0002-missing.h-add-KEY_ALS_TOGGLE.patch +++ /dev/null @@ -1,34 +0,0 @@ -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 deleted file mode 100644 index 08e5fd2b71..0000000000 --- a/package/eudev/0003-missing.h-add-BTN_DPAD_UP.patch +++ /dev/null @@ -1,35 +0,0 @@ -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/Config.in b/package/eudev/Config.in index 2220265a55..b0ce76171a 100644 --- a/package/eudev/Config.in +++ b/package/eudev/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_EUDEV depends on BR2_USE_WCHAR # needs C99 compiler depends on !BR2_STATIC_LIBS # kmod select BR2_PACKAGE_HAS_UDEV + select BR2_PACKAGE_UDEV_GENTOO_SCRIPTS if BR2_INIT_OPENRC select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID select BR2_PACKAGE_KMOD @@ -29,8 +30,9 @@ config BR2_PACKAGE_EUDEV_RULES_GEN config BR2_PACKAGE_EUDEV_ENABLE_HWDB bool "enable hwdb installation" default y + select BR2_PACKAGE_HOST_EUDEV # for udevadm, during target-finalize help - Enables hardware database installation to /etc/udev/hwdb.d + Enables hardware database installation to /etc/udev/hwdb.bin endif diff --git a/package/eudev/Config.in.host b/package/eudev/Config.in.host new file mode 100644 index 0000000000..87dfc43912 --- /dev/null +++ b/package/eudev/Config.in.host @@ -0,0 +1,3 @@ +# Select this if you need host eudev tools (e.g. udevadm) +config BR2_PACKAGE_HOST_EUDEV + bool diff --git a/package/eudev/eudev.hash b/package/eudev/eudev.hash index 33556a2d25..e6a319ac44 100644 --- a/package/eudev/eudev.hash +++ b/package/eudev/eudev.hash @@ -1,5 +1,5 @@ # From http://dev.gentoo.org/~blueness/eudev/ -md5 c75d99910c1791dd9430d26ab76059c0 eudev-3.2.7.tar.gz +md5 dedfb1964f6098fe9320de827957331f eudev-3.2.9.tar.gz # Locally calculated -sha256 3004614bd253c1f98558460215027aaf60d7592c70be27fd384ec01db87bf062 eudev-3.2.7.tar.gz +sha256 89618619084a19e1451d373c43f141b469c9fd09767973d73dd268b92074d4fc eudev-3.2.9.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/eudev/eudev.mk b/package/eudev/eudev.mk index d88e010c28..8b677e76b6 100644 --- a/package/eudev/eudev.mk +++ b/package/eudev/eudev.mk @@ -4,7 +4,7 @@ # ################################################################################ -EUDEV_VERSION = 3.2.7 +EUDEV_VERSION = 3.2.9 EUDEV_SITE = http://dev.gentoo.org/~blueness/eudev EUDEV_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) EUDEV_LICENSE_FILES = COPYING @@ -48,9 +48,53 @@ define EUDEV_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/eudev/S10udev $(TARGET_DIR)/etc/init.d/S10udev endef +# Avoid installing S10udev with openrc, as the service is started by a unit +# from the udev-gentoo-scripts package. +define EUDEV_INSTALL_INIT_OPENRC + @: +endef + # Required by default rules for input devices define EUDEV_USERS - - input -1 * - - - Input device group + - - render -1 * - - - DRI rendering nodes + - - kvm -1 * - - - kvm nodes endef +HOST_EUDEV_DEPENDENCIES = host-gperf host-pkgconf + +HOST_EUDEV_SYSCONFDIR = $(if $(BR2_PACKAGE_SYSTEMD),/usr/lib,/etc) +HOST_EUDEV_CONF_OPTS = \ + --prefix=/usr \ + --sbindir=/sbin \ + --libexecdir=/lib \ + --with-rootlibdir=/lib \ + --sysconfdir=$(HOST_EUDEV_SYSCONFDIR) \ + --disable-blkid \ + --disable-introspection \ + --disable-kmod \ + --disable-manpages \ + --disable-rule-generator \ + --disable-selinux \ + --enable-hwdb + +define HOST_EUDEV_INSTALL_CMDS + $(INSTALL) -D -m 0755 $(@D)/src/udev/udevadm \ + $(HOST_DIR)/bin/udevadm +endef + +define HOST_EUDEV_BUILD_HWDB + $(HOST_DIR)/bin/udevadm hwdb --update --root $(TARGET_DIR) +endef +HOST_EUDEV_TARGET_FINALIZE_HOOKS += HOST_EUDEV_BUILD_HWDB + +# Note: this will run in the filesystem context, so will use a copy +# of tharget/, not the real one, so the files are still available on +# re-builds (foo-rebuild, etc...) +define HOST_EUDEV_RM_HWDB_SRC + rm -rf $(TARGET_DIR)/$(HOST_EUDEV_SYSCONFDIR)/udev/hwdb.d/ +endef +HOST_EUDEV_ROOTFS_PRE_CMD_HOOKS += HOST_EUDEV_RM_HWDB_SRC + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/evemu/0002-evemu-Update-struct-input_event.patch b/package/evemu/0002-evemu-Update-struct-input_event.patch new file mode 100644 index 0000000000..50fabaf4de --- /dev/null +++ b/package/evemu/0002-evemu-Update-struct-input_event.patch @@ -0,0 +1,110 @@ +From 30973c0bc053b2198cafb1899a0843688d5bb541 Mon Sep 17 00:00:00 2001 +From: Deepa Dinamani +Date: Mon, 15 Jan 2018 17:18:49 -0800 +Subject: [PATCH] evemu: Update struct input_event + +The struct input_event is not y2038 safe. +Update the struct according to the kernel patch: +https://lkml.org/lkml/2018/1/6/324 + +Signed-off-by: Deepa Dinamani +Signed-off-by: Peter Hutterer +[Retrieved from: +https://gitlab.freedesktop.org/libevdev/evemu/-/commit/30973c0bc053b2198cafb1899a0843688d5bb541] +Signed-off-by: Fabrice Fontaine +--- + src/evemu.c | 35 +++++++++++++++++++++++------------ + 1 file changed, 23 insertions(+), 12 deletions(-) + +diff --git a/src/evemu.c b/src/evemu.c +index a8a949b..c7ff561 100644 +--- a/src/evemu.c ++++ b/src/evemu.c +@@ -771,7 +771,7 @@ int evemu_write_event(FILE *fp, const struct input_event *ev) + { + int rc; + rc = fprintf(fp, "E: %lu.%06u %04x %04x %04d ", +- ev->time.tv_sec, (unsigned)ev->time.tv_usec, ++ ev->input_event_sec, (unsigned)ev->input_event_usec, + ev->type, ev->code, ev->value); + rc += write_event_desc(fp, ev); + return rc; +@@ -800,13 +800,19 @@ int evemu_record(FILE *fp, int fd, int ms) + if (ret < 0) + return ret; + if (ret == sizeof(ev)) { ++ struct timeval tv; + long time; + ++ tv.tv_sec = ev.input_event_sec; ++ tv.tv_usec = ev.input_event_usec; ++ + if (offset == 0) +- offset = time_to_long(&ev.time) - 1; ++ offset = time_to_long(&tv) - 1; + +- time = time_to_long(&ev.time); +- ev.time = long_to_time(time - offset); ++ time = time_to_long(&tv); ++ tv = long_to_time(time - offset); ++ ev.input_event_sec = tv.tv_sec; ++ ev.input_event_usec = tv.tv_usec; + evemu_write_event(fp, &ev); + fflush(fp); + } +@@ -839,8 +845,8 @@ int evemu_read_event(FILE *fp, struct input_event *ev) + return -1; + } + +- ev->time.tv_sec = sec; +- ev->time.tv_usec = usec; ++ ev->input_event_sec = sec; ++ ev->input_event_usec = usec; + ev->type = type; + ev->code = code; + ev->value = value; +@@ -852,8 +858,8 @@ out: + + int evemu_create_event(struct input_event *ev, int type, int code, int value) + { +- ev->time.tv_sec = 0; +- ev->time.tv_usec = 0; ++ ev->input_event_sec = 0; ++ ev->input_event_usec = 0; + ev->type = type; + ev->code = code; + ev->value = value; +@@ -873,6 +879,7 @@ static inline unsigned long us2s(unsigned long us) + int evemu_read_event_realtime(FILE *fp, struct input_event *ev, + struct timeval *evtime) + { ++ struct timeval tv; + unsigned long usec; + const unsigned long ERROR_MARGIN = 150; /* µs */ + int ret; +@@ -882,14 +889,18 @@ int evemu_read_event_realtime(FILE *fp, struct input_event *ev, + return ret; + + if (evtime) { +- if (evtime->tv_sec == 0 && evtime->tv_usec == 0) +- *evtime = ev->time; +- usec = time_to_long(&ev->time) - time_to_long(evtime); ++ if (evtime->tv_sec == 0 && evtime->tv_usec == 0) { ++ evtime->tv_sec = ev->input_event_sec; ++ evtime->tv_usec = ev->input_event_usec; ++ } ++ tv.tv_sec = ev->input_event_sec; ++ tv.tv_usec = ev->input_event_usec; ++ usec = time_to_long(&tv) - time_to_long(evtime); + if (usec > ERROR_MARGIN * 2) { + if (usec > s2us(10)) + error(INFO, "Sleeping for %lds.\n", us2s(usec)); + usleep(usec - ERROR_MARGIN); +- *evtime = ev->time; ++ *evtime = tv; + } + } + +-- +2.24.1 + diff --git a/package/evemu/0003-src-evemu.c-fix-build-with-kernels-4.16.patch b/package/evemu/0003-src-evemu.c-fix-build-with-kernels-4.16.patch new file mode 100644 index 0000000000..55221aca2c --- /dev/null +++ b/package/evemu/0003-src-evemu.c-fix-build-with-kernels-4.16.patch @@ -0,0 +1,52 @@ +From fd204f628021c9bb13870a8c983d9c63e1a53ebb Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 23 Mar 2020 11:04:11 +0100 +Subject: [PATCH] src/evemu.c: fix build with kernels >= 4.16 + +Commit 30973c0b forgot to update all occurences of input_event, this +will result in the following build failure with kernel >= 4.16: + +evemu.c: In function 'write_event_desc': +evemu.c:753:23: error: 'const struct input_event' has no member named 'time'; did you mean 'type'? + time = millis(&ev->time); + ^~~~ + type + +Fixes: + - http://autobuild.buildroot.org/results/487dd5056ec0a977d55b23417d5db2664dcc91fa + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://gitlab.freedesktop.org/libevdev/evemu/-/commit/fd204f628021c9bb13870a8c983d9c63e1a53ebb] +--- + src/evemu.c | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/src/evemu.c b/src/evemu.c +index c7ff561..42dbe1d 100644 +--- a/src/evemu.c ++++ b/src/evemu.c +@@ -733,11 +733,6 @@ out: + return rc; + } + +-static inline unsigned long millis(const struct timeval *tv) +-{ +- return tv->tv_sec * 1000 + tv->tv_usec/1000; +-} +- + static int write_event_desc(FILE *fp, const struct input_event *ev) + { + int rc; +@@ -750,7 +745,7 @@ static int write_event_desc(FILE *fp, const struct input_event *ev) + libevdev_event_code_get_name(ev->type, ev->code), + ev->value); + } else { +- time = millis(&ev->time); ++ time = ev->input_event_sec * 1000 + ev->input_event_usec/1000; + dt = time - last_ms; + last_ms = time; + rc = fprintf(fp, "# ------------ %s (%d) ---------- %+ldms\n", +-- +2.24.1 + diff --git a/package/evemu/0004-src-evemu.c-fix-build-with-kernels-4.16.patch b/package/evemu/0004-src-evemu.c-fix-build-with-kernels-4.16.patch new file mode 100644 index 0000000000..0ff3ee8529 --- /dev/null +++ b/package/evemu/0004-src-evemu.c-fix-build-with-kernels-4.16.patch @@ -0,0 +1,47 @@ +From 1babf63444b7b7f3c84e2561fbdecd5fd5a0e36f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 24 Mar 2020 09:06:29 +0100 +Subject: [PATCH] src/evemu.c: fix build with kernels < 4.16 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Commit 30973c0b fixed the build with kernels >= 4.16 but as a side +effect, build with kernels < 4.16 is now failing on: + +evemu.c:892:18: error: ‘struct input_event’ has no member named ‘input_event_usec’ + tv.tv_usec = ev->input_event_usec; + ^~ + +Fix this error by defining input_event_sec and input_event_usec if +needed + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://gitlab.freedesktop.org/libevdev/evemu/-/commit/1babf63444b7b7f3c84e2561fbdecd5fd5a0e36f] +--- + src/evemu.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/evemu.c b/src/evemu.c +index 42dbe1d..2f457c1 100644 +--- a/src/evemu.c ++++ b/src/evemu.c +@@ -63,6 +63,14 @@ + + #define SYSCALL(call) while (((call) == -1) && (errno == EINTR)) + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#endif ++ ++#ifndef input_event_usec ++#define input_event_usec time.tv_usec ++#endif ++ + enum error_level { + INFO, + WARNING, +-- +2.24.1 + diff --git a/package/evemu/evemu.hash b/package/evemu/evemu.hash index 7d45eb3e5b..13dd402937 100644 --- a/package/evemu/evemu.hash +++ b/package/evemu/evemu.hash @@ -1,2 +1,4 @@ # From https://lists.freedesktop.org/archives/input-tools/2017-September/001416.html -sha256 78c9400d55eeeb5ab75161360543f9376438c4da4934cb34cdda5b46021ae379 evemu-2.7.0.tar.xz +sha256 78c9400d55eeeb5ab75161360543f9376438c4da4934cb34cdda5b46021ae379 evemu-2.7.0.tar.xz +# locally computed +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING diff --git a/package/eventlog/Config.in b/package/eventlog/Config.in deleted file mode 100644 index f9442f6187..0000000000 --- a/package/eventlog/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_EVENTLOG - bool "eventlog" - help - eventlog is a library for creating structured events from - applications, and is the workhorse behind syslog-ng's own - messages. - - https://my.balabit.com/downloads/eventlog/ diff --git a/package/eventlog/eventlog.hash b/package/eventlog/eventlog.hash deleted file mode 100644 index b8f2ec6141..0000000000 --- a/package/eventlog/eventlog.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From https://my.balabit.com/downloads/eventlog/0.2/eventlog_0.2.12.dsc -sha256 494dac8e01dc5ce323df2ad554d94874938dab51aa025987677b2bc6906a9c66 eventlog_0.2.12.tar.gz diff --git a/package/eventlog/eventlog.mk b/package/eventlog/eventlog.mk deleted file mode 100644 index 7253657165..0000000000 --- a/package/eventlog/eventlog.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# eventlog -# -################################################################################ - -EVENTLOG_VERSION_MAJOR = 0.2 -EVENTLOG_VERSION = $(EVENTLOG_VERSION_MAJOR).12 -EVENTLOG_SOURCE = eventlog_$(EVENTLOG_VERSION).tar.gz -EVENTLOG_SITE = https://my.balabit.com/downloads/eventlog/$(EVENTLOG_VERSION_MAJOR) -EVENTLOG_LICENSE = BSD-3-Clause -EVENTLOG_LICENSE_FILES = COPYING -EVENTLOG_INSTALL_STAGING = YES - -$(eval $(autotools-package)) diff --git a/package/evtest/0001-Add-missing-limits.h-include.patch b/package/evtest/0001-Add-missing-limits.h-include.patch new file mode 100644 index 0000000000..6c7fc90482 --- /dev/null +++ b/package/evtest/0001-Add-missing-limits.h-include.patch @@ -0,0 +1,38 @@ +From 7d7c5a81b0e2f3321d269b7acc450d1eec7a910b Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Sun, 18 Aug 2019 09:57:23 +0300 +Subject: [PATCH] Add missing limits.h include +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes build with musl libc that does not include limits.h indirectly via +other headers. + +evtest.c: In function ‘scan_devices’: +evtest.c:886:14: error: ‘PATH_MAX’ undeclared (first use in this function); did you mean INT8_MAX’? + char fname[PATH_MAX]; + ^~~~~~~~ + +Signed-off-by: Baruch Siach +--- +Upstream status: sent to input-tools@lists.freedesktop.org (moderated) + + evtest.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/evtest.c b/evtest.c +index 37d4f8540333..548c203564d3 100644 +--- a/evtest.c ++++ b/evtest.c +@@ -56,6 +56,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.23.0.rc1 + diff --git a/package/evtest/0002-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/package/evtest/0002-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 0000000000..e39ccb641f --- /dev/null +++ b/package/evtest/0002-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,46 @@ +From 70c5dd9e858ed577a4bbe7ec8920934c89df08fc Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 11:58:58 -0800 +Subject: [PATCH] Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Signed-off-by: Khem Raj +Signed-off-by: Baruch Siach +--- +Upstream status: commit 648f5c1a9e0 + + evtest.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/evtest.c b/evtest.c +index 548c203564d3..8d592f42bdca 100644 +--- a/evtest.c ++++ b/evtest.c +@@ -61,6 +61,11 @@ + #include + #include + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + #define BITS_PER_LONG (sizeof(long) * 8) + #define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) + #define OFF(x) ((x)%BITS_PER_LONG) +@@ -1140,7 +1145,7 @@ static int print_events(int fd) + type = ev[i].type; + code = ev[i].code; + +- printf("Event: time %ld.%06ld, ", ev[i].time.tv_sec, ev[i].time.tv_usec); ++ printf("Event: time %ld.%06ld, ", ev[i].input_event_sec, ev[i].input_event_usec); + + if (type == EV_SYN) { + if (code == SYN_MT_REPORT) +-- +2.25.1 + diff --git a/package/evtest/Config.in b/package/evtest/Config.in index 1087217ee4..e74bac02fd 100644 --- a/package/evtest/Config.in +++ b/package/evtest/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_EVTEST device. It then monitors the device and displays all the events layer events generated. - http://cgit.freedesktop.org/evtest + https://gitlab.freedesktop.org/libevdev/evtest diff --git a/package/evtest/evtest.hash b/package/evtest/evtest.hash index e131318f47..b1ee24371e 100644 --- a/package/evtest/evtest.hash +++ b/package/evtest/evtest.hash @@ -1,2 +1,5 @@ # locally computed -sha256 9fb68236a6871c163e52433ba8f2cce142c0f4208163a2962768c13f262d549f evtest-1.33.tar.gz +sha256 0e7a2eeff380af796e5e9b21b6f48fd706c58c931162c151c2c1074bdfeb85c6 evtest-evtest-1.34.tar.gz + +# License files +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/evtest/evtest.mk b/package/evtest/evtest.mk index d00d4cb624..8b8667e045 100644 --- a/package/evtest/evtest.mk +++ b/package/evtest/evtest.mk @@ -4,8 +4,9 @@ # ################################################################################ -EVTEST_VERSION = 1.33 -EVTEST_SITE = http://cgit.freedesktop.org/evtest/snapshot +EVTEST_VERSION = 1.34 +EVTEST_SOURCE = evtest-evtest-$(EVTEST_VERSION).tar.gz +EVTEST_SITE = https://gitlab.freedesktop.org/libevdev/evtest/-/archive/evtest-$(EVTEST_VERSION) EVTEST_LICENSE = GPL-2.0+ EVTEST_LICENSE_FILES = COPYING EVTEST_DEPENDENCIES = host-pkgconf diff --git a/package/execline/execline.hash b/package/execline/execline.hash index 6bf3ccff64..cef4959bda 100644 --- a/package/execline/execline.hash +++ b/package/execline/execline.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 f6993094766652041c21fde9c07ef53a3cd4b93a64123d9578fb4997a2cefca1 execline-2.5.0.0.tar.gz -sha256 3eadcf980c40da0f257b8292d805ff41e5e5a908c1942315d9a627732e1aa012 COPYING +sha256 05205c6869ae65a51c63d0e805572573806f6474aa21e12c49dd5654d3ceed33 execline-2.5.3.0.tar.gz +sha256 d8e17a6418d26867c13801810903a1f78beac8cfe8f92c2a85afe59f3c3fc48c COPYING diff --git a/package/execline/execline.mk b/package/execline/execline.mk index 83205e3706..74ad91e4a8 100644 --- a/package/execline/execline.mk +++ b/package/execline/execline.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXECLINE_VERSION = 2.5.0.0 +EXECLINE_VERSION = 2.5.3.0 EXECLINE_SITE = http://skarnet.org/software/execline EXECLINE_LICENSE = ISC EXECLINE_LICENSE_FILES = COPYING diff --git a/package/exempi/Config.in b/package/exempi/Config.in index c9af219a20..eba12a2a3c 100644 --- a/package/exempi/Config.in +++ b/package/exempi/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_EXEMPI depends on !BR2_STATIC_LIBS # dlfcn.h depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_WCHAR select BR2_PACKAGE_EXPAT select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_ZLIB @@ -12,5 +13,6 @@ config BR2_PACKAGE_EXEMPI 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 +comment "exempi needs a toolchain w/ C++, dynamic library, threads, wchar" + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR diff --git a/package/exempi/exempi.hash b/package/exempi/exempi.hash index 562a4d9b75..e8b71a483e 100644 --- a/package/exempi/exempi.hash +++ b/package/exempi/exempi.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 406185feb88e84ea1d4b4251370be2991205790d7113a7e28e192ff46a4f221e exempi-2.4.5.tar.bz2 +sha256 100b3d5b1b3370bc2e31c0978991716c4a4478246a2ac2df6382054a0ae89bc8 exempi-2.5.1.tar.bz2 sha256 3d3c3593c15e0d35bdae0df7c642106250f6be3adc61477419413900f23ae607 COPYING diff --git a/package/exempi/exempi.mk b/package/exempi/exempi.mk index 91b1d5da1f..2b6bd4fa81 100644 --- a/package/exempi/exempi.mk +++ b/package/exempi/exempi.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXEMPI_VERSION = 2.4.5 +EXEMPI_VERSION = 2.5.1 EXEMPI_SOURCE = exempi-$(EXEMPI_VERSION).tar.bz2 EXEMPI_SITE = https://libopenraw.freedesktop.org/download EXEMPI_INSTALL_STAGING = YES diff --git a/package/exfat-utils/Config.in b/package/exfat-utils/Config.in index 9dfbbfcfb8..4e8f167db4 100644 --- a/package/exfat-utils/Config.in +++ b/package/exfat-utils/Config.in @@ -4,6 +4,13 @@ config BR2_PACKAGE_EXFAT_UTILS help exFAT filesystem utilities. + This is the set of user-space utilities that go together + with the FUSE-based exfat driver from package/exfat. + + If you're using the exfat driver from the official Linux + kernel (merged as of Linux 5.7), you must use the user-space + utilities from package/exfatprogs. + https://github.com/relan/exfat comment "exfat-utils needs a toolchain w/ wchar" diff --git a/package/exfat-utils/exfat-utils.mk b/package/exfat-utils/exfat-utils.mk index 62cd47186f..16d5aa03db 100644 --- a/package/exfat-utils/exfat-utils.mk +++ b/package/exfat-utils/exfat-utils.mk @@ -9,4 +9,6 @@ EXFAT_UTILS_SITE = https://github.com/relan/exfat/releases/download/v$(EXFAT_UTI EXFAT_UTILS_LICENSE = GPL-3.0+ EXFAT_UTILS_LICENSE_FILES = COPYING +EXFAT_UTILS_CONF_OPTS += --exec-prefix=/ + $(eval $(autotools-package)) diff --git a/package/exfat/exfat.mk b/package/exfat/exfat.mk index b52b197062..d8744feb9b 100644 --- a/package/exfat/exfat.mk +++ b/package/exfat/exfat.mk @@ -12,4 +12,6 @@ EXFAT_LICENSE = GPL-3.0+ EXFAT_LICENSE_FILES = COPYING EXFAT_CFLAGS = $(TARGET_CFLAGS) -std=c99 +EXFAT_CONF_OPTS += --exec-prefix=/ + $(eval $(autotools-package)) diff --git a/package/exfatprogs/Config.in b/package/exfatprogs/Config.in new file mode 100644 index 0000000000..4f50427a68 --- /dev/null +++ b/package/exfatprogs/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_EXFATPROGS + bool "exfatprogs" + depends on BR2_USE_WCHAR + help + exFAT filesystem userspace utilities. + + This is the set of tools that works together with the exfat + driver in the official Linux kernel (merged in Linux 5.7). + + If you're using the FUSE-based exfat support (from + package/exfat), you must use the corresponding user-space + programs in package/exfat-utils. + + https://github.com/exfatprogs/exfatprogs + +comment "exfatprogs needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR diff --git a/package/exfatprogs/Config.in.host b/package/exfatprogs/Config.in.host new file mode 100644 index 0000000000..d4a0b0c249 --- /dev/null +++ b/package/exfatprogs/Config.in.host @@ -0,0 +1,13 @@ +config BR2_PACKAGE_HOST_EXFATPROGS + bool "host exfatprogs" + help + exFAT filesystem userspace utilities + + This is the set of tools that works together with the exfat + driver in the official Linux kernel (merged in Linux 5.7). + + If you're using the FUSE-based exfat support (from + package/exfat), you must use the corresponding user-space + programs in package/exfat-utils. + + https://github.com/exfatprogs/exfatprogs diff --git a/package/exfatprogs/exfatprogs.hash b/package/exfatprogs/exfatprogs.hash new file mode 100644 index 0000000000..6beb2777c2 --- /dev/null +++ b/package/exfatprogs/exfatprogs.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 e73863d2f27901834e0dae678ecbb3d899e206d6036cca27d9b24b9479487f65 exfatprogs-1.0.3.tar.gz +sha256 576540abf5e95029ad4ad90e32071385a5e95b2c30708c706116f3eb87b9a3de COPYING diff --git a/package/exfatprogs/exfatprogs.mk b/package/exfatprogs/exfatprogs.mk new file mode 100644 index 0000000000..a78cde3373 --- /dev/null +++ b/package/exfatprogs/exfatprogs.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# exfatprogs +# +################################################################################ + +EXFATPROGS_VERSION = 1.0.3 +EXFATPROGS_SITE = https://github.com/exfatprogs/exfatprogs/releases/download/$(EXFATPROGS_VERSION) +EXFATPROGS_LICENSE = GPL-2.0+ +EXFATPROGS_LICENSE_FILES = COPYING +EXFATPROGS_DEPENDENCIES = host-pkgconf +HOST_EXFATPROGS_DEPENDENCIES = host-pkgconf + +$(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/exim/0004-Fix-uClibc-build.patch b/package/exim/0004-Fix-uClibc-build.patch new file mode 100644 index 0000000000..9d5452bb56 --- /dev/null +++ b/package/exim/0004-Fix-uClibc-build.patch @@ -0,0 +1,35 @@ +From 68ea4fc7ca53bf010e5ec738ad078452f0eaa639 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Tue, 23 Jul 2019 18:48:06 +0200 +Subject: [PATCH] Fix uClibc build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +structs.h:757:18: error: ‘NS_MAXMSG’ undeclared here (not in a function); did you mean ‘N_MASC’? + uschar answer[NS_MAXMSG]; /* the answer itself */ + +Patch sent upstream: https://github.com/Exim/exim/pull/70 + +Signed-off-by: Bernd Kuhls +--- + OS/os.h-Linux | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/OS/os.h-Linux b/OS/os.h-Linux +index 63cf9babd..1d82e9bad 100644 +--- a/OS/os.h-Linux ++++ b/OS/os.h-Linux +@@ -87,5 +87,9 @@ then change the 0 to 1 in the next block. */ + # define TCPI_OPT_SYN_DATA 32 + #endif + ++/* Needed for uClibc */ ++#ifndef NS_MAXMSG ++# define NS_MAXMSG 65535 ++#endif + + /* End */ +-- +2.20.1 + diff --git a/package/exim/0004-glibc.patch b/package/exim/0004-glibc.patch deleted file mode 100644 index 7ae2ef8c70..0000000000 --- a/package/exim/0004-glibc.patch +++ /dev/null @@ -1,27 +0,0 @@ -uClibc does not contain gnu/libc-version.h - -Patch sent upstream: https://bugs.exim.org/show_bug.cgi?id=2070 - -Signed-off-by: Bernd Kuhls - -diff -uNr exim-4.88.org/src/exim.c exim-4.88/src/exim.c ---- exim-4.88.org/src/exim.c 2016-12-18 15:02:28.000000000 +0100 -+++ exim-4.88/src/exim.c 2016-12-26 12:12:57.000000000 +0100 -@@ -12,7 +12,7 @@ - - #include "exim.h" - --#ifdef __GLIBC__ -+#if defined(__GLIBC__) && !defined(__UCLIBC__) - # include - #endif - -@@ -1044,7 +1044,7 @@ - fprintf(f, "Compiler: \n"); - #endif - --#ifdef __GLIBC__ -+#if defined(__GLIBC__) && !defined(__UCLIBC__) - fprintf(f, "Library version: Glibc: Compile: %d.%d\n", - __GLIBC__, __GLIBC_MINOR__); - if (__GLIBC_PREREQ(2, 1)) diff --git a/package/exim/0005-Fix-base64d-buffer-size-CVE-2018-6789.patch b/package/exim/0005-Fix-base64d-buffer-size-CVE-2018-6789.patch deleted file mode 100644 index 1811a7ff98..0000000000 --- a/package/exim/0005-Fix-base64d-buffer-size-CVE-2018-6789.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 062990cc1b2f9e5d82a413b53c8f0569075de700 Mon Sep 17 00:00:00 2001 -From: "Heiko Schlittermann (HS12-RIPE)" -Date: Mon, 5 Feb 2018 22:23:32 +0100 -Subject: [PATCH] Fix base64d() buffer size (CVE-2018-6789) - -Credits for discovering this bug: Meh Chang - -[Peter: Drop ChangeLog change, fix path] -Signed-off-by: Peter Korsgaard ---- - src/base64.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/src/base64.c b/src/base64.c -index f6f187f0..e58ca6c7 100644 ---- a/src/base64.c -+++ b/src/base64.c -@@ -152,10 +152,14 @@ static uschar dec64table[] = { - int - b64decode(const uschar *code, uschar **ptr) - { -+ - int x, y; --uschar *result = store_get(3*(Ustrlen(code)/4) + 1); -+uschar *result; - --*ptr = result; -+{ -+ int l = Ustrlen(code); -+ *ptr = result = store_get(1 + l/4 * 3 + l%4); -+} - - /* Each cycle of the loop handles a quantum of 4 input bytes. For the last - quantum this may decode to 1, 2, or 3 output bytes. */ --- -2.11.0 - diff --git a/package/exim/0005-exim_lock-fix-lstat-related-build-errors.patch b/package/exim/0005-exim_lock-fix-lstat-related-build-errors.patch new file mode 100644 index 0000000000..a0a279fc43 --- /dev/null +++ b/package/exim/0005-exim_lock-fix-lstat-related-build-errors.patch @@ -0,0 +1,51 @@ +From bbcf4320134efd8a01ce5a02bb9af62019ca05f6 Mon Sep 17 00:00:00 2001 +From: Luca Ceresoli +Date: Tue, 4 Feb 2020 15:57:48 +0100 +Subject: [PATCH] exim_lock: fix lstat-related build errors + +exim_lock fails to cross-compile with the Sourcery CodeBench ARM 2014.05 +toolchain due the a missing include of sys/types.h, needed for the +constants used by fstat() and lstat(). + +Discovered when cross-compiling with the Buildroot embedded Linux +buildsystem. + +Fixes: + + exim_lock.c:427:30: error: 'S_IFMT' undeclared (first use in this function) + if ((statbuf.st_mode & S_IFMT) == S_IFLNK) + ^ + exim_lock.c:427:30: note: each undeclared identifier is reported only once for each function it appears in + exim_lock.c:427:41: error: 'S_IFLNK' undeclared (first use in this function) + if ((statbuf.st_mode & S_IFMT) == S_IFLNK) + ^ + +Signed-off-by: Luca Ceresoli +Upstream-status: https://bugs.exim.org/show_bug.cgi?id=2523 +--- + src/exim_lock.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/exim_lock.c b/src/exim_lock.c +index 068216816054..cb140aff6436 100644 +--- a/src/exim_lock.c ++++ b/src/exim_lock.c +@@ -13,6 +13,8 @@ Argument: the name of the lock file + Copyright (c) The Exim Maintainers 2016 + */ + ++#define _XOPEN_SOURCE ++ + #include "os.h" + + #include +@@ -26,6 +28,7 @@ Copyright (c) The Exim Maintainers 2016 + #include + #include + #include ++#include + #include + #include + #include +-- +2.25.0 diff --git a/package/exim/0006-remove-libnsl.patch b/package/exim/0006-remove-libnsl.patch deleted file mode 100644 index 8ca53c9acb..0000000000 --- a/package/exim/0006-remove-libnsl.patch +++ /dev/null @@ -1,37 +0,0 @@ -From b722f8fc01f6b1d71c98c0c66f759935b0dac136 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 19 May 2018 20:36:41 +0200 -Subject: [PATCH] remove libnsl - -glibc now considers its built-in libnsl as being obsolete, and requires -passing --enable-obsolete-libnsl to have it built and installed. libnsl -is now provided as a separate project [1], but it isn't packaged yet in -Buildroot. - -Exim's nis.so and nisplus.so lookup modules require libnsl, -but they are not build by default. So we can safely remove -lnsl -from the Makefile-Linux. - -[1] https://github.com/thkukuk/libnsl.git - -Signed-off-by: Romain Naour ---- - OS/Makefile-Linux | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/OS/Makefile-Linux b/OS/Makefile-Linux -index 990f884..ea5644b 100644 ---- a/OS/Makefile-Linux -+++ b/OS/Makefile-Linux -@@ -19,7 +19,7 @@ CFLAGS_DYNAMIC ?= -shared -rdynamic - DBMLIB = -ldb - USE_DB = yes - --LIBS = -lnsl -lcrypt -lm -+LIBS = -lcrypt -lm - LIBRESOLV = -lresolv - - X11=/usr/X11R6 --- -2.14.3 - diff --git a/package/exim/0006-sieve-fix-build-errors.patch b/package/exim/0006-sieve-fix-build-errors.patch new file mode 100644 index 0000000000..f4b95d50bc --- /dev/null +++ b/package/exim/0006-sieve-fix-build-errors.patch @@ -0,0 +1,42 @@ +From e9d0b5b022df172d3615e9e2875506c74e6d7cd1 Mon Sep 17 00:00:00 2001 +From: Luca Ceresoli +Date: Wed, 5 Feb 2020 17:13:57 +0100 +Subject: [PATCH] sieve: fix build errors + +sieve fails to cross-compile with the Sourcery CodeBench ARM 2014.05 +toolchain with a huge number of errors, including: + + .../sysroot/usr/include/arpa/nameser.h:115:2: error: unknown type name 'u_char' + const u_char *_msg, *_eom; + ^ + .../sysroot/usr/include/arpa/nameser.h:474:1: error: unknown type name 'u_long' + u_long ns_get32 (const u_char *) __THROW; + ^ + .../sysroot/usr/include/arpa/nameser.h:475:31: error: expected ')' before '*' token + void ns_put16 (u_int, u_char *) __THROW; + ^ + +Discovered when cross-compiling with the Buildroot embedded Linux +buildsystem. + +Signed-off-by: Luca Ceresoli +Upstream-status: https://bugs.exim.org/show_bug.cgi?id=2523 +--- + src/sieve.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/sieve.c b/src/sieve.c +index 5e8d1e6f4776..9632f2d43810 100644 +--- a/src/sieve.c ++++ b/src/sieve.c +@@ -12,6 +12,8 @@ + + /* Sieve mail filter. */ + ++#define _BSD_SOURCE ++ + #include + #include + #include +-- +2.25.0 diff --git a/package/exim/0007-Makefile-Base-fix-version.-h-sh-generation-with-para.patch b/package/exim/0007-Makefile-Base-fix-version.-h-sh-generation-with-para.patch new file mode 100644 index 0000000000..e97bd78a6a --- /dev/null +++ b/package/exim/0007-Makefile-Base-fix-version.-h-sh-generation-with-para.patch @@ -0,0 +1,84 @@ +From 19f6e36d3473ddba1a211e7af9352a10febb7270 Mon Sep 17 00:00:00 2001 +From: Luca Ceresoli +Date: Fri, 1 May 2020 16:27:48 +0200 +Subject: [PATCH] Makefile-Base: fix version.{h,sh} generation with parallel + build + +When using parallel make (make -j) the build sometimes fails either +during 'make' or during 'make install'. + +Error messages look either like: + + make[1]: Entering directory '/home/buildroot/autobuild/instance-2/output-1/build/exim-4.93.0.4' + /bin/sh scripts/source_checks + `Makefile' is up to date. + + make[2]: Entering directory '/home/buildroot/autobuild/instance-2/output-1/build/exim-4.93.0.4/build-br' + /bin/sh ../scripts/Configure-os.c + ../scripts/reversion: Your copy of Exim lacks any version information. + Makefile:785: recipe for target 'version.sh' failed + +or like: + + DESTDIR=/home/buildroot/autobuild/instance-2/output-1/target INSTALL_ARG="-no_chown -no_symlink" build=br /usr/bin/make -j4 -C /home/buildroot/autobuild/instance-2/output-1/build/exim-4.93.0.4 CFLAGS="-std=c99 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os " install + make[1]: Entering directory '/home/buildroot/autobuild/instance-2/output-1/build/exim-4.93.0.4' + /bin/sh scripts/source_checks + `Makefile' is up to date. + + make[2]: Entering directory '/home/buildroot/autobuild/instance-2/output-1/build/exim-4.93.0.4/build-br' + /home/buildroot/autobuild/instance-2/output-1/host/bin/i586-linux-gcc version.c + version.c: In function 'version_init': + version.c:32:1: error: expected expression before ';' token + ; + ^ + +This is due to the rule: + + version.h version.sh:: + @../scripts/reversion + +that executes reversion twice, once to satisfy the version.h target and +once for version.sh. This is unnecessary because reversion generates both +files anyway, but harmless without parallel build. When using parallel make +however reversion is sporadically run in a time sequence such that the +generated files are being used by other rules while they are being +rewritten by the second reversion instance. + +Fix by making only one of the two targets run reversion, and the other one +depend on it. + +Fixes builds found by the Buildroot autobuilders: + http://autobuild.buildroot.net/results/ebf/ebfccad007e216564889645a07f5487747116331// + http://autobuild.buildroot.net/results/56a/56a8457efcb32579ad6da99a769b6438dd0db267// + http://autobuild.buildroot.net/results/6a1/6a1f8a352649baf767b094cb6bbe2a7397fa7fac// + http://autobuild.buildroot.net/results/5ed/5ed1c42b3d33198f32d1267e5cc2b1fa1211495a// + http://autobuild.buildroot.net/results/b30/b304569948fd481ce33ecd052a1036153c5d459e// + http://autobuild.buildroot.net/results/d2c/d2c7abfe08672e53ff890127f787f8d2e84860f4// + +Signed-off-by: Luca Ceresoli +Upstream-status: patch submitted (https://bugs.exim.org/show_bug.cgi?id=2566) + +--- + OS/Makefile-Base | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/OS/Makefile-Base b/OS/Makefile-Base +index b66678bee4de..4966c25b5359 100644 +--- a/OS/Makefile-Base ++++ b/OS/Makefile-Base +@@ -664,9 +664,11 @@ PHDRS = ../config.h \ + + # Update Exim's version information and build the version object. + +-version.h version.sh:: ++version.sh:: + @../scripts/reversion + ++version.h: version.sh ++ + cnumber.h: version.h + + version.o: $(HDRS) cnumber.h version.h version.c +-- +2.26.2 + diff --git a/package/exim/S86exim b/package/exim/S86exim index bec88fc222..0d09361f65 100644 --- a/package/exim/S86exim +++ b/package/exim/S86exim @@ -3,11 +3,19 @@ # Start/stop exim # -PIDFILE=/var/lock/exim/exim-daemon.pid +PIDFILE=/var/run/exim/exim.pid case "$1" in start) echo "Starting exim..." + if [ ! -d /var/log/exim ]; then + mkdir -p /var/log/exim + chown exim:mail /var/log/exim + fi + if [ ! -d /var/run/exim ]; then + mkdir -p /var/run/exim + chown root:mail /var/run/exim + fi start-stop-daemon -S -x exim -- -bd ;; stop) diff --git a/package/exim/exim.hash b/package/exim/exim.hash index 41f51b15eb..7cedf1bc88 100644 --- a/package/exim/exim.hash +++ b/package/exim/exim.hash @@ -1,2 +1,6 @@ -# Locally calculated after checking pgp signature -sha256 1a21322a10e2da9c0bd6a2a483b6e7ef8fa7f16efcab4c450fd73e7188f5fa94 exim-4.89.1.tar.xz +# From https://ftp.exim.org/pub/exim/exim4/fixes/00-sha256sums.txt +sha256 537d366ee18ed357656f54f255f8f9e11bde9684fcaaecaaa56f84cdbcd3e405 exim-4.93.0.4.tar.xz +# From https://ftp.exim.org/pub/exim/exim4/fixes/00-sha512sums.txt +sha512 84951849b69399d6f187d2801760dc0cb9e61c88c7c88aaca4e07e48120199a6be94b2236d058ffeacb8d611dd84056b610d480353c301a3ad5799768dd39d96 exim-4.93.0.4.tar.xz +# Locally calculated +sha256 49240db527b7e55b312a46fc59794fde5dd006422e422257f4f057bfd27b3c8f LICENCE diff --git a/package/exim/exim.mk b/package/exim/exim.mk index bde2df1153..90ec364168 100644 --- a/package/exim/exim.mk +++ b/package/exim/exim.mk @@ -4,12 +4,12 @@ # ################################################################################ -EXIM_VERSION = 4.89.1 +EXIM_VERSION = 4.93.0.4 EXIM_SOURCE = exim-$(EXIM_VERSION).tar.xz -EXIM_SITE = ftp://ftp.exim.org/pub/exim/exim4 +EXIM_SITE = https://ftp.exim.org/pub/exim/exim4/fixes EXIM_LICENSE = GPL-2.0+ EXIM_LICENSE_FILES = LICENCE -EXIM_DEPENDENCIES = pcre berkeleydb host-pkgconf +EXIM_DEPENDENCIES = host-berkeleydb host-pcre pcre berkeleydb host-pkgconf # Modify a variable value. It must already exist in the file, either # commented or not. @@ -39,6 +39,8 @@ define EXIM_USE_DEFAULT_CONFIG_FILE $(INSTALL) -m 0644 $(@D)/src/EDITME $(@D)/Local/Makefile $(call exim-config-change,BIN_DIRECTORY,/usr/sbin) $(call exim-config-change,CONFIGURE_FILE,/etc/exim/configure) + $(call exim-config-change,LOG_FILE_PATH,/var/log/exim/exim_%slog) + $(call exim-config-change,PID_FILE_PATH,/var/run/exim/exim.pid) $(call exim-config-change,EXIM_USER,ref:exim) $(call exim-config-change,EXIM_GROUP,mail) $(call exim-config-change,TRANSPORT_LMTP,yes) @@ -48,6 +50,7 @@ define EXIM_USE_DEFAULT_CONFIG_FILE $(call exim-config-unset,EXIM_MONITOR) $(call exim-config-change,AUTH_PLAINTEXT,yes) $(call exim-config-change,AUTH_CRAM_MD5,yes) + $(call exim-config-unset,SUPPORT_DANE) endef ifeq ($(BR2_PACKAGE_DOVECOT),y) @@ -65,11 +68,15 @@ endef endif ifeq ($(BR2_PACKAGE_OPENSSL),y) -EXIM_DEPENDENCIES += openssl +EXIM_DEPENDENCIES += host-openssl openssl define EXIM_USE_DEFAULT_CONFIG_FILE_OPENSSL - $(call exim-config-change,SUPPORT_TLS,yes) + $(call exim-config-change,USE_OPENSSL,yes) $(call exim-config-change,USE_OPENSSL_PC,openssl) endef +else +define EXIM_USE_DEFAULT_CONFIG_FILE_OPENSSL + $(call exim-config-change,DISABLE_TLS,yes) +endef endif # musl does not provide struct ip_options nor struct ip_opts (but it is @@ -111,17 +118,26 @@ ifeq ($(BR2_STATIC_LIBS),y) EXIM_STATIC_FLAGS = LFLAGS="-pthread --static" endif -# "The -j (parallel) flag must not be used with make" -# (http://www.exim.org/exim-html-current/doc/html/spec_html/ch04.html) +# We need the host version of macro_predef during the build, before +# building it we need to prepare the makefile. define EXIM_BUILD_CMDS - $(TARGET_MAKE_ENV) build=br $(MAKE1) -C $(@D) $(EXIM_STATIC_FLAGS) + $(TARGET_MAKE_ENV) build=br $(MAKE) -C $(@D) makefile + $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/build-br macro_predef \ + CC="$(HOSTCC)" \ + LNCC="$(HOSTCC)" \ + CFLAGS="-std=c99 $(HOST_CFLAGS)" \ + LFLAGS="-fPIC $(HOST_LDFLAGS)" + $(TARGET_MAKE_ENV) build=br $(MAKE) -C $(@D) $(EXIM_STATIC_FLAGS) \ + CFLAGS="-std=c99 $(TARGET_CFLAGS)" endef # Need to replicate the LFLAGS in install, as exim still wants to build # something when installing... define EXIM_INSTALL_TARGET_CMDS DESTDIR=$(TARGET_DIR) INSTALL_ARG="-no_chown -no_symlink" build=br \ - $(MAKE1) -C $(@D) $(EXIM_STATIC_FLAGS) install + $(MAKE) -C $(@D) $(EXIM_STATIC_FLAGS) \ + CFLAGS="-std=c99 $(TARGET_CFLAGS)" \ + install chmod u+s $(TARGET_DIR)/usr/sbin/exim endef @@ -137,9 +153,6 @@ endef define EXIM_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/exim/exim.service \ $(TARGET_DIR)/usr/lib/systemd/system/exim.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -sf ../../../../usr/lib/systemd/system/exim.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/exim.service endef $(eval $(generic-package)) diff --git a/package/exim/exim.service b/package/exim/exim.service index 26daabc4c0..ac3f067de4 100644 --- a/package/exim/exim.service +++ b/package/exim/exim.service @@ -3,7 +3,11 @@ Description=Exim MTA After=syslog.target network.target [Service] -ExecStart=/usr/bin/exim -bdf +User=exim +Group=mail +LogsDirectory=exim +RuntimeDirectory=exim +ExecStart=/usr/sbin/exim -bdf Restart=always [Install] diff --git a/package/exiv2/0001-crwimage-Check-offset-and-size-against-total-size.patch b/package/exiv2/0001-crwimage-Check-offset-and-size-against-total-size.patch new file mode 100644 index 0000000000..f26006e3a5 --- /dev/null +++ b/package/exiv2/0001-crwimage-Check-offset-and-size-against-total-size.patch @@ -0,0 +1,32 @@ +From b7890776c62398ca1005e8edc32786859d60fcf7 Mon Sep 17 00:00:00 2001 +From: Jens Georg +Date: Sun, 6 Oct 2019 15:05:20 +0200 +Subject: [PATCH] crwimage: Check offset and size against total size + +Corrupted or specially crafted CRW images might exceed the overall +buffersize. + +Fixes #1019 + +(cherry picked from commit 683451567284005cd24e1ccb0a76ca401000968b) +[Retrieved (and slightly updated to keep only the fix) from: +https://github.com/Exiv2/exiv2/commit/50e9dd964a439da357798344ed1dd86edcadf0ec] +Signed-off-by: Fabrice Fontaine +--- + src/crwimage_int.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/crwimage_int.cpp b/src/crwimage_int.cpp +index 29311fdb7..c0d955350 100644 +--- a/src/crwimage_int.cpp ++++ b/src/crwimage_int.cpp +@@ -268,6 +268,9 @@ namespace Exiv2 { + #ifdef EXIV2_DEBUG_MESSAGES + std::cout << "Reading directory 0x" << std::hex << tag() << "\n"; + #endif ++ if (this->offset() + this->size() > size) ++ throw Error(kerOffsetOutOfRange); ++ + readDirectory(pData + offset(), this->size(), byteOrder); + #ifdef EXIV2_DEBUG_MESSAGES + std::cout << "<---- 0x" << std::hex << tag() << "\n"; diff --git a/package/exiv2/0002-fix_1011_jp2_readmetadata_loop.patch b/package/exiv2/0002-fix_1011_jp2_readmetadata_loop.patch new file mode 100644 index 0000000000..400bf342ce --- /dev/null +++ b/package/exiv2/0002-fix_1011_jp2_readmetadata_loop.patch @@ -0,0 +1,86 @@ +From 1b917c3f7dd86336a9f6fda4456422c419dfe88c Mon Sep 17 00:00:00 2001 +From: clanmills +Date: Tue, 1 Oct 2019 17:39:44 +0100 +Subject: [PATCH] Fix #1011 fix_1011_jp2_readmetadata_loop + +[Retrieved (and slighlty updated to keep only the fix) from: +https://github.com/Exiv2/exiv2/commit/a82098f4f90cd86297131b5663c3dec6a34470e8] +Signed-off-by: Fabrice Fontaine +--- + src/jp2image.cpp | 25 +++++++++++++++---- + test/data/Jp2Image_readMetadata_loop.poc | Bin 0 -> 738 bytes + tests/bugfixes/github/test_CVE_2017_17725.py | 4 +-- + tests/bugfixes/github/test_issue_1011.py | 13 ++++++++++ + 4 files changed, 35 insertions(+), 7 deletions(-) + create mode 100755 test/data/Jp2Image_readMetadata_loop.poc + create mode 100644 tests/bugfixes/github/test_issue_1011.py + +diff --git a/src/jp2image.cpp b/src/jp2image.cpp +index d5cd1340a..0de088d62 100644 +--- a/src/jp2image.cpp ++++ b/src/jp2image.cpp +@@ -18,10 +18,6 @@ + * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. + */ + +-/* +- File: jp2image.cpp +-*/ +- + // ***************************************************************************** + + // included header files +@@ -197,6 +193,16 @@ namespace Exiv2 + return result; + } + ++static void boxes_check(size_t b,size_t m) ++{ ++ if ( b > m ) { ++#ifdef EXIV2_DEBUG_MESSAGES ++ std::cout << "Exiv2::Jp2Image::readMetadata box maximum exceeded" << std::endl; ++#endif ++ throw Error(kerCorruptedMetadata); ++ } ++} ++ + void Jp2Image::readMetadata() + { + #ifdef EXIV2_DEBUG_MESSAGES +@@ -219,9 +225,12 @@ namespace Exiv2 + Jp2BoxHeader subBox = {0,0}; + Jp2ImageHeaderBox ihdr = {0,0,0,0,0,0,0,0}; + Jp2UuidBox uuid = {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}; ++ size_t boxes = 0 ; ++ size_t boxem = 1000 ; // boxes max + + while (io_->read((byte*)&box, sizeof(box)) == sizeof(box)) + { ++ boxes_check(boxes++,boxem ); + position = io_->tell(); + box.length = getLong((byte*)&box.length, bigEndian); + box.type = getLong((byte*)&box.type, bigEndian); +@@ -251,8 +260,12 @@ namespace Exiv2 + + while (io_->read((byte*)&subBox, sizeof(subBox)) == sizeof(subBox) && subBox.length ) + { ++ boxes_check(boxes++, boxem) ; + subBox.length = getLong((byte*)&subBox.length, bigEndian); + subBox.type = getLong((byte*)&subBox.type, bigEndian); ++ if (subBox.length > io_->size() ) { ++ throw Error(kerCorruptedMetadata); ++ } + #ifdef EXIV2_DEBUG_MESSAGES + std::cout << "Exiv2::Jp2Image::readMetadata: " + << "subBox = " << toAscii(subBox.type) << " length = " << subBox.length << std::endl; +@@ -308,7 +321,9 @@ namespace Exiv2 + } + + io_->seek(restore,BasicIo::beg); +- io_->seek(subBox.length, Exiv2::BasicIo::cur); ++ if ( io_->seek(subBox.length, Exiv2::BasicIo::cur) != 0 ) { ++ throw Error(kerCorruptedMetadata); ++ } + restore = io_->tell(); + } + break; diff --git a/package/exiv2/Config.in b/package/exiv2/Config.in index acce81c593..3e3e502751 100644 --- a/package/exiv2/Config.in +++ b/package/exiv2/Config.in @@ -16,24 +16,10 @@ config BR2_PACKAGE_EXIV2 access to the Exif, IPTC and XMP metadata of images in various formats. - Exiv2 is available under the GPLv2+ or under a commercial - license. - http://www.exiv2.org/ if BR2_PACKAGE_EXIV2 -config BR2_PACKAGE_EXIV2_COMMERCIAL - bool "Enable commercial" - help - Build the commercial version for closed source project. - - The Nikon lens name database and the NLS support is disabled - for copyright reasons. - - A commercial license request is needed. - http://www.exiv2.org/download.html#license - config BR2_PACKAGE_EXIV2_PNG bool "PNG image support" select BR2_PACKAGE_ZLIB @@ -48,11 +34,11 @@ config BR2_PACKAGE_EXIV2_XMP config BR2_PACKAGE_EXIV2_LENSDATA bool "Nikon lens name database" - depends on !BR2_PACKAGE_EXIV2_COMMERCIAL help Integrate Nikon lens name database. - This database is integrated but comes from a thirdparty: - http://www.rottmerhusen.com/objektives/lensid/thirdparty.html. + This database comes from a thirdparty and is free to use in + non-commercial, GPL or open source software only. + For more informations src/nikonmn_int.cpp. endif diff --git a/package/exiv2/exiv2.hash b/package/exiv2/exiv2.hash index e30cbfaa51..7937d3f572 100644 --- a/package/exiv2/exiv2.hash +++ b/package/exiv2/exiv2.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 290cb6208f143b9bd5074d790fc8924409f28e5813356c143d739a3311d8ad76 exiv2-910f3507795e1930ae216c9febee0bf9a88e99c0.tar.gz +sha256 3dbcaf01fbc5b98d42f091d1ff0d4b6cd9750dc724de3d9c0d113948570b2934 exiv2-0.27.2.tar.gz +sha256 a7ba75cb966aca374711e2af49e5f3aea6a4443a803440f5d93e73a5a1222f66 COPYING +sha256 46cde7dc11e64c78d650b4851b88f6704b4665ff60f22a1caf68ceb15e217e5b COPYING-CMAKE-SCRIPTS diff --git a/package/exiv2/exiv2.mk b/package/exiv2/exiv2.mk index 32029bab97..a2590ecdf6 100644 --- a/package/exiv2/exiv2.mk +++ b/package/exiv2/exiv2.mk @@ -4,28 +4,33 @@ # ################################################################################ -EXIV2_VERSION = 910f3507795e1930ae216c9febee0bf9a88e99c0 -EXIV2_SITE = $(call github,Exiv2,exiv2,$(EXIV2_VERSION)) +EXIV2_VERSION = 0.27.2 +EXIV2_SITE = $(call github,Exiv2,exiv2,v$(EXIV2_VERSION)) EXIV2_INSTALL_STAGING = YES +EXIV2_LICENSE = GPL-2.0+, BSD-3-Clause +EXIV2_LICENSE_FILES = COPYING COPYING-CMAKE-SCRIPTS -EXIV2_CONF_OPTS += -DEXIV2_ENABLE_BUILD_SAMPLES=OFF +# CVE-2019-13504 is misclassified (by our CVE tracker) as affecting version +# 0.27.2, while in fact both commits that fixed this issue are already in this +# version. +EXIV2_IGNORE_CVES += CVE-2019-13504 + +# 0001-crwimage-Check-offset-and-size-against-total-size.patch +EXIV2_IGNORE_CVES += CVE-2019-17402 + +# 0002-fix_1011_jp2_readmetadata_loop.patch +EXIV2_IGNORE_CVES += CVE-2019-20421 + +EXIV2_CONF_OPTS += -DEXIV2_BUILD_SAMPLES=OFF # The following CMake variable disables a TRY_RUN call in the -pthread # test which is not allowed when cross-compiling. EXIV2_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF -ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),) -EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=OFF -endif - -ifeq ($(BR2_PACKAGE_EXIV2_COMMERCIAL),y) -EXIV2_LICENSE = commercial -# NLS support is disabled in commercial version due to the copyright -# of the translated texts. -EXIV2_CONF_OPTS += -DEXIV2_ENABLE_COMMERCIAL=ON -DEXIV2_ENABLE_NLS=OFF +ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),y) +EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=ON else -EXIV2_LICENSE = GPL-2.0+ -EXIV2_LICENSE_FILES = COPYING +EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=OFF endif ifeq ($(BR2_PACKAGE_EXIV2_PNG),y) @@ -36,10 +41,10 @@ EXIV2_CONF_OPTS += -DEXIV2_ENABLE_PNG=OFF endif ifeq ($(BR2_PACKAGE_EXIV2_XMP),y) -EXIV2_CONF_OPTS += -DEXIV2_ENABLE_XMP=ON -DEXIV2_ENABLE_LIBXMP=ON +EXIV2_CONF_OPTS += -DEXIV2_ENABLE_XMP=ON EXIV2_DEPENDENCIES += expat else -EXIV2_CONF_OPTS += -DEXIV2_ENABLE_XMP=OFF -DEXIV2_ENABLE_LIBXMP=OFF +EXIV2_CONF_OPTS += -DEXIV2_ENABLE_XMP=OFF endif EXIV2_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES) diff --git a/package/expat/expat.hash b/package/expat/expat.hash index 6c55972f69..588e881d0d 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.6/ -md5 ca047ae951b40020ac831c28859161b2 expat-2.2.6.tar.bz2 -sha1 c8947fc3119a797b55485f2f7bdaaeb49cc9df01 expat-2.2.6.tar.bz2 +# From https://sourceforge.net/projects/expat/files/expat/2.2.9/ +md5 d2384fa607223447e713e1b9bd272376 expat-2.2.9.tar.xz +sha1 90a361e4c97f8c469479ffadc0de0b121a911fb5 expat-2.2.9.tar.xz # Locally calculated -sha256 17b43c2716d521369f82fc2dc70f359860e90fa440bea65b3b85f0b246ea81f2 expat-2.2.6.tar.bz2 +sha256 1ea6965b15c2106b6bbe883397271c80dfa0331cdf821b2c319591b55eadc0a4 expat-2.2.9.tar.xz sha256 46336ab2fec900803e2f1a4253e325ac01d998efb09bc6906651f7259e636f76 COPYING diff --git a/package/expat/expat.mk b/package/expat/expat.mk index 548ec826a0..38e5dee75d 100644 --- a/package/expat/expat.mk +++ b/package/expat/expat.mk @@ -4,9 +4,9 @@ # ################################################################################ -EXPAT_VERSION = 2.2.6 +EXPAT_VERSION = 2.2.9 EXPAT_SITE = http://downloads.sourceforge.net/project/expat/expat/$(EXPAT_VERSION) -EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.bz2 +EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.xz EXPAT_INSTALL_STAGING = YES EXPAT_DEPENDENCIES = host-pkgconf HOST_EXPAT_DEPENDENCIES = host-pkgconf diff --git a/package/expect/expect.hash b/package/expect/expect.hash index c89f323906..c4815abb07 100644 --- a/package/expect/expect.hash +++ b/package/expect/expect.hash @@ -1,4 +1,4 @@ -# From https://sourceforge.net/projects/expect/files/Expect/5.45.3/expect5.45.3.tar.gz.SHA256 -sha256 c520717b7195944a69ce1492ec82ca0ac3f3baf060804e6c5ee6d505ea512be9 expect5.45.3.tar.gz +# From https://sourceforge.net/projects/expect/files/Expect/5.45.4/expect5.45.4.tar.gz.SHA256 +sha256 49a7da83b0bdd9f46d04a04deec19c7767bb9a323e40c4781f89caf760b92c34 expect5.45.4.tar.gz # Locally calculated sha256 b2415b17dc8d9a287f4509047ef5ac3436baef7ba7c50faef5222dcdf61a2bab README diff --git a/package/expect/expect.mk b/package/expect/expect.mk index ccde33a71b..37b4ce7065 100644 --- a/package/expect/expect.mk +++ b/package/expect/expect.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXPECT_VERSION = 5.45.3 +EXPECT_VERSION = 5.45.4 EXPECT_SITE = https://sourceforge.net/projects/expect/files/Expect/$(EXPECT_VERSION) EXPECT_SOURCE = expect$(EXPECT_VERSION).tar.gz EXPECT_LICENSE = Public domain diff --git a/package/explorercanvas/explorercanvas.hash b/package/explorercanvas/explorercanvas.hash index 59e8c7a0e3..e47367a21a 100644 --- a/package/explorercanvas/explorercanvas.hash +++ b/package/explorercanvas/explorercanvas.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 7b8f597b5d3a2f71e87aac413e12e03d852df3dd3ac39f70e1615c9c850217ec explorercanvas-aa989ea9d9bac748638f7c66b0fc88e619715da6.tar.gz +sha256 7b8f597b5d3a2f71e87aac413e12e03d852df3dd3ac39f70e1615c9c850217ec explorercanvas-aa989ea9d9bac748638f7c66b0fc88e619715da6.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/package/ezxml/0001-allow-compiler-override.patch b/package/ezxml/0001-allow-compiler-override.patch deleted file mode 100644 index 827872b714..0000000000 --- a/package/ezxml/0001-allow-compiler-override.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -urpN ezxml/GNUmakefile ezxml.patched/GNUmakefile ---- ezxml/GNUmakefile 2006-03-25 18:44:04.000000000 +0100 -+++ ezxml.patched/GNUmakefile 2008-02-24 13:57:37.000000000 +0100 -@@ -21,10 +21,10 @@ - # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - --CC = gcc --AR = ar -+CC ?= gcc -+AR ?= ar - RM = rm -f --CFLAGS = -Wall -O2 -+CFLAGS ?= -Wall -O2 - DEBUG_CFLAGS = -O0 -g - OBJS = ezxml.o - LIB = libezxml.a diff --git a/package/ezxml/Config.in b/package/ezxml/Config.in deleted file mode 100644 index 8a1643b118..0000000000 --- a/package/ezxml/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_EZXML - bool "ezxml" - help - ezXML is a XML parser C library that is simple and easy to - use. - - http://ezxml.sf.net diff --git a/package/ezxml/ezxml.hash b/package/ezxml/ezxml.hash deleted file mode 100644 index 44d7bbdf9f..0000000000 --- a/package/ezxml/ezxml.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 a68d52257dcb0ff2ad3d71c8c64311edb8030254bb8b581e229aeaba6231cdf9 ezxml-0.8.6.tar.gz diff --git a/package/ezxml/ezxml.mk b/package/ezxml/ezxml.mk deleted file mode 100644 index f1e18aa680..0000000000 --- a/package/ezxml/ezxml.mk +++ /dev/null @@ -1,35 +0,0 @@ -################################################################################ -# -# ezxml -# -################################################################################ - -EZXML_VERSION = 0.8.6 -EZXML_SITE = http://downloads.sourceforge.net/project/ezxml/ezXML/ezXML%20$(EZXML_VERSION) -EZXML_INSTALL_STAGING = YES -EZXML_LICENSE = MIT -EZXML_LICENSE_FILES = license.txt - -EZXML_CFLAGS = $(TARGET_CFLAGS) - -# mmap code uses madvise which isn't available on nommu uClibc -ifeq ($(BR2_USE_MMU),) -EZXML_CFLAGS += -D EZXML_NOMMAP -endif - -define EZXML_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) -f GNUmakefile \ - CC="$(TARGET_CC)" CFLAGS="$(EZXML_CFLAGS)" AR=$(TARGET_AR) -endef - -define EZXML_INSTALL_STAGING_CMDS - $(INSTALL) -D -m 0644 $(@D)/ezxml.h $(STAGING_DIR)/usr/include/ezxml.h - $(INSTALL) -D -m 0644 $(@D)/libezxml.a $(STAGING_DIR)/usr/lib/libezxml.a -endef - -define EZXML_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0644 $(@D)/ezxml.h $(TARGET_DIR)/usr/include/ezxml.h - $(INSTALL) -D -m 0644 $(@D)/libezxml.a $(TARGET_DIR)/usr/lib/libezxml.a -endef - -$(eval $(generic-package)) diff --git a/package/f2fs-tools/0001-configure-uclinux-is-also-linux.patch b/package/f2fs-tools/0001-configure-uclinux-is-also-linux.patch deleted file mode 100644 index dc91b22c83..0000000000 --- a/package/f2fs-tools/0001-configure-uclinux-is-also-linux.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 67629fd736a8a4295a9f2acb96563953be22a3ae Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Wed, 13 Jun 2018 20:39:04 +0300 -Subject: [PATCH] configure: uclinux is also linux - -Linux systems on no-MMU platforms identify as uclinux. They are -otherwise identical to plain Linux. - -Signed-off-by: Baruch Siach ---- -Upstream status: sent to linux-f2fs-devel@lists.sourceforge.net - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index a3ff12bf3de9..2b13be5b09f9 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -166,7 +166,7 @@ build_mac=no - - # Detect the target system - case "${host_os}" in --linux*) -+linux*|uclinux*) - build_linux=yes - ;; - cygwin*|mingw*) --- -2.17.1 - diff --git a/package/f2fs-tools/0001-mkfs-Makefile.am-fix-build-without-blkid.patch b/package/f2fs-tools/0001-mkfs-Makefile.am-fix-build-without-blkid.patch new file mode 100644 index 0000000000..aac60e70b6 --- /dev/null +++ b/package/f2fs-tools/0001-mkfs-Makefile.am-fix-build-without-blkid.patch @@ -0,0 +1,30 @@ +From 7727b6fe0897849d4fc8f75a48326e902f0ab8b2 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 22 Sep 2019 10:06:35 +0200 +Subject: [PATCH] mkfs/Makefile.am: fix build without blkid + +Commit d56232bc1640e2a3ffc412faff42cd8e77dbb8dd hardcoded -lblkid in +libf2fs_format_la_LDFLAGS which breaks the build with --without-blkid +option so use ${libblkid_LIBS} instead + +Signed-off-by: Fabrice Fontaine +--- + mkfs/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mkfs/Makefile.am b/mkfs/Makefile.am +index cae2f93..83e2389 100644 +--- a/mkfs/Makefile.am ++++ b/mkfs/Makefile.am +@@ -12,7 +12,7 @@ lib_LTLIBRARIES = libf2fs_format.la + libf2fs_format_la_SOURCES = f2fs_format_main.c f2fs_format.c f2fs_format_utils.c + libf2fs_format_la_CFLAGS = -DWITH_BLKDISCARD + libf2fs_format_la_CPPFLAGS = -I$(top_srcdir)/include +-libf2fs_format_la_LDFLAGS = -lblkid -luuid -L$(top_builddir)/lib -lf2fs \ ++libf2fs_format_la_LDFLAGS = ${libblkid_LIBS} -luuid -L$(top_builddir)/lib -lf2fs \ + -version-info $(FMT_CURRENT):$(FMT_REVISION):$(FMT_AGE) + + install-exec-hook: +-- +2.23.0 + diff --git a/package/f2fs-tools/f2fs-tools.hash b/package/f2fs-tools/f2fs-tools.hash index 9b72ca8fc0..4eb4d14709 100644 --- a/package/f2fs-tools/f2fs-tools.hash +++ b/package/f2fs-tools/f2fs-tools.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 25fb715be0b6a115cc6b7b0f6b8ad6c825a7b174f55c034b6f9da2df1c2c6d97 f2fs-tools-v1.11.0.tar.gz +sha256 b39d3ae9224267aab0070b5f17d91d0c5143f6d960166a27f6b11c8c87072c7d f2fs-tools-1.13.0.tar.gz sha256 662abb3a8a80b36ae7036c289dd1e03b361ee5dd2e6fd5211d0d8d029146449f COPYING diff --git a/package/f2fs-tools/f2fs-tools.mk b/package/f2fs-tools/f2fs-tools.mk index ba16218bda..a9536dc8e7 100644 --- a/package/f2fs-tools/f2fs-tools.mk +++ b/package/f2fs-tools/f2fs-tools.mk @@ -4,9 +4,8 @@ # ################################################################################ -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_VERSION = 1.13.0 +F2FS_TOOLS_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot 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 diff --git a/package/faad2/faad2.hash b/package/faad2/faad2.hash index 2c6acee3d7..1a03bc9b7b 100644 --- a/package/faad2/faad2.hash +++ b/package/faad2/faad2.hash @@ -1,6 +1,3 @@ -# From http://sourceforge.net/projects/faac/files/faad2-src/faad2-2.8.0/ (used by upstream): -md5 28f6116efdbe9378269f8a6221767d1f faad2-2.8.8.tar.gz -sha1 0d49c516d4a83c39053a9bd214fddba72cbc34ad faad2-2.8.8.tar.gz # Locally computed -sha256 985c3fadb9789d2815e50f4ff714511c79c2710ac27a4aaaf5c0c2662141426d faad2-2.8.8.tar.gz +sha256 7fa33cff76abdda5a220ca5de0b2e05a77354f3b97f735193c2940224898aa9a faad2-2.9.1.tar.gz sha256 d3baf3a54943cf12a994c85867a18dec84f810901b2f2878ddfd77efcc3c150f COPYING diff --git a/package/faad2/faad2.mk b/package/faad2/faad2.mk index 27daadfc12..9ec9d8f52c 100644 --- a/package/faad2/faad2.mk +++ b/package/faad2/faad2.mk @@ -4,13 +4,14 @@ # ################################################################################ -FAAD2_VERSION_MAJOR = 2.8 -FAAD2_VERSION = $(FAAD2_VERSION_MAJOR).8 -FAAD2_SITE = http://downloads.sourceforge.net/project/faac/faad2-src/faad2-$(FAAD2_VERSION_MAJOR).0 +FAAD2_VERSION = 2.9.1 +FAAD2_SITE = $(call github,knik0,faad2,$(subst .,_,$(FAAD2_VERSION))) FAAD2_LICENSE = GPL-2.0 FAAD2_LICENSE_FILES = COPYING # frontend/faad calls frexp() FAAD2_CONF_ENV = LIBS=-lm FAAD2_INSTALL_STAGING = YES +# From git +FAAD2_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/faifa/0003-Makefile.in-fix-asbolute-symlink-of-libfaifa.so.patch b/package/faifa/0003-Makefile.in-fix-asbolute-symlink-of-libfaifa.so.patch new file mode 100644 index 0000000000..876d2a60f4 --- /dev/null +++ b/package/faifa/0003-Makefile.in-fix-asbolute-symlink-of-libfaifa.so.patch @@ -0,0 +1,32 @@ +From d16abf61049947c451a6411a13fc15dda32feb47 Mon Sep 17 00:00:00 2001 +From: Florian Fainelli +Date: Sat, 6 Sep 2014 11:23:02 -0700 +Subject: [PATCH] Makefile.in: fix asbolute symlink of libfaifa.so + +Fixes #7 + +Signed-off-by: Florian Fainelli +[Upstream: da2e279fd736d05bcd0ee6e4609c44fece017ba8] +Signed-off-by: Thomas Petazzoni +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index ba65bee..9dec7ee 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -98,9 +98,9 @@ install: installman strip + $(INSTALL) -m0755 hpav_cfg $(DESTDIR)$(sbindir) + $(INSTALL) -d $(DESTDIR)$(libdir) + $(INSTALL) -m0644 $(LIB_SONAME) $(DESTDIR)$(libdir) +- ln -sf $(DESTDIR)$(libdir)/$(LIB_SONAME) $(DESTDIR)$(libdir)/$(LIB_SHARED_SO) + $(INSTALL) -d $(DESTDIR)$(includedir)/faifa + cp $(HEADERS) $(DESTDIR)$(includedir)/faifa ++ cd $(DESTDIR)$(libdir) && ln -sf $(LIB_SONAME) $(LIB_SHARED_SO) + + strip: + $(STRIP) $(APP) +-- +2.23.0 + diff --git a/package/faifa/Config.in b/package/faifa/Config.in index 753abc67ec..486f35d508 100644 --- a/package/faifa/Config.in +++ b/package/faifa/Config.in @@ -10,7 +10,7 @@ config BR2_PACKAGE_FAIFA Intellon-specific management and control frames as well as standard management frames. - https://dev.open-plc.org + https://github.com/ffainelli/faifa comment "faifa needs a toolchain w/ dynamic library, threads" depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/faifa/faifa.hash b/package/faifa/faifa.hash index b4c27418f7..658dae4a71 100644 --- a/package/faifa/faifa.hash +++ b/package/faifa/faifa.hash @@ -1,2 +1,3 @@ # locally computed -sha256 6eada81f3d21f80b5848338b627784981064d728f8e377e5cf973d31640d4489 faifa-v0.1.tar.gz +sha256 6eada81f3d21f80b5848338b627784981064d728f8e377e5cf973d31640d4489 faifa-0.1.tar.gz +sha256 9b62e4601b2b9cd5719a393e88ed71a8304048862502db765ed9d6ff8cf38c5e COPYING diff --git a/package/faifa/faifa.mk b/package/faifa/faifa.mk index af7a1741ff..e5dc157482 100644 --- a/package/faifa/faifa.mk +++ b/package/faifa/faifa.mk @@ -4,8 +4,8 @@ # ################################################################################ -FAIFA_VERSION = v0.1 -FAIFA_SITE = $(call github,ffainelli,faifa,$(FAIFA_VERSION)) +FAIFA_VERSION = 0.1 +FAIFA_SITE = $(call github,ffainelli,faifa,v$(FAIFA_VERSION)) FAIFA_INSTALL_STAGING = YES FAIFA_DEPENDENCIES = libpcap host-autoconf FAIFA_LICENSE = BSD-3-Clause diff --git a/package/fail2ban/Config.in b/package/fail2ban/Config.in index 8fa63bfdcb..86e6233793 100644 --- a/package/fail2ban/Config.in +++ b/package/fail2ban/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_FAIL2BAN bool "fail2ban" - depends on BR2_PACKAGE_PYTHON + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_SYSTEMD if BR2_PACKAGE_SYSTEMD help Fail2ban scans log files (e.g. /var/log/apache/error_log) and bans IPs that show the malicious signs -- too many password diff --git a/package/fail2ban/fail2ban.hash b/package/fail2ban/fail2ban.hash index 25d120c115..f807d5a82b 100644 --- a/package/fail2ban/fail2ban.hash +++ b/package/fail2ban/fail2ban.hash @@ -1,3 +1,3 @@ # sha256 locally computed -sha256 d6ca1bbc7e7944f7acb2ba7c1065953cd9837680bc4d175f30ed155c6a372449 fail2ban-0.10.4.tar.gz +sha256 71d2a52b66bb0f87ac3812246bdd3819ec561913cd44afd39130a342f043aa6d fail2ban-0.11.1.tar.gz sha256 a75fec0260742fe6275d63ff6a5d97b924b28766558306b3fa4069763096929b COPYING diff --git a/package/fail2ban/fail2ban.mk b/package/fail2ban/fail2ban.mk index b7e6bdc1a6..a0a2dc704b 100644 --- a/package/fail2ban/fail2ban.mk +++ b/package/fail2ban/fail2ban.mk @@ -4,12 +4,29 @@ # ################################################################################ -FAIL2BAN_VERSION = 0.10.4 +FAIL2BAN_VERSION = 0.11.1 FAIL2BAN_SITE = $(call github,fail2ban,fail2ban,$(FAIL2BAN_VERSION)) FAIL2BAN_LICENSE = GPL-2.0+ FAIL2BAN_LICENSE_FILES = COPYING FAIL2BAN_SETUP_TYPE = distutils +ifeq ($(BR2_PACKAGE_PYTHON3),y) +define FAIL2BAN_PYTHON_2TO3 + $(HOST_DIR)/bin/2to3 --write --nobackups --no-diffs $(@D)/bin/* $(@D)/fail2ban +endef +FAIL2BAN_DEPENDENCIES += host-python3 +# We can't use _POST_PATCH_HOOKS because dependencies are not guaranteed +# to build and install before _POST_PATCH_HOOKS run. +FAIL2BAN_PRE_CONFIGURE_HOOKS += FAIL2BAN_PYTHON_2TO3 +endif + +define FAIL2BAN_FIX_DEFAULT_CONFIG + $(SED) '/^socket/c\socket = /run/fail2ban.sock' $(TARGET_DIR)/etc/fail2ban/fail2ban.conf + $(SED) '/^pidfile/c\pidfile = /run/fail2ban.pid' $(TARGET_DIR)/etc/fail2ban/fail2ban.conf + $(SED) '/^dbfile/c\dbfile = None' $(TARGET_DIR)/etc/fail2ban/fail2ban.conf +endef +FAIL2BAN_POST_INSTALL_TARGET_HOOKS += FAIL2BAN_FIX_DEFAULT_CONFIG + define FAIL2BAN_INSTALL_INIT_SYSV $(INSTALL) -D -m 755 package/fail2ban/S60fail2ban \ $(TARGET_DIR)/etc/init.d/S60fail2ban @@ -18,10 +35,8 @@ 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 + $(SED) '/^PIDFile/c\PIDFile=/run/fail2ban.pid' $(TARGET_DIR)/usr/lib/systemd/system/fail2ban.service endef $(eval $(python-package)) diff --git a/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch b/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch index 3bb4f9701f..4e81b49122 100644 --- a/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch +++ b/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch @@ -1,7 +1,7 @@ From a853f21633693f9eefc4949660253a5328d2d2f3 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Sun, 13 Aug 2017 23:21:54 +0200 -Subject: [PATCH 1/1] communicate: check return status of msgrcv() +Subject: [PATCH] communicate: check return status of msgrcv() msgrcv can return with -1 to indicate an error condition. One such error is to have been interrupted by a signal. diff --git a/package/fakeroot/0003-Select-TCP-when-lack-of-SYSV-IPC.patch b/package/fakeroot/0003-Select-TCP-when-lack-of-SYSV-IPC.patch new file mode 100644 index 0000000000..07b206b68e --- /dev/null +++ b/package/fakeroot/0003-Select-TCP-when-lack-of-SYSV-IPC.patch @@ -0,0 +1,77 @@ +From 8e9a7a8c72a9fe407d296ec0ffeb56b2cd271959 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Mon, 16 Sep 2019 22:00:29 -0500 +Subject: [PATCH] Select TCP when lack of SYSV IPC + +Update to add a configure test to build and install the TCP IPC version +when detecting SYSV IPC MsgQ support isn't available. + +The issue was initially discovered on Windows Services for Linux +(WSL1.0). WSL does have some SysV IPC, but no message Q's, which is +required by fakeroot/faked by default. + +Fixes: +https://github.com/Microsoft/WSL/issues/2465 + +Additional bug reports: +https://bugs.busybox.net/show_bug.cgi?id=11366 + +Upstream: +https://salsa.debian.org/clint/fakeroot/merge_requests/2 + +Signed-off-by: Jean-Francois Doyon +Signed-off-by: Matthew Weber +--- + configure.ac | 36 ++++++++++++++++++++++++++++++++++++ + 1 file changed, 36 insertions(+) + +diff --git a/configure.ac b/configure.ac +index a9189e6..1650f77 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -25,6 +25,42 @@ AC_CACHE_CHECK([which IPC method to use], + [ac_cv_use_ipc], + [ac_cv_use_ipc=sysv]) + ++if test $ac_cv_use_ipc = "sysv"; then ++ AC_MSG_CHECKING([whether SysV IPC message queues are actually working on the host]) ++ ++ AC_LANG_PUSH(C) ++ AC_TRY_RUN([ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++int main() { ++ ++ srandom(time(NULL)+getpid()*33151); ++ key_t msg_key = random(); ++ int msg_get = msgget(msg_key, IPC_CREAT|0600); ++ ++ if (msg_get==-1) { ++ return 1; ++ } else { ++ msgctl(msg_get, IPC_RMID, NULL); ++ return 0; ++ } ++ ++}], [ac_cv_use_ipc=sysv], [ac_cv_use_ipc=tcp]) ++ ++ if test $ac_cv_use_ipc = "tcp"; then ++ AC_MSG_RESULT([No, using TCP]) ++ else ++ AC_MSG_RESULT([Yes]) ++ fi ++ ++ AC_LANG_POP(C) ++fi ++ + AC_ARG_WITH([dbformat], + AS_HELP_STRING([--with-dbformat@<:@=DBFORMAT@:>@], + [database format to use: either inode (default) or path]), +-- +2.17.1 + diff --git a/package/fakeroot/0004-Fix-forwarding-fchownat-fchmod-flags.patch b/package/fakeroot/0004-Fix-forwarding-fchownat-fchmod-flags.patch new file mode 100644 index 0000000000..fc74543378 --- /dev/null +++ b/package/fakeroot/0004-Fix-forwarding-fchownat-fchmod-flags.patch @@ -0,0 +1,28 @@ +Forward supported flags to fstatat, this fixes issues like +using an empty path + +Upstream BR: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959876 + +Signed-off-by: Norbert Lange + +diff -burN fakeroot-1.20.2.org/libfakeroot.c fakeroot-1.20.2/libfakeroot.c +--- fakeroot-1.20.2.org/libfakeroot.c 2014-10-05 17:16:00.000000000 +0200 ++++ fakeroot-1.20.2/libfakeroot.c 2020-05-10 22:24:18.896625085 +0200 +@@ -880,7 +880,7 @@ + /* If AT_SYMLINK_NOFOLLOW is set in the fchownat call it should + be when we stat it. */ + INT_STRUCT_STAT st; +- r=INT_NEXT_FSTATAT(dir_fd, path, &st, (flags & AT_SYMLINK_NOFOLLOW)); ++ r=INT_NEXT_FSTATAT(dir_fd, path, &st, (flags & (AT_SYMLINK_NOFOLLOW | AT_EMPTY_PATH | AT_NO_AUTOMOUNT))); + + if(r) + return(r); +@@ -1017,7 +1017,7 @@ + + /* If AT_SYMLINK_NOFOLLOW is set in the fchownat call it should + be when we stat it. */ +- r=INT_NEXT_FSTATAT(dir_fd, path, &st, flags & AT_SYMLINK_NOFOLLOW); ++ r=INT_NEXT_FSTATAT(dir_fd, path, &st, flags & (AT_SYMLINK_NOFOLLOW | AT_EMPTY_PATH | AT_NO_AUTOMOUNT)); + + if(r) + return(r); diff --git a/package/fakeroot/fakeroot.mk b/package/fakeroot/fakeroot.mk index 4aa27a1b0c..1be99071bf 100644 --- a/package/fakeroot/fakeroot.mk +++ b/package/fakeroot/fakeroot.mk @@ -15,8 +15,14 @@ HOST_FAKEROOT_DEPENDENCIES = host-acl HOST_FAKEROOT_CONF_ENV = \ ac_cv_header_sys_capability_h=no \ ac_cv_func_capset=no - +# 0003-Select-TCP-when-lack-of-SYSV-IPC.patch touches configure.ac +HOST_FAKEROOT_AUTORECONF = YES FAKEROOT_LICENSE = GPL-3.0+ FAKEROOT_LICENSE_FILES = COPYING +define HOST_FAKEROOT_BUILD_AUX + mkdir -p $(@D)/build-aux +endef +HOST_FAKEROOT_POST_PATCH_HOOKS += HOST_FAKEROOT_BUILD_AUX + $(eval $(host-autotools-package)) diff --git a/package/faketime/0001-Disable-the-non-null-compare-warning-error.patch b/package/faketime/0001-Disable-the-non-null-compare-warning-error.patch deleted file mode 100644 index f8c7484452..0000000000 --- a/package/faketime/0001-Disable-the-non-null-compare-warning-error.patch +++ /dev/null @@ -1,32 +0,0 @@ -From e85a157b51b1276c91c736d8624d9f3e876e9189 Mon Sep 17 00:00:00 2001 -From: Andreas Rammhold -Date: Tue, 20 Dec 2016 19:25:32 +0100 -Subject: [PATCH] Disable the non-null compare warning/error. - -We rely on the provided local library definitions for the hooked -functions which in some cases (GCC >6) carry a non-null-attribute flag -which causes compile errors on `!= NULL` checks. - -[Romain: rebase on 0.9.6] -(cherry picked from commit 47e958b753fc15098a2b7d0e9ef26b83ee255874) -Signed-off-by: Romain Naour ---- - src/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Makefile b/src/Makefile -index 51634b0..bbbd476 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -67,7 +67,7 @@ INSTALL ?= install - PREFIX ?= /usr/local - LIBDIRNAME ?= /lib/faketime - --CFLAGS += -std=gnu99 -Wall -Wextra -Werror -DFAKE_STAT -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' -+CFLAGS += -std=gnu99 -Wall -Wextra -Werror -Wno-nonnull-compare -DFAKE_STAT -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' - LIB_LDFLAGS += -shared - LDFLAGS += -Wl,--version-script=libfaketime.map -lpthread - LDADD += -ldl -lm -lrt --- -2.9.3 - diff --git a/package/faketime/0002-src-Makefile-disable-Werror.patch b/package/faketime/0002-src-Makefile-disable-Werror.patch deleted file mode 100644 index e1e3b321b8..0000000000 --- a/package/faketime/0002-src-Makefile-disable-Werror.patch +++ /dev/null @@ -1,32 +0,0 @@ -From bcde6e6f34c3cf78a254315c5caa530db91802fb Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 17 May 2018 23:41:03 +0200 -Subject: [PATCH] src/Makefile: disable -Werror - -gcc 8.x has enabled additional warnings that break the build due to --Werror, so let's drop -Werror for now. A set of patches has been -submitted upstream (https://github.com/wolfcw/libfaketime/pull/161) to -properly fix the gcc 8.x issues, but in the mean time, disabling --Werror is a simpler option. - -Signed-off-by: Thomas Petazzoni ---- - src/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Makefile b/src/Makefile -index bbbd476..6b0d2cd 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -67,7 +67,7 @@ INSTALL ?= install - PREFIX ?= /usr/local - LIBDIRNAME ?= /lib/faketime - --CFLAGS += -std=gnu99 -Wall -Wextra -Werror -Wno-nonnull-compare -DFAKE_STAT -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' -+CFLAGS += -std=gnu99 -Wall -Wextra -Wno-nonnull-compare -DFAKE_STAT -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' - LIB_LDFLAGS += -shared - LDFLAGS += -Wl,--version-script=libfaketime.map -lpthread - LDADD += -ldl -lm -lrt --- -2.14.3 - diff --git a/package/faketime/faketime.hash b/package/faketime/faketime.hash index a17ef8526b..bdb003aa69 100644 --- a/package/faketime/faketime.hash +++ b/package/faketime/faketime.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 56bc32006f4c5b021ff648cc1fd458c5316f40aadfd2031879229a234189b031 faketime-v0.9.6.tar.gz +sha256 06288237cd5890eca148489e5b904ed852ed0ffa8424bfb479342f4daa8442a3 faketime-0.9.8.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/faketime/faketime.mk b/package/faketime/faketime.mk index 6c88a71aa3..85ce9a90d8 100644 --- a/package/faketime/faketime.mk +++ b/package/faketime/faketime.mk @@ -4,8 +4,8 @@ # ################################################################################ -FAKETIME_VERSION = v0.9.6 -FAKETIME_SITE = $(call github,wolfcw,libfaketime,$(FAKETIME_VERSION)) +FAKETIME_VERSION = 0.9.8 +FAKETIME_SITE = $(call github,wolfcw,libfaketime,v$(FAKETIME_VERSION)) FAKETIME_LICENSE = GPL-2.0 FAKETIME_LICENSE_FILES = COPYING diff --git a/package/fastd/Config.in b/package/fastd/Config.in index 47c76b5ad6..c4f296dd63 100644 --- a/package/fastd/Config.in +++ b/package/fastd/Config.in @@ -5,11 +5,12 @@ config BR2_PACKAGE_FASTD depends on !BR2_STATIC_LIBS # libuecc select BR2_PACKAGE_LIBUECC select BR2_PACKAGE_LIBSODIUM + select BR2_PACKAGE_LIBSODIUM_FULL select BR2_PACKAGE_LIBCAP help Fast and Secure Tunneling Daemon - https://projects.universe-factory.net/projects/fastd/wiki + https://github.com/NeoRaider/fastd/wiki if BR2_PACKAGE_FASTD diff --git a/package/fastd/fastd.hash b/package/fastd/fastd.hash index 3c6a99e986..accdf087eb 100644 --- a/package/fastd/fastd.hash +++ b/package/fastd/fastd.hash @@ -2,3 +2,4 @@ md5 e53236d3049f64f7955ad9556da099eb fastd-18.tar.xz # computed locally sha256 714ff09d7bd75f79783f744f6f8c5af2fe456c8cf876feaa704c205a73e043c9 fastd-18.tar.xz +sha256 c3095dd0adffc03eaeba9c7cd81f06962ef4797a836e49468b3dccc2802ff904 COPYRIGHT diff --git a/package/fatcat/Config.in.host b/package/fatcat/Config.in.host new file mode 100644 index 0000000000..2c5f66981b --- /dev/null +++ b/package/fatcat/Config.in.host @@ -0,0 +1,8 @@ +config BR2_PACKAGE_HOST_FATCAT + bool "host fatcat" + help + Fatcat is designed to manipulate FAT filesystems, in order + to explore, extract, repair, recover and forensic them. It + currently supports FAT12, FAT16 and FAT32. + + https://github.com/Gregwar/fatcat diff --git a/package/fatcat/fatcat.hash b/package/fatcat/fatcat.hash new file mode 100644 index 0000000000..66823e2d9e --- /dev/null +++ b/package/fatcat/fatcat.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 303efe2aa73cbfe6fbc5d8af346d0f2c70b3f996fc891e8859213a58b95ad88c fatcat-1.1.0.tar.gz +sha256 3ea03755e32cf7f5b12981de92a0fdad396448195fe0024990c9cbc388e9866c LICENSE diff --git a/package/fatcat/fatcat.mk b/package/fatcat/fatcat.mk new file mode 100644 index 0000000000..1a2e5aacae --- /dev/null +++ b/package/fatcat/fatcat.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# fatcat +# +################################################################################ + +FATCAT_VERSION = 1.1.0 +FATCAT_SITE = $(call github,Gregwar,fatcat,v$(FATCAT_VERSION)) +FATCAT_LICENSE = MIT +FATCAT_LICENSE_FILES = LICENSE + +$(eval $(host-cmake-package)) diff --git a/package/fb-test-app/fb-test-app.hash b/package/fb-test-app/fb-test-app.hash index 7f7375316c..06611db799 100644 --- a/package/fb-test-app/fb-test-app.hash +++ b/package/fb-test-app/fb-test-app.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 6baf6b45968d0bb9a5527c6c4bf18661e9f9eb9be973a6d1952c38168c90d58f fb-test-app-rosetta-1.1.0.tar.gz +sha256 6baf6b45968d0bb9a5527c6c4bf18661e9f9eb9be973a6d1952c38168c90d58f fb-test-app-rosetta-1.1.0.tar.gz +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/fbdump/fbdump.hash b/package/fbdump/fbdump.hash index 15cc8392d6..8bc8b7c564 100644 --- a/package/fbdump/fbdump.hash +++ b/package/fbdump/fbdump.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 c4d521a86229b3106cf69786008ad94f899da5288a19a067deae84951880722d fbdump-0.4.2.tar.gz +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/fbgrab/0100-fix-pixfmt-report.patch b/package/fbgrab/0100-fix-pixfmt-report.patch deleted file mode 100644 index 8cff7ef8c3..0000000000 --- a/package/fbgrab/0100-fix-pixfmt-report.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fix pixel format report - -When fbgrab tells about the framebuffer pixel format, blue and green -are accidentally swapped in 'length' and 'msb_right' columns. Let's -order everything as RGB. - -Upstream-Status: Submitted [Gunnar Monell ] - -Signed-off-by: Timo Ketola - -diff -u a/fbgrab.c b/fbgrab.c ---- a/fbgrab.c 2018-03-07 11:42:04.739250433 +0200 -+++ b/fbgrab.c 2018-03-07 11:43:26.128043877 +0200 -@@ -169,8 +169,8 @@ - fprintf(stderr, "bits_per_pixel: %i\n", fb_varinfo_p->bits_per_pixel); - fprintf(stderr, "grayscale: %s\n", fb_varinfo_p->grayscale ? "true" : "false"); - fprintf(stderr, "red: offset: %i, length: %i, msb_right: %i\n", fb_varinfo_p->red.offset, fb_varinfo_p->red.length, fb_varinfo_p->red.msb_right); -- fprintf(stderr, "blue: offset: %i, length: %i, msb_right: %i\n", fb_varinfo_p->blue.offset, fb_varinfo_p->green.length, fb_varinfo_p->green.msb_right); -- fprintf(stderr, "green: offset: %i, length: %i, msb_right: %i\n", fb_varinfo_p->green.offset, fb_varinfo_p->blue.length, fb_varinfo_p->blue.msb_right); -+ fprintf(stderr, "green: offset: %i, length: %i, msb_right: %i\n", fb_varinfo_p->green.offset, fb_varinfo_p->green.length, fb_varinfo_p->green.msb_right); -+ fprintf(stderr, "blue: offset: %i, length: %i, msb_right: %i\n", fb_varinfo_p->blue.offset, fb_varinfo_p->blue.length, fb_varinfo_p->blue.msb_right); - fprintf(stderr, "alpha: offset: %i, length: %i, msb_right: %i\n", fb_varinfo_p->transp.offset, fb_varinfo_p->transp.length, fb_varinfo_p->transp.msb_right); - fprintf(stderr, "pixel format: %s\n", fb_varinfo_p->nonstd == 0 ? "standard" : "non-standard"); - } diff --git a/package/fbgrab/Config.in b/package/fbgrab/Config.in index d1e9e69b3f..b1d8755f32 100644 --- a/package/fbgrab/Config.in +++ b/package/fbgrab/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_FBGRAB FBGrab is a framebuffer screenshot program, capturing the linux frambuffer and converting it to a png-picture. - http://fbgrab.monells.se/ + https://github.com/GunnarMonell/fbgrab diff --git a/package/fbgrab/fbgrab.hash b/package/fbgrab/fbgrab.hash index de3bc1ffd7..414a93c99e 100644 --- a/package/fbgrab/fbgrab.hash +++ b/package/fbgrab/fbgrab.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 5fab478cbf8731fbacefaa76236a8f8b38ccff920c53b3a8253bc35509fba8ed fbgrab-1.3.tar.gz +sha256 2bfdad379579c4ca1a910d0a8ac63183ef2c12a45e6b7d402fd045d83bb3faee fbgrab-1.3.3.tar.gz +sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 COPYING diff --git a/package/fbgrab/fbgrab.mk b/package/fbgrab/fbgrab.mk index d81a5ee2a0..6d2f09bc21 100644 --- a/package/fbgrab/fbgrab.mk +++ b/package/fbgrab/fbgrab.mk @@ -4,8 +4,8 @@ # ################################################################################ -FBGRAB_VERSION = 1.3 -FBGRAB_SITE = http://fbgrab.monells.se +FBGRAB_VERSION = 1.3.3 +FBGRAB_SITE = $(call github,GunnarMonell,fbgrab,$(FBGRAB_VERSION)) FBGRAB_DEPENDENCIES = libpng FBGRAB_LICENSE = GPL-2.0 FBGRAB_LICENSE_FILES = COPYING diff --git a/package/fbterm/Config.in b/package/fbterm/Config.in index 3ab8bdb4d4..083167088a 100644 --- a/package/fbterm/Config.in +++ b/package/fbterm/Config.in @@ -10,7 +10,7 @@ config BR2_PACKAGE_FBTERM fbterm is a fast terminal emulator for Linux with frame buffer device or VESA video card. - http://code.google.com/p/fbterm/ + https://code.google.com/archive/p/fbterm/ comment "fbterm needs a toolchain w/ C++, wchar, locale" depends on BR2_USE_MMU diff --git a/package/fbterm/fbterm.hash b/package/fbterm/fbterm.hash index 20a3e8f083..37c32df7a4 100644 --- a/package/fbterm/fbterm.hash +++ b/package/fbterm/fbterm.hash @@ -1,2 +1,4 @@ # From http://code.google.com/p/fbterm/downloads/detail?name=fbterm-1.7.0.tar.gz&can=2&q= sha1 dc7b7ff29212c1551f35bf7a50967454d3b8c67c fbterm-1.7.0.tar.gz +# locally computed +sha256 b2b961f07e97c4fb78074276da304ea36b85dc299aae5efb79080cedaea3d5ac COPYING diff --git a/package/fbv/fbv.hash b/package/fbv/fbv.hash index 892012b3d9..3f25465ba1 100644 --- a/package/fbv/fbv.hash +++ b/package/fbv/fbv.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 9b55b9dafd5eb01562060d860e267e309a1876e8ba5ce4d3303484b94129ab3c fbv-1.0b.tar.gz +sha256 9b55b9dafd5eb01562060d860e267e309a1876e8ba5ce4d3303484b94129ab3c fbv-1.0b.tar.gz +sha256 bf21d97bafcaacb5d6bc3d5502030c340f0e0593614078ab017af91e950083af COPYING diff --git a/package/fcgiwrap/fcgiwrap.hash b/package/fcgiwrap/fcgiwrap.hash index 4ad8b0bb77..cf2c785c67 100644 --- a/package/fcgiwrap/fcgiwrap.hash +++ b/package/fcgiwrap/fcgiwrap.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 c72f2933669ebd21605975c5a11f26b9739e32e4f9d324fb9e1a1925e9c2ae88 fcgiwrap-99c942c90063c73734e56bacaa65f947772d9186.tar.gz +sha256 c72f2933669ebd21605975c5a11f26b9739e32e4f9d324fb9e1a1925e9c2ae88 fcgiwrap-99c942c90063c73734e56bacaa65f947772d9186.tar.gz +sha256 1504c301f6d417f2626085337e5c3bb3dc0282265089396ab36bfe1942feef1c COPYING diff --git a/package/fconfig/fconfig.hash b/package/fconfig/fconfig.hash index eae26e2b14..98e7fbf12b 100644 --- a/package/fconfig/fconfig.hash +++ b/package/fconfig/fconfig.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 4ff0e8f07e35e46b705c0dbe9d9544ede01ea092a69e3f7db03e55a3f2bb8eb7 fconfig-20080329.tar.gz +sha256 4ff0e8f07e35e46b705c0dbe9d9544ede01ea092a69e3f7db03e55a3f2bb8eb7 fconfig-20080329.tar.gz +sha256 e698a9ea4d6dab0a15d3d6fd354b97b820629244f946529cc7f42b2b8e8f16d0 fconfig.c diff --git a/package/fdk-aac/fdk-aac.hash b/package/fdk-aac/fdk-aac.hash index a8f380c932..6b41e66a61 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 30439757fe5bbc8bccedcc8e51668b74db7322c7 fdk-aac-2.0.0.tar.gz -md5 8ccebea4fc5c9d40fff8f72bf68a6e50 fdk-aac-2.0.0.tar.gz +sha1 575e90e85321c5be44dcf743a40ea57ab0835928 fdk-aac-2.0.1.tar.gz +md5 e8b0b38e837df455b8a1ba75417ff0ad fdk-aac-2.0.1.tar.gz # Locally computed: -sha256 f7d6e60f978ff1db952f7d5c3e96751816f5aef238ecf1d876972697b85fd96c fdk-aac-2.0.0.tar.gz +sha256 840133aa9412153894af03b27b03dde1188772442c316a4ce2a24ed70093f271 fdk-aac-2.0.1.tar.gz sha256 95ec80da40b4af12ad4c4f3158c9cfb80f2479f3246e4260cb600827cc8c7836 NOTICE diff --git a/package/fdk-aac/fdk-aac.mk b/package/fdk-aac/fdk-aac.mk index 3904a41b92..92753b5e08 100644 --- a/package/fdk-aac/fdk-aac.mk +++ b/package/fdk-aac/fdk-aac.mk @@ -4,7 +4,7 @@ # ################################################################################ -FDK_AAC_VERSION = 2.0.0 +FDK_AAC_VERSION = 2.0.1 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/feh.hash b/package/feh/feh.hash index cb554858bf..2bfe5e48a8 100644 --- a/package/feh/feh.hash +++ b/package/feh/feh.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 6ec338f80c3f4c30d715f44780f1a09ebfbb99e92a1bb43316428744a839f383 feh-2.27.1.tar.bz2 +sha256 8f9741399b4b184ba28698c0fd7722638e79abac8e6c27eb526cc52b11ee0a1c feh-3.2.1.tar.bz2 sha256 a289176a74d8e5d071456df5d4ee629aeb86f8eeeb6570076fe126f182c6b91d COPYING diff --git a/package/feh/feh.mk b/package/feh/feh.mk index 3bfd427e79..973eed60b0 100644 --- a/package/feh/feh.mk +++ b/package/feh/feh.mk @@ -4,7 +4,7 @@ # ################################################################################ -FEH_VERSION = 2.27.1 +FEH_VERSION = 3.2.1 FEH_SOURCE = feh-$(FEH_VERSION).tar.bz2 FEH_SITE = http://feh.finalrewind.org FEH_DEPENDENCIES = imlib2 libpng xlib_libXt diff --git a/package/fetchmail/0001-enable-libressl.patch b/package/fetchmail/0001-enable-libressl.patch deleted file mode 100644 index a98e19dda4..0000000000 --- a/package/fetchmail/0001-enable-libressl.patch +++ /dev/null @@ -1,67 +0,0 @@ -Fetched from upstream git and tweaked for the release: -https://gitlab.com/fetchmail/fetchmail/commit/a2ae6f8d15d7caf815d7bdd13df833fd1b2af5cc - -Signed-off-by: Gustavo Zacarias - -diff -Nura fetchmail-6.3.26.orig/config.h.in fetchmail-6.3.26/config.h.in ---- fetchmail-6.3.26.orig/config.h.in 2015-12-30 10:44:33.467746835 -0300 -+++ fetchmail-6.3.26/config.h.in 2015-12-30 10:45:50.271403589 -0300 -@@ -53,6 +53,10 @@ - if you don't. */ - #undef HAVE_DECL_SSLV2_CLIENT_METHOD - -+/* Define to 1 if you have the declaration of `SSLv3_client_method', and to 0 -+ if you don't. */ -+#undef HAVE_DECL_SSLV3_CLIENT_METHOD -+ - /* Define to 1 if you have the declaration of `strerror', and to 0 if you - don't. */ - #undef HAVE_DECL_STRERROR -diff -Nura fetchmail-6.3.26.orig/configure.ac fetchmail-6.3.26/configure.ac ---- fetchmail-6.3.26.orig/configure.ac 2015-12-30 10:44:33.465746766 -0300 -+++ fetchmail-6.3.26/configure.ac 2015-12-30 10:46:03.708868409 -0300 -@@ -803,6 +803,7 @@ - - case "$LIBS" in *-lssl*) - AC_CHECK_DECLS([SSLv2_client_method],,,[#include ]) -+ AC_CHECK_DECLS([SSLv3_client_method],,,[#include ]) - ;; - esac - -diff -Nura fetchmail-6.3.26.orig/fetchmail.c fetchmail-6.3.26/fetchmail.c ---- fetchmail-6.3.26.orig/fetchmail.c 2015-12-30 10:44:33.469746904 -0300 -+++ fetchmail-6.3.26/fetchmail.c 2015-12-30 10:46:03.708868409 -0300 -@@ -263,6 +263,12 @@ - #ifdef SSL_ENABLE - "+SSL" - #endif -+#if HAVE_DECL_SSLV2_CLIENT_METHOD + 0 == 0 -+ "-SSLv2" -+#endif -+#if HAVE_DECL_SSLV3_CLIENT_METHOD + 0 == 0 -+ "-SSLv3" -+#endif - #ifdef OPIE_ENABLE - "+OPIE" - #endif /* OPIE_ENABLE */ -diff -Nura fetchmail-6.3.26.orig/socket.c fetchmail-6.3.26/socket.c ---- fetchmail-6.3.26.orig/socket.c 2015-12-30 10:44:33.464746731 -0300 -+++ fetchmail-6.3.26/socket.c 2015-12-30 10:46:03.709868443 -0300 -@@ -910,11 +910,16 @@ - #if HAVE_DECL_SSLV2_CLIENT_METHOD + 0 > 0 - _ctx[sock] = SSL_CTX_new(SSLv2_client_method()); - #else -- report(stderr, GT_("Your operating system does not support SSLv2.\n")); -+ report(stderr, GT_("Your OpenSSL version does not support SSLv2.\n")); - return -1; - #endif - } else if(!strcasecmp("ssl3",myproto)) { -+#if HAVE_DECL_SSLV3_CLIENT_METHOD + 0 > 0 - _ctx[sock] = SSL_CTX_new(SSLv3_client_method()); -+#else -+ report(stderr, GT_("Your OpenSSL version does not support SSLv3.\n")); -+ return -1; -+#endif - } else if(!strcasecmp("tls1",myproto)) { - _ctx[sock] = SSL_CTX_new(TLSv1_client_method()); - } else if (!strcasecmp("ssl23",myproto)) { 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 deleted file mode 100644 index aefed7f2e4..0000000000 --- a/package/fetchmail/0002-configure.ac-use-pkg-config-to-find-openssl.patch +++ /dev/null @@ -1,69 +0,0 @@ -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.hash b/package/fetchmail/fetchmail.hash index c67ee1a4e1..c5670a0f7a 100644 --- a/package/fetchmail/fetchmail.hash +++ b/package/fetchmail/fetchmail.hash @@ -1,2 +1,7 @@ +# From https://sourceforge.net/p/fetchmail/mailman/message/36993086/ +sha256 511b60daabf7543a01de06af07c8772290c6807cd53c42a8504960e978f3abea fetchmail-6.4.4.tar.xz +# From https://sourceforge.net/projects/fetchmail/files/branch_6.4/ +sha1 2e049aadf84ba327d585c34240f926f0b32b4dcc fetchmail-6.4.4.tar.xz +md5 53d52179c8bf8e2f57489538b49bfda9 fetchmail-6.4.4.tar.xz # Locally computed: -sha256 79b4c54cdbaf02c1a9a691d9948fcb1a77a1591a813e904283a8b614b757e850 fetchmail-6.3.26.tar.xz +sha256 89d6efe79c78f965b256e007d6acc367fff982c59b6195fb6ec5895ea0fc9bd5 COPYING diff --git a/package/fetchmail/fetchmail.mk b/package/fetchmail/fetchmail.mk index 41505e8637..136af260a2 100644 --- a/package/fetchmail/fetchmail.mk +++ b/package/fetchmail/fetchmail.mk @@ -4,14 +4,12 @@ # ################################################################################ -FETCHMAIL_VERSION_MAJOR = 6.3 -FETCHMAIL_VERSION = $(FETCHMAIL_VERSION_MAJOR).26 +FETCHMAIL_VERSION_MAJOR = 6.4 +FETCHMAIL_VERSION = $(FETCHMAIL_VERSION_MAJOR).4 FETCHMAIL_SOURCE = fetchmail-$(FETCHMAIL_VERSION).tar.xz FETCHMAIL_SITE = http://downloads.sourceforge.net/project/fetchmail/branch_$(FETCHMAIL_VERSION_MAJOR) FETCHMAIL_LICENSE = GPL-2.0; some exceptions are mentioned in COPYING FETCHMAIL_LICENSE_FILES = COPYING -FETCHMAIL_AUTORECONF = YES -FETCHMAIL_GETTEXTIZE = YES FETCHMAIL_CONF_OPTS = \ --with-ssl=$(STAGING_DIR)/usr @@ -22,14 +20,4 @@ FETCHMAIL_DEPENDENCIES = \ openssl \ $(TARGET_NLS_DEPENDENCIES) -# fetchmailconf.py script is not (yet) python3-compliant. -# Prevent the pyc-compilation with python-3 from failing by removing this -# non-critical script. -ifeq ($(BR2_PACKAGE_PYTHON3),y) -define FETCHMAIL_REMOVE_FETCHMAILCONF_PY - $(RM) -f $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/fetchmailconf.py -endef -FETCHMAIL_POST_INSTALL_TARGET_HOOKS += FETCHMAIL_REMOVE_FETCHMAILCONF_PY -endif - $(eval $(autotools-package)) diff --git a/package/ffmpeg/0001-ffmpeg-pthreads.patch b/package/ffmpeg/0001-ffmpeg-pthreads.patch deleted file mode 100644 index c6d75d2297..0000000000 --- a/package/ffmpeg/0001-ffmpeg-pthreads.patch +++ /dev/null @@ -1,34 +0,0 @@ -From patchwork Wed Oct 25 13:32:36 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [FFmpeg-devel] configure: v4l2_m2m depends on pthreads -From: Mark Thompson -X-Patchwork-Id: 5688 -Message-Id: <27e5b360-1210-d550-c8de-a761f8e9f326@jkqxz.net> -To: FFmpeg development discussions and patches -Date: Wed, 25 Oct 2017 14:32:36 +0100 - -Fixes build with --disable-pthreads. - -Downloaded from upstream patchworks: -https://patchwork.ffmpeg.org/patch/5688/ - -Signed-off-by: Bernd Kuhls ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure b/configure -index c86e578..76523c8 100755 ---- a/configure -+++ b/configure -@@ -2780,7 +2780,7 @@ omx_rpi_select="omx" - qsvdec_select="qsv" - qsvenc_select="qsv" - vaapi_encode_deps="vaapi" --v4l2_m2m_deps_any="linux_videodev2_h" -+v4l2_m2m_deps="linux_videodev2_h pthreads" - - hwupload_cuda_filter_deps="cuda" - scale_npp_filter_deps="cuda libnpp" 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 deleted file mode 100644 index 3f452242fa..0000000000 --- a/package/ffmpeg/0002-libfdk-aacenc-Fix-building-with-libfdk-aac-v2.patch +++ /dev/null @@ -1,100 +0,0 @@ -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 deleted file mode 100644 index c358a045d1..0000000000 --- a/package/ffmpeg/0003-libfdk-aac-Consistently-use-a-proper-version-check-m.patch +++ /dev/null @@ -1,99 +0,0 @@ -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 deleted file mode 100644 index 30357b91e1..0000000000 --- a/package/ffmpeg/0004-libfdk-aac-Don-t-use-defined-in-a-define.patch +++ /dev/null @@ -1,72 +0,0 @@ -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/Config.in b/package/ffmpeg/Config.in index 2d94c5712a..2efef7dd86 100644 --- a/package/ffmpeg/Config.in +++ b/package/ffmpeg/Config.in @@ -1,14 +1,10 @@ config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS bool default y - # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW - depends on !(BR2_archs38 && BR2_TOOLCHAIN_USES_GLIBC) # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2 depends on !BR2_nios2 # No support for ARMv7-M in the ARM assembly logic depends on !BR2_ARM_CPU_ARMV7M - # Microblaze build affected by gcc PR71124 (infinite loop) - depends on !BR2_microblaze # m68k coldfire causes a build failure, because the check for # atomics (atomic_store) succeeds, which causes ffmpeg to # think atomic intrinsics are available, while they are @@ -16,6 +12,8 @@ config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467 for more # details. depends on !BR2_m68k_cf + # assertion fail in binutils + depends on !(BR2_or1k && !BR2_TOOLCHAIN_GCC_AT_LEAST_9) menuconfig BR2_PACKAGE_FFMPEG bool "ffmpeg" @@ -63,18 +61,19 @@ config BR2_PACKAGE_FFMPEG_FFPLAY comment "ffplay needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS -config BR2_PACKAGE_FFMPEG_FFSERVER - bool "Build ffserver" - depends on BR2_USE_MMU # fork() - help - FFserver is a streaming server for both audio and video. - config BR2_PACKAGE_FFMPEG_FFPROBE bool "Build ffprobe" help FFprobe is a utility to determine the audio and video characteristics of a container file. +config BR2_PACKAGE_FFMPEG_XCBGRAB + bool "Build X11 screen grabbing" + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_LIBXCB + help + X11 screen grabbing using libxcb. + config BR2_PACKAGE_FFMPEG_AVRESAMPLE bool "Build libavresample" help diff --git a/package/ffmpeg/disable-rpi-omx-input-zerocopy.patch b/package/ffmpeg/disable-rpi-omx-input-zerocopy.patch deleted file mode 100644 index 6733d8bafc..0000000000 --- a/package/ffmpeg/disable-rpi-omx-input-zerocopy.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/libavcodec/omx.c b/libavcodec/omx.c -index 19b4f33836..4641dc79e2 100644 ---- a/libavcodec/omx.c -+++ b/libavcodec/omx.c -@@ -644,10 +644,6 @@ static av_cold int omx_encode_init(AVCodecContext *avctx) - OMX_BUFFERHEADERTYPE *buffer; - OMX_ERRORTYPE err; - --#if CONFIG_OMX_RPI -- s->input_zerocopy = 1; --#endif -- - s->omx_context = omx_init(avctx, s->libname, s->libprefix); - if (!s->omx_context) - return AVERROR_ENCODER_NOT_FOUND; diff --git a/package/ffmpeg/ffmpeg.hash b/package/ffmpeg/ffmpeg.hash index e00c4ec56c..35bd681326 100644 --- a/package/ffmpeg/ffmpeg.hash +++ b/package/ffmpeg/ffmpeg.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 741cbd6394eaed370774ca4cc089eaafbc54d0824b9aa360d4b3b0cbcbc4a92c ffmpeg-3.4.5.tar.xz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 -sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe COPYING.LGPLv2.1 -sha256 73d99bc83313fff665b426d6672b4e0479102bc402fe22314ac9ce94a38aa5ff LICENSE.md +sha256 9df6c90aed1337634c1fb026fb01c154c29c82a64ea71291ff2da9aacb9aad31 ffmpeg-4.2.3.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 +sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe COPYING.LGPLv2.1 +sha256 cad1218c22121b169fb1380178ab7a0b33cb38a3ff6d3915b8533d1d954f3ce7 LICENSE.md diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk index b86d465df8..736aa5b4ba 100644 --- a/package/ffmpeg/ffmpeg.mk +++ b/package/ffmpeg/ffmpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -FFMPEG_VERSION = 3.4.5 +FFMPEG_VERSION = 4.2.3 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz FFMPEG_SITE = http://ffmpeg.org/releases FFMPEG_INSTALL_STAGING = YES @@ -84,12 +84,6 @@ else FFMPEG_CONF_OPTS += --disable-ffplay endif -ifeq ($(BR2_PACKAGE_FFMPEG_FFSERVER),y) -FFMPEG_CONF_OPTS += --enable-ffserver -else -FFMPEG_CONF_OPTS += --disable-ffserver -endif - ifeq ($(BR2_PACKAGE_FFMPEG_AVRESAMPLE),y) FFMPEG_CONF_OPTS += --enable-avresample else @@ -102,6 +96,17 @@ else FFMPEG_CONF_OPTS += --disable-ffprobe endif +ifeq ($(BR2_PACKAGE_FFMPEG_XCBGRAB),y) +FFMPEG_CONF_OPTS += \ + --enable-libxcb \ + --enable-libxcb-shape \ + --enable-libxcb-shm \ + --enable-libxcb-xfixes +FFMPEG_DEPENDENCIES += libxcb +else +FFMPEG_CONF_OPTS += --disable-libxcb +endif + ifeq ($(BR2_PACKAGE_FFMPEG_POSTPROC),y) FFMPEG_CONF_OPTS += --enable-postproc else @@ -141,7 +146,7 @@ endif ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),all) FFMPEG_CONF_OPTS += --disable-bsfs \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),--enable-bsfs=$(x)) + $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),--enable-bsf=$(x)) endif ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_PROTOCOLS)),all) @@ -315,6 +320,13 @@ else FFMPEG_CONF_OPTS += --disable-libbluray endif +ifeq ($(BR2_PACKAGE_INTEL_MEDIASDK),y) +FFMPEG_CONF_OPTS += --enable-libmfx +FFMPEG_DEPENDENCIES += intel-mediasdk +else +FFMPEG_CONF_OPTS += --disable-libmfx +endif + ifeq ($(BR2_PACKAGE_RTMPDUMP),y) FFMPEG_CONF_OPTS += --enable-librtmp FFMPEG_DEPENDENCIES += rtmpdump @@ -402,6 +414,13 @@ else FFMPEG_CONF_OPTS += --disable-libx265 endif +ifeq ($(BR2_PACKAGE_DAV1D),y) +FFMPEG_CONF_OPTS += --enable-libdav1d +FFMPEG_DEPENDENCIES += dav1d +else +FFMPEG_CONF_OPTS += --disable-libdav1d +endif + ifeq ($(BR2_X86_CPU_HAS_MMX),y) FFMPEG_CONF_OPTS += --enable-x86asm FFMPEG_DEPENDENCIES += host-nasm @@ -488,6 +507,11 @@ FFMPEG_CONF_OPTS += --disable-mipsfpu else FFMPEG_CONF_OPTS += --enable-mipsfpu endif + +# Fix build failure on "addi opcode not supported" +ifeq ($(BR2_mips_32r6)$(BR2_mips_64r6),y) +FFMPEG_CONF_OPTS += --disable-asm +endif endif # MIPS ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) @@ -517,6 +541,14 @@ else ifneq ($(GCC_TARGET_ARCH),) FFMPEG_CONF_OPTS += --cpu="$(GCC_TARGET_ARCH)" endif +FFMPEG_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +FFMPEG_CONF_OPTS += --disable-optimizations +FFMPEG_CFLAGS += -O0 +endif + +FFMPEG_CONF_ENV += CFLAGS="$(FFMPEG_CFLAGS)" FFMPEG_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_FFMPEG_EXTRACONF)) # Override FFMPEG_CONFIGURE_CMDS: FFmpeg does not support --target and others diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk index bcfdb9c96a..279244a5dc 100644 --- a/package/fftw/fftw.mk +++ b/package/fftw/fftw.mk @@ -27,10 +27,10 @@ endif # Generic optimisations ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) FFTW_COMMON_CONF_OPTS += --enable-threads -FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--without,--with)-combined-threads +FFTW_COMMON_CONF_OPTS += $(if $(BR2_TOOLCHAIN_HAS_OPENMP),--without,--with)-combined-threads else FFTW_COMMON_CONF_OPTS += --disable-threads endif -FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp +FFTW_COMMON_CONF_OPTS += $(if $(BR2_TOOLCHAIN_HAS_OPENMP),--enable,--disable)-openmp include $(sort $(wildcard package/fftw/*/*.mk)) diff --git a/package/ficl/ficl.hash b/package/ficl/ficl.hash index 4bfbbd070a..df53c843c1 100644 --- a/package/ficl/ficl.hash +++ b/package/ficl/ficl.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 4daf74f3d3d6f8b86ea7cb47bc24931d50b4809b50ba34ca32e0ca1e972bd3a3 ficl-4.1.0.tar.gz +sha256 1d1dd1f1cde52e8b607c5ccb6a2e5de878fd1719b8c5a4d31b9cdb343c203d0d ReadMe.txt diff --git a/package/file/0001-Add-libmagic.pc.patch b/package/file/0001-Add-libmagic.pc.patch new file mode 100644 index 0000000000..b26d16224d --- /dev/null +++ b/package/file/0001-Add-libmagic.pc.patch @@ -0,0 +1,76 @@ +From d079cac1110cc2761417f0dcb0a142b217eb1eda Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 31 Jan 2020 20:26:29 +0100 +Subject: [PATCH] Add libmagic.pc + +libmagic can optionally depends on xz (for lzma) or bzip2 since version +5.38 and +https://github.com/file/file/commit/b259a07ea95827f565faa20f0316e5b2704064f7 +so add libmagic.pc so package (such as gerbera) that links with libmagic +will be able to use pkg-config to retrieve those static dependencies +For example, this will avoid the following build failure: + +[100%] Linking CXX executable gerbera +/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/br-user/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmagic.a(compress.o): in function `uncompressbuf': +compress.c:(.text+0x69c): undefined reference to `BZ2_bzDecompressInit' +/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x710): undefined reference to `BZ2_bzDecompress' +/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x730): undefined reference to `BZ2_bzDecompressEnd' +/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x7bc): undefined reference to `lzma_auto_decoder' +/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x828): undefined reference to `lzma_code' +/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x848): undefined reference to `lzma_end' + +Fixes: + - http://autobuild.buildroot.org/results/37b1ef54dc41100689f311fbc31fc9300dc6ae63 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://bugs.astron.com/view.php?id=136] +--- + Makefile.am | 5 +++++ + configure.ac | 2 +- + libmagic.pc.in | 10 ++++++++++ + 3 files changed, 16 insertions(+), 1 deletion(-) + create mode 100644 libmagic.pc.in + +diff --git a/Makefile.am b/Makefile.am +index 8bd927d9..2ab67ed7 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -3,3 +3,8 @@ ACLOCAL_AMFLAGS = -I m4 + EXTRA_DIST = MAINT + + SUBDIRS = src magic tests doc python ++ ++# This variable must have 'exec' in its name, in order to be installed ++# by 'install-exec' target (instead of default 'install-data') ++pkgconfigexecdir = $(libdir)/pkgconfig ++pkgconfigexec_DATA = libmagic.pc +diff --git a/configure.ac b/configure.ac +index ac37fccd..b2e2e5b8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -217,5 +217,5 @@ if test "$ac_cv_header_lzma_h$ac_cv_lib_lzma_lzma_stream_decoder" = "yesyes"; t + AC_DEFINE([XZLIBSUPPORT], 1, [Enable xzlib compression support]) + fi + +-AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile]) ++AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile libmagic.pc]) + AC_OUTPUT +diff --git a/libmagic.pc.in b/libmagic.pc.in +new file mode 100644 +index 00000000..3ad1290b +--- /dev/null ++++ b/libmagic.pc.in +@@ -0,0 +1,10 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: libmagic ++Description: Magic number recognition library ++Version: @VERSION@ ++Libs: -L${libdir} -lmagic ++Libs.private: @LIBS@ +-- +2.24.1 + diff --git a/package/file/Config.in b/package/file/Config.in index 13934b2239..edc4d874b2 100644 --- a/package/file/Config.in +++ b/package/file/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_FILE bool "file" - select BR2_PACKAGE_ZLIB help Program to identify a file's format by scanning binary data for known patterns. diff --git a/package/file/file.hash b/package/file/file.hash index 7948e856ee..96efaf8483 100644 --- a/package/file/file.hash +++ b/package/file/file.hash @@ -1,7 +1,7 @@ # Locally calculated after verifying signature -# ftp://ftp.astron.com/pub/file/file-5.36.tar.gz.asc +# ftp://ftp.astron.com/pub/file/file-5.38.tar.gz.asc # using key BE04995BA8F90ED0C0C176C471112AB16CB33B3A -sha256 fb608290c0fd2405a8f63e5717abf6d03e22e183fb21884413d1edd918184379 file-5.36.tar.gz +sha256 593c2ffc2ab349c5aea0f55fedfe4d681737b6b62376a9b3ad1e77b2cc19fa34 file-5.38.tar.gz sha256 0bfa856a9930bddadbef95d1be1cf4e163c0be618e76ea3275caaf255283e274 COPYING sha256 4ccb60d623884ef637af4a5bc16b2cb350163e2135e967655837336019a64462 src/mygetopt.h -sha256 7ac061e1a1c840c4dfa0573aec6f3497676c9295b5ec4190d3576646eb1646bf src/vasprintf.c +sha256 58b5932aca6c10f2194290a3b26088ec9ba07ef6b52cc9bb2dd638cc634db6f1 src/vasprintf.c diff --git a/package/file/file.mk b/package/file/file.mk index 1a835015a7..42f9524ed1 100644 --- a/package/file/file.mk +++ b/package/file/file.mk @@ -4,16 +4,25 @@ # ################################################################################ -FILE_VERSION = 5.36 +FILE_VERSION = 5.38 FILE_SITE = ftp://ftp.astron.com/pub/file -FILE_DEPENDENCIES = host-file zlib +FILE_DEPENDENCIES = host-file HOST_FILE_DEPENDENCIES = host-zlib FILE_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' FILE_INSTALL_STAGING = YES FILE_LICENSE = BSD-2-Clause, BSD-4-Clause (one file), BSD-3-Clause (one file) FILE_LICENSE_FILES = COPYING src/mygetopt.h src/vasprintf.c +# We're patching configure.ac +FILE_AUTORECONF = YES HOST_FILE_CONF_OPTS = --disable-libseccomp +ifeq ($(BR2_PACKAGE_BZIP2),y) +FILE_CONF_OPTS += --enable-bzlib +FILE_DEPENDENCIES += bzip2 +else +FILE_CONF_OPTS += --disable-bzlib +endif + ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) FILE_CONF_OPTS += --enable-libseccomp FILE_DEPENDENCIES += libseccomp @@ -21,5 +30,19 @@ else FILE_CONF_OPTS += --disable-libseccomp endif +ifeq ($(BR2_PACKAGE_XZ),y) +FILE_CONF_OPTS += --enable-xzlib +FILE_DEPENDENCIES += xz +else +FILE_CONF_OPTS += --disable-xzlib +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +FILE_CONF_OPTS += --enable-zlib +FILE_DEPENDENCIES += zlib +else +FILE_CONF_OPTS += --disable-zlib +endif + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/filemq/filemq.hash b/package/filemq/filemq.hash index d1df1ff2a9..611d19208e 100644 --- a/package/filemq/filemq.hash +++ b/package/filemq/filemq.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 f3764e1adacfbf7fd09fb9c553e796a80d8159f1ace689fb68307afbc1746d4c filemq-8940f34e0f1c8f25c1c693ed8db069f58fbc5ad0.tar.gz +sha256 f3764e1adacfbf7fd09fb9c553e796a80d8159f1ace689fb68307afbc1746d4c filemq-8940f34e0f1c8f25c1c693ed8db069f58fbc5ad0.tar.gz +sha256 60222c28c1a7f6a92c7df98e5c5f4459e624e6e285e0b9b94467af5f6ab3343d LICENSE diff --git a/package/findutils/0001-mountlist-include-sysmacros-h-for-glibc.patch b/package/findutils/0001-mountlist-include-sysmacros-h-for-glibc.patch deleted file mode 100644 index ebb4d38a5d..0000000000 --- a/package/findutils/0001-mountlist-include-sysmacros-h-for-glibc.patch +++ /dev/null @@ -1,81 +0,0 @@ -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 deleted file mode 100644 index 3144f5e326..0000000000 --- a/package/findutils/0002-fflush-adjust-to-glibc-2-28-libio-h-removal.patch +++ /dev/null @@ -1,152 +0,0 @@ -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.hash b/package/findutils/findutils.hash index d5c5519304..392c62d254 100644 --- a/package/findutils/findutils.hash +++ b/package/findutils/findutils.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 ded4c9f73731cd48fec3b6bdaccce896473b6d8e337e9612e16cf1431bb1169d findutils-4.6.0.tar.gz +sha256 c5fefbdf9858f7e4feb86f036e1247a54c79fc2d8e4b7064d5aaa1f47dfa789a findutils-4.7.0.tar.xz + +# Hash for license file +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/findutils/findutils.mk b/package/findutils/findutils.mk index b0a2ea8c5f..13d8271e18 100644 --- a/package/findutils/findutils.mk +++ b/package/findutils/findutils.mk @@ -4,7 +4,8 @@ # ################################################################################ -FINDUTILS_VERSION = 4.6.0 +FINDUTILS_VERSION = 4.7.0 +FINDUTILS_SOURCE = findutils-$(FINDUTILS_VERSION).tar.xz FINDUTILS_SITE = $(BR2_GNU_MIRROR)/findutils FINDUTILS_LICENSE = GPL-3.0+ FINDUTILS_LICENSE_FILES = COPYING @@ -12,7 +13,5 @@ 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/0001-t-io_uring-don-t-use-rand48_r-variants.patch b/package/fio/0001-t-io_uring-don-t-use-rand48_r-variants.patch new file mode 100644 index 0000000000..8d6830ac81 --- /dev/null +++ b/package/fio/0001-t-io_uring-don-t-use-rand48_r-variants.patch @@ -0,0 +1,49 @@ +From 5e8865c0e08861558c1253c521dc9098d0c773ee Mon Sep 17 00:00:00 2001 +From: Jens Axboe +Date: Mon, 16 Mar 2020 08:30:36 -0600 +Subject: [PATCH] t/io_uring: don't use *rand48_r() variants + +Not available on all platforms. + +Signed-off-by: Jens Axboe + +[Patch from upstream +https://github.com/axboe/fio/commit/5e8865c0e08861558c1253c521dc9098d0c773ee] +Signed-off-by: Heiko Thiery +--- + t/io_uring.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/t/io_uring.c b/t/io_uring.c +index e84a2b6b..d48db1e9 100644 +--- a/t/io_uring.c ++++ b/t/io_uring.c +@@ -63,7 +63,6 @@ struct file { + struct submitter { + pthread_t thread; + int ring_fd; +- struct drand48_data rand; + struct io_sq_ring sq_ring; + struct io_uring_sqe *sqes; + struct io_cq_ring cq_ring; +@@ -170,7 +169,7 @@ static void init_io(struct submitter *s, unsigned index) + } + f->pending_ios++; + +- lrand48_r(&s->rand, &r); ++ r = lrand48(); + offset = (r % (f->max_blocks - 1)) * BS; + + if (register_files) { +@@ -286,7 +285,7 @@ static void *submitter_fn(void *data) + + printf("submitter=%d\n", gettid()); + +- srand48_r(pthread_self(), &s->rand); ++ srand48(pthread_self()); + + prepped = 0; + do { +-- +2.20.1 + diff --git a/package/fio/0002-Makefile-fix-build-of-io_uring-on-sh4.patch b/package/fio/0002-Makefile-fix-build-of-io_uring-on-sh4.patch new file mode 100644 index 0000000000..69bda93d37 --- /dev/null +++ b/package/fio/0002-Makefile-fix-build-of-io_uring-on-sh4.patch @@ -0,0 +1,33 @@ +From e1985f9097f37748efdc29239eb3fb6a00b12f27 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 23 May 2020 19:07:40 +0200 +Subject: [PATCH] Makefile: fix build of io_uring on sh4 + +SuperH compile currently fails with: + +/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sh4-buildroot-linux-uclibc/8.3.0/../../../../sh4-buildroot-linux-uclibc/bin/ld: t/io_uring.o: in function `submitter_fn': +/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/fio-3.19/t/io_uring.c:131: undefined reference to `arch_flags' +/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sh4-buildroot-linux-uclibc/8.3.0/../../../../sh4-buildroot-linux-uclibc/bin/ld: /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/fio-3.19/t/io_uring.c:367: undefined reference to `arch_flags' +collect2: error: ld returned 1 exit status + +Fix that by ensuring we have a stub arch.o with the necessary arch flags + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/axboe/fio/commit/e1985f9097f37748efdc29239eb3fb6a00b12f27] +--- + Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile b/Makefile +index f1e984f5f..e39621954 100644 +--- a/Makefile ++++ b/Makefile +@@ -283,6 +283,7 @@ T_PIPE_ASYNC_OBJS = t/read-to-pipe-async.o + T_PIPE_ASYNC_PROGS = t/read-to-pipe-async + + T_IOU_RING_OBJS = t/io_uring.o ++T_IOU_RING_OBJS += t/arch.o + T_IOU_RING_PROGS = t/io_uring + + T_MEMLOCK_OBJS = t/memlock.o diff --git a/package/fio/fio.hash b/package/fio/fio.hash index e7eea5820b..d95deb20b0 100644 --- a/package/fio/fio.hash +++ b/package/fio/fio.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 b4009bf4f9ddbb4e8c72b2316f91dcf83e476e7a1132b0318c226d945a6d8247 fio-fio-3.9.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 8a240c1ad13d1fe3e58588643d81d0695899be4a669fe6d8fafa76ca6a89db2c MORAL-LICENSE +sha256 a2f885834900f554127718716338914791f5d72800b6f9e3edf173b94b5a2e4e fio-3.19.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 8a240c1ad13d1fe3e58588643d81d0695899be4a669fe6d8fafa76ca6a89db2c MORAL-LICENSE diff --git a/package/fio/fio.mk b/package/fio/fio.mk index 34e24e55de..3ddd74eda4 100644 --- a/package/fio/fio.mk +++ b/package/fio/fio.mk @@ -4,8 +4,8 @@ # ################################################################################ -FIO_VERSION = fio-3.9 -FIO_SITE = git://git.kernel.dk/fio.git +FIO_VERSION = 3.19 +FIO_SITE = http://brick.kernel.dk/snaps FIO_LICENSE = GPL-2.0 FIO_LICENSE_FILES = COPYING MORAL-LICENSE diff --git a/package/fis/0001-checksum.patch b/package/fis/0001-checksum.patch deleted file mode 100644 index a6325eb01a..0000000000 --- a/package/fis/0001-checksum.patch +++ /dev/null @@ -1,274 +0,0 @@ -diff -uN fis.orig/crc.c fis/crc.c ---- fis.orig/crc.c 1970-01-01 10:00:00.000000000 +1000 -+++ fis/crc.c 2008-04-01 11:39:13.000000000 +1100 -@@ -0,0 +1,88 @@ -+/* -+ * crc.c -+ * -+ * $Id: crc.c,v 1.1 2006/02/13 09:58:08 andrzej Exp $ -+ * -+ * Gary S. Brown's CRC -+ * Code based on Gary S. Brown CRC (1986). -+ * Generation polynomial is: -+ * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 -+ * -+ * Copyright (C) 2006 Ekiert sp z o.o. -+ * Author: Andrzej Ekiert -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License -+ * as published by the Free Software Foundation; either version -+ * 2 of the License, or (at your option) any later version. -+ */ -+ -+#include -+ -+#include "crc.h" -+ -+static const uint32_t crc32_tab[] = { -+ 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L, -+ 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L, -+ 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L, -+ 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL, -+ 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L, -+ 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L, -+ 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L, -+ 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL, -+ 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L, -+ 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL, -+ 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L, -+ 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L, -+ 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L, -+ 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL, -+ 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL, -+ 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L, -+ 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL, -+ 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L, -+ 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L, -+ 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L, -+ 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL, -+ 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L, -+ 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L, -+ 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL, -+ 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L, -+ 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L, -+ 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L, -+ 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L, -+ 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L, -+ 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL, -+ 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL, -+ 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L, -+ 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L, -+ 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL, -+ 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL, -+ 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L, -+ 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL, -+ 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L, -+ 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL, -+ 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L, -+ 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL, -+ 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L, -+ 0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L, -+ 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL, -+ 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L, -+ 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L, -+ 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L, -+ 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L, -+ 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L, -+ 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L, -+ 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL, -+ 0x2d02ef8dL -+ }; -+ -+uint32_t crc32(uint8_t *s, uint32_t len) -+{ -+ uint32_t i, val = 0; -+ -+ for (i = 0; i < len; i++) { -+ val = crc32_tab[(val^s[i]) & 0xff] ^ (val >> 8); -+ } -+ return val; -+} -+ -diff -uN fis.orig/crc.h fis/crc.h ---- fis.orig/crc.h 1970-01-01 10:00:00.000000000 +1000 -+++ fis/crc.h 2008-04-01 11:39:13.000000000 +1100 -@@ -0,0 +1,25 @@ -+/* -+ * crc.h -+ * -+ * $Id: crc.h,v 1.1 2006/02/13 09:58:08 andrzej Exp $ -+ * -+ * Gary S. Brown's CRC - header. -+ * -+ * Copyright (C) 2006 Ekiert sp z o.o. -+ * Author: Andrzej Ekiert -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License -+ * as published by the Free Software Foundation; either version -+ * 2 of the License, or (at your option) any later version. -+ */ -+ -+#ifndef CRC_H -+#define CRC_H -+ -+#include -+ -+uint32_t crc32(uint8_t *s, uint32_t len); -+ -+#endif //CRC_H -+ -diff -uN fis.orig/fis.c fis/fis.c ---- fis.orig/fis.c 2007-05-03 06:42:51.000000000 +1000 -+++ fis/fis.c 2008-04-01 11:52:11.000000000 +1100 -@@ -30,6 +30,7 @@ - #include - #include - -+#include "crc.h" - - // Report an error and terminate: - -@@ -141,8 +142,8 @@ - - static void dump_desc(FILE* f, const struct fis_image_desc* d) - { -- fprintf(f,"%16s: addr = 0x%08x, size = 0x%08x\n", -- d->name, d->flash_base, d->size); -+ fprintf(f,"%16s: flash addr = 0x%08x, mem addr = 0x%08x, size = 0x%08x, checksum = 0x%08x\n", -+ d->name, d->flash_base, d->mem_base, d->size, d->file_cksum); - for (unsigned int i=0; i<(sizeof(d->skips)/4); ++i) { - if (d->skips[i]==0x736b6970 || d->skips[i]==0x70696b73) { // "skip" - uint32_t offset = d->skips[i+1]; -@@ -332,6 +333,7 @@ - d->size = swap_end_32(d->size); - d->entry_point = swap_end_32(d->entry_point); - d->data_length = swap_end_32(d->data_length); -+ d->file_cksum = swap_end_32(d->file_cksum); - for (unsigned int i=0; i<(sizeof(d->skips)/4); ++i) { - d->skips[i] = swap_end_32(d->skips[i]); - } -@@ -446,19 +448,25 @@ - char* arg=argv[i]; - if (strcmp(arg,"-l")==0) { - if (i==argc-1) { -- fatal("argumnet missing for -l"); -+ fatal("argument missing for -l"); - } - ++i; - d->size = str_to_int_maybe_hex(argv[i]); - } else if (strcmp(arg,"-f")==0) { - if (i==argc-1) { -- fatal("argumnet missing for -f"); -+ fatal("argument missing for -f"); - } - ++i; - d->flash_base = str_to_int_maybe_hex(argv[i]); -+ } else if (strcmp(arg,"-m")==0) { -+ if (i==argc-1) { -+ fatal("argument missing for -m"); -+ } -+ ++i; -+ d->mem_base = str_to_int_maybe_hex(argv[i]); - } else if (strcmp(arg,"-n")==0) { - if (i==argc-1) { -- fatal("argumnet missing for -n"); -+ fatal("argument missing for -n"); - } - ++i; - char* name = argv[i]; -@@ -499,6 +507,66 @@ - save_dir(fd,offset,size,swap_endianness,dir); - } - -+static void fis_checksum(const char* device, int offset, int size, bool swap_endianness, -+ int argc, char* argv[]) -+{ -+ char* name = NULL; -+ char* filename = NULL; -+ -+ for (int i=0; i=16) { -+ fatal("name too long, max 16 chars including terminating null"); -+ } -+ } else { -+ fputs("Unrecognised option '",stderr); -+ fputs(arg,stderr); -+ fputs("'\n",stderr); -+ exit(1); -+ } -+ } -+ -+ if (name == NULL || filename == NULL) -+ fatal("filename and partition name must be specified"); -+ -+ int fd; -+ char *buf; -+ struct stat stat_buf; -+ uint32_t crc; -+ -+ CHECK(fd=open(filename,O_RDONLY),-1); -+ CHECK(stat(filename, &stat_buf),-1); -+ buf = (char*)chk_malloc(stat_buf.st_size); -+ CHECK(read(fd,buf,stat_buf.st_size),-1); -+ crc = crc32(buf,stat_buf.st_size); -+ close(fd); -+ free(buf); -+ -+ CHECK(fd=open(device,O_RDWR),-1); -+ dir_t dir; -+ load_dir(fd,offset,&size,swap_endianness,&dir); -+ iter_t after = NULL; -+ FOR_EACH_DIR_ENTRY(dir,i) { -+ if (strcmp(get(i)->name, name) == 0) { -+ get(i)->file_cksum = crc; -+ get(i)->data_length = stat_buf.st_size; -+ break; -+ } -+ } -+ save_dir(fd,offset,size,swap_endianness,dir); -+} - - static void fis_delete(const char* device, int offset, int size, bool swap_endianness, - char* name) -@@ -526,8 +594,9 @@ - fputs("Usage:\n" - " fis [options] list\n" - " fis [options] init\n" -- " fis [options] create -f address -l size -n name\n" -+ " fis [options] create -f address -l size -n name [-m memory_address]\n" - " fis [options] delete name\n" -+ " fis [options] checksum -f filename -n name\n" - "Options:\n" - " -d device specify /dev/mtd* device containing directory\n" - " -o offset specify offset into device of start of directory\n" -@@ -597,9 +666,14 @@ - fis_create(device,offset,size,swap_endianness, - argc-i-1,&argv[i+1]); - break; -+ } else if (strcmp(arg,"checksum")==0) { -+ check_dev(device); -+ fis_checksum(device,offset,size,swap_endianness, -+ argc-i-1,&argv[i+1]); -+ break; - } else if (strcmp(arg,"delete")==0) { - if (i!=argc-2) { -- fatal("Exactly one argumnet required after 'delete'"); -+ fatal("Exactly one argument required after 'delete'"); - } - ++i; - char* name = argv[i]; diff --git a/package/fis/0003-list_output.patch b/package/fis/0003-list_output.patch deleted file mode 100644 index 6c1e4eb9dd..0000000000 --- a/package/fis/0003-list_output.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- fis.orig/fis.c 2010-05-12 10:22:10.000000000 -0700 -+++ fis/fis.c 2010-05-12 10:19:24.000000000 -0700 -@@ -142,8 +142,8 @@ - - static void dump_desc(FILE* f, const struct fis_image_desc* d) - { -- fprintf(f,"%16s: flash addr = 0x%08x, mem addr = 0x%08x, size = 0x%08x, checksum = 0x%08x\n", -- d->name, d->flash_base, d->mem_base, d->size, d->file_cksum); -+ fprintf(f,"%-16s 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x\n", -+ d->name, d->flash_base, d->mem_base, d->size, d->entry_point, d->file_cksum); - for (unsigned int i=0; i<(sizeof(d->skips)/4); ++i) { - if (d->skips[i]==0x736b6970 || d->skips[i]==0x70696b73) { // "skip" - uint32_t offset = d->skips[i+1]; -@@ -400,6 +400,7 @@ - CHECK(fd=open(device,O_RDONLY),-1); - dir_t dir; - load_dir(fd,offset,&size,swap_endianness,&dir); -+ fprintf(stdout,"Name FLASH addr Mem addr Length Entry point Checksum\n"); - FOR_EACH_DIR_ENTRY(dir,i) { - dump_desc(stdout,get(i)); - } diff --git a/package/fis/0004-sorted_list.patch b/package/fis/0004-sorted_list.patch deleted file mode 100644 index 6854977ba4..0000000000 --- a/package/fis/0004-sorted_list.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- fis.orig/fis.c 2010-05-12 11:09:22.000000000 -0700 -+++ fis/fis.c 2010-05-12 11:05:45.000000000 -0700 -@@ -401,9 +401,24 @@ - dir_t dir; - load_dir(fd,offset,&size,swap_endianness,&dir); - fprintf(stdout,"Name FLASH addr Mem addr Length Entry point Checksum\n"); -- FOR_EACH_DIR_ENTRY(dir,i) { -- dump_desc(stdout,get(i)); -- } -+ uint32_t last_addr = 0; -+ bool image_found; -+ do { -+ uint32_t lowest_addr = 0xffffffff; -+ iter_t index; -+ image_found = false; -+ FOR_EACH_DIR_ENTRY(dir,i) { -+ const struct fis_image_desc *d = get(i); -+ if ((d->flash_base >= last_addr) && (d->flash_base < lowest_addr)) { -+ lowest_addr = d->flash_base; -+ image_found = true; -+ index = i; -+ } -+ } -+ if (image_found) -+ dump_desc(stdout,get(index)); -+ last_addr = lowest_addr + 1; -+ } while (image_found == true); - } - - diff --git a/package/fis/Config.in b/package/fis/Config.in deleted file mode 100644 index c5bfbb82cc..0000000000 --- a/package/fis/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_FIS - bool "fis" - help - fis - manipulate RedBoot partition table from Linux. diff --git a/package/fis/fis.mk b/package/fis/fis.mk deleted file mode 100644 index 6db06bf74a..0000000000 --- a/package/fis/fis.mk +++ /dev/null @@ -1,22 +0,0 @@ -################################################################################ -# -# fis -# -################################################################################ - -FIS_SITE = http://svn.chezphil.org/utils/trunk -FIS_SITE_METHOD = svn -FIS_VERSION = 2892 -FIS_LICENSE = GPL-2.0+ -FIS_LICENSE_FILES = fis.c - -define FIS_BUILD_CMDS - $(TARGET_CC) $(TARGET_CFLAGS) -std=c99 -o $(@D)/fis \ - $(@D)/fis.c $(@D)/crc.c $(TARGET_LDFLAGS) -endef - -define FIS_INSTALL_TARGET_CMDS - $(INSTALL) -m 0755 -D $(@D)/fis $(TARGET_DIR)/sbin/fis -endef - -$(eval $(generic-package)) diff --git a/package/flac/0001-configure.ac-check-for-sys-auxv.h-before-defining-FL.patch b/package/flac/0001-configure.ac-check-for-sys-auxv.h-before-defining-FL.patch new file mode 100644 index 0000000000..d1398d4b3e --- /dev/null +++ b/package/flac/0001-configure.ac-check-for-sys-auxv.h-before-defining-FL.patch @@ -0,0 +1,36 @@ +From 14a0713389fbfef59225d027ea466ebb478a8c6b Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 19 Sep 2019 21:18:04 +0200 +Subject: [PATCH] configure.ac: check for sys/auxv.h before defining FLAC__CPU_PPC + +Upstream: https://github.com/xiph/flac/pull/142 +Signed-off-by: Peter Seiderer +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0228a12..64cb3f2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -144,7 +144,7 @@ case "$host_cpu" in + powerpc64|powerpc64le) + cpu_ppc64=true + cpu_ppc=true +- AC_DEFINE(FLAC__CPU_PPC) ++ AC_CHECK_HEADER(sys/auxv.h, AC_DEFINE(FLAC__CPU_PPC)) + AH_TEMPLATE(FLAC__CPU_PPC, [define if building for PowerPC]) + AC_DEFINE(FLAC__CPU_PPC64) + AH_TEMPLATE(FLAC__CPU_PPC64, [define if building for PowerPC64]) +@@ -152,7 +152,7 @@ case "$host_cpu" in + ;; + powerpc|powerpcle) + cpu_ppc=true +- AC_DEFINE(FLAC__CPU_PPC) ++ AC_CHECK_HEADER(sys/auxv.h, AC_DEFINE(FLAC__CPU_PPC)) + AH_TEMPLATE(FLAC__CPU_PPC, [define if building for PowerPC]) + asm_optimisation=$asm_opt + ;; +-- +2.23.0 + diff --git a/package/flac/0001-configure.ac-relax-linux-OS-detection.patch b/package/flac/0001-configure.ac-relax-linux-OS-detection.patch deleted file mode 100644 index baf07bc16e..0000000000 --- a/package/flac/0001-configure.ac-relax-linux-OS-detection.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8589b44c573d4228a9df3ba7bffdfdf584e7b033 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Mon, 9 Jan 2017 21:38:29 +0100 -Subject: [PATCH] configure.ac: relax linux OS detection - -Not all linux hosts match the *-pc-linux-gnu wildcard, causing build -failures for older glibc versions where we need to link with -lrt for -clock_gettime - E.G.: - - - arm-unknown-linux-musleabihf - - powerpc-unknown-linux-gnuspe - - bfin-linux-linux-uclibc - .. - -Signed-off-by: Peter Korsgaard ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 070ab357..235d2717 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -186,7 +186,7 @@ esac - AM_CONDITIONAL(OS_IS_WINDOWS, test "x$os_is_windows" = xyes) - - case "$host" in -- *-pc-linux-gnu) -+ *-linux-*) - sys_linux=true - AC_DEFINE(FLAC__SYS_LINUX) - AH_TEMPLATE(FLAC__SYS_LINUX, [define if building for Linux]) --- -2.11.0 - diff --git a/package/flac/flac.hash b/package/flac/flac.hash index 7ce76f107c..df7c2d1b95 100644 --- a/package/flac/flac.hash +++ b/package/flac/flac.hash @@ -1,2 +1,10 @@ +# From https://ftp.osuosl.org/pub/xiph/releases/flac/MD5SUMS +md5 26703ed2858c1fc9ffc05136d13daa69 flac-1.3.3.tar.xz +# From https://ftp.osuosl.org/pub/xiph/releases/flac/SHA1SUMS +sha1 6ac2e8f1dd18c9b0214c4d81bd70cdc1e943cffe flac-1.3.3.tar.xz # From http://downloads.xiph.org/releases/flac/SHA256SUMS.txt -sha256 91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f flac-1.3.2.tar.xz +sha256 213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748 flac-1.3.3.tar.xz +# Locally computed +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LGPL +sha256 fa27cb11f13f97b0c5f3ff363b1e2610c6efe87ed175779cb2a78e44eb19d34c COPYING.Xiph diff --git a/package/flac/flac.mk b/package/flac/flac.mk index 34482133d9..f2922ffefc 100644 --- a/package/flac/flac.mk +++ b/package/flac/flac.mk @@ -4,15 +4,17 @@ # ################################################################################ -FLAC_VERSION = 1.3.2 +FLAC_VERSION = 1.3.3 FLAC_SITE = http://downloads.xiph.org/releases/flac FLAC_SOURCE = flac-$(FLAC_VERSION).tar.xz FLAC_INSTALL_STAGING = YES FLAC_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) FLAC_LICENSE = Xiph BSD-like (libFLAC), GPL-2.0+ (tools), LGPL-2.1+ (other libraries) FLAC_LICENSE_FILES = COPYING.Xiph COPYING.GPL COPYING.LGPL -# 0001-configure.ac-relax-linux-OS-detection.patch patches configure.ac + +# patch touching configure.ac FLAC_AUTORECONF = YES + FLAC_CONF_OPTS = \ --disable-cpplibs \ --disable-xmms-plugin \ diff --git a/package/flann/Config.in b/package/flann/Config.in index a2cd50c867..3725fc784f 100644 --- a/package/flann/Config.in +++ b/package/flann/Config.in @@ -2,9 +2,6 @@ config BR2_PACKAGE_FLANN bool "flann" depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS - # all gcc versions fail to build flann on Microblaze due to - # gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69401 - depends on !BR2_microblaze help FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces. It contains a @@ -25,5 +22,4 @@ config BR2_PACKAGE_FLANN_EXAMPLES endif comment "flann needs a toolchain w/ C++, dynamic library" - depends on !BR2_microblaze depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS diff --git a/package/flann/flann.hash b/package/flann/flann.hash index c2c41beb02..543e4b483d 100644 --- a/package/flann/flann.hash +++ b/package/flann/flann.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 b23b5f4e71139faa3bcb39e6bbcc76967fbaf308c4ee9d4f5bfbeceaa76cc5d3 flann-1.9.1.tar.gz +sha256 b23b5f4e71139faa3bcb39e6bbcc76967fbaf308c4ee9d4f5bfbeceaa76cc5d3 flann-1.9.1.tar.gz +sha256 3993f339cc56506c62aa1eb2fb76f240ee93b738d857832899c1e207b1dc069a COPYING diff --git a/package/flann/flann.mk b/package/flann/flann.mk index ef61815bba..6c2e6a9e78 100644 --- a/package/flann/flann.mk +++ b/package/flann/flann.mk @@ -14,8 +14,16 @@ FLANN_CONF_OPTS = \ -DBUILD_PYTHON_BINDINGS=OFF \ -DBUILD_MATLAB_BINDINGS=OFF \ -DBUILD_EXAMPLES=$(if $(BR2_PACKAGE_FLANN_EXAMPLES),ON,OFF) \ - -DUSE_OPENMP=$(if $(BR2_GCC_ENABLE_OPENMP),ON,OFF) \ + -DUSE_OPENMP=$(if $(BR2_TOOLCHAIN_HAS_OPENMP),ON,OFF) \ -DPYTHON_EXECUTABLE=OFF \ -DCMAKE_DISABLE_FIND_PACKAGE_HDF5=TRUE +FLANN_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) +FLANN_CXXFLAGS += -O0 +endif + +FLANN_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(FLANN_CXXFLAGS)" + $(eval $(cmake-package)) diff --git a/package/flannel/Config.in b/package/flannel/Config.in index 134111b1c0..326361080f 100644 --- a/package/flannel/Config.in +++ b/package/flannel/Config.in @@ -1,12 +1,12 @@ comment "flannel needs a toolchain w/ threads" - depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS && \ - BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_FLANNEL bool "flannel" - depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS - depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS help Flannel is a virtual network that gives a subnet to each diff --git a/package/flannel/flannel.hash b/package/flannel/flannel.hash index 3e0b25cb4d..8195140f8e 100644 --- a/package/flannel/flannel.hash +++ b/package/flannel/flannel.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 dbbcb08c0e70713b0c920387a9967e5b30ef833c8118c847edbbca4f68ff0562 v0.5.5.tar.gz +sha256 7375318b288bcff733aabfe1a1007d478cb9091cdaffe68c8253ddd93bc070ed v0.12.0.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/flannel/flannel.mk b/package/flannel/flannel.mk index d00d2df92c..8aa960f086 100644 --- a/package/flannel/flannel.mk +++ b/package/flannel/flannel.mk @@ -4,9 +4,9 @@ # ################################################################################ -FLANNEL_VERSION = v0.5.5 +FLANNEL_VERSION = 0.12.0 FLANNEL_SITE = https://github.com/coreos/flannel/archive -FLANNEL_SOURCE = $(FLANNEL_VERSION).tar.gz +FLANNEL_SOURCE = v$(FLANNEL_VERSION).tar.gz FLANNEL_LICENSE = Apache-2.0 FLANNEL_LICENSE_FILES = LICENSE diff --git a/package/flare-engine/Config.in b/package/flare-engine/Config.in index e299a6b7de..cdcb018948 100644 --- a/package/flare-engine/Config.in +++ b/package/flare-engine/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_FLARE_ENGINE bool "flare-engine" depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS # SDL2 - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85180 select BR2_PACKAGE_SDL2 select BR2_PACKAGE_SDL2_IMAGE select BR2_PACKAGE_SDL2_MIXER @@ -18,6 +17,3 @@ config BR2_PACKAGE_FLARE_ENGINE comment "flare-engine needs a toolchain w/ C++, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS - -comment "flare-engine needs a toolchain not affected by GCC bug 85180" - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85180 diff --git a/package/flare-engine/flare-engine.hash b/package/flare-engine/flare-engine.hash index 8c6fc3ab1b..e03bcc589e 100644 --- a/package/flare-engine/flare-engine.hash +++ b/package/flare-engine/flare-engine.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4bbd4674513b643be6294188904665c53f0ef2912e803212c05e8fd22a44d74d flare-engine-v1.0.tar.gz +sha256 4bbd4674513b643be6294188904665c53f0ef2912e803212c05e8fd22a44d74d flare-engine-1.0.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/flare-engine/flare-engine.mk b/package/flare-engine/flare-engine.mk index 2f36602348..ed9dd19b0e 100644 --- a/package/flare-engine/flare-engine.mk +++ b/package/flare-engine/flare-engine.mk @@ -4,8 +4,8 @@ # ################################################################################ -FLARE_ENGINE_VERSION = v1.0 -FLARE_ENGINE_SITE = $(call github,clintbellanger,flare-engine,$(FLARE_ENGINE_VERSION)) +FLARE_ENGINE_VERSION = 1.0 +FLARE_ENGINE_SITE = $(call github,clintbellanger,flare-engine,v$(FLARE_ENGINE_VERSION)) FLARE_ENGINE_LICENSE = GPL-3.0+ FLARE_ENGINE_LICENSE_FILES = COPYING @@ -19,4 +19,12 @@ ifeq ($(BR2_ENABLE_DEBUG),y) FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=RelWithDebInfo endif +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +# CMakeLists.txt sets CMAKE_CXX_FLAGS_ depending on +# BUILD_TYPE, and this comes after the generic CMAKE_CXX_FLAGS. +# Override CMAKE_BUILD_TYPE so no overrides are applied. +FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=Buildroot +FLARE_ENGINE_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -O0" +endif + $(eval $(cmake-package)) diff --git a/package/flare-game/flare-game.hash b/package/flare-game/flare-game.hash index a27c66d9e3..51646269a3 100644 --- a/package/flare-game/flare-game.hash +++ b/package/flare-game/flare-game.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5c8e9d72fcbe59f1861f79ac7b76ceffe3ec61d1df241c32d9133fe158fba4c1 flare-game-v1.0.tar.gz +sha256 5c8e9d72fcbe59f1861f79ac7b76ceffe3ec61d1df241c32d9133fe158fba4c1 flare-game-1.0.tar.gz sha256 9fce5eb663f136449e11293a871ed96db5ba579116a927fc6a70dd20a4a5b9e6 README diff --git a/package/flare-game/flare-game.mk b/package/flare-game/flare-game.mk index 89750d99b1..a70e998d0e 100644 --- a/package/flare-game/flare-game.mk +++ b/package/flare-game/flare-game.mk @@ -4,8 +4,8 @@ # ################################################################################ -FLARE_GAME_VERSION = v1.0 -FLARE_GAME_SITE = $(call github,clintbellanger,flare-game,$(FLARE_GAME_VERSION)) +FLARE_GAME_VERSION = 1.0 +FLARE_GAME_SITE = $(call github,clintbellanger,flare-game,v$(FLARE_GAME_VERSION)) FLARE_GAME_LICENSE = CC-BY-SA-3.0 (data files), GPL-2.0 (GNU Unifont), \ OFL-1.1 (Liberation Sans) FLARE_GAME_LICENSE_FILES = README diff --git a/package/flashbench/Config.in b/package/flashbench/Config.in index 7be1ea9bc3..a50f482ac3 100644 --- a/package/flashbench/Config.in +++ b/package/flashbench/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_FLASHBENCH SD cards and other media for the Linaro flash memory survey. - https://wiki.linaro.org/WorkingGroups/KernelConsolidation/Projects/FlashCardSurvey + https://git.linaro.org/people/arnd.bergmann/flashbench.git diff --git a/package/flashbench/flashbench.hash b/package/flashbench/flashbench.hash index a5eb388c8d..f82d7f0eed 100644 --- a/package/flashbench/flashbench.hash +++ b/package/flashbench/flashbench.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 12e2dcb6f041ef1a303fc5bc84642ed637c24d77ed6c667a2187f21d54555731 flashbench-2e30b1968a66147412f21002ea844122a0d5e2f0.tar.gz +sha256 12e2dcb6f041ef1a303fc5bc84642ed637c24d77ed6c667a2187f21d54555731 flashbench-2e30b1968a66147412f21002ea844122a0d5e2f0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/flashbench/flashbench.mk b/package/flashbench/flashbench.mk index cbcf9ea2d1..e89a250aa3 100644 --- a/package/flashbench/flashbench.mk +++ b/package/flashbench/flashbench.mk @@ -9,16 +9,9 @@ FLASHBENCH_SITE = git://git.linaro.org/people/arnd/flashbench.git FLASHBENCH_LICENSE = GPL-2.0 FLASHBENCH_LICENSE_FILES = COPYING -FLASHBENCH_CFLAGS = $(TARGET_CFLAGS) - -ifeq ($(BR2_microblaze)$(BR2_sh2a),y) -# microblaze and sh2a toolchains only provide LLONG_MAX when used with gnu99 dialect -FLASHBENCH_CFLAGS += -std=gnu99 -endif - define FLASHBENCH_BUILD_CMDS $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(FLASHBENCH_CFLAGS)" \ + CFLAGS="$(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS) -lrt" endef diff --git a/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch b/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch deleted file mode 100644 index 06eb9256e4..0000000000 --- a/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch +++ /dev/null @@ -1,41 +0,0 @@ -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/flashrom.hash b/package/flashrom/flashrom.hash index 3a68e8acb7..6622758a55 100644 --- a/package/flashrom/flashrom.hash +++ b/package/flashrom/flashrom.hash @@ -1,4 +1,4 @@ # Locally computed after checking pgp signature -# https://download.flashrom.org/releases/flashrom-1.0.tar.bz2.asc -sha256 3702fa215ba5fb5af8e54c852d239899cfa1389194c1e51cb2a170c4dc9dee64 flashrom-1.0.tar.bz2 +# https://download.flashrom.org/releases/flashrom-v1.1.tar.bz2.asc +sha256 aeada9c70c22421217c669356180c0deddd0b60876e63d2224e3260b90c14e19 flashrom-v1.1.tar.bz2 sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/flashrom/flashrom.mk b/package/flashrom/flashrom.mk index 733ad7318d..6b9e6dde94 100644 --- a/package/flashrom/flashrom.mk +++ b/package/flashrom/flashrom.mk @@ -4,8 +4,8 @@ # ################################################################################ -FLASHROM_VERSION = 1.0 -FLASHROM_SOURCE = flashrom-$(FLASHROM_VERSION).tar.bz2 +FLASHROM_VERSION = 1.1 +FLASHROM_SOURCE = flashrom-v$(FLASHROM_VERSION).tar.bz2 FLASHROM_SITE = https://download.flashrom.org/releases FLASHROM_LICENSE = GPL-2.0+ FLASHROM_LICENSE_FILES = COPYING diff --git a/package/flatbuffers/flatbuffers.hash b/package/flatbuffers/flatbuffers.hash index a8f23f4ef9..82ef942799 100644 --- a/package/flatbuffers/flatbuffers.hash +++ b/package/flatbuffers/flatbuffers.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 5ca5491e4260cacae30f1a5786d109230db3f3a6e5a0eb45d0d0608293d247e3 flatbuffers-v1.9.0.tar.gz -sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 LICENSE.txt +sha256 62f2223fb9181d1d6338451375628975775f7522185266cd5296571ac152bc45 flatbuffers-1.12.0.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/flatbuffers/flatbuffers.mk b/package/flatbuffers/flatbuffers.mk index 26d9307892..6a71ea9c79 100644 --- a/package/flatbuffers/flatbuffers.mk +++ b/package/flatbuffers/flatbuffers.mk @@ -4,8 +4,8 @@ # ################################################################################ -FLATBUFFERS_VERSION = v1.9.0 -FLATBUFFERS_SITE = $(call github,google,flatbuffers,$(FLATBUFFERS_VERSION)) +FLATBUFFERS_VERSION = 1.12.0 +FLATBUFFERS_SITE = $(call github,google,flatbuffers,v$(FLATBUFFERS_VERSION)) FLATBUFFERS_LICENSE = Apache-2.0 FLATBUFFERS_LICENSE_FILES = LICENSE.txt FLATBUFFERS_INSTALL_STAGING = YES @@ -20,4 +20,14 @@ else FLATBUFFERS_CONF_OPTS += -DFLATBUFFERS_BUILD_SHAREDLIB=ON endif +HOST_FLATBUFFERS_CONF_OPTS += \ + -DCMAKE_CXX_FLAGS="-std=c++11" \ + -DFLATBUFFERS_BUILD_FLATLIB=OFF \ + -DFLATBUFFERS_BUILD_FLATC=ON \ + -DFLATBUFFERS_BUILD_FLATHASH=OFF \ + -DFLATBUFFERS_BUILD_GRPCTEST=OFF \ + -DFLATBUFFERS_BUILD_SHAREDLIB=OFF \ + -DFLATBUFFERS_BUILD_TESTS=OFF + $(eval $(cmake-package)) +$(eval $(host-cmake-package)) 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 deleted file mode 100644 index 7d76d6caf1..0000000000 --- a/package/flatcc/0001-CMakeLists.txt-conditionally-require-C-based-on-FLAT.patch +++ /dev/null @@ -1,56 +0,0 @@ -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/flatcc.hash b/package/flatcc/flatcc.hash index b517250472..11d9d9803a 100644 --- a/package/flatcc/flatcc.hash +++ b/package/flatcc/flatcc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 02dac93d3daf8d0a290aa8711a9b8a53f047436ec5331adb1972389061ec6615 flatcc-v0.5.2.tar.gz +sha256 a92da3566d11e19bb807a83554b1a2c644a5bd91c9d9b088514456bb56e1c666 flatcc-0.6.0.tar.gz sha256 c8f0d9c1f92c658d87ebd854ee7447a3d3912d2c3a5c78c117787be5d5da8af3 LICENSE diff --git a/package/flatcc/flatcc.mk b/package/flatcc/flatcc.mk index 1c8d0ec7fb..c27809b86a 100644 --- a/package/flatcc/flatcc.mk +++ b/package/flatcc/flatcc.mk @@ -4,8 +4,8 @@ # ################################################################################ -FLATCC_VERSION = v0.5.2 -FLATCC_SITE = $(call github,dvidelabs,flatcc,$(FLATCC_VERSION)) +FLATCC_VERSION = 0.6.0 +FLATCC_SITE = $(call github,dvidelabs,flatcc,v$(FLATCC_VERSION)) FLATCC_LICENSE = Apache-2.0 FLATCC_LICENSE_FILES = LICENSE FLATCC_INSTALL_STAGING = YES diff --git a/package/flickcurl/flickcurl.hash b/package/flickcurl/flickcurl.hash index fd091ec4a5..92ba68361e 100644 --- a/package/flickcurl/flickcurl.hash +++ b/package/flickcurl/flickcurl.hash @@ -1,2 +1,7 @@ # Locally calculated after checking pgp signature sha256 ff42a36c7c1c7d368246f6bc9b7d792ed298348e5f0f5d432e49f6803562f5a3 flickcurl-1.26.tar.gz +# Locally computed +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE-2.0.txt +sha256 3590f30b0fb9446a1f0a7ea5bcbb5786fa66fa362800f53d2575875d74b91909 LICENSE.html diff --git a/package/flite/0001-fix-alsa-static.patch b/package/flite/0001-fix-alsa-static.patch new file mode 100644 index 0000000000..7ed4899cc4 --- /dev/null +++ b/package/flite/0001-fix-alsa-static.patch @@ -0,0 +1,19 @@ +Use pkg-config to determine alsa link flags. This fixes static linking. + +Signed-off-by: Baruch Siach + +diff -Nuar flite-1.4-release.orig/configure.in flite-1.4-release/configure.in +--- flite-1.4-release.orig/configure.in 2009-08-14 23:46:38.000000000 +0300 ++++ flite-1.4-release/configure.in 2014-04-30 18:52:33.253297236 +0300 +@@ -275,7 +275,10 @@ + #endif], + [AUDIODRIVER="alsa" + AUDIODEFS=-DCST_AUDIO_ALSA +- AUDIOLIBS=-lasound]) ++ AUDIOLIBS=`pkg-config --libs alsa` ++ if test "$shared" = false; then ++ AUDIOLIBS=`pkg-config --libs --static alsa` ++ fi]) + AC_CHECK_HEADER(mmsystem.h, + [AUDIODRIVER="wince" + AUDIODEFS=-DCST_AUDIO_WINCE diff --git a/package/flite/0001-now-honor-DESTDIR-env.-var.patch b/package/flite/0001-now-honor-DESTDIR-env.-var.patch deleted file mode 100644 index 2d5fb68532..0000000000 --- a/package/flite/0001-now-honor-DESTDIR-env.-var.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 658f3243238efe951f6242fa384e990d77078afc Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Fri, 27 Dec 2013 17:42:39 +0100 -Subject: [PATCH] now honor DESTDIR env. var. - -Flite used a handwritten a Makefile which doesn't honor DESTDIR environment -variable, though it uses autoconf. - -Signed-off-by: Samuel Martin ---- - config/config.in | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/config/config.in b/config/config.in -index 914d2bf..43f1a56 100644 ---- a/flite-1.4-release/config/config.in -+++ b/flite-1.4-release/config/config.in -@@ -49,6 +49,6 @@ include $(TOP)/config/$(langvox).lv - prefix = @prefix@ - exec_prefix = @exec_prefix@ - EXEEXT = @EXEEXT@ --INSTALLBINDIR = @bindir@ --INSTALLLIBDIR = @libdir@ --INSTALLINCDIR = @includedir@/flite -+INSTALLBINDIR = $(DESTDIR)@bindir@ -+INSTALLLIBDIR = $(DESTDIR)@libdir@ -+INSTALLINCDIR = $(DESTDIR)@includedir@/flite --- -1.8.5.2 - diff --git a/package/flite/0002-fix-alsa-static.patch b/package/flite/0002-fix-alsa-static.patch deleted file mode 100644 index 12adb9e018..0000000000 --- a/package/flite/0002-fix-alsa-static.patch +++ /dev/null @@ -1,19 +0,0 @@ -Use pkg-config to determine alsa link flags. This fixes static linking. - -Signed-off-by: Baruch Siach - -diff -Nuar flite-1.4-release.orig/configure.in flite-1.4-release/configure.in ---- flite-1.4-release.orig/flite-1.4-release/configure.in 2009-08-14 23:46:38.000000000 +0300 -+++ flite-1.4-release/flite-1.4-release/configure.in 2014-04-30 18:52:33.253297236 +0300 -@@ -275,7 +275,10 @@ - #endif], - [AUDIODRIVER="alsa" - AUDIODEFS=-DCST_AUDIO_ALSA -- AUDIOLIBS=-lasound]) -+ AUDIOLIBS=`pkg-config --libs alsa` -+ if test "$shared" = false; then -+ AUDIOLIBS=`pkg-config --libs --static alsa` -+ fi]) - AC_CHECK_HEADER(mmsystem.h, - [AUDIODRIVER="wince" - AUDIODEFS=-DCST_AUDIO_WINCE diff --git a/package/flite/0003-fix-alsa-version-check.patch b/package/flite/0003-fix-alsa-version-check.patch deleted file mode 100644 index 8832ac371c..0000000000 --- a/package/flite/0003-fix-alsa-version-check.patch +++ /dev/null @@ -1,26 +0,0 @@ -[PATCH] fix alsa version check - -Check the entire alsa version, and not just the subminor - As this broke -with the recent alsa 1.0.x -> 1.1.0 release. - -It is not clear what major/minor versions the check was supposed to be -against (0.9 or 1.0). I went with 1.0.11 to be on the safe side. - -Signed-off-by: Peter Korsgaard ---- - flite-1.4-release/configure.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: flite-1.4/flite-1.4-release/configure.in -=================================================================== ---- flite-1.4.orig/flite-1.4-release/configure.in -+++ flite-1.4/flite-1.4-release/configure.in -@@ -270,7 +270,7 @@ - # the one I know -- you can still specific --with-audio=alsa - AC_TRY_COMPILE([#include ], - [int j= -- #if SND_LIB_SUBMINOR >= 11 -+ #if SND_LIB_VERSION >= 0x1000b - 3; - #endif], - [AUDIODRIVER="alsa" diff --git a/package/flite/Config.in b/package/flite/Config.in index 2bbd256f21..0bb15511bc 100644 --- a/package/flite/Config.in +++ b/package/flite/Config.in @@ -10,7 +10,7 @@ config BR2_PACKAGE_FLITE an alternative synthesis engine to Festival for voices built using the FestVox suite of voice building tools. - http://www.speech.cs.cmu.edu/flite + http://www.festvox.org/flite comment "flite needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR diff --git a/package/flite/flite.hash b/package/flite/flite.hash index 67d6941ea2..f21a21d186 100644 --- a/package/flite/flite.hash +++ b/package/flite/flite.hash @@ -1,4 +1,4 @@ # locally computed hash -sha256 45c662160aeca6560589f78daf42ab62c6111dd4d244afc28118c4e6f553cd0c flite-1.4-release.tar.bz2 +sha256 c73c3f6a2ea764977d6eaf0a287722d1e2066b4697088c552e342c790f3d2b85 flite-2.1-release.tar.bz2 # License files, locally calculated -sha256 4cbeaee8c9a8f23f251f0ce56e9212d244d9ea6b0dbe48601623d920054249a1 flite-1.4-release/COPYING +sha256 d31bceaf2823d56a8c9400f7bde3b17140e739e991eb4f203bdcf9827754ab59 COPYING diff --git a/package/flite/flite.mk b/package/flite/flite.mk index 72376e56c2..fd5f4ec172 100644 --- a/package/flite/flite.mk +++ b/package/flite/flite.mk @@ -4,28 +4,11 @@ # ################################################################################ -FLITE_VERSION = 1.4 +FLITE_VERSION = 2.1 FLITE_SOURCE = flite-$(FLITE_VERSION)-release.tar.bz2 -FLITE_SITE = http://www.speech.cs.cmu.edu/flite/packed/flite-$(FLITE_VERSION) -# $ tar tf flite-1.4-release.tar.bz2 -# ... -# flite-1.4-release//install-sh -# flite-1.4-release//mkinstalldirs -# flite-1.4-release//Exports.def -# flite-1.4-release//flite.sln -# flite-1.4-release//fliteDll.vcproj -# flite-1.4-release/config/Makefile -# flite-1.4-release/config/common_make_rules -# flite-1.4-release/config/project.mak -# flite-1.4-release/config/config.in -# flite-1.4-release/config/system.mak.in -# -# So, we set FLITE_STRIP_COMPONENTS=0 to avoid writing to "/", and then -# build in flite-1.4-release/ -FLITE_STRIP_COMPONENTS = 0 -FLITE_SUBDIR = flite-$(FLITE_VERSION)-release +FLITE_SITE = http://www.festvox.org/flite/packed/flite-$(FLITE_VERSION) FLITE_LICENSE = BSD-4-Clause -FLITE_LICENSE_FILES = $(FLITE_SUBDIR)/COPYING +FLITE_LICENSE_FILES = COPYING FLITE_INSTALL_STAGING = YES # Patching configure.in diff --git a/package/flot/flot.hash b/package/flot/flot.hash index cb9f9ec9d0..c8272fc0b1 100644 --- a/package/flot/flot.hash +++ b/package/flot/flot.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 ef9a873befe3ff5ea42ebf1c3657887265a1717744ca8ed0c2bd3dd736d16b21 flot-0.8.3.tar.gz +sha256 52cb566b16d84314b92b91361ed072eaaf166e8d3dfa3d0fd3577613925f205c LICENSE.txt diff --git a/package/fltk/fltk.hash b/package/fltk/fltk.hash index af968aac75..f3430e41f9 100644 --- a/package/fltk/fltk.hash +++ b/package/fltk/fltk.hash @@ -1,4 +1,5 @@ -# From http://www.fltk.org/software.php?VERSION=1.3.4 -md5 d7fcd27ab928648e1a1366dd2e273970 fltk-1.3.4-1-source.tar.gz +# From http://www.fltk.org/software.php?VERSION=1.3.5 +md5 e85017defd5a03ae82e634311db87bbf fltk-1.3.5-source.tar.gz # Locally generated -sha256 7fb2c8882433ce694e6900c94fda505e8f4ed3fa9c7e597007098a33b85c53f4 fltk-1.3.4-1-source.tar.gz +sha256 8729b2a055f38c1636ba20f749de0853384c1d3e9d1a6b8d4d1305143e115702 fltk-1.3.5-source.tar.gz +sha256 57dd381e713fb309fb7dd85c3c38b274557ecb333475d0f1d65a5f06ad85c9a6 COPYING diff --git a/package/fltk/fltk.mk b/package/fltk/fltk.mk index c37a13176c..763ff612d3 100644 --- a/package/fltk/fltk.mk +++ b/package/fltk/fltk.mk @@ -4,8 +4,8 @@ # ################################################################################ -FLTK_VERSION = 1.3.4 -FLTK_SOURCE = fltk-$(FLTK_VERSION)-1-source.tar.gz +FLTK_VERSION = 1.3.5 +FLTK_SOURCE = fltk-$(FLTK_VERSION)-source.tar.gz FLTK_SITE = http://fltk.org/pub/fltk/$(FLTK_VERSION) FLTK_INSTALL_STAGING = YES # We force --libdir=/usr/lib, because by default, it is set to diff --git a/package/fluid-soundfont/Config.in b/package/fluid-soundfont/Config.in new file mode 100644 index 0000000000..67f5ea1113 --- /dev/null +++ b/package/fluid-soundfont/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_FLUID_SOUNDFONT + bool "fluid-soundfont" + help + FluidR3 is the third release of Frank Wen's pro-quality + GM/GS soundfont. The soundfont has lots of excellent + samples, including all the GM instruments along side with + the GS instruments that are recycled and reprogrammed + versions of the GM presets. + + This package contains Fluid General Midi (GM) soundfont in + soundfont 2.0 (.sf2) format. + + This soundfont can be used with the FluidSynth real-time + software synthesizer. + + http://www.hammersound.net diff --git a/package/fluid-soundfont/fluid-soundfont.hash b/package/fluid-soundfont/fluid-soundfont.hash new file mode 100644 index 0000000000..7aaac60084 --- /dev/null +++ b/package/fluid-soundfont/fluid-soundfont.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 2621acaa1c78e4abdb24bdd163230cc577e61276936d6aa6e3180582142f0343 fluid-soundfont_3.1.orig.tar.gz +sha256 8ef830b65c97a976b86e34bb5fde08d99dfb1db13c4149b5b20bc837ac6c4568 COPYING diff --git a/package/fluid-soundfont/fluid-soundfont.mk b/package/fluid-soundfont/fluid-soundfont.mk new file mode 100644 index 0000000000..f8fd986ced --- /dev/null +++ b/package/fluid-soundfont/fluid-soundfont.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# fluid-soundfont +# +################################################################################ + +FLUID_SOUNDFONT_VERSION = 3.1 +FLUID_SOUNDFONT_SOURCE = fluid-soundfont_$(FLUID_SOUNDFONT_VERSION).orig.tar.gz +# The http://www.hammersound.net archive site seems unreliable (show HTTP 500 +# error), and also publish the file in the sfArk format, which is inconvenient +# to be used in automated build. We use here the Debian mirror publishing the +# file in a more convenient format (inative sf2 in a tar.gz archive). +FLUID_SOUNDFONT_SITE = http://http.debian.net/debian/pool/main/f/fluid-soundfont +FLUID_SOUNDFONT_LICENSE = MIT +FLUID_SOUNDFONT_LICENSE_FILES = COPYING + +define FLUID_SOUNDFONT_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0644 $(@D)/FluidR3_GM.sf2 $(TARGET_DIR)/usr/share/soundfonts/FluidR3_GM.sf2 +endef + +$(eval $(generic-package)) diff --git a/package/fluidsynth/Config.in b/package/fluidsynth/Config.in new file mode 100644 index 0000000000..c1cb923489 --- /dev/null +++ b/package/fluidsynth/Config.in @@ -0,0 +1,120 @@ +config BR2_PACKAGE_FLUIDSYNTH + bool "fluidsynth" + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_MMU # libglib2 + select BR2_PACKAGE_LIBGLIB2 + help + FluidSynth is a real-time software synthesizer based on the + SoundFont 2 specifications and has reached widespread + distribution. FluidSynth itself does not have a graphical + user interface, but due to its powerful API several + applications utilize it and it has even found its way onto + embedded systems and is used in some mobile apps. + + http://www.fluidsynth.org/ + +if BR2_PACKAGE_FLUIDSYNTH + +comment "Output support" + +config BR2_PACKAGE_FLUIDSYNTH_ALSA_LIB + bool "alsa" + default y + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_ALSA_LIB_RAWMIDI + select BR2_PACKAGE_ALSA_LIB_SEQ + help + Enable alsa support. + +comment "alsa support needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_FLUIDSYNTH_JACK2 + bool "jack2" + # See: https://sourceware.org/bugzilla/show_bug.cgi?id=19908 + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS + depends on BR2_TOOLCHAIN_HAS_THREADS # jack2 + depends on BR2_USE_MMU # jack2 + depends on BR2_INSTALL_LIBSTDCPP # jack2 + depends on !BR2_STATIC_LIBS # jack2 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # jack2 + select BR2_PACKAGE_JACK2 + help + Enable jack support. + +comment "jack support needs a toolchain w/ dynamic library, threads, C++" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_FLUIDSYNTH_LIBSNDFILE + bool "libsndfile" + select BR2_PACKAGE_LIBSNDFILE + help + Enable libsndfile support, for writing output to WAV files. + +config BR2_PACKAGE_FLUIDSYNTH_PORTAUDIO + bool "portaudio" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_PORTAUDIO + help + Enable portaudio support. + +comment "portaudio support needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_FLUIDSYNTH_PULSEAUDIO + bool "pulseaudio" + # See: https://sourceware.org/bugzilla/show_bug.cgi?id=19908 + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC # pulseaudio + depends on BR2_USE_WCHAR # pulseaudio + depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio + depends on !BR2_STATIC_LIBS # pulseaudio + depends on BR2_USE_MMU # pulseaudio + select BR2_PACKAGE_PULSEAUDIO + help + Enable PulseAudio support. + +comment "pulseaudio support needs a toolchain w/ dynamic library, wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC + depends on BR2_STATIC_LIBS || !BR2_USE_MMU || !BR2_TOOLCHAIN_HAS_THREADS + +comment "Misc options" + +config BR2_PACKAGE_FLUIDSYNTH_DBUS + bool "dbus" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU + select BR2_PACKAGE_DBUS + help + Enable dbus support. + +comment "dbus support needs a toolchain w/ threads" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_FLUIDSYNTH_FLOATS + bool "32-bit single precision float" + help + Enable 32-bit single precision float support, instead of + 64-bit double precision floats for DSP samples. + +config BR2_PACKAGE_FLUIDSYNTH_READLINE + bool "readline" + select BR2_PACKAGE_READLINE + help + Enable readline support, for better line editing in FluidSynth + shell. + +endif # BR2_PACKAGE_FLUIDSYNTH + +comment "fluidsynth needs a toolchain w/ threads, wchar" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/fluidsynth/fluidsynth.hash b/package/fluidsynth/fluidsynth.hash new file mode 100644 index 0000000000..f7b1b6696a --- /dev/null +++ b/package/fluidsynth/fluidsynth.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 9206d83b8d2f7e1ec259ee01e943071de67e419aabe142b51312f8edb39c5503 fluidsynth-2.1.2.tar.gz +sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 LICENSE diff --git a/package/fluidsynth/fluidsynth.mk b/package/fluidsynth/fluidsynth.mk new file mode 100644 index 0000000000..2bd792dbaf --- /dev/null +++ b/package/fluidsynth/fluidsynth.mk @@ -0,0 +1,69 @@ +################################################################################ +# +# fluidsynth +# +################################################################################ + +FLUIDSYNTH_VERSION = 2.1.2 +FLUIDSYNTH_SITE = $(call github,FluidSynth,fluidsynth,v$(FLUIDSYNTH_VERSION)) +FLUIDSYNTH_LICENSE = LGPL-2.1+ +FLUIDSYNTH_LICENSE_FILES = LICENSE +FLUIDSYNTH_INSTALL_STAGING = YES +FLUIDSYNTH_DEPENDENCIES = libglib2 + +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_ALSA_LIB),y) +FLUIDSYNTH_CONF_OPTS += -Denable-alsa=1 +FLUIDSYNTH_DEPENDENCIES += alsa-lib +else +FLUIDSYNTH_CONF_OPTS += -Denable-alsa=0 +endif + +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_DBUS),y) +FLUIDSYNTH_CONF_OPTS += -Denable-dbus=1 +FLUIDSYNTH_DEPENDENCIES += dbus +else +FLUIDSYNTH_CONF_OPTS += -Denable-dbus=0 +endif + +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_FLOATS),y) +FLUIDSYNTH_CONF_OPTS += -Denable-floats=1 +else +FLUIDSYNTH_CONF_OPTS += -Denable-floats=0 +endif + +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_JACK2),y) +FLUIDSYNTH_CONF_OPTS += -Denable-jack=1 +FLUIDSYNTH_DEPENDENCIES += jack2 +else +FLUIDSYNTH_CONF_OPTS += -Denable-jack=0 +endif + +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_LIBSNDFILE),y) +FLUIDSYNTH_CONF_OPTS += -Denable-libsndfile=1 +FLUIDSYNTH_DEPENDENCIES += libsndfile +else +FLUIDSYNTH_CONF_OPTS += -Denable-libsndfile=0 +endif + +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_PORTAUDIO),y) +FLUIDSYNTH_CONF_OPTS += -Denable-portaudio=1 +FLUIDSYNTH_DEPENDENCIES += portaudio +else +FLUIDSYNTH_CONF_OPTS += -Denable-portaudio=0 +endif + +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_PULSEAUDIO),y) +FLUIDSYNTH_CONF_OPTS += -Denable-pulseaudio=1 +FLUIDSYNTH_DEPENDENCIES += pulseaudio +else +FLUIDSYNTH_CONF_OPTS += -Denable-pulseaudio=0 +endif + +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_READLINE),y) +FLUIDSYNTH_CONF_OPTS += -Denable-readline=1 +FLUIDSYNTH_DEPENDENCIES += readline +else +FLUIDSYNTH_CONF_OPTS += -Denable-readline=0 +endif + +$(eval $(cmake-package)) diff --git a/package/fluxbox/fluxbox.hash b/package/fluxbox/fluxbox.hash index b18582b6c0..f59423c3d1 100644 --- a/package/fluxbox/fluxbox.hash +++ b/package/fluxbox/fluxbox.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 fc8c75fe94c54ed5a5dd3fd4a752109f8949d6df67a48e5b11a261403c382ec0 fluxbox-1.3.7.tar.xz +sha256 d445b8c8b3cedd8b9ebb7f450524cf658d4a199b3a89a9f2af4255cc589c6253 COPYING diff --git a/package/fmc/fmc.hash b/package/fmc/fmc.hash index 13d9d77ee5..d31bb5e794 100644 --- a/package/fmc/fmc.hash +++ b/package/fmc/fmc.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 a91e0c9b7c7f238634c64a755c05671f33f2acdb6ae2d09cad4d683b364ee8e4 fmc-fsl-sdk-v2.0.tar.gz +sha256 a91e0c9b7c7f238634c64a755c05671f33f2acdb6ae2d09cad4d683b364ee8e4 fmc-fsl-sdk-v2.0.tar.gz +sha256 f92862ceb95db5492f50a59d7c799c9395b714db88db92d11891dc0233e2ac42 COPYING diff --git a/package/fmc/fmc.mk b/package/fmc/fmc.mk index 2a95fec0b7..b385730138 100644 --- a/package/fmc/fmc.mk +++ b/package/fmc/fmc.mk @@ -5,7 +5,8 @@ ################################################################################ FMC_VERSION = fsl-sdk-v2.0 -FMC_SITE = git://git.freescale.com/ppc/sdk/fmc.git +FMC_SITE = https://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/fmc +FMC_SITE_METHOD = git FMC_LICENSE = MIT FMC_LICENSE_FILES = COPYING FMC_DEPENDENCIES = libxml2 tclap fmlib diff --git a/package/fmlib/fmlib.hash b/package/fmlib/fmlib.hash index 3746695db9..9143ac2c37 100644 --- a/package/fmlib/fmlib.hash +++ b/package/fmlib/fmlib.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 e5870756c7432b15f7a48b860625808f3c95d5f7fa5e251552eb2324ca51b0fa fmlib-fsl-sdk-v2.0.tar.gz +sha256 e5870756c7432b15f7a48b860625808f3c95d5f7fa5e251552eb2324ca51b0fa fmlib-fsl-sdk-v2.0.tar.gz +sha256 837559e20d83910a005e7883b876cc5c42805fe4abcf7e5c5b3c8d036b7f61c8 COPYING diff --git a/package/fmlib/fmlib.mk b/package/fmlib/fmlib.mk index e67ab1e5de..8cb779201d 100644 --- a/package/fmlib/fmlib.mk +++ b/package/fmlib/fmlib.mk @@ -5,7 +5,8 @@ ################################################################################ FMLIB_VERSION = fsl-sdk-v2.0 -FMLIB_SITE = git://git.freescale.com/ppc/sdk/fmlib.git +FMLIB_SITE = https://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/fmlib +FMLIB_SITE_METHOD = git FMLIB_LICENSE = BSD-3-Clause, GPL-2.0+ FMLIB_LICENSE_FILES = COPYING FMLIB_DEPENDENCIES = linux diff --git a/package/fmt/0001-Fix-handling-of-unsigned-char-strings-in-printf.patch b/package/fmt/0001-Fix-handling-of-unsigned-char-strings-in-printf.patch new file mode 100644 index 0000000000..41c72aa4a3 --- /dev/null +++ b/package/fmt/0001-Fix-handling-of-unsigned-char-strings-in-printf.patch @@ -0,0 +1,54 @@ +From 7d01859ef16e6b65bc023ad8bebfedecb088bf81 Mon Sep 17 00:00:00 2001 +From: Victor Zverovich +Date: Wed, 8 Apr 2020 12:32:34 -0700 +Subject: [PATCH] Fix handling of unsigned char strings in printf + +Downloaded from upstream commit +https://github.com/fmtlib/fmt/commit/7d01859ef16e6b65bc023ad8bebfedecb088bf81 + +to fix Kodi build error: +https://github.com/xbmc/xbmc/issues/17629 +https://github.com/fmtlib/fmt/issues/1620 + +Signed-off-by: Bernd Kuhls +--- + include/fmt/core.h | 8 ++++++++ + test/printf-test.cc | 6 ++++++ + 2 files changed, 14 insertions(+) + +diff --git a/include/fmt/core.h b/include/fmt/core.h +index 6df2875ac..dc10722bf 100644 +--- a/include/fmt/core.h ++++ b/include/fmt/core.h +@@ -972,6 +972,14 @@ template struct arg_mapper { + static_assert(std::is_same::value, "invalid string type"); + return reinterpret_cast(val); + } ++ FMT_CONSTEXPR const char* map(signed char* val) { ++ const auto* const_val = val; ++ return map(const_val); ++ } ++ FMT_CONSTEXPR const char* map(unsigned char* val) { ++ const auto* const_val = val; ++ return map(const_val); ++ } + + FMT_CONSTEXPR const void* map(void* val) { return val; } + FMT_CONSTEXPR const void* map(const void* val) { return val; } +diff --git a/test/printf-test.cc b/test/printf-test.cc +index 5aaa27b13..545e02aab 100644 +--- a/test/printf-test.cc ++++ b/test/printf-test.cc +@@ -447,6 +447,12 @@ TEST(PrintfTest, String) { + EXPECT_PRINTF(L" (null)", L"%10s", null_wstr); + } + ++TEST(PrintfTest, UCharString) { ++ unsigned char str[] = "test"; ++ unsigned char* pstr = str; ++ EXPECT_EQ("test", fmt::sprintf("%s", pstr)); ++} ++ + TEST(PrintfTest, Pointer) { + int n; + void* p = &n; diff --git a/package/fmt/Config.in b/package/fmt/Config.in index 69a6fb80a6..8643c9b5af 100644 --- a/package/fmt/Config.in +++ b/package/fmt/Config.in @@ -7,5 +7,7 @@ config BR2_PACKAGE_FMT used as a safe alternative to printf or as a fast alternative to IOStreams. + https://fmt.dev + comment "fmt needs a toolchain w/ C++, wchar" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR diff --git a/package/fmt/fmt.hash b/package/fmt/fmt.hash index 78665d2fa7..29b8237082 100644 --- a/package/fmt/fmt.hash +++ b/package/fmt/fmt.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 73d4cab4fa8a3482643d8703de4d9522d7a56981c938eca42d929106ff474b44 fmt-5.1.0.tar.gz -sha256 560d39617dfb4b4e4088597291a070ed6c3a8d67668114ed475c673430c3e49a LICENSE.rst +sha256 fe6e4ff397e01c379fc4532519339c93da47404b9f6674184a458a9967a76575 fmt-6.2.0.tar.gz +sha256 825c9324e70f8c839c8ba910543dd4a7daee243b86ef960594c11381a19980b8 LICENSE.rst diff --git a/package/fmt/fmt.mk b/package/fmt/fmt.mk index 39fd7e22d9..9601141e06 100644 --- a/package/fmt/fmt.mk +++ b/package/fmt/fmt.mk @@ -4,14 +4,13 @@ # ################################################################################ -FMT_VERSION = 5.1.0 +FMT_VERSION = 6.2.0 FMT_SITE = $(call github,fmtlib,fmt,$(FMT_VERSION)) -FMT_LICENSE = BSD-2-Clause +FMT_LICENSE = MIT with exception FMT_LICENSE_FILES = LICENSE.rst FMT_INSTALL_STAGING = YES FMT_CONF_OPTS = \ - -DHAVE_OPEN=ON \ -DFMT_INSTALL=ON \ -DFMT_TEST=OFF diff --git a/package/fmtools/fmtools.hash b/package/fmtools/fmtools.hash index 435cf0adc7..48f88be5fb 100644 --- a/package/fmtools/fmtools.hash +++ b/package/fmtools/fmtools.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 75174e07d8cde6d4a8a5d7bbaa3a3b0760a850e7f6840cb7c6246227b18f5a39 fmtools-2.0.7.tar.gz +sha256 75174e07d8cde6d4a8a5d7bbaa3a3b0760a850e7f6840cb7c6246227b18f5a39 fmtools-2.0.7.tar.gz +# locally computed +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/font-awesome/font-awesome.hash b/package/font-awesome/font-awesome.hash index e266168acc..2ea11d5fe4 100644 --- a/package/font-awesome/font-awesome.hash +++ b/package/font-awesome/font-awesome.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 de512ba0e1dead382bbfce372cde74b3f18971d876fffb635ee9333f0db05d43 font-awesome-v4.7.0.tar.gz +sha256 de512ba0e1dead382bbfce372cde74b3f18971d876fffb635ee9333f0db05d43 font-awesome-4.7.0.tar.gz diff --git a/package/font-awesome/font-awesome.mk b/package/font-awesome/font-awesome.mk index f39401041a..666346be0e 100644 --- a/package/font-awesome/font-awesome.mk +++ b/package/font-awesome/font-awesome.mk @@ -4,8 +4,8 @@ # ################################################################################ -FONT_AWESOME_VERSION = v4.7.0 -FONT_AWESOME_SITE = $(call github,FortAwesome,Font-Awesome,$(FONT_AWESOME_VERSION)) +FONT_AWESOME_VERSION = 4.7.0 +FONT_AWESOME_SITE = $(call github,FortAwesome,Font-Awesome,v$(FONT_AWESOME_VERSION)) FONT_AWESOME_LICENSE = OFL-1.1 (font), MIT (CSS, LESS and Sass files) FONT_AWESOME_DIRECTORIES_LIST = css fonts less scss diff --git a/package/fontconfig/fontconfig.hash b/package/fontconfig/fontconfig.hash index 5243c09615..153f00c3d8 100644 --- a/package/fontconfig/fontconfig.hash +++ b/package/fontconfig/fontconfig.hash @@ -1,2 +1,5 @@ # From https://lists.freedesktop.org/archives/fontconfig/2018-August/006324.html sha256 f655dd2a986d7aa97e052261b36aa67b0a64989496361eca8d604e6414006741 fontconfig-2.13.1.tar.bz2 + +# Locally calculated +sha256 fa4cd9ab005185e10cd8f7504518856c7dd36c01e766c2bac87f4fc638e9f886 COPYING diff --git a/package/fping/fping.hash b/package/fping/fping.hash index e97709ca1b..0aa0330b5a 100644 --- a/package/fping/fping.hash +++ b/package/fping/fping.hash @@ -1,2 +1,5 @@ # Locally calculated -sha256 67eb4152b98ad34f99d2eec4e1098a0bb52caf13c0c89cd147349d08190fe8ce fping-4.0.tar.gz +sha256 7d339674b6a95aae1d8ad487ff5056fd95b474c3650938268f6a905c3771b64a fping-4.2.tar.gz + +# Hash for license file +sha256 6051b27e4b4a648f7bc8b329024da53a6e95ce88fcf0ccc259c371a74b741757 COPYING diff --git a/package/fping/fping.mk b/package/fping/fping.mk index 5af46c67f0..5d3ad59e56 100644 --- a/package/fping/fping.mk +++ b/package/fping/fping.mk @@ -4,7 +4,7 @@ # ################################################################################ -FPING_VERSION = 4.0 +FPING_VERSION = 4.2 FPING_SITE = http://fping.org/dist FPING_LICENSE = BSD-like FPING_LICENSE_FILES = COPYING diff --git a/package/freeradius-client/freeradius-client.hash b/package/freeradius-client/freeradius-client.hash index 5931ac2b00..e343b3a4a5 100644 --- a/package/freeradius-client/freeradius-client.hash +++ b/package/freeradius-client/freeradius-client.hash @@ -1,2 +1,3 @@ # Locally computed sha256 eada2861b8f4928e3ac6b5bbfe11e92cd6cdcacfce40cae1085e77c1b6add0e9 freeradius-client-1.1.7.tar.gz +sha256 e579878de7971b2224ae2263bbc61f6c465fe40e884a9068d5fa9d17fbfd2ebe COPYRIGHT 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 deleted file mode 100644 index c0b4195883..0000000000 --- a/package/freerdp/0001-xf_floatbar.c-fix-build-without-Xfixes.patch +++ /dev/null @@ -1,32 +0,0 @@ -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/Config.in b/package/freerdp/Config.in index 59bc18b672..5705ce0e0c 100644 --- a/package/freerdp/Config.in +++ b/package/freerdp/Config.in @@ -28,36 +28,18 @@ config BR2_PACKAGE_FREERDP if BR2_PACKAGE_FREERDP -choice - bool "gstreamer support" - depends on BR2_PACKAGE_XORG7 # xlib-libxrandr - depends on BR2_PACKAGE_GSTREAMER || BR2_PACKAGE_GSTREAMER1 - config BR2_PACKAGE_FREERDP_GSTREAMER1 - bool "gstreamer-1.x" + bool "gstreamer support" depends on BR2_PACKAGE_GSTREAMER1 + depends on BR2_PACKAGE_XORG7 # xlib-libxrandr # gstreamer-1.x dependencies already dependencies of FreeRDP select BR2_PACKAGE_GST1_PLUGINS_BASE select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP select BR2_PACKAGE_XLIB_LIBXRANDR -config BR2_PACKAGE_FREERDP_GSTREAMER - bool "gstreamer-0.x" - depends on BR2_PACKAGE_GSTREAMER - # gstreamer-0.x dependencies already dependencies of FreeRDP - select BR2_PACKAGE_GST_PLUGINS_BASE - select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP - select BR2_PACKAGE_XLIB_LIBXRANDR - select BR2_PACKAGE_LIBXML2 - -config BR2_PACKAGE_FREERDP_GSTREAMER_NO - bool "none" - -endchoice - comment "gstreamer support needs X.Org" depends on !BR2_PACKAGE_XORG7 - depends on BR2_PACKAGE_GSTREAMER || BR2_PACKAGE_GSTREAMER1 + depends on BR2_PACKAGE_GSTREAMER1 config BR2_PACKAGE_FREERDP_SERVER bool "server" diff --git a/package/freerdp/freerdp.hash b/package/freerdp/freerdp.hash index 7a6859551f..8217a2106c 100644 --- a/package/freerdp/freerdp.hash +++ b/package/freerdp/freerdp.hash @@ -1,3 +1,5 @@ +# From https://pub.freerdp.com/releases/freerdp-2.2.0.tar.gz.sha256 +sha256 19b30759e324ce7a9767af880116a4c571761e9ad9c5d6c98c5b302ff8c24c6c freerdp-2.2.0.tar.gz + # Locally calculated -sha256 3406f3bfab63f81c1533029a5bf73949ff60f22f6e155c5a08005b8b8afe6d49 freerdp-2.0.0-rc4.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/freerdp/freerdp.mk b/package/freerdp/freerdp.mk index 0f32ff4718..4c804c136f 100644 --- a/package/freerdp/freerdp.mk +++ b/package/freerdp/freerdp.mk @@ -4,22 +4,15 @@ # ################################################################################ -FREERDP_VERSION = 2.0.0-rc4 -FREERDP_SITE = $(call github,FreeRDP,FreeRDP,$(FREERDP_VERSION)) +FREERDP_VERSION = 2.2.0 +FREERDP_SITE = https://pub.freerdp.com/releases FREERDP_DEPENDENCIES = libglib2 openssl zlib FREERDP_LICENSE = Apache-2.0 FREERDP_LICENSE_FILES = LICENSE FREERDP_INSTALL_STAGING = YES -FREERDP_CONF_OPTS = -DWITH_MANPAGES=OFF -Wno-dev - -ifeq ($(BR2_PACKAGE_FREERDP_GSTREAMER),y) -FREERDP_CONF_OPTS += -DWITH_GSTREAMER_0_10=ON -FREERDP_DEPENDENCIES += gstreamer gst-plugins-base libxml2 -else -FREERDP_CONF_OPTS += -DWITH_GSTREAMER_0_10=OFF -endif +FREERDP_CONF_OPTS = -DWITH_MANPAGES=OFF -Wno-dev -DWITH_GSTREAMER_0_10=OFF ifeq ($(BR2_PACKAGE_FREERDP_GSTREAMER1),y) FREERDP_CONF_OPTS += -DWITH_GSTREAMER_1_0=ON @@ -49,11 +42,18 @@ else FREERDP_CONF_OPTS += -DWITH_ALSA=OFF endif +ifeq ($(BR2_PACKAGE_LIBUSB),y) +FREERDP_CONF_OPTS += -DCHANNEL_URBDRC=ON +FREERDP_DEPENDENCIES += libusb +else +FREERDP_CONF_OPTS += -DCHANNEL_URBDRC=OFF +endif + ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) -FREERDP_CONF_OPTS += -DWITH_PULSEAUDIO=ON +FREERDP_CONF_OPTS += -DWITH_PULSE=ON FREERDP_DEPENDENCIES += pulseaudio else -FREERDP_CONF_OPTS += -DWITH_PULSEAUDIO=OFF +FREERDP_CONF_OPTS += -DWITH_PULSE=OFF endif # For the systemd journal diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in index 95c0aab08c..b0c7de8436 100644 --- a/package/freescale-imx/Config.in +++ b/package/freescale-imx/Config.in @@ -40,8 +40,20 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 bool "imx7d/imx7ulp" +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 + bool "imx8" + config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M bool "imx8m" + +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM + bool "imx8mm" + +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN + bool "imx8mn" + +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X + bool "imx8x" endchoice config BR2_PACKAGE_FREESCALE_IMX_PLATFORM @@ -56,7 +68,10 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM default "IMX6S" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S default "IMX6UL" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL default "IMX7" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 - default "IMX8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M + default "IMX8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 + default "IMX8MQ" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M + default "IMX8MM" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM + default "IMX8MN" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU bool @@ -67,14 +82,19 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO bool - default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU bool default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \ - BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X source "package/freescale-imx/imx-alsa-plugins/Config.in" source "package/freescale-imx/imx-codec/Config.in" @@ -87,6 +107,8 @@ 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" +source "package/freescale-imx/imx-sc-firmware/Config.in" +source "package/freescale-imx/imx-seco/Config.in" if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53) source "package/freescale-imx/gpu-amd-bin-mx51/Config.in" source "package/freescale-imx/libz160/Config.in" diff --git a/package/freescale-imx/firmware-imx/firmware-imx.hash b/package/freescale-imx/firmware-imx/firmware-imx.hash index c22ee4c192..e49ce085bf 100644 --- a/package/freescale-imx/firmware-imx/firmware-imx.hash +++ b/package/freescale-imx/firmware-imx/firmware-imx.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 a8f099bdf786b2da1e8b43094950c033ccdbf93f1b8a93caffb912e1500cd735 firmware-imx-7.5.bin -sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA -sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING +sha256 45b0a7392e7a4b2e6c7e1cb988dd660ff3f8cd465afdf796ff840a00db08389d firmware-imx-8.5.bin +sha256 9665930f69c0b6f4a4c055d7fe2b8ee563e771efbc83892abb1955e61492cdf7 EULA +sha256 d55f024af2bfff714b90de596f6d0399124b999e8c18a86b13a3b507bae6f561 COPYING diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk index f9db09dae8..cd0dafb3de 100644 --- a/package/freescale-imx/firmware-imx/firmware-imx.mk +++ b/package/freescale-imx/firmware-imx/firmware-imx.mk @@ -4,7 +4,7 @@ # ################################################################################ -FIRMWARE_IMX_VERSION = 7.5 +FIRMWARE_IMX_VERSION = 8.5 FIRMWARE_IMX_SITE = $(FREESCALE_IMX_SITE) FIRMWARE_IMX_SOURCE = firmware-imx-$(FIRMWARE_IMX_VERSION).bin @@ -18,7 +18,7 @@ define FIRMWARE_IMX_EXTRACT_CMDS $(call FREESCALE_IMX_EXTRACT_HELPER,$(FIRMWARE_IMX_DL_DIR)/$(FIRMWARE_IMX_SOURCE)) endef -ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y) +ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN),y) FIRMWARE_IMX_INSTALL_IMAGES = YES FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys define FIRMWARE_IMX_PREPARE_LPDDR4_FW @@ -45,6 +45,13 @@ define FIRMWARE_IMX_INSTALL_IMAGES_CMDS cp $(@D)/firmware/hdmi/cadence/signed_hdmi_imx8m.bin \ $(BINARIES_DIR)/signed_hdmi_imx8m.bin endef +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y) +define FIRMWARE_IMX_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0644 $(@D)/firmware/vpu/vpu_fw_imx8_dec.bin \ + $(TARGET_DIR)/lib/firmware/vpu/vpu_fw_imx8_dec.bin + $(INSTALL) -D -m 0644 $(@D)/firmware/vpu/vpu_fw_imx8_enc.bin \ + $(TARGET_DIR)/lib/firmware/vpu/vpu_fw_imx8_enc.bin +endef else define FIRMWARE_IMX_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/lib/firmware/imx diff --git a/package/freescale-imx/freescale-imx.mk b/package/freescale-imx/freescale-imx.mk index e8ca77f17b..84a1725cc1 100644 --- a/package/freescale-imx/freescale-imx.mk +++ b/package/freescale-imx/freescale-imx.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREESCALE_IMX_SITE = http://www.freescale.com/lgfiles/NMG/MAD/YOCTO +FREESCALE_IMX_SITE = http://www.nxp.com/lgfiles/NMG/MAD/YOCTO # Helper for self-extracting binaries distributed by Freescale. # diff --git a/package/freescale-imx/imx-gpu-g2d/Config.in b/package/freescale-imx/imx-gpu-g2d/Config.in index 47375788d1..aeca087f86 100644 --- a/package/freescale-imx/imx-gpu-g2d/Config.in +++ b/package/freescale-imx/imx-gpu-g2d/Config.in @@ -2,10 +2,14 @@ comment "imx-gpu-g2d needs a glibc toolchain with armhf enabled" depends on BR2_arm depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF +comment "imx-gpu-g2d needs a glibc toolchain" + depends on BR2_aarch64 + depends on !BR2_TOOLCHAIN_USES_GLIBC + config BR2_PACKAGE_IMX_GPU_G2D bool "imx-gpu-g2d" # Pre-built binaries only available for ARM EABIhf - depends on BR2_ARM_EABIHF + depends on (BR2_arm && BR2_ARM_EABIHF) || BR2_aarch64 # Library binaries are linked against libc.so.6 depends on BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_IMX_GPU_VIV diff --git a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash index 3bcbc558e2..98ca7fbe7e 100644 --- a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash +++ b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash @@ -1 +1,5 @@ -sha256 5f2d2171d5cd57f37ab07184fc908a0f6ecb2a97f023f04c2f9f3b3d7fec8481 imx-gpu-g2d-6.2.4.p1.2.bin +# Locally calculated +sha256 6d6d02d035d988cbdb2014794f2efe970a3f5ac277202882bbf553bb7fd789d2 imx-gpu-g2d-6.4.0.p1.0-arm.bin +sha256 35885f435dbe951d2c0f439a376ed8a59a50b67a1b7e1e14fa2ab03995abb1ad imx-gpu-g2d-6.4.0.p1.0-aarch64.bin +sha256 d55f024af2bfff714b90de596f6d0399124b999e8c18a86b13a3b507bae6f561 COPYING +sha256 9665930f69c0b6f4a4c055d7fe2b8ee563e771efbc83892abb1955e61492cdf7 EULA diff --git a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk index 015ab628b6..7700170970 100644 --- a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk +++ b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk @@ -4,7 +4,11 @@ # ################################################################################ -IMX_GPU_G2D_VERSION = 6.2.4.p1.2 +ifeq ($(BR2_aarch64),y) +IMX_GPU_G2D_VERSION = 6.4.0.p1.0-aarch64 +else +IMX_GPU_G2D_VERSION = 6.4.0.p1.0-arm +endif IMX_GPU_G2D_SITE = $(FREESCALE_IMX_SITE) IMX_GPU_G2D_SOURCE = imx-gpu-g2d-$(IMX_GPU_G2D_VERSION).bin IMX_GPU_G2D_DEPENDENCIES = imx-gpu-viv diff --git a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash index 2cbc36a185..1a67b53ac5 100644 --- a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash +++ b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash @@ -1,2 +1,5 @@ -sha256 dddadd164bede4793409ccfb636324dd73862c33458db66a5860f126bada25dc imx-gpu-viv-6.2.4.p1.2-aarch32.bin -sha256 27ed3f58681cef18f87ea20946cc89b2cef4848006064303d20583e6ed7aeec7 imx-gpu-viv-6.2.4.p1.2-aarch64.bin +# Locally calculated +sha256 b5c94b56a9f7c84aa084603a6ca21b5f3941b400e4f6ee8558b58c9b9f1aab36 imx-gpu-viv-6.4.0.p1.0-aarch32.bin +sha256 45852a5c3c61a9215a2ffb7387a6e1cce7ddac6f12513fc77459ad7e1f1b3a27 imx-gpu-viv-6.4.0.p1.0-aarch64.bin +sha256 d55f024af2bfff714b90de596f6d0399124b999e8c18a86b13a3b507bae6f561 COPYING +sha256 9665930f69c0b6f4a4c055d7fe2b8ee563e771efbc83892abb1955e61492cdf7 EULA diff --git a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk index d2a9fad459..646d4e3673 100644 --- a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk +++ b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk @@ -5,9 +5,9 @@ ################################################################################ ifeq ($(BR2_aarch64),y) -IMX_GPU_VIV_VERSION = 6.2.4.p1.2-aarch64 +IMX_GPU_VIV_VERSION = 6.4.0.p1.0-aarch64 else -IMX_GPU_VIV_VERSION = 6.2.4.p1.2-aarch32 +IMX_GPU_VIV_VERSION = 6.4.0.p1.0-aarch32 endif IMX_GPU_VIV_SITE = $(FREESCALE_IMX_SITE) IMX_GPU_VIV_SOURCE = imx-gpu-viv-$(IMX_GPU_VIV_VERSION).bin @@ -42,9 +42,12 @@ endef # Make sure these commands are idempotent. define IMX_GPU_VIV_BUILD_CMDS $(SED) 's/defined(LINUX)/defined(__linux__)/g' $(@D)/gpu-core/usr/include/*/*.h - ln -sf libGL.so.1.2 $(@D)/gpu-core/usr/lib/libGL.so - ln -sf libGL.so.1.2 $(@D)/gpu-core/usr/lib/libGL.so.1 - ln -sf libGL.so.1.2 $(@D)/gpu-core/usr/lib/libGL.so.1.2.0 + $(if $(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11)$(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL), + ln -sf libGL-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGL.so + ln -sf libGL-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGL.so.1 + ln -sf libGL-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGL.so.1.2 + ln -sf libGL-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGL.so.1.2.0 + ) ln -sf libEGL-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libEGL.so ln -sf libEGL-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libEGL.so.1 ln -sf libEGL-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libEGL.so.1.0 diff --git a/package/freescale-imx/imx-kobs/imx-kobs.hash b/package/freescale-imx/imx-kobs/imx-kobs.hash index 2ede0a9b48..39f02ea04a 100644 --- a/package/freescale-imx/imx-kobs/imx-kobs.hash +++ b/package/freescale-imx/imx-kobs/imx-kobs.hash @@ -1 +1,3 @@ -sha256 5855c8964f908ad30e5d4500180ee57c51af68186289ef1bdf8553ee60d3b1f5 imx-kobs-a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b.tar.gz +# Locally computed +sha256 5855c8964f908ad30e5d4500180ee57c51af68186289ef1bdf8553ee60d3b1f5 imx-kobs-a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/freescale-imx/imx-lib/imx-lib.hash b/package/freescale-imx/imx-lib/imx-lib.hash index abbf017459..c16dc7f9a9 100644 --- a/package/freescale-imx/imx-lib/imx-lib.hash +++ b/package/freescale-imx/imx-lib/imx-lib.hash @@ -1,2 +1,3 @@ # locally computed -sha256 ced5ad0a179887ef1dd93e8103a9ab7372017cc1c241d28cded164cdece4b918 imx-lib-3f777974c0c146817e2ff5cb0340ca66a1f99e57.tar.gz +sha256 ced5ad0a179887ef1dd93e8103a9ab7372017cc1c241d28cded164cdece4b918 imx-lib-3f777974c0c146817e2ff5cb0340ca66a1f99e57.tar.gz +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING-LGPL-2.1 diff --git a/package/freescale-imx/imx-sc-firmware/Config.in b/package/freescale-imx/imx-sc-firmware/Config.in new file mode 100644 index 0000000000..4932e62dd2 --- /dev/null +++ b/package/freescale-imx/imx-sc-firmware/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_IMX_SC_FIRMWARE + bool "imx-sc-firmware" + depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X + help + System Control Unit Firmware blobs for the Freescale i.MX8 + SoCs. + + This library is provided by Freescale as-is and doesn't have + an upstream. diff --git a/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.hash b/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.hash new file mode 100644 index 0000000000..bd8de5b869 --- /dev/null +++ b/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 5a28180217975f3d78fcfac15e46b0a942910fadf078e4af76deb6dc498136ed imx-sc-firmware-1.2.7.1.bin +sha256 9665930f69c0b6f4a4c055d7fe2b8ee563e771efbc83892abb1955e61492cdf7 EULA +sha256 d55f024af2bfff714b90de596f6d0399124b999e8c18a86b13a3b507bae6f561 COPYING diff --git a/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.mk b/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.mk new file mode 100644 index 0000000000..954cfc4072 --- /dev/null +++ b/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# imx-sc-firmware +# +################################################################################ + +IMX_SC_FIRMWARE_VERSION = 1.2.7.1 +IMX_SC_FIRMWARE_SITE = $(FREESCALE_IMX_SITE) +IMX_SC_FIRMWARE_SOURCE = imx-sc-firmware-$(IMX_SC_FIRMWARE_VERSION).bin + +IMX_SC_FIRMWARE_LICENSE = NXP Semiconductor Software License Agreement +IMX_SC_FIRMWARE_LICENSE_FILES = EULA COPYING +IMX_SC_FIRMWARE_REDISTRIBUTE = NO + +define IMX_SC_FIRMWARE_EXTRACT_CMDS + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_SC_FIRMWARE_DL_DIR)/$(IMX_SC_FIRMWARE_SOURCE)) +endef + +IMX_SC_FIRMWARE_INSTALL_IMAGES = YES + +# SCFW firmware is needed when generating imx8-boot-sd.bin which is +# done in post-image script. +ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y) +define IMX_SC_FIRMWARE_INSTALL_IMAGES_CMDS + cp $(@D)/mx8qx-mek-scfw-tcm.bin $(BINARIES_DIR)/mx8qx-mek-scfw-tcm.bin + cp $(@D)/mx8qx-val-scfw-tcm.bin $(BINARIES_DIR)/mx8qx-val-scfw-tcm.bin +endef +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8),y) +define IMX_SC_FIRMWARE_INSTALL_IMAGES_CMDS + cp $(@D)/mx8qm-*-scfw-tcm.bin $(BINARIES_DIR)/ +endef +endif + +$(eval $(generic-package)) diff --git a/package/freescale-imx/imx-seco/Config.in b/package/freescale-imx/imx-seco/Config.in new file mode 100644 index 0000000000..1877664a0c --- /dev/null +++ b/package/freescale-imx/imx-seco/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_IMX_SECO + bool "imx-seco" + depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X + help + Firmware file for the i.MX8 and i.MX8X Security Controller. + + This library is provided by Freescale as-is and doesn't have + an upstream. diff --git a/package/freescale-imx/imx-seco/imx-seco.hash b/package/freescale-imx/imx-seco/imx-seco.hash new file mode 100644 index 0000000000..56f56369d4 --- /dev/null +++ b/package/freescale-imx/imx-seco/imx-seco.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 b429ac58b2ea1771b3fdf7ae87bf1d37ccaf596bde01a5ecccae27b2145f6824 imx-seco-2.3.1.bin +sha256 69d19847bac9af7f9e832170a15138f5ef144d8064413434114d75a68982cc9c EULA +sha256 6467f2e81d06b19fe541de49bdba32a9a205e8d1c230220fe24247b48672cb46 COPYING diff --git a/package/freescale-imx/imx-seco/imx-seco.mk b/package/freescale-imx/imx-seco/imx-seco.mk new file mode 100644 index 0000000000..d06bf4c5cc --- /dev/null +++ b/package/freescale-imx/imx-seco/imx-seco.mk @@ -0,0 +1,35 @@ +################################################################################ +# +# imx-seco +# +################################################################################ + +IMX_SECO_VERSION = 2.3.1 +IMX_SECO_SITE = $(FREESCALE_IMX_SITE) +IMX_SECO_SOURCE = imx-seco-$(IMX_SECO_VERSION).bin + +IMX_SECO_LICENSE = NXP Semiconductor Software License Agreement +IMX_SECO_LICENSE_FILES = EULA COPYING +IMX_SECO_REDISTRIBUTE = NO + +define IMX_SECO_EXTRACT_CMDS + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_SECO_DL_DIR)/$(IMX_SECO_SOURCE)) +endef + +IMX_SECO_INSTALL_IMAGES = YES + +# SECO firmware is needed when generating imx8-boot-sd.bin which +# is done in post-image script. +ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y) +define IMX_SECO_INSTALL_IMAGES_CMDS + cp $(@D)/firmware/seco/mx8qx-ahab-container.img \ + $(BINARIES_DIR)/ahab-container.img +endef +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8),y) +define IMX_SECO_INSTALL_IMAGES_CMDS + cp $(@D)/firmware/seco/mx8qm-ahab-container.img \ + $(BINARIES_DIR)/ahab-container.img +endef +endif + +$(eval $(generic-package)) diff --git a/package/freescale-imx/imx-uuc/imx-uuc.hash b/package/freescale-imx/imx-uuc/imx-uuc.hash index 623bd27644..57a5098597 100644 --- a/package/freescale-imx/imx-uuc/imx-uuc.hash +++ b/package/freescale-imx/imx-uuc/imx-uuc.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 ac4960b9dc53cfd09709951c4bf1f774567ff0918d0b216b480e1f7df8c6ee48 imx-uuc-79e9798eee9cd972d92ed2b18f170de856d153c9.tar.gz +sha256 2784e0826074335893fdad20e9a4faaedced2f206565c383043fbd169e9273a4 imx-uuc-fc48b497fe961d601b4bcced807f562090854ec9.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/freescale-imx/imx-uuc/imx-uuc.mk b/package/freescale-imx/imx-uuc/imx-uuc.mk index 52d2b7c7a3..2ed910cb84 100644 --- a/package/freescale-imx/imx-uuc/imx-uuc.mk +++ b/package/freescale-imx/imx-uuc/imx-uuc.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_UUC_VERSION = 79e9798eee9cd972d92ed2b18f170de856d153c9 +IMX_UUC_VERSION = fc48b497fe961d601b4bcced807f562090854ec9 IMX_UUC_SITE = $(call github,NXPmicro,imx-uuc,$(IMX_UUC_VERSION)) IMX_UUC_LICENSE = GPL-2.0+ IMX_UUC_LICENSE_FILES = COPYING @@ -14,7 +14,7 @@ IMX_UUC_LICENSE_FILES = COPYING IMX_UUC_DEPENDENCIES = host-dosfstools define IMX_UUC_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC=$(TARGET_CC) + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) endef define IMX_UUC_INSTALL_TARGET_CMDS @@ -33,9 +33,6 @@ endef define IMX_UUC_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 0644 package/freescale-imx/imx-uuc/imx-uuc.service \ $(TARGET_DIR)/usr/lib/systemd/system/imx-uuc.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ - ln -fs ../../../../usr/lib/systemd/system/imx-uuc.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/imx-uuc.service endef $(eval $(generic-package)) 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 index 951ead9824..f5a67cd514 100644 --- 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 @@ -1,6 +1,6 @@ -From 872c82e7cbb9a0a0e761e8ac70fc28e19a55b4c3 Mon Sep 17 00:00:00 2001 +From e776e7360f80da9ac03f81a5df27d8b7fabc7ac7 Mon Sep 17 00:00:00 2001 From: Gary Bisson -Date: Thu, 12 Jul 2018 11:38:28 +0200 +Date: Thu, 26 Mar 2020 16:00:33 +0100 Subject: [PATCH] Fix ion.h header inclusion to be standard NXP "solution" was to manually copy the header to include/linux. @@ -9,25 +9,44 @@ 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(-) + Makefile_G1G2 | 4 ++-- + Makefile_H1 | 4 ++-- + decoder_sw/software/linux/dwl/dwl_linux.c | 2 +- + h1_encoder/software/linux_reference/ewl/ewl_x280_common.c | 2 +- + 4 files changed, 6 insertions(+), 6 deletions(-) -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 +diff --git a/Makefile_G1G2 b/Makefile_G1G2 +index 8280cce..4c9fc34 100755 +--- a/Makefile_G1G2 ++++ b/Makefile_G1G2 +@@ -10,8 +10,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)/include/uapi -I$(LINUX_KERNEL_ROOT)/include +-INCLUDE_HEADERS += -I$(SDKTARGETSYSROOT)/usr/include/imx ++INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include +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/Makefile_H1 b/Makefile_H1 +index 9ab62e1..8d366e3 100755 +--- a/Makefile_H1 ++++ b/Makefile_H1 +@@ -17,8 +17,8 @@ ENV += -DMEMALLOC_MODULE_PATH=\\\"/dev/ion\\\" + #ENV += -DSDRAM_LM_BASE=0x00000000 + ENV += -DEWL_NO_HW_TIMEOUT + ENV += -DUSE_ION +-#ENV += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include +-ENV += -I$(SDKTARGETSYSROOT)/usr/include/imx ++ENV += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include ++ENV += -I$(LINUX_KERNEL_ROOT)/drivers/staging/android/uapi + + LIBENCNAME = libcodec_enc + LIBSENC = -L./ -lhantro_h1 -lpthread diff --git a/decoder_sw/software/linux/dwl/dwl_linux.c b/decoder_sw/software/linux/dwl/dwl_linux.c -index 8183660..ed37d86 100644 +index 9b057f0..43225f6 100755 --- a/decoder_sw/software/linux/dwl/dwl_linux.c +++ b/decoder_sw/software/linux/dwl/dwl_linux.c @@ -41,7 +41,7 @@ @@ -36,9 +55,22 @@ index 8183660..ed37d86 100644 #ifdef USE_ION -#include +#include + #include + #include + #ifdef ANDROID +diff --git a/h1_encoder/software/linux_reference/ewl/ewl_x280_common.c b/h1_encoder/software/linux_reference/ewl/ewl_x280_common.c +index fef1307..20b6f95 100755 +--- a/h1_encoder/software/linux_reference/ewl/ewl_x280_common.c ++++ b/h1_encoder/software/linux_reference/ewl/ewl_x280_common.c +@@ -49,7 +49,7 @@ + + #include "linux/hx280enc.h" + #ifdef USE_ION +-#include ++#include + #include + #include #ifdef ANDROID - #include - #endif -- -2.18.0 +2.25.1 diff --git a/package/freescale-imx/imx-vpu-hantro/0002-Fix-build-with-uclibc-toolchain.patch b/package/freescale-imx/imx-vpu-hantro/0002-Fix-build-with-uclibc-toolchain.patch new file mode 100644 index 0000000000..eb18043c4b --- /dev/null +++ b/package/freescale-imx/imx-vpu-hantro/0002-Fix-build-with-uclibc-toolchain.patch @@ -0,0 +1,51 @@ +From 4f51b0a6b9a36cc56fa06eb0f76596d8e387f980 Mon Sep 17 00:00:00 2001 +From: Gary Bisson +Date: Fri, 27 Mar 2020 23:17:30 +0100 +Subject: [PATCH] Fix build with uclibc toolchain + +From: Laurent Gauthier (OSS) + +By default, backtrace support is disabled in uclibc. In that case the +execinfo.h header file is missing, producing a build error. + +Signed-off-by: Laurent Gauthier (OSS) +Signed-off-by: Gary Bisson +--- + openmax_il/source/dbgmacros.h | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/openmax_il/source/dbgmacros.h b/openmax_il/source/dbgmacros.h +index 3771c91..37ae09f 100755 +--- a/openmax_il/source/dbgmacros.h ++++ b/openmax_il/source/dbgmacros.h +@@ -50,13 +50,6 @@ + # define __USE_GNU + #endif + +-#ifndef ANDROID +-#include +-#include +-#endif +-#include +-#include +- + /***************** + ** DEBUG FLAGS ** + *****************/ +@@ -76,6 +69,13 @@ + #define TRACE_FILE "trace.log" + #endif + ++#ifndef ANDROID ++#include ++#include ++#endif ++#include ++#include ++ + #ifdef LOG_IN_FILE + #define TRACE(...) \ + { \ +-- +2.25.1 + diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash index 4fa48fb806..7f02f92467 100644 --- a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash @@ -1,3 +1,3 @@ -sha256 cbc648e41f005aad209f74c9e5dd346138dca12efeb7b27e471de7474c4da302 imx-vpu-hantro-1.6.0.bin -sha256 0f34f6175247762e2e1c38319aadf657a53f00ce124e569dfc61b30451549e7a COPYING -sha256 faf01d10e484879247963eb97d96622a980232e22a35e487dfe53b13708b686a EULA +sha256 8d189156d713f12b255f16badd0093aaacd16859aa3191603908de07567485a5 imx-vpu-hantro-1.15.0.bin +sha256 d55f024af2bfff714b90de596f6d0399124b999e8c18a86b13a3b507bae6f561 COPYING +sha256 9665930f69c0b6f4a4c055d7fe2b8ee563e771efbc83892abb1955e61492cdf7 EULA diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk index a82899e64b..dbdbd4dc7b 100644 --- a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_VPU_HANTRO_VERSION = 1.6.0 +IMX_VPU_HANTRO_VERSION = 1.15.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 @@ -15,7 +15,8 @@ IMX_VPU_HANTRO_MAKE_ENV = \ $(TARGET_CONFIGURE_OPTS) \ CROSS_COMPILE="$(TARGET_CROSS)" \ SDKTARGETSYSROOT=$(STAGING_DIR) \ - LINUX_KERNEL_ROOT=$(LINUX_DIR) + LINUX_KERNEL_ROOT=$(LINUX_DIR) \ + PLATFORM=$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM) IMX_VPU_HANTRO_LICENSE = NXP Semiconductor Software License Agreement IMX_VPU_HANTRO_LICENSE_FILES = EULA COPYING diff --git a/package/freescale-imx/imx-vpu/imx-vpu.hash b/package/freescale-imx/imx-vpu/imx-vpu.hash index 5fa93d8055..81ea35a7fb 100644 --- a/package/freescale-imx/imx-vpu/imx-vpu.hash +++ b/package/freescale-imx/imx-vpu/imx-vpu.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 34bed0ddf6c797f444bddfa5d5495adc751ff268b6431d8beb48129c89c9e47f imx-vpu-5.4.38.bin -sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING -sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA +sha256 b7bb67b00daf436fd91a2760c2db375a962e2c919045ce8bf81bd54b95d999c5 imx-vpu-5.4.39.1.bin +sha256 d55f024af2bfff714b90de596f6d0399124b999e8c18a86b13a3b507bae6f561 COPYING +sha256 9665930f69c0b6f4a4c055d7fe2b8ee563e771efbc83892abb1955e61492cdf7 EULA diff --git a/package/freescale-imx/imx-vpu/imx-vpu.mk b/package/freescale-imx/imx-vpu/imx-vpu.mk index e30237508e..e61b9f829a 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.38 +IMX_VPU_VERSION = 5.4.39.1 IMX_VPU_SITE = $(FREESCALE_IMX_SITE) IMX_VPU_SOURCE = imx-vpu-$(IMX_VPU_VERSION).bin diff --git a/package/freescale-imx/kernel-module-imx-gpu-viv/Config.in b/package/freescale-imx/kernel-module-imx-gpu-viv/Config.in index 038bd4d483..4cea37a46c 100644 --- a/package/freescale-imx/kernel-module-imx-gpu-viv/Config.in +++ b/package/freescale-imx/kernel-module-imx-gpu-viv/Config.in @@ -11,6 +11,6 @@ config BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV source code of the same version as base and include fixes and improvements developed by FSL Community. - This module is only meant for NXP-based kernel up to 4.1.x. + This module is only meant for NXP-based kernel. https://github.com/Freescale/kernel-module-imx-gpu-viv diff --git a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash index 3ed7ca2dd9..fe40692a6b 100644 --- a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash +++ b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash @@ -1,2 +1,3 @@ # locally computed -sha256 ad910b7d36dc433bbbe85808d278312e9199635aaa5d00097b70ffab11bde9e6 kernel-module-imx-gpu-viv-86354002bea77acd9ce1812712e9d8485b377ec8.tar.gz +sha256 d747c39f900315f2f46b8397f55d199c7ece7328ae91ce21a2f5eb0895603865 kernel-module-imx-gpu-viv-4cc1368dc05073b368cfdbadfdf5de3a3d3b15f4.tar.gz +sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING diff --git a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk index c76a5ee386..a037858cfc 100644 --- a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk +++ b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk @@ -4,7 +4,7 @@ # ################################################################################ -KERNEL_MODULE_IMX_GPU_VIV_VERSION = 86354002bea77acd9ce1812712e9d8485b377ec8 +KERNEL_MODULE_IMX_GPU_VIV_VERSION = 4cc1368dc05073b368cfdbadfdf5de3a3d3b15f4 KERNEL_MODULE_IMX_GPU_VIV_SITE = \ $(call github,Freescale,kernel-module-imx-gpu-viv,$(KERNEL_MODULE_IMX_GPU_VIV_VERSION)) KERNEL_MODULE_IMX_GPU_VIV_LICENSE = GPL-2.0 @@ -16,5 +16,9 @@ KERNEL_MODULE_IMX_GPU_VIV_MODULE_MAKE_OPTS = \ KERNEL_MODULE_IMX_GPU_VIV_MODULE_SUBDIRS = kernel-module-imx-gpu-viv-src +define KERNEL_MODULE_IMX_GPU_VIV_MODULE_LINUX_CONFIG_FIXUPS + $(call KCONFIG_DISABLE_OPT,CONFIG_MXC_GPU_VIV) +endef + $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/package/freescale-imx/libz160/libz160.hash b/package/freescale-imx/libz160/libz160.hash index ee10630fdf..75f266e3c5 100644 --- a/package/freescale-imx/libz160/libz160.hash +++ b/package/freescale-imx/libz160/libz160.hash @@ -1,2 +1,3 @@ # locally computed sha256 08767eb269a0a30ca0aa3d3b5aa9a53a2d17ed1c24651b7e8cefc7704b883f19 libz160-bin-11.09.01.bin +sha256 6d7a2fefc2f7ce888f9eb74919b852aed5a1087b2e84345be90cadbebe1b6578 EULA diff --git a/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash b/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash index 475556ebe9..a863dbfcf7 100644 --- a/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash +++ b/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 0dec5b78f655e175936806396b89b4997c8e543a1c84683a19ea2b6f36e01d7e freeswitch-mod-bcg729-v1.0.4.tar.gz +sha256 0dec5b78f655e175936806396b89b4997c8e543a1c84683a19ea2b6f36e01d7e freeswitch-mod-bcg729-1.0.4.tar.gz sha256 bb4680b13c3190429464a8308a07d7d891e6454349fb7be856e02405b25b1195 LICENSE diff --git a/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk b/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk index 98324b2a08..f92a490051 100644 --- a/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk +++ b/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk @@ -4,8 +4,8 @@ # ################################################################################ -FREESWITCH_MOD_BCG729_VERSION = v1.0.4 -FREESWITCH_MOD_BCG729_SITE = $(call github,xadhoom,mod_bcg729,$(FREESWITCH_MOD_BCG729_VERSION)) +FREESWITCH_MOD_BCG729_VERSION = 1.0.4 +FREESWITCH_MOD_BCG729_SITE = $(call github,xadhoom,mod_bcg729,v$(FREESWITCH_MOD_BCG729_VERSION)) FREESWITCH_MOD_BCG729_LICENSE = MPL-1.1 FREESWITCH_MOD_BCG729_LICENSE_FILES = LICENSE FREESWITCH_MOD_BCG729_DEPENDENCIES = freeswitch bcg729 diff --git a/package/freeswitch/0001-Fix-cross-compiling-libvpx.patch b/package/freeswitch/0001-Fix-cross-compiling-libvpx.patch deleted file mode 100644 index 1d4b97a7a0..0000000000 --- a/package/freeswitch/0001-Fix-cross-compiling-libvpx.patch +++ /dev/null @@ -1,29 +0,0 @@ -Fix cross-compiling libvpx - -Freeswitch since version 1.6.7 only uses an in-tree-version of libvpx: -https://freeswitch.org/fisheye/changelog/freeswitch?cs=febe0f8dacea2d2a31902b3dc469be757f8c3c4d - -It is not possible to use an external version of libvpx anymore. -Unfortunately the freeswitch build system has no support for cross- -compiling libvpx so we need to patch Makefile to pass CROSS from -package/freeswitch/freeswitch.mk and add target=generic-gnu as -configure parameter: -https://freeswitch.org/stash/projects/FS/repos/freeswitch/browse/libs/libvpx/README#110 - -And yes, autoreconf is also broken, so we patch Makefile.in instead -of Makefile.am. - -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 -@@ -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 --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/freeswitch.hash b/package/freeswitch/freeswitch.hash index 6f90c21564..f300e69bf4 100644 --- a/package/freeswitch/freeswitch.hash +++ b/package/freeswitch/freeswitch.hash @@ -1,11 +1,12 @@ -# 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 +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.2.tar.xz.md5 +md5 89d66f87f0f6c2471aa95aee48f55fdc freeswitch-1.10.2.-release.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.2.tar.xz.sha1 +sha1 90dac82cb4fb8fc11e399fd4bdac7163fb40259b freeswitch-1.10.2.-release.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.2.tar.xz.sha256 +sha256 1fd46dee82ecc52ac90ebab6bd454e34c64950fae7d6dc0589c8daa14bfc7d34 freeswitch-1.10.2.-release.tar.xz # Locally computed -sha256 10299420c1e8602c0daf5a59d022621cd72a9148d1f0f33501edb3db3445c7fe COPYING +sha256 75c933202f40939cdc3827fce20a1efdaa38291e2b5a65d234eb16e2cffda66a COPYING +sha256 c3e3388768dae8bf4edcc4108f95be815b8a05c0b0aef6e4c3d8df81affdfa34 docs/OPENH264_BINARY_LICENSE.txt sha256 e8e26b16da14aa3e6ed5c22c705fdc1f45d6225fca461ea9f7314bcdfdc414c4 libs/apr/LICENSE sha256 1eefb2ea1db0af7729a9d8a27d7c65d8a37ab185393f935b029aac6828ce315a libs/apr-util/LICENSE sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 libs/libvpx/LICENSE diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk index 0b7544d097..5985df4a6e 100644 --- a/package/freeswitch/freeswitch.mk +++ b/package/freeswitch/freeswitch.mk @@ -4,9 +4,9 @@ # ################################################################################ -FREESWITCH_VERSION = 1.8.5 -FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).tar.xz -FREESWITCH_SITE = http://files.freeswitch.org/freeswitch-releases +FREESWITCH_VERSION = 1.10.2 +FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).-release.tar.xz +FREESWITCH_SITE = https://files.freeswitch.org/freeswitch-releases # External modules need headers/libs from staging FREESWITCH_INSTALL_STAGING = YES FREESWITCH_LICENSE = MPL-1.1, \ @@ -164,7 +164,7 @@ FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_ENABLE_MODULES # mod_isac supports a limited set of archs # src/mod/codecs/mod_isac/typedefs.h ifeq ($(BR2_i386)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_x86_64),y) -FREESWITCH_LICENSE := $(FREESWITCH_LICENSE), BSD-3-Clause (mod_isac) +FREESWITCH_LICENSE += , BSD-3-Clause (mod_isac) FREESWITCH_LICENSE_FILES += src/mod/codecs/mod_isac/LICENSE FREESWITCH_ENABLED_MODULES += codecs/mod_isac endif @@ -220,6 +220,13 @@ FREESWITCH_DEPENDENCIES += libmemcached FREESWITCH_ENABLED_MODULES += applications/mod_memcache endif +ifeq ($(BR2_PACKAGE_LIBOPENH264),y) +FREESWITCH_LICENSE += , BSD-2-Clause (libopenh264) +FREESWITCH_LICENSE_FILES += docs/OPENH264_BINARY_LICENSE.txt +FREESWITCH_DEPENDENCIES += libopenh264 +FREESWITCH_ENABLED_MODULES += codecs/mod_openh264 +endif + ifeq ($(BR2_PACKAGE_LIBPNG),y) FREESWITCH_DEPENDENCIES += libpng FREESWITCH_ENABLED_MODULES += formats/mod_png @@ -278,12 +285,8 @@ endif ifeq ($(BR2_PACKAGE_POSTGRESQL),y) FREESWITCH_CONF_ENV += \ ac_cv_path_PG_CONFIG=$(STAGING_DIR)/usr/bin/pg_config -FREESWITCH_CONF_OPTS += \ - --enable-core-pgsql-pkgconfig \ - --enable-core-pgsql-support FREESWITCH_DEPENDENCIES += postgresql -else -FREESWITCH_CONF_OPTS += --disable-core-pgsql-support +FREESWITCH_ENABLED_MODULES += databases/mod_pgsql endif ifeq ($(BR2_PACKAGE_UNIXODBC),y) @@ -300,12 +303,45 @@ FREESWITCH_DEPENDENCIES += xz endif ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_8)$(BR2_PACKAGE_FFMPEG),yy) -FREESWITCH_LICENSE := $(FREESWITCH_LICENSE), BSD-3-Clause (libvpx, libyuv) +FREESWITCH_LICENSE += , BSD-3-Clause (libvpx, libyuv) FREESWITCH_LICENSE_FILES += libs/libvpx/LICENSE libs/libyuv/LICENSE FREESWITCH_CONF_OPTS += --enable-libvpx --enable-libyuv FREESWITCH_DEPENDENCIES += host-yasm ffmpeg FREESWITCH_ENABLED_MODULES += applications/mod_av applications/mod_fsv FREESWITCH_MAKE_ENV += CROSS=$(TARGET_CROSS) + +# Freeswitch's buildsystem forgets to pass important environment +# variables and config options when it configures libvpx, so +# pre-build libvpx manually, so Freeswitch does not attempt to run +# its flawed commands... +# Freeswitch only ever uses the static libtrary, that's hard-coded, +# we can't do anything about that... +# From package/libvpx/libvpx.mk: +# - this is not a true autotools package. It is based on the ffmpeg +# build system. +# - ld is being used with cc options. therefore, pretend ld is cc. +define FREESWITCH_BUILD_LIBVPX + cd $(@D)/libs/libvpx && \ + $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_CONFIGURE_ARGS) \ + LD="$(TARGET_CC)" \ + CROSS=$(GNU_TARGET_NAME) \ + ./configure \ + --target=generic-gnu \ + --enable-pic \ + --prefix=/usr \ + --disable-shared --enable-static \ + --disable-examples \ + --disable-docs \ + --disable-unit-tests && \ + $(TARGET_MAKE_ENV) \ + $(LIBVPX_MAKE_ENV) \ + $(MAKE) \ + -C $(@D)/libs/libvpx \ + all +endef +FREESWITCH_PRE_BUILD_HOOKS += FREESWITCH_BUILD_LIBVPX + else FREESWITCH_CONF_OPTS += --disable-libvpx --disable-libyuv endif diff --git a/package/freetype/freetype.hash b/package/freetype/freetype.hash index c98674c7c2..c4e75c327c 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.1/ -md5 60ef7d8160cd4bf8cb118ee9d65367ca freetype-2.9.1.tar.bz2 -sha1 220c82062171c513e4017c523d196933c9de4a7d freetype-2.9.1.tar.bz2 +# From https://sourceforge.net/projects/freetype/files/freetype2/2.10.1/ +md5 bd42e75127f8431923679480efb5ba8f freetype-2.10.1.tar.xz +sha1 79874ef4eaa52025126b71d836453b8279bdd331 freetype-2.10.1.tar.xz # Locally calculated -sha256 db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d freetype-2.9.1.tar.bz2 +sha256 16dbfa488a21fe827dc27eaf708f42f7aa3bb997d745d31a19781628c36ba26f freetype-2.10.1.tar.xz 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 7167061568..8b3a4ca09c 100644 --- a/package/freetype/freetype.mk +++ b/package/freetype/freetype.mk @@ -4,8 +4,8 @@ # ################################################################################ -FREETYPE_VERSION = 2.9.1 -FREETYPE_SOURCE = freetype-$(FREETYPE_VERSION).tar.bz2 +FREETYPE_VERSION = 2.10.1 +FREETYPE_SOURCE = freetype-$(FREETYPE_VERSION).tar.xz FREETYPE_SITE = http://download.savannah.gnu.org/releases/freetype FREETYPE_INSTALL_STAGING = YES FREETYPE_MAKE_OPTS = CCexe="$(HOSTCC)" diff --git a/package/fstrcmp/0001-disable-rpath.patch b/package/fstrcmp/0001-disable-rpath.patch new file mode 100644 index 0000000000..cec57e7e94 --- /dev/null +++ b/package/fstrcmp/0001-disable-rpath.patch @@ -0,0 +1,25 @@ +Remove rpath from linking command + +Fixes build error: + +lib/.libs/libfstrcmp.so: undefined reference to `__ctype_b_loc@GLIBC_2.3' +lib/.libs/libfstrcmp.so: undefined reference to `mbstowcs@GLIBC_2.2.5' +lib/.libs/libfstrcmp.so: undefined reference to `printf@GLIBC_2.2.5' +lib/.libs/libfstrcmp.so: undefined reference to `readlink@GLIBC_2.2.5' +lib/.libs/libfstrcmp.so: undefined reference to `malloc@GLIBC_2.2.5' +lib/.libs/libfstrcmp.so: undefined reference to `memcmp@GLIBC_2.2.5' +lib/.libs/libfstrcmp.so: undefined reference to `wcslen@GLIBC_2.2.5' + +Signed-off-by: Bernd Kuhls + +--- fstrcmp-0.7.D001/Makefile.in.orig 2014-03-05 01:13:45.000000000 +0100 ++++ fstrcmp-0.7.D001/Makefile.in 2019-04-07 13:55:07.817689231 +0200 +@@ -507,7 +507,7 @@ + lib/libfstrcmp.la: $(lib_obj) + rm -f $@ + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) \ +- -o $@ $(lib_obj) $(LIBS) -rpath $(libdir) -version-info 6:0:6 ++ -o $@ $(lib_obj) $(LIBS) -version-info 6:0:6 + + # + # The install of the *.la file automatically causes "$(LIBTOOL) --mode=install" diff --git a/package/fstrcmp/Config.in b/package/fstrcmp/Config.in new file mode 100644 index 0000000000..04f11b0f97 --- /dev/null +++ b/package/fstrcmp/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_FSTRCMP + bool "fstrcmp" + depends on BR2_USE_WCHAR + help + The fstrcmp project provides a library that is used to make + fuzzy comparisons of strings and byte arrays, including multi- + byte character strings. + + http://fstrcmp.sourceforge.net/ + +comment "fstrcmp needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR diff --git a/package/fstrcmp/fstrcmp.hash b/package/fstrcmp/fstrcmp.hash new file mode 100644 index 0000000000..9a43c59c09 --- /dev/null +++ b/package/fstrcmp/fstrcmp.hash @@ -0,0 +1,6 @@ +# From https://sourceforge.net/projects/fstrcmp/files/fstrcmp/0.7/ +md5 9c440bbdfcad9fd22e38f2388715b0cc fstrcmp-0.7.D001.tar.gz +sha1 bb848118fb157dc624ae9fac0566a64cc85f2ef2 fstrcmp-0.7.D001.tar.gz +# Locally computed +sha256 e4018e850f80700acee8da296e56e15b1eef711ab15157e542e7d7e1237c3476 fstrcmp-0.7.D001.tar.gz +sha256 5352e426b563eda9252d76be92337b49f7b5cfdd1302a1e8d99389840c0e46be LICENSE diff --git a/package/fstrcmp/fstrcmp.mk b/package/fstrcmp/fstrcmp.mk new file mode 100644 index 0000000000..9c42159afb --- /dev/null +++ b/package/fstrcmp/fstrcmp.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# fstrcmp +# +################################################################################ + +FSTRCMP_VERSION_MAJOR = 0.7 +FSTRCMP_VERSION = $(FSTRCMP_VERSION_MAJOR).D001 +FSTRCMP_SITE = https://sourceforge.net/projects/fstrcmp/files/fstrcmp/$(FSTRCMP_VERSION_MAJOR) +FSTRCMP_LICENSE = GPL-3.0+ +FSTRCMP_LICENSE_FILES = LICENSE +FSTRCMP_INSTALL_STAGING = YES +FSTRCMP_DEPENDENCIES = host-libtool +FSTRCMP_CONF_ENV = LIBTOOL="$(HOST_DIR)/bin/libtool" + +FSTRCMP_MAKE_OPTS = all-bin libdir/pkgconfig/fstrcmp.pc + +# We need to install the package files ourselves due to upstream trying +# to install a .lai file which is missing because of rpath removal +define FSTRCMP_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install-include + $(INSTALL) -D -m 755 $(@D)/lib/.libs/libfstrcmp.a $(STAGING_DIR)/usr/lib/libfstrcmp.a + $(INSTALL) -D -m 755 $(@D)/lib/libfstrcmp.la $(STAGING_DIR)/usr/lib/libfstrcmp.la + $(INSTALL) -D -m 755 $(@D)/libdir/pkgconfig/fstrcmp.pc $(STAGING_DIR)/usr/lib/pkgconfig/fstrcmp.pc +endef + +define FSTRCMP_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 755 $(@D)/bin/fstrcmp $(TARGET_DIR)/usr/bin/fstrcmp +endef + +$(eval $(autotools-package)) diff --git a/package/fswebcam/Config.in b/package/fswebcam/Config.in index d268454aae..fbd077bc37 100644 --- a/package/fswebcam/Config.in +++ b/package/fswebcam/Config.in @@ -15,7 +15,7 @@ config BR2_PACKAGE_FSWEBCAM stdio where it can be piped to something like ncftpput or scp. - http://www.firestorm.cx/fswebcam/ + https://www.sanslogic.co.uk/fswebcam/ comment "fswebcam needs a toolchain w/ dynamic library" depends on BR2_USE_MMU diff --git a/package/fswebcam/fswebcam.hash b/package/fswebcam/fswebcam.hash index 1e75f237e7..bac1626785 100644 --- a/package/fswebcam/fswebcam.hash +++ b/package/fswebcam/fswebcam.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 444d6a8a82102e09e935540c64a731021de36db03e1e74181f41ca6f39aa6474 fswebcam-20140113.tar.xz +sha256 5702771cee6e3fa0f2bbbb72ecf3e5a253ff458c1f648f7e7c0d477e39f0ec80 fswebcam-e9f8094b6a3d1a49f99b2abec4e6ab4df33e2e33.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE diff --git a/package/fswebcam/fswebcam.mk b/package/fswebcam/fswebcam.mk index 8f823f4d04..3a5b8c9eef 100644 --- a/package/fswebcam/fswebcam.mk +++ b/package/fswebcam/fswebcam.mk @@ -4,9 +4,8 @@ # ################################################################################ -FSWEBCAM_VERSION = 20140113 -FSWEBCAM_SOURCE = fswebcam-$(FSWEBCAM_VERSION).tar.xz -FSWEBCAM_SITE = http://www.firestorm.cx/fswebcam/files +FSWEBCAM_VERSION = e9f8094b6a3d1a49f99b2abec4e6ab4df33e2e33 +FSWEBCAM_SITE = $(call github,fsphil,fswebcam,$(FSWEBCAM_VERSION)) FSWEBCAM_LICENSE = GPL-2.0 FSWEBCAM_LICENSE_FILES = LICENSE diff --git a/package/ftop/ftop.hash b/package/ftop/ftop.hash index ca8dc827ef..cf0d99dbe2 100644 --- a/package/ftop/ftop.hash +++ b/package/ftop/ftop.hash @@ -3,3 +3,4 @@ md5 57c68b6e7431f4219d9eddaebcb395da ftop-1.0.tar.bz2 sha1 d3ef1b74825f50c7c442d299b29d23c2478f199b ftop-1.0.tar.bz2 # Locally computed sha256 3a705f4f291384344cd32c3dd5f5f6a7cd7cea7624c83cb7e923966dbcd47f82 ftop-1.0.tar.bz2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/fwts/0001-build-do-not-use-Werror.patch b/package/fwts/0001-build-do-not-use-Werror.patch index 2dbf5313d5..c3ea2efc22 100644 --- a/package/fwts/0001-build-do-not-use-Werror.patch +++ b/package/fwts/0001-build-do-not-use-Werror.patch @@ -10,6 +10,8 @@ newer versions that introduce new warnings. Remove use of -Werror. Signed-off-by: Erico Nunes +[Fabrice: updated for 19.09.00] +Signed-off-by: Fabrice Fontaine --- configure.ac | 2 +- src/Makefile.am | 2 +- @@ -36,11 +38,11 @@ index 52c637dd..d9d73f1c 100644 `pkg-config --silence-errors --cflags json` \ `pkg-config --silence-errors --cflags json-c` \ -pthread `pkg-config --cflags glib-2.0 gio-2.0` \ -- -Wall -Werror -Wextra -+ -Wall -Wextra +- -Wall -Werror -Wextra \ ++ -Wall -Wextra \ + -Wno-address-of-packed-member bin_PROGRAMS = fwts - diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am index 54de7f44..e129ed16 100644 --- a/src/lib/src/Makefile.am @@ -49,11 +51,11 @@ index 54de7f44..e129ed16 100644 `pkg-config --silence-errors --cflags json-c` \ `pkg-config --cflags glib-2.0 gio-2.0` \ -DDATAROOTDIR=\"$(datarootdir)\" \ -- -Wall -Werror -Wextra -+ -Wall -Wextra +- -Wall -Werror -Wextra \ ++ -Wall -Wextra \ + -Wno-address-of-packed-member pkglib_LTLIBRARIES = libfwts.la - diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am index aa37de55..4d5297cc 100644 --- a/src/utilities/Makefile.am diff --git a/package/fwts/Config.in b/package/fwts/Config.in index 94ac606366..269f065fd5 100644 --- a/package/fwts/Config.in +++ b/package/fwts/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_FWTS depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 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_MMU # libglib2 depends on BR2_USE_WCHAR # libglib2, libbsd depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libbsd depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h diff --git a/package/fwts/fwts.hash b/package/fwts/fwts.hash index c3f3b57801..6338077732 100644 --- a/package/fwts/fwts.hash +++ b/package/fwts/fwts.hash @@ -1,2 +1,5 @@ # Hash from: http://fwts.ubuntu.com/release/SHA256SUMS -sha256 7fcdcf3acecfb92510fcb2faef3ab0db66f639bf3f068cf77a4e0aebba036f93 fwts-V18.09.00.tar.gz +sha256 91075982d067deef86d2830d622c27ed5f5c0b04dfd712902343a67fee753bfd fwts-V19.09.00.tar.gz + +# Hash for license file +sha256 9cfdcde669bcdbd2eb640dca6ed3f9b5ae381d100ac208f9dca6e12e61ad639c debian/copyright diff --git a/package/fwts/fwts.mk b/package/fwts/fwts.mk index b29de2cf25..853f27af49 100644 --- a/package/fwts/fwts.mk +++ b/package/fwts/fwts.mk @@ -4,7 +4,8 @@ # ################################################################################ -FWTS_VERSION = V18.09.00 +FWTS_VERSION = 19.09.00 +FWTS_SOURCE = fwts-V$(FWTS_VERSION).tar.gz FWTS_SITE = http://fwts.ubuntu.com/release FWTS_STRIP_COMPONENTS = 0 FWTS_LICENSE = GPL-2.0, LGPL-2.1, Custom diff --git a/package/fwup/fwup.hash b/package/fwup/fwup.hash index 73bff448de..337883f9a8 100644 --- a/package/fwup/fwup.hash +++ b/package/fwup/fwup.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 20302dc96cef88438034e15551e178bb0652c28d99aa7ca5260100cb3bebbc2a fwup-v1.2.5.tar.gz +sha256 20302dc96cef88438034e15551e178bb0652c28d99aa7ca5260100cb3bebbc2a fwup-1.2.5.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/fwup/fwup.mk b/package/fwup/fwup.mk index be0b1d13b8..e1e5467765 100644 --- a/package/fwup/fwup.mk +++ b/package/fwup/fwup.mk @@ -4,8 +4,8 @@ # ################################################################################ -FWUP_VERSION = v1.2.5 -FWUP_SITE = $(call github,fhunleth,fwup,$(FWUP_VERSION)) +FWUP_VERSION = 1.2.5 +FWUP_SITE = $(call github,fhunleth,fwup,v$(FWUP_VERSION)) FWUP_LICENSE = Apache-2.0 FWUP_LICENSE_FILES = LICENSE FWUP_DEPENDENCIES = host-pkgconf libconfuse libarchive libsodium diff --git a/package/fxload/Config.in b/package/fxload/Config.in index 88cc6d1e5f..f4d6ef54f5 100644 --- a/package/fxload/Config.in +++ b/package/fxload/Config.in @@ -1,9 +1,5 @@ config BR2_PACKAGE_FXLOAD bool "fxload" - # Hits gcc PR63261 on Microblaze with debugging symbols - # enabled. Since this package is unlikely to be useful on - # Microblaze, just disable it on this architecture. - depends on !BR2_microblaze help This program is conveniently able to download firmware into FX, FX2, and FX2LP EZ-USB devices, as well as the original diff --git a/package/fxload/fxload.hash b/package/fxload/fxload.hash index 7febbccf1d..68a6ba8475 100644 --- a/package/fxload/fxload.hash +++ b/package/fxload/fxload.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 0cc8bfd2a7cbba2f68e0c5767477634922287943c91dd9fcf029fc8b9d577858 fxload-2008_10_13.tar.gz +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/package/fxload/fxload.mk b/package/fxload/fxload.mk index 94b11d0f1e..d3d654a4b4 100644 --- a/package/fxload/fxload.mk +++ b/package/fxload/fxload.mk @@ -9,8 +9,15 @@ FXLOAD_SITE = http://downloads.sourceforge.net/project/linux-hotplug/fxload/$(FX FXLOAD_LICENSE = GPL-2.0+ FXLOAD_LICENSE_FILES = COPYING +FXLOAD_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_63261),y) +FXLOAD_CFLAGS += -O0 +endif + define FXLOAD_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(FXLOAD_CFLAGS)" -C $(@D) all endef define FXLOAD_INSTALL_TARGET_CMDS diff --git a/package/gadgetfs-test/0001-fix-usb-ch9-include.patch b/package/gadgetfs-test/0001-fix-usb-ch9-include.patch deleted file mode 100644 index 3d7ce82b4f..0000000000 --- a/package/gadgetfs-test/0001-fix-usb-ch9-include.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8cf5909c6f8e0a892155dea14a07adfad445762d Mon Sep 17 00:00:00 2001 -From: Haavard Skinnemoen -Date: Sat, 23 Jun 2007 18:34:09 +0200 -Subject: [PATCH] Include usb/ch9.h instead of usb_ch9.h - -Signed-off-by: Haavard Skinnemoen ---- - usb.c | 2 +- - usbstring.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/usb.c b/usb.c -index ea6c7de..b161154 100644 ---- a/usb.c -+++ b/usb.c -@@ -35,7 +35,7 @@ - - #include - #include --#include -+#include - - #ifdef AIO - /* this aio code works with libaio-0.3.106 */ -diff --git a/usbstring.c b/usbstring.c -index 4bf2965..993acc2 100644 ---- a/usbstring.c -+++ b/usbstring.c -@@ -11,7 +11,7 @@ - #include - - #include --#include -+#include - - #include "usbstring.h" - --- -1.5.2.2 - diff --git a/package/gadgetfs-test/0002-rename-include-usb_gadgetfs-to-usb-dir.patch b/package/gadgetfs-test/0002-rename-include-usb_gadgetfs-to-usb-dir.patch deleted file mode 100644 index ffc2da377d..0000000000 --- a/package/gadgetfs-test/0002-rename-include-usb_gadgetfs-to-usb-dir.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -upr gadgetfs-test-orig/usb.c gadgetfs-test/usb.c ---- gadgetfs-test-orig/usb.c 2007-07-18 14:38:38.000000000 +0200 -+++ gadgetfs-test/usb.c 2007-07-18 15:33:04.000000000 +0200 -@@ -34,7 +34,7 @@ - #include - - #include --#include -+#include - #include - - #ifdef AIO diff --git a/package/gadgetfs-test/Config.in b/package/gadgetfs-test/Config.in deleted file mode 100644 index ca14c91b41..0000000000 --- a/package/gadgetfs-test/Config.in +++ /dev/null @@ -1,19 +0,0 @@ -config BR2_PACKAGE_GADGETFS_TEST - bool "gadgetfs-test" - depends on BR2_TOOLCHAIN_HAS_THREADS - help - Test program for gadgetfs from linux-usb.org - -if BR2_PACKAGE_GADGETFS_TEST - -config BR2_PACKAGE_GADGETFS_TEST_USE_AIO - bool "use asynchronous i/o" - select BR2_PACKAGE_LIBAIO - help - Select this to have gadgetfs-test do asynchronous I/O using - the libaio library. - -endif - -comment "gadgetfs-test needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/gadgetfs-test/gadgetfs-test.hash b/package/gadgetfs-test/gadgetfs-test.hash deleted file mode 100644 index b96190a574..0000000000 --- a/package/gadgetfs-test/gadgetfs-test.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated -sha256 bd8ebcf7ce86f4b022a4e7ba6b1cc16ffc4022bb58c1910fe4ac96c88217e7ec gadgetfs-test.tar.bz2 diff --git a/package/gadgetfs-test/gadgetfs-test.mk b/package/gadgetfs-test/gadgetfs-test.mk deleted file mode 100644 index ca47738f5c..0000000000 --- a/package/gadgetfs-test/gadgetfs-test.mk +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# -# gadgetfs-test -# -################################################################################ - -GADGETFS_TEST_SOURCE = gadgetfs-test.tar.bz2 -GADGETFS_TEST_SITE = http://mirror.egtvedt.no/avr32linux.org/twiki/pub/Main/GadgetFsTest - -GADGETFS_TEST_MAKEOPTS = CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" - -ifeq ($(BR2_PACKAGE_GADGETFS_TEST_USE_AIO),y) -GADGETFS_TEST_DEPENDENCIES = libaio -GADGETFS_TEST_MAKEOPTS += USE_AIO=y -endif - -define GADGETFS_TEST_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(GADGETFS_TEST_MAKEOPTS) -endef - -define GADGETFS_TEST_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) prefix=/usr install -endef - -$(eval $(generic-package)) diff --git a/package/gamin/gamin.hash b/package/gamin/gamin.hash index 0a43706193..e28660dded 100644 --- a/package/gamin/gamin.hash +++ b/package/gamin/gamin.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 28085f0ae8be10eab582ff186af4fb0be92cc6c62b5cc19cd09b295c7c2899a1 gamin-0.1.10.tar.gz +sha256 28085f0ae8be10eab582ff186af4fb0be92cc6c62b5cc19cd09b295c7c2899a1 gamin-0.1.10.tar.gz +sha256 7f9ffc38883325f011f331a9d6074ffd0175fbcecd57f69c577fb3845f333876 COPYING diff --git a/package/gauche/0001-fix-so-suffix.patch b/package/gauche/0001-fix-so-suffix.patch deleted file mode 100644 index b65e269981..0000000000 --- a/package/gauche/0001-fix-so-suffix.patch +++ /dev/null @@ -1,31 +0,0 @@ -With uclibc or musl configuration, $host does not match to '*-linux-gnu*'. -I touch configure directly instead of configure.ac because autoreconf -failed by version mismatch of autotools. - -Signed-off-by: Hiroshi Kawashima - -diff -ur a/configure b/configure ---- a/configure 2014-07-20 15:15:05.000000000 +0900 -+++ b/configure 2015-10-20 21:52:32.791442291 +0900 -@@ -6843,7 +6843,7 @@ - SHLIB_MAIN_LDFLAGS="" - SHLIB_OK=ok - ;; -- *-linux-gnu*|*-*-gnu*|*freebsd*|*dragonfly*) -+ *-linux-*|*-*-gnu*|*freebsd*|*dragonfly*) - SHLIB_SO_CFLAGS="-fPIC" - SHLIB_SO_LDFLAGS="$rpath -shared -o" - SHLIB_SO_SUFFIX="so" - -diff -ur a/configure.ac b/configure.ac ---- a/configure.ac 2015-10-21 21:33:17.370000200 +0900 -+++ b/configure.ac 2015-10-21 21:33:39.784110527 +0900 -@@ -572,7 +572,7 @@ - SHLIB_MAIN_LDFLAGS="" - SHLIB_OK=ok - ;; -- *-linux-gnu*|*-*-gnu*|*freebsd*|*dragonfly*) -+ *-linux-*|*-*-gnu*|*freebsd*|*dragonfly*) - SHLIB_SO_CFLAGS="-fPIC" - SHLIB_SO_LDFLAGS="$rpath -shared -o" - SHLIB_SO_SUFFIX="so" diff --git a/package/gauche/0002-gc-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch b/package/gauche/0002-gc-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch deleted file mode 100644 index 6cc065693f..0000000000 --- a/package/gauche/0002-gc-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch +++ /dev/null @@ -1,62 +0,0 @@ -gc/configure.ac: add check for NO_GETCONTEXT definition - -This patch is ported from bdwgc package. Since Gauche uses an internal -copy of the boehm gc code, it is affected by the same problem. - -Both configure and configure.ac are modified because autoreconf fails -due to an incompatibility with the version of the autotools used by -Buildroot. - -Signed-off-by: Hiroshi Kawashima - -Original credits of patch in bdwgc package: -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 - -diff -ur a/gc/configure b/gc/configure ---- a/gc/configure 2015-11-12 21:41:02.394822056 +0900 -+++ b/gc/configure 2015-11-12 22:04:14.655157423 +0900 -@@ -16153,6 +16153,23 @@ - $as_echo "$ac_cv_fno_strict_aliasing" >&6; } - fi - -+# Check for getcontext (uClibc can be configured without it, for example) -+for ac_func in getcontext -+do : -+ ac_fn_c_check_func "$LINENO" "getcontext" "ac_cv_func_getcontext" -+if test "x$ac_cv_func_getcontext" = xyes; then : -+ cat >>confdefs.h <<_ACEOF -+#define HAVE_GETCONTEXT 1 -+_ACEOF -+ -+fi -+done -+ -+if test "$ac_cv_func_getcontext" = "no"; then : -+ CFLAGS="$CFLAGS -DNO_GETCONTEXT" -+ CPPFLAGS="$CPPFLAGS -DNO_GETCONTEXT" -+fi -+ - case "$host" in - # While IRIX 6 has libdl for the O32 and N32 ABIs, it's missing for N64 - # and unnecessary everywhere. -diff -ur a/gc/configure.ac b/gc/configure.ac ---- a/gc/configure.ac 2015-11-12 22:31:44.851510997 +0900 -+++ b/gc/configure.ac 2015-11-12 22:33:39.292191227 +0900 -@@ -459,6 +459,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/gauche/0003-Fix-missing-libc-version.h-build-error-uClibc-x86-_6.patch b/package/gauche/0003-Fix-missing-libc-version.h-build-error-uClibc-x86-_6.patch deleted file mode 100644 index 61a3f1aadb..0000000000 --- a/package/gauche/0003-Fix-missing-libc-version.h-build-error-uClibc-x86-_6.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 4b9692c93d658015087f19016b2bd0c9dfbccee6 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 28 May 2017 20:21:09 +0200 -Subject: [PATCH] Fix 'missing libc-version.h' build error (uClibc/x86[_64]) - (fix commit 3d34255) - -uClibc defines __GLIBC__ but does not contain libc-version.h file. - -* include/private/gcconfig.h [(I386 || X86_64) && LINUX && __GLIBC__] -(GLIBC_2_19_TSX_BUG): Do not define (and do not include -gnu/libc-version.h) if __UCLIBC__. - -[baruch: cherry pick from upstream bdwgc commit 047230b71d42140] -Signed-off-by: Baruch Siach ---- -Upstream status: patch applied to bdwgc; will propagate to gauche on the next -synch of its bundled bdwgc - - gc/include/private/gcconfig.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gc/include/private/gcconfig.h b/gc/include/private/gcconfig.h -index 80920e5af570..f063664c3f52 100644 ---- a/gc/include/private/gcconfig.h -+++ b/gc/include/private/gcconfig.h -@@ -1420,7 +1420,7 @@ - # define GC_PREFETCH_FOR_WRITE(x) \ - __asm__ __volatile__ ("prefetchw %0" : : "m"(*(char *)(x))) - # endif --# if defined(__GLIBC__) -+# if defined(__GLIBC__) && !defined(__UCLIBC__) - /* Workaround lock elision implementation for some glibc. */ - # define GLIBC_2_19_TSX_BUG - # include /* for gnu_get_libc_version() */ -@@ -2431,7 +2431,7 @@ - /* FIXME: This seems to be fixed in GLibc v2.14. */ - # define GETCONTEXT_FPU_EXCMASK_BUG - # endif --# if defined(__GLIBC__) -+# if defined(__GLIBC__) && !defined(__UCLIBC__) - /* Workaround lock elision implementation for some glibc. */ - # define GLIBC_2_19_TSX_BUG - # include /* for gnu_get_libc_version() */ --- -2.11.0 - diff --git a/package/gauche/0004-rfc-needs-srfi.patch b/package/gauche/0004-rfc-needs-srfi.patch deleted file mode 100644 index 8b83b7872b..0000000000 --- a/package/gauche/0004-rfc-needs-srfi.patch +++ /dev/null @@ -1,35 +0,0 @@ -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/gauche/gauche.hash b/package/gauche/gauche.hash index 8f45ef997b..dea23c1e33 100644 --- a/package/gauche/gauche.hash +++ b/package/gauche/gauche.hash @@ -1,5 +1,6 @@ # From https://sourceforge.net/projects/gauche/files/Gauche/ -sha1 c3e1ea21f3acc66fd26eced117caab3f86531db4 Gauche-0.9.5.tgz -md5 8bac7cbd99a91f6f2c037ac6988db14d Gauche-0.9.5.tgz +sha1 ad5e15021764b733ec913cca8b77c9a53d4ee997 Gauche-0.9.9.tgz +md5 20d8ed835ae0bc97cceed78a71f9857b Gauche-0.9.9.tgz # Locally calculated -sha256 4c8a53213de112708bbda5fa9648c21497d43ebf809ed5b32b15f21266b4e73c Gauche-0.9.5.tgz +sha256 4ca9325322a7efadb9680d156eb7b53521321c9ca4955c4cbe738bc2e1d7f7fb Gauche-0.9.9.tgz +sha256 13cb582677dbcdc5b34313c59b4a014e74ef2f5fd80e514a0bd98fd8a4e45bed COPYING diff --git a/package/gauche/gauche.mk b/package/gauche/gauche.mk index 0b4185f5bf..2520379369 100644 --- a/package/gauche/gauche.mk +++ b/package/gauche/gauche.mk @@ -4,16 +4,28 @@ # ################################################################################ -GAUCHE_VERSION = 0.9.5 +GAUCHE_VERSION = 0.9.9 GAUCHE_SOURCE = Gauche-$(GAUCHE_VERSION).tgz GAUCHE_SITE = http://downloads.sourceforge.net/project/gauche/Gauche GAUCHE_LICENSE = BSD-3-Clause, Boehm-gc, SRFI (srfi-11.scm), reload (reload.scm) GAUCHE_LICENSE_FILES = COPYING GAUCHE_DEPENDENCIES = host-gauche +# We're patching configure.ac +GAUCHE_AUTORECONF = YES HOST_GAUCHE_CONF_OPTS = --without-zlib GAUCHE_CONF_OPTS = --without-libatomic-ops +# Enable embedded axTLS +GAUCHE_TLS_LIBS = axtls + +ifeq ($(BR2_PACKAGE_MBEDTLS),y) +GAUCHE_TLS_LIBS += mbedtls +GAUCHE_DEPENDENCIES += mbedtls +endif + +GAUCHE_CONF_OPTS += --with-tls="$(GAUCHE_TLS_LIBS)" + ifeq ($(BR2_PACKAGE_ZLIB),y) GAUCHE_CONF_OPTS += --with-zlib=$(STAGING_DIR) GAUCHE_DEPENDENCIES += zlib diff --git a/package/gawk/gawk.hash b/package/gawk/gawk.hash index d8dd27c17c..91e506607e 100644 --- a/package/gawk/gawk.hash +++ b/package/gawk/gawk.hash @@ -1,5 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/gawk/gawk-4.2.1.tar.xz.sig -sha256 d1119785e746d46a8209d28b2de404a57f983aa48670f4e225531d3bdc175551 gawk-4.2.1.tar.xz +# https://ftp.gnu.org/gnu/gawk/gawk-5.1.0.tar.xz.sig +# Primary key fingerprint: D196 7C63 7887 1317 7D86 1ED7 DF59 7815 937E C0D2 +sha256 cf5fea4ac5665fd5171af4716baab2effc76306a9572988d5ba1078f196382bd gawk-5.1.0.tar.xz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gawk/gawk.mk b/package/gawk/gawk.mk index 7c93aefed6..16906f6f93 100644 --- a/package/gawk/gawk.mk +++ b/package/gawk/gawk.mk @@ -4,7 +4,7 @@ # ################################################################################ -GAWK_VERSION = 4.2.1 +GAWK_VERSION = 5.1.0 GAWK_SOURCE = gawk-$(GAWK_VERSION).tar.xz GAWK_SITE = $(BR2_GNU_MIRROR)/gawk GAWK_DEPENDENCIES = host-gawk diff --git a/package/gcc/4.9.4/0001-ARM-PR-target-68059-libgcc-should-not-use-__write-fo.patch b/package/gcc/4.9.4/0001-ARM-PR-target-68059-libgcc-should-not-use-__write-fo.patch deleted file mode 100644 index fd2bc69538..0000000000 --- a/package/gcc/4.9.4/0001-ARM-PR-target-68059-libgcc-should-not-use-__write-fo.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 80bc14a5249da7054b716229206b453f339b4a5e Mon Sep 17 00:00:00 2001 -From: nsz -Date: Mon, 23 Nov 2015 15:17:55 +0000 -Subject: [PATCH] [ARM] PR target/68059 libgcc should not use __write for - printing fatal error - -libgcc/ - PR target/68059 - * config/arm/linux-atomic-64bit.c (__write): Rename to... - (write): ...this and fix the return type. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230762 138bc75d-0d04-0410-961f-82ee72b054a4 - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - libgcc/config/arm/linux-atomic-64bit.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libgcc/config/arm/linux-atomic-64bit.c b/libgcc/config/arm/linux-atomic-64bit.c -index 5b8c6e2..9078673 100644 ---- a/libgcc/config/arm/linux-atomic-64bit.c -+++ b/libgcc/config/arm/linux-atomic-64bit.c -@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - kernels; we check for that in an init section and bail out rather - unceremoneously. */ - --extern unsigned int __write (int fd, const void *buf, unsigned int count); -+extern int write (int fd, const void *buf, unsigned int count); - extern void abort (void); - - /* Kernel helper for compare-and-exchange. */ -@@ -56,7 +56,7 @@ static void __check_for_sync8_kernelhelper (void) - for the user - I'm not sure I can rely on much else being - available at this point, so do the same as generic-morestack.c - write () and abort (). */ -- __write (2 /* stderr. */, err, sizeof (err)); -+ write (2 /* stderr. */, err, sizeof (err)); - abort (); - } - }; --- -2.10.2 - diff --git a/package/gcc/4.9.4/0002-m68k-coldfire-pr68467.patch b/package/gcc/4.9.4/0002-m68k-coldfire-pr68467.patch deleted file mode 100644 index d701ab6878..0000000000 --- a/package/gcc/4.9.4/0002-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-4.9.4.orig/gcc/config/m68k/m68k.c gcc-4.9.4/gcc/config/m68k/m68k.c ---- gcc-4.9.4.orig/gcc/config/m68k/m68k.c 2014-02-27 12:10:55.000000000 +0100 -+++ gcc-4.9.4/gcc/config/m68k/m68k.c 2018-02-17 21:28:53.430538916 +0100 -@@ -166,6 +166,8 @@ - const_tree, bool); - static bool m68k_cannot_force_const_mem (enum machine_mode mode, rtx x); - static bool m68k_output_addr_const_extra (FILE *, rtx); -+static machine_mode m68k_promote_function_mode (const_tree, machine_mode, -+ int *, const_tree, int); - static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED; - - /* Initialize the GCC target structure. */ -@@ -308,6 +310,9 @@ - #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL - #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128 - -+#undef TARGET_PROMOTE_FUNCTION_MODE -+#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode -+ - static const struct attribute_spec m68k_attribute_table[] = - { - /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler, -@@ -6527,4 +6532,20 @@ - == m68k_fk_interrupt_handler)); - } - -+/* Implement TARGET_PROMOTE_FUNCTION_MODE. */ -+ -+static machine_mode -+m68k_promote_function_mode (const_tree type, machine_mode mode, -+ int *punsignedp ATTRIBUTE_UNUSED, -+ const_tree fntype ATTRIBUTE_UNUSED, -+ int for_return) -+{ -+ /* Promote libcall arguments narrower than int to match the normal C -+ ABI (for which promotions are handled via -+ TARGET_PROMOTE_PROTOTYPES). */ -+ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode)) -+ return SImode; -+ return mode; -+} -+ - #include "gt-m68k.h" diff --git a/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 deleted file mode 100644 index 5b4c05a719..0000000000 --- a/package/gcc/4.9.4/0003-libsanitizer-Use-pre-computed-size.patch +++ /dev/null @@ -1,71 +0,0 @@ -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/4.9.4/100-uclibc-conf.patch b/package/gcc/4.9.4/100-uclibc-conf.patch deleted file mode 100644 index d56bf0a194..0000000000 --- a/package/gcc/4.9.4/100-uclibc-conf.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: gcc-4.8.0/contrib/regression/objs-gcc.sh -=================================================================== ---- gcc-4.8.0.orig/contrib/regression/objs-gcc.sh 2009-04-09 17:00:19.000000000 +0200 -+++ gcc-4.8.0/contrib/regression/objs-gcc.sh 2013-03-23 17:39:04.000000000 +0100 -@@ -106,6 +106,10 @@ - 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 diff --git a/package/gcc/4.9.4/1000-powerpc-link-with-math-lib.patch.conditional b/package/gcc/4.9.4/1000-powerpc-link-with-math-lib.patch.conditional deleted file mode 100644 index 5e0484fbb4..0000000000 --- a/package/gcc/4.9.4/1000-powerpc-link-with-math-lib.patch.conditional +++ /dev/null @@ -1,122 +0,0 @@ -http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html - -On glibc the libc.so carries a copy of the math function copysignl() but -on uClibc math functions like copysignl() live in libm. Since libgcc_s -contains unresolved symbols, any attempt to link against libgcc_s -without explicitely specifying -lm fails, resulting in a broken -bootstrap of the compiler. - -Forward port to gcc 4.5.1 by Gustavo Zacarias - ---- - libgcc/Makefile.in | 4 +++- - libgcc/configure | 32 ++++++++++++++++++++++++++++++++ - libgcc/configure.ac | 21 +++++++++++++++++++++ - 3 files changed, 56 insertions(+), 1 deletion(-) - -Index: b/libgcc/Makefile.in -=================================================================== ---- a/libgcc/Makefile.in -+++ b/libgcc/Makefile.in -@@ -42,6 +42,7 @@ - enable_vtable_verify = @enable_vtable_verify@ - enable_decimal_float = @enable_decimal_float@ - fixed_point = @fixed_point@ -+LIBGCC_LIBM = @LIBGCC_LIBM@ - - host_noncanonical = @host_noncanonical@ - target_noncanonical = @target_noncanonical@ -@@ -943,9 +944,10 @@ - @multilib_dir@,$(MULTIDIR),$(subst \ - @shlib_objs@,$(objects) libgcc.a,$(subst \ - @shlib_base_name@,libgcc_s,$(subst \ -+ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \ - @shlib_map_file@,$(mapfile),$(subst \ - @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \ -- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))) -+ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))) - - libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) - # @multilib_flags@ is still needed because this may use -Index: b/libgcc/configure -=================================================================== ---- a/libgcc/configure -+++ b/libgcc/configure -@@ -564,6 +564,7 @@ - tmake_file - sfp_machine_header - set_use_emutls -+LIBGCC_LIBM - set_have_cc_tls - vis_hide - fixed_point -@@ -4535,6 +4536,37 @@ - fi - fi - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+echo "$as_me:$LINENO: checking for library containing copysignl" >&5 -+echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6 -+if test "${libgcc_cv_copysignl_lib+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ -+fi -+echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5 -+echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6 -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac - - # Conditionalize the makefile for this target machine. - tmake_file_= -Index: b/libgcc/configure.ac -=================================================================== ---- a/libgcc/configure.ac -+++ b/libgcc/configure.ac -@@ -357,6 +357,27 @@ - fi - AC_SUBST(set_have_cc_tls) - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+AC_CACHE_CHECK -+ libgcc_cv_copysignl_lib, -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ ]) -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac -+AC_SUBST(LIBGCC_LIBM) -+ - # See if we have emulated thread-local storage. - GCC_CHECK_EMUTLS - set_use_emutls= diff --git a/package/gcc/4.9.4/111-pr65730.patch b/package/gcc/4.9.4/111-pr65730.patch deleted file mode 100644 index 8a41fd2a10..0000000000 --- a/package/gcc/4.9.4/111-pr65730.patch +++ /dev/null @@ -1,34 +0,0 @@ -From b9a7775674d91c7af8043a83211ffeaa576327d7 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 10 Apr 2015 17:46:30 +0300 -Subject: [PATCH] Fix PR target/65730 - -2015-05-20 Max Filippov -gcc/ - * config/xtensa/xtensa.c (init_alignment_context): Replace MULT - by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT). - -Signed-off-by: Max Filippov ---- -Backported from: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223452 -Changes to ChangeLog are dropped. - - gcc/config/xtensa/xtensa.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -Index: b/gcc/config/xtensa/xtensa.c -=================================================================== ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -1436,8 +1436,9 @@ - if (ac->shift != NULL_RTX) - { - /* Shift is the byte count, but we need the bitcount. */ -- ac->shift = expand_simple_binop (SImode, MULT, ac->shift, -- GEN_INT (BITS_PER_UNIT), -+ gcc_assert (exact_log2 (BITS_PER_UNIT) >= 0); -+ ac->shift = expand_simple_binop (SImode, ASHIFT, ac->shift, -+ GEN_INT (exact_log2 (BITS_PER_UNIT)), - NULL_RTX, 1, OPTAB_DIRECT); - ac->modemask = expand_simple_binop (SImode, ASHIFT, - GEN_INT (GET_MODE_MASK (mode)), diff --git a/package/gcc/4.9.4/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch b/package/gcc/4.9.4/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch deleted file mode 100644 index bb77c4b9ef..0000000000 --- a/package/gcc/4.9.4/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 9bf6066d588632dab9f78932df15b5b4140f31f3 Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Fri, 6 Nov 2015 14:27:23 +0100 -Subject: [PATCH] gcc/config.gcc: fix typo for powerpc e6500 cpu_is_64bit - -Otherwise it is not recognized as a 64-bit powerpc and gcc will not generate -64-bit binaries by default. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - gcc/config.gcc | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -Index: b/gcc/config.gcc -=================================================================== ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -441,7 +441,7 @@ - extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h" - need_64bit_hwint=yes - case x$with_cpu in -- xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500) -+ xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500) - cpu_is_64bit=yes - ;; - esac diff --git a/package/gcc/4.9.4/130-pr43538.patch b/package/gcc/4.9.4/130-pr43538.patch deleted file mode 100644 index 19e57bb059..0000000000 --- a/package/gcc/4.9.4/130-pr43538.patch +++ /dev/null @@ -1,25 +0,0 @@ -From c037df1be41f8daf4d581d7ffa4ec8cfa640bccf Mon Sep 17 00:00:00 2001 -From: glisse -Date: Fri, 25 Apr 2014 08:03:08 +0000 -Subject: [PATCH] 2014-04-25 Marc Glisse - - PR target/43538 - * mt-gnu: Don't reset CXXFLAGS_FOR_TARGET. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209784 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Max Filippov ---- - config/mt-gnu | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config/mt-gnu b/config/mt-gnu -index 15bf417..5c696f5 100644 ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += -D_GNU_SOURCE --- -2.1.4 - diff --git a/package/gcc/4.9.4/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch b/package/gcc/4.9.4/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch deleted file mode 100644 index 55f32288f5..0000000000 --- a/package/gcc/4.9.4/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 3c536954a67a883630f4a7513a27f02a892c3dcb Mon Sep 17 00:00:00 2001 -From: Evgeniy Stepanov -Date: Tue, 21 Oct 2014 21:08:13 +0000 -Subject: [PATCH] [sanitizer] Fix build with _FILE_OFFSET_BITS=64. - -Sanitizer source is not affected by _FILE_OFFSET_BITS in general, -but this one file must be built with 32-bit off_t. More details in the code. - -git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@220328 91177308-0d34-0410-b5e6-96231b3b80d8 -Signed-off-by: Max Filippov ---- - lib/sanitizer_common/sanitizer_platform_limits_posix.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -index bbc1108..fc09522 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -@@ -13,7 +13,15 @@ - - #include "sanitizer_platform.h" - #if SANITIZER_LINUX || SANITIZER_MAC -+// Tests in this file assume that off_t-dependent data structures match the -+// libc ABI. For example, struct dirent here is what readdir() function (as -+// exported from libc) returns, and not the user-facing "dirent", which -+// depends on _FILE_OFFSET_BITS setting. -+// To get this "true" dirent definition, we undefine _FILE_OFFSET_BITS below. -+#ifdef _FILE_OFFSET_BITS -+#undef _FILE_OFFSET_BITS -+#endif - - #include "sanitizer_internal_defs.h" - #include "sanitizer_platform_limits_posix.h" - --- -2.1.4 - diff --git a/package/gcc/4.9.4/301-missing-execinfo_h.patch b/package/gcc/4.9.4/301-missing-execinfo_h.patch deleted file mode 100644 index 00efda24aa..0000000000 --- a/package/gcc/4.9.4/301-missing-execinfo_h.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: gcc-4.8.0/boehm-gc/include/gc.h -=================================================================== ---- gcc-4.8.0.orig/boehm-gc/include/gc.h 2007-04-23 23:10:09.000000000 +0200 -+++ gcc-4.8.0/boehm-gc/include/gc.h 2013-03-23 17:39:20.000000000 +0100 -@@ -503,7 +503,7 @@ - #if defined(__linux__) || defined(__GLIBC__) - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/package/gcc/4.9.4/810-arm-softfloat-libgcc.patch b/package/gcc/4.9.4/810-arm-softfloat-libgcc.patch deleted file mode 100644 index 5efa7fd1bc..0000000000 --- a/package/gcc/4.9.4/810-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: b/gcc/config/arm/linux-elf.h -=================================================================== ---- a/gcc/config/arm/linux-elf.h -+++ b/gcc/config/arm/linux-elf.h -@@ -60,7 +60,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" - -Index: b/libgcc/config/arm/t-linux -=================================================================== ---- 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. diff --git a/package/gcc/4.9.4/830-arm_unbreak_armv4t.patch b/package/gcc/4.9.4/830-arm_unbreak_armv4t.patch deleted file mode 100644 index 37f8f2a54d..0000000000 --- a/package/gcc/4.9.4/830-arm_unbreak_armv4t.patch +++ /dev/null @@ -1,13 +0,0 @@ -http://sourceware.org/ml/crossgcc/2008-05/msg00009.html - ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -45,7 +45,7 @@ - The ARM10TDMI core is the default for armv5t, so set - SUBTARGET_CPU_DEFAULT to achieve this. */ - #undef SUBTARGET_CPU_DEFAULT --#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi - - /* TARGET_BIG_ENDIAN_DEFAULT is set in - config.gcc for big endian configurations. */ diff --git a/package/gcc/4.9.4/840-microblaze-enable-dwarf-eh-support.patch b/package/gcc/4.9.4/840-microblaze-enable-dwarf-eh-support.patch deleted file mode 100644 index 03fc47f192..0000000000 --- a/package/gcc/4.9.4/840-microblaze-enable-dwarf-eh-support.patch +++ /dev/null @@ -1,166 +0,0 @@ -Fetched from Xilinx gcc git at https://github.com/Xilinx/gcc - -From 23c35173490ac2d6348a668dfc9c1a6eb62171f2 Mon Sep 17 00:00:00 2001 -From: "Edgar E. Iglesias" -Date: Mon, 18 Jun 2012 20:18:13 +0200 -Subject: [PATCH] [Patch, microblaze]: Enable DWARF exception handling support. - -Changelog - -2013-03-18 Edgar E. Iglesias - David Holsgrove - - * common/config/microblaze/microblaze-common.c: Remove - TARGET_EXCEPT_UNWIND_INFO definition. - * config/microblaze/microblaze-protos.h: Add - microblaze_eh_return prototype. - * gcc/config/microblaze/microblaze.c: (microblaze_must_save_register, - microblaze_expand_epilogue, microblaze_return_addr): Handle - calls_eh_return - (microblaze_eh_return): New function. - * gcc/config/microblaze/microblaze.h: Define RETURN_ADDR_OFFSET, - EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX, - ASM_PREFERRED_EH_DATA_FORMAT - * gcc/config/microblaze/microblaze.md: Define eh_return pattern. - -Signed-off-by: David Holsgrove -Signed-off-by: Edgar E. Iglesias ---- - gcc/common/config/microblaze/microblaze-common.c | 3 --- - gcc/config/microblaze/microblaze-protos.h | 1 + - gcc/config/microblaze/microblaze.c | 29 ++++++++++++++++++++---- - gcc/config/microblaze/microblaze.h | 15 ++++++++++++ - gcc/config/microblaze/microblaze.md | 11 +++++++++ - 5 files changed, 52 insertions(+), 7 deletions(-) - -Index: b/gcc/common/config/microblaze/microblaze-common.c -=================================================================== ---- a/gcc/common/config/microblaze/microblaze-common.c -+++ b/gcc/common/config/microblaze/microblaze-common.c -@@ -37,7 +37,4 @@ - #undef TARGET_OPTION_OPTIMIZATION_TABLE - #define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table - --#undef TARGET_EXCEPT_UNWIND_INFO --#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info -- - struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER; -Index: b/gcc/config/microblaze/microblaze-protos.h -=================================================================== ---- a/gcc/config/microblaze/microblaze-protos.h -+++ b/gcc/config/microblaze/microblaze-protos.h -@@ -54,6 +54,7 @@ - extern int symbol_mentioned_p (rtx); - extern int label_mentioned_p (rtx); - extern bool microblaze_cannot_force_const_mem (enum machine_mode, rtx); -+extern void microblaze_eh_return (rtx op0); - #endif /* RTX_CODE */ - - /* Declare functions in microblaze-c.c. */ -Index: b/gcc/config/microblaze/microblaze.c -=================================================================== ---- a/gcc/config/microblaze/microblaze.c -+++ b/gcc/config/microblaze/microblaze.c -@@ -1906,6 +1906,11 @@ - if (frame_pointer_needed && (regno == HARD_FRAME_POINTER_REGNUM)) - return 1; - -+ if (crtl->calls_eh_return -+ && regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) { -+ return 1; -+ } -+ - if (!crtl->is_leaf) - { - if (regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) -@@ -1933,6 +1938,13 @@ - return 1; - } - -+ if (crtl->calls_eh_return -+ && (regno == EH_RETURN_DATA_REGNO (0) -+ || regno == EH_RETURN_DATA_REGNO (1))) -+ { -+ return 1; -+ } -+ - return 0; - } - -@@ -2962,6 +2974,12 @@ - emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx)); - } - -+ if (crtl->calls_eh_return) -+ emit_insn (gen_addsi3 (stack_pointer_rtx, -+ stack_pointer_rtx, -+ gen_rtx_raw_REG (SImode, -+ MB_EH_STACKADJ_REGNUM))); -+ - emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST + - MB_ABI_SUB_RETURN_ADDR_REGNUM))); - } -@@ -3256,10 +3274,13 @@ - if (count != 0) - return NULL_RTX; - -- return gen_rtx_PLUS (Pmode, -- get_hard_reg_initial_val (Pmode, -- MB_ABI_SUB_RETURN_ADDR_REGNUM), -- GEN_INT (8)); -+ return get_hard_reg_initial_val (Pmode, -+ MB_ABI_SUB_RETURN_ADDR_REGNUM); -+} -+ -+void microblaze_eh_return (rtx op0) -+{ -+ emit_insn (gen_movsi(gen_rtx_MEM(Pmode, stack_pointer_rtx), op0)); - } - - /* Queue an .ident string in the queue of top-level asm statements. -Index: b/gcc/config/microblaze/microblaze.h -=================================================================== ---- a/gcc/config/microblaze/microblaze.h -+++ b/gcc/config/microblaze/microblaze.h -@@ -184,6 +184,21 @@ - #define INCOMING_RETURN_ADDR_RTX \ - gen_rtx_REG (VOIDmode, GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM) - -+/* Specifies the offset from INCOMING_RETURN_ADDR_RTX and the actual return PC. */ -+#define RETURN_ADDR_OFFSET (8) -+ -+/* Describe how we implement __builtin_eh_return. */ -+#define EH_RETURN_DATA_REGNO(N) (((N) < 2) ? MB_ABI_FIRST_ARG_REGNUM + (N) : INVALID_REGNUM) -+ -+#define MB_EH_STACKADJ_REGNUM MB_ABI_INT_RETURN_VAL2_REGNUM -+#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, MB_EH_STACKADJ_REGNUM) -+ -+/* Select a format to encode pointers in exception handling data. CODE -+ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is -+ true if the symbol may be affected by dynamic relocations. */ -+#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ -+ ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr) -+ - /* Use DWARF 2 debugging information by default. */ - #define DWARF2_DEBUGGING_INFO - #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG -Index: b/gcc/config/microblaze/microblaze.md -=================================================================== ---- a/gcc/config/microblaze/microblaze.md -+++ b/gcc/config/microblaze/microblaze.md -@@ -2261,4 +2261,15 @@ - (set_attr "mode" "SI") - (set_attr "length" "4")]) - -+; This is used in compiling the unwind routines. -+(define_expand "eh_return" -+ [(use (match_operand 0 "general_operand" ""))] -+ "" -+ " -+{ -+ microblaze_eh_return(operands[0]); -+ DONE; -+}") -+ - (include "sync.md") -+ diff --git a/package/gcc/4.9.4/850-libstdcxx-uclibc-c99.patch b/package/gcc/4.9.4/850-libstdcxx-uclibc-c99.patch deleted file mode 100644 index 533d01fad5..0000000000 --- a/package/gcc/4.9.4/850-libstdcxx-uclibc-c99.patch +++ /dev/null @@ -1,274 +0,0 @@ -Allow C99-depending features of libstdc++ with uClibc - -The libstdc++ code is fairly restrictive on how it checks for C99 -compatibility: it requires *complete* C99 support to enable certain -features. For example, uClibc provides a good number of C99 features, -but not C99 complex number support. For this reason, libstdc++ -completely disables many the standard C++ methods that can in fact -work because uClibc provides the necessary functions. - -This patch is similar and highly inspired from -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, but implemented in -a way that doesn't involve changing the configure.ac script, as -autoreconfiguring gcc is complicated. It simply relies on the fact -that uClibc defines the __UCLIBC__ definition. - -Signed-off-by: Thomas Petazzoni -[Gustavo: update for 4.9.3] - -Index: b/libstdc++-v3/config/locale/generic/c_locale.h -=================================================================== ---- a/libstdc++-v3/config/locale/generic/c_locale.h -+++ b/libstdc++-v3/config/locale/generic/c_locale.h -@@ -70,7 +70,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); -Index: b/libstdc++-v3/config/locale/gnu/c_locale.h -=================================================================== ---- a/libstdc++-v3/config/locale/gnu/c_locale.h -+++ b/libstdc++-v3/config/locale/gnu/c_locale.h -@@ -88,7 +88,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); -Index: b/libstdc++-v3/include/bits/basic_string.h -=================================================================== ---- a/libstdc++-v3/include/bits/basic_string.h -+++ b/libstdc++-v3/include/bits/basic_string.h -@@ -2843,7 +2843,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99) -+#if __cplusplus >= 201103L && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)) - - #include - -Index: b/libstdc++-v3/include/bits/locale_facets_nonio.tcc -=================================================================== ---- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc -+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc -@@ -572,7 +572,7 @@ - { - const locale __loc = __io.getloc(); - const ctype<_CharT>& __ctype = use_facet >(__loc); --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // First try a buffer perhaps big enough. - int __cs_size = 64; - char* __cs = static_cast(__builtin_alloca(__cs_size)); -Index: b/libstdc++-v3/include/bits/locale_facets.tcc -=================================================================== ---- a/libstdc++-v3/include/bits/locale_facets.tcc -+++ b/libstdc++-v3/include/bits/locale_facets.tcc -@@ -987,7 +987,7 @@ - char __fbuf[16]; - __num_base::_S_format_float(__io, __fbuf, __mod); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // First try a buffer perhaps big enough (most probably sufficient - // for non-ios_base::fixed outputs) - int __cs_size = __max_digits * 3; -Index: b/libstdc++-v3/include/c_compatibility/math.h -=================================================================== ---- a/libstdc++-v3/include/c_compatibility/math.h -+++ b/libstdc++-v3/include/c_compatibility/math.h -@@ -56,7 +56,7 @@ - using std::floor; - using std::fmod; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::fpclassify; - using std::isfinite; - using std::isinf; -Index: b/libstdc++-v3/include/c_compatibility/wchar.h -=================================================================== ---- a/libstdc++-v3/include/c_compatibility/wchar.h -+++ b/libstdc++-v3/include/c_compatibility/wchar.h -@@ -103,7 +103,7 @@ - using std::wmemset; - using std::wcsftime; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/c_global/cstdio -=================================================================== ---- a/libstdc++-v3/include/c_global/cstdio -+++ b/libstdc++-v3/include/c_global/cstdio -@@ -146,7 +146,7 @@ - using ::vsprintf; - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf -Index: b/libstdc++-v3/include/c_global/cstdlib -=================================================================== ---- a/libstdc++-v3/include/c_global/cstdlib -+++ b/libstdc++-v3/include/c_global/cstdlib -@@ -182,7 +182,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs -Index: b/libstdc++-v3/include/c_global/cwchar -=================================================================== ---- a/libstdc++-v3/include/c_global/cwchar -+++ b/libstdc++-v3/include/c_global/cwchar -@@ -232,7 +232,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll -@@ -289,7 +289,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/c_std/cstdio -=================================================================== ---- a/libstdc++-v3/include/c_std/cstdio -+++ b/libstdc++-v3/include/c_std/cstdio -@@ -144,7 +144,7 @@ - using ::vsprintf; - } // namespace std - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf -Index: b/libstdc++-v3/include/c_std/cstdlib -=================================================================== ---- a/libstdc++-v3/include/c_std/cstdlib -+++ b/libstdc++-v3/include/c_std/cstdlib -@@ -180,7 +180,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs -Index: b/libstdc++-v3/include/c_std/cwchar -=================================================================== ---- a/libstdc++-v3/include/c_std/cwchar -+++ b/libstdc++-v3/include/c_std/cwchar -@@ -228,7 +228,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll -Index: b/libstdc++-v3/include/ext/vstring.h -=================================================================== ---- a/libstdc++-v3/include/ext/vstring.h -+++ b/libstdc++-v3/include/ext/vstring.h -@@ -2680,7 +2680,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99)) -+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__))) - - #include - -Index: b/libstdc++-v3/include/tr1/cstdio -=================================================================== ---- a/libstdc++-v3/include/tr1/cstdio -+++ b/libstdc++-v3/include/tr1/cstdio -@@ -33,7 +33,7 @@ - - #include - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { -Index: b/libstdc++-v3/include/tr1/cstdlib -=================================================================== ---- a/libstdc++-v3/include/tr1/cstdlib -+++ b/libstdc++-v3/include/tr1/cstdlib -@@ -35,7 +35,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { -Index: b/libstdc++-v3/include/tr1/cwchar -=================================================================== ---- a/libstdc++-v3/include/tr1/cwchar -+++ b/libstdc++-v3/include/tr1/cwchar -@@ -52,7 +52,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/tr1/stdlib.h -=================================================================== ---- a/libstdc++-v3/include/tr1/stdlib.h -+++ b/libstdc++-v3/include/tr1/stdlib.h -@@ -33,7 +33,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - using std::tr1::atoll; - using std::tr1::strtoll; -Index: b/libstdc++-v3/src/c++11/debug.cc -=================================================================== ---- a/libstdc++-v3/src/c++11/debug.cc -+++ b/libstdc++-v3/src/c++11/debug.cc -@@ -788,7 +788,7 @@ - int __n __attribute__ ((__unused__)), - const char* __fmt, _Tp __s) const throw () - { --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - std::snprintf(__buf, __n, __fmt, __s); - #else - std::sprintf(__buf, __fmt, __s); diff --git a/package/gcc/4.9.4/860-cilk-wchar.patch b/package/gcc/4.9.4/860-cilk-wchar.patch deleted file mode 100644 index 1837405151..0000000000 --- a/package/gcc/4.9.4/860-cilk-wchar.patch +++ /dev/null @@ -1,56 +0,0 @@ -[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 ---- - libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - -Index: host-gcc-final-4.9.2/libcilkrts/include/cilk/reducer_min_max.h -=================================================================== ---- host-gcc-final-4.9.2.orig/libcilkrts/include/cilk/reducer_min_max.h -+++ host-gcc-final-4.9.2/libcilkrts/include/cilk/reducer_min_max.h -@@ -3154,7 +3154,9 @@ - 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) -@@ -3306,7 +3308,9 @@ - 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) -@@ -3432,7 +3436,9 @@ - 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) -@@ -3584,7 +3590,9 @@ - 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) diff --git a/package/gcc/4.9.4/870-xtensa-add-mauto-litpools-option.patch b/package/gcc/4.9.4/870-xtensa-add-mauto-litpools-option.patch deleted file mode 100644 index 98c7b3f32c..0000000000 --- a/package/gcc/4.9.4/870-xtensa-add-mauto-litpools-option.patch +++ /dev/null @@ -1,287 +0,0 @@ -From 6d852ffb43b111a39162135c95249e749c4e285b Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 6 Aug 2015 01:16:02 +0300 -Subject: [PATCH] xtensa: add -mauto-litpools option - -With support from assembler this option allows compiling huge functions, -where single literal pool at the beginning of a function may not be -reachable by L32R instructions at its end. - -Currently assembler --auto-litpools option cannot deal with literals -used from multiple locations separated by more than 256 KBytes of code. -Don't turn constants into literals, instead use MOVI instruction to load -them into registers and let the assembler turn them into literals as -necessary. - -2015-08-12 Max Filippov -gcc/ - * config/xtensa/constraints.md (define_constraint "Y"): New - constraint. - * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools. - * config/xtensa/linux.h (ASM_SPEC): Likewise. - * config/xtensa/predicates.md (move_operand): Match constants - and symbols in the presence of TARGET_AUTO_LITPOOLS. - * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow - immediate references to TLS data. - (xtensa_emit_move_sequence): Don't force constants to memory in - the presence of TARGET_AUTO_LITPOOLS. - (print_operand): Add 'y' format, same as default, but capable of - printing SF mode constants as well. - * config/xtensa/xtensa.md (movsi_internal, movhi_internal) - (movsf_internal): Add movi pattern that loads literal. - (movsf, movdf): Don't force constants to memory in the presence - of TARGET_AUTO_LITPOOLS. - (movdf_internal): Add 'Y' constraint. - * config/xtensa/xtensa.opt (mauto-litpools): New option. - -Signed-off-by: Max Filippov ---- -Backported from: r226828 -Changes to ChangeLogs and documentation are dropped. - - gcc/config/xtensa/constraints.md | 5 +++++ - gcc/config/xtensa/elf.h | 4 +++- - gcc/config/xtensa/linux.h | 4 +++- - gcc/config/xtensa/predicates.md | 3 ++- - gcc/config/xtensa/xtensa.c | 19 ++++++++++++++++++- - gcc/config/xtensa/xtensa.md | 35 +++++++++++++++++++---------------- - gcc/config/xtensa/xtensa.opt | 4 ++++ - 7 files changed, 54 insertions(+), 20 deletions(-) - -Index: b/gcc/config/xtensa/constraints.md -=================================================================== ---- a/gcc/config/xtensa/constraints.md -+++ b/gcc/config/xtensa/constraints.md -@@ -111,6 +111,11 @@ - (and (match_code "const_int") - (match_test "xtensa_mask_immediate (ival)"))) - -+(define_constraint "Y" -+ "A constant that can be used in relaxed MOVI instructions." -+ (and (match_code "const_int,const_double,const,symbol_ref,label_ref") -+ (match_test "TARGET_AUTO_LITPOOLS"))) -+ - ;; Memory constraints. Do not use define_memory_constraint here. Doing so - ;; causes reload to force some constants into the constant pool, but since - ;; the Xtensa constant pool can only be accessed with L32R instructions, it -Index: b/gcc/config/xtensa/elf.h -=================================================================== ---- a/gcc/config/xtensa/elf.h -+++ b/gcc/config/xtensa/elf.h -@@ -48,7 +48,9 @@ - %{mtarget-align:--target-align} \ - %{mno-target-align:--no-target-align} \ - %{mlongcalls:--longcalls} \ -- %{mno-longcalls:--no-longcalls}" -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" - - #undef LIB_SPEC - #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal" -Index: b/gcc/config/xtensa/linux.h -=================================================================== ---- a/gcc/config/xtensa/linux.h -+++ b/gcc/config/xtensa/linux.h -@@ -42,7 +42,9 @@ - %{mtarget-align:--target-align} \ - %{mno-target-align:--no-target-align} \ - %{mlongcalls:--longcalls} \ -- %{mno-longcalls:--no-longcalls}" -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - -Index: b/gcc/config/xtensa/predicates.md -=================================================================== ---- a/gcc/config/xtensa/predicates.md -+++ b/gcc/config/xtensa/predicates.md -@@ -142,7 +142,8 @@ - (match_test "GET_MODE_CLASS (mode) == MODE_INT - && xtensa_simm12b (INTVAL (op))")) - (and (match_code "const_int,const_double,const,symbol_ref,label_ref") -- (match_test "TARGET_CONST16 && CONSTANT_P (op) -+ (match_test "(TARGET_CONST16 || TARGET_AUTO_LITPOOLS) -+ && CONSTANT_P (op) - && GET_MODE_SIZE (mode) % UNITS_PER_WORD == 0"))))) - - ;; Accept the floating point constant 1 in the appropriate mode. -Index: b/gcc/config/xtensa/xtensa.c -=================================================================== ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -477,6 +477,9 @@ - { - int dst_regnum = xt_true_regnum (operands[0]); - -+ if (xtensa_tls_referenced_p (operands[1])) -+ return FALSE; -+ - /* The stack pointer can only be assigned with a MOVSP opcode. */ - if (dst_regnum == STACK_POINTER_REGNUM) - return (mode == SImode -@@ -1044,7 +1047,7 @@ - return 1; - } - -- if (! TARGET_CONST16) -+ if (! TARGET_AUTO_LITPOOLS && ! TARGET_CONST16) - { - src = force_const_mem (SImode, src); - operands[1] = src; -@@ -2428,6 +2431,20 @@ - } - break; - -+ case 'y': -+ if (GET_CODE (x) == CONST_DOUBLE && -+ GET_MODE (x) == SFmode) -+ { -+ REAL_VALUE_TYPE r; -+ long l; -+ REAL_VALUE_FROM_CONST_DOUBLE (r, x); -+ REAL_VALUE_TO_TARGET_SINGLE (r, l); -+ fprintf (file, "0x%08lx", l); -+ break; -+ } -+ -+ /* fall through */ -+ - default: - if (GET_CODE (x) == REG || GET_CODE (x) == SUBREG) - fprintf (file, "%s", reg_names[xt_true_regnum (x)]); -Index: b/gcc/config/xtensa/xtensa.md -=================================================================== ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -799,8 +799,8 @@ - }) - - (define_insn "movsi_internal" -- [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,W,a,a,U,*a,*A") -- (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,i,T,U,r,*A,*r"))] -+ [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,a,W,a,a,U,*a,*A") -+ (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,Y,i,T,U,r,*A,*r"))] - "xtensa_valid_move (SImode, operands)" - "@ - movi.n\t%0, %x1 -@@ -812,15 +812,16 @@ - mov\t%0, %1 - movsp\t%0, %1 - movi\t%0, %x1 -+ movi\t%0, %1 - const16\t%0, %t1\;const16\t%0, %b1 - %v1l32r\t%0, %1 - %v1l32i\t%0, %1 - %v0s32i\t%1, %0 - rsr\t%0, ACCLO - wsr\t%1, ACCLO" -- [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,load,load,store,rsr,wsr") -+ [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,move,load,load,store,rsr,wsr") - (set_attr "mode" "SI") -- (set_attr "length" "2,2,2,2,2,2,3,3,3,6,3,3,3,3,3")]) -+ (set_attr "length" "2,2,2,2,2,2,3,3,3,3,6,3,3,3,3,3")]) - - ;; 16-bit Integer moves - -@@ -834,21 +835,22 @@ - }) - - (define_insn "movhi_internal" -- [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,U,*a,*A") -- (match_operand:HI 1 "move_operand" "M,d,r,I,U,r,*A,*r"))] -+ [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,a,U,*a,*A") -+ (match_operand:HI 1 "move_operand" "M,d,r,I,Y,U,r,*A,*r"))] - "xtensa_valid_move (HImode, operands)" - "@ - movi.n\t%0, %x1 - mov.n\t%0, %1 - mov\t%0, %1 - movi\t%0, %x1 -+ movi\t%0, %1 - %v1l16ui\t%0, %1 - %v0s16i\t%1, %0 - rsr\t%0, ACCLO - wsr\t%1, ACCLO" -- [(set_attr "type" "move,move,move,move,load,store,rsr,wsr") -+ [(set_attr "type" "move,move,move,move,move,load,store,rsr,wsr") - (set_attr "mode" "HI") -- (set_attr "length" "2,2,3,3,3,3,3,3")]) -+ (set_attr "length" "2,2,3,3,3,3,3,3,3")]) - - ;; 8-bit Integer moves - -@@ -919,7 +921,7 @@ - (match_operand:SF 1 "general_operand" ""))] - "" - { -- if (!TARGET_CONST16 && CONSTANT_P (operands[1])) -+ if (!TARGET_CONST16 && !TARGET_AUTO_LITPOOLS && CONSTANT_P (operands[1])) - operands[1] = force_const_mem (SFmode, operands[1]); - - if ((!register_operand (operands[0], SFmode) -@@ -934,8 +936,8 @@ - }) - - (define_insn "movsf_internal" -- [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,W,a,a,U") -- (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,iF,T,U,r"))] -+ [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,a,W,a,a,U") -+ (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,Y,iF,T,U,r"))] - "((register_operand (operands[0], SFmode) - || register_operand (operands[1], SFmode)) - && !(FP_REG_P (xt_true_regnum (operands[0])) -@@ -950,13 +952,14 @@ - mov\t%0, %1 - wfr\t%0, %1 - rfr\t%0, %1 -+ movi\t%0, %y1 - const16\t%0, %t1\;const16\t%0, %b1 - %v1l32r\t%0, %1 - %v1l32i\t%0, %1 - %v0s32i\t%1, %0" -- [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,load,load,store") -+ [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,move,load,load,store") - (set_attr "mode" "SF") -- (set_attr "length" "3,3,3,2,2,2,3,3,3,6,3,3,3")]) -+ (set_attr "length" "3,3,3,2,2,2,3,3,3,3,6,3,3,3")]) - - (define_insn "*lsiu" - [(set (match_operand:SF 0 "register_operand" "=f") -@@ -997,7 +1000,7 @@ - (match_operand:DF 1 "general_operand" ""))] - "" - { -- if (CONSTANT_P (operands[1]) && !TARGET_CONST16) -+ if (CONSTANT_P (operands[1]) && !TARGET_CONST16 && !TARGET_AUTO_LITPOOLS) - operands[1] = force_const_mem (DFmode, operands[1]); - - if (!register_operand (operands[0], DFmode) -@@ -1008,8 +1011,8 @@ - }) - - (define_insn_and_split "movdf_internal" -- [(set (match_operand:DF 0 "nonimmed_operand" "=a,W,a,a,U") -- (match_operand:DF 1 "move_operand" "r,iF,T,U,r"))] -+ [(set (match_operand:DF 0 "nonimmed_operand" "=a,a,W,a,a,U") -+ (match_operand:DF 1 "move_operand" "r,Y,iF,T,U,r"))] - "register_operand (operands[0], DFmode) - || register_operand (operands[1], DFmode)" - "#" -Index: b/gcc/config/xtensa/xtensa.opt -=================================================================== ---- a/gcc/config/xtensa/xtensa.opt -+++ b/gcc/config/xtensa/xtensa.opt -@@ -38,6 +38,10 @@ - Target - Intersperse literal pools with code in the text section - -+mauto-litpools -+Target Report Mask(AUTO_LITPOOLS) -+Relax literals in assembler and place them automatically in the text section -+ - mserialize-volatile - Target Report Mask(SERIALIZE_VOLATILE) - -mno-serialize-volatile Do not serialize volatile memory references with MEMW instructions diff --git a/package/gcc/4.9.4/871-xtensa-reimplement-register-spilling.patch b/package/gcc/4.9.4/871-xtensa-reimplement-register-spilling.patch deleted file mode 100644 index abc7a08e8d..0000000000 --- a/package/gcc/4.9.4/871-xtensa-reimplement-register-spilling.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 05154174b369505238b759cf80d595d8cfc8c731 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Mon, 10 Aug 2015 21:35:20 +0300 -Subject: [PATCH 1/3] xtensa: reimplement register spilling - -Spilling windowed registers in userspace is much easier, more portable, -less error-prone and equally effective as in kernel. Now that register -spilling syscall is considered obsolete in the xtensa linux kernel -replace it with CALL12 followed by series of ENTRY in libgcc. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use - CALL12 followed by series of ENTRY to spill windowed registers. - (__xtensa_nonlocal_goto): Call __xtensa_libgcc_window_spill - instead of making linux spill syscall. - -Signed-off-by: Max Filippov ---- -Backported from: r226962 - - libgcc/config/xtensa/lib2funcs.S | 30 +++++++++++++++++++++++------- - 1 file changed, 23 insertions(+), 7 deletions(-) - -diff --git a/libgcc/config/xtensa/lib2funcs.S b/libgcc/config/xtensa/lib2funcs.S -index 3ac8c1d..2e678af 100644 ---- a/libgcc/config/xtensa/lib2funcs.S -+++ b/libgcc/config/xtensa/lib2funcs.S -@@ -33,10 +33,29 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - .global __xtensa_libgcc_window_spill - .type __xtensa_libgcc_window_spill,@function - __xtensa_libgcc_window_spill: -- entry sp, 32 -- movi a2, 0 -- syscall -+ entry sp, 48 -+#if XCHAL_NUM_AREGS > 16 -+ call12 1f -+ retw -+ .align 4 -+1: -+ .rept (XCHAL_NUM_AREGS - 24) / 12 -+ _entry sp, 48 -+ mov a12, a0 -+ .endr -+ _entry sp, 16 -+#if XCHAL_NUM_AREGS % 12 == 0 -+ mov a4, a4 -+#elif XCHAL_NUM_AREGS % 12 == 4 -+ mov a8, a8 -+#elif XCHAL_NUM_AREGS % 12 == 8 -+ mov a12, a12 -+#endif -+ retw -+#else -+ mov a8, a8 - retw -+#endif - .size __xtensa_libgcc_window_spill, .-__xtensa_libgcc_window_spill - - -@@ -58,10 +77,7 @@ __xtensa_nonlocal_goto: - entry sp, 32 - - /* Flush registers. */ -- mov a5, a2 -- movi a2, 0 -- syscall -- mov a2, a5 -+ call8 __xtensa_libgcc_window_spill - - /* Because the save area for a0-a3 is stored one frame below - the one identified by a2, the only way to restore those --- -1.8.1.4 - diff --git a/package/gcc/4.9.4/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch b/package/gcc/4.9.4/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch deleted file mode 100644 index f23a5c0737..0000000000 --- a/package/gcc/4.9.4/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch +++ /dev/null @@ -1,33 +0,0 @@ -From f66206679a0ad604f13673559f230160cd3d1189 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 14 Aug 2015 02:45:02 +0300 -Subject: [PATCH 2/3] xtensa: use unwind-dw2-fde-dip instead of unwind-dw2-fde - -This allows having exception cleanup code in binaries that don't -register their unwind tables. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/t-xtensa (LIB2ADDEH): Replace unwind-dw2-fde - with unwind-dw2-fde-dip. - -Signed-off-by: Max Filippov ---- -Backported from: r226963 - - libgcc/config/xtensa/t-xtensa | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libgcc/config/xtensa/t-xtensa b/libgcc/config/xtensa/t-xtensa -index 27399e6..66d0eb3 100644 ---- a/libgcc/config/xtensa/t-xtensa -+++ b/libgcc/config/xtensa/t-xtensa -@@ -13,4 +13,4 @@ LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3 _udivsi3 _umodsi3 \ - LIB2ADD = $(srcdir)/config/xtensa/lib2funcs.S - - LIB2ADDEH = $(srcdir)/config/xtensa/unwind-dw2-xtensa.c \ -- $(srcdir)/unwind-dw2-fde.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c -+ $(srcdir)/unwind-dw2-fde-dip.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c --- -1.8.1.4 - diff --git a/package/gcc/4.9.4/873-xtensa-fix-_Unwind_GetCFA.patch b/package/gcc/4.9.4/873-xtensa-fix-_Unwind_GetCFA.patch deleted file mode 100644 index dc405132cc..0000000000 --- a/package/gcc/4.9.4/873-xtensa-fix-_Unwind_GetCFA.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 15c7c4d39b317f0d902ef28fd43eca5c3369f891 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 15 Aug 2015 05:12:11 +0300 -Subject: [PATCH 3/3] xtensa: fix _Unwind_GetCFA - -Returning context->cfa in _Unwind_GetCFA makes CFA point one stack frame -higher than what was actually used by code at context->ra. This results -in invalid CFA value in signal frames and premature unwinding completion -in forced unwinding used by uClibc NPTL thread cancellation. -Returning context->sp from _Unwind_GetCFA makes all CFA values valid and -matching code that used them. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return - context->sp instead of context->cfa. - -Signed-off-by: Max Filippov ---- -Backported from: r226964 - - libgcc/config/xtensa/unwind-dw2-xtensa.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libgcc/config/xtensa/unwind-dw2-xtensa.c b/libgcc/config/xtensa/unwind-dw2-xtensa.c -index 35f7797..ef6b900 100644 ---- a/libgcc/config/xtensa/unwind-dw2-xtensa.c -+++ b/libgcc/config/xtensa/unwind-dw2-xtensa.c -@@ -130,7 +130,7 @@ _Unwind_GetGR (struct _Unwind_Context *context, int index) - _Unwind_Word - _Unwind_GetCFA (struct _Unwind_Context *context) - { -- return (_Unwind_Ptr) context->cfa; -+ return (_Unwind_Ptr) context->sp; - } - - /* Overwrite the saved value for register INDEX in CONTEXT with VAL. */ --- -1.8.1.4 - diff --git a/package/gcc/4.9.4/874-xtensa-add-uclinux-support.patch b/package/gcc/4.9.4/874-xtensa-add-uclinux-support.patch deleted file mode 100644 index 881aec09d9..0000000000 --- a/package/gcc/4.9.4/874-xtensa-add-uclinux-support.patch +++ /dev/null @@ -1,169 +0,0 @@ -From 70c2cb98fb129b4766b5da0f945dc41fd568c77a Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 22 Aug 2015 08:44:26 +0300 -Subject: [PATCH] xtensa: add uclinux support - -2015-10-03 Max Filippov -gcc/ - * config.gcc (xtensa*-*-uclinux*): New configuration. - * config/xtensa/uclinux.h: New file. - * config/xtensa/uclinux.opt: New file. - -libgcc/ - * config.host (xtensa*-*-uclinux*): New configuration. - -Signed-off-by: Max Filippov ---- -Backported from: r228450 - - gcc/config.gcc | 5 ++++ - gcc/config/xtensa/uclinux.h | 69 +++++++++++++++++++++++++++++++++++++++++++ - gcc/config/xtensa/uclinux.opt | 32 ++++++++++++++++++++ - libgcc/config.host | 5 ++++ - 4 files changed, 111 insertions(+) - create mode 100644 gcc/config/xtensa/uclinux.h - create mode 100644 gcc/config/xtensa/uclinux.opt - -Index: b/gcc/config.gcc -=================================================================== ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -2871,6 +2871,11 @@ - tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h" - tmake_file="${tmake_file} xtensa/t-xtensa" - ;; -+xtensa*-*-uclinux*) -+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h" -+ tmake_file="${tmake_file} xtensa/t-xtensa" -+ extra_options="${extra_options} xtensa/uclinux.opt" -+ ;; - am33_2.0-*-linux*) - tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h" - gas=yes gnu_ld=yes -Index: b/gcc/config/xtensa/uclinux.h -=================================================================== ---- /dev/null -+++ b/gcc/config/xtensa/uclinux.h -@@ -0,0 +1,69 @@ -+/* Xtensa uClinux configuration. -+ Derived from the configuration for GCC for Intel i386 running Linux. -+ Copyright (C) 2001-2015 Free Software Foundation, Inc. -+ -+This file is part of GCC. -+ -+GCC 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, or (at your option) any later -+version. -+ -+GCC 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 GCC; see the file COPYING3. If not see -+. */ -+ -+#undef TARGET_OS_CPP_BUILTINS -+#define TARGET_OS_CPP_BUILTINS() \ -+ do \ -+ { \ -+ GNU_USER_TARGET_OS_CPP_BUILTINS (); \ -+ builtin_define ("__uClinux__"); \ -+ } \ -+ while (0) -+ -+#undef SUBTARGET_CPP_SPEC -+#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" -+ -+#undef SIZE_TYPE -+#define SIZE_TYPE "unsigned int" -+ -+#undef PTRDIFF_TYPE -+#define PTRDIFF_TYPE "int" -+ -+#undef WCHAR_TYPE -+#define WCHAR_TYPE "long int" -+ -+#undef WCHAR_TYPE_SIZE -+#define WCHAR_TYPE_SIZE 32 -+ -+#undef ASM_SPEC -+#define ASM_SPEC \ -+ "%{mtext-section-literals:--text-section-literals} \ -+ %{mno-text-section-literals:--no-text-section-literals} \ -+ %{mtarget-align:--target-align} \ -+ %{mno-target-align:--no-target-align} \ -+ %{mlongcalls:--longcalls} \ -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" -+ -+#undef LINK_SPEC -+#define LINK_SPEC "%{!no-elf2flt:%{!elf2flt*:-elf2flt}}" -+ -+#undef LOCAL_LABEL_PREFIX -+#define LOCAL_LABEL_PREFIX "." -+ -+/* Always enable "-fpic" for Xtensa Linux. */ -+#define XTENSA_ALWAYS_PIC 1 -+ -+#undef TARGET_LIBC_HAS_FUNCTION -+#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function -+ -+#undef DBX_REGISTER_NUMBER -+ -Index: b/gcc/config/xtensa/uclinux.opt -=================================================================== ---- /dev/null -+++ b/gcc/config/xtensa/uclinux.opt -@@ -0,0 +1,32 @@ -+; Xtensa uClinux options. -+ -+; Copyright (C) 2015 Free Software Foundation, Inc. -+; -+; This file is part of GCC. -+; -+; GCC 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, or (at your option) any later -+; version. -+; -+; GCC 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 GCC; see the file COPYING3. If not see -+; . -+ -+; See the GCC internals manual (options.texi) for a description of -+; this file's format. -+ -+; Please try to keep this file in ASCII collating order. -+ -+elf2flt -+Driver -+ -+elf2flt= -+Driver JoinedOrMissing -+ -+; This comment is to ensure we retain the blank line above. -Index: b/libgcc/config.host -=================================================================== ---- a/libgcc/config.host -+++ b/libgcc/config.host -@@ -1213,6 +1213,11 @@ - tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" - md_unwind_header=xtensa/linux-unwind.h - ;; -+xtensa*-*-uclinux*) -+ tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" -+ md_unwind_header=xtensa/linux-unwind.h -+ extra_parts="$extra_parts crtbeginS.o crtbeginT.o crtendS.o" -+ ;; - am33_2.0-*-linux*) - # Don't need crtbeginT.o from *-*-linux* default. - extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" diff --git a/package/gcc/4.9.4/875-xtensa-fix-PR-target-82181.patch b/package/gcc/4.9.4/875-xtensa-fix-PR-target-82181.patch deleted file mode 100644 index 266e659c17..0000000000 --- a/package/gcc/4.9.4/875-xtensa-fix-PR-target-82181.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 8dd3af97bb6ccb3dfd6cbe20c5a28ce80fcd0de7 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 3c0096113775..3eb4db85b971 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -612,6 +612,7 @@ xtensa_mem_offset (unsigned v, enum 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/4.9.4/880-nios2_legitimize_address.patch b/package/gcc/4.9.4/880-nios2_legitimize_address.patch deleted file mode 100644 index 4623f295a7..0000000000 --- a/package/gcc/4.9.4/880-nios2_legitimize_address.patch +++ /dev/null @@ -1,49 +0,0 @@ -From b0ea54f3f995754881e0ea6651133aa7b58eeaa2 Mon Sep 17 00:00:00 2001 -From: cltang -Date: Tue, 22 Sep 2015 12:23:20 +0000 -Subject: [PATCH] nios2_legitimize_address 2015-09-22 Chung-Lin Tang - - - Backport from mainline - 2015-09-22 Chung-Lin Tang - - * config/nios2/nios2.c (nios2_legitimize_address): When handling - 'reg + reloc' cases, allow first operand to be non-REG, and use - force_reg() to enforce address pattern. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@228013 138bc75d-0d04-0410-961f-82ee72b054a4 - -Fixes: -http://autobuild.buildroot.net/results/901/90186d1fe134b804c0101554296b1235dc0ccbb0 - -[backported to 4.9.3] -Signed-off-by: Romain Naour ---- - gcc/config/nios2/nios2.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/nios2/nios2.c b/gcc/config/nios2/nios2.c -index 047b615..41dd6f9 100644 ---- a/gcc/config/nios2/nios2.c -+++ b/gcc/config/nios2/nios2.c -@@ -1786,15 +1786,15 @@ nios2_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED, - - Which will be output as '%tls_le(var+48)(r23)' in assembly. */ - if (GET_CODE (x) == PLUS -- && GET_CODE (XEXP (x, 0)) == REG - && GET_CODE (XEXP (x, 1)) == CONST) - { -- rtx unspec, offset, reg = XEXP (x, 0); -+ rtx unspec, offset; - split_const (XEXP (x, 1), &unspec, &offset); - if (GET_CODE (unspec) == UNSPEC - && !nios2_large_offset_p (XINT (unspec, 1)) - && offset != const0_rtx) - { -+ rtx reg = force_reg (Pmode, XEXP (x, 0)); - unspec = copy_rtx (unspec); - XVECEXP (unspec, 0, 0) - = plus_constant (Pmode, XVECEXP (unspec, 0, 0), INTVAL (offset)); --- -2.5.0 - diff --git a/package/gcc/4.9.4/890-fix-m68k-compile.patch b/package/gcc/4.9.4/890-fix-m68k-compile.patch deleted file mode 100644 index 140977b3cd..0000000000 --- a/package/gcc/4.9.4/890-fix-m68k-compile.patch +++ /dev/null @@ -1,15 +0,0 @@ -remove unused header, which breaks the toolchain building - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-4.9.3.orig/libgcc/config/m68k/linux-atomic.c gcc-4.9.3/libgcc/config/m68k/linux-atomic.c ---- gcc-4.9.3.orig/libgcc/config/m68k/linux-atomic.c 2014-01-02 23:25:22.000000000 +0100 -+++ gcc-4.9.3/libgcc/config/m68k/linux-atomic.c 2016-03-18 22:24:40.000000000 +0100 -@@ -33,7 +33,6 @@ - using the kernel helper defined below. There is no support for - 64-bit operations yet. */ - --#include - #include - - #ifndef __NR_atomic_cmpxchg_32 diff --git a/package/gcc/4.9.4/900-musl-support.patch b/package/gcc/4.9.4/900-musl-support.patch deleted file mode 100644 index a862d01116..0000000000 --- a/package/gcc/4.9.4/900-musl-support.patch +++ /dev/null @@ -1,640 +0,0 @@ -Add musl support to gcc - -This patch comes from the musl-cross project at -https://bitbucket.org/GregorR/musl-cross/src. Compared to the upstream version: - - * the config.sub modifications have been removed, because Buildroot - already overwrites all config.sub with a more recent config.sub - that has musl support. - - * change to ensure that a dummy dynamic linker path - MUSL_DYNAMIC_LINKER is defined for all architectures, - otherwise building gcc for architectures not supported by musl was - causing build failure. Bug reported upstream at - https://bitbucket.org/GregorR/musl-gcc-patches/issue/4/musl-gcc-patches-break-the-build-on. - - * change the USE_PT_GNU_EH_FRAME logic to keep the existing gcc logic - and only add the musl one as an addition, not as a replacement. Not - doing this breaks C++ exception handling with glibc, because - USE_PT_GNU_EH_FRAME doesn't get defined due to the configure script - not testing dl_iterate_phdr() on any system except Solaris. - -[Gustavo: remove upstream applied gcc/config/sh/sh.c chunk for 4.9.1] -Signed-off-by: Thomas Petazzoni ---- - -Index: b/fixincludes/mkfixinc.sh -=================================================================== ---- a/fixincludes/mkfixinc.sh -+++ b/fixincludes/mkfixinc.sh -@@ -19,7 +19,8 @@ - powerpc-*-eabi* | \ - powerpc-*-rtems* | \ - powerpcle-*-eabisim* | \ -- powerpcle-*-eabi* ) -+ powerpcle-*-eabi* | \ -+ *-musl* ) - # IF there is no include fixing, - # THEN create a no-op fixer and exit - (echo "#! /bin/sh" ; echo "exit 0" ) > ${target} -Index: b/gcc/config.gcc -=================================================================== ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -594,7 +594,7 @@ - esac - - # Common C libraries. --tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3" -+tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4" - - # 32-bit x86 processors supported by --with-arch=. Each processor - # MUST be separated by exactly one space. -@@ -719,6 +719,9 @@ - *-*-*uclibc*) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" - ;; -+ *-*-*musl*) -+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL" -+ ;; - *) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" - ;; -@@ -2338,6 +2341,10 @@ - powerpc*-*-linux*paired*) - tm_file="${tm_file} rs6000/750cl.h" ;; - esac -+ case ${target} in -+ *-linux*-musl*) -+ enable_secureplt=yes ;; -+ esac - if test x${enable_secureplt} = xyes; then - tm_file="rs6000/secureplt.h ${tm_file}" - fi -Index: b/gcc/config/aarch64/aarch64-linux.h -=================================================================== ---- a/gcc/config/aarch64/aarch64-linux.h -+++ b/gcc/config/aarch64/aarch64-linux.h -@@ -22,6 +22,8 @@ - #define GCC_AARCH64_LINUX_H - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}.so.1" -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64.so.1" - - #define CPP_SPEC "%{pthread:-D_REENTRANT}" - -Index: b/gcc/config/arm/linux-eabi.h -=================================================================== ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -77,6 +77,23 @@ - %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \ - %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}" - -+/* For ARM musl currently supports four dynamic linkers: -+ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI -+ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI -+ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB -+ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB -+ musl does not support the legacy OABI mode. -+ All the dynamic linkers live in /lib. -+ We default to soft-float, EL. */ -+#undef MUSL_DYNAMIC_LINKER -+#if TARGET_BIG_ENDIAN_DEFAULT -+#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}" -+#endif -+#define MUSL_DYNAMIC_LINKER \ -+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1" -+ - /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to - use the GNU/Linux version, not the generic BPABI version. */ - #undef LINK_SPEC -Index: b/gcc/config/i386/linux.h -=================================================================== ---- a/gcc/config/i386/linux.h -+++ b/gcc/config/i386/linux.h -@@ -21,3 +21,5 @@ - - #define GNU_USER_LINK_EMULATION "elf_i386" - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" -Index: b/gcc/config/i386/linux64.h -=================================================================== ---- a/gcc/config/i386/linux64.h -+++ b/gcc/config/i386/linux64.h -@@ -30,3 +30,10 @@ - #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" - #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" - #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" -+ -+#undef MUSL_DYNAMIC_LINKER32 -+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1" -+#undef MUSL_DYNAMIC_LINKER64 -+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1" -+#undef MUSL_DYNAMIC_LINKERX32 -+#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1" -Index: b/gcc/config/linux.h -=================================================================== ---- a/gcc/config/linux.h -+++ b/gcc/config/linux.h -@@ -32,10 +32,12 @@ - #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) - #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) - #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) -+#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL) - #else - #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) - #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC) - #define OPTION_BIONIC (linux_libc == LIBC_BIONIC) -+#define OPTION_MUSL (linux_libc == LIBC_MUSL) - #endif - - #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ -@@ -53,18 +55,21 @@ - uClibc or Bionic is the default C library and whether - -muclibc or -mglibc or -mbionic has been passed to change the default. */ - --#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3) \ -- "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}" -+#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \ -+ "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}" - - #if DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M) - #elif DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M) - #elif DEFAULT_LIBC == LIBC_BIONIC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M) -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B) - #else - #error "Unsupported DEFAULT_LIBC" - #endif /* DEFAULT_LIBC */ -@@ -82,23 +87,103 @@ - #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" - #define BIONIC_DYNAMIC_LINKERX32 "/system/bin/linkerx32" - -+/* Musl dynamic linker paths must be defined on a per-architecture -+ basis, for each architecture supported by Musl. However, in order -+ to let other architectures continue to build with other C -+ libraries, we provide a dummy definition of the following defines. */ -+#define MUSL_DYNAMIC_LINKER "invalid" -+#define MUSL_DYNAMIC_LINKER32 "invalid" -+#define MUSL_DYNAMIC_LINKER64 "invalid" -+#define MUSL_DYNAMIC_LINKERX32 "invalid" -+ - #define GNU_USER_DYNAMIC_LINKER \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ -- BIONIC_DYNAMIC_LINKER) -+ BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - #define GNU_USER_DYNAMIC_LINKER32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \ -- BIONIC_DYNAMIC_LINKER32) -+ BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) - #define GNU_USER_DYNAMIC_LINKER64 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \ -- BIONIC_DYNAMIC_LINKER64) -+ BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) - #define GNU_USER_DYNAMIC_LINKERX32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \ -- BIONIC_DYNAMIC_LINKERX32) -+ BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKER32) - - /* Whether we have Bionic libc runtime */ - #undef TARGET_HAS_BIONIC - #define TARGET_HAS_BIONIC (OPTION_BIONIC) - -+/* musl avoids problematic includes by rearranging the include directories. -+ * Unfortunately, this is mostly duplicated from cppdefault.c */ -+#if DEFAULT_LIBC == LIBC_MUSL -+#define INCLUDE_DEFAULTS_MUSL_GPP \ -+ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \ -+ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \ -+ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, -+ -+#ifdef LOCAL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_LOCAL \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_LOCAL -+#endif -+ -+#ifdef PREFIX_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_PREFIX -+#endif -+ -+#ifdef CROSS_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_CROSS \ -+ { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#ifdef TOOL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_TOOL \ -+ { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_TOOL -+#endif -+ -+#ifdef NATIVE_SYSTEM_HEADER_DIR -+#define INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_NATIVE -+#endif -+ -+#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT) -+# undef INCLUDE_DEFAULTS_MUSL_LOCAL -+# define INCLUDE_DEFAULTS_MUSL_LOCAL -+# undef INCLUDE_DEFAULTS_MUSL_NATIVE -+# define INCLUDE_DEFAULTS_MUSL_NATIVE -+#else -+# undef INCLUDE_DEFAULTS_MUSL_CROSS -+# define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#undef INCLUDE_DEFAULTS -+#define INCLUDE_DEFAULTS \ -+ { \ -+ INCLUDE_DEFAULTS_MUSL_GPP \ -+ INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ INCLUDE_DEFAULTS_MUSL_CROSS \ -+ INCLUDE_DEFAULTS_MUSL_TOOL \ -+ INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ -+ { 0, 0, 0, 0, 0, 0 } \ -+ } -+#endif -+ - #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ - /* This is a *uclinux* target. We don't define below macros to normal linux - versions, because doing so would require *uclinux* targets to include -Index: b/gcc/config/linux.opt -=================================================================== ---- a/gcc/config/linux.opt -+++ b/gcc/config/linux.opt -@@ -30,3 +30,7 @@ - muclibc - Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic) - Use uClibc C library -+ -+mmusl -+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc) -+Use musl C library -Index: b/gcc/config/microblaze/linux.h -=================================================================== ---- a/gcc/config/microblaze/linux.h -+++ b/gcc/config/microblaze/linux.h -@@ -28,7 +28,23 @@ - #undef TLS_NEEDS_GOT - #define TLS_NEEDS_GOT 1 - --#define DYNAMIC_LINKER "/lib/ld.so.1" -+#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */ -+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" -+#endif -+ -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1" -+#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" -+ -+#if DEFAULT_LIBC == LIBC_MUSL -+#define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER -+#else -+#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER -+#endif -+ -+ - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ - { "dynamic_linker", DYNAMIC_LINKER } -Index: b/gcc/config/rs6000/linux64.h -=================================================================== ---- a/gcc/config/rs6000/linux64.h -+++ b/gcc/config/rs6000/linux64.h -@@ -371,17 +371,23 @@ - #endif - #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" - #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" -+#undef MUSL_DYNAMIC_LINKER32 -+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-powerpc.so.1" -+#undef MUSL_DYNAMIC_LINKER64 -+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-powerpc64.so.1" - #if DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" - #elif DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" - #else - #error "Unsupported DEFAULT_LIBC" - #endif - #define GNU_USER_DYNAMIC_LINKER32 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) - #define GNU_USER_DYNAMIC_LINKER64 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) - - #undef DEFAULT_ASM_ENDIAN - #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) -Index: b/gcc/config/rs6000/secureplt.h -=================================================================== ---- a/gcc/config/rs6000/secureplt.h -+++ b/gcc/config/rs6000/secureplt.h -@@ -18,3 +18,4 @@ - . */ - - #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt" -+#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt" -Index: b/gcc/config/rs6000/sysv4.h -=================================================================== ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -537,6 +537,9 @@ - #ifndef CC1_SECURE_PLT_DEFAULT_SPEC - #define CC1_SECURE_PLT_DEFAULT_SPEC "" - #endif -+#ifndef LINK_SECURE_PLT_DEFAULT_SPEC -+#define LINK_SECURE_PLT_DEFAULT_SPEC "" -+#endif - - /* Pass -G xxx to the compiler. */ - #define CC1_SPEC "%{G*} %(cc1_cpu)" \ -@@ -585,7 +588,8 @@ - - /* Override the default target of the linker. */ - #define LINK_TARGET_SPEC \ -- ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") -+ ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") \ -+ "%{!mbss-plt: %{!msecure-plt: %(link_secure_plt_default)}}" - - /* Any specific OS flags. */ - #define LINK_OS_SPEC "\ -@@ -763,15 +767,18 @@ - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-powerpc.so.1" - #if DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" - #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" - #else - #error "Unsupported DEFAULT_LIBC" - #endif - #define GNU_USER_DYNAMIC_LINKER \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - - #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ - %{rdynamic:-export-dynamic} \ -@@ -894,6 +901,7 @@ - { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \ - { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ - { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ -+ { "link_secure_plt_default", LINK_SECURE_PLT_DEFAULT_SPEC }, \ - { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ - { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ - { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -Index: b/gcc/config/sh/linux.h -=================================================================== ---- a/gcc/config/sh/linux.h -+++ b/gcc/config/sh/linux.h -@@ -43,7 +43,15 @@ - - #define TARGET_ASM_FILE_END file_end_indicate_exec_stack - -+#if TARGET_BIG_ENDIAN_DEFAULT /* BE */ -+#define MUSL_DYNAMIC_LINKER_E "eb" -+#else -+#define MUSL_DYNAMIC_LINKER_E -+#endif -+ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E ".so.1" - - #undef SUBTARGET_LINK_EMUL_SUFFIX - #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" -Index: b/gcc/configure -=================================================================== ---- a/gcc/configure -+++ b/gcc/configure -@@ -27601,6 +27601,9 @@ - gcc_cv_target_dl_iterate_phdr=no - fi - ;; -+ *-linux-musl*) -+ gcc_cv_target_dl_iterate_phdr=yes -+ ;; - esac - - if test x$gcc_cv_target_dl_iterate_phdr = xyes; then -Index: b/gcc/configure.ac -=================================================================== ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -5173,6 +5173,9 @@ - gcc_cv_target_dl_iterate_phdr=no - fi - ;; -+ *-linux-musl*) -+ gcc_cv_target_dl_iterate_phdr=yes -+ ;; - esac - GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR]) - if test x$gcc_cv_target_dl_iterate_phdr = xyes; then -Index: b/gcc/ginclude/stddef.h -=================================================================== ---- a/gcc/ginclude/stddef.h -+++ b/gcc/ginclude/stddef.h -@@ -181,6 +181,7 @@ - #ifndef _GCC_SIZE_T - #ifndef _SIZET_ - #ifndef __size_t -+#ifndef __DEFINED_size_t /* musl */ - #define __size_t__ /* BeOS */ - #define __SIZE_T__ /* Cray Unicos/Mk */ - #define _SIZE_T -@@ -197,6 +198,7 @@ - #define ___int_size_t_h - #define _GCC_SIZE_T - #define _SIZET_ -+#define __DEFINED_size_t /* musl */ - #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \ - || defined(__FreeBSD_kernel__) - /* __size_t is a typedef on FreeBSD 5, must not trash it. */ -@@ -214,6 +216,7 @@ - typedef long ssize_t; - #endif /* __BEOS__ */ - #endif /* !(defined (__GNUG__) && defined (size_t)) */ -+#endif /* __DEFINED_size_t */ - #endif /* __size_t */ - #endif /* _SIZET_ */ - #endif /* _GCC_SIZE_T */ -Index: b/libgcc/unwind-dw2-fde-dip.c -=================================================================== ---- a/libgcc/unwind-dw2-fde-dip.c -+++ b/libgcc/unwind-dw2-fde-dip.c -@@ -73,6 +73,13 @@ - && defined(TARGET_DL_ITERATE_PHDR) \ - && defined(__sun__) && defined(__svr4__) - # define USE_PT_GNU_EH_FRAME -+ #endif -+ -+/* For musl libc, TARGET_DL_ITERATE_PHDR gets defined by the configure -+ script. */ -+#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ -+ && defined(TARGET_DL_ITERATE_PHDR) -+# define USE_PT_GNU_EH_FRAME - #endif - - #if defined(USE_PT_GNU_EH_FRAME) -Index: b/libgomp/config/posix/time.c -=================================================================== ---- a/libgomp/config/posix/time.c -+++ b/libgomp/config/posix/time.c -@@ -28,6 +28,8 @@ - The following implementation uses the most simple POSIX routines. - If present, POSIX 4 clocks should be used instead. */ - -+#define _POSIX_C_SOURCE 199309L /* for clocks */ -+ - #include "libgomp.h" - #include - #if TIME_WITH_SYS_TIME -Index: b/libitm/config/arm/hwcap.cc -=================================================================== ---- a/libitm/config/arm/hwcap.cc -+++ b/libitm/config/arm/hwcap.cc -@@ -40,7 +40,11 @@ - - #ifdef __linux__ - #include -+#ifdef __GLIBC__ - #include -+#else -+#include -+#endif - #include - - static void __attribute__((constructor)) -Index: b/libitm/config/linux/x86/tls.h -=================================================================== ---- a/libitm/config/linux/x86/tls.h -+++ b/libitm/config/linux/x86/tls.h -@@ -25,16 +25,19 @@ - #ifndef LIBITM_X86_TLS_H - #define LIBITM_X86_TLS_H 1 - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - /* Use slots in the TCB head rather than __thread lookups. - GLIBC has reserved words 10 through 13 for TM. */ - #define HAVE_ARCH_GTM_THREAD 1 - #define HAVE_ARCH_GTM_THREAD_DISP 1 - #endif -+#endif - - #include "config/generic/tls.h" - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - namespace GTM HIDDEN { - - #ifdef __x86_64__ -@@ -101,5 +104,6 @@ - - } // namespace GTM - #endif /* >= GLIBC 2.10 */ -+#endif - - #endif // LIBITM_X86_TLS_H -Index: b/libstdc++-v3/configure.host -=================================================================== ---- a/libstdc++-v3/configure.host -+++ b/libstdc++-v3/configure.host -@@ -266,6 +266,13 @@ - os_include_dir="os/bsd/freebsd" - ;; - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) -+ # check for musl by target -+ case "${host_os}" in -+ *-musl*) -+ os_include_dir="os/generic" -+ ;; -+ *) -+ - if [ "$uclibc" = "yes" ]; then - os_include_dir="os/uclibc" - elif [ "$bionic" = "yes" ]; then -@@ -274,6 +281,9 @@ - os_include_dir="os/gnu-linux" - fi - ;; -+ -+ esac -+ ;; - hpux*) - os_include_dir="os/hpux" - ;; -Index: b/gcc/config/mips/linux64.h -=================================================================== ---- a/gcc/config/mips/linux64.h -+++ b/gcc/config/mips/linux64.h -@@ -41,4 +41,4 @@ - #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" - #define GNU_USER_DYNAMIC_LINKERN32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \ -- BIONIC_DYNAMIC_LINKERN32) -+ BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKER) -Index: b/gcc/config/mips/linux.h -=================================================================== ---- a/gcc/config/mips/linux.h -+++ b/gcc/config/mips/linux.h -@@ -23,3 +23,11 @@ - #undef UCLIBC_DYNAMIC_LINKER - #define UCLIBC_DYNAMIC_LINKER \ - "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}" -+ -+#if TARGET_ENDIAN_DEFAULT == 0 /* LE */ -+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" -+#endif -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" diff --git a/package/gcc/4.9.4/901-microblaze-uclibc.patch b/package/gcc/4.9.4/901-microblaze-uclibc.patch deleted file mode 100644 index 82c44e149f..0000000000 --- a/package/gcc/4.9.4/901-microblaze-uclibc.patch +++ /dev/null @@ -1,21 +0,0 @@ -Add dynamic linker support for uClibc - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-4.9.3.orig/gcc/config/microblaze/linux.h gcc-4.9.3/gcc/config/microblaze/linux.h ---- gcc-4.9.3.orig/gcc/config/microblaze/linux.h 2016-06-04 21:21:09.430646655 +0200 -+++ gcc-4.9.3/gcc/config/microblaze/linux.h 2016-06-04 21:21:44.596003509 +0200 -@@ -36,10 +36,13 @@ - - #undef MUSL_DYNAMIC_LINKER - #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1" -+#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - - #if DEFAULT_LIBC == LIBC_MUSL - #define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER -+#elif DEFAULT_LIBC == LIBC_UCLIBC -+#define DYNAMIC_LINKER UCLIBC_DYNAMIC_LINKER - #else - #define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER - #endif diff --git a/package/gcc/4.9.4/930-libgcc-disable-split-stack-nothreads.patch b/package/gcc/4.9.4/930-libgcc-disable-split-stack-nothreads.patch deleted file mode 100644 index 670cf8dae1..0000000000 --- a/package/gcc/4.9.4/930-libgcc-disable-split-stack-nothreads.patch +++ /dev/null @@ -1,14 +0,0 @@ -disable split-stack for non-thread builds - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-4.9.3.orig/libgcc/config/t-stack gcc-4.9.3/libgcc/config/t-stack ---- gcc-4.9.3.orig/libgcc/config/t-stack 2010-10-01 21:31:49.000000000 +0200 -+++ gcc-4.9.3/libgcc/config/t-stack 2016-03-07 01:34:32.000000000 +0100 -@@ -1,4 +1,6 @@ - # Makefile fragment to provide generic support for -fsplit-stack. - # This should be used in config.host for any host which supports - # -fsplit-stack. -+ifeq ($(enable_threads),yes) - LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c -+endif diff --git a/package/gcc/4.9.4/940-uclinux-enable-threads.patch b/package/gcc/4.9.4/940-uclinux-enable-threads.patch deleted file mode 100644 index 5108147627..0000000000 --- a/package/gcc/4.9.4/940-uclinux-enable-threads.patch +++ /dev/null @@ -1,20 +0,0 @@ -Enable POSIX threads for uClinux targets -Reported upstream: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71721 - -Signed-off-by: Waldemar Brodkorb - -Index: b/gcc/config.gcc -=================================================================== ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -810,6 +810,9 @@ - *-*-uclinux*) - extra_options="$extra_options gnu-user.opt" - use_gcc_stdint=wrap -+ case ${enable_threads} in -+ "" | yes | posix) thread_file='posix' ;; -+ esac - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" - ;; - *-*-rdos*) diff --git a/package/gcc/4.9.4/942-asan-fix-missing-include-signal-h.patch b/package/gcc/4.9.4/942-asan-fix-missing-include-signal-h.patch deleted file mode 100644 index 5f00c04d2b..0000000000 --- a/package/gcc/4.9.4/942-asan-fix-missing-include-signal-h.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 205aa8e97bab553e5e6fe45896325e97962de704 Mon Sep 17 00:00:00 2001 -From: Rolf Eike Beer -Date: Wed, 8 Feb 2017 11:42:52 +0100 -Subject: [PATCH] asan: fix missing include of signal.h - -This breaks when building gcc 4.9.4 / 5.4.0 with -target_platform=powerpc-unknown-linux-gnu with glibc 2.25: - -../../../../gcc-host/libsanitizer/asan/asan_linux.cc: In function 'bool __asan::AsanInterceptsSignal(int)': -../../../../gcc-host/libsanitizer/asan/asan_linux.cc:222:20: error: 'SIGSEGV' was not declared in this scope - return signum == SIGSEGV && common_flags()->handle_segv; - -This has been verified to apply to at least 4.9.4 and up to 5.4, -the code has been reworked for gcc 6. - -Resolves (Buildroot) Bug: https://bugs.busybox.net/show_bug.cgi?id=10061 - -Upstream: https://patchwork.ozlabs.org/patch/725596/ - -Signed-off-by: Matthew Weber ---- - libsanitizer/asan/asan_linux.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libsanitizer/asan/asan_linux.cc b/libsanitizer/asan/asan_linux.cc -index c504168..59087b9 100644 ---- a/libsanitizer/asan/asan_linux.cc -+++ b/libsanitizer/asan/asan_linux.cc -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/package/gcc/4.9.4/943-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch b/package/gcc/4.9.4/943-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch deleted file mode 100644 index 526346c6f8..0000000000 --- a/package/gcc/4.9.4/943-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch +++ /dev/null @@ -1,190 +0,0 @@ -From b7e85069238c40eae54d0ca03ab6d5470d1815f9 Mon Sep 17 00:00:00 2001 -From: jsm28 -Date: Tue, 4 Jul 2017 10:25:10 +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-5-branch@249958 138bc75d-0d04-0410-961f-82ee72b054a4 -[Romain backport from gcc-5-branch] -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 6b5b3cd..d13dc34 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 b5bfd1c..166d3d2 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 dc58f0a..8b94568 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 7986928..a9d621c 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 1ba2a0c4..d67767e 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 ba4bd80..8978868 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 4a3cfff..d2ac437 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 4875706..671bde7 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 27481cf..c24d58c 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 6832d0b..cb15b4c 100644 ---- a/libgcc/config/xtensa/linux-unwind.h -+++ b/libgcc/config/xtensa/linux-unwind.h -@@ -63,7 +63,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/4.9.4/944-sanitizer-linux.patch b/package/gcc/4.9.4/944-sanitizer-linux.patch deleted file mode 100644 index caadf2de7b..0000000000 --- a/package/gcc/4.9.4/944-sanitizer-linux.patch +++ /dev/null @@ -1,88 +0,0 @@ -From f9a35ba5c150da2e381c4cab01f8f12bcd6af5d2 Mon Sep 17 00:00:00 2001 -From: jakub -Date: Mon, 17 Jul 2017 19:41:08 +0000 -Subject: [PATCH] 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-7-branch@250287 138bc75d-0d04-0410-961f-82ee72b054a4 -(cherry picked from commit 72edc2c02f8b4768ad660f46a1c7e2400c0a8e06) -[Romain backport to 4.9.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 69c9c10..8e53673 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_linux.cc -+++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc -@@ -599,8 +599,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) { - return internal_syscall(__NR_prctl, option, arg2, arg3, arg4, arg5); - } - --uptr internal_sigaltstack(const struct sigaltstack *ss, -- struct sigaltstack *oss) { -+uptr internal_sigaltstack(const void *ss, void *oss) { - return internal_syscall(__NR_sigaltstack, (uptr)ss, (uptr)oss); - } - -diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.h b/libsanitizer/sanitizer_common/sanitizer_linux.h -index 6422df1..8e111d1 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_linux.h -+++ b/libsanitizer/sanitizer_common/sanitizer_linux.h -@@ -18,7 +18,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_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5); --uptr internal_sigaltstack(const struct sigaltstack* ss, -- struct sigaltstack* oss); -+uptr internal_sigaltstack(const void* ss, void* oss); - uptr internal_sigaction(int signum, const __sanitizer_kernel_sigaction_t *act, - __sanitizer_kernel_sigaction_t *oldact); - uptr internal_sigprocmask(int how, __sanitizer_kernel_sigset_t *set, -diff --git a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -index 6ee63ec..50c21a3 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -+++ b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -@@ -238,7 +238,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 fe69430..49f5270 100644 ---- a/libsanitizer/tsan/tsan_platform_linux.cc -+++ b/libsanitizer/tsan/tsan_platform_linux.cc -@@ -351,7 +351,7 @@ bool IsGlobalVar(uptr addr) { - // closes within glibc. The code is a pure hack. - int ExtractResolvFDs(void *state, int *fds, int nfd) { - 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/5.5.0/0001-m68k-coldfire-pr68467.patch b/package/gcc/5.5.0/0001-m68k-coldfire-pr68467.patch deleted file mode 100644 index 75ad536054..0000000000 --- a/package/gcc/5.5.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-5.5.0.orig/gcc/config/m68k/m68k.c gcc-5.5.0/gcc/config/m68k/m68k.c ---- gcc-5.5.0.orig/gcc/config/m68k/m68k.c 2015-01-15 14:28:42.000000000 +0100 -+++ gcc-5.5.0/gcc/config/m68k/m68k.c 2018-02-17 19:34:33.146309632 +0100 -@@ -196,6 +196,8 @@ - const_tree, bool); - static bool m68k_cannot_force_const_mem (machine_mode mode, rtx x); - static bool m68k_output_addr_const_extra (FILE *, rtx); -+static machine_mode m68k_promote_function_mode (const_tree, machine_mode, -+ int *, const_tree, int); - static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED; - - /* Initialize the GCC target structure. */ -@@ -338,6 +340,9 @@ - #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL - #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128 - -+#undef TARGET_PROMOTE_FUNCTION_MODE -+#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode -+ - static const struct attribute_spec m68k_attribute_table[] = - { - /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler, -@@ -6548,4 +6553,20 @@ - == m68k_fk_interrupt_handler)); - } - -+/* Implement TARGET_PROMOTE_FUNCTION_MODE. */ -+ -+static machine_mode -+m68k_promote_function_mode (const_tree type, machine_mode mode, -+ int *punsignedp ATTRIBUTE_UNUSED, -+ const_tree fntype ATTRIBUTE_UNUSED, -+ int for_return) -+{ -+ /* Promote libcall arguments narrower than int to match the normal C -+ ABI (for which promotions are handled via -+ TARGET_PROMOTE_PROTOTYPES). */ -+ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode)) -+ return SImode; -+ return mode; -+} -+ - #include "gt-m68k.h" diff --git a/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 deleted file mode 100644 index 6e73331eae..0000000000 --- a/package/gcc/5.5.0/0002-libsanitizer-Use-pre-computed-size.patch +++ /dev/null @@ -1,72 +0,0 @@ -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/5.5.0/100-uclibc-conf.patch b/package/gcc/5.5.0/100-uclibc-conf.patch deleted file mode 100644 index 73d1f0d3a9..0000000000 --- a/package/gcc/5.5.0/100-uclibc-conf.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: b/contrib/regression/objs-gcc.sh -=================================================================== ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ - 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 diff --git a/package/gcc/5.5.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch b/package/gcc/5.5.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch deleted file mode 100644 index c11ad35aac..0000000000 --- a/package/gcc/5.5.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9bf6066d588632dab9f78932df15b5b4140f31f3 Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Fri, 6 Nov 2015 14:27:23 +0100 -Subject: [PATCH] gcc/config.gcc: fix typo for powerpc e6500 cpu_is_64bit - -Otherwise it is not recognized as a 64-bit powerpc and gcc will not generate -64-bit binaries by default. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - gcc/config.gcc | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/gcc/config.gcc b/gcc/config.gcc -index 4a7cbd2..9cc765e 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -439,7 +439,7 @@ powerpc*-*-*) - cpu_type=rs6000 - extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h" - case x$with_cpu in -- xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500) -+ xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500) - cpu_is_64bit=yes - ;; - esac --- -2.6.2 - diff --git a/package/gcc/5.5.0/301-missing-execinfo_h.patch b/package/gcc/5.5.0/301-missing-execinfo_h.patch deleted file mode 100644 index 2d0e7baa44..0000000000 --- a/package/gcc/5.5.0/301-missing-execinfo_h.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: b/boehm-gc/include/gc.h -=================================================================== ---- a/boehm-gc/include/gc.h -+++ b/boehm-gc/include/gc.h -@@ -503,7 +503,7 @@ - #if defined(__linux__) || defined(__GLIBC__) - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/package/gcc/5.5.0/810-arm-softfloat-libgcc.patch b/package/gcc/5.5.0/810-arm-softfloat-libgcc.patch deleted file mode 100644 index 5efa7fd1bc..0000000000 --- a/package/gcc/5.5.0/810-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: b/gcc/config/arm/linux-elf.h -=================================================================== ---- a/gcc/config/arm/linux-elf.h -+++ b/gcc/config/arm/linux-elf.h -@@ -60,7 +60,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" - -Index: b/libgcc/config/arm/t-linux -=================================================================== ---- 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. diff --git a/package/gcc/5.5.0/830-arm_unbreak_armv4t.patch b/package/gcc/5.5.0/830-arm_unbreak_armv4t.patch deleted file mode 100644 index b730059183..0000000000 --- a/package/gcc/5.5.0/830-arm_unbreak_armv4t.patch +++ /dev/null @@ -1,15 +0,0 @@ -http://sourceware.org/ml/crossgcc/2008-05/msg00009.html - -Index: b/gcc/config/arm/linux-eabi.h -=================================================================== ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -45,7 +45,7 @@ - The ARM10TDMI core is the default for armv5t, so set - SUBTARGET_CPU_DEFAULT to achieve this. */ - #undef SUBTARGET_CPU_DEFAULT --#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi - - /* TARGET_BIG_ENDIAN_DEFAULT is set in - config.gcc for big endian configurations. */ diff --git a/package/gcc/5.5.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch b/package/gcc/5.5.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch deleted file mode 100644 index d8c74f959e..0000000000 --- a/package/gcc/5.5.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 89bd94250827f887b38211ac048b4006229dc9c0 Mon Sep 17 00:00:00 2001 -From: ktkachov -Date: Fri, 26 Aug 2016 10:23:20 +0000 -Subject: [PATCH] [ARM] PR target/70473: Reduce size of Cortex-A8 automaton - - PR target/70473 - * config/arm/cortex-a8-neon.md (cortex_a8_vfp_muld): Reduce - reservation duration to 15 cycles. - (cortex_a8_vfp_macs): Likewise. - (cortex_a8_vfp_macd): Likewise. - (cortex_a8_vfp_divs): Likewise. - (cortex_a8_vfp_divd): Likewise. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239772 138bc75d-0d04-0410-961f-82ee72b054a4 - -[Backport from gcc upstream commit 79f5d5e3cd5a668d5ecb2b6b0cce80ef5706ac53.] -Signed-off-by: Thomas Petazzoni ---- - gcc/config/arm/cortex-a8-neon.md | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -diff --git a/gcc/config/arm/cortex-a8-neon.md b/gcc/config/arm/cortex-a8-neon.md -index 04fa01e..4e6d05d 100644 ---- a/gcc/config/arm/cortex-a8-neon.md -+++ b/gcc/config/arm/cortex-a8-neon.md -@@ -357,30 +357,34 @@ - (eq_attr "type" "fmuls")) - "cortex_a8_vfp,cortex_a8_vfplite*11") - -+;; Don't model a reservation for more than 15 cycles as this explodes the -+;; state space of the automaton for little gain. It is unlikely that the -+;; scheduler will find enough instructions to hide the full latency of the -+;; instructions. - (define_insn_reservation "cortex_a8_vfp_muld" 17 - (and (eq_attr "tune" "cortexa8") - (eq_attr "type" "fmuld")) -- "cortex_a8_vfp,cortex_a8_vfplite*16") -+ "cortex_a8_vfp,cortex_a8_vfplite*15") - - (define_insn_reservation "cortex_a8_vfp_macs" 21 - (and (eq_attr "tune" "cortexa8") - (eq_attr "type" "fmacs,ffmas")) -- "cortex_a8_vfp,cortex_a8_vfplite*20") -+ "cortex_a8_vfp,cortex_a8_vfplite*15") - - (define_insn_reservation "cortex_a8_vfp_macd" 26 - (and (eq_attr "tune" "cortexa8") - (eq_attr "type" "fmacd,ffmad")) -- "cortex_a8_vfp,cortex_a8_vfplite*25") -+ "cortex_a8_vfp,cortex_a8_vfplite*15") - - (define_insn_reservation "cortex_a8_vfp_divs" 37 - (and (eq_attr "tune" "cortexa8") - (eq_attr "type" "fdivs, fsqrts")) -- "cortex_a8_vfp,cortex_a8_vfplite*36") -+ "cortex_a8_vfp,cortex_a8_vfplite*15") - - (define_insn_reservation "cortex_a8_vfp_divd" 65 - (and (eq_attr "tune" "cortexa8") - (eq_attr "type" "fdivd, fsqrtd")) -- "cortex_a8_vfp,cortex_a8_vfplite*64") -+ "cortex_a8_vfp,cortex_a8_vfplite*15") - - ;; Comparisons can actually take 7 cycles sometimes instead of four, - ;; but given all the other instructions lumped into type=ffarith that --- -2.7.4 - diff --git a/package/gcc/5.5.0/840-microblaze-enable-dwarf-eh-support.patch b/package/gcc/5.5.0/840-microblaze-enable-dwarf-eh-support.patch deleted file mode 100644 index 9d29090a2a..0000000000 --- a/package/gcc/5.5.0/840-microblaze-enable-dwarf-eh-support.patch +++ /dev/null @@ -1,166 +0,0 @@ -Fetched from Xilinx gcc git at https://github.com/Xilinx/gcc - -From 23c35173490ac2d6348a668dfc9c1a6eb62171f2 Mon Sep 17 00:00:00 2001 -From: "Edgar E. Iglesias" -Date: Mon, 18 Jun 2012 20:18:13 +0200 -Subject: [PATCH] [Patch, microblaze]: Enable DWARF exception handling support. - -Changelog - -2013-03-18 Edgar E. Iglesias - David Holsgrove - - * common/config/microblaze/microblaze-common.c: Remove - TARGET_EXCEPT_UNWIND_INFO definition. - * config/microblaze/microblaze-protos.h: Add - microblaze_eh_return prototype. - * gcc/config/microblaze/microblaze.c: (microblaze_must_save_register, - microblaze_expand_epilogue, microblaze_return_addr): Handle - calls_eh_return - (microblaze_eh_return): New function. - * gcc/config/microblaze/microblaze.h: Define RETURN_ADDR_OFFSET, - EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX, - ASM_PREFERRED_EH_DATA_FORMAT - * gcc/config/microblaze/microblaze.md: Define eh_return pattern. - -Signed-off-by: David Holsgrove -Signed-off-by: Edgar E. Iglesias ---- - gcc/common/config/microblaze/microblaze-common.c | 3 --- - gcc/config/microblaze/microblaze-protos.h | 1 + - gcc/config/microblaze/microblaze.c | 29 ++++++++++++++++++++---- - gcc/config/microblaze/microblaze.h | 15 ++++++++++++ - gcc/config/microblaze/microblaze.md | 11 +++++++++ - 5 files changed, 52 insertions(+), 7 deletions(-) - -Index: b/gcc/common/config/microblaze/microblaze-common.c -=================================================================== ---- a/gcc/common/config/microblaze/microblaze-common.c -+++ b/gcc/common/config/microblaze/microblaze-common.c -@@ -37,7 +37,4 @@ - #undef TARGET_OPTION_OPTIMIZATION_TABLE - #define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table - --#undef TARGET_EXCEPT_UNWIND_INFO --#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info -- - struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER; -Index: b/gcc/config/microblaze/microblaze-protos.h -=================================================================== ---- a/gcc/config/microblaze/microblaze-protos.h -+++ b/gcc/config/microblaze/microblaze-protos.h -@@ -56,6 +56,7 @@ - extern int symbol_mentioned_p (rtx); - extern int label_mentioned_p (rtx); - extern bool microblaze_cannot_force_const_mem (machine_mode, rtx); -+extern void microblaze_eh_return (rtx op0); - #endif /* RTX_CODE */ - - /* Declare functions in microblaze-c.c. */ -Index: b/gcc/config/microblaze/microblaze.c -=================================================================== ---- a/gcc/config/microblaze/microblaze.c -+++ b/gcc/config/microblaze/microblaze.c -@@ -1959,6 +1959,11 @@ - if (frame_pointer_needed && (regno == HARD_FRAME_POINTER_REGNUM)) - return 1; - -+ if (crtl->calls_eh_return -+ && regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) { -+ return 1; -+ } -+ - if (!crtl->is_leaf) - { - if (regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) -@@ -1986,6 +1991,13 @@ - return 1; - } - -+ if (crtl->calls_eh_return -+ && (regno == EH_RETURN_DATA_REGNO (0) -+ || regno == EH_RETURN_DATA_REGNO (1))) -+ { -+ return 1; -+ } -+ - return 0; - } - -@@ -3067,6 +3079,12 @@ - emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx)); - } - -+ if (crtl->calls_eh_return) -+ emit_insn (gen_addsi3 (stack_pointer_rtx, -+ stack_pointer_rtx, -+ gen_rtx_raw_REG (SImode, -+ MB_EH_STACKADJ_REGNUM))); -+ - emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST + - MB_ABI_SUB_RETURN_ADDR_REGNUM))); - } -@@ -3364,10 +3382,13 @@ - if (count != 0) - return NULL_RTX; - -- return gen_rtx_PLUS (Pmode, -- get_hard_reg_initial_val (Pmode, -- MB_ABI_SUB_RETURN_ADDR_REGNUM), -- GEN_INT (8)); -+ return get_hard_reg_initial_val (Pmode, -+ MB_ABI_SUB_RETURN_ADDR_REGNUM); -+} -+ -+void microblaze_eh_return (rtx op0) -+{ -+ emit_insn (gen_movsi(gen_rtx_MEM(Pmode, stack_pointer_rtx), op0)); - } - - /* Queue an .ident string in the queue of top-level asm statements. -Index: b/gcc/config/microblaze/microblaze.h -=================================================================== ---- a/gcc/config/microblaze/microblaze.h -+++ b/gcc/config/microblaze/microblaze.h -@@ -184,6 +184,21 @@ - #define INCOMING_RETURN_ADDR_RTX \ - gen_rtx_REG (VOIDmode, GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM) - -+/* Specifies the offset from INCOMING_RETURN_ADDR_RTX and the actual return PC. */ -+#define RETURN_ADDR_OFFSET (8) -+ -+/* Describe how we implement __builtin_eh_return. */ -+#define EH_RETURN_DATA_REGNO(N) (((N) < 2) ? MB_ABI_FIRST_ARG_REGNUM + (N) : INVALID_REGNUM) -+ -+#define MB_EH_STACKADJ_REGNUM MB_ABI_INT_RETURN_VAL2_REGNUM -+#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, MB_EH_STACKADJ_REGNUM) -+ -+/* Select a format to encode pointers in exception handling data. CODE -+ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is -+ true if the symbol may be affected by dynamic relocations. */ -+#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ -+ ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr) -+ - /* Use DWARF 2 debugging information by default. */ - #define DWARF2_DEBUGGING_INFO - #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG -Index: b/gcc/config/microblaze/microblaze.md -=================================================================== ---- a/gcc/config/microblaze/microblaze.md -+++ b/gcc/config/microblaze/microblaze.md -@@ -2272,4 +2272,15 @@ - (set_attr "mode" "SI") - (set_attr "length" "4")]) - -+; This is used in compiling the unwind routines. -+(define_expand "eh_return" -+ [(use (match_operand 0 "general_operand" ""))] -+ "" -+ " -+{ -+ microblaze_eh_return(operands[0]); -+ DONE; -+}") -+ - (include "sync.md") -+ diff --git a/package/gcc/5.5.0/850-libstdcxx-uclibc-c99.patch b/package/gcc/5.5.0/850-libstdcxx-uclibc-c99.patch deleted file mode 100644 index 9e97d945d3..0000000000 --- a/package/gcc/5.5.0/850-libstdcxx-uclibc-c99.patch +++ /dev/null @@ -1,273 +0,0 @@ -Allow C99-depending features of libstdc++ with uClibc - -The libstdc++ code is fairly restrictive on how it checks for C99 -compatibility: it requires *complete* C99 support to enable certain -features. For example, uClibc provides a good number of C99 features, -but not C99 complex number support. For this reason, libstdc++ -completely disables many the standard C++ methods that can in fact -work because uClibc provides the necessary functions. - -This patch is similar and highly inspired from -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, but implemented in -a way that doesn't involve changing the configure.ac script, as -autoreconfiguring gcc is complicated. It simply relies on the fact -that uClibc defines the __UCLIBC__ definition. - -Signed-off-by: Thomas Petazzoni - -Index: b/libstdc++-v3/config/locale/generic/c_locale.h -=================================================================== ---- a/libstdc++-v3/config/locale/generic/c_locale.h -+++ b/libstdc++-v3/config/locale/generic/c_locale.h -@@ -70,7 +70,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); -Index: b/libstdc++-v3/config/locale/gnu/c_locale.h -=================================================================== ---- a/libstdc++-v3/config/locale/gnu/c_locale.h -+++ b/libstdc++-v3/config/locale/gnu/c_locale.h -@@ -88,7 +88,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); -Index: b/libstdc++-v3/include/bits/basic_string.h -=================================================================== ---- a/libstdc++-v3/include/bits/basic_string.h -+++ b/libstdc++-v3/include/bits/basic_string.h -@@ -5239,7 +5239,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99) -+#if __cplusplus >= 201103L && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)) - - #include - -Index: b/libstdc++-v3/include/bits/locale_facets.tcc -=================================================================== ---- a/libstdc++-v3/include/bits/locale_facets.tcc -+++ b/libstdc++-v3/include/bits/locale_facets.tcc -@@ -992,7 +992,7 @@ - char __fbuf[16]; - __num_base::_S_format_float(__io, __fbuf, __mod); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // Precision is always used except for hexfloat format. - const bool __use_prec = - (__io.flags() & ios_base::floatfield) != ios_base::floatfield; -Index: b/libstdc++-v3/include/bits/locale_facets_nonio.tcc -=================================================================== ---- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc -+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc -@@ -578,7 +578,7 @@ - { - const locale __loc = __io.getloc(); - const ctype<_CharT>& __ctype = use_facet >(__loc); --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // First try a buffer perhaps big enough. - int __cs_size = 64; - char* __cs = static_cast(__builtin_alloca(__cs_size)); -Index: b/libstdc++-v3/include/c_compatibility/math.h -=================================================================== ---- a/libstdc++-v3/include/c_compatibility/math.h -+++ b/libstdc++-v3/include/c_compatibility/math.h -@@ -56,7 +56,7 @@ - using std::floor; - using std::fmod; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::fpclassify; - using std::isfinite; - using std::isinf; -Index: b/libstdc++-v3/include/c_compatibility/wchar.h -=================================================================== ---- a/libstdc++-v3/include/c_compatibility/wchar.h -+++ b/libstdc++-v3/include/c_compatibility/wchar.h -@@ -103,7 +103,7 @@ - using std::wmemset; - using std::wcsftime; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/c_global/cstdlib -=================================================================== ---- a/libstdc++-v3/include/c_global/cstdlib -+++ b/libstdc++-v3/include/c_global/cstdlib -@@ -195,7 +195,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs -Index: b/libstdc++-v3/include/c_global/cwchar -=================================================================== ---- a/libstdc++-v3/include/c_global/cwchar -+++ b/libstdc++-v3/include/c_global/cwchar -@@ -232,7 +232,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll -@@ -289,7 +289,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/c_std/cstdio -=================================================================== ---- a/libstdc++-v3/include/c_std/cstdio -+++ b/libstdc++-v3/include/c_std/cstdio -@@ -144,7 +144,7 @@ - using ::vsprintf; - } // namespace std - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf -Index: b/libstdc++-v3/include/c_std/cstdlib -=================================================================== ---- a/libstdc++-v3/include/c_std/cstdlib -+++ b/libstdc++-v3/include/c_std/cstdlib -@@ -192,7 +192,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs -Index: b/libstdc++-v3/include/c_std/cwchar -=================================================================== ---- a/libstdc++-v3/include/c_std/cwchar -+++ b/libstdc++-v3/include/c_std/cwchar -@@ -228,7 +228,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll -Index: b/libstdc++-v3/include/ext/vstring.h -=================================================================== ---- a/libstdc++-v3/include/ext/vstring.h -+++ b/libstdc++-v3/include/ext/vstring.h -@@ -2680,7 +2680,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99)) -+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__))) - - #include - -Index: b/libstdc++-v3/include/tr1/cstdio -=================================================================== ---- a/libstdc++-v3/include/tr1/cstdio -+++ b/libstdc++-v3/include/tr1/cstdio -@@ -33,7 +33,7 @@ - - #include - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { -Index: b/libstdc++-v3/include/tr1/cstdlib -=================================================================== ---- a/libstdc++-v3/include/tr1/cstdlib -+++ b/libstdc++-v3/include/tr1/cstdlib -@@ -35,7 +35,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { -Index: b/libstdc++-v3/include/tr1/cwchar -=================================================================== ---- a/libstdc++-v3/include/tr1/cwchar -+++ b/libstdc++-v3/include/tr1/cwchar -@@ -52,7 +52,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/tr1/stdlib.h -=================================================================== ---- a/libstdc++-v3/include/tr1/stdlib.h -+++ b/libstdc++-v3/include/tr1/stdlib.h -@@ -33,7 +33,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - using std::tr1::atoll; - using std::tr1::strtoll; -Index: b/libstdc++-v3/src/c++11/debug.cc -=================================================================== ---- a/libstdc++-v3/src/c++11/debug.cc -+++ b/libstdc++-v3/src/c++11/debug.cc -@@ -788,7 +788,7 @@ - int __n __attribute__ ((__unused__)), - const char* __fmt, _Tp __s) const throw () - { --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - std::snprintf(__buf, __n, __fmt, __s); - #else - std::sprintf(__buf, __fmt, __s); -Index: b/libstdc++-v3/include/c_global/cstdio -=================================================================== ---- a/libstdc++-v3/include/c_global/cstdio -+++ b/libstdc++-v3/include/c_global/cstdio -@@ -146,7 +146,7 @@ - using ::vsprintf; - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf diff --git a/package/gcc/5.5.0/860-cilk-wchar.patch b/package/gcc/5.5.0/860-cilk-wchar.patch deleted file mode 100644 index 1d9916f554..0000000000 --- a/package/gcc/5.5.0/860-cilk-wchar.patch +++ /dev/null @@ -1,56 +0,0 @@ -[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 ---- - libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - -Index: b/libcilkrts/include/cilk/reducer_min_max.h -=================================================================== ---- a/libcilkrts/include/cilk/reducer_min_max.h -+++ b/libcilkrts/include/cilk/reducer_min_max.h -@@ -3154,7 +3154,9 @@ - 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) -@@ -3306,7 +3308,9 @@ - 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) -@@ -3432,7 +3436,9 @@ - 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) -@@ -3584,7 +3590,9 @@ - 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) diff --git a/package/gcc/5.5.0/870-xtensa-add-mauto-litpools-option.patch b/package/gcc/5.5.0/870-xtensa-add-mauto-litpools-option.patch deleted file mode 100644 index aa1376c44c..0000000000 --- a/package/gcc/5.5.0/870-xtensa-add-mauto-litpools-option.patch +++ /dev/null @@ -1,290 +0,0 @@ -From 6d852ffb43b111a39162135c95249e749c4e285b Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 6 Aug 2015 01:16:02 +0300 -Subject: [PATCH] xtensa: add -mauto-litpools option - -With support from assembler this option allows compiling huge functions, -where single literal pool at the beginning of a function may not be -reachable by L32R instructions at its end. - -Currently assembler --auto-litpools option cannot deal with literals -used from multiple locations separated by more than 256 KBytes of code. -Don't turn constants into literals, instead use MOVI instruction to load -them into registers and let the assembler turn them into literals as -necessary. - -2015-08-12 Max Filippov -gcc/ - * config/xtensa/constraints.md (define_constraint "Y"): New - constraint. - * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools. - * config/xtensa/linux.h (ASM_SPEC): Likewise. - * config/xtensa/predicates.md (move_operand): Match constants - and symbols in the presence of TARGET_AUTO_LITPOOLS. - * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow - immediate references to TLS data. - (xtensa_emit_move_sequence): Don't force constants to memory in - the presence of TARGET_AUTO_LITPOOLS. - (print_operand): Add 'y' format, same as default, but capable of - printing SF mode constants as well. - * config/xtensa/xtensa.md (movsi_internal, movhi_internal) - (movsf_internal): Add movi pattern that loads literal. - (movsf, movdf): Don't force constants to memory in the presence - of TARGET_AUTO_LITPOOLS. - (movdf_internal): Add 'Y' constraint. - * config/xtensa/xtensa.opt (mauto-litpools): New option. - -Signed-off-by: Max Filippov ---- -Backported from: r226828 -Changes to ChangeLogs and documentation are dropped. - - gcc/config/xtensa/constraints.md | 5 +++++ - gcc/config/xtensa/elf.h | 4 +++- - gcc/config/xtensa/linux.h | 4 +++- - gcc/config/xtensa/predicates.md | 3 ++- - gcc/config/xtensa/xtensa.c | 19 ++++++++++++++++++- - gcc/config/xtensa/xtensa.md | 35 +++++++++++++++++++---------------- - gcc/config/xtensa/xtensa.opt | 4 ++++ - 7 files changed, 54 insertions(+), 20 deletions(-) - -diff --git a/gcc/config/xtensa/constraints.md b/gcc/config/xtensa/constraints.md -index 30f4c1f..773d4f9 100644 ---- a/gcc/config/xtensa/constraints.md -+++ b/gcc/config/xtensa/constraints.md -@@ -111,6 +111,11 @@ - (and (match_code "const_int") - (match_test "xtensa_mask_immediate (ival)"))) - -+(define_constraint "Y" -+ "A constant that can be used in relaxed MOVI instructions." -+ (and (match_code "const_int,const_double,const,symbol_ref,label_ref") -+ (match_test "TARGET_AUTO_LITPOOLS"))) -+ - ;; Memory constraints. Do not use define_memory_constraint here. Doing so - ;; causes reload to force some constants into the constant pool, but since - ;; the Xtensa constant pool can only be accessed with L32R instructions, it -diff --git a/gcc/config/xtensa/elf.h b/gcc/config/xtensa/elf.h -index e59bede..12056f7 100644 ---- a/gcc/config/xtensa/elf.h -+++ b/gcc/config/xtensa/elf.h -@@ -48,7 +48,9 @@ along with GCC; see the file COPYING3. If not see - %{mtarget-align:--target-align} \ - %{mno-target-align:--no-target-align} \ - %{mlongcalls:--longcalls} \ -- %{mno-longcalls:--no-longcalls}" -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" - - #undef LIB_SPEC - #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal" -diff --git a/gcc/config/xtensa/linux.h b/gcc/config/xtensa/linux.h -index 675aacf..5b0243a 100644 ---- a/gcc/config/xtensa/linux.h -+++ b/gcc/config/xtensa/linux.h -@@ -42,7 +42,9 @@ along with GCC; see the file COPYING3. If not see - %{mtarget-align:--target-align} \ - %{mno-target-align:--no-target-align} \ - %{mlongcalls:--longcalls} \ -- %{mno-longcalls:--no-longcalls}" -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - -diff --git a/gcc/config/xtensa/predicates.md b/gcc/config/xtensa/predicates.md -index e02209e..d7dfa11 100644 ---- a/gcc/config/xtensa/predicates.md -+++ b/gcc/config/xtensa/predicates.md -@@ -142,7 +142,8 @@ - (match_test "GET_MODE_CLASS (mode) == MODE_INT - && xtensa_simm12b (INTVAL (op))")) - (and (match_code "const_int,const_double,const,symbol_ref,label_ref") -- (match_test "TARGET_CONST16 && CONSTANT_P (op) -+ (match_test "(TARGET_CONST16 || TARGET_AUTO_LITPOOLS) -+ && CONSTANT_P (op) - && GET_MODE_SIZE (mode) % UNITS_PER_WORD == 0"))))) - - ;; Accept the floating point constant 1 in the appropriate mode. -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index eb039ba..206ff80 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -501,6 +501,9 @@ xtensa_valid_move (machine_mode mode, rtx *operands) - { - int dst_regnum = xt_true_regnum (operands[0]); - -+ if (xtensa_tls_referenced_p (operands[1])) -+ return FALSE; -+ - /* The stack pointer can only be assigned with a MOVSP opcode. */ - if (dst_regnum == STACK_POINTER_REGNUM) - return !TARGET_WINDOWED_ABI -@@ -1069,7 +1072,7 @@ xtensa_emit_move_sequence (rtx *operands, machine_mode mode) - return 1; - } - -- if (! TARGET_CONST16) -+ if (! TARGET_AUTO_LITPOOLS && ! TARGET_CONST16) - { - src = force_const_mem (SImode, src); - operands[1] = src; -@@ -2449,6 +2452,20 @@ print_operand (FILE *file, rtx x, int letter) - } - break; - -+ case 'y': -+ if (GET_CODE (x) == CONST_DOUBLE && -+ GET_MODE (x) == SFmode) -+ { -+ REAL_VALUE_TYPE r; -+ long l; -+ REAL_VALUE_FROM_CONST_DOUBLE (r, x); -+ REAL_VALUE_TO_TARGET_SINGLE (r, l); -+ fprintf (file, "0x%08lx", l); -+ break; -+ } -+ -+ /* fall through */ -+ - default: - if (GET_CODE (x) == REG || GET_CODE (x) == SUBREG) - fprintf (file, "%s", reg_names[xt_true_regnum (x)]); -diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md -index 6d84384..0e673a3 100644 ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -761,8 +761,8 @@ - }) - - (define_insn "movsi_internal" -- [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,W,a,a,U,*a,*A") -- (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,i,T,U,r,*A,*r"))] -+ [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,a,W,a,a,U,*a,*A") -+ (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,Y,i,T,U,r,*A,*r"))] - "xtensa_valid_move (SImode, operands)" - "@ - movi.n\t%0, %x1 -@@ -774,15 +774,16 @@ - mov\t%0, %1 - movsp\t%0, %1 - movi\t%0, %x1 -+ movi\t%0, %1 - const16\t%0, %t1\;const16\t%0, %b1 - %v1l32r\t%0, %1 - %v1l32i\t%0, %1 - %v0s32i\t%1, %0 - rsr\t%0, ACCLO - wsr\t%1, ACCLO" -- [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,load,load,store,rsr,wsr") -+ [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,move,load,load,store,rsr,wsr") - (set_attr "mode" "SI") -- (set_attr "length" "2,2,2,2,2,2,3,3,3,6,3,3,3,3,3")]) -+ (set_attr "length" "2,2,2,2,2,2,3,3,3,3,6,3,3,3,3,3")]) - - ;; 16-bit Integer moves - -@@ -796,21 +797,22 @@ - }) - - (define_insn "movhi_internal" -- [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,U,*a,*A") -- (match_operand:HI 1 "move_operand" "M,d,r,I,U,r,*A,*r"))] -+ [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,a,U,*a,*A") -+ (match_operand:HI 1 "move_operand" "M,d,r,I,Y,U,r,*A,*r"))] - "xtensa_valid_move (HImode, operands)" - "@ - movi.n\t%0, %x1 - mov.n\t%0, %1 - mov\t%0, %1 - movi\t%0, %x1 -+ movi\t%0, %1 - %v1l16ui\t%0, %1 - %v0s16i\t%1, %0 - rsr\t%0, ACCLO - wsr\t%1, ACCLO" -- [(set_attr "type" "move,move,move,move,load,store,rsr,wsr") -+ [(set_attr "type" "move,move,move,move,move,load,store,rsr,wsr") - (set_attr "mode" "HI") -- (set_attr "length" "2,2,3,3,3,3,3,3")]) -+ (set_attr "length" "2,2,3,3,3,3,3,3,3")]) - - ;; 8-bit Integer moves - -@@ -881,7 +883,7 @@ - (match_operand:SF 1 "general_operand" ""))] - "" - { -- if (!TARGET_CONST16 && CONSTANT_P (operands[1])) -+ if (!TARGET_CONST16 && !TARGET_AUTO_LITPOOLS && CONSTANT_P (operands[1])) - operands[1] = force_const_mem (SFmode, operands[1]); - - if ((!register_operand (operands[0], SFmode) -@@ -896,8 +898,8 @@ - }) - - (define_insn "movsf_internal" -- [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,W,a,a,U") -- (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,iF,T,U,r"))] -+ [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,a,W,a,a,U") -+ (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,Y,iF,T,U,r"))] - "((register_operand (operands[0], SFmode) - || register_operand (operands[1], SFmode)) - && !(FP_REG_P (xt_true_regnum (operands[0])) -@@ -912,13 +914,14 @@ - mov\t%0, %1 - wfr\t%0, %1 - rfr\t%0, %1 -+ movi\t%0, %y1 - const16\t%0, %t1\;const16\t%0, %b1 - %v1l32r\t%0, %1 - %v1l32i\t%0, %1 - %v0s32i\t%1, %0" -- [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,load,load,store") -+ [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,move,load,load,store") - (set_attr "mode" "SF") -- (set_attr "length" "3,3,3,2,2,2,3,3,3,6,3,3,3")]) -+ (set_attr "length" "3,3,3,2,2,2,3,3,3,3,6,3,3,3")]) - - (define_insn "*lsiu" - [(set (match_operand:SF 0 "register_operand" "=f") -@@ -991,7 +994,7 @@ - (match_operand:DF 1 "general_operand" ""))] - "" - { -- if (CONSTANT_P (operands[1]) && !TARGET_CONST16) -+ if (CONSTANT_P (operands[1]) && !TARGET_CONST16 && !TARGET_AUTO_LITPOOLS) - operands[1] = force_const_mem (DFmode, operands[1]); - - if (!register_operand (operands[0], DFmode) -@@ -1002,8 +1005,8 @@ - }) - - (define_insn_and_split "movdf_internal" -- [(set (match_operand:DF 0 "nonimmed_operand" "=a,W,a,a,U") -- (match_operand:DF 1 "move_operand" "r,iF,T,U,r"))] -+ [(set (match_operand:DF 0 "nonimmed_operand" "=a,a,W,a,a,U") -+ (match_operand:DF 1 "move_operand" "r,Y,iF,T,U,r"))] - "register_operand (operands[0], DFmode) - || register_operand (operands[1], DFmode)" - "#" -diff --git a/gcc/config/xtensa/xtensa.opt b/gcc/config/xtensa/xtensa.opt -index 2fd6cee..21c6e96 100644 ---- a/gcc/config/xtensa/xtensa.opt -+++ b/gcc/config/xtensa/xtensa.opt -@@ -38,6 +38,10 @@ mtext-section-literals - Target - Intersperse literal pools with code in the text section - -+mauto-litpools -+Target Report Mask(AUTO_LITPOOLS) -+Relax literals in assembler and place them automatically in the text section -+ - mserialize-volatile - Target Report Mask(SERIALIZE_VOLATILE) - -mno-serialize-volatile Do not serialize volatile memory references with MEMW instructions --- -1.8.1.4 - diff --git a/package/gcc/5.5.0/871-xtensa-reimplement-register-spilling.patch b/package/gcc/5.5.0/871-xtensa-reimplement-register-spilling.patch deleted file mode 100644 index 4056f8b8ed..0000000000 --- a/package/gcc/5.5.0/871-xtensa-reimplement-register-spilling.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 40507bf199440082ed69b777986d50c31efe2520 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Mon, 10 Aug 2015 21:35:20 +0300 -Subject: [PATCH 1/3] xtensa: reimplement register spilling - -Spilling windowed registers in userspace is much easier, more portable, -less error-prone and equally effective as in kernel. Now that register -spilling syscall is considered obsolete in the xtensa linux kernel -replace it with CALL12 followed by series of ENTRY in libgcc. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use - CALL12 followed by series of ENTRY to spill windowed registers. - (__xtensa_nonlocal_goto): Call __xtensa_libgcc_window_spill - instead of making linux spill syscall. - -Signed-off-by: Max Filippov ---- -Backported from: r226962 - - libgcc/config/xtensa/lib2funcs.S | 30 +++++++++++++++++++++++------- - 1 file changed, 23 insertions(+), 7 deletions(-) - -diff --git a/libgcc/config/xtensa/lib2funcs.S b/libgcc/config/xtensa/lib2funcs.S -index 4d451c8..ef0703f 100644 ---- a/libgcc/config/xtensa/lib2funcs.S -+++ b/libgcc/config/xtensa/lib2funcs.S -@@ -34,10 +34,29 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - .global __xtensa_libgcc_window_spill - .type __xtensa_libgcc_window_spill,@function - __xtensa_libgcc_window_spill: -- entry sp, 32 -- movi a2, 0 -- syscall -+ entry sp, 48 -+#if XCHAL_NUM_AREGS > 16 -+ call12 1f -+ retw -+ .align 4 -+1: -+ .rept (XCHAL_NUM_AREGS - 24) / 12 -+ _entry sp, 48 -+ mov a12, a0 -+ .endr -+ _entry sp, 16 -+#if XCHAL_NUM_AREGS % 12 == 0 -+ mov a4, a4 -+#elif XCHAL_NUM_AREGS % 12 == 4 -+ mov a8, a8 -+#elif XCHAL_NUM_AREGS % 12 == 8 -+ mov a12, a12 -+#endif - retw -+#else -+ mov a8, a8 -+ retw -+#endif - .size __xtensa_libgcc_window_spill, .-__xtensa_libgcc_window_spill - #endif - -@@ -61,10 +80,7 @@ __xtensa_nonlocal_goto: - entry sp, 32 - - /* Flush registers. */ -- mov a5, a2 -- movi a2, 0 -- syscall -- mov a2, a5 -+ call8 __xtensa_libgcc_window_spill - - /* Because the save area for a0-a3 is stored one frame below - the one identified by a2, the only way to restore those --- -1.8.1.4 - diff --git a/package/gcc/5.5.0/874-xtensa-add-uclinux-support.patch b/package/gcc/5.5.0/874-xtensa-add-uclinux-support.patch deleted file mode 100644 index 23db3d863c..0000000000 --- a/package/gcc/5.5.0/874-xtensa-add-uclinux-support.patch +++ /dev/null @@ -1,174 +0,0 @@ -From 70c2cb98fb129b4766b5da0f945dc41fd568c77a Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 22 Aug 2015 08:44:26 +0300 -Subject: [PATCH] xtensa: add uclinux support - -2015-10-03 Max Filippov -gcc/ - * config.gcc (xtensa*-*-uclinux*): New configuration. - * config/xtensa/uclinux.h: New file. - * config/xtensa/uclinux.opt: New file. - -libgcc/ - * config.host (xtensa*-*-uclinux*): New configuration. - -Signed-off-by: Max Filippov ---- -Backported from: r228450 - - gcc/config.gcc | 5 ++++ - gcc/config/xtensa/uclinux.h | 69 +++++++++++++++++++++++++++++++++++++++++++ - gcc/config/xtensa/uclinux.opt | 32 ++++++++++++++++++++ - libgcc/config.host | 5 ++++ - 4 files changed, 111 insertions(+) - create mode 100644 gcc/config/xtensa/uclinux.h - create mode 100644 gcc/config/xtensa/uclinux.opt - -diff --git a/gcc/config.gcc b/gcc/config.gcc -index c52f5a8..56797bd 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -2995,6 +2995,11 @@ xtensa*-*-linux*) - tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h" - tmake_file="${tmake_file} xtensa/t-xtensa" - ;; -+xtensa*-*-uclinux*) -+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/uclinux.h" -+ tmake_file="${tmake_file} xtensa/t-xtensa" -+ extra_options="${extra_options} xtensa/uclinux.opt" -+ ;; - am33_2.0-*-linux*) - tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h" - gas=yes gnu_ld=yes -diff --git a/gcc/config/xtensa/uclinux.h b/gcc/config/xtensa/uclinux.h -new file mode 100644 -index 0000000..4606020 ---- /dev/null -+++ b/gcc/config/xtensa/uclinux.h -@@ -0,0 +1,69 @@ -+/* Xtensa uClinux configuration. -+ Derived from the configuration for GCC for Intel i386 running Linux. -+ Copyright (C) 2001-2015 Free Software Foundation, Inc. -+ -+This file is part of GCC. -+ -+GCC 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, or (at your option) any later -+version. -+ -+GCC 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 GCC; see the file COPYING3. If not see -+. */ -+ -+#undef TARGET_OS_CPP_BUILTINS -+#define TARGET_OS_CPP_BUILTINS() \ -+ do \ -+ { \ -+ GNU_USER_TARGET_OS_CPP_BUILTINS (); \ -+ builtin_define ("__uClinux__"); \ -+ } \ -+ while (0) -+ -+#undef SUBTARGET_CPP_SPEC -+#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" -+ -+#undef SIZE_TYPE -+#define SIZE_TYPE "unsigned int" -+ -+#undef PTRDIFF_TYPE -+#define PTRDIFF_TYPE "int" -+ -+#undef WCHAR_TYPE -+#define WCHAR_TYPE "long int" -+ -+#undef WCHAR_TYPE_SIZE -+#define WCHAR_TYPE_SIZE 32 -+ -+#undef ASM_SPEC -+#define ASM_SPEC \ -+ "%{mtext-section-literals:--text-section-literals} \ -+ %{mno-text-section-literals:--no-text-section-literals} \ -+ %{mtarget-align:--target-align} \ -+ %{mno-target-align:--no-target-align} \ -+ %{mlongcalls:--longcalls} \ -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" -+ -+#undef LINK_SPEC -+#define LINK_SPEC "%{!no-elf2flt:%{!elf2flt*:-elf2flt}}" -+ -+#undef LOCAL_LABEL_PREFIX -+#define LOCAL_LABEL_PREFIX "." -+ -+/* Always enable "-fpic" for Xtensa Linux. */ -+#define XTENSA_ALWAYS_PIC 1 -+ -+#undef TARGET_LIBC_HAS_FUNCTION -+#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function -+ -+#undef DBX_REGISTER_NUMBER -+ -diff --git a/gcc/config/xtensa/uclinux.opt b/gcc/config/xtensa/uclinux.opt -new file mode 100644 -index 0000000..95ef777 ---- /dev/null -+++ b/gcc/config/xtensa/uclinux.opt -@@ -0,0 +1,32 @@ -+; Xtensa uClinux options. -+ -+; Copyright (C) 2015 Free Software Foundation, Inc. -+; -+; This file is part of GCC. -+; -+; GCC 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, or (at your option) any later -+; version. -+; -+; GCC 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 GCC; see the file COPYING3. If not see -+; . -+ -+; See the GCC internals manual (options.texi) for a description of -+; this file's format. -+ -+; Please try to keep this file in ASCII collating order. -+ -+elf2flt -+Driver -+ -+elf2flt= -+Driver JoinedOrMissing -+ -+; This comment is to ensure we retain the blank line above. -diff --git a/libgcc/config.host b/libgcc/config.host -index 2c64756..2ee92c1 100644 ---- a/libgcc/config.host -+++ b/libgcc/config.host -@@ -1295,6 +1295,11 @@ xtensa*-*-linux*) - tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" - md_unwind_header=xtensa/linux-unwind.h - ;; -+xtensa*-*-uclinux*) -+ tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" -+ md_unwind_header=xtensa/linux-unwind.h -+ extra_parts="$extra_parts crtbeginS.o crtbeginT.o crtendS.o" -+ ;; - am33_2.0-*-linux*) - # Don't need crtbeginT.o from *-*-linux* default. - extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" --- -1.8.1.4 - diff --git a/package/gcc/5.5.0/875-xtensa-implement-trap-pattern.patch b/package/gcc/5.5.0/875-xtensa-implement-trap-pattern.patch deleted file mode 100644 index 870b079e38..0000000000 --- a/package/gcc/5.5.0/875-xtensa-implement-trap-pattern.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 2b4b5775554c91a63ccae4ee566db696b633652e Mon Sep 17 00:00:00 2001 -From: jcmvbkbc -Date: Wed, 10 Jun 2015 15:07:40 +0000 -Subject: [PATCH] xtensa: implement trap pattern - -2015-06-10 Max Filippov -gcc/ - * config/xtensa/xtensa.h (TARGET_DEBUG): New definition. - * config/xtensa/xtensa.md (define_attr "type"): New type "trap". - (define_insn "trap"): New definition. - -Signed-off-by: Max Filippov - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224330 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - gcc/config/xtensa/xtensa.h | 1 + - gcc/config/xtensa/xtensa.md | 15 ++++++++++++++- - 2 files changed, 15 insertions(+), 1 deletion(-) - -diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h -index 615f741..fb8702c 100644 ---- a/gcc/config/xtensa/xtensa.h -+++ b/gcc/config/xtensa/xtensa.h -@@ -67,6 +67,7 @@ extern unsigned xtensa_current_frame_size; - #define TARGET_THREADPTR XCHAL_HAVE_THREADPTR - #define TARGET_LOOPS XCHAL_HAVE_LOOPS - #define TARGET_WINDOWED_ABI (XSHAL_ABI == XTHAL_ABI_WINDOWED) -+#define TARGET_DEBUG XCHAL_HAVE_DEBUG - - #define TARGET_DEFAULT \ - ((XCHAL_HAVE_L32R ? 0 : MASK_CONST16) | \ -diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md -index 6d84384..a577aa3 100644 ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -86,7 +86,7 @@ - ;; Attributes. - - (define_attr "type" -- "unknown,jump,call,load,store,move,arith,multi,nop,farith,fmadd,fconv,fload,fstore,mul16,mul32,div32,mac16,rsr,wsr,entry" -+ "unknown,jump,call,load,store,move,arith,multi,nop,farith,fmadd,fconv,fload,fstore,mul16,mul32,div32,mac16,rsr,wsr,entry,trap" - (const_string "unknown")) - - (define_attr "mode" -@@ -1764,6 +1764,19 @@ - [(set_attr "length" "0") - (set_attr "type" "nop")]) - -+(define_insn "trap" -+ [(trap_if (const_int 1) (const_int 0))] -+ "" -+{ -+ if (TARGET_DEBUG) -+ return "break\t1, 15"; -+ else -+ return (TARGET_DENSITY ? "ill.n" : "ill"); -+} -+ [(set_attr "type" "trap") -+ (set_attr "mode" "none") -+ (set_attr "length" "3")]) -+ - ;; Setting up a frame pointer is tricky for Xtensa because GCC doesn't - ;; know if a frame pointer is required until the reload pass, and - ;; because there may be an incoming argument value in the hard frame --- -2.1.4 - diff --git a/package/gcc/5.5.0/880-gcc-nios2-Add-IJMP_REGS-enum.patch b/package/gcc/5.5.0/880-gcc-nios2-Add-IJMP_REGS-enum.patch deleted file mode 100644 index 7a8c843e55..0000000000 --- a/package/gcc/5.5.0/880-gcc-nios2-Add-IJMP_REGS-enum.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 920a898d2a04933c13eb808a513bc5822e91f70a Mon Sep 17 00:00:00 2001 -From: sandra -Date: Tue, 12 May 2015 15:57:22 +0000 -Subject: [PATCH] gcc/nios2: Add IJMP_REGS enum - -2015-05-12 Chung-Lin Tang - Sandra Loosemore - - gcc/ - * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum - value. - (REG_CLASS_NAMES): Add "IJMP_REGS". - (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS. - * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to - use new "c" register constraint. - * config/nios2/constraint.md (c): New register constraint - corresponding to IJMP_REGS. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223082 138bc75d-0d04-0410-961f-82ee72b054a4 - -[Romain: rebase on gcc 5.4] -Signed-off-by: Romain Naour ---- - gcc/config/nios2/constraints.md | 3 +++ - gcc/config/nios2/nios2.h | 11 +++++++---- - gcc/config/nios2/nios2.md | 4 ++-- - 3 files changed, 12 insertions(+), 6 deletions(-) - -diff --git a/gcc/config/nios2/constraints.md b/gcc/config/nios2/constraints.md -index f4bd9f7..735f892 100644 ---- a/gcc/config/nios2/constraints.md -+++ b/gcc/config/nios2/constraints.md -@@ -39,6 +39,9 @@ - - ;; Register constraints - -+(define_register_constraint "c" "IJMP_REGS" -+ "A register suitable for an indirect jump.") -+ - (define_register_constraint "j" "SIB_REGS" - "A register suitable for an indirect sibcall.") - -diff --git a/gcc/config/nios2/nios2.h b/gcc/config/nios2/nios2.h -index 117983d..7c329ae 100644 ---- a/gcc/config/nios2/nios2.h -+++ b/gcc/config/nios2/nios2.h -@@ -173,6 +173,7 @@ enum reg_class - { - NO_REGS, - SIB_REGS, -+ IJMP_REGS, - GP_REGS, - ALL_REGS, - LIM_REG_CLASSES -@@ -183,6 +184,7 @@ enum reg_class - #define REG_CLASS_NAMES \ - { "NO_REGS", \ - "SIB_REGS", \ -+ "IJMP_REGS", \ - "GP_REGS", \ - "ALL_REGS" } - -@@ -190,10 +192,11 @@ enum reg_class - - #define REG_CLASS_CONTENTS \ - { \ -- /* NO_REGS */ { 0, 0}, \ -- /* SIB_REGS */ { 0xfe0c, 0}, \ -- /* GP_REGS */ {~0, 0}, \ -- /* ALL_REGS */ {~0,~0} \ -+ /* NO_REGS */ { 0, 0}, \ -+ /* SIB_REGS */ { 0xfe0c, 0}, \ -+ /* IJMP_REGS */ { 0x7fffffff, 0}, \ -+ /* GP_REGS */ {~0, 0}, \ -+ /* ALL_REGS */ {~0,~0} \ - } - - -diff --git a/gcc/config/nios2/nios2.md b/gcc/config/nios2/nios2.md -index 7b35d269..36ef101 100644 ---- a/gcc/config/nios2/nios2.md -+++ b/gcc/config/nios2/nios2.md -@@ -697,7 +697,7 @@ - ; check or adjust for overflow. - - (define_insn "indirect_jump" -- [(set (pc) (match_operand:SI 0 "register_operand" "r"))] -+ [(set (pc) (match_operand:SI 0 "register_operand" "c"))] - "" - "jmp\\t%0" - [(set_attr "type" "control")]) -@@ -811,7 +811,7 @@ - - (define_insn "*tablejump" - [(set (pc) -- (match_operand:SI 0 "register_operand" "r")) -+ (match_operand:SI 0 "register_operand" "c")) - (use (label_ref (match_operand 1 "" "")))] - "" - "jmp\\t%0" --- -2.5.5 - diff --git a/package/gcc/5.5.0/890-fix-m68k-compile.patch b/package/gcc/5.5.0/890-fix-m68k-compile.patch deleted file mode 100644 index 6e63de0cd1..0000000000 --- a/package/gcc/5.5.0/890-fix-m68k-compile.patch +++ /dev/null @@ -1,15 +0,0 @@ -remove unused header, which breaks the toolchain building - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-5.3.0.orig/libgcc/config/m68k/linux-atomic.c gcc-5.3.0/libgcc/config/m68k/linux-atomic.c ---- gcc-5.3.0.orig/libgcc/config/m68k/linux-atomic.c 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/libgcc/config/m68k/linux-atomic.c 2016-03-19 09:25:07.000000000 +0100 -@@ -33,7 +33,6 @@ - using the kernel helper defined below. There is no support for - 64-bit operations yet. */ - --#include - #include - - #ifndef __NR_atomic_cmpxchg_32 diff --git a/package/gcc/5.5.0/900-libitm-fixes-for-musl-support.patch b/package/gcc/5.5.0/900-libitm-fixes-for-musl-support.patch deleted file mode 100644 index fdf4ee724d..0000000000 --- a/package/gcc/5.5.0/900-libitm-fixes-for-musl-support.patch +++ /dev/null @@ -1,65 +0,0 @@ -From: ktkachov -Date: Wed, 22 Apr 2015 14:11:25 +0000 (+0000) -Subject: libitm fixes for musl support -X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=e53a4d49c3d03ab8eaddb073cf972c1c46d75338 - -libitm fixes for musl support - -On behalf of Szabolcs.Nagy@arm.com - -2015-04-22 Gregor Richards - - * config/arm/hwcap.cc: Use fcntl.h instead of sys/fcntl.h. - * config/linux/x86/tls.h: Only use __GLIBC_PREREQ if defined. - - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222325 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - -Index: b/libitm/config/arm/hwcap.cc -=================================================================== ---- a/libitm/config/arm/hwcap.cc -+++ b/libitm/config/arm/hwcap.cc -@@ -40,7 +40,7 @@ - - #ifdef __linux__ - #include --#include -+#include - #include - - static void __attribute__((constructor)) -Index: b/libitm/config/linux/x86/tls.h -=================================================================== ---- a/libitm/config/linux/x86/tls.h -+++ b/libitm/config/linux/x86/tls.h -@@ -25,16 +25,19 @@ - #ifndef LIBITM_X86_TLS_H - #define LIBITM_X86_TLS_H 1 - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - /* Use slots in the TCB head rather than __thread lookups. - GLIBC has reserved words 10 through 13 for TM. */ - #define HAVE_ARCH_GTM_THREAD 1 - #define HAVE_ARCH_GTM_THREAD_DISP 1 - #endif -+#endif - - #include "config/generic/tls.h" - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - namespace GTM HIDDEN { - - #ifdef __x86_64__ -@@ -101,5 +104,6 @@ - - } // namespace GTM - #endif /* >= GLIBC 2.10 */ -+#endif - - #endif // LIBITM_X86_TLS_H diff --git a/package/gcc/5.5.0/901-fixincludes-update-for-musl-support.patch b/package/gcc/5.5.0/901-fixincludes-update-for-musl-support.patch deleted file mode 100644 index 13c08d6b96..0000000000 --- a/package/gcc/5.5.0/901-fixincludes-update-for-musl-support.patch +++ /dev/null @@ -1,32 +0,0 @@ -From: ktkachov -Date: Wed, 22 Apr 2015 14:18:16 +0000 (+0000) -Subject: fixincludes update for musl support -X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=2dc727de2e87c2756a514cbb43cea23c99deaa3d - -fixincludes update for musl support - -On behalf of Szabolcs.Nagy@arm.com - -2015-04-22 Gregor Richards - - * mkfixinc.sh: Add *-musl* with no fixes. - - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222327 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - -Index: b/fixincludes/mkfixinc.sh -=================================================================== ---- a/fixincludes/mkfixinc.sh -+++ b/fixincludes/mkfixinc.sh -@@ -19,7 +19,8 @@ - powerpc-*-eabi* | \ - powerpc-*-rtems* | \ - powerpcle-*-eabisim* | \ -- powerpcle-*-eabi* ) -+ powerpcle-*-eabi* | \ -+ *-musl* ) - # IF there is no include fixing, - # THEN create a no-op fixer and exit - (echo "#! /bin/sh" ; echo "exit 0" ) > ${target} diff --git a/package/gcc/5.5.0/902-unwind-fix-for-musl.patch b/package/gcc/5.5.0/902-unwind-fix-for-musl.patch deleted file mode 100644 index ef470540d9..0000000000 --- a/package/gcc/5.5.0/902-unwind-fix-for-musl.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: ktkachov -Date: Wed, 22 Apr 2015 14:20:01 +0000 (+0000) -Subject: unwind fix for musl -X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=a2e31d0681d8a47389b8a3552622fbd9827bcef4 - -unwind fix for musl - -On behalf of szabolcs.nagy@arm.com - -2015-04-22 Gregor Richards - Szabolcs Nagy - - * unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME): Define it on - Linux if target provides dl_iterate_phdr. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222328 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - -Index: b/libgcc/unwind-dw2-fde-dip.c -=================================================================== ---- a/libgcc/unwind-dw2-fde-dip.c -+++ b/libgcc/unwind-dw2-fde-dip.c -@@ -59,6 +59,12 @@ - - #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ - && defined(TARGET_DL_ITERATE_PHDR) \ -+ && defined(__linux__) -+# define USE_PT_GNU_EH_FRAME -+#endif -+ -+#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ -+ && defined(TARGET_DL_ITERATE_PHDR) \ - && (defined(__DragonFly__) || defined(__FreeBSD__)) - # define ElfW __ElfN - # define USE_PT_GNU_EH_FRAME diff --git a/package/gcc/5.5.0/903-libstdc++-libgfortran-gthr-workaround-for-musl.patch b/package/gcc/5.5.0/903-libstdc++-libgfortran-gthr-workaround-for-musl.patch deleted file mode 100644 index c852131258..0000000000 --- a/package/gcc/5.5.0/903-libstdc++-libgfortran-gthr-workaround-for-musl.patch +++ /dev/null @@ -1,80 +0,0 @@ -From: ktkachov -Date: Wed, 22 Apr 2015 14:24:11 +0000 (+0000) -Subject: libstdc++, libgfortran gthr workaround for musl -X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=1e5f711c11cb80ce609db9e9c1d8b2da0f7b5b61 - -libstdc++, libgfortran gthr workaround for musl - -On behalf of szabolcs.nagy@arm.com - -[libstdc++-v3/] -2015-04-22 Szabolcs Nagy - - * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define. - * configure.host (os_include_dir): Set to "os/generic" for linux-musl*. - -[libgfortran/] -2015-04-22 Szabolcs Nagy - - * acinclude.m4 (GTHREAD_USE_WEAK): Define as 0 for *-*-musl*. - * configure: Regenerate. - - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222329 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - -Index: b/libgfortran/acinclude.m4 -=================================================================== ---- a/libgfortran/acinclude.m4 -+++ b/libgfortran/acinclude.m4 -@@ -100,7 +100,7 @@ - [Define to 1 if the target supports #pragma weak]) - fi - case "$host" in -- *-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* ) -+ *-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* | *-*-musl* ) - AC_DEFINE(GTHREAD_USE_WEAK, 0, - [Define to 0 if the target shouldn't use #pragma weak]) - ;; -Index: b/libgfortran/configure -=================================================================== ---- a/libgfortran/configure -+++ b/libgfortran/configure -@@ -26447,7 +26447,7 @@ - - fi - case "$host" in -- *-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* ) -+ *-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* | *-*-musl* ) - - $as_echo "#define GTHREAD_USE_WEAK 0" >>confdefs.h - -Index: b/libstdc++-v3/config/os/generic/os_defines.h -=================================================================== ---- a/libstdc++-v3/config/os/generic/os_defines.h -+++ b/libstdc++-v3/config/os/generic/os_defines.h -@@ -33,4 +33,9 @@ - // System-specific #define, typedefs, corrections, etc, go here. This - // file will come before all others. - -+// Disable the weak reference logic in gthr.h for os/generic because it -+// is broken on every platform unless there is implementation specific -+// workaround in gthr-posix.h and at link-time for static linking. -+#define _GLIBCXX_GTHREAD_USE_WEAK 0 -+ - #endif -Index: b/libstdc++-v3/configure.host -=================================================================== ---- a/libstdc++-v3/configure.host -+++ b/libstdc++-v3/configure.host -@@ -271,6 +271,9 @@ - freebsd*) - os_include_dir="os/bsd/freebsd" - ;; -+ linux-musl*) -+ os_include_dir="os/generic" -+ ;; - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) - if [ "$uclibc" = "yes" ]; then - os_include_dir="os/uclibc" diff --git a/package/gcc/5.5.0/904-musl-libc-config.patch b/package/gcc/5.5.0/904-musl-libc-config.patch deleted file mode 100644 index 85491406cf..0000000000 --- a/package/gcc/5.5.0/904-musl-libc-config.patch +++ /dev/null @@ -1,285 +0,0 @@ -From: ktkachov -Date: Fri, 8 May 2015 08:25:47 +0000 (+0000) -Subject: [PATCH 2/13] musl libc config -X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=a9173ceabaf29c16f8ef226fbf98af373a4b2ceb - -[PATCH 2/13] musl libc config - -2015-05-08 Gregor Richards - Szabolcs Nagy - - * config.gcc (LIBC_MUSL): New tm_defines macro. - * config/linux.h (OPTION_MUSL): Define. - (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,) - (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,) - (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) - (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) - (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. - * config/linux.opt (mmusl): New option. - * doc/invoke.texi (GNU/Linux Options): Document -mmusl. - * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*. - (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*. - * configure: Regenerate. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222904 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - -Index: b/gcc/config.gcc -=================================================================== ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -575,7 +575,7 @@ - esac - - # Common C libraries. --tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3" -+tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4" - - # 32-bit x86 processors supported by --with-arch=. Each processor - # MUST be separated by exactly one space. -@@ -720,6 +720,9 @@ - *-*-*uclibc*) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" - ;; -+ *-*-*musl*) -+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL" -+ ;; - *) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" - ;; -Index: b/gcc/config/linux.h -=================================================================== ---- a/gcc/config/linux.h -+++ b/gcc/config/linux.h -@@ -32,10 +32,12 @@ - #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) - #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) - #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) -+#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL) - #else - #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) - #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC) - #define OPTION_BIONIC (linux_libc == LIBC_BIONIC) -+#define OPTION_MUSL (linux_libc == LIBC_MUSL) - #endif - - #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ -@@ -50,21 +52,25 @@ - } while (0) - - /* Determine which dynamic linker to use depending on whether GLIBC or -- uClibc or Bionic is the default C library and whether -- -muclibc or -mglibc or -mbionic has been passed to change the default. */ -+ uClibc or Bionic or musl is the default C library and whether -+ -muclibc or -mglibc or -mbionic or -mmusl has been passed to change -+ the default. */ - --#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3) \ -- "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}" -+#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \ -+ "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}" - - #if DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M) - #elif DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M) - #elif DEFAULT_LIBC == LIBC_BIONIC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M) -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B) - #else - #error "Unsupported DEFAULT_LIBC" - #endif /* DEFAULT_LIBC */ -@@ -81,24 +87,100 @@ - #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" - #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" - #define BIONIC_DYNAMIC_LINKERX32 "/system/bin/linkerx32" -+/* Should be redefined for each target that supports musl. */ -+#define MUSL_DYNAMIC_LINKER "/dev/null" -+#define MUSL_DYNAMIC_LINKER32 "/dev/null" -+#define MUSL_DYNAMIC_LINKER64 "/dev/null" -+#define MUSL_DYNAMIC_LINKERX32 "/dev/null" - - #define GNU_USER_DYNAMIC_LINKER \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ -- BIONIC_DYNAMIC_LINKER) -+ BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - #define GNU_USER_DYNAMIC_LINKER32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \ -- BIONIC_DYNAMIC_LINKER32) -+ BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) - #define GNU_USER_DYNAMIC_LINKER64 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \ -- BIONIC_DYNAMIC_LINKER64) -+ BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) - #define GNU_USER_DYNAMIC_LINKERX32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \ -- BIONIC_DYNAMIC_LINKERX32) -+ BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKERX32) - - /* Whether we have Bionic libc runtime */ - #undef TARGET_HAS_BIONIC - #define TARGET_HAS_BIONIC (OPTION_BIONIC) - -+/* musl avoids problematic includes by rearranging the include directories. -+ * Unfortunately, this is mostly duplicated from cppdefault.c */ -+#if DEFAULT_LIBC == LIBC_MUSL -+#define INCLUDE_DEFAULTS_MUSL_GPP \ -+ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \ -+ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \ -+ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, -+ -+#ifdef LOCAL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_LOCAL \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_LOCAL -+#endif -+ -+#ifdef PREFIX_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_PREFIX -+#endif -+ -+#ifdef CROSS_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_CROSS \ -+ { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#ifdef TOOL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_TOOL \ -+ { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_TOOL -+#endif -+ -+#ifdef NATIVE_SYSTEM_HEADER_DIR -+#define INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_NATIVE -+#endif -+ -+#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT) -+# undef INCLUDE_DEFAULTS_MUSL_LOCAL -+# define INCLUDE_DEFAULTS_MUSL_LOCAL -+# undef INCLUDE_DEFAULTS_MUSL_NATIVE -+# define INCLUDE_DEFAULTS_MUSL_NATIVE -+#else -+# undef INCLUDE_DEFAULTS_MUSL_CROSS -+# define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#undef INCLUDE_DEFAULTS -+#define INCLUDE_DEFAULTS \ -+ { \ -+ INCLUDE_DEFAULTS_MUSL_GPP \ -+ INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ INCLUDE_DEFAULTS_MUSL_CROSS \ -+ INCLUDE_DEFAULTS_MUSL_TOOL \ -+ INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ -+ { 0, 0, 0, 0, 0, 0 } \ -+ } -+#endif -+ - #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ - /* This is a *uclinux* target. We don't define below macros to normal linux - versions, because doing so would require *uclinux* targets to include -Index: b/gcc/config/linux.opt -=================================================================== ---- a/gcc/config/linux.opt -+++ b/gcc/config/linux.opt -@@ -28,5 +28,9 @@ - Use GNU C library - - muclibc --Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic) -+Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mmusl) - Use uClibc C library -+ -+mmusl -+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mbionic) -+Use musl C library -Index: b/gcc/configure -=================================================================== ---- a/gcc/configure -+++ b/gcc/configure -@@ -27809,6 +27813,9 @@ - gcc_cv_target_dl_iterate_phdr=no - fi - ;; -+ *-linux-musl*) -+ gcc_cv_target_dl_iterate_phdr=yes -+ ;; - esac - - if test x$gcc_cv_target_dl_iterate_phdr = xyes; then -Index: b/gcc/configure.ac -=================================================================== ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -5298,6 +5302,9 @@ - gcc_cv_target_dl_iterate_phdr=no - fi - ;; -+ *-linux-musl*) -+ gcc_cv_target_dl_iterate_phdr=yes -+ ;; - esac - GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR]) - if test x$gcc_cv_target_dl_iterate_phdr = xyes; then -Index: b/gcc/doc/invoke.texi -=================================================================== ---- a/gcc/doc/invoke.texi -+++ b/gcc/doc/invoke.texi -@@ -667,7 +667,7 @@ - -mcpu=@var{cpu}} - - @emph{GNU/Linux Options} --@gccoptlist{-mglibc -muclibc -mbionic -mandroid @gol -+@gccoptlist{-mglibc -muclibc -mmusl -mbionic -mandroid @gol - -tno-android-cc -tno-android-ld} - - @emph{H8/300 Options} -@@ -15324,13 +15324,19 @@ - @item -mglibc - @opindex mglibc - Use the GNU C library. This is the default except --on @samp{*-*-linux-*uclibc*} and @samp{*-*-linux-*android*} targets. -+on @samp{*-*-linux-*uclibc*}, @samp{*-*-linux-*musl*} and -+@samp{*-*-linux-*android*} targets. - - @item -muclibc - @opindex muclibc - Use uClibc C library. This is the default on - @samp{*-*-linux-*uclibc*} targets. - -+@item -mmusl -+@opindex mmusl -+Use the musl C library. This is the default on -+@samp{*-*-linux-*musl*} targets. -+ - @item -mbionic - @opindex mbionic - Use Bionic C library. This is the default on diff --git a/package/gcc/5.5.0/905-add-musl-support-to-gcc.patch b/package/gcc/5.5.0/905-add-musl-support-to-gcc.patch deleted file mode 100644 index 92e743685b..0000000000 --- a/package/gcc/5.5.0/905-add-musl-support-to-gcc.patch +++ /dev/null @@ -1,130 +0,0 @@ -From: ktkachov -Date: Fri, 8 May 2015 08:30:40 +0000 (+0000) -Subject: [PATCH 0/13] Add musl support to GCC -X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=f2d678afa5b8385d763b93772d73d6bf80a9739e - -[PATCH 0/13] Add musl support to GCC - -2015-05-08 Szabolcs Nagy - - * config/glibc-stdint.h (OPTION_MUSL): Define. - (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE): - Change the definition based on OPTION_MUSL for 64 bit targets. - * config/linux.h (OPTION_MUSL): Redefine. - * config/alpha/linux.h (OPTION_MUSL): Redefine. - * config/rs6000/linux.h (OPTION_MUSL): Redefine. - * config/rs6000/linux64.h (OPTION_MUSL): Redefine. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222905 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - -Index: b/gcc/config/alpha/linux.h -=================================================================== ---- a/gcc/config/alpha/linux.h -+++ b/gcc/config/alpha/linux.h -@@ -61,10 +61,14 @@ - #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) - #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) - #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) -+#undef OPTION_MUSL -+#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL) - #else - #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) - #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC) - #define OPTION_BIONIC (linux_libc == LIBC_BIONIC) -+#undef OPTION_MUSL -+#define OPTION_MUSL (linux_libc == LIBC_MUSL) - #endif - - /* Determine what functions are present at the runtime; -Index: b/gcc/config/glibc-stdint.h -=================================================================== ---- a/gcc/config/glibc-stdint.h -+++ b/gcc/config/glibc-stdint.h -@@ -22,6 +22,12 @@ - see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - . */ - -+/* Systems using musl libc should use this header and make sure -+ OPTION_MUSL is defined correctly before using the TYPE macros. */ -+#ifndef OPTION_MUSL -+#define OPTION_MUSL 0 -+#endif -+ - #define SIG_ATOMIC_TYPE "int" - - #define INT8_TYPE "signed char" -@@ -43,12 +49,12 @@ - #define UINT_LEAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int") - - #define INT_FAST8_TYPE "signed char" --#define INT_FAST16_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "int") --#define INT_FAST32_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "int") -+#define INT_FAST16_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long int" : "int") -+#define INT_FAST32_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long int" : "int") - #define INT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int") - #define UINT_FAST8_TYPE "unsigned char" --#define UINT_FAST16_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "unsigned int") --#define UINT_FAST32_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "unsigned int") -+#define UINT_FAST16_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long unsigned int" : "unsigned int") -+#define UINT_FAST32_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long unsigned int" : "unsigned int") - #define UINT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int") - - #define INTPTR_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "int") -Index: b/gcc/config/linux.h -=================================================================== ---- a/gcc/config/linux.h -+++ b/gcc/config/linux.h -@@ -32,11 +32,13 @@ - #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) - #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) - #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) -+#undef OPTION_MUSL - #define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL) - #else - #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) - #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC) - #define OPTION_BIONIC (linux_libc == LIBC_BIONIC) -+#undef OPTION_MUSL - #define OPTION_MUSL (linux_libc == LIBC_MUSL) - #endif - -Index: b/gcc/config/rs6000/linux.h -=================================================================== ---- a/gcc/config/rs6000/linux.h -+++ b/gcc/config/rs6000/linux.h -@@ -30,10 +30,14 @@ - #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) - #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) - #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) -+#undef OPTION_MUSL -+#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL) - #else - #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) - #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC) - #define OPTION_BIONIC (linux_libc == LIBC_BIONIC) -+#undef OPTION_MUSL -+#define OPTION_MUSL (linux_libc == LIBC_MUSL) - #endif - - /* Determine what functions are present at the runtime; -Index: b/gcc/config/rs6000/linux64.h -=================================================================== ---- a/gcc/config/rs6000/linux64.h -+++ b/gcc/config/rs6000/linux64.h -@@ -299,10 +299,14 @@ - #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) - #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) - #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) -+#undef OPTION_MUSL -+#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL) - #else - #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) - #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC) - #define OPTION_BIONIC (linux_libc == LIBC_BIONIC) -+#undef OPTION_MUSL -+#define OPTION_MUSL (linux_libc == LIBC_MUSL) - #endif - - /* Determine what functions are present at the runtime; diff --git a/package/gcc/5.5.0/906-mips-musl-support.patch b/package/gcc/5.5.0/906-mips-musl-support.patch deleted file mode 100644 index 6b473f9898..0000000000 --- a/package/gcc/5.5.0/906-mips-musl-support.patch +++ /dev/null @@ -1,37 +0,0 @@ -From: ktkachov -Date: Fri, 8 May 2015 15:16:50 +0000 (+0000) -Subject: [PATCH 6/13] mips musl support -X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=2550b6a866c887472b587bef87d433c51cf1ebc8 - -[PATCH 6/13] mips musl support - -2015-05-08 Gregor Richards - Szabolcs Nagy - - * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define. - (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define. - (GNU_USER_DYNAMIC_LINKERN32): Update. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222915 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - -Index: b/gcc/config/mips/linux.h -=================================================================== ---- a/gcc/config/mips/linux.h -+++ b/gcc/config/mips/linux.h -@@ -37,7 +37,13 @@ - #define UCLIBC_DYNAMIC_LINKERN32 \ - "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}" - -+#undef MUSL_DYNAMIC_LINKER32 -+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips%{EL:el}%{msoft-float:-sf}.so.1" -+#undef MUSL_DYNAMIC_LINKER64 -+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-mips64%{EL:el}%{msoft-float:-sf}.so.1" -+#define MUSL_DYNAMIC_LINKERN32 "/lib/ld-musl-mipsn32%{EL:el}%{msoft-float:-sf}.so.1" -+ - #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" - #define GNU_USER_DYNAMIC_LINKERN32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \ -- BIONIC_DYNAMIC_LINKERN32) -+ BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKERN32) diff --git a/package/gcc/5.5.0/907-x86-musl-support.patch b/package/gcc/5.5.0/907-x86-musl-support.patch deleted file mode 100644 index 3f2fe5df77..0000000000 --- a/package/gcc/5.5.0/907-x86-musl-support.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: ktkachov -Date: Fri, 15 May 2015 13:20:01 +0000 (+0000) -Subject: [PATCH 9/13] x86 musl support -X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=5551c8d927c17f60837f15f8dfe46f945ba3fa9c - -[PATCH 9/13] x86 musl support - -On behalf of Szabolcs Nagy. - -2015-05-15 Gregor Richards - - * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define. - * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define. - (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223218 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - -Index: b/gcc/config/i386/linux.h -=================================================================== ---- a/gcc/config/i386/linux.h -+++ b/gcc/config/i386/linux.h -@@ -21,3 +21,6 @@ - - #define GNU_USER_LINK_EMULATION "elf_i386" - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+ -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" -Index: b/gcc/config/i386/linux64.h -=================================================================== ---- a/gcc/config/i386/linux64.h -+++ b/gcc/config/i386/linux64.h -@@ -30,3 +30,10 @@ - #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" - #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" - #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" -+ -+#undef MUSL_DYNAMIC_LINKER32 -+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1" -+#undef MUSL_DYNAMIC_LINKER64 -+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1" -+#undef MUSL_DYNAMIC_LINKERX32 -+#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1" diff --git a/package/gcc/5.5.0/908-arm-musl-support.patch b/package/gcc/5.5.0/908-arm-musl-support.patch deleted file mode 100644 index 906355a79a..0000000000 --- a/package/gcc/5.5.0/908-arm-musl-support.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: ktkachov -Date: Wed, 27 May 2015 13:17:11 +0000 (+0000) -Subject: [PATCH 4/13] arm musl support -X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=de799bd087ab9a179768fea75bd195a31d3432a4 - -[PATCH 4/13] arm musl support - -On behalf of szabolcs.nagy@arm.com - -2015-05-27 Gregor Richards - - * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223749 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - -Index: b/gcc/config/arm/linux-eabi.h -=================================================================== ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -77,6 +77,23 @@ - %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \ - %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}" - -+/* For ARM musl currently supports four dynamic linkers: -+ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI -+ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI -+ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB -+ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB -+ musl does not support the legacy OABI mode. -+ All the dynamic linkers live in /lib. -+ We default to soft-float, EL. */ -+#undef MUSL_DYNAMIC_LINKER -+#if TARGET_BIG_ENDIAN_DEFAULT -+#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}" -+#endif -+#define MUSL_DYNAMIC_LINKER \ -+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1" -+ - /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to - use the GNU/Linux version, not the generic BPABI version. */ - #undef LINK_SPEC diff --git a/package/gcc/5.5.0/909-aarch64-musl-support.patch b/package/gcc/5.5.0/909-aarch64-musl-support.patch deleted file mode 100644 index 3d032f51bc..0000000000 --- a/package/gcc/5.5.0/909-aarch64-musl-support.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: jgreenhalgh -Date: Wed, 27 May 2015 16:46:39 +0000 (+0000) -Subject: [PATCH 3/13] aarch64 musl support -X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=b3ff21cf0531be91bc3fb8200296a7633090ec78 - -[PATCH 3/13] aarch64 musl support - -gcc/Changelog: - -2015-05-27 Gregor Richards - Szabolcs Nagy - - * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define. - - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223766 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - -Index: b/gcc/config/aarch64/aarch64-linux.h -=================================================================== ---- a/gcc/config/aarch64/aarch64-linux.h -+++ b/gcc/config/aarch64/aarch64-linux.h -@@ -23,6 +23,9 @@ - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" - -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" -+ - #undef ASAN_CC1_SPEC - #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}" - diff --git a/package/gcc/5.5.0/910-microblaze-musl-and-uclibc.patch b/package/gcc/5.5.0/910-microblaze-musl-and-uclibc.patch deleted file mode 100644 index 6fe4993406..0000000000 --- a/package/gcc/5.5.0/910-microblaze-musl-and-uclibc.patch +++ /dev/null @@ -1,36 +0,0 @@ -Add dynamic linker support for uClibc-ng/musl - -Signed-off-by: Waldemar Brodkorb - - -diff -Nur gcc-5.4.0.orig/gcc/config/microblaze/linux.h gcc-5.4.0/gcc/config/microblaze/linux.h ---- gcc-5.4.0.orig/gcc/config/microblaze/linux.h 2015-05-28 16:08:19.000000000 +0200 -+++ gcc-5.4.0/gcc/config/microblaze/linux.h 2016-10-23 17:09:46.962010871 +0200 -@@ -28,7 +28,26 @@ - #undef TLS_NEEDS_GOT - #define TLS_NEEDS_GOT 1 - --#define DYNAMIC_LINKER "/lib/ld.so.1" -+#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" -+#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" -+ -+#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */ -+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" -+#endif -+ -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1" -+ -+#if DEFAULT_LIBC == LIBC_UCLIBC -+#define DYNAMIC_LINKER UCLIBC_DYNAMIC_LINKER -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER -+#else -+#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER -+#endif -+ - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ - { "dynamic_linker", DYNAMIC_LINKER } diff --git a/package/gcc/5.5.0/911-ppc-musl-support.patch b/package/gcc/5.5.0/911-ppc-musl-support.patch deleted file mode 100644 index f4905a4232..0000000000 --- a/package/gcc/5.5.0/911-ppc-musl-support.patch +++ /dev/null @@ -1,75 +0,0 @@ -Add support for musl on ppc32 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-5.4.0.orig/gcc/config/rs6000/sysv4.h gcc-5.4.0/gcc/config/rs6000/sysv4.h ---- gcc-5.4.0.orig/gcc/config/rs6000/sysv4.h 2015-09-24 15:46:45.000000000 +0200 -+++ gcc-5.4.0/gcc/config/rs6000/sysv4.h 2016-11-27 13:12:33.226953738 +0100 -@@ -537,6 +537,9 @@ - #ifndef CC1_SECURE_PLT_DEFAULT_SPEC - #define CC1_SECURE_PLT_DEFAULT_SPEC "" - #endif -+#ifndef LINK_SECURE_PLT_DEFAULT_SPEC -+#define LINK_SECURE_PLT_DEFAULT_SPEC "" -+#endif - - /* Pass -G xxx to the compiler. */ - #undef CC1_SPEC -@@ -757,17 +760,23 @@ - - #define LINK_START_LINUX_SPEC "" - -+#define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","") -+ - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" -+#define MUSL_DYNAMIC_LINKER \ -+ "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" - #if DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" - #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" - #else - #error "Unsupported DEFAULT_LIBC" - #endif - #define GNU_USER_DYNAMIC_LINKER \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - - #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ - %{rdynamic:-export-dynamic} \ -@@ -889,6 +898,7 @@ - { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \ - { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ - { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ -+ { "link_secure_plt_default", LINK_SECURE_PLT_DEFAULT_SPEC }, \ - { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ - { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ - { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -diff -Nur gcc-5.4.0.orig/gcc/config/rs6000/sysv4le.h gcc-5.4.0/gcc/config/rs6000/sysv4le.h ---- gcc-5.4.0.orig/gcc/config/rs6000/sysv4le.h 2015-09-24 15:46:45.000000000 +0200 -+++ gcc-5.4.0/gcc/config/rs6000/sysv4le.h 2016-11-27 13:12:33.226953738 +0100 -@@ -31,3 +31,5 @@ - /* Little-endian PowerPC64 Linux uses the ELF v2 ABI by default. */ - #define LINUX64_DEFAULT_ABI_ELFv2 - -+#undef MUSL_DYNAMIC_LINKER_E -+#define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","le") -diff -Nur gcc-5.4.0.orig/gcc/config.gcc gcc-5.4.0/gcc/config.gcc ---- gcc-5.4.0.orig/gcc/config.gcc 2015-09-10 16:17:53.000000000 +0200 -+++ gcc-5.4.0/gcc/config.gcc 2016-11-27 13:14:17.149638148 +0100 -@@ -2413,6 +2413,10 @@ - powerpc*-*-linux*paired*) - tm_file="${tm_file} rs6000/750cl.h" ;; - esac -+ case ${target} in -+ powerpc*-*-linux*-musl*) -+ enable_secureplt=yes ;; -+ esac - if test x${enable_secureplt} = xyes; then - tm_file="rs6000/secureplt.h ${tm_file}" - fi diff --git a/package/gcc/5.5.0/912-sh-musl-support.patch b/package/gcc/5.5.0/912-sh-musl-support.patch deleted file mode 100644 index 6fdfacc6ed..0000000000 --- a/package/gcc/5.5.0/912-sh-musl-support.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 6e9cad5fc3bdd0a1fa24ae172d4d4c1e3179a51c Mon Sep 17 00:00:00 2001 -From: nsz -Date: Tue, 20 Oct 2015 18:13:15 +0000 -Subject: [PATCH] musl support for sh - - * config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define. - (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229095 138bc75d-0d04-0410-961f-82ee72b054a4 -[Thomas: backport from gcc 6.x] -Signed-off-by: Thomas Petazzoni ---- - gcc/config/sh/linux.h | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h -index 0f5d614..61cf777 100644 ---- a/gcc/config/sh/linux.h -+++ b/gcc/config/sh/linux.h -@@ -43,6 +43,27 @@ along with GCC; see the file COPYING3. If not see - - #define TARGET_ASM_FILE_END file_end_indicate_exec_stack - -+#if TARGET_ENDIAN_DEFAULT == MASK_LITTLE_ENDIAN -+#define MUSL_DYNAMIC_LINKER_E "%{mb:eb}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{!ml:eb}" -+#endif -+ -+#if TARGET_CPU_DEFAULT & (MASK_HARD_SH2A_DOUBLE | MASK_SH4) -+/* "-nofpu" if any nofpu option is specified. */ -+#define MUSL_DYNAMIC_LINKER_FP \ -+ "%{m1|m2|m2a-nofpu|m3|m4-nofpu|m4-100-nofpu|m4-200-nofpu|m4-300-nofpu|" \ -+ "m4-340|m4-400|m4-500|m4al:-nofpu}" -+#else -+/* "-nofpu" if none of the hard fpu options are specified. */ -+#define MUSL_DYNAMIC_LINKER_FP "%{m2a|m4|m4-100|m4-200|m4-300|m4a:;:-nofpu}" -+#endif -+ -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER \ -+ "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \ -+ "%{mfdpic:-fdpic}.so.1" -+ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - - #undef SUBTARGET_LINK_EMUL_SUFFIX --- -2.7.4 - diff --git a/package/gcc/5.5.0/930-libgcc-disable-split-stack-nothreads.patch b/package/gcc/5.5.0/930-libgcc-disable-split-stack-nothreads.patch deleted file mode 100644 index 07f9a7395b..0000000000 --- a/package/gcc/5.5.0/930-libgcc-disable-split-stack-nothreads.patch +++ /dev/null @@ -1,14 +0,0 @@ -disable split-stack for non-thread builds - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-5.3.0.orig/libgcc/config/t-stack gcc-5.3.0/libgcc/config/t-stack ---- gcc-5.3.0.orig/libgcc/config/t-stack 2010-10-01 21:31:49.000000000 +0200 -+++ gcc-5.3.0/libgcc/config/t-stack 2016-03-07 03:25:32.000000000 +0100 -@@ -1,4 +1,6 @@ - # Makefile fragment to provide generic support for -fsplit-stack. - # This should be used in config.host for any host which supports - # -fsplit-stack. -+ifeq ($(enable_threads),yes) - LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c -+endif diff --git a/package/gcc/5.5.0/940-uclinux-enable-threads.patch b/package/gcc/5.5.0/940-uclinux-enable-threads.patch deleted file mode 100644 index 490a55b45d..0000000000 --- a/package/gcc/5.5.0/940-uclinux-enable-threads.patch +++ /dev/null @@ -1,19 +0,0 @@ -Enable POSIX threads for uClinux targets -Reported upstream: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71721 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-5.4.0.orig/gcc/config.gcc gcc-5.4.0/gcc/config.gcc ---- gcc-5.4.0.orig/gcc/config.gcc 2015-09-10 16:17:53.000000000 +0200 -+++ gcc-5.4.0/gcc/config.gcc 2016-07-01 21:26:02.772958441 +0200 -@@ -808,6 +808,9 @@ - *-*-uclinux*) - extra_options="$extra_options gnu-user.opt" - use_gcc_stdint=wrap -+ case ${enable_threads} in -+ "" | yes | posix) thread_file='posix' ;; -+ esac - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" - ;; - *-*-rdos*) diff --git a/package/gcc/5.5.0/941-mips-Add-support-for-mips-r6-musl.patch b/package/gcc/5.5.0/941-mips-Add-support-for-mips-r6-musl.patch deleted file mode 100644 index 337d376b75..0000000000 --- a/package/gcc/5.5.0/941-mips-Add-support-for-mips-r6-musl.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 83717065090bb8b954556d1216dd9dc397dc0243 Mon Sep 17 00:00:00 2001 -From: nsz -Date: Thu, 25 Aug 2016 14:13:02 +0000 -Subject: [PATCH] [mips] Add support for mips*r6-*-musl - -gcc/ - * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Update. - (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Update. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239760 138bc75d-0d04-0410-961f-82ee72b054a4 - -[Vincent: tweak to not patch ChangeLog] - -Signed-off-by: Vicente Olivert Riera ---- - gcc/config/mips/linux.h | 9 ++++++--- - 1 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h -index fa253b6..dc51c45 100644 ---- a/gcc/config/mips/linux.h -+++ b/gcc/config/mips/linux.h -@@ -38,10 +38,13 @@ along with GCC; see the file COPYING3. If not see - "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}" - - #undef MUSL_DYNAMIC_LINKER32 --#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips%{EL:el}%{msoft-float:-sf}.so.1" -+#define MUSL_DYNAMIC_LINKER32 \ -+ "/lib/ld-musl-mips%{mips32r6|mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1" - #undef MUSL_DYNAMIC_LINKER64 --#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-mips64%{EL:el}%{msoft-float:-sf}.so.1" --#define MUSL_DYNAMIC_LINKERN32 "/lib/ld-musl-mipsn32%{EL:el}%{msoft-float:-sf}.so.1" -+#define MUSL_DYNAMIC_LINKER64 \ -+ "/lib/ld-musl-mips64%{mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1" -+#define MUSL_DYNAMIC_LINKERN32 \ -+ "/lib/ld-musl-mipsn32%{mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1" - - #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" - #define GNU_USER_DYNAMIC_LINKERN32 \ --- -2.10.0 - diff --git a/package/gcc/6.5.0/0001-m68k-coldfire-pr68467.patch b/package/gcc/6.5.0/0001-m68k-coldfire-pr68467.patch deleted file mode 100644 index afc18a508e..0000000000 --- a/package/gcc/6.5.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-6.4.0.orig/gcc/config/m68k/m68k.c gcc-6.4.0/gcc/config/m68k/m68k.c ---- gcc-6.4.0.orig/gcc/config/m68k/m68k.c 2016-01-04 15:30:50.652828000 +0100 -+++ gcc-6.4.0/gcc/config/m68k/m68k.c 2018-02-17 19:08:16.313168186 +0100 -@@ -180,6 +180,8 @@ - const_tree, bool); - static bool m68k_cannot_force_const_mem (machine_mode mode, rtx x); - static bool m68k_output_addr_const_extra (FILE *, rtx); -+static machine_mode m68k_promote_function_mode (const_tree, machine_mode, -+ int *, const_tree, int); - static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED; - - /* Initialize the GCC target structure. */ -@@ -322,6 +324,9 @@ - #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL - #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128 - -+#undef TARGET_PROMOTE_FUNCTION_MODE -+#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode -+ - static const struct attribute_spec m68k_attribute_table[] = - { - /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler, -@@ -6524,4 +6529,20 @@ - == m68k_fk_interrupt_handler)); - } - -+/* Implement TARGET_PROMOTE_FUNCTION_MODE. */ -+ -+static machine_mode -+m68k_promote_function_mode (const_tree type, machine_mode mode, -+ int *punsignedp ATTRIBUTE_UNUSED, -+ const_tree fntype ATTRIBUTE_UNUSED, -+ int for_return) -+{ -+ /* Promote libcall arguments narrower than int to match the normal C -+ ABI (for which promotions are handled via -+ TARGET_PROMOTE_PROTOTYPES). */ -+ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode)) -+ return SImode; -+ return mode; -+} -+ - #include "gt-m68k.h" diff --git a/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 deleted file mode 100644 index 360947cbb1..0000000000 --- a/package/gcc/6.5.0/0004-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 960a2552f7b418134cdf7a31e96023a3811b98dd Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 4 Nov 2018 23:55:59 -0800 -Subject: [PATCH] gcc: xtensa: don't force PIC for uclinux target - -xtensa-uclinux uses bFLT executable file format that cannot relocate -fields representing offsets from data to code. C++ objects built as PIC -use offsets to encode FDE structures. As a result C++ exception handling -doesn't work correctly on xtensa-uclinux. Don't use PIC by default on -xtensa-uclinux. - -gcc/ -2018-11-05 Max Filippov - - * config/xtensa/uclinux.h (XTENSA_ALWAYS_PIC): Change to 0. - -Signed-off-by: Max Filippov ---- -Backported from: r265823 - - gcc/config/xtensa/uclinux.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/xtensa/uclinux.h b/gcc/config/xtensa/uclinux.h -index ba26187c8f7a..c7743df9d97c 100644 ---- a/gcc/config/xtensa/uclinux.h -+++ b/gcc/config/xtensa/uclinux.h -@@ -59,8 +59,8 @@ along with GCC; see the file COPYING3. If not see - #undef LOCAL_LABEL_PREFIX - #define LOCAL_LABEL_PREFIX "." - --/* Always enable "-fpic" for Xtensa Linux. */ --#define XTENSA_ALWAYS_PIC 1 -+/* Don't enable "-fpic" for Xtensa uclinux. */ -+#define XTENSA_ALWAYS_PIC 0 - - #undef TARGET_LIBC_HAS_FUNCTION - #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function --- -2.11.0 - diff --git a/package/gcc/6.5.0/100-uclibc-conf.patch b/package/gcc/6.5.0/100-uclibc-conf.patch deleted file mode 100644 index 73d1f0d3a9..0000000000 --- a/package/gcc/6.5.0/100-uclibc-conf.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: b/contrib/regression/objs-gcc.sh -=================================================================== ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ - 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 diff --git a/package/gcc/6.5.0/301-missing-execinfo_h.patch b/package/gcc/6.5.0/301-missing-execinfo_h.patch deleted file mode 100644 index 2d0e7baa44..0000000000 --- a/package/gcc/6.5.0/301-missing-execinfo_h.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: b/boehm-gc/include/gc.h -=================================================================== ---- a/boehm-gc/include/gc.h -+++ b/boehm-gc/include/gc.h -@@ -503,7 +503,7 @@ - #if defined(__linux__) || defined(__GLIBC__) - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/package/gcc/6.5.0/810-arm-softfloat-libgcc.patch b/package/gcc/6.5.0/810-arm-softfloat-libgcc.patch deleted file mode 100644 index 5efa7fd1bc..0000000000 --- a/package/gcc/6.5.0/810-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: b/gcc/config/arm/linux-elf.h -=================================================================== ---- a/gcc/config/arm/linux-elf.h -+++ b/gcc/config/arm/linux-elf.h -@@ -60,7 +60,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" - -Index: b/libgcc/config/arm/t-linux -=================================================================== ---- 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. diff --git a/package/gcc/6.5.0/830-arm_unbreak_armv4t.patch b/package/gcc/6.5.0/830-arm_unbreak_armv4t.patch deleted file mode 100644 index b730059183..0000000000 --- a/package/gcc/6.5.0/830-arm_unbreak_armv4t.patch +++ /dev/null @@ -1,15 +0,0 @@ -http://sourceware.org/ml/crossgcc/2008-05/msg00009.html - -Index: b/gcc/config/arm/linux-eabi.h -=================================================================== ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -45,7 +45,7 @@ - The ARM10TDMI core is the default for armv5t, so set - SUBTARGET_CPU_DEFAULT to achieve this. */ - #undef SUBTARGET_CPU_DEFAULT --#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi - - /* TARGET_BIG_ENDIAN_DEFAULT is set in - config.gcc for big endian configurations. */ diff --git a/package/gcc/6.5.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 deleted file mode 100644 index af9fb1d6b2..0000000000 --- a/package/gcc/6.5.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 07453188b18a2cbe815917dbb893b4ebfdd793b6 Mon Sep 17 00:00:00 2001 -From: ktkachov -Date: Fri, 26 Aug 2016 10:23:20 +0000 -Subject: [PATCH] [ARM] PR target/70473: Reduce size of Cortex-A8 automaton - - PR target/70473 - * config/arm/cortex-a8-neon.md (cortex_a8_vfp_muld): Reduce - reservation duration to 15 cycles. - (cortex_a8_vfp_macs): Likewise. - (cortex_a8_vfp_macd): Likewise. - (cortex_a8_vfp_divs): Likewise. - (cortex_a8_vfp_divd): Likewise. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239772 -138bc75d-0d04-0410-961f-82ee72b054a4 - -[Backport from gcc upstream commit 79f5d5e3cd5a668d5ecb2b6b0cce80ef5706ac53.] -Signed-off-by: Thomas Petazzoni ---- - gcc/config/arm/cortex-a8-neon.md | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -diff --git a/gcc/config/arm/cortex-a8-neon.md b/gcc/config/arm/cortex-a8-neon.md -index 45f861f..b16c299 100644 ---- a/gcc/config/arm/cortex-a8-neon.md -+++ b/gcc/config/arm/cortex-a8-neon.md -@@ -357,30 +357,34 @@ - (eq_attr "type" "fmuls")) - "cortex_a8_vfp,cortex_a8_vfplite*11") - -+;; Don't model a reservation for more than 15 cycles as this explodes the -+;; state space of the automaton for little gain. It is unlikely that the -+;; scheduler will find enough instructions to hide the full latency of the -+;; instructions. - (define_insn_reservation "cortex_a8_vfp_muld" 17 - (and (eq_attr "tune" "cortexa8") - (eq_attr "type" "fmuld")) -- "cortex_a8_vfp,cortex_a8_vfplite*16") -+ "cortex_a8_vfp,cortex_a8_vfplite*15") - - (define_insn_reservation "cortex_a8_vfp_macs" 21 - (and (eq_attr "tune" "cortexa8") - (eq_attr "type" "fmacs,ffmas")) -- "cortex_a8_vfp,cortex_a8_vfplite*20") -+ "cortex_a8_vfp,cortex_a8_vfplite*15") - - (define_insn_reservation "cortex_a8_vfp_macd" 26 - (and (eq_attr "tune" "cortexa8") - (eq_attr "type" "fmacd,ffmad")) -- "cortex_a8_vfp,cortex_a8_vfplite*25") -+ "cortex_a8_vfp,cortex_a8_vfplite*15") - - (define_insn_reservation "cortex_a8_vfp_divs" 37 - (and (eq_attr "tune" "cortexa8") - (eq_attr "type" "fdivs, fsqrts")) -- "cortex_a8_vfp,cortex_a8_vfplite*36") -+ "cortex_a8_vfp,cortex_a8_vfplite*15") - - (define_insn_reservation "cortex_a8_vfp_divd" 65 - (and (eq_attr "tune" "cortexa8") - (eq_attr "type" "fdivd, fsqrtd")) -- "cortex_a8_vfp,cortex_a8_vfplite*64") -+ "cortex_a8_vfp,cortex_a8_vfplite*15") - - ;; Comparisons can actually take 7 cycles sometimes instead of four, - ;; but given all the other instructions lumped into type=ffarith that --- -2.7.4 - diff --git a/package/gcc/6.5.0/860-cilk-wchar.patch b/package/gcc/6.5.0/860-cilk-wchar.patch deleted file mode 100644 index 1d9916f554..0000000000 --- a/package/gcc/6.5.0/860-cilk-wchar.patch +++ /dev/null @@ -1,56 +0,0 @@ -[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 ---- - libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - -Index: b/libcilkrts/include/cilk/reducer_min_max.h -=================================================================== ---- a/libcilkrts/include/cilk/reducer_min_max.h -+++ b/libcilkrts/include/cilk/reducer_min_max.h -@@ -3154,7 +3154,9 @@ - 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) -@@ -3306,7 +3308,9 @@ - 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) -@@ -3432,7 +3436,9 @@ - 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) -@@ -3584,7 +3590,9 @@ - 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) diff --git a/package/gcc/6.5.0/890-fix-m68k-compile.patch b/package/gcc/6.5.0/890-fix-m68k-compile.patch deleted file mode 100644 index 6e63de0cd1..0000000000 --- a/package/gcc/6.5.0/890-fix-m68k-compile.patch +++ /dev/null @@ -1,15 +0,0 @@ -remove unused header, which breaks the toolchain building - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-5.3.0.orig/libgcc/config/m68k/linux-atomic.c gcc-5.3.0/libgcc/config/m68k/linux-atomic.c ---- gcc-5.3.0.orig/libgcc/config/m68k/linux-atomic.c 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/libgcc/config/m68k/linux-atomic.c 2016-03-19 09:25:07.000000000 +0100 -@@ -33,7 +33,6 @@ - using the kernel helper defined below. There is no support for - 64-bit operations yet. */ - --#include - #include - - #ifndef __NR_atomic_cmpxchg_32 diff --git a/package/gcc/6.5.0/896-microblaze-Revert.patch b/package/gcc/6.5.0/896-microblaze-Revert.patch deleted file mode 100644 index 7026d0efe1..0000000000 --- a/package/gcc/6.5.0/896-microblaze-Revert.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 707a69dfb56a2976e2b5c010f0e5cb2ac9905a07 Mon Sep 17 00:00:00 2001 -From: eager -Date: Sat, 27 May 2017 18:29:40 +0000 -Subject: [PATCH] Revert: 2016-01-21 Ajit Agarwal - - - See https://gcc.gnu.org/ml/gcc/2017-05/msg00221.html. - - * config/microblaze/microblaze.h - (FIXED_REGISTERS): Update in macro. - (CALL_USED_REGISTERS): Update in macro. - - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248540 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Waldemar Brodkorb -diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h -index 66e4ef5..2c9ece1 100644 ---- a/gcc/config/microblaze/microblaze.h -+++ b/gcc/config/microblaze/microblaze.h -@@ -269,14 +269,14 @@ extern enum pipeline_type microblaze_pipe; - #define FIXED_REGISTERS \ - { \ - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, \ -- 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ -+ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ - 1, 1, 1, 1 \ - } - - #define CALL_USED_REGISTERS \ - { \ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ -- 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ -+ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ - 1, 1, 1, 1 \ - } - #define GP_REG_FIRST 0 --- -2.1.4 - diff --git a/package/gcc/6.5.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 deleted file mode 100644 index 1f2dcabede..0000000000 --- a/package/gcc/6.5.0/897-Make-MicroBlaze-support-DWARF-EH-old-Xilinx-patch-ne.patch +++ /dev/null @@ -1,178 +0,0 @@ -From 81aab124bc697a87ad492d4cd3380599c0e0747e Mon Sep 17 00:00:00 2001 -From: jsm28 -Date: Fri, 6 Jan 2017 20:54:34 +0000 -Subject: [PATCH] Make MicroBlaze support DWARF EH (old Xilinx patch, needed - for glibc build). - -This patch, taken from - -and with a few formatting cleanups and an update for the removal of -gen_rtx_raw_REG, enables DWARF EH support for MicroBlaze. - -This is needed for building glibc with a compiler that includes shared -libgcc; right now all glibc builds for MicroBlaze are failing with my -bot for lack of this support. (It's dubious if we should have glibc -ports at all where required support is missing in FSF GCC.) - -Tested building glibc with build-many-glibcs.py. I have *not* done -any other testing or any execution testing for MicroBlaze. - -2017-01-06 Edgar E. Iglesias - David Holsgrove - - * common/config/microblaze/microblaze-common.c - (TARGET_EXCEPT_UNWIND_INFO): Remove. - * config/microblaze/microblaze-protos.h (microblaze_eh_return): - New prototype. - * config/microblaze/microblaze.c (microblaze_must_save_register) - (microblaze_expand_epilogue, microblaze_return_addr): Handle - calls_eh_return. - (microblaze_eh_return): New function. - * config/microblaze/microblaze.h (RETURN_ADDR_OFFSET) - (EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM) - (EH_RETURN_STACKADJ_RTX, ASM_PREFERRED_EH_DATA_FORMAT): New macros. - * config/microblaze/microblaze.md (eh_return): New pattern. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244183 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Waldemar Brodkorb ---- - gcc/common/config/microblaze/microblaze-common.c | 3 --- - gcc/config/microblaze/microblaze-protos.h | 1 + - gcc/config/microblaze/microblaze.c | 27 ++++++++++++++++++++---- - gcc/config/microblaze/microblaze.h | 16 ++++++++++++++ - gcc/config/microblaze/microblaze.md | 10 +++++++++ - 6 files changed, 66 insertions(+), 7 deletions(-) - -diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c -index 57a3099..4975663 100644 ---- a/gcc/common/config/microblaze/microblaze-common.c -+++ b/gcc/common/config/microblaze/microblaze-common.c -@@ -37,7 +37,4 @@ static const struct default_options microblaze_option_optimization_table[] = - #undef TARGET_OPTION_OPTIMIZATION_TABLE - #define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table - --#undef TARGET_EXCEPT_UNWIND_INFO --#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info -- - struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER; -diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h -index 6fb3066..9ba8f2d 100644 ---- a/gcc/config/microblaze/microblaze-protos.h -+++ b/gcc/config/microblaze/microblaze-protos.h -@@ -57,6 +57,7 @@ extern bool microblaze_tls_referenced_p (rtx); - extern int symbol_mentioned_p (rtx); - extern int label_mentioned_p (rtx); - extern bool microblaze_cannot_force_const_mem (machine_mode, rtx); -+extern void microblaze_eh_return (rtx op0); - #endif /* RTX_CODE */ - - /* Declare functions in microblaze-c.c. */ -diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c -index 03b70e1..746bef1 100644 ---- a/gcc/config/microblaze/microblaze.c -+++ b/gcc/config/microblaze/microblaze.c -@@ -1926,6 +1926,10 @@ microblaze_must_save_register (int regno) - if (frame_pointer_needed && (regno == HARD_FRAME_POINTER_REGNUM)) - return 1; - -+ if (crtl->calls_eh_return -+ && regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) -+ return 1; -+ - if (!crtl->is_leaf) - { - if (regno == MB_ABI_SUB_RETURN_ADDR_REGNUM) -@@ -1953,6 +1957,11 @@ microblaze_must_save_register (int regno) - return 1; - } - -+ if (crtl->calls_eh_return -+ && (regno == EH_RETURN_DATA_REGNO (0) -+ || regno == EH_RETURN_DATA_REGNO (1))) -+ return 1; -+ - return 0; - } - -@@ -3029,6 +3038,12 @@ microblaze_expand_epilogue (void) - emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx)); - } - -+ if (crtl->calls_eh_return) -+ emit_insn (gen_addsi3 (stack_pointer_rtx, -+ stack_pointer_rtx, -+ gen_raw_REG (SImode, -+ MB_EH_STACKADJ_REGNUM))); -+ - emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST + - MB_ABI_SUB_RETURN_ADDR_REGNUM))); - } -@@ -3326,10 +3341,14 @@ microblaze_return_addr (int count, rtx frame ATTRIBUTE_UNUSED) - if (count != 0) - return NULL_RTX; - -- return gen_rtx_PLUS (Pmode, -- get_hard_reg_initial_val (Pmode, -- MB_ABI_SUB_RETURN_ADDR_REGNUM), -- GEN_INT (8)); -+ return get_hard_reg_initial_val (Pmode, -+ MB_ABI_SUB_RETURN_ADDR_REGNUM); -+} -+ -+void -+microblaze_eh_return (rtx op0) -+{ -+ emit_insn (gen_movsi (gen_rtx_MEM (Pmode, stack_pointer_rtx), op0)); - } - - /* Queue an .ident string in the queue of top-level asm statements. -diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h -index 527f4d3..8fdadbf 100644 ---- a/gcc/config/microblaze/microblaze.h -+++ b/gcc/config/microblaze/microblaze.h -@@ -184,6 +184,22 @@ extern enum pipeline_type microblaze_pipe; - #define INCOMING_RETURN_ADDR_RTX \ - gen_rtx_REG (Pmode, GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM) - -+/* Specifies the offset from INCOMING_RETURN_ADDR_RTX and the actual return PC. */ -+#define RETURN_ADDR_OFFSET (8) -+ -+/* Describe how we implement __builtin_eh_return. */ -+#define EH_RETURN_DATA_REGNO(N) \ -+ (((N) < 2) ? MB_ABI_FIRST_ARG_REGNUM + (N) : INVALID_REGNUM) -+ -+#define MB_EH_STACKADJ_REGNUM MB_ABI_INT_RETURN_VAL2_REGNUM -+#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, MB_EH_STACKADJ_REGNUM) -+ -+/* Select a format to encode pointers in exception handling data. CODE -+ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is -+ true if the symbol may be affected by dynamic relocations. */ -+#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ -+ ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr) -+ - /* Use DWARF 2 debugging information by default. */ - #define DWARF2_DEBUGGING_INFO - #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG -diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md -index 8f83daa..66ebc1e 100644 ---- a/gcc/config/microblaze/microblaze.md -+++ b/gcc/config/microblaze/microblaze.md -@@ -2324,4 +2324,14 @@ - (set_attr "mode" "SI") - (set_attr "length" "4")]) - -+; This is used in compiling the unwind routines. -+(define_expand "eh_return" -+ [(use (match_operand 0 "general_operand" ""))] -+ "" -+ " -+{ -+ microblaze_eh_return (operands[0]); -+ DONE; -+}") -+ - (include "sync.md") --- -2.1.4 - diff --git a/package/gcc/6.5.0/940-uclinux-enable-threads.patch b/package/gcc/6.5.0/940-uclinux-enable-threads.patch deleted file mode 100644 index 5532656725..0000000000 --- a/package/gcc/6.5.0/940-uclinux-enable-threads.patch +++ /dev/null @@ -1,19 +0,0 @@ -Enable POSIX threads for uClinux targets -Reported upstream: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71721 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-6.1.0.orig/gcc/config.gcc gcc-6.1.0/gcc/config.gcc ---- gcc-6.1.0.orig/gcc/config.gcc 2016-04-11 12:14:59.000000000 +0200 -+++ gcc-6.1.0/gcc/config.gcc 2016-07-02 20:04:25.732169982 +0200 -@@ -833,6 +833,9 @@ - *-*-uclinux*) - extra_options="$extra_options gnu-user.opt" - use_gcc_stdint=wrap -+ case ${enable_threads} in -+ "" | yes | posix) thread_file='posix' ;; -+ esac - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" - ;; - *-*-rdos*) diff --git a/package/gcc/6.5.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 deleted file mode 100644 index 337d376b75..0000000000 --- a/package/gcc/6.5.0/941-mips-Add-support-for-mips-r6-musl.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 83717065090bb8b954556d1216dd9dc397dc0243 Mon Sep 17 00:00:00 2001 -From: nsz -Date: Thu, 25 Aug 2016 14:13:02 +0000 -Subject: [PATCH] [mips] Add support for mips*r6-*-musl - -gcc/ - * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Update. - (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Update. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239760 138bc75d-0d04-0410-961f-82ee72b054a4 - -[Vincent: tweak to not patch ChangeLog] - -Signed-off-by: Vicente Olivert Riera ---- - gcc/config/mips/linux.h | 9 ++++++--- - 1 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h -index fa253b6..dc51c45 100644 ---- a/gcc/config/mips/linux.h -+++ b/gcc/config/mips/linux.h -@@ -38,10 +38,13 @@ along with GCC; see the file COPYING3. If not see - "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}" - - #undef MUSL_DYNAMIC_LINKER32 --#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips%{EL:el}%{msoft-float:-sf}.so.1" -+#define MUSL_DYNAMIC_LINKER32 \ -+ "/lib/ld-musl-mips%{mips32r6|mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1" - #undef MUSL_DYNAMIC_LINKER64 --#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-mips64%{EL:el}%{msoft-float:-sf}.so.1" --#define MUSL_DYNAMIC_LINKERN32 "/lib/ld-musl-mipsn32%{EL:el}%{msoft-float:-sf}.so.1" -+#define MUSL_DYNAMIC_LINKER64 \ -+ "/lib/ld-musl-mips64%{mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1" -+#define MUSL_DYNAMIC_LINKERN32 \ -+ "/lib/ld-musl-mipsn32%{mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1" - - #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" - #define GNU_USER_DYNAMIC_LINKERN32 \ --- -2.10.0 - diff --git a/package/gcc/7.4.0/0810-arm-softfloat-libgcc.patch b/package/gcc/7.4.0/0810-arm-softfloat-libgcc.patch deleted file mode 100644 index 63880dd091..0000000000 --- a/package/gcc/7.4.0/0810-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 420a304ac0daa29d66da6ed5b0b49fc4c482d522 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 3d62367..dad0b97 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 3d520de..e7bc042 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.9.3 - diff --git a/package/gcc/7.4.0/0860-cilk-fix-build-without-wchar.patch b/package/gcc/7.4.0/0860-cilk-fix-build-without-wchar.patch deleted file mode 100644 index 61ab01c713..0000000000 --- a/package/gcc/7.4.0/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/7.4.0/0892-microblaze-Revert.patch b/package/gcc/7.4.0/0892-microblaze-Revert.patch deleted file mode 100644 index f7ea1e8382..0000000000 --- a/package/gcc/7.4.0/0892-microblaze-Revert.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 707a69dfb56a2976e2b5c010f0e5cb2ac9905a07 Mon Sep 17 00:00:00 2001 -From: eager -Date: Sat, 27 May 2017 18:29:40 +0000 -Subject: [PATCH] Revert: 2016-01-21 Ajit Agarwal - - - See https://gcc.gnu.org/ml/gcc/2017-05/msg00221.html. - - * config/microblaze/microblaze.h - (FIXED_REGISTERS): Update in macro. - (CALL_USED_REGISTERS): Update in macro. - - - -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 -+++ b/gcc/config/microblaze/microblaze.h -@@ -269,14 +269,14 @@ extern enum pipeline_type microblaze_pipe; - #define FIXED_REGISTERS \ - { \ - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, \ -- 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ -+ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ - 1, 1, 1, 1 \ - } - - #define CALL_USED_REGISTERS \ - { \ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ -- 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ -+ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ - 1, 1, 1, 1 \ - } - #define GP_REG_FIRST 0 --- -2.1.4 - diff --git a/package/gcc/7.4.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 deleted file mode 100644 index fb8509fae7..0000000000 --- a/package/gcc/7.4.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch +++ /dev/null @@ -1,324 +0,0 @@ -From 1a259ac3e39bf87e6e6a5eface8b0ebc6b2a0dfe Mon Sep 17 00:00:00 2001 -From: ktkachov -Date: Tue, 5 Jun 2018 09:50:16 +0000 -Subject: [PATCH] [arm] PR target/81497: Fix arm_acle.h for C++ -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf-8 -Content-Transfer-Encoding: 8bit - -When trying to compile something with arm_acle.h using G++ we get a number of nasty errors: -arm_acle.h:48:49: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive] - return __builtin_arm_ldc (__coproc, __CRd, __p); - -This is because the intrinsics that are supposed to be void return the "result" of their builtin, -which is void. C lets that slide but C++ complains. - -After fixing that we run into further errors: -arm_acle.h:48:46: error: invalid conversion from 'const void*' to 'const int*' [-fpermissive] - return __builtin_arm_ldc (__coproc, __CRd, __p); - ^~~ -Because the pointer arguments in these intrinsics are void pointers but the builtin -expects int pointers. So this patch introduces new qualifiers for void pointers and their -const-qualified versions and uses that in the specification of these intrinsics. - -This gives us the opportunity of creating an arm subdirectory in g++.dg and inaugurates it -with the first arm-specific C++ tests (in that directory). - - - PR target/81497 - * config/arm/arm-builtins.c (arm_type_qualifiers): Add - qualifier_void_pointer and qualifier_const_void_pointer. - (arm_ldc_qualifiers, arm_stc_qualifiers): Use the above. - (arm_init_builtins): Handle the above. - * config/arm/arm_acle.h (__arm_cdp, __arm_ldc, __arm_ldcl, __arm_stc, - __arm_stcl, __arm_mcr, __arm_cdp2, __arm_ldc2, __arm_ldcl2, __arm_stc2, - __arm_stcl2,__arm_mcr2, __arm_mcrr, __arm_mcrr2): Remove return for - void intrinsics. - - * 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 +++++++-------- - gcc/testsuite/g++.target/arm/arm.exp | 50 ++++++++++++++++++++++++++ - gcc/testsuite/g++.target/arm/pr81497.C | 9 +++++ - 4 files changed, 99 insertions(+), 30 deletions(-) - create mode 100644 gcc/testsuite/g++.target/arm/arm.exp - create mode 100644 gcc/testsuite/g++.target/arm/pr81497.C - -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 -@@ -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. */ -- qualifier_struct_load_store_lane_index = 0x400 -+ qualifier_struct_load_store_lane_index = 0x400, -+ /* A void pointer. */ -+ qualifier_void_pointer = 0x800, -+ /* A const void pointer. */ -+ qualifier_const_void_pointer = 0x802 - }; - - /* The qualifier_internal allows generation of a unary builtin from -@@ -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, -- qualifier_unsigned_immediate, qualifier_const_pointer }; -+ qualifier_unsigned_immediate, qualifier_const_void_pointer }; - #define LDC_QUALIFIERS \ - (arm_ldc_qualifiers) - -@@ -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, -- qualifier_unsigned_immediate, qualifier_pointer }; -+ qualifier_unsigned_immediate, qualifier_void_pointer }; - #define STC_QUALIFIERS \ - (arm_stc_qualifiers) - -@@ -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); - -- eltype = arm_simd_builtin_type -- (op_mode, -- (qualifiers & qualifier_unsigned) != 0, -- (qualifiers & qualifier_poly) != 0); -- gcc_assert (eltype != NULL); -- -- /* Add qualifiers. */ -- if (qualifiers & qualifier_const) -- eltype = build_qualified_type (eltype, TYPE_QUAL_CONST); -- -- if (qualifiers & qualifier_pointer) -- eltype = build_pointer_type (eltype); -- -+ /* For void pointers we already have nodes constructed by the midend. */ -+ if (qualifiers & qualifier_void_pointer) -+ eltype = qualifiers & qualifier_const -+ ? const_ptr_type_node : ptr_type_node; -+ else -+ { -+ eltype -+ = arm_simd_builtin_type (op_mode, -+ (qualifiers & qualifier_unsigned) != 0, -+ (qualifiers & qualifier_poly) != 0); -+ gcc_assert (eltype != NULL); -+ -+ /* Add qualifiers. */ -+ if (qualifiers & qualifier_const) -+ eltype = build_qualified_type (eltype, TYPE_QUAL_CONST); -+ -+ if (qualifiers & qualifier_pointer) -+ eltype = build_pointer_type (eltype); -+ } - /* If we have reached arg_num == 0, we are at a non-void - return type. Otherwise, we are still processing - arguments. */ -diff --git a/gcc/config/arm/arm_acle.h b/gcc/config/arm/arm_acle.h -index 9a2f0ba30dc..c0f6ea2d156 100644 ---- a/gcc/config/arm/arm_acle.h -+++ b/gcc/config/arm/arm_acle.h -@@ -38,35 +38,35 @@ __arm_cdp (const unsigned int __coproc, const unsigned int __opc1, - const unsigned int __CRd, const unsigned int __CRn, - const unsigned int __CRm, const unsigned int __opc2) - { -- return __builtin_arm_cdp (__coproc, __opc1, __CRd, __CRn, __CRm, __opc2); -+ __builtin_arm_cdp (__coproc, __opc1, __CRd, __CRn, __CRm, __opc2); - } - - __extension__ static __inline void __attribute__ ((__always_inline__)) - __arm_ldc (const unsigned int __coproc, const unsigned int __CRd, - const void * __p) - { -- return __builtin_arm_ldc (__coproc, __CRd, __p); -+ __builtin_arm_ldc (__coproc, __CRd, __p); - } - - __extension__ static __inline void __attribute__ ((__always_inline__)) - __arm_ldcl (const unsigned int __coproc, const unsigned int __CRd, - const void * __p) - { -- return __builtin_arm_ldcl (__coproc, __CRd, __p); -+ __builtin_arm_ldcl (__coproc, __CRd, __p); - } - - __extension__ static __inline void __attribute__ ((__always_inline__)) - __arm_stc (const unsigned int __coproc, const unsigned int __CRd, - void * __p) - { -- return __builtin_arm_stc (__coproc, __CRd, __p); -+ __builtin_arm_stc (__coproc, __CRd, __p); - } - - __extension__ static __inline void __attribute__ ((__always_inline__)) - __arm_stcl (const unsigned int __coproc, const unsigned int __CRd, - void * __p) - { -- return __builtin_arm_stcl (__coproc, __CRd, __p); -+ __builtin_arm_stcl (__coproc, __CRd, __p); - } - - __extension__ static __inline void __attribute__ ((__always_inline__)) -@@ -74,7 +74,7 @@ __arm_mcr (const unsigned int __coproc, const unsigned int __opc1, - uint32_t __value, const unsigned int __CRn, const unsigned int __CRm, - const unsigned int __opc2) - { -- return __builtin_arm_mcr (__coproc, __opc1, __value, __CRn, __CRm, __opc2); -+ __builtin_arm_mcr (__coproc, __opc1, __value, __CRn, __CRm, __opc2); - } - - __extension__ static __inline uint32_t __attribute__ ((__always_inline__)) -@@ -90,35 +90,35 @@ __arm_cdp2 (const unsigned int __coproc, const unsigned int __opc1, - const unsigned int __CRd, const unsigned int __CRn, - const unsigned int __CRm, const unsigned int __opc2) - { -- return __builtin_arm_cdp2 (__coproc, __opc1, __CRd, __CRn, __CRm, __opc2); -+ __builtin_arm_cdp2 (__coproc, __opc1, __CRd, __CRn, __CRm, __opc2); - } - - __extension__ static __inline void __attribute__ ((__always_inline__)) - __arm_ldc2 (const unsigned int __coproc, const unsigned int __CRd, - const void * __p) - { -- return __builtin_arm_ldc2 (__coproc, __CRd, __p); -+ __builtin_arm_ldc2 (__coproc, __CRd, __p); - } - - __extension__ static __inline void __attribute__ ((__always_inline__)) - __arm_ldc2l (const unsigned int __coproc, const unsigned int __CRd, - const void * __p) - { -- return __builtin_arm_ldc2l (__coproc, __CRd, __p); -+ __builtin_arm_ldc2l (__coproc, __CRd, __p); - } - - __extension__ static __inline void __attribute__ ((__always_inline__)) - __arm_stc2 (const unsigned int __coproc, const unsigned int __CRd, - void * __p) - { -- return __builtin_arm_stc2 (__coproc, __CRd, __p); -+ __builtin_arm_stc2 (__coproc, __CRd, __p); - } - - __extension__ static __inline void __attribute__ ((__always_inline__)) - __arm_stc2l (const unsigned int __coproc, const unsigned int __CRd, - void * __p) - { -- return __builtin_arm_stc2l (__coproc, __CRd, __p); -+ __builtin_arm_stc2l (__coproc, __CRd, __p); - } - - __extension__ static __inline void __attribute__ ((__always_inline__)) -@@ -126,7 +126,7 @@ __arm_mcr2 (const unsigned int __coproc, const unsigned int __opc1, - uint32_t __value, const unsigned int __CRn, - const unsigned int __CRm, const unsigned int __opc2) - { -- return __builtin_arm_mcr2 (__coproc, __opc1, __value, __CRn, __CRm, __opc2); -+ __builtin_arm_mcr2 (__coproc, __opc1, __value, __CRn, __CRm, __opc2); - } - - __extension__ static __inline uint32_t __attribute__ ((__always_inline__)) -@@ -143,7 +143,7 @@ __extension__ static __inline void __attribute__ ((__always_inline__)) - __arm_mcrr (const unsigned int __coproc, const unsigned int __opc1, - uint64_t __value, const unsigned int __CRm) - { -- return __builtin_arm_mcrr (__coproc, __opc1, __value, __CRm); -+ __builtin_arm_mcrr (__coproc, __opc1, __value, __CRm); - } - - __extension__ static __inline uint64_t __attribute__ ((__always_inline__)) -@@ -159,7 +159,7 @@ __extension__ static __inline void __attribute__ ((__always_inline__)) - __arm_mcrr2 (const unsigned int __coproc, const unsigned int __opc1, - uint64_t __value, const unsigned int __CRm) - { -- return __builtin_arm_mcrr2 (__coproc, __opc1, __value, __CRm); -+ __builtin_arm_mcrr2 (__coproc, __opc1, __value, __CRm); - } - - __extension__ static __inline uint64_t __attribute__ ((__always_inline__)) -diff --git a/gcc/testsuite/g++.target/arm/arm.exp b/gcc/testsuite/g++.target/arm/arm.exp -new file mode 100644 -index 00000000000..1a169d2f220 ---- /dev/null -+++ b/gcc/testsuite/g++.target/arm/arm.exp -@@ -0,0 +1,50 @@ -+# Specific regression driver for arm. -+# Copyright (C) 2009-2018 Free Software Foundation, Inc. -+# -+# This file is part of GCC. -+# -+# GCC 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, or (at your option) -+# any later version. -+# -+# GCC 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 GCC; see the file COPYING3. If not see -+# . */ -+ -+# GCC testsuite that uses the `dg.exp' driver. -+ -+# Exit immediately if this isn't an arm target. -+if {![istarget arm*-*-*] } then { -+ return -+} -+ -+# Load support procs. -+load_lib g++-dg.exp -+ -+global DEFAULT_CXXFLAGS -+if ![info exists DEFAULT_CXXFLAGS] then { -+ set DEFAULT_CXXFLAGS " -pedantic-errors" -+} -+ -+ -+global dg_runtest_extra_prunes -+set dg_runtest_extra_prunes "" -+lappend dg_runtest_extra_prunes "warning: switch -m(cpu|arch)=.* conflicts with -m(cpu|arch)=.* switch" -+ -+# Initialize `dg'. -+dg-init -+ -+# Main loop. -+dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.C]] \ -+ "" $DEFAULT_CXXFLAGS -+ -+# All done. -+set dg_runtest_extra_prunes "" -+dg-finish -+ -diff --git a/gcc/testsuite/g++.target/arm/pr81497.C b/gcc/testsuite/g++.target/arm/pr81497.C -new file mode 100644 -index 00000000000..0519a3a3045 ---- /dev/null -+++ b/gcc/testsuite/g++.target/arm/pr81497.C -@@ -0,0 +1,9 @@ -+/* { dg-do compile } */ -+/* { dg-require-effective-target arm_thumb2_ok } */ -+ -+#include -+ -+int main () -+{ -+ return 0; -+} --- -2.17.1 - 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 deleted file mode 100644 index accaf0214d..0000000000 --- a/package/gcc/7.4.0/1001-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch +++ /dev/null @@ -1,31 +0,0 @@ -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/7.5.0/0001-uclibc-conf.patch b/package/gcc/7.5.0/0001-uclibc-conf.patch new file mode 100644 index 0000000000..29c5c010ed --- /dev/null +++ b/package/gcc/7.5.0/0001-uclibc-conf.patch @@ -0,0 +1,29 @@ +From 0ff63500a600b758cd88ebcd048d7150df9ac881 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.21.0 + diff --git a/package/gcc/7.5.0/0002-arm-softfloat-libgcc.patch b/package/gcc/7.5.0/0002-arm-softfloat-libgcc.patch new file mode 100644 index 0000000000..c2c3450310 --- /dev/null +++ b/package/gcc/7.5.0/0002-arm-softfloat-libgcc.patch @@ -0,0 +1,45 @@ +From 1d0a47a72a1357e4a298d611bd2499e1b72c6f86 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 3d62367ae68..dad0b97d39f 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.21.0 + diff --git a/package/gcc/7.5.0/0003-cilk-fix-build-without-wchar.patch b/package/gcc/7.5.0/0003-cilk-fix-build-without-wchar.patch new file mode 100644 index 0000000000..7821d06024 --- /dev/null +++ b/package/gcc/7.5.0/0003-cilk-fix-build-without-wchar.patch @@ -0,0 +1,64 @@ +From a605662776a3bd50ebbb84509958cb42f44ec998 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 641aa823901..4f8e0102b90 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.21.0 + diff --git a/package/gcc/7.5.0/0004-Revert-2016-01-21-Ajit-Agarwal-ajitkum-xilinx.com.patch b/package/gcc/7.5.0/0004-Revert-2016-01-21-Ajit-Agarwal-ajitkum-xilinx.com.patch new file mode 100644 index 0000000000..0ae6876ee6 --- /dev/null +++ b/package/gcc/7.5.0/0004-Revert-2016-01-21-Ajit-Agarwal-ajitkum-xilinx.com.patch @@ -0,0 +1,42 @@ +From 01fb9550fd858e441c3c2f358318af6e28e56181 Mon Sep 17 00:00:00 2001 +From: eager +Date: Sat, 27 May 2017 18:29:40 +0000 +Subject: [PATCH] Revert: 2016-01-21 Ajit Agarwal + + See https://gcc.gnu.org/ml/gcc/2017-05/msg00221.html. + + * config/microblaze/microblaze.h + (FIXED_REGISTERS): Update in macro. + (CALL_USED_REGISTERS): Update in macro. + +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 +--- + gcc/config/microblaze/microblaze.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h +index 66e4ef5c3db..2c9ece1d6c6 100644 +--- a/gcc/config/microblaze/microblaze.h ++++ b/gcc/config/microblaze/microblaze.h +@@ -269,14 +269,14 @@ extern enum pipeline_type microblaze_pipe; + #define FIXED_REGISTERS \ + { \ + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, \ +- 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 1, 1, 1, 1 \ + } + + #define CALL_USED_REGISTERS \ + { \ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +- 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ++ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + 1, 1, 1, 1 \ + } + #define GP_REG_FIRST 0 +-- +2.21.0 + diff --git a/package/gcc/7.5.0/0005-PR-target-81497-Fix-arm_acle.h-for-C.patch b/package/gcc/7.5.0/0005-PR-target-81497-Fix-arm_acle.h-for-C.patch new file mode 100644 index 0000000000..0c7ab36770 --- /dev/null +++ b/package/gcc/7.5.0/0005-PR-target-81497-Fix-arm_acle.h-for-C.patch @@ -0,0 +1,323 @@ +From f1c05207166a16d0a6242f2fa642adc439f835a8 Mon Sep 17 00:00:00 2001 +From: ktkachov +Date: Tue, 5 Jun 2018 09:50:16 +0000 +Subject: [PATCH] PR target/81497: Fix arm_acle.h for C++ +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When trying to compile something with arm_acle.h using G++ we get a number of nasty errors: +arm_acle.h:48:49: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive] + return __builtin_arm_ldc (__coproc, __CRd, __p); + +This is because the intrinsics that are supposed to be void return the "result" of their builtin, +which is void. C lets that slide but C++ complains. + +After fixing that we run into further errors: +arm_acle.h:48:46: error: invalid conversion from 'const void*' to 'const int*' [-fpermissive] + return __builtin_arm_ldc (__coproc, __CRd, __p); + ^~~ +Because the pointer arguments in these intrinsics are void pointers but the builtin +expects int pointers. So this patch introduces new qualifiers for void pointers and their +const-qualified versions and uses that in the specification of these intrinsics. + +This gives us the opportunity of creating an arm subdirectory in g++.dg and inaugurates it +with the first arm-specific C++ tests (in that directory). + + PR target/81497 + * config/arm/arm-builtins.c (arm_type_qualifiers): Add + qualifier_void_pointer and qualifier_const_void_pointer. + (arm_ldc_qualifiers, arm_stc_qualifiers): Use the above. + (arm_init_builtins): Handle the above. + * config/arm/arm_acle.h (__arm_cdp, __arm_ldc, __arm_ldcl, __arm_stc, + __arm_stcl, __arm_mcr, __arm_cdp2, __arm_ldc2, __arm_ldcl2, __arm_stc2, + __arm_stcl2,__arm_mcr2, __arm_mcrr, __arm_mcrr2): Remove return for + void intrinsics. + + * 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 +++++++-------- + gcc/testsuite/g++.target/arm/arm.exp | 50 ++++++++++++++++++++++++++ + gcc/testsuite/g++.target/arm/pr81497.C | 9 +++++ + 4 files changed, 99 insertions(+), 30 deletions(-) + create mode 100644 gcc/testsuite/g++.target/arm/arm.exp + create mode 100644 gcc/testsuite/g++.target/arm/pr81497.C + +diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c +index d3b67184362..dd56f13251f 100644 +--- a/gcc/config/arm/arm-builtins.c ++++ b/gcc/config/arm/arm-builtins.c +@@ -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. */ +- qualifier_struct_load_store_lane_index = 0x400 ++ qualifier_struct_load_store_lane_index = 0x400, ++ /* A void pointer. */ ++ qualifier_void_pointer = 0x800, ++ /* A const void pointer. */ ++ qualifier_const_void_pointer = 0x802 + }; + + /* The qualifier_internal allows generation of a unary builtin from +@@ -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, +- qualifier_unsigned_immediate, qualifier_const_pointer }; ++ qualifier_unsigned_immediate, qualifier_const_void_pointer }; + #define LDC_QUALIFIERS \ + (arm_ldc_qualifiers) + +@@ -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, +- qualifier_unsigned_immediate, qualifier_pointer }; ++ qualifier_unsigned_immediate, qualifier_void_pointer }; + #define STC_QUALIFIERS \ + (arm_stc_qualifiers) + +@@ -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); + +- eltype = arm_simd_builtin_type +- (op_mode, +- (qualifiers & qualifier_unsigned) != 0, +- (qualifiers & qualifier_poly) != 0); +- gcc_assert (eltype != NULL); +- +- /* Add qualifiers. */ +- if (qualifiers & qualifier_const) +- eltype = build_qualified_type (eltype, TYPE_QUAL_CONST); +- +- if (qualifiers & qualifier_pointer) +- eltype = build_pointer_type (eltype); +- ++ /* For void pointers we already have nodes constructed by the midend. */ ++ if (qualifiers & qualifier_void_pointer) ++ eltype = qualifiers & qualifier_const ++ ? const_ptr_type_node : ptr_type_node; ++ else ++ { ++ eltype ++ = arm_simd_builtin_type (op_mode, ++ (qualifiers & qualifier_unsigned) != 0, ++ (qualifiers & qualifier_poly) != 0); ++ gcc_assert (eltype != NULL); ++ ++ /* Add qualifiers. */ ++ if (qualifiers & qualifier_const) ++ eltype = build_qualified_type (eltype, TYPE_QUAL_CONST); ++ ++ if (qualifiers & qualifier_pointer) ++ eltype = build_pointer_type (eltype); ++ } + /* If we have reached arg_num == 0, we are at a non-void + return type. Otherwise, we are still processing + arguments. */ +diff --git a/gcc/config/arm/arm_acle.h b/gcc/config/arm/arm_acle.h +index 972e28edb86..69c29df4313 100644 +--- a/gcc/config/arm/arm_acle.h ++++ b/gcc/config/arm/arm_acle.h +@@ -38,35 +38,35 @@ __arm_cdp (const unsigned int __coproc, const unsigned int __opc1, + const unsigned int __CRd, const unsigned int __CRn, + const unsigned int __CRm, const unsigned int __opc2) + { +- return __builtin_arm_cdp (__coproc, __opc1, __CRd, __CRn, __CRm, __opc2); ++ __builtin_arm_cdp (__coproc, __opc1, __CRd, __CRn, __CRm, __opc2); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_ldc (const unsigned int __coproc, const unsigned int __CRd, + const void * __p) + { +- return __builtin_arm_ldc (__coproc, __CRd, __p); ++ __builtin_arm_ldc (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_ldcl (const unsigned int __coproc, const unsigned int __CRd, + const void * __p) + { +- return __builtin_arm_ldcl (__coproc, __CRd, __p); ++ __builtin_arm_ldcl (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_stc (const unsigned int __coproc, const unsigned int __CRd, + void * __p) + { +- return __builtin_arm_stc (__coproc, __CRd, __p); ++ __builtin_arm_stc (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_stcl (const unsigned int __coproc, const unsigned int __CRd, + void * __p) + { +- return __builtin_arm_stcl (__coproc, __CRd, __p); ++ __builtin_arm_stcl (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) +@@ -74,7 +74,7 @@ __arm_mcr (const unsigned int __coproc, const unsigned int __opc1, + uint32_t __value, const unsigned int __CRn, const unsigned int __CRm, + const unsigned int __opc2) + { +- return __builtin_arm_mcr (__coproc, __opc1, __value, __CRn, __CRm, __opc2); ++ __builtin_arm_mcr (__coproc, __opc1, __value, __CRn, __CRm, __opc2); + } + + __extension__ static __inline uint32_t __attribute__ ((__always_inline__)) +@@ -90,35 +90,35 @@ __arm_cdp2 (const unsigned int __coproc, const unsigned int __opc1, + const unsigned int __CRd, const unsigned int __CRn, + const unsigned int __CRm, const unsigned int __opc2) + { +- return __builtin_arm_cdp2 (__coproc, __opc1, __CRd, __CRn, __CRm, __opc2); ++ __builtin_arm_cdp2 (__coproc, __opc1, __CRd, __CRn, __CRm, __opc2); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_ldc2 (const unsigned int __coproc, const unsigned int __CRd, + const void * __p) + { +- return __builtin_arm_ldc2 (__coproc, __CRd, __p); ++ __builtin_arm_ldc2 (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_ldc2l (const unsigned int __coproc, const unsigned int __CRd, + const void * __p) + { +- return __builtin_arm_ldc2l (__coproc, __CRd, __p); ++ __builtin_arm_ldc2l (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_stc2 (const unsigned int __coproc, const unsigned int __CRd, + void * __p) + { +- return __builtin_arm_stc2 (__coproc, __CRd, __p); ++ __builtin_arm_stc2 (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_stc2l (const unsigned int __coproc, const unsigned int __CRd, + void * __p) + { +- return __builtin_arm_stc2l (__coproc, __CRd, __p); ++ __builtin_arm_stc2l (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) +@@ -126,7 +126,7 @@ __arm_mcr2 (const unsigned int __coproc, const unsigned int __opc1, + uint32_t __value, const unsigned int __CRn, + const unsigned int __CRm, const unsigned int __opc2) + { +- return __builtin_arm_mcr2 (__coproc, __opc1, __value, __CRn, __CRm, __opc2); ++ __builtin_arm_mcr2 (__coproc, __opc1, __value, __CRn, __CRm, __opc2); + } + + __extension__ static __inline uint32_t __attribute__ ((__always_inline__)) +@@ -143,7 +143,7 @@ __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_mcrr (const unsigned int __coproc, const unsigned int __opc1, + uint64_t __value, const unsigned int __CRm) + { +- return __builtin_arm_mcrr (__coproc, __opc1, __value, __CRm); ++ __builtin_arm_mcrr (__coproc, __opc1, __value, __CRm); + } + + __extension__ static __inline uint64_t __attribute__ ((__always_inline__)) +@@ -159,7 +159,7 @@ __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_mcrr2 (const unsigned int __coproc, const unsigned int __opc1, + uint64_t __value, const unsigned int __CRm) + { +- return __builtin_arm_mcrr2 (__coproc, __opc1, __value, __CRm); ++ __builtin_arm_mcrr2 (__coproc, __opc1, __value, __CRm); + } + + __extension__ static __inline uint64_t __attribute__ ((__always_inline__)) +diff --git a/gcc/testsuite/g++.target/arm/arm.exp b/gcc/testsuite/g++.target/arm/arm.exp +new file mode 100644 +index 00000000000..1a169d2f220 +--- /dev/null ++++ b/gcc/testsuite/g++.target/arm/arm.exp +@@ -0,0 +1,50 @@ ++# Specific regression driver for arm. ++# Copyright (C) 2009-2018 Free Software Foundation, Inc. ++# ++# This file is part of GCC. ++# ++# GCC 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, or (at your option) ++# any later version. ++# ++# GCC 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 GCC; see the file COPYING3. If not see ++# . */ ++ ++# GCC testsuite that uses the `dg.exp' driver. ++ ++# Exit immediately if this isn't an arm target. ++if {![istarget arm*-*-*] } then { ++ return ++} ++ ++# Load support procs. ++load_lib g++-dg.exp ++ ++global DEFAULT_CXXFLAGS ++if ![info exists DEFAULT_CXXFLAGS] then { ++ set DEFAULT_CXXFLAGS " -pedantic-errors" ++} ++ ++ ++global dg_runtest_extra_prunes ++set dg_runtest_extra_prunes "" ++lappend dg_runtest_extra_prunes "warning: switch -m(cpu|arch)=.* conflicts with -m(cpu|arch)=.* switch" ++ ++# Initialize `dg'. ++dg-init ++ ++# Main loop. ++dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.C]] \ ++ "" $DEFAULT_CXXFLAGS ++ ++# All done. ++set dg_runtest_extra_prunes "" ++dg-finish ++ +diff --git a/gcc/testsuite/g++.target/arm/pr81497.C b/gcc/testsuite/g++.target/arm/pr81497.C +new file mode 100644 +index 00000000000..0519a3a3045 +--- /dev/null ++++ b/gcc/testsuite/g++.target/arm/pr81497.C +@@ -0,0 +1,9 @@ ++/* { dg-do compile } */ ++/* { dg-require-effective-target arm_thumb2_ok } */ ++ ++#include ++ ++int main () ++{ ++ return 0; ++} +-- +2.21.0 + diff --git a/package/gcc/7.5.0/0006-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch b/package/gcc/7.5.0/0006-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch new file mode 100644 index 0000000000..de0f453348 --- /dev/null +++ b/package/gcc/7.5.0/0006-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch @@ -0,0 +1,31 @@ +From 1d78555bfc753039546ce5ca655dece67732e7bd 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.21.0 + diff --git a/package/gcc/7.5.0/0007-xtensa-fix-PR-target-91880.patch b/package/gcc/7.5.0/0007-xtensa-fix-PR-target-91880.patch new file mode 100644 index 0000000000..e75588bf4e --- /dev/null +++ b/package/gcc/7.5.0/0007-xtensa-fix-PR-target-91880.patch @@ -0,0 +1,49 @@ +From 7c11710230921246156aecc20eb4b6ccaeaaa473 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Tue, 24 Sep 2019 04:15:17 -0700 +Subject: [PATCH] xtensa: fix PR target/91880 + +Xtensa hwloop_optimize segfaults when zero overhead loop is about to be +inserted as the first instruction of the function. +Insert zero overhead loop instruction into new basic block before the +loop when basic block that precedes the loop is empty. + +2019-09-26 Max Filippov +gcc/ + * config/xtensa/xtensa.c (hwloop_optimize): Insert zero overhead + loop instruction into new basic block before the loop when basic + block that precedes the loop is empty. + +Signed-off-by: Max Filippov +--- +Backported from: r276166 + + gcc/config/xtensa/xtensa.c | 5 ++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index ee5612441e25..2527468d57db 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -4174,7 +4174,9 @@ hwloop_optimize (hwloop_info loop) + + seq = get_insns (); + +- if (!single_succ_p (entry_bb) || vec_safe_length (loop->incoming) > 1) ++ entry_after = BB_END (entry_bb); ++ if (!single_succ_p (entry_bb) || vec_safe_length (loop->incoming) > 1 ++ || !entry_after) + { + basic_block new_bb; + edge e; +@@ -4195,7 +4197,6 @@ hwloop_optimize (hwloop_info loop) + } + else + { +- entry_after = BB_END (entry_bb); + while (DEBUG_INSN_P (entry_after) + || (NOTE_P (entry_after) + && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK +-- +2.11.0 + diff --git a/package/gcc/8.4.0/0001-xtensa-fix-PR-target-91880.patch b/package/gcc/8.4.0/0001-xtensa-fix-PR-target-91880.patch new file mode 100644 index 0000000000..119826b516 --- /dev/null +++ b/package/gcc/8.4.0/0001-xtensa-fix-PR-target-91880.patch @@ -0,0 +1,51 @@ +From 28623c81b50663e946790649352cb1b3ed23954d Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Tue, 24 Sep 2019 04:15:17 -0700 +Subject: [PATCH] xtensa: fix PR target/91880 + +Xtensa hwloop_optimize segfaults when zero overhead loop is about to be +inserted as the first instruction of the function. +Insert zero overhead loop instruction into new basic block before the +loop when basic block that precedes the loop is empty. + +2019-09-26 Max Filippov +gcc/ + * config/xtensa/xtensa.c (hwloop_optimize): Insert zero overhead + loop instruction into new basic block before the loop when basic + block that precedes the loop is empty. + +Signed-off-by: Max Filippov +[Romain: rebase on gcc 8.4.0] +Signed-off-by: Romain Naour +--- +Backported from: r276166 + + gcc/config/xtensa/xtensa.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index 08f9f7c7a8f..de206527810 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -4232,7 +4232,9 @@ hwloop_optimize (hwloop_info loop) + + seq = get_insns (); + +- if (!single_succ_p (entry_bb) || vec_safe_length (loop->incoming) > 1) ++ entry_after = BB_END (entry_bb); ++ if (!single_succ_p (entry_bb) || vec_safe_length (loop->incoming) > 1 ++ || !entry_after) + { + basic_block new_bb; + edge e; +@@ -4253,7 +4255,6 @@ hwloop_optimize (hwloop_info loop) + } + else + { +- entry_after = BB_END (entry_bb); + while (DEBUG_INSN_P (entry_after) + || (NOTE_P (entry_after) + && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK)) +-- +2.24.1 + diff --git a/package/gcc/9.3.0/0001-xtensa-fix-PR-target-91880.patch b/package/gcc/9.3.0/0001-xtensa-fix-PR-target-91880.patch new file mode 100644 index 0000000000..4e5aea2c7b --- /dev/null +++ b/package/gcc/9.3.0/0001-xtensa-fix-PR-target-91880.patch @@ -0,0 +1,50 @@ +From 0a59aa440a4c125b81504c777b066ae4eb1f09f0 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Tue, 24 Sep 2019 04:15:17 -0700 +Subject: [PATCH] xtensa: fix PR target/91880 + +Xtensa hwloop_optimize segfaults when zero overhead loop is about to be +inserted as the first instruction of the function. +Insert zero overhead loop instruction into new basic block before the +loop when basic block that precedes the loop is empty. + +2019-09-26 Max Filippov +gcc/ + * config/xtensa/xtensa.c (hwloop_optimize): Insert zero overhead + loop instruction into new basic block before the loop when basic + block that precedes the loop is empty. + +Signed-off-by: Max Filippov +Signed-off-by: Romain Naour +--- +Backported from: r276166 + + gcc/config/xtensa/xtensa.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index ee5612441e2..2527468d57d 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -4235,7 +4235,9 @@ hwloop_optimize (hwloop_info loop) + + seq = get_insns (); + +- if (!single_succ_p (entry_bb) || vec_safe_length (loop->incoming) > 1) ++ entry_after = BB_END (entry_bb); ++ if (!single_succ_p (entry_bb) || vec_safe_length (loop->incoming) > 1 ++ || !entry_after) + { + basic_block new_bb; + edge e; +@@ -4256,7 +4258,6 @@ hwloop_optimize (hwloop_info loop) + } + else + { +- entry_after = BB_END (entry_bb); + while (DEBUG_INSN_P (entry_after) + || (NOTE_P (entry_after) + && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK)) +-- +2.24.1 + diff --git a/package/gcc/9.3.0/0002-or1k-Fix-issue-with-set_got-clobbering-LR-r9.patch b/package/gcc/9.3.0/0002-or1k-Fix-issue-with-set_got-clobbering-LR-r9.patch new file mode 100644 index 0000000000..e40b96fe0f --- /dev/null +++ b/package/gcc/9.3.0/0002-or1k-Fix-issue-with-set_got-clobbering-LR-r9.patch @@ -0,0 +1,105 @@ +From 1383012ae409ed91903b2b76ee15137bc1f89900 Mon Sep 17 00:00:00 2001 +From: shorne +Date: Sat, 31 Aug 2019 06:00:56 +0000 +Subject: [PATCH] or1k: Fix issue with set_got clobbering LR (r9) + +When compiling glibc we found that the GOT register was being allocated +r9 when the instruction was still set_got_tmp. That is a problem +because r9 is the Link Register (LR) in OpenRISC which is used/clobbered +in set_got. We cannot use r9 as the GOT register. Also, we cannot +simply say set_got_tmp clobbers r9 as this is the reason for having the +temporary set_got_tmp. + +Fix by using a register class constraint that does not allow r9 during +register allocation. + +gcc/ChangeLog: + + * config/or1k/constraints.md (t): New constraint. + * config/or1k/or1k.h (GOT_REGS): New register class. + * config/or1k/or1k.md (set_got_tmp, set_got): Use t contraint. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@275242 138bc75d-0d04-0410-961f-82ee72b054a4 +(cherry picked from commit 5b9471ffca25d39635680516ba2ff85295480fc3) +Signed-off-by: Romain Naour +--- + gcc/config/or1k/constraints.md | 4 ++++ + gcc/config/or1k/or1k.h | 3 +++ + gcc/config/or1k/or1k.md | 4 ++-- + 3 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/or1k/constraints.md b/gcc/config/or1k/constraints.md +index 93da8c058c6..a16b749008f 100644 +--- a/gcc/config/or1k/constraints.md ++++ b/gcc/config/or1k/constraints.md +@@ -24,6 +24,7 @@ + + ; We use: + ; c - sibcall registers ++; t - got address registers (excludes LR (r9) which is clobbered by set_got) + ; I - constant signed 16-bit + ; K - constant unsigned 16-bit + ; M - constant signed 16-bit shifted left 16-bits (l.movhi) +@@ -32,6 +33,9 @@ + (define_register_constraint "c" "SIBCALL_REGS" + "Registers which can hold a sibling call address") + ++(define_register_constraint "t" "GOT_REGS" ++ "Registers which can be used to store the Global Offset Table (GOT) address.") ++ + ;; Immediates + (define_constraint "I" + "A signed 16-bit immediate in the range -32768 to 32767." +diff --git a/gcc/config/or1k/or1k.h b/gcc/config/or1k/or1k.h +index 6dda230f217..feee702d89c 100644 +--- a/gcc/config/or1k/or1k.h ++++ b/gcc/config/or1k/or1k.h +@@ -189,6 +189,7 @@ enum reg_class + { + NO_REGS, + SIBCALL_REGS, ++ GOT_REGS, + GENERAL_REGS, + FLAG_REGS, + ALL_REGS, +@@ -200,6 +201,7 @@ enum reg_class + #define REG_CLASS_NAMES { \ + "NO_REGS", \ + "SIBCALL_REGS", \ ++ "GOT_REGS", \ + "GENERAL_REGS", \ + "FLAG_REGS", \ + "ALL_REGS" } +@@ -212,6 +214,7 @@ enum reg_class + #define REG_CLASS_CONTENTS \ + { { 0x00000000, 0x00000000 }, \ + { SIBCALL_REGS_MASK, 0 }, \ ++ { 0xfffffdff, 0x00000000 }, \ + { 0xffffffff, 0x00000003 }, \ + { 0x00000000, 0x00000004 }, \ + { 0xffffffff, 0x00000007 } \ +diff --git a/gcc/config/or1k/or1k.md b/gcc/config/or1k/or1k.md +index 2dad51cd46b..88f3f02630f 100644 +--- a/gcc/config/or1k/or1k.md ++++ b/gcc/config/or1k/or1k.md +@@ -595,7 +595,7 @@ + ;; set_got pattern below. This works because the set_got_tmp insn is the + ;; first insn in the stream and that it isn't moved during RA. + (define_insn "set_got_tmp" +- [(set (match_operand:SI 0 "register_operand" "=r") ++ [(set (match_operand:SI 0 "register_operand" "=t") + (unspec_volatile:SI [(const_int 0)] UNSPECV_SET_GOT))] + "" + { +@@ -604,7 +604,7 @@ + + ;; The insn to initialize the GOT. + (define_insn "set_got" +- [(set (match_operand:SI 0 "register_operand" "=r") ++ [(set (match_operand:SI 0 "register_operand" "=t") + (unspec:SI [(const_int 0)] UNSPEC_SET_GOT)) + (clobber (reg:SI LR_REGNUM))] + "" +-- +2.24.1 + diff --git a/package/gcc/9.3.0/0003-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch b/package/gcc/9.3.0/0003-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch new file mode 100644 index 0000000000..3ff64b71f8 --- /dev/null +++ b/package/gcc/9.3.0/0003-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch @@ -0,0 +1,31 @@ +From 2aefc4ee703ce3ff70ad25915005cacfbaae0c49 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Fri, 27 Mar 2020 21:23:53 +0100 +Subject: [PATCH] gcc: define _REENTRANT for OpenRISC when -pthread is passed + +The detection of pthread support fails on OpenRISC unless _REENTRANT +is defined. Added the CPP_SPEC definition to correct this. + +Patch sent upstream: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94372 + +Signed-off-by: Bernd Kuhls +--- + gcc/config/or1k/linux.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gcc/config/or1k/linux.h b/gcc/config/or1k/linux.h +index 4b2f7b6e1fd..b00d23ddfa0 100644 +--- a/gcc/config/or1k/linux.h ++++ b/gcc/config/or1k/linux.h +@@ -32,6 +32,8 @@ + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-or1k.so.1" + ++#define CPP_SPEC "%{pthread:-D_REENTRANT}" ++ + #undef LINK_SPEC + #define LINK_SPEC "%{h*} \ + %{static:-Bstatic} \ +-- +2.21.0 + diff --git a/package/gcc/9.3.0/0004-gcc-Makefile.in-move-SELFTEST_DEPS-before-including-.patch b/package/gcc/9.3.0/0004-gcc-Makefile.in-move-SELFTEST_DEPS-before-including-.patch new file mode 100644 index 0000000000..227d35a7f0 --- /dev/null +++ b/package/gcc/9.3.0/0004-gcc-Makefile.in-move-SELFTEST_DEPS-before-including-.patch @@ -0,0 +1,81 @@ +From 811c8d628045c3d248144fc560a4bf80209ca16e Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Thu, 21 May 2020 15:58:02 +0200 +Subject: [PATCH] gcc/Makefile.in: move SELFTEST_DEPS before including language + makefile fragments + +As reported by several Buildroot users [1][2][3], the gcc build +may fail while running selftests makefile target. + +The problem only occurs when ccache is used with gcc 9 and 10, +probably due to a race condition. + +While debuging with "make -p" we can notice that s-selftest-c target +contain only "cc1" as dependency instead of cc1 and SELFTEST_DEPS [4]. + + s-selftest-c: cc1 + +While the build is failing, the s-selftest-c dependencies recipe is +still running and reported as a bug by make. + + "Dependencies recipe running (THIS IS A BUG)." + +A change [5] in gcc 9 seems to introduce the problem since we can't +reproduce this problem with gcc 8. + +As suggested by Yann E. MORIN [6], move SELFTEST_DEPS before +including language makefile fragments. + +With the fix applied, the s-seltest-c dependency contains +SELFTEST_DEPS value. + + s-selftest-c: cc1 xgcc specs stmp-int-hdrs ../../gcc/testsuite/selftests + +[1] http://lists.busybox.net/pipermail/buildroot/2020-May/282171.html +[2] http://lists.busybox.net/pipermail/buildroot/2020-May/282766.html +[3] https://github.com/cirosantilli/linux-kernel-module-cheat/issues/108 +[4] https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/c/Make-lang.in;h=bfae6fd2549c4f728816cd355fa9739dcc08fcde;hb=033eb5671769a4c681a44aad08a454e667e08502#l120 +[5] https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=033eb5671769a4c681a44aad08a454e667e08502 +[6] http://lists.busybox.net/pipermail/buildroot/2020-May/283213.html + +Upstream status: https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546248.html + +Signed-off-by: Romain Naour +Cc: Ben Dakin-Norris +Cc: Maxim Kochetkov +Cc: Thomas Petazzoni +Cc: Yann E. MORIN +Cc: Cc: David Malcolm +--- +This patch should be backported to gcc 10 and gcc 9. +--- + gcc/Makefile.in | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index abae872cd63..e2ef3c46afc 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -1686,6 +1686,10 @@ $(FULL_DRIVER_NAME): ./xgcc + rm -f $@ + $(LN_S) $< $@ + ++# SELFTEST_DEPS need to be set before including language makefile fragments. ++# Otherwise $(SELFTEST_DEPS) is empty when used from various /Make-lang.in. ++SELFTEST_DEPS = $(GCC_PASSES) stmp-int-hdrs $(srcdir)/testsuite/selftests ++ + # + # Language makefile fragments. + +@@ -1950,8 +1954,6 @@ DEVNULL=$(if $(findstring mingw,$(build)),nul,/dev/null) + SELFTEST_FLAGS = -nostdinc $(DEVNULL) -S -o $(DEVNULL) \ + -fself-test=$(srcdir)/testsuite/selftests + +-SELFTEST_DEPS = $(GCC_PASSES) stmp-int-hdrs $(srcdir)/testsuite/selftests +- + # 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 +-- +2.25.4 + diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index 8ec406a117..034dfb5463 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -3,58 +3,21 @@ comment "GCC Options" choice prompt "GCC compiler Version" default BR2_GCC_VERSION_ARC if BR2_arc - default BR2_GCC_VERSION_OR1K if BR2_or1k - default BR2_GCC_VERSION_7_X + default BR2_GCC_VERSION_CSKY if BR2_csky + default BR2_GCC_VERSION_8_X help Select the version of gcc you wish to use. config BR2_GCC_VERSION_ARC - bool "gcc arc (8.x)" + bool "gcc arc (9.x)" # Only supported architecture depends on BR2_arc - select BR2_TOOLCHAIN_GCC_AT_LEAST_8 + select BR2_TOOLCHAIN_GCC_AT_LEAST_9 -config BR2_GCC_VERSION_OR1K - bool "gcc or1k (5.x)" +config BR2_GCC_VERSION_CSKY + bool "gcc csky" # Only supported architecture - depends on BR2_or1k - select BR2_TOOLCHAIN_GCC_AT_LEAST_5 - -config BR2_GCC_VERSION_4_9_X - bool "gcc 4.9.x" - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5 - # Broken or unsupported architectures - depends on !BR2_arc - depends on !BR2_or1k - # musl on microblaze, ppc64 and mips64 unsupported - depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_microblazeel || BR2_microblazebe)) - depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le)) - depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el)) - # glibc >= 2.26 needs gcc >= 6.2 - depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_powerpc64le) - # glibc >= 2.27 needs gcc >= 5 - depends on !(BR2_TOOLCHAIN_USES_GLIBC && (BR2_aarch64 || BR2_aarch64_be)) - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - -config BR2_GCC_VERSION_5_X - bool "gcc 5.x" - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6 - # Broken or unsupported architectures - depends on !BR2_arc - depends on !BR2_or1k - # musl on ppc64 and mips64 unsupported - depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le)) - depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el)) - # glibc >= 2.26 needs gcc >= 6.2 - depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_powerpc64le) - select BR2_TOOLCHAIN_GCC_AT_LEAST_5 - -config BR2_GCC_VERSION_6_X - bool "gcc 6.x" - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 - # Broken or unsupported architectures - depends on !BR2_arc - depends on !BR2_or1k + depends on BR2_csky select BR2_TOOLCHAIN_GCC_AT_LEAST_6 config BR2_GCC_VERSION_7_X @@ -66,27 +29,54 @@ config BR2_GCC_VERSION_7_X config BR2_GCC_VERSION_8_X bool "gcc 8.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_9 # Broken or unsupported architectures depends on !BR2_or1k + # powerpc spe support has been deprecated since gcc 8.x. + # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html + depends on !BR2_powerpc_SPE select BR2_TOOLCHAIN_GCC_AT_LEAST_8 +config BR2_GCC_VERSION_9_X + bool "gcc 9.x" + # or1k needs binutils >= 2.32 + depends on !(BR2_or1k && BR2_BINUTILS_VERSION_2_31_X) + # powerpc spe support has been deprecated since gcc 8.x. + # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html + depends on !BR2_powerpc_SPE + # C-SKY sk610 needs abiv1, which is not supported in + # upstream gcc. C-SKY gcc upstream support not tested + # with upstream binutils and glibc. + depends on !BR2_csky + select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + endchoice -# libcilkrts was introduced in gcc 4.9 (oldest gcc version we -# support), and removed in gcc 8.x +# libcilkrts was introduced in gcc 4.9 and removed in gcc 8.x config BR2_GCC_SUPPORTS_LIBCILKRTS bool default y if !BR2_TOOLCHAIN_GCC_AT_LEAST_8 +config BR2_GCC_SUPPORTS_DLANG + bool + default y if BR2_aarch64 + default y if BR2_arm + default y if BR2_i386 + default y if BR2_mips || BR2_mipsel + default y if BR2_mips64 || BR2_mips64el + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + default y if BR2_x86_64 + default y if BR2_riscv && !BR2_RISCV_64 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 + depends on BR2_TOOLCHAIN_USES_GLIBC + 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.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 + default "7.5.0" if BR2_GCC_VERSION_7_X + default "8.4.0" if BR2_GCC_VERSION_8_X + default "9.3.0" if BR2_GCC_VERSION_9_X + default "arc-2019.09-release" if BR2_GCC_VERSION_ARC + default "48152afb96c59733d5bc79e3399bb7b3d4b44266" if BR2_GCC_VERSION_CSKY config BR2_EXTRA_GCC_CONFIG_OPTIONS string "Additional gcc options" @@ -119,6 +109,15 @@ config BR2_TOOLCHAIN_BUILDROOT_FORTRAN Fortran language and you want Fortran libraries to be installed on your target system. +config BR2_TOOLCHAIN_BUILDROOT_DLANG + bool "Enable D language support" + depends on BR2_GCC_SUPPORTS_DLANG + select BR2_TOOLCHAIN_HAS_DLANG + help + Enable this option if you want your toolchain to support the + D language and you want D libraries to be installed on your + target system. + config BR2_GCC_ENABLE_LTO bool "Enable compiler link-time-optimization support" select BR2_BINUTILS_ENABLE_LTO @@ -129,25 +128,10 @@ config BR2_GCC_ENABLE_LTO config BR2_GCC_ENABLE_OPENMP bool "Enable compiler OpenMP support" depends on !BR2_PTHREADS_NONE && !BR2_arc && !BR2_microblaze + select BR2_TOOLCHAIN_HAS_OPENMP help Enable OpenMP support for the compiler -config BR2_GCC_ENABLE_LIBMUDFLAP - bool "Enable libmudflap support" - # There are architectures, or specific configurations for - # which mudflap is not supported. - depends on !BR2_ARM_INSTRUCTIONS_THUMB && !BR2_powerpc_SPE - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - help - libmudflap is a gcc library used for the mudflap pointer - debugging functionality. It is only needed if you intend to - use the -fmudflap gcc flag. - - See http://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging and - the help of the gcc -fmudflap option for more details. - - If you're unsure, leave this option disabled. - config BR2_GCC_ENABLE_GRAPHITE bool "Enable graphite support" depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/gcc/arc-2018.09-release/0100-uclibc-conf.patch b/package/gcc/arc-2018.09-release/0100-uclibc-conf.patch deleted file mode 100644 index d354baf81f..0000000000 --- a/package/gcc/arc-2018.09-release/0100-uclibc-conf.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 326b880b20e5f8187dbda736b4c4c662cbfb00ca Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 2 May 2017 22:36:15 +0200 -Subject: [PATCH] uclibc-conf - -[Romain: convert to git patch] -Signed-off-by: Romain Naour ---- - contrib/regression/objs-gcc.sh | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/contrib/regression/objs-gcc.sh b/contrib/regression/objs-gcc.sh -index 60b0497..6dc7ead 100755 ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-gnu ] - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 --- -2.9.3 - diff --git a/package/gcc/7.4.0/0100-uclibc-conf.patch b/package/gcc/arc-2019.09-release/0100-uclibc-conf.patch similarity index 100% rename from package/gcc/7.4.0/0100-uclibc-conf.patch rename to package/gcc/arc-2019.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 49f16f699e..24d034b720 100644 --- a/package/gcc/gcc-final/gcc-final.mk +++ b/package/gcc/gcc-final/gcc-final.mk @@ -55,6 +55,7 @@ endef # Languages supported by the cross-compiler GCC_FINAL_CROSS_LANGUAGES-y = c GCC_FINAL_CROSS_LANGUAGES-$(BR2_INSTALL_LIBSTDCPP) += c++ +GCC_FINAL_CROSS_LANGUAGES-$(BR2_TOOLCHAIN_BUILDROOT_DLANG) += d GCC_FINAL_CROSS_LANGUAGES-$(BR2_TOOLCHAIN_BUILDROOT_FORTRAN) += fortran GCC_FINAL_CROSS_LANGUAGES = $(subst $(space),$(comma),$(GCC_FINAL_CROSS_LANGUAGES-y)) @@ -63,18 +64,16 @@ HOST_GCC_FINAL_CONF_OPTS = \ --enable-languages=$(GCC_FINAL_CROSS_LANGUAGES) \ --with-build-time-tools=$(HOST_DIR)/$(GNU_TARGET_NAME)/bin -HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib* # The kernel wants to use the -m4-nofpu option to make sure that it # 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) +else 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* +else +HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib* endif ifeq ($(BR2_GCC_SUPPORTS_LIBCILKRTS),y) @@ -172,6 +171,10 @@ ifeq ($(BR2_INSTALL_LIBSTDCPP),y) HOST_GCC_FINAL_USR_LIBS += libstdc++ endif +ifeq ($(BR2_TOOLCHAIN_BUILDROOT_DLANG),y) +HOST_GCC_FINAL_USR_LIBS += libgdruntime libgphobos +endif + ifeq ($(BR2_TOOLCHAIN_BUILDROOT_FORTRAN),y) HOST_GCC_FINAL_USR_LIBS += libgfortran # fortran needs quadmath on x86 and x86_64 @@ -184,13 +187,7 @@ ifeq ($(BR2_GCC_ENABLE_OPENMP),y) HOST_GCC_FINAL_USR_LIBS += libgomp endif -ifeq ($(BR2_GCC_ENABLE_LIBMUDFLAP),y) -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) -HOST_GCC_FINAL_USR_LIBS += libmudflapth -else -HOST_GCC_FINAL_USR_LIBS += libmudflap -endif -endif +HOST_GCC_FINAL_USR_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_LIBS)) ifneq ($(HOST_GCC_FINAL_USR_LIBS),) define HOST_GCC_FINAL_INSTALL_STATIC_LIBS diff --git a/package/gcc/gcc-initial/gcc-initial.mk b/package/gcc/gcc-initial/gcc-initial.mk index 1decca8259..f5bc6c5b77 100644 --- a/package/gcc/gcc-initial/gcc-initial.mk +++ b/package/gcc/gcc-initial/gcc-initial.mk @@ -38,7 +38,6 @@ HOST_GCC_INITIAL_CONF_OPTS = \ --disable-threads \ --with-newlib \ --disable-largefile \ - --disable-nls \ $(call qstrip,$(BR2_EXTRA_GCC_CONFIG_OPTIONS)) HOST_GCC_INITIAL_CONF_ENV = \ diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index 4f1e7f932f..321b3767ab 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -1,15 +1,13 @@ -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.4/sha512.sum -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.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 +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.5.0/sha512.sum +sha512 fe716cc19f2e3255d3a8b1b8290777bf769c6d98e6e0b07b81a3d6ad43f8af74cb170dfa18b1555dbfcd3f55ae582b91a286ccef496b9b65c1579902f96a1f60 gcc-7.5.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-8.4.0/sha512.sum +sha512 6de904f552a02de33b11ef52312bb664396efd7e1ce3bbe37bfad5ef617f133095b3767b4804bc7fe78df335cb53bc83f1ac055baed40979ce4c2c3e46b70280 gcc-8.4.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-9.3.0/sha512.sum +sha512 4b9e3639eef6e623747a22c37a904b4750c93b6da77cf3958d5047e9b5ebddb7eebe091cc16ca0a227c0ecbd2bf3b984b221130f269a97ee4cc18f9cf6c444de gcc-9.3.0.tar.xz # Locally calculated (fetched from Github) -sha512 4d12c3ac27b9de9c533be3b8964cf23d21bf6933b5073183e1affe714b0ff33f9d6169e3b55a5c505d7dae33c9bb4f8b0d110461e3a124182d8c8d51b66b8e45 gcc-arc-2018.09-release.tar.gz +sha512 84648d13f174102733e06ccdf7b351150babe06af0f2b99b8dfb2b2d3c3f13e424547349939806fe19932ad347977cad79cd8b37be9cbb03e6a4d03cdf95a72e gcc-arc-2019.09-release.tar.gz # Locally calculated (fetched from Github) sha512 2de7cf47333a4092b02d3bb98f4206f14966f1d139a724d09cf3b22f8a43ae0c704f33e6477d6367a03c29b265480dc900169e9d417006c5d46f0ae446b8c6f1 gcc-or1k-musl-5.4.0-20170218.tar.gz +# Locally calculated (fetched from https://github.com/c-sky/gcc) +sha512 1c3564fd6573dce13451a73015e7d88fecbb214dc1df96607976255b1d8b9e60318405333f4f218eea8d07e3675a802b66eff6df3921d505c4036481512792c2 gcc-48152afb96c59733d5bc79e3399bb7b3d4b44266.tar.gz diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index 5901624ea5..af25d268a7 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -13,19 +13,13 @@ GCC_VERSION = $(call qstrip,$(BR2_GCC_VERSION)) ifeq ($(BR2_GCC_VERSION_ARC),y) GCC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,gcc,$(GCC_VERSION)) GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz -else ifeq ($(BR2_or1k),y) -GCC_SITE = $(call github,openrisc,or1k-gcc,$(GCC_VERSION)) +else ifeq ($(BR2_GCC_VERSION_CSKY),y) +GCC_SITE = $(call github,c-sky,gcc,$(GCC_VERSION)) GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz else GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(GCC_VERSION) -# From version 5.5.0, 6.4.0, 7.2.0 and 8.1.0 a bz2 release tarball is not -# provided anymore. Use the xz tarball instead. -ifeq ($(BR2_GCC_VERSION_4_9_X),y) -GCC_SOURCE = gcc-$(GCC_VERSION).tar.bz2 -else GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz endif -endif # # Xtensa special hook @@ -38,14 +32,6 @@ endef # Apply patches # -ifeq ($(ARCH),powerpc) -ifneq ($(BR2_SOFT_FLOAT),) -define HOST_GCC_APPLY_POWERPC_PATCH - $(APPLY_PATCHES) $(@D) package/gcc/$(GCC_VERSION) 1000-powerpc-link-with-math-lib.patch.conditional -endef -endif -endif - # gcc is a special package, not named gcc, but gcc-initial and # gcc-final, but patches are nonetheless stored in package/gcc in the # tree, and potentially in BR2_GLOBAL_PATCH_DIR directories as well. @@ -106,6 +92,11 @@ HOST_GCC_COMMON_CONF_ENV = \ GCC_COMMON_TARGET_CFLAGS = $(TARGET_CFLAGS) GCC_COMMON_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS) +# used to fix ../../../../libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: error: 'st.st_mode' may be used uninitialized in this function [-Werror=maybe-uninitialized] +ifeq ($(BR2_ENABLE_DEBUG),y) +GCC_COMMON_TARGET_CFLAGS += -Wno-error +endif + # Propagate options used for target software building to GCC target libs HOST_GCC_COMMON_CONF_ENV += CFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CFLAGS)" HOST_GCC_COMMON_CONF_ENV += CXXFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CXXFLAGS)" @@ -152,12 +143,6 @@ ifeq ($(BR2_GCC_ENABLE_LTO),y) HOST_GCC_COMMON_CONF_OPTS += --enable-plugins --enable-lto endif -ifeq ($(BR2_GCC_ENABLE_LIBMUDFLAP),y) -HOST_GCC_COMMON_CONF_OPTS += --enable-libmudflap -else -HOST_GCC_COMMON_CONF_OPTS += --disable-libmudflap -endif - ifeq ($(BR2_PTHREADS_NONE),y) HOST_GCC_COMMON_CONF_OPTS += \ --disable-threads \ @@ -177,7 +162,7 @@ else HOST_GCC_COMMON_CONF_OPTS += --without-isl --without-cloog endif -ifeq ($(BR2_arc)$(BR2_or1k),y) +ifeq ($(BR2_arc),y) HOST_GCC_COMMON_DEPENDENCIES += host-flex host-bison endif @@ -310,7 +295,7 @@ define HOST_GCC_INSTALL_WRAPPER_AND_SIMPLE_SYMLINKS *-ar|*-ranlib|*-nm) \ ln -snf $$i $(ARCH)-linux$${i##$(GNU_TARGET_NAME)}; \ ;; \ - *cc|*cc-*|*++|*++-*|*cpp|*-gfortran) \ + *cc|*cc-*|*++|*++-*|*cpp|*-gfortran|*-gdc) \ rm -f $$i.br_real; \ mv $$i $$i.br_real; \ ln -sf toolchain-wrapper $$i; \ diff --git a/package/gcc/or1k-musl-5.4.0-20170218/100-uclibc-conf.patch b/package/gcc/or1k-musl-5.4.0-20170218/100-uclibc-conf.patch deleted file mode 100644 index 73d1f0d3a9..0000000000 --- a/package/gcc/or1k-musl-5.4.0-20170218/100-uclibc-conf.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: b/contrib/regression/objs-gcc.sh -=================================================================== ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ - 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 diff --git a/package/gcc/or1k-musl-5.4.0-20170218/301-missing-execinfo_h.patch b/package/gcc/or1k-musl-5.4.0-20170218/301-missing-execinfo_h.patch deleted file mode 100644 index 2d0e7baa44..0000000000 --- a/package/gcc/or1k-musl-5.4.0-20170218/301-missing-execinfo_h.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: b/boehm-gc/include/gc.h -=================================================================== ---- a/boehm-gc/include/gc.h -+++ b/boehm-gc/include/gc.h -@@ -503,7 +503,7 @@ - #if defined(__linux__) || defined(__GLIBC__) - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/package/gcc/or1k-musl-5.4.0-20170218/850-libstdcxx-uclibc-c99.patch b/package/gcc/or1k-musl-5.4.0-20170218/850-libstdcxx-uclibc-c99.patch deleted file mode 100644 index 9e97d945d3..0000000000 --- a/package/gcc/or1k-musl-5.4.0-20170218/850-libstdcxx-uclibc-c99.patch +++ /dev/null @@ -1,273 +0,0 @@ -Allow C99-depending features of libstdc++ with uClibc - -The libstdc++ code is fairly restrictive on how it checks for C99 -compatibility: it requires *complete* C99 support to enable certain -features. For example, uClibc provides a good number of C99 features, -but not C99 complex number support. For this reason, libstdc++ -completely disables many the standard C++ methods that can in fact -work because uClibc provides the necessary functions. - -This patch is similar and highly inspired from -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, but implemented in -a way that doesn't involve changing the configure.ac script, as -autoreconfiguring gcc is complicated. It simply relies on the fact -that uClibc defines the __UCLIBC__ definition. - -Signed-off-by: Thomas Petazzoni - -Index: b/libstdc++-v3/config/locale/generic/c_locale.h -=================================================================== ---- a/libstdc++-v3/config/locale/generic/c_locale.h -+++ b/libstdc++-v3/config/locale/generic/c_locale.h -@@ -70,7 +70,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); -Index: b/libstdc++-v3/config/locale/gnu/c_locale.h -=================================================================== ---- a/libstdc++-v3/config/locale/gnu/c_locale.h -+++ b/libstdc++-v3/config/locale/gnu/c_locale.h -@@ -88,7 +88,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); -Index: b/libstdc++-v3/include/bits/basic_string.h -=================================================================== ---- a/libstdc++-v3/include/bits/basic_string.h -+++ b/libstdc++-v3/include/bits/basic_string.h -@@ -5239,7 +5239,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99) -+#if __cplusplus >= 201103L && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)) - - #include - -Index: b/libstdc++-v3/include/bits/locale_facets.tcc -=================================================================== ---- a/libstdc++-v3/include/bits/locale_facets.tcc -+++ b/libstdc++-v3/include/bits/locale_facets.tcc -@@ -992,7 +992,7 @@ - char __fbuf[16]; - __num_base::_S_format_float(__io, __fbuf, __mod); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // Precision is always used except for hexfloat format. - const bool __use_prec = - (__io.flags() & ios_base::floatfield) != ios_base::floatfield; -Index: b/libstdc++-v3/include/bits/locale_facets_nonio.tcc -=================================================================== ---- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc -+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc -@@ -578,7 +578,7 @@ - { - const locale __loc = __io.getloc(); - const ctype<_CharT>& __ctype = use_facet >(__loc); --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // First try a buffer perhaps big enough. - int __cs_size = 64; - char* __cs = static_cast(__builtin_alloca(__cs_size)); -Index: b/libstdc++-v3/include/c_compatibility/math.h -=================================================================== ---- a/libstdc++-v3/include/c_compatibility/math.h -+++ b/libstdc++-v3/include/c_compatibility/math.h -@@ -56,7 +56,7 @@ - using std::floor; - using std::fmod; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::fpclassify; - using std::isfinite; - using std::isinf; -Index: b/libstdc++-v3/include/c_compatibility/wchar.h -=================================================================== ---- a/libstdc++-v3/include/c_compatibility/wchar.h -+++ b/libstdc++-v3/include/c_compatibility/wchar.h -@@ -103,7 +103,7 @@ - using std::wmemset; - using std::wcsftime; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/c_global/cstdlib -=================================================================== ---- a/libstdc++-v3/include/c_global/cstdlib -+++ b/libstdc++-v3/include/c_global/cstdlib -@@ -195,7 +195,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs -Index: b/libstdc++-v3/include/c_global/cwchar -=================================================================== ---- a/libstdc++-v3/include/c_global/cwchar -+++ b/libstdc++-v3/include/c_global/cwchar -@@ -232,7 +232,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll -@@ -289,7 +289,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/c_std/cstdio -=================================================================== ---- a/libstdc++-v3/include/c_std/cstdio -+++ b/libstdc++-v3/include/c_std/cstdio -@@ -144,7 +144,7 @@ - using ::vsprintf; - } // namespace std - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf -Index: b/libstdc++-v3/include/c_std/cstdlib -=================================================================== ---- a/libstdc++-v3/include/c_std/cstdlib -+++ b/libstdc++-v3/include/c_std/cstdlib -@@ -192,7 +192,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs -Index: b/libstdc++-v3/include/c_std/cwchar -=================================================================== ---- a/libstdc++-v3/include/c_std/cwchar -+++ b/libstdc++-v3/include/c_std/cwchar -@@ -228,7 +228,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll -Index: b/libstdc++-v3/include/ext/vstring.h -=================================================================== ---- a/libstdc++-v3/include/ext/vstring.h -+++ b/libstdc++-v3/include/ext/vstring.h -@@ -2680,7 +2680,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99)) -+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__))) - - #include - -Index: b/libstdc++-v3/include/tr1/cstdio -=================================================================== ---- a/libstdc++-v3/include/tr1/cstdio -+++ b/libstdc++-v3/include/tr1/cstdio -@@ -33,7 +33,7 @@ - - #include - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { -Index: b/libstdc++-v3/include/tr1/cstdlib -=================================================================== ---- a/libstdc++-v3/include/tr1/cstdlib -+++ b/libstdc++-v3/include/tr1/cstdlib -@@ -35,7 +35,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { -Index: b/libstdc++-v3/include/tr1/cwchar -=================================================================== ---- a/libstdc++-v3/include/tr1/cwchar -+++ b/libstdc++-v3/include/tr1/cwchar -@@ -52,7 +52,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/tr1/stdlib.h -=================================================================== ---- a/libstdc++-v3/include/tr1/stdlib.h -+++ b/libstdc++-v3/include/tr1/stdlib.h -@@ -33,7 +33,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - using std::tr1::atoll; - using std::tr1::strtoll; -Index: b/libstdc++-v3/src/c++11/debug.cc -=================================================================== ---- a/libstdc++-v3/src/c++11/debug.cc -+++ b/libstdc++-v3/src/c++11/debug.cc -@@ -788,7 +788,7 @@ - int __n __attribute__ ((__unused__)), - const char* __fmt, _Tp __s) const throw () - { --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - std::snprintf(__buf, __n, __fmt, __s); - #else - std::sprintf(__buf, __fmt, __s); -Index: b/libstdc++-v3/include/c_global/cstdio -=================================================================== ---- a/libstdc++-v3/include/c_global/cstdio -+++ b/libstdc++-v3/include/c_global/cstdio -@@ -146,7 +146,7 @@ - using ::vsprintf; - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf diff --git a/package/gcc/or1k-musl-5.4.0-20170218/860-cilk-wchar.patch b/package/gcc/or1k-musl-5.4.0-20170218/860-cilk-wchar.patch deleted file mode 100644 index 1d9916f554..0000000000 --- a/package/gcc/or1k-musl-5.4.0-20170218/860-cilk-wchar.patch +++ /dev/null @@ -1,56 +0,0 @@ -[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 ---- - libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - -Index: b/libcilkrts/include/cilk/reducer_min_max.h -=================================================================== ---- a/libcilkrts/include/cilk/reducer_min_max.h -+++ b/libcilkrts/include/cilk/reducer_min_max.h -@@ -3154,7 +3154,9 @@ - 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) -@@ -3306,7 +3308,9 @@ - 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) -@@ -3432,7 +3436,9 @@ - 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) -@@ -3584,7 +3590,9 @@ - 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) diff --git a/package/gcc/or1k-musl-5.4.0-20170218/930-libgcc-disable-split-stack-nothreads.patch b/package/gcc/or1k-musl-5.4.0-20170218/930-libgcc-disable-split-stack-nothreads.patch deleted file mode 100644 index 07f9a7395b..0000000000 --- a/package/gcc/or1k-musl-5.4.0-20170218/930-libgcc-disable-split-stack-nothreads.patch +++ /dev/null @@ -1,14 +0,0 @@ -disable split-stack for non-thread builds - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-5.3.0.orig/libgcc/config/t-stack gcc-5.3.0/libgcc/config/t-stack ---- gcc-5.3.0.orig/libgcc/config/t-stack 2010-10-01 21:31:49.000000000 +0200 -+++ gcc-5.3.0/libgcc/config/t-stack 2016-03-07 03:25:32.000000000 +0100 -@@ -1,4 +1,6 @@ - # Makefile fragment to provide generic support for -fsplit-stack. - # This should be used in config.host for any host which supports - # -fsplit-stack. -+ifeq ($(enable_threads),yes) - LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c -+endif diff --git a/package/gcnano-binaries/Config.in b/package/gcnano-binaries/Config.in new file mode 100644 index 0000000000..01e1aacf1d --- /dev/null +++ b/package/gcnano-binaries/Config.in @@ -0,0 +1,33 @@ +comment "gcnano-binaries needs a Linux kernel to be built" + depends on BR2_arm + depends on !BR2_LINUX_KERNEL + +comment "gcnano-binaries needs a glibc toolchain w/ threads, dynamic library" + depends on BR2_arm + depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_TOOLCHAIN_HAS_THREADS \ + || BR2_STATIC_LIBS + +config BR2_PACKAGE_GCNANO_BINARIES + bool "gcnano-binaries" + depends on BR2_arm + depends on BR2_LINUX_KERNEL + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm, wayland + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_WAYLAND + help + Driver and libaries for stm vivante gcnano gpu. + https://github.com/STMicroelectronics/gcnano-binaries/ + +if BR2_PACKAGE_GCNANO_BINARIES + +config BR2_PACKAGE_PROVIDES_LIBEGL + default "gcnano-binaries" + +config BR2_PACKAGE_PROVIDES_LIBGLES + default "gcnano-binaries" + +endif diff --git a/package/gcnano-binaries/gcnano-binaries.hash b/package/gcnano-binaries/gcnano-binaries.hash new file mode 100644 index 0000000000..e753f944a3 --- /dev/null +++ b/package/gcnano-binaries/gcnano-binaries.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 255db9c58627f5f54fd15263647cc97a55927363fec42e7c8d7486170a65d84d gcnano-binaries-c01642ed5e18cf09ecd905af193e935cb3be95ed.tar.gz +sha256 7d209718473d18f69f75adb7caf9cb5d4b0a31da068756aa011bea617de3dc57 EULA diff --git a/package/gcnano-binaries/gcnano-binaries.mk b/package/gcnano-binaries/gcnano-binaries.mk new file mode 100644 index 0000000000..b27571a08c --- /dev/null +++ b/package/gcnano-binaries/gcnano-binaries.mk @@ -0,0 +1,76 @@ +################################################################################ +# +# gcnano-binaries +# +################################################################################ + +GCNANO_BINARIES_LIB_VERSION = 6.2.4 +GCNANO_BINARIES_DRIVER_VERSION = $(GCNANO_BINARIES_LIB_VERSION).p4 +GCNANO_BINARIES_USERLAND_VERSION = $(GCNANO_BINARIES_LIB_VERSION).p4-20190626 +GCNANO_BINARIES_VERSION = c01642ed5e18cf09ecd905af193e935cb3be95ed +GCNANO_BINARIES_SITE = $(call github,STMicroelectronics,gcnano-binaries,$(GCNANO_BINARIES_VERSION)) + +GCNANO_BINARIES_LICENSE = MIT, Vivante End User Software License Terms +GCNANO_BINARIES_LICENSE_FILES = EULA +GCNANO_BINARIES_REDISTRIBUTE = NO + +GCNANO_BINARIES_DEPENDENCIES = linux wayland libdrm + +GCNANO_BINARIES_INSTALL_STAGING = YES + +GCNANO_BINARIES_PROVIDES = libegl libgles + +# The Github repository doesn't contain the source code as-is: it +# contains a tarball with the kernel driver source code, and a +# self-extractible binary for the user-space parts. So we extract both +# below, and also extract the EULA text from the self-extractible binary +define GCNANO_BINARIES_EXTRACT_HELPER + tar --strip-components=1 -xJf $(@D)/gcnano-driver-$(GCNANO_BINARIES_DRIVER_VERSION).tar.xz -C $(@D) + awk 'BEGIN { start = 0; } \ + /^EOEULA/ { start = 0; } \ + { if (start) print; } \ + /< $(@D)/EULA + cd $(@D) && sh gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION).bin --auto-accept +endef + +GCNANO_BINARIES_POST_EXTRACT_HOOKS += GCNANO_BINARIES_EXTRACT_HELPER + +GCNANO_BINARIES_MODULE_MAKE_OPTS = \ + KERNEL_DIR=$(LINUX_DIR) \ + SOC_PLATFORM=st-st \ + AQROOT=$(@D) \ + DEBUG=0 + +GCNANO_BINARIES_LIBRARIES = \ + gbm_viv libEGL libGAL libgbm libGLESv1_CM \ + libGLESv2 libGLSLC libOpenVG libVSC + +GCNANO_BINARIES_USERLAND_SUBDIR = gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION) + +GCNANO_BINARIES_PKG_CONFIGS = egl gbm glesv1_cm glesv2 vg + +define GCNANO_BINARIES_INSTALL + $(foreach lib,$(GCNANO_BINARIES_LIBRARIES), \ + $(INSTALL) -D -m 0755 $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/lib/$(lib).$(GCNANO_BINARIES_LIB_VERSION).multi.release.so \ + $(1)/usr/lib/$(lib).$(GCNANO_BINARIES_LIB_VERSION).multi.release.so ; \ + cp -a $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/lib/$(lib).so* $(1)/usr/lib + ) + mkdir -p $(1)/usr/include + cp -a $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/include/* $(1)/usr/include/ + $(foreach pkgconfig,$(GCNANO_BINARIES_PKG_CONFIGS), \ + $(INSTALL) -D -m 0644 $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/lib/pkgconfig/$(pkgconfig).pc \ + $(1)/usr/lib/pkgconfig/$(pkgconfig).pc + ) +endef + +define GCNANO_BINARIES_INSTALL_TARGET_CMDS + $(call GCNANO_BINARIES_INSTALL,$(TARGET_DIR)) +endef + +define GCNANO_BINARIES_INSTALL_STAGING_CMDS + $(call GCNANO_BINARIES_INSTALL,$(STAGING_DIR)) +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/gconf/gconf.mk b/package/gconf/gconf.mk index 60ced95e18..c468d1433c 100644 --- a/package/gconf/gconf.mk +++ b/package/gconf/gconf.mk @@ -13,4 +13,11 @@ GCONF_DEPENDENCIES = dbus dbus-glib libglib2 libxml2 \ GCONF_LICENSE = LGPL-2.0+ GCONF_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +GCONF_CONF_OPTS += --enable-introspection +GCONF_DEPENDENCIES += gobject-introspection +else +GCONF_CONF_OPTS += --disable-introspection +endif + $(eval $(autotools-package)) diff --git a/package/gcr/gcr.hash b/package/gcr/gcr.hash index 8b8b748b9e..7d5786db9e 100644 --- a/package/gcr/gcr.hash +++ b/package/gcr/gcr.hash @@ -1,2 +1,3 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/gcr/3.20/gcr-3.20.0.sha256sum -sha256 90572c626d8a708225560c42b4421f7941315247fa1679d4ef569bde7f4bb379 gcr-3.20.0.tar.xz +# From http://ftp.acc.umu.se/pub/gnome/sources/gcr/3.34/gcr-3.34.0.sha256sum +sha256 29df50974a90987af694c0fb8926a6b366e68cacd8abd813817cfe1eb5d54524 gcr-3.34.0.tar.xz +sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 COPYING diff --git a/package/gcr/gcr.mk b/package/gcr/gcr.mk index 7cb35af836..97a0e22064 100644 --- a/package/gcr/gcr.mk +++ b/package/gcr/gcr.mk @@ -4,11 +4,16 @@ # ################################################################################ -GCR_VERSION_MAJOR = 3.20 +GCR_VERSION_MAJOR = 3.34 GCR_VERSION = $(GCR_VERSION_MAJOR).0 GCR_SITE = http://ftp.acc.umu.se/pub/gnome/sources/gcr/$(GCR_VERSION_MAJOR) GCR_SOURCE = gcr-$(GCR_VERSION).tar.xz -GCR_DEPENDENCIES = host-intltool host-pkgconf libgcrypt libglib2 p11-kit +GCR_DEPENDENCIES = \ + host-pkgconf \ + libgcrypt \ + libglib2 \ + p11-kit \ + $(TARGET_NLS_DEPENDENCIES) GCR_INSTALL_STAGING = YES GCR_CONF_ENV = ac_cv_path_GNUPG=/usr/bin/gpg2 GCR_CONF_OPTS = \ @@ -18,6 +23,13 @@ GCR_CONF_OPTS = \ GCR_LICENSE = LGPL-2.1+ GCR_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +GCR_DEPENDENCIES += gobject-introspection host-libxslt +GCR_CONF_OPTS += --with-introspection +else +GCR_CONF_OPTS += --without-introspection +endif + # Only the X11 backend is supported for the simple GUI ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) GCR_DEPENDENCIES += libgtk3 diff --git a/package/gd/0001-bmp-check-return-value-in-gdImageBmpPtr.patch b/package/gd/0001-bmp-check-return-value-in-gdImageBmpPtr.patch new file mode 100644 index 0000000000..f3c9ea481c --- /dev/null +++ b/package/gd/0001-bmp-check-return-value-in-gdImageBmpPtr.patch @@ -0,0 +1,80 @@ +From ac16bdf2d41724b5a65255d4c28fb0ec46bc42f5 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Sat, 14 Jul 2018 13:54:08 -0400 +Subject: [PATCH] bmp: check return value in gdImageBmpPtr + +Closes #447. + +CVE-2018-1000222 + +Signed-off-by: Peter Korsgaard +--- + src/gd_bmp.c | 17 ++++++++++++++--- + 1 file changed, 14 insertions(+), 3 deletions(-) + +diff --git a/src/gd_bmp.c b/src/gd_bmp.c +index bde0b9d..78f40d9 100644 +--- a/src/gd_bmp.c ++++ b/src/gd_bmp.c +@@ -47,6 +47,8 @@ static int bmp_read_4bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp + static int bmp_read_8bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp_hdr_t *header); + static int bmp_read_rle(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info); + ++static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression); ++ + #define BMP_DEBUG(s) + + static int gdBMPPutWord(gdIOCtx *out, int w) +@@ -87,8 +89,10 @@ BGD_DECLARE(void *) gdImageBmpPtr(gdImagePtr im, int *size, int compression) + void *rv; + gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; +- gdImageBmpCtx(im, out, compression); +- rv = gdDPExtractData(out, size); ++ if (!_gdImageBmpCtx(im, out, compression)) ++ rv = gdDPExtractData(out, size); ++ else ++ rv = NULL; + out->gd_free(out); + return rv; + } +@@ -141,6 +145,11 @@ BGD_DECLARE(void) gdImageBmp(gdImagePtr im, FILE *outFile, int compression) + compression - whether to apply RLE or not. + */ + BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression) ++{ ++ _gdImageBmpCtx(im, out, compression); ++} ++ ++static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression) + { + int bitmap_size = 0, info_size, total_size, padding; + int i, row, xpos, pixel; +@@ -148,6 +157,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression) + unsigned char *uncompressed_row = NULL, *uncompressed_row_start = NULL; + FILE *tmpfile_for_compression = NULL; + gdIOCtxPtr out_original = NULL; ++ int ret = 1; + + /* No compression if its true colour or we don't support seek */ + if (im->trueColor) { +@@ -325,6 +335,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression) + out_original = NULL; + } + ++ ret = 0; + cleanup: + if (tmpfile_for_compression) { + #ifdef _WIN32 +@@ -338,7 +349,7 @@ cleanup: + if (out_original) { + out_original->gd_free(out_original); + } +- return; ++ return ret; + } + + static int compress_row(unsigned char *row, int length) +-- +2.20.1 + diff --git a/package/gd/0002-Fix-420-Potential-infinite-loop-in-gdImageCreateFrom.patch b/package/gd/0002-Fix-420-Potential-infinite-loop-in-gdImageCreateFrom.patch new file mode 100644 index 0000000000..8d77f0ee18 --- /dev/null +++ b/package/gd/0002-Fix-420-Potential-infinite-loop-in-gdImageCreateFrom.patch @@ -0,0 +1,61 @@ +From a11f47475e6443b7f32d21f2271f28f417e2ac04 Mon Sep 17 00:00:00 2001 +From: "Christoph M. Becker" +Date: Wed, 29 Nov 2017 19:37:38 +0100 +Subject: [PATCH] Fix #420: Potential infinite loop in gdImageCreateFromGifCtx + +Due to a signedness confusion in `GetCode_` a corrupt GIF file can +trigger an infinite loop. Furthermore we make sure that a GIF without +any palette entries is treated as invalid *after* open palette entries +have been removed. + +CVE-2018-5711 + +See also https://bugs.php.net/bug.php?id=75571. + +[Peter: drop tests] +Signed-off-by: Peter Korsgaard +--- + src/gd_gif_in.c | 12 ++++++------ + 1 files changed, 38 insertions(+), 6 deletions(-) + +diff --git a/src/gd_gif_in.c b/src/gd_gif_in.c +index daf26e7..0a8bd71 100644 +--- a/src/gd_gif_in.c ++++ b/src/gd_gif_in.c +@@ -335,11 +335,6 @@ terminated: + return 0; + } + +- if(!im->colorsTotal) { +- gdImageDestroy(im); +- return 0; +- } +- + /* Check for open colors at the end, so + * we can reduce colorsTotal and ultimately + * BitsPerPixel */ +@@ -351,6 +346,11 @@ terminated: + } + } + ++ if(!im->colorsTotal) { ++ gdImageDestroy(im); ++ return 0; ++ } ++ + return im; + } + +@@ -447,7 +447,7 @@ static int + GetCode_(gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP) + { + int i, j, ret; +- unsigned char count; ++ int count; + + if(flag) { + scd->curbit = 0; + +-- +2.20.1 + diff --git a/package/gd/0003-Fix-501-Uninitialized-read-in-gdImageCreateFromXbm-C.patch b/package/gd/0003-Fix-501-Uninitialized-read-in-gdImageCreateFromXbm-C.patch new file mode 100644 index 0000000000..57df1a2fb1 --- /dev/null +++ b/package/gd/0003-Fix-501-Uninitialized-read-in-gdImageCreateFromXbm-C.patch @@ -0,0 +1,41 @@ +From e13a342c079aeb73e31dfa19eaca119761bac3f3 Mon Sep 17 00:00:00 2001 +From: Jonas Meurer +Date: Tue, 11 Jun 2019 12:16:46 +0200 +Subject: [PATCH] Fix #501: Uninitialized read in gdImageCreateFromXbm + (CVE-2019-11038) + +Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2019-11038 +Bug-Debian: https://bugs.debian.org/929821 +Bug: https://github.com/libgd/libgd/issues/501 + +We have to ensure that `sscanf()` does indeed read a hex value here, +and bail out otherwise. + +Original patch by Christoph M. Becker for PHP libgd ext. +https://git.php.net/?p=php-src.git;a=commit;h=ed6dee9a198c904ad5e03113e58a2d2c200f5184 + +Signed-off-by: Peter Korsgaard +--- + src/gd_xbm.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/gd_xbm.c b/src/gd_xbm.c +index 4ca41ac..cf0545e 100644 +--- a/src/gd_xbm.c ++++ b/src/gd_xbm.c +@@ -169,7 +169,11 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm(FILE * fd) + } + h[3] = ch; + } +- sscanf(h, "%x", &b); ++ if (sscanf(h, "%x", &b) != 1) { ++ gd_error("invalid XBM"); ++ gdImageDestroy(im); ++ return 0; ++ } + for (bit = 1; bit <= max_bit; bit = bit << 1) { + gdImageSetPixel(im, x++, y, (b & bit) ? 1 : 0); + if (x == im->sx) { +-- +2.20.1 + diff --git a/package/gd/0004-Fix-492-Potential-double-free-in-gdImage-Ptr.patch b/package/gd/0004-Fix-492-Potential-double-free-in-gdImage-Ptr.patch new file mode 100644 index 0000000000..e51428a646 --- /dev/null +++ b/package/gd/0004-Fix-492-Potential-double-free-in-gdImage-Ptr.patch @@ -0,0 +1,219 @@ +From 553702980ae89c83f2d6e254d62cf82e204956d0 Mon Sep 17 00:00:00 2001 +From: "Christoph M. Becker" +Date: Thu, 17 Jan 2019 11:54:55 +0100 +Subject: [PATCH] Fix #492: Potential double-free in gdImage*Ptr() + +Whenever `gdImage*Ptr()` calls `gdImage*Ctx()` and the latter fails, we +must not call `gdDPExtractData()`; otherwise a double-free would +happen. Since `gdImage*Ctx()` are void functions, and we can't change +that for BC reasons, we're introducing static helpers which are used +internally. + +We're adding a regression test for `gdImageJpegPtr()`, but not for +`gdImageGifPtr()` and `gdImageWbmpPtr()` since we don't know how to +trigger failure of the respective `gdImage*Ctx()` calls. + +This potential security issue has been reported by Solmaz Salimi (aka. +Rooney). + +CVE-2019-6978 + +[Peter: drop tests] +Signed-off-by: Peter Korsgaard +--- + src/gd_gif_out.c | 18 +++++++++++++++--- + src/gd_jpeg.c | 20 ++++++++++++++++---- + src/gd_wbmp.c | 21 ++++++++++++++++++--- + 3 files changed, 84 insertions(+), 11 deletions(-) + +diff --git a/src/gd_gif_out.c b/src/gd_gif_out.c +index 298a581..d5a9534 100644 +--- a/src/gd_gif_out.c ++++ b/src/gd_gif_out.c +@@ -99,6 +99,7 @@ static void char_init(GifCtx *ctx); + static void char_out(int c, GifCtx *ctx); + static void flush_char(GifCtx *ctx); + ++static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out); + + + +@@ -131,8 +132,11 @@ BGD_DECLARE(void *) gdImageGifPtr(gdImagePtr im, int *size) + void *rv; + gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; +- gdImageGifCtx(im, out); +- rv = gdDPExtractData(out, size); ++ if (!_gdImageGifCtx(im, out)) { ++ rv = gdDPExtractData(out, size); ++ } else { ++ rv = NULL; ++ } + out->gd_free(out); + return rv; + } +@@ -220,6 +224,12 @@ BGD_DECLARE(void) gdImageGif(gdImagePtr im, FILE *outFile) + + */ + BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) ++{ ++ _gdImageGifCtx(im, out); ++} ++ ++/* returns 0 on success, 1 on failure */ ++static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) + { + gdImagePtr pim = 0, tim = im; + int interlace, BitsPerPixel; +@@ -231,7 +241,7 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) + based temporary image. */ + pim = gdImageCreatePaletteFromTrueColor(im, 1, 256); + if(!pim) { +- return; ++ return 1; + } + tim = pim; + } +@@ -247,6 +257,8 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) + /* Destroy palette based temporary image. */ + gdImageDestroy( pim); + } ++ ++ return 0; + } + + +diff --git a/src/gd_jpeg.c b/src/gd_jpeg.c +index fc05842..96ef430 100644 +--- a/src/gd_jpeg.c ++++ b/src/gd_jpeg.c +@@ -117,6 +117,8 @@ static void fatal_jpeg_error(j_common_ptr cinfo) + exit(99); + } + ++static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality); ++ + /* + * Write IM to OUTFILE as a JFIF-formatted JPEG image, using quality + * QUALITY. If QUALITY is in the range 0-100, increasing values +@@ -231,8 +233,11 @@ BGD_DECLARE(void *) gdImageJpegPtr(gdImagePtr im, int *size, int quality) + void *rv; + gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; +- gdImageJpegCtx(im, out, quality); +- rv = gdDPExtractData(out, size); ++ if (!_gdImageJpegCtx(im, out, quality)) { ++ rv = gdDPExtractData(out, size); ++ } else { ++ rv = NULL; ++ } + out->gd_free(out); + return rv; + } +@@ -253,6 +258,12 @@ void jpeg_gdIOCtx_dest(j_compress_ptr cinfo, gdIOCtx *outfile); + + */ + BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) ++{ ++ _gdImageJpegCtx(im, outfile, quality); ++} ++ ++/* returns 0 on success, 1 on failure */ ++static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) + { + struct jpeg_compress_struct cinfo; + struct jpeg_error_mgr jerr; +@@ -287,7 +298,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) + if(row) { + gdFree(row); + } +- return; ++ return 1; + } + + cinfo.err->emit_message = jpeg_emit_message; +@@ -328,7 +339,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) + if(row == 0) { + gd_error("gd-jpeg: error: unable to allocate JPEG row structure: gdCalloc returns NULL\n"); + jpeg_destroy_compress(&cinfo); +- return; ++ return 1; + } + + rowptr[0] = row; +@@ -405,6 +416,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) + jpeg_finish_compress(&cinfo); + jpeg_destroy_compress(&cinfo); + gdFree(row); ++ return 0; + } + + +diff --git a/src/gd_wbmp.c b/src/gd_wbmp.c +index f19a1c9..a49bdbe 100644 +--- a/src/gd_wbmp.c ++++ b/src/gd_wbmp.c +@@ -88,6 +88,8 @@ int gd_getin(void *in) + return (gdGetC((gdIOCtx *)in)); + } + ++static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out); ++ + /* + Function: gdImageWBMPCtx + +@@ -100,6 +102,12 @@ int gd_getin(void *in) + out - the stream where to write + */ + BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) ++{ ++ _gdImageWBMPCtx(image, fg, out); ++} ++ ++/* returns 0 on success, 1 on failure */ ++static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) + { + int x, y, pos; + Wbmp *wbmp; +@@ -107,7 +115,7 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) + /* create the WBMP */ + if((wbmp = createwbmp(gdImageSX(image), gdImageSY(image), WBMP_WHITE)) == NULL) { + gd_error("Could not create WBMP\n"); +- return; ++ return 1; + } + + /* fill up the WBMP structure */ +@@ -123,11 +131,15 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) + + /* write the WBMP to a gd file descriptor */ + if(writewbmp(wbmp, &gd_putout, out)) { ++ freewbmp(wbmp); + gd_error("Could not save WBMP\n"); ++ return 1; + } + + /* des submitted this bugfix: gdFree the memory. */ + freewbmp(wbmp); ++ ++ return 0; + } + + /* +@@ -271,8 +283,11 @@ BGD_DECLARE(void *) gdImageWBMPPtr(gdImagePtr im, int *size, int fg) + void *rv; + gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; +- gdImageWBMPCtx(im, fg, out); +- rv = gdDPExtractData(out, size); ++ if (!_gdImageWBMPCtx(im, fg, out)) { ++ rv = gdDPExtractData(out, size); ++ } else { ++ rv = NULL; ++ } + out->gd_free(out); + return rv; + } +-- +2.20.1 + diff --git a/package/gdb/7.12.1/0001-Remove-const-in-xtensa-linux-nat.c-fetch_gregs.patch b/package/gdb/7.12.1/0001-Remove-const-in-xtensa-linux-nat.c-fetch_gregs.patch deleted file mode 100644 index bb3d99d636..0000000000 --- a/package/gdb/7.12.1/0001-Remove-const-in-xtensa-linux-nat.c-fetch_gregs.patch +++ /dev/null @@ -1,39 +0,0 @@ -From d274ecf4ddf76768af57e27f654b9ce6784b391c Mon Sep 17 00:00:00 2001 -From: Simon Marchi -Date: Mon, 6 Mar 2017 16:06:42 -0500 -Subject: [PATCH] Remove const in xtensa-linux-nat.c:fetch_gregs - -Fixes: - -/home/emaisin/src/binutils-gdb/gdb/xtensa-linux-nat.c: In function 'void fetch_gregs(regcache*, ptid_t, int)': -/home/emaisin/src/binutils-gdb/gdb/xtensa-linux-nat.c:178:23: error: uninitialized const 'regs' [-fpermissive] - const gdb_gregset_t regs; - ^ - -gdb/ChangeLog: - - * xtensa-linux-nat.c (fetch_gregs): Remove const. - -Signed-off-by: Max Filippov ---- -Backported from: d274ecf4ddf76768af57e27f654b9ce6784b391c - - gdb/xtensa-linux-nat.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c -index afe15f6..c29f0c7 100644 ---- a/gdb/xtensa-linux-nat.c -+++ b/gdb/xtensa-linux-nat.c -@@ -175,7 +175,7 @@ static void - fetch_gregs (struct regcache *regcache, int regnum) - { - int tid = ptid_get_lwp (inferior_ptid); -- const gdb_gregset_t regs; -+ gdb_gregset_t regs; - int areg; - - if (ptrace (PTRACE_GETREGS, tid, 0, (long) ®s) < 0) --- -2.1.4 - diff --git a/package/gdb/7.12.1/0002-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/7.12.1/0002-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch deleted file mode 100644 index f6ec1d7877..0000000000 --- a/package/gdb/7.12.1/0002-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch +++ /dev/null @@ -1,53 +0,0 @@ -From c45f07aec83ccb732ece970cb387f2db8b6896e4 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 ---- - 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 33a9feb..1a9141f 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 "nat/ppc-linux.h" - #include "linux-ppc-tdesc.h" -diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h -index 5837ea1..7233929 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.7.4 - diff --git a/package/gdb/7.12.1/0003-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/7.12.1/0003-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch deleted file mode 100644 index 4f142ecf02..0000000000 --- a/package/gdb/7.12.1/0003-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 00a0ba059f01784e8da5cec3439ea2d6c4a2ef40 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 ---- - 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 ac084c9..08e104a 100644 ---- a/gdb/gdbserver/linux-sh-low.c -+++ b/gdb/gdbserver/linux-sh-low.c -@@ -27,7 +27,15 @@ extern const struct target_desc *tdesc_sh; - #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.7.4 - diff --git a/package/gdb/7.12.1/0004-Fix-gdbserver-build-on-uClibc-noMMU.patch b/package/gdb/7.12.1/0004-Fix-gdbserver-build-on-uClibc-noMMU.patch deleted file mode 100644 index cbdfc4de6c..0000000000 --- a/package/gdb/7.12.1/0004-Fix-gdbserver-build-on-uClibc-noMMU.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 430ab62f356d9e45e2231b0483ee33eaf3af5df3 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 9 Jun 2017 10:19:32 +0200 -Subject: [PATCH] Fix gdbserver build on uClibc/noMMU - -The noMMU specific code requires including . - -Originally from -https://cgit.openadk.org/cgi/cgit/openadk.git/plain/package/gdbserver/patches/nommu.patch. - -Signed-off-by: Thomas Petazzoni ---- - gdb/nat/linux-ptrace.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h -index 5954945..80bb674 100644 ---- a/gdb/nat/linux-ptrace.h -+++ b/gdb/nat/linux-ptrace.h -@@ -23,7 +23,8 @@ struct buffer; - #include "nat/gdb_ptrace.h" - - #ifdef __UCLIBC__ --#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__)) -+#include -+#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_USE_MMU__)) - /* PTRACE_TEXT_ADDR and friends. */ - #include - #define HAS_NOMMU --- -2.7.4 - diff --git a/package/gdb/7.12.1/0005-use-asm-sgidefs.h.patch b/package/gdb/7.12.1/0005-use-asm-sgidefs.h.patch deleted file mode 100644 index d30336904f..0000000000 --- a/package/gdb/7.12.1/0005-use-asm-sgidefs.h.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 12a0b8d81e1fda6ba98abdce8d6f09f9555ebcf5 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 f2df1b9907..d24664cb56 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.13.1 - diff --git a/package/gdb/7.12.1/0006-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch b/package/gdb/7.12.1/0006-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch deleted file mode 100644 index 4eb72e4084..0000000000 --- a/package/gdb/7.12.1/0006-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 09a2c3e0164545324a1ddee70f5c9fdee71e2079 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 18 Jun 2017 23:09:43 +0200 -Subject: [PATCH] nat/linux-ptrace.c: add missing gdb_byte* cast - -On noMMU platforms, the following code gets compiled: - - child_stack = xmalloc (STACK_SIZE * 4); - -Where child_stack is a gdb_byte*, and xmalloc() returns a void*. While -the lack of cast is valid in C, it is not in C++, causing the -following build failure: - -../nat/linux-ptrace.c: In function 'int linux_fork_to_function(gdb_byte*, int (*)(void*))': -../nat/linux-ptrace.c:273:29: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive] - child_stack = xmalloc (STACK_SIZE * 4); - -Therefore, this commit adds the appropriate cast. - -Signed-off-by: Thomas Petazzoni -[Upstream commit: ffce45d2243e5f52f411e314fc4e1a69f431a81f] ---- - gdb/nat/linux-ptrace.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c -index 3447e07..33833e2 100644 ---- a/gdb/nat/linux-ptrace.c -+++ b/gdb/nat/linux-ptrace.c -@@ -270,7 +270,7 @@ linux_fork_to_function (gdb_byte *child_stack, int (*function) (void *)) - #define STACK_SIZE 4096 - - if (child_stack == NULL) -- child_stack = xmalloc (STACK_SIZE * 4); -+ child_stack = (gdb_byte*) xmalloc (STACK_SIZE * 4); - - /* Use CLONE_VM instead of fork, to support uClinux (no MMU). */ - #ifdef __ia64__ --- -2.9.4 - diff --git a/package/gdb/7.12.1/0007-gdbserver-fix-build-for-m68k.patch b/package/gdb/7.12.1/0007-gdbserver-fix-build-for-m68k.patch deleted file mode 100644 index 451bed312c..0000000000 --- a/package/gdb/7.12.1/0007-gdbserver-fix-build-for-m68k.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 80c60ea9fb3634272a98ec526eabff25f5255bae Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 22 Jun 2018 22:40:26 +0200 -Subject: [PATCH] gdbserver: fix build for m68k -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -As for strace [1], when is included after , -the build fails on m68k with the following diagnostics: - -In file included from ./../nat/linux-ptrace.h:28:0, - from linux-low.h:27, - from linux-m68k-low.c:20: -[...]/usr/include/sys/reg.h:26:3: error: expected identifier before numeric constant - PT_D1 = 0, - ^ -[...]usr/include/sys/reg.h:26:3: error: expected « } » before numeric constant -[...]usr/include/sys/reg.h:26:3: error: expected unqualified-id before numeric constant -In file included from linux-m68k-low.c:27:0: -[...]usr/include/sys/reg.h:99:1: error: expected declaration before « } » token - }; - ^ - -Fix this by moving on top of "linux-low.h". - -[1] https://github.com/strace/strace/commit/6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92 - -Signed-off-by: Romain Naour ---- - gdb/gdbserver/linux-m68k-low.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c -index 5594f10f927..19b4ef7b259 100644 ---- a/gdb/gdbserver/linux-m68k-low.c -+++ b/gdb/gdbserver/linux-m68k-low.c -@@ -17,16 +17,17 @@ - along with this program. If not, see . */ - - #include "server.h" -+ -+#ifdef HAVE_SYS_REG_H -+#include -+#endif -+ - #include "linux-low.h" - - /* Defined in auto-generated file reg-m68k.c. */ - void init_registers_m68k (void); - extern const struct target_desc *tdesc_m68k; - --#ifdef HAVE_SYS_REG_H --#include --#endif -- - #define m68k_num_regs 29 - #define m68k_num_gregs 18 - --- -2.14.4 - diff --git a/package/gdb/8.0.1/0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch b/package/gdb/8.0.1/0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch deleted file mode 100644 index 4eb72e4084..0000000000 --- a/package/gdb/8.0.1/0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 09a2c3e0164545324a1ddee70f5c9fdee71e2079 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 18 Jun 2017 23:09:43 +0200 -Subject: [PATCH] nat/linux-ptrace.c: add missing gdb_byte* cast - -On noMMU platforms, the following code gets compiled: - - child_stack = xmalloc (STACK_SIZE * 4); - -Where child_stack is a gdb_byte*, and xmalloc() returns a void*. While -the lack of cast is valid in C, it is not in C++, causing the -following build failure: - -../nat/linux-ptrace.c: In function 'int linux_fork_to_function(gdb_byte*, int (*)(void*))': -../nat/linux-ptrace.c:273:29: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive] - child_stack = xmalloc (STACK_SIZE * 4); - -Therefore, this commit adds the appropriate cast. - -Signed-off-by: Thomas Petazzoni -[Upstream commit: ffce45d2243e5f52f411e314fc4e1a69f431a81f] ---- - gdb/nat/linux-ptrace.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c -index 3447e07..33833e2 100644 ---- a/gdb/nat/linux-ptrace.c -+++ b/gdb/nat/linux-ptrace.c -@@ -270,7 +270,7 @@ linux_fork_to_function (gdb_byte *child_stack, int (*function) (void *)) - #define STACK_SIZE 4096 - - if (child_stack == NULL) -- child_stack = xmalloc (STACK_SIZE * 4); -+ child_stack = (gdb_byte*) xmalloc (STACK_SIZE * 4); - - /* Use CLONE_VM instead of fork, to support uClinux (no MMU). */ - #ifdef __ia64__ --- -2.9.4 - diff --git a/package/gdb/8.0.1/0005-gdbserver-fix-build-for-m68k.patch b/package/gdb/8.0.1/0005-gdbserver-fix-build-for-m68k.patch deleted file mode 100644 index 451bed312c..0000000000 --- a/package/gdb/8.0.1/0005-gdbserver-fix-build-for-m68k.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 80c60ea9fb3634272a98ec526eabff25f5255bae Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 22 Jun 2018 22:40:26 +0200 -Subject: [PATCH] gdbserver: fix build for m68k -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -As for strace [1], when is included after , -the build fails on m68k with the following diagnostics: - -In file included from ./../nat/linux-ptrace.h:28:0, - from linux-low.h:27, - from linux-m68k-low.c:20: -[...]/usr/include/sys/reg.h:26:3: error: expected identifier before numeric constant - PT_D1 = 0, - ^ -[...]usr/include/sys/reg.h:26:3: error: expected « } » before numeric constant -[...]usr/include/sys/reg.h:26:3: error: expected unqualified-id before numeric constant -In file included from linux-m68k-low.c:27:0: -[...]usr/include/sys/reg.h:99:1: error: expected declaration before « } » token - }; - ^ - -Fix this by moving on top of "linux-low.h". - -[1] https://github.com/strace/strace/commit/6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92 - -Signed-off-by: Romain Naour ---- - gdb/gdbserver/linux-m68k-low.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c -index 5594f10f927..19b4ef7b259 100644 ---- a/gdb/gdbserver/linux-m68k-low.c -+++ b/gdb/gdbserver/linux-m68k-low.c -@@ -17,16 +17,17 @@ - along with this program. If not, see . */ - - #include "server.h" -+ -+#ifdef HAVE_SYS_REG_H -+#include -+#endif -+ - #include "linux-low.h" - - /* Defined in auto-generated file reg-m68k.c. */ - void init_registers_m68k (void); - extern const struct target_desc *tdesc_m68k; - --#ifdef HAVE_SYS_REG_H --#include --#endif -- - #define m68k_num_regs 29 - #define m68k_num_gregs 18 - --- -2.14.4 - diff --git a/package/gdb/8.1.1/0007-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch b/package/gdb/8.1.1/0007-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch new file mode 100644 index 0000000000..1e85d9314c --- /dev/null +++ b/package/gdb/8.1.1/0007-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch @@ -0,0 +1,54 @@ +From 5a6c3296a7a90694ad4042f6256f3da6d4fa4ee8 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. + +Signed-off-by: Fabrice Fontaine +[Retrieved (and updated to remove ChangeLog update) from: +https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=5a6c3296a7a90694ad4042f6256f3da6d4fa4ee8] +--- + gdb/ChangeLog | 6 ++++++ + gdb/nat/linux-ptrace.c | 2 -- + gdb/nat/linux-ptrace.h | 1 + + 3 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c +index 5c4ddc9..1f21ef0 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 60967a3..dc180fb 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.9.3 + diff --git a/package/gdb/8.1.1/0008-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch b/package/gdb/8.1.1/0008-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch new file mode 100644 index 0000000000..989a5b1347 --- /dev/null +++ b/package/gdb/8.1.1/0008-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch @@ -0,0 +1,42 @@ +From e00c211d51bec301cf04719b77076a8783ef44b5 Mon Sep 17 00:00:00 2001 +From: Raul Tambre +Date: Sat, 4 May 2019 15:48:17 -0400 +Subject: [PATCH] Fix incorrect use of 'is' operator for comparison in + python/lib/gdb/command/prompt.py + +The 'is' operator is not meant to be used for comparisons. It currently working +is an implementation detail of CPython. CPython 3.8 has added a SyntaxWarning +for this. + +(cherry picked from commit b6484282f85bf7f11451b2441599c241d302ad9d) +[Romain: backport to gdb 8.x] +Signed-off-by: Romain Naour +--- + gdb/python/lib/gdb/command/prompt.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gdb/python/lib/gdb/command/prompt.py b/gdb/python/lib/gdb/command/prompt.py +index 3d662a7d3f..04b9e49c22 100644 +--- a/gdb/python/lib/gdb/command/prompt.py ++++ b/gdb/python/lib/gdb/command/prompt.py +@@ -45,7 +45,7 @@ The currently defined substitutions are: + self.hook_set = False + + def get_show_string (self, pvalue): +- if self.value is not '': ++ if self.value: + return "The extended prompt is: " + self.value + else: + return "The extended prompt is not set." +@@ -57,7 +57,7 @@ The currently defined substitutions are: + return "" + + def before_prompt_hook(self, current): +- if self.value is not '': ++ if self.value: + return gdb.prompt.substitute_prompt(self.value) + else: + return None +-- +2.25.4 + diff --git a/package/gdb/8.2.1/0006-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch b/package/gdb/8.2.1/0006-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch new file mode 100644 index 0000000000..989a5b1347 --- /dev/null +++ b/package/gdb/8.2.1/0006-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch @@ -0,0 +1,42 @@ +From e00c211d51bec301cf04719b77076a8783ef44b5 Mon Sep 17 00:00:00 2001 +From: Raul Tambre +Date: Sat, 4 May 2019 15:48:17 -0400 +Subject: [PATCH] Fix incorrect use of 'is' operator for comparison in + python/lib/gdb/command/prompt.py + +The 'is' operator is not meant to be used for comparisons. It currently working +is an implementation detail of CPython. CPython 3.8 has added a SyntaxWarning +for this. + +(cherry picked from commit b6484282f85bf7f11451b2441599c241d302ad9d) +[Romain: backport to gdb 8.x] +Signed-off-by: Romain Naour +--- + gdb/python/lib/gdb/command/prompt.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gdb/python/lib/gdb/command/prompt.py b/gdb/python/lib/gdb/command/prompt.py +index 3d662a7d3f..04b9e49c22 100644 +--- a/gdb/python/lib/gdb/command/prompt.py ++++ b/gdb/python/lib/gdb/command/prompt.py +@@ -45,7 +45,7 @@ The currently defined substitutions are: + self.hook_set = False + + def get_show_string (self, pvalue): +- if self.value is not '': ++ if self.value: + return "The extended prompt is: " + self.value + else: + return "The extended prompt is not set." +@@ -57,7 +57,7 @@ The currently defined substitutions are: + return "" + + def before_prompt_hook(self, current): +- if self.value is not '': ++ if self.value: + return gdb.prompt.substitute_prompt(self.value) + else: + return None +-- +2.25.4 + diff --git a/package/gdb/8.0.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/8.3.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch similarity index 75% rename from package/gdb/8.0.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch rename to package/gdb/8.3.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch index 9e011c728d..ab8dc626f0 100644 --- a/package/gdb/8.0.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch +++ b/package/gdb/8.3.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -1,4 +1,4 @@ -From 2acd9d3eb703b9a64ac92b3880ed546bec92af95 Mon Sep 17 00:00:00 2001 +From 72ee19f54fd35595465b2e35eccf1f3d65fe21c6 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Aug 2016 17:32:50 -0700 Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems @@ -7,7 +7,7 @@ Upstream-Status: Pending Signed-off-by: Khem Raj Signed-off-by: Thomas Petazzoni -[Rebase on gdb 8.0] +[Rebase on gdb 8.3] Signed-off-by: Romain Naour --- gdb/gdbserver/linux-ppc-low.c | 6 ++++++ @@ -15,12 +15,12 @@ Signed-off-by: Romain Naour 2 files changed, 12 insertions(+) diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c -index 33a9feb..1a9141f 100644 +index 1b695e53fe9..1978347c02c 100644 --- a/gdb/gdbserver/linux-ppc-low.c +++ b/gdb/gdbserver/linux-ppc-low.c -@@ -21,7 +21,13 @@ - #include "linux-low.h" - +@@ -23,7 +23,13 @@ + #include "elf/common.h" + #include #include +#if !defined(__GLIBC__) +# define pt_regs uapi_pt_regs @@ -30,15 +30,15 @@ index 33a9feb..1a9141f 100644 +# undef pt_regs +#endif - #include "nat/ppc-linux.h" - #include "linux-ppc-tdesc.h" + #include "arch/ppc-linux-common.h" + #include "arch/ppc-linux-tdesc.h" diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h -index 5837ea1..7233929 100644 +index f1561b3b357..40399361c09 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 + #ifndef NAT_PPC_LINUX_H + #define NAT_PPC_LINUX_H +#if !defined(__GLIBC__) +# define pt_regs uapi_pt_regs @@ -51,5 +51,5 @@ index 5837ea1..7233929 100644 /* This sometimes isn't defined. */ -- -2.9.4 +2.21.0 diff --git a/package/gdb/8.0.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/8.3.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch similarity index 89% rename from package/gdb/8.0.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch rename to package/gdb/8.3.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch index d31e5dd11a..9d508fbf1e 100644 --- a/package/gdb/8.0.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch +++ b/package/gdb/8.3.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch @@ -1,8 +1,8 @@ -From dfe4a40bc9d2fc1fd1b1a11ed733a0c0a1f59f3c Mon Sep 17 00:00:00 2001 +From ef630288fdc2d4d22651702672f9d5c9cd767e5b Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 3 Jun 2017 21:23:52 +0200 -Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on - !GLIBC systems +Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on !GLIBC + systems Fixes a pt_{dsp,}regs redefinition when building with the musl C library on SuperH. @@ -19,7 +19,7 @@ Signed-off-by: Romain Naour 1 file changed, 8 insertions(+) diff --git a/gdb/gdbserver/linux-sh-low.c b/gdb/gdbserver/linux-sh-low.c -index ac084c9..08e104a 100644 +index 0953721a190..c331c1382f7 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; @@ -39,5 +39,5 @@ index ac084c9..08e104a 100644 #define sh_num_regs 41 -- -2.9.4 +2.21.0 diff --git a/package/gdb/8.0.1/0003-use-asm-sgidefs.h.patch b/package/gdb/8.3.1/0003-use-asm-sgidefs.h.patch similarity index 90% rename from package/gdb/8.0.1/0003-use-asm-sgidefs.h.patch rename to package/gdb/8.3.1/0003-use-asm-sgidefs.h.patch index d30336904f..2909f62c68 100644 --- a/package/gdb/8.0.1/0003-use-asm-sgidefs.h.patch +++ b/package/gdb/8.3.1/0003-use-asm-sgidefs.h.patch @@ -1,4 +1,4 @@ -From 12a0b8d81e1fda6ba98abdce8d6f09f9555ebcf5 Mon Sep 17 00:00:00 2001 +From 19a0f664809b6858e69aa98188eb739415de044c Mon Sep 17 00:00:00 2001 From: Andre McCurdy Date: Sat, 30 Apr 2016 15:29:06 -0700 Subject: [PATCH] use @@ -23,7 +23,7 @@ Signed-off-by: Vicente Olivert Riera 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index f2df1b9907..d24664cb56 100644 +index e68ed1e4da9..bc42aa59685 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -31,7 +31,7 @@ @@ -36,5 +36,5 @@ index f2df1b9907..d24664cb56 100644 #include #include "inf-ptrace.h" -- -2.13.1 +2.21.0 diff --git a/package/gdb/8.3.1/0004-gdbserver-fix-build-for-m68k.patch b/package/gdb/8.3.1/0004-gdbserver-fix-build-for-m68k.patch new file mode 100644 index 0000000000..d718293899 --- /dev/null +++ b/package/gdb/8.3.1/0004-gdbserver-fix-build-for-m68k.patch @@ -0,0 +1,62 @@ +From 448e481aab86c823d908530038e20a14213db0a2 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 16f639d02fc..969d9973737 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.21.0 + diff --git a/package/gdb/8.3.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch b/package/gdb/8.3.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch new file mode 100644 index 0000000000..394e7a2c2a --- /dev/null +++ b/package/gdb/8.3.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch @@ -0,0 +1,53 @@ +From d84ecfa3a8c8fbade89229ac66c09f2a97ab00fb 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 +[Romain: rebase on gdb 8.3] +Signed-off-by: Romain Naour +--- + 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 fe9360a5039..626fe7c1fbf 100644 +--- a/gdb/nat/fork-inferior.c ++++ b/gdb/nat/fork-inferior.c +@@ -27,6 +27,7 @@ + #include "common/pathstuff.h" + #include "common/signals-state-save-restore.h" + #include "common/gdb_tilde_expand.h" ++#include "linux-ptrace.h" + #include + + extern char **environ; +-- +2.21.0 + diff --git a/package/gdb/8.3.1/0006-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch b/package/gdb/8.3.1/0006-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch new file mode 100644 index 0000000000..989a5b1347 --- /dev/null +++ b/package/gdb/8.3.1/0006-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch @@ -0,0 +1,42 @@ +From e00c211d51bec301cf04719b77076a8783ef44b5 Mon Sep 17 00:00:00 2001 +From: Raul Tambre +Date: Sat, 4 May 2019 15:48:17 -0400 +Subject: [PATCH] Fix incorrect use of 'is' operator for comparison in + python/lib/gdb/command/prompt.py + +The 'is' operator is not meant to be used for comparisons. It currently working +is an implementation detail of CPython. CPython 3.8 has added a SyntaxWarning +for this. + +(cherry picked from commit b6484282f85bf7f11451b2441599c241d302ad9d) +[Romain: backport to gdb 8.x] +Signed-off-by: Romain Naour +--- + gdb/python/lib/gdb/command/prompt.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gdb/python/lib/gdb/command/prompt.py b/gdb/python/lib/gdb/command/prompt.py +index 3d662a7d3f..04b9e49c22 100644 +--- a/gdb/python/lib/gdb/command/prompt.py ++++ b/gdb/python/lib/gdb/command/prompt.py +@@ -45,7 +45,7 @@ The currently defined substitutions are: + self.hook_set = False + + def get_show_string (self, pvalue): +- if self.value is not '': ++ if self.value: + return "The extended prompt is: " + self.value + else: + return "The extended prompt is not set." +@@ -57,7 +57,7 @@ The currently defined substitutions are: + return "" + + def before_prompt_hook(self, current): +- if self.value is not '': ++ if self.value: + return gdb.prompt.substitute_prompt(self.value) + else: + return None +-- +2.25.4 + diff --git a/package/gdb/Config.in b/package/gdb/Config.in index 0c3465d145..4c787d49a1 100644 --- a/package/gdb/Config.in +++ b/package/gdb/Config.in @@ -5,21 +5,21 @@ config BR2_PACKAGE_GDB_ARCH_SUPPORTS depends on !BR2_microblaze depends on !BR2_nios2 depends on !BR2_or1k + depends on !BR2_nds32 comment "gdb/gdbserver needs a toolchain w/ threads, threads debug" depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_THREADS_DEBUG comment "gdb/gdbserver >= 8.x needs a toolchain w/ C++, gcc >= 4.8" - depends on BR2_PACKAGE_GDB_NEEDS_CXX11 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 config BR2_PACKAGE_GDB bool "gdb" depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_HAS_THREADS_DEBUG depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_PACKAGE_GDB_NEEDS_CXX11 - depends on BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_GDB_NEEDS_CXX11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_INSTALL_LIBSTDCPP # no gdbserver on riscv select BR2_PACKAGE_GDB_DEBUGGER if BR2_riscv # When the external toolchain gdbserver is copied to the @@ -49,6 +49,11 @@ config BR2_PACKAGE_GDB_SERVER bool "gdbserver" depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY depends on !BR2_riscv + # Simultaneous build of gdbserver and full gdb is not possible + # with arc-2019.09. This bug comes from upstream GDB. So + # simultaneous usage of full gdb and gdbserver is temporaly + # disabled for ARC until a fix becomes available. + depends on !(BR2_arc && BR2_PACKAGE_GDB_DEBUGGER) help Build the gdbserver stub to run on the target. A full gdb is needed to debug the progam. @@ -57,6 +62,7 @@ config BR2_PACKAGE_GDB_DEBUGGER bool "full debugger" depends on BR2_USE_WCHAR depends on !BR2_sh + depends on !BR2_csky select BR2_PACKAGE_NCURSES comment "full gdb on target needs a toolchain w/ wchar" diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host index 969168ffa2..8de7f8395b 100644 --- a/package/gdb/Config.in.host +++ b/package/gdb/Config.in.host @@ -1,13 +1,12 @@ config BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS bool default y - # The ARC version needs C++11, thus gcc >= 4.8, like gdb-8.0.x - depends on BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_arc depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT) depends on !BR2_microblaze depends on !BR2_nios2 depends on !BR2_or1k depends on !BR2_riscv + depends on !BR2_nds32 comment "Host GDB Options" depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY @@ -33,10 +32,28 @@ config BR2_PACKAGE_HOST_GDB_TUI help This option enables terminal user interface (TUI) for gdb -config BR2_PACKAGE_HOST_GDB_PYTHON - bool "Python support" +choice + prompt "Python support" + default BR2_PACKAGE_HOST_GDB_NOPYTHON help - This option enables the Python support in the cross gdb. + Select the version of Python you wish to use + +config BR2_PACKAGE_HOST_GDB_NOPYTHON + bool "None" + help + This option disables Python support in the cross gdb. + +config BR2_PACKAGE_HOST_GDB_PYTHON + bool "Python 2" + help + This option enables the Python 2 support in the cross gdb. + +config BR2_PACKAGE_HOST_GDB_PYTHON3 + bool "Python 3" + help + This option enables the Python 3 support in the cross gdb. + +endchoice config BR2_PACKAGE_HOST_GDB_SIM bool "Simulator support" @@ -46,57 +63,31 @@ config BR2_PACKAGE_HOST_GDB_SIM choice prompt "GDB debugger Version" - default BR2_GDB_VERSION_8_1 + default BR2_GDB_VERSION_8_2 depends on !BR2_arc + depends on !BR2_csky help Select the version of gdb you wish to use. -config BR2_GDB_VERSION_7_12 - bool "gdb 7.12.x" - -config BR2_GDB_VERSION_8_0 - bool "gdb 8.0.x" - # Needs a C++11 compiler - depends on BR2_HOST_GCC_AT_LEAST_4_8 - config BR2_GDB_VERSION_8_1 bool "gdb 8.1.x" - # Needs a C++11 compiler - depends on BR2_HOST_GCC_AT_LEAST_4_8 config BR2_GDB_VERSION_8_2 bool "gdb 8.2.x" - # Needs a C++11 compiler - depends on BR2_HOST_GCC_AT_LEAST_4_8 + +config BR2_GDB_VERSION_8_3 + bool "gdb 8.3.x" endchoice endif -# Tells whether the currently selected gdb version requires C++11 -# support in the toolchain. When host-gdb is not enabled, the target -# gdb built is 8.0, which requires C++11 support, which is why -# BR2_PACKAGE_GDB_NEEDS_CXX11 is 'y' when BR2_PACKAGE_HOST_GDB is not -# enabled. When host-gdb is built, with the version set to 8.0 or 8.1 -# then C++11 support is needed in the toolchain to build gdb for the -# target. -# -# Even though this option is related to target gdb dependencies, we -# keep it next to the BR2_GDB_VERSION so that they are kept in sync. -config BR2_PACKAGE_GDB_NEEDS_CXX11 - bool - default y if !BR2_PACKAGE_HOST_GDB - default y if BR2_GDB_VERSION_8_0 - default y if BR2_GDB_VERSION_8_1 - default y if BR2_GDB_VERSION_8_2 - default y if BR2_arc - # If cross-gdb is not enabled, the latest working version is chosen. config BR2_GDB_VERSION string - default "arc-2018.09-release-gdb" if BR2_arc - default "7.12.1" if BR2_GDB_VERSION_7_12 - default "8.0.1" if BR2_GDB_VERSION_8_0 - default "8.1.1" if BR2_GDB_VERSION_8_1 || !BR2_PACKAGE_HOST_GDB - default "8.2.1" if BR2_GDB_VERSION_8_2 + default "arc-2019.09-release-gdb" if BR2_arc + default "4ecb98fbc2f94dbe01b69384afbc515107de73df" if BR2_csky + default "8.1.1" if BR2_GDB_VERSION_8_1 + default "8.2.1" if BR2_GDB_VERSION_8_2 || !BR2_PACKAGE_HOST_GDB + default "8.3.1" if BR2_GDB_VERSION_8_3 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 deleted file mode 100644 index 1ee39658f1..0000000000 --- a/package/gdb/arc-2018.09-gdb/0001-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-g.patch +++ /dev/null @@ -1,52 +0,0 @@ -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 1104da5dc4..60b0954ff9 100644 --- a/package/gdb/gdb.hash +++ b/package/gdb/gdb.hash @@ -1,8 +1,10 @@ # From ftp://gcc.gnu.org/pub/gdb/releases/sha512.sum -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 +sha512 7dcd5e8c90de92f577834d887b5f54edb93a07083bfe661bc46c270a6cc4919f0b348e7e2fe8ae4511298a570ef150eeefdc667ef7cf527f0cf60943177ab6c9 gdb-8.1.1.tar.xz +sha512 2aa81cfd389bb48c35d7d9f95cc10e88b4f7ad4597bdde0f8f1fd312f60f10d9fb2cc6e5a9355227d89ff328f7feb0fc411a69394560cafeb9fa75d35d896d11 gdb-8.2.1.tar.xz +sha512 9053a2dc6b9eb921907afbc4cecc75d635aa76df5e8c4f0e5824ccf57cb206b299c19b127fff000b65c334826ff8304a54ff6098428365a8e997cca886c39e9a gdb-8.3.1.tar.xz # Locally calculated (fetched from Github) -sha512 8303e399e396f5c15dc976e48503fc7d45a720dd1a470443f755c5f2458d092b4392e7ae582abc251bc4b43a778ad784f764286a2a05abfc1649cbeeeb6e7d15 gdb-arc-2018.09-release-gdb.tar.gz +sha512 c33818f8679d99d5315220578864b04b87f69c46ebe62472809ee6e1d260e5ec84d598f38d80c127a2045d6624f28803c2720d89434204acbd94e988a45870f1 gdb-arc-2019.09-release-gdb.tar.gz + +# Locally calculated (fetched from https://github.com/c-sky/binutils-gdb) +sha512 c421e1f3c0d6cfb3c04544573c0c4b0075c8d8e3d563c6c234fcc1e4c2167ab203d1e57aec3b58abd348dc46f8cf9b47b753d3a43dba3ea970c9c9a6bd78c07b gdb-4ecb98fbc2f94dbe01b69384afbc515107de73df.tar.gz diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk index a926961372..8c74a0e2f6 100644 --- a/package/gdb/gdb.mk +++ b/package/gdb/gdb.mk @@ -14,6 +14,12 @@ GDB_SOURCE = gdb-$(GDB_VERSION).tar.gz GDB_FROM_GIT = y endif +ifeq ($(BR2_csky),y) +GDB_SITE = $(call github,c-sky,binutils-gdb,$(GDB_VERSION)) +GDB_SOURCE = gdb-$(GDB_VERSION).tar.gz +GDB_FROM_GIT = y +endif + GDB_LICENSE = GPL-2.0+, LGPL-2.0+, GPL-3.0+, LGPL-3.0+ GDB_LICENSE_FILES = COPYING COPYING.LIB COPYING3 COPYING3.LIB @@ -29,7 +35,9 @@ endif # For the host variant, we really want to build with XML support, # which is needed to read XML descriptions of target architectures. We # also need ncurses. -HOST_GDB_DEPENDENCIES = host-expat host-ncurses +# As for libiberty, gdb may use a system-installed one if present, so +# we must ensure ours is installed first. +HOST_GDB_DEPENDENCIES = host-expat host-libiberty host-ncurses # Disable building documentation GDB_MAKE_OPTS += MAKEINFO=true @@ -230,6 +238,9 @@ endif ifeq ($(BR2_PACKAGE_HOST_GDB_PYTHON),y) HOST_GDB_CONF_OPTS += --with-python=$(HOST_DIR)/bin/python2 HOST_GDB_DEPENDENCIES += host-python +else ifeq ($(BR2_PACKAGE_HOST_GDB_PYTHON3),y) +HOST_GDB_CONF_OPTS += --with-python=$(HOST_DIR)/bin/python3 +HOST_GDB_DEPENDENCIES += host-python3 else HOST_GDB_CONF_OPTS += --without-python endif diff --git a/package/gdbm/gdbm.hash b/package/gdbm/gdbm.hash index cab712e17e..8de9f6368d 100644 --- a/package/gdbm/gdbm.hash +++ b/package/gdbm/gdbm.hash @@ -1,5 +1,6 @@ -# From http://www.gnu.org.ua/software/gdbm/download.html -md5 8929dcda2a8de3fd2367bdbf66769376 gdbm-1.13.tar.gz -sha1 7f2a8301497bbcac91808b011ca533380914fd21 gdbm-1.13.tar.gz +# From https://lists.gnu.org/archive/html/info-gnu/2018-10/msg00006.html +md5 988dc82182121c7570e0cb8b4fcd5415 gdbm-1.18.1.tar.gz +sha1 4a923ebfac06bb05c1c7699b206719e06a938f0d gdbm-1.18.1.tar.gz # Locally computed -sha256 9d252cbd7d793f7b12bcceaddda98d257c14f4d1890d851c386c37207000a253 gdbm-1.13.tar.gz +sha256 86e613527e5dba544e73208f42b78b7c022d4fa5a6d5498bf18c8d6f745b91dc gdbm-1.18.1.tar.gz +sha256 690d762f2e8e149ab1e2d6a409a3853b6151a2533b2382fae549a176d6bedecf COPYING diff --git a/package/gdbm/gdbm.mk b/package/gdbm/gdbm.mk index acd8cd2ac2..084a7769f2 100644 --- a/package/gdbm/gdbm.mk +++ b/package/gdbm/gdbm.mk @@ -4,7 +4,7 @@ # ################################################################################ -GDBM_VERSION = 1.13 +GDBM_VERSION = 1.18.1 GDBM_SITE = $(BR2_GNU_MIRROR)/gdbm GDBM_LICENSE = GPL-3.0+ GDBM_LICENSE_FILES = COPYING diff --git a/package/gdk-pixbuf/gdk-pixbuf.mk b/package/gdk-pixbuf/gdk-pixbuf.mk index 33de2e3d3a..b7937a48e9 100644 --- a/package/gdk-pixbuf/gdk-pixbuf.mk +++ b/package/gdk-pixbuf/gdk-pixbuf.mk @@ -24,6 +24,14 @@ HOST_GDK_PIXBUF_CONF_ENV = \ gio_can_sniff=no GDK_PIXBUF_CONF_OPTS = --disable-glibtest +HOST_GDK_PIXBUF_CONF_OPTS = --disable-introspection + +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +GDK_PIXBUF_CONF_OPTS += --enable-introspection +GDK_PIXBUF_DEPENDENCIES += gobject-introspection +else +GDK_PIXBUF_CONF_OPTS += --disable-introspection +endif ifneq ($(BR2_PACKAGE_LIBPNG),y) GDK_PIXBUF_CONF_OPTS += --without-libpng diff --git a/package/genext2fs/genext2fs.hash b/package/genext2fs/genext2fs.hash index 46b8af352d..add44c4c4e 100644 --- a/package/genext2fs/genext2fs.hash +++ b/package/genext2fs/genext2fs.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 404dbbfa7a86a6c3de8225c8da254d026b17fd288e05cec4df2cc7e1f4feecfc genext2fs-1.4.1.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/gengetopt/0001-configure.ac-add-disable-doc-option.patch b/package/gengetopt/0001-configure.ac-add-disable-doc-option.patch new file mode 100644 index 0000000000..d43714a3df --- /dev/null +++ b/package/gengetopt/0001-configure.ac-add-disable-doc-option.patch @@ -0,0 +1,51 @@ +From 250bee9e02546846d70dbe88ac36bb83c6a7ebdf Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 22 Sep 2019 09:27:24 +0200 +Subject: [PATCH] configure.ac: add --disable-doc option + +Add --disable-doc option to allow the user to disable documentation + +Signed-off-by: Fabrice Fontaine +[Sent upstream: https://savannah.gnu.org/bugs/index.php?56931] +--- + Makefile.am | 6 +++++- + configure.ac | 7 +++++++ + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index dbb5719..2db307a 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -18,6 +18,10 @@ + ACLOCAL_AMFLAGS = -I m4 -I gl/m4 + + EXTRA_DIST = configure TODO LICENSE gl/m4/gnulib-cache.m4 +-SUBDIRS = gl src doc tests ++SUBDIRS = gl src tests ++ ++if ENABLE_DOC ++SUBDIRS += doc ++endif + + gengetoptdoc_DATA = ChangeLog COPYING NEWS THANKS INSTALL README LICENSE +diff --git a/configure.ac b/configure.ac +index 0ee89db..915706c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -61,6 +61,13 @@ AC_ARG_ENABLE( + AC_COMPILE_WARNINGS + ) + ++AC_ARG_ENABLE( ++ [doc], ++ [--enable-doc enable documentation], ++ [enable_doc=$enableval], ++ [enable_doc=yes]) ++AM_CONDITIONAL(ENABLE_DOC, test x"$enable_doc" = xyes) ++ + AC_ARG_WITH( + [gengen], + [ --with-gengen=mygengen gengen to use], +-- +2.23.0 + diff --git a/package/gengetopt/0001-fix-compilation-warnings-in-generated-code.patch b/package/gengetopt/0001-fix-compilation-warnings-in-generated-code.patch deleted file mode 100644 index 88961e6690..0000000000 --- a/package/gengetopt/0001-fix-compilation-warnings-in-generated-code.patch +++ /dev/null @@ -1,65 +0,0 @@ -Fix compilation warnings in generated code - -Patch taken from open bug report http://savannah.gnu.org/bugs/?40243 -(project gengetopt seems to be dead; no hope for a new release soon) - -Imported by Philippe Mariman. -This description by Thomas De Schampheleire. - -Signed-off-by: Thomas De Schampheleire - -Index: gengetopt-2.22.6/src/skels/c_source.cc -=================================================================== ---- gengetopt-2.22.6.orig/src/skels/c_source.cc 2012-11-07 20:58:29.000000000 +0100 -+++ gengetopt-2.22.6/src/skels/c_source.cc 2014-11-20 12:05:02.597527761 +0100 -@@ -2424,9 +2424,12 @@ - stream << " FIX_UNUSED (field);"; - stream << "\n"; - stream << indent_str; -+ stream << " FIX_UNUSED (stop_char);"; -+ stream << "\n"; -+ stream << indent_str; -+ stream << " FIX_UNUSED (val);"; - stream << "\n"; - stream << indent_str; -- stream << " stop_char = 0;"; - stream << "\n"; - stream << indent_str; - stream << " found = 0;"; -@@ -3981,6 +3984,12 @@ - stream << "\n"; - stream << indent_str; - } -+ else -+ { -+ stream << " FIX_UNUSED (check_required);"; -+ stream << "\n"; -+ stream << indent_str; -+ } - stream << "\n"; - stream << indent_str; - indent = 2; -Index: gengetopt-2.22.6/src/skels/c_source.h_skel -=================================================================== ---- gengetopt-2.22.6.orig/src/skels/c_source.h_skel 2012-11-02 18:43:24.000000000 +0100 -+++ gengetopt-2.22.6/src/skels/c_source.h_skel 2014-11-20 12:05:22.501528424 +0100 -@@ -767,8 +767,9 @@ - char **string_field; - @ENDIF@ - FIX_UNUSED (field); -+ FIX_UNUSED (stop_char); -+ FIX_UNUSED (val); - -- stop_char = 0; - found = 0; - - if (!multiple_option && prev_given && (*prev_given || (check_ambiguity && *field_given))) -@@ -1327,6 +1328,8 @@ - { - error_occurred += @parser_name@_required2 (args_info, argv[0], additional_error); - } -+@ELSE@ -+ FIX_UNUSED (check_required); - @ENDIF@ - - @parser_name@_release (&local_args_info); diff --git a/package/gengetopt/gengetopt.hash b/package/gengetopt/gengetopt.hash index 4f411ac8b3..35c214fce2 100644 --- a/package/gengetopt/gengetopt.hash +++ b/package/gengetopt/gengetopt.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 30b05a88604d71ef2a42a2ef26cd26df242b41f5b011ad03083143a31d9b01f7 gengetopt-2.22.6.tar.gz +sha256 b941aec9011864978dd7fdeb052b1943535824169d2aa2b0e7eae9ab807584ac gengetopt-2.23.tar.xz +sha256 afab96ff35204960631dc05506034f9efc01e6d696f0ac93718d6bd43512cda7 COPYING +sha256 72a43351233d6a581f891cdfff78b7b7d5f2a12522523929c5f7e8f674c2f6fc LICENSE diff --git a/package/gengetopt/gengetopt.mk b/package/gengetopt/gengetopt.mk index e7c49ba527..5ecd44bc77 100644 --- a/package/gengetopt/gengetopt.mk +++ b/package/gengetopt/gengetopt.mk @@ -4,12 +4,12 @@ # ################################################################################ -GENGETOPT_VERSION = 2.22.6 +GENGETOPT_VERSION = 2.23 +GENGETOPT_SOURCE = gengetopt-$(GENGETOPT_VERSION).tar.xz GENGETOPT_SITE = $(BR2_GNU_MIRROR)/gengetopt GENGETOPT_LICENSE = GPL-3.0+ GENGETOPT_LICENSE_FILES = COPYING LICENSE - -# Parallel build broken -GENGETOPT_MAKE = $(MAKE1) +# We're patching configure.ac +HOST_GENGETOPT_AUTORECONF = YES $(eval $(host-autotools-package)) diff --git a/package/genimage/genimage.hash b/package/genimage/genimage.hash index 095eb1413f..fb5d235508 100644 --- a/package/genimage/genimage.hash +++ b/package/genimage/genimage.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 5a36b2c1387007c2d6535a722ee257a387d0913bddcf8a94d460e6acd4d01859 genimage-10.tar.xz +sha256 2e9b43d1288f4e216d6c79de2a0c53ce1bd41f93cec750d8ab057aa2d0b0ee4a genimage-12.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/genimage/genimage.mk b/package/genimage/genimage.mk index 393c3e9b94..8960393904 100644 --- a/package/genimage/genimage.mk +++ b/package/genimage/genimage.mk @@ -4,7 +4,7 @@ # ################################################################################ -GENIMAGE_VERSION = 10 +GENIMAGE_VERSION = 12 GENIMAGE_SOURCE = genimage-$(GENIMAGE_VERSION).tar.xz GENIMAGE_SITE = https://github.com/pengutronix/genimage/releases/download/v$(GENIMAGE_VERSION) HOST_GENIMAGE_DEPENDENCIES = host-pkgconf host-libconfuse diff --git a/package/genromfs/genromfs.hash b/package/genromfs/genromfs.hash index 477e5d2dcb..0be88ee1b4 100644 --- a/package/genromfs/genromfs.hash +++ b/package/genromfs/genromfs.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 30f37fc734572c1dbaa2504585bc23ba6b8fd7df767ae7155995b2ca0ebed960 genromfs-0.5.2.tar.gz +sha256 cc2a6651c315b233ebc110b49ea3c6452eff9a28f8bc051ffd2bb92a8dcfa3d2 COPYING diff --git a/package/gensio/Config.in b/package/gensio/Config.in new file mode 100644 index 0000000000..f874d1a469 --- /dev/null +++ b/package/gensio/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_GENSIO + bool "gensio" + depends on BR2_USE_MMU # fork() + help + A library to abstract stream I/O like serial port, TCP, + telnet, UDP, SSL, IPMI SOL, etc. + + https://github.com/cminyard/gensio diff --git a/package/gensio/gensio.hash b/package/gensio/gensio.hash new file mode 100644 index 0000000000..c9da6f3cdc --- /dev/null +++ b/package/gensio/gensio.hash @@ -0,0 +1,7 @@ +# From https://sourceforge.net/projects/ser2net/files/ser2net/ +md5 76466adbd15aae9d0af7207a921935b5 gensio-2.0.3.tar.gz +sha1 da14b4903e8422745dd6193b41385ad2e1bd1fff gensio-2.0.3.tar.gz +# Locally computed: +sha256 f19cfcef8187a01b0168931c2b80d065c8bba6004e06fab62745ca512374d706 gensio-2.0.3.tar.gz +sha256 501f3108e6c03e5a0a5585ebaaa369171aead5319cd0a7a4dc1f66211c1f09f1 COPYING +sha256 dcac7d447dd81ab96d28dce00a07a6486e623f7ded94e2a2a8e83312405cdf89 COPYING.LIB diff --git a/package/gensio/gensio.mk b/package/gensio/gensio.mk new file mode 100644 index 0000000000..17388ad3c6 --- /dev/null +++ b/package/gensio/gensio.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# gensio +# +################################################################################ + +GENSIO_VERSION = 2.0.3 +GENSIO_SITE = http://downloads.sourceforge.net/project/ser2net/ser2net +GENSIO_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) +GENSIO_LICENSE_FILES = COPYING.LIB COPYING +GENSIO_INSTALL_STAGING = YES +GENSIO_CONF_OPTS = \ + --without-openipmi \ + --without-swig \ + --without-python + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +GENSIO_DEPENDENCIES += host-pkgconf openssl +GENSIO_CONF_OPTS += --with-openssl +else +GENSIO_CONF_OPTS += --without-openssl +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +GENSIO_CONF_OPTS += --with-pthreads +else +GENSIO_CONF_OPTS += --without-pthreads +endif + +$(eval $(autotools-package)) 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 deleted file mode 100644 index 94f742c3f8..0000000000 --- a/package/gerbera/0001-CMakeLists.txt-fix-static-build-with-curl-and-libidn.patch +++ /dev/null @@ -1,41 +0,0 @@ -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/0001-fix-matroska-build-without-js-taglib-or-atrailers.patch b/package/gerbera/0001-fix-matroska-build-without-js-taglib-or-atrailers.patch new file mode 100644 index 0000000000..6898e8ebee --- /dev/null +++ b/package/gerbera/0001-fix-matroska-build-without-js-taglib-or-atrailers.patch @@ -0,0 +1,51 @@ +From 0ac781b0b0deef5c02c32a70ac484f882c3f4dd0 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 24 Dec 2019 18:55:57 +0100 +Subject: [PATCH] fix matroska build without js, taglib or atrailers +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +i2i function is used in matroska_handler.cc but this function is defined +only if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS) +as a result compilation fails if HAVE_MATROSKA is set but HAVE_JS, +HAVE_TAGLIG or ATRAILERS are not. + +Backported from: 0ac781b0b0deef5c02c32a70ac484f882c3f4dd0 + +Signed-off-by: Fabrice Fontaine +Signed-off-by: Jörg Krause +--- + src/string_converter.cc | 2 +- + src/string_converter.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/string_converter.cc b/src/string_converter.cc +index f669c661..7a3c55d7 100644 +--- a/src/string_converter.cc ++++ b/src/string_converter.cc +@@ -218,7 +218,7 @@ Ref StringConverter::p2i() + } + #endif + +-#if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS) ++#if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS) || defined(HAVE_MATROSKA) + + Ref StringConverter::i2i() + { +diff --git a/src/string_converter.h b/src/string_converter.h +index 58495430..f75bf833 100644 +--- a/src/string_converter.h ++++ b/src/string_converter.h +@@ -65,7 +65,7 @@ public: + static zmm::Ref p2i(); + + #endif +-#if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS) ++#if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS) || defined(HAVE_MATROSKA) + /// \brief safeguard - internal to internal - needed to catch some + /// scenarious where the user may have forgotten to add proper conversion + /// in the script. +-- +2.26.1 + diff --git a/package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch b/package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch deleted file mode 100644 index b5f79173b6..0000000000 --- a/package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch +++ /dev/null @@ -1,175 +0,0 @@ -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/0002-cmake-FindLibMagic-cmake-fix-static-linking.patch b/package/gerbera/0002-cmake-FindLibMagic-cmake-fix-static-linking.patch new file mode 100644 index 0000000000..f6cc276e70 --- /dev/null +++ b/package/gerbera/0002-cmake-FindLibMagic-cmake-fix-static-linking.patch @@ -0,0 +1,63 @@ +From 7fdcabd80c823694d190e5baa8c657ffcae5e777 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 31 Jan 2020 17:14:11 +0100 +Subject: [PATCH] cmake/FindLibMagic.cmake: fix static linking + +libmagic can optionally depends on xz (for lzma) or bzip2 since version +5.38 and +https://github.com/file/file/commit/b259a07ea95827f565faa20f0316e5b2704064f7 +so use pkg-config to retrieve those static dependencies and avoid the +following build failure: + +[100%] Linking CXX executable gerbera +/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/br-user/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmagic.a(compress.o): in function `uncompressbuf': +compress.c:(.text+0x69c): undefined reference to `BZ2_bzDecompressInit' +/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x710): undefined reference to `BZ2_bzDecompress' +/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x730): undefined reference to `BZ2_bzDecompressEnd' +/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x7bc): undefined reference to `lzma_auto_decoder' +/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x828): undefined reference to `lzma_code' +/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x848): undefined reference to `lzma_end' + +It should be noted that libmagic.pc is not currently provided in the +official file package (which provides libmagic), an issue has been +opened to add libmagic.pc: https://bugs.astron.com/view.php?id=136 + +Fixes: + - http://autobuild.buildroot.org/results/37b1ef54dc41100689f311fbc31fc9300dc6ae63 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/gerbera/gerbera/commit/7fdcabd80c823694d190e5baa8c657ffcae5e777] +--- + cmake/FindLibMagic.cmake | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/cmake/FindLibMagic.cmake b/cmake/FindLibMagic.cmake +index f68ab923..04995af4 100644 +--- a/cmake/FindLibMagic.cmake ++++ b/cmake/FindLibMagic.cmake +@@ -1,11 +1,22 @@ + INCLUDE (FindPackageHandleStandardArgs) + +-FIND_PATH(MAGIC_INCLUDE_DIR magic.h) +-FIND_LIBRARY(MAGIC_LIBRARIES NAMES magic) ++find_package(PkgConfig QUIET) ++ ++pkg_check_modules(PC_MAGIC QUIET libmagic) ++ ++FIND_PATH(MAGIC_INCLUDE_DIR magic.h ++ HINTS ${PC_MAGIC_INCLUDEDIR} ${PC_MAGIC_INCLUDE_DIRS}) ++FIND_LIBRARY(MAGIC_LIBRARIES NAMES magic ++ HINTS ${PC_MAGIC_LIBDIR} ${PC_MAGIC_LIBRARY_DIRS}) + + # handle the QUIETLY and REQUIRED arguments and set MAGIC_FOUND to TRUE + find_package_handle_standard_args(MAGIC DEFAULT_MSG MAGIC_LIBRARIES) + ++if (MAGIC_FOUND) ++ set (MAGIC_LIBRARIES ${MAGIC_LIBRARY} ${PC_MAGIC_LIBRARIES}) ++ set (MAGIC_INCLUDE_DIRS ${MAGIC_INCLUDE_DIR} ) ++endif () ++ + MARK_AS_ADVANCED( + MAGIC_LIBRARIES + MAGIC_INCLUDE_DIRS ) diff --git a/package/gerbera/0003-cmake-FindLibUpnp.cmake-fix-static-linking.patch b/package/gerbera/0003-cmake-FindLibUpnp.cmake-fix-static-linking.patch deleted file mode 100644 index 510bf2837f..0000000000 --- a/package/gerbera/0003-cmake-FindLibUpnp.cmake-fix-static-linking.patch +++ /dev/null @@ -1,44 +0,0 @@ -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/0003-cmake-FindMatroska-fix-static-linking.patch b/package/gerbera/0003-cmake-FindMatroska-fix-static-linking.patch new file mode 100644 index 0000000000..128d617045 --- /dev/null +++ b/package/gerbera/0003-cmake-FindMatroska-fix-static-linking.patch @@ -0,0 +1,37 @@ +From aab2eacbaad10759294f4fd74bbb5ecef3cf3a8d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 24 Dec 2019 22:57:18 +0100 +Subject: [PATCH] cmake/FindMatroska: fix static linking + +Fix static linking with libmatrasoka by adding PC_EBM_LIBRARIES to +EBML_LIBRARIES and PC_MAT_LIBRARIES to MATROSKA_LIBRARIES + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/gerbera/gerbera/commit/aab2eacbaad10759294f4fd74bbb5ecef3cf3a8d] +--- + cmake/FindMatroska.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cmake/FindMatroska.cmake b/cmake/FindMatroska.cmake +index 4b09a5ec..12ca593d 100644 +--- a/cmake/FindMatroska.cmake ++++ b/cmake/FindMatroska.cmake +@@ -23,7 +23,7 @@ FIND_LIBRARY(EBML_LIBRARY ebml + FIND_PACKAGE_HANDLE_STANDARD_ARGS(EBML + REQUIRED_VARS EBML_LIBRARY EBML_INCLUDE_DIR) + if (EBML_FOUND) +- set (EBML_LIBRARIES ${EBML_LIBRARY}) ++ set (EBML_LIBRARIES ${EBML_LIBRARY} ${PC_EBM_LIBRARIES}) + set (EBML_INCLUDE_DIRS ${EBML_INCLUDE_DIR} ) + endif () + MARK_AS_ADVANCED( +@@ -41,7 +41,7 @@ find_library(MATROSKA_LIBRARY matroska + FIND_PACKAGE_HANDLE_STANDARD_ARGS(MATROSKA + REQUIRED_VARS MATROSKA_LIBRARY MATROSKA_INCLUDE_DIR) + if (MATROSKA_FOUND) +- set (MATROSKA_LIBRARIES ${MATROSKA_LIBRARY}) ++ set (MATROSKA_LIBRARIES ${MATROSKA_LIBRARY} ${PC_MAT_LIBRARIES}) + set (MATROSKA_INCLUDE_DIRS ${MATROSKA_INCLUDE_DIR} ) + endif () + MARK_AS_ADVANCED( diff --git a/package/gerbera/S99gerbera b/package/gerbera/S99gerbera index 8bbd221ce2..d1c74c887c 100644 --- a/package/gerbera/S99gerbera +++ b/package/gerbera/S99gerbera @@ -1,7 +1,7 @@ #!/bin/sh DAEMON="gerbera" -PIDFILE="/var/run/$NAME.pid" +PIDFILE="/var/run/$DAEMON.pid" GERBERA_ARGS="-c /etc/gerbera/config.xml -l /var/log/gerbera.log" diff --git a/package/gerbera/config.xml b/package/gerbera/config.xml index fa990d1502..ddaaa7f18f 100644 --- a/package/gerbera/config.xml +++ b/package/gerbera/config.xml @@ -79,6 +79,9 @@ + + + @@ -107,6 +110,7 @@ + diff --git a/package/gerbera/gerbera.hash b/package/gerbera/gerbera.hash index bcac080c9d..b1fdcbf2d0 100644 --- a/package/gerbera/gerbera.hash +++ b/package/gerbera/gerbera.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 5e40971c519eb322fe0111754cafa12d99c47c2ae7d0f9f1aebb19b06e74a912 gerbera-v1.3.0.tar.gz -sha256 cae4138373be41fd2be75faf41ce7efbcf49fb17d0e05ad1c51cc01ac335b9b6 LICENSE.md +sha256 904a9031c85ac805e4c139f363510226952683d7257acd1dee25ba1e97fd7651 gerbera-1.4.0.tar.gz +sha256 cae4138373be41fd2be75faf41ce7efbcf49fb17d0e05ad1c51cc01ac335b9b6 LICENSE.md diff --git a/package/gerbera/gerbera.mk b/package/gerbera/gerbera.mk index 7ded7cec74..7f0ac664fe 100644 --- a/package/gerbera/gerbera.mk +++ b/package/gerbera/gerbera.mk @@ -4,8 +4,8 @@ # ################################################################################ -GERBERA_VERSION = v1.3.0 -GERBERA_SITE = $(call github,gerbera,gerbera,$(GERBERA_VERSION)) +GERBERA_VERSION = 1.4.0 +GERBERA_SITE = $(call github,gerbera,gerbera,v$(GERBERA_VERSION)) GERBERA_LICENSE = GPL-2.0 GERBERA_LICENSE_FILES = LICENSE.md GERBERA_DEPENDENCIES = \ @@ -63,6 +63,13 @@ ifeq ($(BR2_PACKAGE_LIBICONV),y) GERBERA_DEPENDENCIES += libiconv endif +ifeq ($(BR2_PACKAGE_LIBMATROSKA),y) +GERBERA_DEPENDENCIES += libmatroska +GERBERA_CONF_OPTS += -DWITH_MATROSKA=ON +else +GERBERA_CONF_OPTS += -DWITH_MATROSKA=OFF +endif + ifeq ($(BR2_PACKAGE_MYSQL),y) GERBERA_DEPENDENCIES += mysql GERBERA_CONF_OPTS += -DWITH_MYSQL=ON @@ -104,11 +111,4 @@ define GERBERA_INSTALL_INIT_SYSV $(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/gesftpserver/0001-Change-order-of-v3-attributes-according-to-draft-iet.patch b/package/gesftpserver/0001-Change-order-of-v3-attributes-according-to-draft-iet.patch new file mode 100644 index 0000000000..3697d0e525 --- /dev/null +++ b/package/gesftpserver/0001-Change-order-of-v3-attributes-according-to-draft-iet.patch @@ -0,0 +1,30 @@ +From 4b5c7eb63894bd2b1fedeb2a8e9bd16bf3c8c555 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bernd=20Holzm=C3=BCller?= + +Date: Mon, 11 Feb 2019 23:57:01 +0100 +Subject: [PATCH] Change order of v3-attributes according to + draft-ietf-secsh-filexfer-00/02 + +[yann.morin.1998@free.fr: backport from upstream] +Signed-off-by: "Yann E. MORIN" +--- + v3.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/v3.c b/v3.c +index 57cc31e..1fd86ad 100644 +--- a/v3.c ++++ b/v3.c +@@ -121,8 +121,8 @@ static void v3_sendattrs(struct sftpjob *job, const struct sftpattr *attrs) { + fatal("sending out-of-range mtime"); + if(a != attrs->atime.seconds) + fatal("sending out-of-range mtime"); +- sftp_send_uint32(job->worker, m); + sftp_send_uint32(job->worker, a); ++ sftp_send_uint32(job->worker, m); + } + /* Note that we just discard unknown bits rather than reporting errors. */ + } +-- +2.14.1 + diff --git a/package/gesftpserver/gesftpserver.hash b/package/gesftpserver/gesftpserver.hash index 1a8a5f3492..790cbe97c2 100644 --- a/package/gesftpserver/gesftpserver.hash +++ b/package/gesftpserver/gesftpserver.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 8ac1938d0f62a05799b2aeab489d6ce098c3fe53280a9b66c0957b1fdcbcbab9 sftpserver-0.2.2.tar.gz +sha256 4963b85787de3485085a5356c671c58b8b33125f528ff1b2fe8b534ed8a0c1bd sftpserver-1.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/gesftpserver/gesftpserver.mk b/package/gesftpserver/gesftpserver.mk index 58c6270a09..ff7ce768ae 100644 --- a/package/gesftpserver/gesftpserver.mk +++ b/package/gesftpserver/gesftpserver.mk @@ -4,11 +4,15 @@ # ################################################################################ -GESFTPSERVER_VERSION = 0.2.2 +GESFTPSERVER_VERSION = 1 GESFTPSERVER_SOURCE = sftpserver-$(GESFTPSERVER_VERSION).tar.gz GESFTPSERVER_SITE = http://www.greenend.org.uk/rjk/sftpserver GESFTPSERVER_LICENSE = GPL-2.0+ GESFTPSERVER_LICENSE_FILES = COPYING + +# "Missing prototype" warning treated as error +GESFTPSERVER_CONF_OPTS = --disable-warnings-as-errors + # forgets to link against pthread when cross compiling GESFTPSERVER_CONF_ENV = LIBS=-lpthread diff --git a/package/gettext-gnu/0001-error_print_progname.patch b/package/gettext-gnu/0001-error_print_progname.patch new file mode 100644 index 0000000000..7e1d3c55cf --- /dev/null +++ b/package/gettext-gnu/0001-error_print_progname.patch @@ -0,0 +1,20 @@ +[Updated to apply cleanly with 0.20.1] +Signed-off-by: Adam Duskett +--- +diff --git a/gettext-tools/gnulib-lib/error.h b/gettext-tools/gnulib-lib/error.h +index 61771cc..4221684 100644 +--- a/gettext-tools/gnulib-lib/error.h ++++ b/gettext-tools/gnulib-lib/error.h +@@ -68,7 +68,10 @@ extern void error_at_line (int __status, int __errnum, const char *__fname, + /* If NULL, error will flush stdout, then print on stderr the program + name, a colon and a space. Otherwise, error will call this + function without parameters instead. */ +-extern DLL_VARIABLE void (*error_print_progname) (void); ++#ifndef __UCLIBC__ ++extern DLL_VARIABLE ++#endif ++void (*error_print_progname) (void); + + /* This variable is incremented each time 'error' is called. */ + extern DLL_VARIABLE unsigned int error_message_count; +-- diff --git a/package/gettext-gnu/0002-restore-the-ability-to-buld-gettext-tools-seperately-part1.patch b/package/gettext-gnu/0002-restore-the-ability-to-buld-gettext-tools-seperately-part1.patch new file mode 100644 index 0000000000..5334a36bb7 --- /dev/null +++ b/package/gettext-gnu/0002-restore-the-ability-to-buld-gettext-tools-seperately-part1.patch @@ -0,0 +1,142 @@ +From e4b3a3f56fa6fc2a51769e286545f0631bb4837c Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Sat, 18 May 2019 23:33:06 +0200 +Subject: [PATCH] build: Restore the ability to build gettext-tools separately, part 1. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Reported by Hanspeter Niederstrasser +in . + +Code based on patch by Miguel Ángel Arruga Vivas . + +* autogen.sh: Copy libtextstyle.m4 for use by gettext-tools. +* gettext-tools/configure.ac: New option --with-installed-libtextstyle. +(USE_INSTALLED_LIBTEXTSTYLE): New conditional. +* gettext-tools/src/Makefile.am (textstyle.h): Disable rule if +USE_INSTALLED_LIBTEXTSTYLE is true. +(LT_LIBTEXTSTYLE): New variable. +(libgettextsrc_la_LDFLAGS): Use it instead of hardcoding a relative filename of +libtextstyle.la. +* configure.ac: Filter out --with-installed-libtextstyle from inherited --help +output. +* Makefile.am (distcheck-hook): Compare different copies of libtextstyle.m4. +* PACKAGING: Document that gettext-tools's configure needs to be invoked with +--with-installed-libtextstyle. + +Upstream-status: committed. +https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commitdiff;h=e4b3a3f56fa6fc2a51769e286545f0631bb4837c + +Signed-off-by: Bruno Haible +[Backported to 0.20.1] +Signed-off-by: Adam Duskett +--- + PACKAGING | 2 +- + autogen.sh | 1 + + configure.ac | 2 +- + gettext-tools/configure.ac | 16 ++++++++++++++++ + gettext-tools/src/Makefile.am | 8 +++++++- + 5 files changed, 26 insertions(+), 3 deletions(-) + +diff --git a/PACKAGING b/PACKAGING +index a8ce979..52b80ac 100644 +--- a/PACKAGING ++++ b/PACKAGING +@@ -42,7 +42,7 @@ The 'libtextstyle' binary package can be installed by doing + The 'gettext-tools' binary package can be installed by doing + + cd gettext-tools +- ./configure ++ ./configure --with-installed-libtextstyle + make + make install + +diff --git a/autogen.sh b/autogen.sh +index 5c28b6f..2ccf373 100755 +--- a/autogen.sh ++++ b/autogen.sh +@@ -268,6 +268,7 @@ if ! $skip_gnulib; then + $GNULIB_TOOL --dir=gettext-tools --lib=libgettextlib --source-base=gnulib-lib --m4-base=gnulib-m4 --tests-base=gnulib-tests --makefile-name=Makefile.gnulib --libtool --with-tests --local-dir=gnulib-local --local-symlink \ + --import --avoid=array-list-tests --avoid=linkedhash-list-tests --avoid=hash-tests --avoid=fdutimensat-tests --avoid=futimens-tests --avoid=utime-tests --avoid=utimens-tests --avoid=utimensat-tests \ + `for m in $GNULIB_MODULES_TOOLS_LIBUNISTRING_TESTS; do echo --avoid=$m; done` $GNULIB_MODULES_TOOLS_FOR_SRC $GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES $GNULIB_MODULES_TOOLS_OTHER || exit $? ++ $GNULIB_TOOL --copy-file m4/libtextstyle.m4 gettext-tools/gnulib-m4/libtextstyle.m4 || exit $? + # In gettext-tools/libgrep: + GNULIB_MODULES_TOOLS_FOR_LIBGREP=' + mbrlen +diff --git a/configure.ac b/configure.ac +index 38db6fd..0c84bdd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -49,7 +49,7 @@ AC_CANONICAL_HOST + dnl Optional Features: AC_ARG_ENABLE calls + dnl Optional Packages: AC_ARG_WITH calls + dnl Some influential environment variables: AC_ARG_VAR calls +-esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; cd libtextstyle && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | sed -f build-aux/ac-help.sed ]) ++esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; cd libtextstyle && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; { cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | grep -v installed.libtextstyle; } | sed -f build-aux/ac-help.sed ]) + + AC_CONFIG_FILES([Makefile]) + +diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac +index cf1dd73..a6816b8 100644 +--- a/gettext-tools/configure.ac ++++ b/gettext-tools/configure.ac +@@ -121,6 +121,22 @@ AM_CONDITIONAL([PACKAGE_IS_GETTEXT_TOOLS], [true]) + AM_CONDITIONAL([PRELOADABLE_LIBINTL], + [test $USE_INCLUDED_LIBINTL = no && test $GLIBC2 = yes]) + ++dnl This option allows to build gettext-tools without (re)building libtextstyle. ++AC_ARG_WITH([installed-libtextstyle], ++ [AS_HELP_STRING([--with-installed-libtextstyle], ++ [Use an already installed libtextstyle.])], ++ [gt_use_installed_libtextstyle=$withval], ++ [gt_use_installed_libtextstyle=no]) ++if test "$gt_use_installed_libtextstyle" != no; then ++ gl_LIBTEXTSTYLE ++else ++ test -f ../libtextstyle/Makefile || { ++ AC_MSG_ERROR([When building the gettext-tools package without building the entire gettext package, you need to pass the --with-installed-libtextstyle option to configure.]) ++ } ++fi ++AM_CONDITIONAL([USE_INSTALLED_LIBTEXTSTYLE], ++ [test "$gt_use_installed_libtextstyle" != no]) ++ + dnl This line internationalizes the bison generated parsers. + BISON_I18N + +diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am +index b98b7ab..af3dcee 100644 +--- a/gettext-tools/src/Makefile.am ++++ b/gettext-tools/src/Makefile.am +@@ -250,6 +250,9 @@ cldr_plurals_SOURCES = cldr-plural.y cldr-plural-exp.c cldr-plurals.c + cldr_plurals_CFLAGS = $(AM_CFLAGS) $(INCXML) + cldr_plurals_LDADD = libgettextsrc.la $(LDADD) + ++if USE_INSTALLED_LIBTEXTSTYLE ++LT_LIBTEXTSTYLE = @LTLIBTEXTSTYLE@ ++else + # How to get the include files of libtextstyle. + textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h: + here=`pwd`; \ +@@ -257,6 +260,9 @@ textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h: + $(MAKE) install-nobase_includeHEADERS install-nobase_nodist_includeHEADERS includedir="$$here" + BUILT_SOURCES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h + MOSTLYCLEANFILES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h ++# Where to find the built libtextstyle library. ++LT_LIBTEXTSTYLE = ../../libtextstyle/lib/libtextstyle.la ++endif + + # How to build libgettextsrc.la. + # Need ../gnulib-lib/libgettextlib.la. +@@ -268,7 +274,7 @@ MOSTLYCLEANFILES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyl + # use iconv(). + libgettextsrc_la_LDFLAGS = \ + -release @VERSION@ \ +- ../gnulib-lib/libgettextlib.la $(LTLIBUNISTRING) ../../libtextstyle/lib/libtextstyle.la @LTLIBINTL@ @LTLIBICONV@ -lc -no-undefined ++ ../gnulib-lib/libgettextlib.la $(LTLIBUNISTRING) $(LT_LIBTEXTSTYLE) @LTLIBINTL@ @LTLIBICONV@ -lc -no-undefined + + # OS/2 does not support a DLL name longer than 8 characters. + if OS2 +-- +2.24.1 + diff --git a/package/gettext-gnu/Config.in b/package/gettext-gnu/Config.in new file mode 100644 index 0000000000..27e7a3da4c --- /dev/null +++ b/package/gettext-gnu/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_GETTEXT_GNU + bool + depends on BR2_USE_WCHAR + select BR2_PACKAGE_HAS_GETTEXT + help + The GNU `gettext' utilities are a set of tools that provide a + framework to help other GNU packages produce multi-lingual + messages. + + Only the libintl library will be installed in the + target. The full gettext suite, including tools, will be + installed in the staging directory. + + http://www.gnu.org/software/gettext/ + +if BR2_PACKAGE_GETTEXT_GNU + +config BR2_PACKAGE_PROVIDES_GETTEXT + default "gettext-gnu" + +endif + +config BR2_PACKAGE_PROVIDES_HOST_GETTEXT + default "host-gettext-gnu" if BR2_SYSTEM_ENABLE_NLS diff --git a/package/gettext-gnu/gettext-gnu.hash b/package/gettext-gnu/gettext-gnu.hash new file mode 100644 index 0000000000..4c17fb3e04 --- /dev/null +++ b/package/gettext-gnu/gettext-gnu.hash @@ -0,0 +1,7 @@ +# From https://lists.gnu.org/archive/html/info-gnu/2019-05/msg00011.html +sha1 62f4a6a2fd5f80bfd0e66c497a04094fa3e07b90 gettext-0.20.1.tar.xz + +# Locally calculated +sha256 53f02fbbec9e798b0faaf7c73272f83608e835c6288dd58be6c9bb54624a3800 gettext-0.20.1.tar.xz +sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING +sha256 3fe5361f24b7c49ba12911c08f5a33f9cb18871d95d9fb881f5b8a4793e04288 gettext-runtime/intl/COPYING.LIB diff --git a/package/gettext-gnu/gettext-gnu.mk b/package/gettext-gnu/gettext-gnu.mk new file mode 100644 index 0000000000..ee7e97baf7 --- /dev/null +++ b/package/gettext-gnu/gettext-gnu.mk @@ -0,0 +1,101 @@ +################################################################################ +# +# gettext-gnu +# +################################################################################ + +# Please keep in sync with package/libtextstyle/libtextstyle.mk +GETTEXT_GNU_VERSION = 0.20.1 +GETTEXT_GNU_SITE = $(BR2_GNU_MIRROR)/gettext +GETTEXT_GNU_SOURCE = gettext-$(GETTEXT_GNU_VERSION).tar.xz +GETTEXT_GNU_INSTALL_STAGING = YES +GETTEXT_GNU_LICENSE = LGPL-2.1+ (libintl), GPL-3.0+ (the rest) +GETTEXT_GNU_LICENSE_FILES = COPYING gettext-runtime/intl/COPYING.LIB +# 0002-restore-the-ability-to-buld-gettext-tools-seperately-part1.patch +GETTEXT_GNU_AUTORECONF = YES +GETTEXT_GNU_PROVIDES = gettext +GETTEXT_GNU_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) + +# Avoid using the bundled subset of libxml2 +HOST_GETTEXT_GNU_DEPENDENCIES = host-libxml2 host-libtextstyle + +GETTEXT_GNU_CONF_OPTS += \ + --disable-libasprintf \ + --disable-acl \ + --disable-openmp \ + --disable-rpath \ + --disable-java \ + --disable-native-java \ + --disable-csharp \ + --disable-relocatable \ + --without-emacs + +HOST_GETTEXT_GNU_CONF_OPTS = \ + --disable-libasprintf \ + --disable-acl \ + --disable-openmp \ + --disable-rpath \ + --disable-java \ + --disable-native-java \ + --disable-csharp \ + --disable-relocatable \ + --without-emacs \ + --with-installed-libtextstyle + +# Force the build of libintl, even if the C library provides a stub +# gettext implementation +ifeq ($(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y) +GETTEXT_GNU_CONF_OPTS += --with-included-gettext +else +GETTEXT_GNU_CONF_OPTS += --without-included-gettext +endif + +# For the target version, we only need the runtime, and for the host +# version, we only need the tools. +GETTEXT_GNU_SUBDIR = gettext-runtime +HOST_GETTEXT_GNU_SUBDIR = gettext-tools + +# Disable the build of documentation and examples of gettext-tools, +# and the build of documentation and tests of gettext-runtime. +define HOST_GETTEXT_GNU_DISABLE_UNNEEDED + $(SED) '/^SUBDIRS/s/ doc //;/^SUBDIRS/s/examples$$//' $(@D)/gettext-tools/Makefile.in + $(SED) '/^SUBDIRS/s/ doc //;/^SUBDIRS/s/tests$$//' $(@D)/gettext-runtime/Makefile.in +endef + +GETTEXT_GNU_POST_PATCH_HOOKS += HOST_GETTEXT_GNU_DISABLE_UNNEEDED +HOST_GETTEXT_GNU_POST_PATCH_HOOKS += HOST_GETTEXT_GNU_DISABLE_UNNEEDED + +define GETTEXT_GNU_REMOVE_UNNEEDED + $(RM) -rf $(TARGET_DIR)/usr/share/gettext/ABOUT-NLS + rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share/gettext +endef + +GETTEXT_GNU_POST_INSTALL_TARGET_HOOKS += GETTEXT_GNU_REMOVE_UNNEEDED + +# Force build with NLS support, otherwise libintl is not built +# This is needed because some packages (eg. libglib2) requires +# locales, but do not properly depend on BR2_ENABLE_LOCALE, and +# instead select BR2_PACKAGE_GETTEXT_GNU. Those packages need to be +# fixed before we can remove the following 3 lines... :-( +ifeq ($(BR2_ENABLE_LOCALE),) +GETTEXT_GNU_CONF_OPTS += --enable-nls +endif + +# Disable interactive confirmation in host gettextize for package fixups +define HOST_GETTEXT_GNU_GETTEXTIZE_CONFIRMATION + $(SED) '/read dummy/d' $(HOST_DIR)/bin/gettextize +endef +HOST_GETTEXT_GNU_POST_INSTALL_HOOKS += HOST_GETTEXT_GNU_GETTEXTIZE_CONFIRMATION + +# autoreconf expects gettextize to install ABOUT-NLS, but it only gets +# installed by gettext-runtime which we don't build/install for the +# host, so do it manually +define HOST_GETTEXT_GNU_ADD_ABOUT_NLS + $(INSTALL) -m 0644 $(@D)/$(HOST_GETTEXT_GNU_SUBDIR)/ABOUT-NLS \ + $(HOST_DIR)/share/gettext/ABOUT-NLS +endef + +HOST_GETTEXT_GNU_POST_INSTALL_HOOKS += HOST_GETTEXT_GNU_ADD_ABOUT_NLS + +$(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/gettext-tiny/Config.in b/package/gettext-tiny/Config.in new file mode 100644 index 0000000000..6f91a00b09 --- /dev/null +++ b/package/gettext-tiny/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_GETTEXT_TINY + bool + select BR2_PACKAGE_HAS_GETTEXT + help + Stub and/or lightweight replacements of the gnu gettext + suite; because the GNU one takes ages to compile. + + https://github.com/sabotage-linux/gettext-tiny + +if BR2_PACKAGE_GETTEXT_TINY + +config BR2_PACKAGE_PROVIDES_GETTEXT + default "gettext-tiny" + +endif + +config BR2_PACKAGE_PROVIDES_HOST_GETTEXT + default "host-gettext-tiny" if !BR2_SYSTEM_ENABLE_NLS diff --git a/package/gettext-tiny/gettext-tiny.hash b/package/gettext-tiny/gettext-tiny.hash new file mode 100644 index 0000000000..201b05c6ff --- /dev/null +++ b/package/gettext-tiny/gettext-tiny.hash @@ -0,0 +1,6 @@ +# Locally Computed: +sha256 efc740007c82a9b3a0d382fb50d212fa7dc0beddb9695409ee79684f9f2124b2 gettext-tiny-adaa9c64921e80f2b8dd3610ffb508618b9204f3.tar.gz +sha256 b57aa4fdc1c614c28d41c1e2d5c4090935964c5f86291ba7d1c99ffd1d698b34 LICENSE +sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b extra/COPYING +# From https://lists.gnu.org/archive/html/info-gnu/2019-05/msg00011.html +sha1 62f4a6a2fd5f80bfd0e66c497a04094fa3e07b90 gettext-0.20.1.tar.xz diff --git a/package/gettext-tiny/gettext-tiny.mk b/package/gettext-tiny/gettext-tiny.mk new file mode 100644 index 0000000000..87813ae5af --- /dev/null +++ b/package/gettext-tiny/gettext-tiny.mk @@ -0,0 +1,107 @@ +################################################################################ +# +# gettext-tiny +# +################################################################################ + +GETTEXT_TINY_VERSION = adaa9c64921e80f2b8dd3610ffb508618b9204f3 +GETTEXT_TINY_SITE = $(call github,sabotage-linux,gettext-tiny,$(GETTEXT_TINY_VERSION)) +GETTEXT_TINY_LICENSE = MIT, GPL-3.0+ (extra gettext) +GETTEXT_TINY_INSTALL_STAGING = YES +GETTEXT_TINY_LICENSE_FILES = LICENSE +HOST_GETTEXT_TINY_LICENSE_FILES = LICENSE extra/COPYING + +GETTEXT_TINY_PROVIDES = gettext + +# needed for gettextize +GETTEXT_TINY_ARCHIVE_VERSION = 0.20.1 + +GETTEXT_TINY_EXTRA_GETTEXT_FILES = \ + gettext-tools/misc/gettextize.in \ + gettext-tools/po/Makevars.template \ + gettext-runtime/po/boldquot.sed \ + gettext-runtime/po/en@boldquot.header \ + gettext-runtime/po/en@quot.header \ + gettext-runtime/po/insert-header.sin \ + gettext-runtime/po/quot.sed \ + gettext-runtime/po/remove-potcdate.sin \ + gettext-runtime/po/Rules-quot \ + gettext-runtime/po/Makefile.in.in \ + COPYING + +HOST_GETTEXT_TINY_EXTRA_DOWNLOADS = $(GETTEXT_GNU_SITE)/$(GETTEXT_GNU_SOURCE) + +define HOST_GETTEXT_TINY_EXTRACT_GNU_GETTEXT + mkdir -p $(@D)/gettext-gnu + $(call suitable-extractor,$(GETTEXT_GNU_SOURCE)) \ + $(GETTEXT_TINY_DL_DIR)/$(GETTEXT_GNU_SOURCE) | \ + $(TAR) --strip-components=1 -C $(@D)/gettext-gnu $(TAR_OPTIONS) - +endef +HOST_GETTEXT_TINY_POST_EXTRACT_HOOKS += HOST_GETTEXT_TINY_EXTRACT_GNU_GETTEXT + +define HOST_GETTEXT_TINY_COPY_EXTRA_FILES + $(foreach f,$(GETTEXT_TINY_EXTRA_GETTEXT_FILES),\ + $(INSTALL) -D -m 0644 $(@D)/gettext-gnu/$(f) $(@D)/extra/$(notdir $(f)) + ) + $(INSTALL) -D -m 0755 $(@D)/gettext-gnu/build-aux/config.rpath \ + $(@D)/build-aux/config.rpath +endef +HOST_GETTEXT_TINY_POST_PATCH_HOOKS += HOST_GETTEXT_TINY_COPY_EXTRA_FILES + +define HOST_GETTEXT_TINY_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) \ + $(HOST_CONFIGURE_OPTS) \ + prefix=$(HOST_DIR) \ + CFLAGS="$(HOST_CFLAGS) -fPIC" \ + LIBINTL=NONE + + cp $(@D)/extra/gettextize.in $(@D)/gettextize + + $(SED) 's,@PACKAGE@,gettext-tools,g;' $(@D)/gettextize + $(SED) 's,@VERSION@,$(GETTEXT_GNU_VERSION),g;' $(@D)/gettextize + $(SED) 's,@ARCHIVE_VERSION@,$(GETTEXT_TINY_ARCHIVE_VERSION),' $(@D)/gettextize + $(SED) 's,@prefix@,$(HOST_DIR),g;' $(@D)/gettextize + $(SED) 's,@datarootdir@,$${prefix}/share,g;' $(@D)/gettextize + $(SED) 's,@datadir@,$${prefix}/share,g;' $(@D)/gettextize + $(SED) 's,@PATH_SEPARATOR@,:,g;' $(@D)/gettextize + $(SED) 's,@RELOCATABLE@,no,g;' $(@D)/gettextize + $(SED) 's,@exec_prefix@,$${prefix},g;' $(@D)/gettextize + $(SED) 's,@bindir@,$${exec_prefix}/bin,g;' $(@D)/gettextize +endef + +define HOST_GETTEXT_TINY_INSTALL_CMDS + $(Q)mkdir -p $(HOST_DIR)/share/gettext-tiny/po + $(Q)mkdir -p $(HOST_DIR)/share/gettext-tiny/m4 + + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) \ + $(HOST_CONFIGURE_OPTS) \ + prefix=$(HOST_DIR) \ + LIBINTL=NONE install + + $(SED) '/read dummy/d' $(@D)/gettextize + + $(INSTALL) -m 0755 -D $(@D)/gettextize $(HOST_DIR)/bin/gettextize + $(INSTALL) -m 0644 -D $(@D)/build-aux/config.rpath $(HOST_DIR)/share/gettext-tiny/config.rpath + $(INSTALL) -m 0644 -D $(@D)/extra/Makefile.in.in $(HOST_DIR)/share/gettext-tiny/po/Makefile.in.in + $(INSTALL) -m 0644 -D $(@D)/extra/boldquot.sed $(HOST_DIR)/share/gettext-tiny/po/boldquot.sed + $(INSTALL) -m 0644 -D $(@D)/extra/en@boldquot.header $(HOST_DIR)/share/gettext-tiny/po/en@boldquot.header + $(INSTALL) -m 0644 -D $(@D)/extra/en@quot.header $(HOST_DIR)/share/gettext-tiny/po/en@quot.header + $(INSTALL) -m 0644 -D $(@D)/extra/insert-header.sin $(HOST_DIR)/share/gettext-tiny/po/insert-header.sin + $(INSTALL) -m 0644 -D $(@D)/extra/quot.sed $(HOST_DIR)/share/gettext-tiny/po/quot.sed + $(INSTALL) -m 0644 -D $(@D)/extra/remove-potcdate.sin $(HOST_DIR)/share/gettext-tiny/po/remove-potcdate.sin + $(INSTALL) -m 0644 -D $(@D)/extra/Rules-quot $(HOST_DIR)/share/gettext-tiny/po/Rules-quot + $(INSTALL) -m 0644 -D $(@D)/extra/Makevars.template $(HOST_DIR)/share/gettext-tiny/po/Makevars.template + + $(Q)touch $(HOST_DIR)/share/gettext-tiny/ABOUT-NLS + + # for gettextize + ln -sf $(HOST_DIR)/usr/share/gettext-tiny $(HOST_DIR)/usr/share/gettext +endef + +# Install simple echo wrapper for gettext tool +define GETTEXT_TINY_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 -D $(GETTEXT_TINY_PKGDIR)/gettext-wrapper $(TARGET_DIR)/usr/bin/gettext +endef + +$(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/gettext-tiny/gettext-wrapper b/package/gettext-tiny/gettext-wrapper new file mode 100644 index 0000000000..11424824c3 --- /dev/null +++ b/package/gettext-tiny/gettext-wrapper @@ -0,0 +1,24 @@ +#!/bin/sh +# +# Thanks to "Yann E. MORIN" +# for this gettext replacement. + +while [ ${#} -ne 0 ]; do + case "${1}" in + (-h) printf "no help\n"; return 0;; + (-V) printf "0.0.0\n"; return 0;; + (-d|--domain) shift 2;; + (-d*|--domain=*) shift 1;; + (-e|-E|-n) shift 1;; + (-s) shift 1;; # Ignore? + (-*) printf "invalid option '%s'\n" "${1}" >&2; return 1;; + (*) break;; + esac +done + +case ${#} in + (0) printf "missing arguments\n" >&2; return 1;; + (1) printf "%s" "${1}";; + (2) printf "%s" "${2}";; + (*) printf "too many arguments\n" >&2; return 1;; +esac diff --git a/package/gettext/0001-error_print_progname.patch b/package/gettext/0001-error_print_progname.patch deleted file mode 100644 index 189d28b576..0000000000 --- a/package/gettext/0001-error_print_progname.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- gettext-0.16.1.oorig/gettext-tools/gnulib-lib/error.h 2006-11-27 18:14:50.000000000 +0100 -+++ gettext-0.16.1/gettext-tools/gnulib-lib/error.h 2007-06-20 13:29:32.000000000 +0200 -@@ -50,7 +50,10 @@ extern void error_at_line (int __status, - /* If NULL, error will flush stdout, then print on stderr the program - name, a colon and a space. Otherwise, error will call this - function without parameters instead. */ --extern DLL_VARIABLE void (*error_print_progname) (void); -+#ifndef __UCLIBC__ -+extern DLL_VARIABLE -+#endif -+void (*error_print_progname) (void); - - /* This variable is incremented each time `error' is called. */ - extern DLL_VARIABLE unsigned int error_message_count; diff --git a/package/gettext/0002-Update-after-gnulib-changed.patch b/package/gettext/0002-Update-after-gnulib-changed.patch deleted file mode 100644 index 5f5e5f6c25..0000000000 --- a/package/gettext/0002-Update-after-gnulib-changed.patch +++ /dev/null @@ -1,86 +0,0 @@ -From a6f9caf8cc7614665d1be694485dd7bc30399e0f Mon Sep 17 00:00:00 2001 -From: Bruno Haible -Date: Tue, 16 May 2017 00:27:57 +0200 -Subject: [PATCH] Update after gnulib changed. - -For buildroot we only need to update wint_t.m4 to fix autoreconf with -certain packages which already contain the updated version of this file. -Otherwise autoreconf will break: - -http://git.net/ml/bug-gnulib-gnu/2017-01/msg00067.html -https://git.busybox.net/buildroot/commit/package/wget?id=c36f0d65ad63589f1b21833ef53d429c018b6f8a - -Patch backported from upstream commit: -http://git.savannah.gnu.org/cgit/gettext.git/commit/?id=a6f9caf8cc7614665d1be694485dd7bc30399e0f - -Needed for coreutils bump to 8.27 - -Signed-off-by: Bernd Kuhls - -diff --git a/gettext-runtime/m4/wint_t.m4 b/gettext-runtime/m4/wint_t.m4 -index 8ff2a5b5a..d30b8bcf8 100644 ---- a/gettext-runtime/m4/wint_t.m4 -+++ b/gettext-runtime/m4/wint_t.m4 -@@ -1,11 +1,12 @@ --# wint_t.m4 serial 5 (gettext-0.18.2) --dnl Copyright (C) 2003, 2007-2016 Free Software Foundation, Inc. -+# wint_t.m4 serial 7 -+dnl Copyright (C) 2003, 2007-2017 Free Software Foundation, Inc. - dnl This file is free software; the Free Software Foundation - dnl gives unlimited permission to copy and/or distribute it, - dnl with or without modifications, as long as this notice is preserved. - - dnl From Bruno Haible. --dnl Test whether has the 'wint_t' type. -+dnl Test whether has the 'wint_t' type and whether gnulib's -+dnl or would, if present, override 'wint_t'. - dnl Prerequisite: AC_PROG_CC - - AC_DEFUN([gt_TYPE_WINT_T], -@@ -28,5 +29,46 @@ AC_DEFUN([gt_TYPE_WINT_T], - [gt_cv_c_wint_t=no])]) - if test $gt_cv_c_wint_t = yes; then - AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) -+ -+ dnl Determine whether gnulib's or would, if present, -+ dnl override 'wint_t'. -+ AC_CACHE_CHECK([whether wint_t is too small], -+ [gl_cv_type_wint_t_too_small], -+ [AC_COMPILE_IFELSE( -+ [AC_LANG_PROGRAM([[ -+/* Tru64 with Desktop Toolkit C has a bug: must be included before -+ . -+ BSD/OS 4.0.1 has a bug: , and must be -+ included before . */ -+#if !(defined __GLIBC__ && !defined __UCLIBC__) -+# include -+# include -+# include -+#endif -+#include -+ int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1]; -+ ]])], -+ [gl_cv_type_wint_t_too_small=no], -+ [gl_cv_type_wint_t_too_small=yes])]) -+ if test $gl_cv_type_wint_t_too_small = yes; then -+ GNULIB_OVERRIDES_WINT_T=1 -+ else -+ GNULIB_OVERRIDES_WINT_T=0 -+ fi -+ else -+ GNULIB_OVERRIDES_WINT_T=0 -+ fi -+ AC_SUBST([GNULIB_OVERRIDES_WINT_T]) -+]) -+ -+dnl Prerequisites of the 'wint_t' override. -+AC_DEFUN([gl_TYPE_WINT_T_PREREQ], -+[ -+ AC_CHECK_HEADERS_ONCE([crtdefs.h]) -+ if test $ac_cv_header_crtdefs_h = yes; then -+ HAVE_CRTDEFS_H=1 -+ else -+ HAVE_CRTDEFS_H=0 - fi -+ AC_SUBST([HAVE_CRTDEFS_H]) - ]) diff --git a/package/gettext/Config.in b/package/gettext/Config.in index e55663b1d7..6d83388ce7 100644 --- a/package/gettext/Config.in +++ b/package/gettext/Config.in @@ -1,25 +1,18 @@ config BR2_PACKAGE_GETTEXT bool "gettext" - depends on BR2_USE_WCHAR - help - The GNU `gettext' utilities are a set of tools that provide a - framework to help other GNU packages produce multi-lingual - messages. - - Only the libintl library will be installed in the - target. The full gettext suite, including tools, will be - installed in the staging directory. - - http://www.gnu.org/software/gettext/ - -if BR2_PACKAGE_GETTEXT + select BR2_PACKAGE_GETTEXT_GNU if BR2_SYSTEM_ENABLE_NLS + select BR2_PACKAGE_GETTEXT_TINY if !BR2_SYSTEM_ENABLE_NLS config BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL bool default y if BR2_SYSTEM_ENABLE_NLS depends on !BR2_TOOLCHAIN_HAS_FULL_GETTEXT -endif +config BR2_PACKAGE_HAS_GETTEXT + bool -comment "gettext needs a toolchain w/ wchar" - depends on !BR2_USE_WCHAR +config BR2_PACKAGE_PROVIDES_GETTEXT + string + +config BR2_PACKAGE_PROVIDES_HOST_GETTEXT + string diff --git a/package/gettext/gettext.hash b/package/gettext/gettext.hash deleted file mode 100644 index a2ab298760..0000000000 --- a/package/gettext/gettext.hash +++ /dev/null @@ -1,5 +0,0 @@ -# From http://lists.gnu.org/archive/html/bug-gettext/2016-06/msg00008.html -md5 df3f5690eaa30fd228537b00cb7b7590 gettext-0.19.8.1.tar.xz -sha1 e0fe90ede22f7f16bbde7bdea791a835f2773fc9 gettext-0.19.8.1.tar.xz -# License files, locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk index ec9588f8ad..146d40e13b 100644 --- a/package/gettext/gettext.mk +++ b/package/gettext/gettext.mk @@ -4,97 +4,7 @@ # ################################################################################ -GETTEXT_VERSION = 0.19.8.1 -GETTEXT_SITE = $(BR2_GNU_MIRROR)/gettext -GETTEXT_SOURCE = gettext-$(GETTEXT_VERSION).tar.xz -GETTEXT_INSTALL_STAGING = YES -GETTEXT_LICENSE = LGPL-2.1+ (libintl), GPL-3.0+ (the rest) -GETTEXT_LICENSE_FILES = COPYING gettext-runtime/intl/COPYING.LIB -# 0002-Update-after-gnulib-changed.patch -GETTEXT_AUTORECONF = YES -GETTEXT_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) - -# Avoid using the bundled subset of libxml2 -HOST_GETTEXT_DEPENDENCIES = host-libxml2 - -GETTEXT_CONF_OPTS += \ - --disable-libasprintf \ - --disable-acl \ - --disable-openmp \ - --disable-rpath \ - --disable-java \ - --disable-native-java \ - --disable-csharp \ - --disable-relocatable \ - --without-emacs - -HOST_GETTEXT_CONF_OPTS = \ - --disable-libasprintf \ - --disable-acl \ - --disable-openmp \ - --disable-rpath \ - --disable-java \ - --disable-native-java \ - --disable-csharp \ - --disable-relocatable \ - --without-emacs - -# Force the build of libintl, even if the C library provides a stub -# gettext implementation -ifeq ($(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y) -GETTEXT_CONF_OPTS += --with-included-gettext -else -GETTEXT_CONF_OPTS += --without-included-gettext -endif - -# For the target version, we only need the runtime, and for the host -# version, we only need the tools. -GETTEXT_SUBDIR = gettext-runtime -HOST_GETTEXT_SUBDIR = gettext-tools - -# Disable the build of documentation and examples of gettext-tools, -# and the build of documentation and tests of gettext-runtime. -define HOST_GETTEXT_DISABLE_UNNEEDED - $(SED) '/^SUBDIRS/s/ doc //;/^SUBDIRS/s/examples$$//' $(@D)/gettext-tools/Makefile.in - $(SED) '/^SUBDIRS/s/ doc //;/^SUBDIRS/s/tests$$//' $(@D)/gettext-runtime/Makefile.in -endef - -GETTEXT_POST_PATCH_HOOKS += HOST_GETTEXT_DISABLE_UNNEEDED -HOST_GETTEXT_POST_PATCH_HOOKS += HOST_GETTEXT_DISABLE_UNNEEDED - -define GETTEXT_REMOVE_UNNEEDED - $(RM) -rf $(TARGET_DIR)/usr/share/gettext/ABOUT-NLS - rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share/gettext -endef - -GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_UNNEEDED - -# Force build with NLS support, otherwise libintl is not built -# This is needed because some packages (eg. libglib2) requires -# locales, but do not properly depend on BR2_ENABLE_LOCALE, and -# instead select BR2_PACKAGE_GETTEXT. Those packages need to be -# fixed before we can remove the following 3 lines... :-( -ifeq ($(BR2_ENABLE_LOCALE),) -GETTEXT_CONF_OPTS += --enable-nls -endif - -# Disable interactive confirmation in host gettextize for package fixups -define HOST_GETTEXT_GETTEXTIZE_CONFIRMATION - $(SED) '/read dummy/d' $(HOST_DIR)/bin/gettextize -endef -HOST_GETTEXT_POST_INSTALL_HOOKS += HOST_GETTEXT_GETTEXTIZE_CONFIRMATION - -# autoreconf expects gettextize to install ABOUT-NLS, but it only gets -# installed by gettext-runtime which we don't build/install for the -# host, so do it manually -define HOST_GETTEXT_ADD_ABOUT_NLS - $(INSTALL) -m 0644 $(@D)/$(HOST_GETTEXT_SUBDIR)/ABOUT-NLS \ - $(HOST_DIR)/share/gettext/ABOUT-NLS -endef - -HOST_GETTEXT_POST_INSTALL_HOOKS += HOST_GETTEXT_ADD_ABOUT_NLS - GETTEXTIZE = $(HOST_CONFIGURE_OPTS) AUTOM4TE=$(HOST_DIR)/bin/autom4te $(HOST_DIR)/bin/gettextize -f -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) +$(eval $(virtual-package)) +$(eval $(host-virtual-package)) diff --git a/package/gflags/gflags.hash b/package/gflags/gflags.hash index 3cae2b03bb..1f7fe60332 100644 --- a/package/gflags/gflags.hash +++ b/package/gflags/gflags.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 466c36c6508a451734e4f4d76825cf9cd9b8716d2b70ef36479ae40f08271f88 gflags-v2.2.0.tar.gz +sha256 34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf gflags-2.2.2.tar.gz # Hash for license file: sha256 90d1f3701813c3cd65eee2dc736746fe46b465918f3f7d6d31463a2018b33fa5 COPYING.txt diff --git a/package/gflags/gflags.mk b/package/gflags/gflags.mk index 45186a33c6..f32869f70d 100644 --- a/package/gflags/gflags.mk +++ b/package/gflags/gflags.mk @@ -4,14 +4,18 @@ # ################################################################################ -GFLAGS_VERSION = v2.2.0 -GFLAGS_SITE = $(call github,gflags,gflags,$(GFLAGS_VERSION)) +GFLAGS_VERSION = 2.2.2 +GFLAGS_SITE = $(call github,gflags,gflags,v$(GFLAGS_VERSION)) GFLAGS_INSTALL_STAGING = YES GFLAGS_LICENSE = BSD-3-Clause GFLAGS_LICENSE_FILES = COPYING.txt +# Force Release otherwise libraries will be suffixed by _debug which will raise +# unexpected build failures with packages that use gflags (e.g. rocksdb) +GFLAGS_CONF_OPTS = -DCMAKE_BUILD_TYPE=Release + ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) -GFLAGS_CONF_OPTS = -DBUILD_gflags_LIB=OFF \ +GFLAGS_CONF_OPTS += -DBUILD_gflags_LIB=OFF \ -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -DNO_THREADS" endif diff --git a/package/ghostscript-fonts/ghostscript-fonts.hash b/package/ghostscript-fonts/ghostscript-fonts.hash index e9c7fdf999..d6df0e745a 100644 --- a/package/ghostscript-fonts/ghostscript-fonts.hash +++ b/package/ghostscript-fonts/ghostscript-fonts.hash @@ -1,2 +1,5 @@ # From http://sourceforge.net/projects/gs-fonts/files/gs-fonts/8.11%20%28base%2035%2C%20GPL%29/ sha1 2a7198e8178b2e7dba87cb5794da515200b568f5 ghostscript-fonts-std-8.11.tar.gz +# Locally computed +sha256 0eb6f356119f2e49b2563210852e17f57f9dcc5755f350a69a46a0d641a0c401 ghostscript-fonts-std-8.11.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING 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 deleted file mode 100644 index 49bcfcdd3b..0000000000 --- a/package/ghostscript/0002-Bug-700986-Remove-the-crazy-md5-file-copying-nonsense.patch +++ /dev/null @@ -1,252 +0,0 @@ -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 383a414da4..51b3a2a094 100644 --- a/package/ghostscript/ghostscript.hash +++ b/package/ghostscript/ghostscript.hash @@ -1,5 +1,5 @@ -# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs927/SHA512SUMS -sha512 5e67ad45a80f01c6ef0eabb1c76dfa8fb6e7f0fde8d82fd5daaf12f370c288a672f8fa69c74d9e30255582267e9a906e4e8b13655f8d993fefdfc8dbdb5d5401 ghostscript-9.27.tar.xz +# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs950/SHA512SUMS +sha512 3c1e5db519a427f4b6bfb8d93f3c3dfb67d5ec9ccd19c7afa7670deb768515f3fc617c5588e54934bbfbedfdf8609ce2ffa36dd7da3cb618937fe034f64f43ee ghostscript-9.50.tar.xz # Hash for license file: sha256 6f852249f975287b3efd43a5883875e47fa9f3125e2f1b18b5c09517ac30ecf2 LICENSE diff --git a/package/ghostscript/ghostscript.mk b/package/ghostscript/ghostscript.mk index fefac2aee3..7d12195f17 100644 --- a/package/ghostscript/ghostscript.mk +++ b/package/ghostscript/ghostscript.mk @@ -4,7 +4,7 @@ # ################################################################################ -GHOSTSCRIPT_VERSION = 9.27 +GHOSTSCRIPT_VERSION = 9.50 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 @@ -27,8 +27,9 @@ GHOSTSCRIPT_DEPENDENCIES = \ # Inspired by linuxfromscratch: # http://www.linuxfromscratch.org/blfs/view/svn/pst/gs.html define GHOSTSCRIPT_REMOVE_LIBS - rm -rf $(@D)/freetype $(@D)/ijs $(@D)/jpeg $(@D)/lcms2mt \ - $(@D)/libpng $(@D)/tiff $(@D)/zlib + rm -rf $(@D)/freetype $(@D)/ijs $(@D)/jbig2dec $(@D)/jpeg \ + $(@D)/lcms2mt $(@D)/libpng $(@D)/openjpeg $(@D)/tiff \ + $(@D)/zlib endef GHOSTSCRIPT_POST_PATCH_HOOKS += GHOSTSCRIPT_REMOVE_LIBS @@ -38,15 +39,20 @@ GHOSTSCRIPT_CONF_ENV = \ GHOSTSCRIPT_CONF_OPTS = \ --disable-compile-inits \ - --disable-cups \ --enable-fontconfig \ --with-fontpath=/usr/share/fonts \ --enable-freetype \ --disable-gtk \ - --without-jbig2dec \ --without-libpaper \ --with-system-libtiff +ifeq ($(BR2_PACKAGE_JBIG2DEC),y) +GHOSTSCRIPT_DEPENDENCIES += jbig2dec +GHOSTSCRIPT_CONF_OPTS += --with-jbig2dec +else +GHOSTSCRIPT_CONF_OPTS += --without-jbig2dec +endif + ifeq ($(BR2_PACKAGE_LIBIDN),y) GHOSTSCRIPT_DEPENDENCIES += libidn GHOSTSCRIPT_CONF_OPTS += --with-libidn @@ -54,6 +60,22 @@ else GHOSTSCRIPT_CONF_OPTS += --without-libidn endif +ifeq ($(BR2_PACKAGE_OPENJPEG),y) +GHOSTSCRIPT_DEPENDENCIES += openjpeg +GHOSTSCRIPT_CONF_OPTS += --enable-openjpeg +else +GHOSTSCRIPT_CONF_OPTS += --disable-openjpeg +endif + +ifeq ($(BR2_PACKAGE_CUPS),y) +GHOSTSCRIPT_DEPENDENCIES += cups +GHOSTSCRIPT_CONF_OPTS += \ + CUPSCONFIG=$(STAGING_DIR)/usr/bin/cups-config \ + --enable-cups +else +GHOSTSCRIPT_CONF_OPTS += --disable-cups +endif + ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) GHOSTSCRIPT_DEPENDENCIES += xlib_libX11 GHOSTSCRIPT_CONF_OPTS += --with-x diff --git a/package/giblib/giblib.hash b/package/giblib/giblib.hash index 942aee705b..0c83a55457 100644 --- a/package/giblib/giblib.hash +++ b/package/giblib/giblib.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 176611c4d88d742ea4013991ad54c2f9d2feefbc97a28434c0f48922ebaa8bac giblib-1.2.4.tar.gz +sha256 176611c4d88d742ea4013991ad54c2f9d2feefbc97a28434c0f48922ebaa8bac giblib-1.2.4.tar.gz +sha256 8601e2dacede853fe325f7fd3a11f93b1753d576db60426f1b0ff4e68f41ff07 COPYING diff --git a/package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch b/package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch new file mode 100644 index 0000000000..384457d0bd --- /dev/null +++ b/package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch @@ -0,0 +1,69 @@ +From 487407d722714f13e8a06d1a9d89f48a5738191e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 12 Jul 2019 12:20:38 +0200 +Subject: [PATCH] Makefile: add targets to manage static building + +Add static-lib, shared-lib, install-static-lib and install-shared-lib +targets to allow the user to build giflib when dynamic library support +is not available or enable on the toolchain + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://sourceforge.net/p/giflib/code/merge-requests/7] +--- + Makefile | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index b2bf6de..111f52f 100644 +--- a/Makefile ++++ b/Makefile +@@ -61,10 +61,17 @@ UTILS = $(INSTALLABLE) \ + + LDLIBS=libgif.a -lm + +-all: libgif.so libgif.a libutil.so libutil.a $(UTILS) ++SHARED_LIBS = libgif.so libutil.so ++STATIC_LIBS = libgif.a libutil.a ++ ++all: shared-lib static-lib $(UTILS) + $(MAKE) -C doc + +-$(UTILS):: libgif.a libutil.a ++$(UTILS):: $(STATIC_LIBS) ++ ++shared-lib: $(SHARED_LIBS) ++ ++static-lib: $(STATIC_LIBS) + + libgif.so: $(OBJECTS) $(HEADERS) + $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS) +@@ -79,7 +86,7 @@ libutil.a: $(UOBJECTS) $(UHEADERS) + $(AR) rcs libutil.a $(UOBJECTS) + + clean: +- rm -f $(UTILS) $(TARGET) libgetarg.a libgif.a libgif.so libutil.a libutil.so *.o ++ rm -f $(UTILS) $(TARGET) libgetarg.a $(SHARED_LIBS) $(STATIC_LIBS) *.o + rm -f libgif.so.$(LIBMAJOR).$(LIBMINOR).$(LIBPOINT) + rm -f libgif.so.$(LIBMAJOR) + rm -fr doc/*.1 *.html doc/staging +@@ -96,12 +103,15 @@ install-bin: $(INSTALLABLE) + install-include: + $(INSTALL) -d "$(DESTDIR)$(INCDIR)" + $(INSTALL) -m 644 gif_lib.h "$(DESTDIR)$(INCDIR)" +-install-lib: ++install-static-lib: + $(INSTALL) -d "$(DESTDIR)$(LIBDIR)" + $(INSTALL) -m 644 libgif.a "$(DESTDIR)$(LIBDIR)/libgif.a" ++install-shared-lib: ++ $(INSTALL) -d "$(DESTDIR)$(LIBDIR)" + $(INSTALL) -m 755 libgif.so "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBVER)" + ln -sf libgif.so.$(LIBVER) "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBMAJOR)" + ln -sf libgif.so.$(LIBMAJOR) "$(DESTDIR)$(LIBDIR)/libgif.so" ++install-lib: install-static-lib install-shared-lib + install-man: + $(INSTALL) -d "$(DESTDIR)$(MANDIR)/man1" + $(INSTALL) -m 644 doc/*.1 "$(DESTDIR)$(MANDIR)/man1" +-- +2.20.1 + diff --git a/package/giflib/giflib.hash b/package/giflib/giflib.hash index cdd7bbdecd..f7db1626df 100644 --- a/package/giflib/giflib.hash +++ b/package/giflib/giflib.hash @@ -1,3 +1,5 @@ # From http://sourceforge.net/projects/giflib/files -md5 2c171ced93c0e83bb09e6ccad8e3ba2b giflib-5.1.4.tar.bz2 -sha1 5f1157cfc377916280849e247b8e34fa0446513f giflib-5.1.4.tar.bz2 +md5 6f03aee4ebe54ac2cc1ab3e4b0a049e5 giflib-5.2.1.tar.gz +sha1 c3f774dcbdf26afded7788979c8081d33c6426dc giflib-5.2.1.tar.gz +# Locally computed +sha256 0c9b7990ecdca88b676db232c226548ac408b279f550d424d996f0d83591dd8e COPYING diff --git a/package/giflib/giflib.mk b/package/giflib/giflib.mk index 29666eebea..3dd17972e0 100644 --- a/package/giflib/giflib.mk +++ b/package/giflib/giflib.mk @@ -4,27 +4,45 @@ # ################################################################################ -GIFLIB_VERSION = 5.1.4 -GIFLIB_SOURCE = giflib-$(GIFLIB_VERSION).tar.bz2 +GIFLIB_VERSION = 5.2.1 GIFLIB_SITE = http://downloads.sourceforge.net/project/giflib GIFLIB_INSTALL_STAGING = YES GIFLIB_LICENSE = MIT GIFLIB_LICENSE_FILES = COPYING -GIFLIB_BINS = \ - gif2epsn gif2ps gif2rgb gif2x11 gifasm gifbg gifbuild gifburst gifclip \ - gifclrmp gifcolor gifcomb gifcompose gifecho giffiltr giffix gifflip \ - gifhisto gifinfo gifinter gifinto gifovly gifpos gifrotat \ - gifrsize gifspnge giftext giftool gifwedge icon2gif raw2gif rgb2gif \ - text2gif +ifeq ($(BR2_STATIC_LIBS),y) +GIFLIB_BUILD_LIBS = static-lib +GIFLIB_INSTALL_LIBS = install-static-lib +else ifeq ($(BR2_SHARED_LIBS),y) +GIFLIB_BUILD_LIBS = shared-lib +GIFLIB_INSTALL_LIBS = install-shared-lib +else +GIFLIB_BUILD_LIBS = static-lib shared-lib +GIFLIB_INSTALL_LIBS = install-lib +endif -GIFLIB_CONF_ENV = ac_cv_prog_have_xmlto=no - -define GIFLIB_BINS_CLEANUP - rm -f $(addprefix $(TARGET_DIR)/usr/bin/,$(GIFLIB_BINS)) +define GIFLIB_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(GIFLIB_BUILD_LIBS) endef -GIFLIB_POST_INSTALL_TARGET_HOOKS += GIFLIB_BINS_CLEANUP +define HOST_GIFLIB_BUILD_CMDS + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) +endef -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) +define GIFLIB_INSTALL_STAGING_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) \ + PREFIX=/usr install-include $(GIFLIB_INSTALL_LIBS) +endef + +define GIFLIB_INSTALL_TARGET_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) \ + PREFIX=/usr install-include $(GIFLIB_INSTALL_LIBS) +endef + +define HOST_GIFLIB_INSTALL_CMDS + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(HOST_DIR) \ + PREFIX=/usr install +endef + +$(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/git/0001-configure.ac-Properly-check-for-libintl.patch b/package/git/0001-configure.ac-Properly-check-for-libintl.patch deleted file mode 100644 index 2f367f547a..0000000000 --- a/package/git/0001-configure.ac-Properly-check-for-libintl.patch +++ /dev/null @@ -1,49 +0,0 @@ -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.hash b/package/git/git.hash index 35c8774d75..d043590222 100644 --- a/package/git/git.hash +++ b/package/git/git.hash @@ -1,4 +1,5 @@ # From: https://www.kernel.org/pub/software/scm/git/sha256sums.asc -sha256 dfb71b053cbc38a9c5b08c2fe8b5eae210b4e3b63892426923e10cfd6ba63862 git-2.16.5.tar.xz -sha256 5b2198d1645f767585e8a88ac0499b04472164c0d2da22e75ecf97ef443ab32e COPYING -sha256 1922f45d2c49e390032c9c0ba6d7cac904087f7cec51af30c2b2ad022ce0e76a LGPL-2.1 +sha256 6d65132471df9e531807cb2746f8be317e22a343b9385bbe11c9ce7f0d2fc848 git-2.26.2.tar.xz +# Locally calculated +sha256 5b2198d1645f767585e8a88ac0499b04472164c0d2da22e75ecf97ef443ab32e COPYING +sha256 1922f45d2c49e390032c9c0ba6d7cac904087f7cec51af30c2b2ad022ce0e76a LGPL-2.1 diff --git a/package/git/git.mk b/package/git/git.mk index 804a6e2325..0a67a7e1e2 100644 --- a/package/git/git.mk +++ b/package/git/git.mk @@ -4,13 +4,12 @@ # ################################################################################ -GIT_VERSION = 2.16.5 +GIT_VERSION = 2.26.2 GIT_SOURCE = git-$(GIT_VERSION).tar.xz 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 += host-pkgconf openssl @@ -35,7 +34,7 @@ ifeq ($(BR2_PACKAGE_LIBCURL),y) GIT_DEPENDENCIES += libcurl GIT_CONF_OPTS += --with-curl GIT_CONF_ENV += \ - ac_cv_prog_curl_config=$(STAGING_DIR)/usr/bin/$(LIBCURL_CONFIG_SCRIPTS) + ac_cv_prog_CURL_CONFIG=$(STAGING_DIR)/usr/bin/$(LIBCURL_CONFIG_SCRIPTS) else GIT_CONF_OPTS += --without-curl endif @@ -66,6 +65,14 @@ ifeq ($(BR2_SYSTEM_ENABLE_NLS),) GIT_MAKE_OPTS += NO_GETTEXT=1 endif +GIT_CFLAGS = $(TARGET_CFLAGS) + +ifneq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180)$(BR2_TOOLCHAIN_HAS_GCC_BUG_93847),) +GIT_CFLAGS += -O0 +endif + +GIT_CONF_OPTS += CFLAGS="$(GIT_CFLAGS)" + GIT_INSTALL_TARGET_OPTS = $(GIT_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install # assume yes for these tests, configure will bail out otherwise diff --git a/package/gli/Config.in b/package/gli/Config.in new file mode 100644 index 0000000000..da7ce28ba1 --- /dev/null +++ b/package/gli/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_GLI + bool "gli" + depends on BR2_INSTALL_LIBSTDCPP + help + OpenGL Image (GLI) + + http://gli.g-truc.net + +comment "gli needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/gli/gli.hash b/package/gli/gli.hash new file mode 100644 index 0000000000..177358a758 --- /dev/null +++ b/package/gli/gli.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 9374f3cf6441dac0154f7e5ae9ad9ae99f4c4a36f8eb6de23f54a1996b9f2769 gli-559cbe1ec38878e182507d331e0780fbae5baf15.tar.gz +sha256 e26459f62353e631d18379668c82b85f9fd2fd993f2818277e4fce21e957f87a manual.md diff --git a/package/gli/gli.mk b/package/gli/gli.mk new file mode 100644 index 0000000000..6a332d0e08 --- /dev/null +++ b/package/gli/gli.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# gli +# +################################################################################ + +GLI_VERSION = 559cbe1ec38878e182507d331e0780fbae5baf15 +GLI_SITE = $(call github,g-truc,gli,$(GLI_VERSION)) +GLI_LICENSE = MIT +GLI_LICENSE_FILES = manual.md + +# GLI is a header-only library, it only makes sense +# to have it installed into the staging directory. +GLI_INSTALL_STAGING = YES +GLI_INSTALL_TARGET = NO + +$(eval $(cmake-package)) diff --git a/package/glib-networking/Config.in b/package/glib-networking/Config.in index b84a739460..22331255f7 100644 --- a/package/glib-networking/Config.in +++ b/package/glib-networking/Config.in @@ -1,14 +1,17 @@ config BR2_PACKAGE_GLIB_NETWORKING bool "glib-networking" - depends on BR2_USE_WCHAR # glib2, gnutls + depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_USE_MMU # glib2 - depends on !BR2_STATIC_LIBS # gnutls - select BR2_PACKAGE_GNUTLS + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_GNUTLS help Network-related GIO modules for glib. + https://gitlab.gnome.org/GNOME/glib-networking + 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 || BR2_STATIC_LIBS + 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 d959175e7c..88649d842f 100644 --- a/package/glib-networking/glib-networking.hash +++ b/package/glib-networking/glib-networking.hash @@ -1,3 +1,3 @@ -# 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 +# From http://ftp.gnome.org/pub/gnome/sources/glib-networking/2.62/glib-networking-2.62.4.sha256sum +sha256 c18f289eec480fdce12044c0a06f77521edf9f460d16ad4213de61f2a3b294cf glib-networking-2.62.4.tar.xz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/glib-networking/glib-networking.mk b/package/glib-networking/glib-networking.mk index 325cbcf8ad..e1d4823adc 100644 --- a/package/glib-networking/glib-networking.mk +++ b/package/glib-networking/glib-networking.mk @@ -4,27 +4,37 @@ # ################################################################################ -GLIB_NETWORKING_VERSION_MAJOR = 2.58 -GLIB_NETWORKING_VERSION = $(GLIB_NETWORKING_VERSION_MAJOR).0 +GLIB_NETWORKING_VERSION_MAJOR = 2.62 +GLIB_NETWORKING_VERSION = $(GLIB_NETWORKING_VERSION_MAJOR).4 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 GLIB_NETWORKING_INSTALL_STAGING = YES GLIB_NETWORKING_DEPENDENCIES = \ $(TARGET_NLS_DEPENDENCIES) \ host-pkgconf \ - host-intltool \ - libglib2 \ - gnutls + libglib2 GLIB_NETWORKING_CONF_OPTS = \ - -Dca_certificates_path=/etc/ssl/certs/ca-certificates.crt \ - -Dlibproxy_support=false \ - -Dgnome_proxy_support=false \ - -Dpkcs11_support=false + -Dlibproxy=disabled \ + -Dgnome_proxy=disabled 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 += -Dgnutls=enabled +else +GLIB_NETWORKING_CONF_OPTS += -Dgnutls=disabled +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +GLIB_NETWORKING_DEPENDENCIES += openssl +GLIB_NETWORKING_CONF_OPTS += -Dopenssl=enabled +else +GLIB_NETWORKING_CONF_OPTS += -Dopenssl=disabled +endif + $(eval $(meson-package)) diff --git a/package/glibc/06983fe52cfe8e4779035c27e8cc5d2caab31531/glibc.hash b/package/glibc/06983fe52cfe8e4779035c27e8cc5d2caab31531/glibc.hash new file mode 100644 index 0000000000..ce378c0bd1 --- /dev/null +++ b/package/glibc/06983fe52cfe8e4779035c27e8cc5d2caab31531/glibc.hash @@ -0,0 +1,7 @@ +# Locally calculated (fetched from Github) +sha256 703877c0df77fce00719fe55cc62b07bb8d5f44fdb704bbb1b0bf2cf38afe10a glibc-06983fe52cfe8e4779035c27e8cc5d2caab31531.tar.gz + +# Hashes for license files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 35bdb41dc0bcb10702ddacbd51ec4c0fe6fb3129f734e8c85fc02e4d3eb0ce3f LICENSES diff --git a/package/glibc/2.30-67-g4748829f86a458b76642f3e98b1d80f7b868e427/glibc.hash b/package/glibc/2.30-67-g4748829f86a458b76642f3e98b1d80f7b868e427/glibc.hash new file mode 100644 index 0000000000..6677d32db9 --- /dev/null +++ b/package/glibc/2.30-67-g4748829f86a458b76642f3e98b1d80f7b868e427/glibc.hash @@ -0,0 +1,7 @@ +# Locally calculated (fetched from Github) +sha256 4462f56696332efbc5b0c2f86d7aa75a2a02c3d44bc4345fa42b5bab1225de5c glibc-2.30-67-g4748829f86a458b76642f3e98b1d80f7b868e427.tar.gz + +# Hashes for license files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 35bdb41dc0bcb10702ddacbd51ec4c0fe6fb3129f734e8c85fc02e4d3eb0ce3f LICENSES 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 deleted file mode 100644 index ab157e9e7b..0000000000 --- a/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0001-Fix-RISC-V-32-bit-build-of-riscv-glibc-2.26.patch +++ /dev/null @@ -1,59 +0,0 @@ -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 deleted file mode 100644 index 961d5a1cb6..0000000000 --- a/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0002-Fix-mcontext_t-error-that-breaks-RISC-V-architecture.patch +++ /dev/null @@ -1,39 +0,0 @@ -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 deleted file mode 100644 index 3eb5e04e96..0000000000 --- a/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/glibc.hash +++ /dev/null @@ -1,7 +0,0 @@ -# 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/7630ed2fa60caea98f500e4a7a51b88f9bf1e176/glibc.hash b/package/glibc/7630ed2fa60caea98f500e4a7a51b88f9bf1e176/glibc.hash new file mode 100644 index 0000000000..a61bd65f80 --- /dev/null +++ b/package/glibc/7630ed2fa60caea98f500e4a7a51b88f9bf1e176/glibc.hash @@ -0,0 +1,2 @@ +# Locally calculated (fetched from https://github.com/c-sky/glibc) +sha512 9deb2deceefe347d72de13510a5baa3de00f94c684f3b25e136ca3660f61e65a69f2115abb488c2ab0fa93cda8535853ce1e13e186efcc8434ecc4049efd82b5 glibc-7630ed2fa60caea98f500e4a7a51b88f9bf1e176.tar.gz diff --git a/package/glibc/Config.in b/package/glibc/Config.in index 7821251087..5ecd058145 100644 --- a/package/glibc/Config.in +++ b/package/glibc/Config.in @@ -1,5 +1,7 @@ if BR2_TOOLCHAIN_BUILDROOT_GLIBC +comment "Glibc Options" + config BR2_PACKAGE_GLIBC bool default y @@ -7,4 +9,11 @@ config BR2_PACKAGE_GLIBC select BR2_TOOLCHAIN_HAS_SSP if BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI help https://www.gnu.org/software/libc/ -endif + +config BR2_PACKAGE_GLIBC_UTILS + bool "Install glibc utilities" + help + Enabling this option will compile and install the getconf, + ldconfig, ldd and locale glibc utilities for the target. + +endif # BR2_TOOLCHAIN_BUILDROOT_GLIBC diff --git a/package/glibc/arc-2018.09-release/glibc.hash b/package/glibc/arc-2018.09-release/glibc.hash deleted file mode 100644 index 8e70ce0436..0000000000 --- a/package/glibc/arc-2018.09-release/glibc.hash +++ /dev/null @@ -1,7 +0,0 @@ -# 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/arc-2019.09-release/glibc.hash b/package/glibc/arc-2019.09-release/glibc.hash new file mode 100644 index 0000000000..296035c495 --- /dev/null +++ b/package/glibc/arc-2019.09-release/glibc.hash @@ -0,0 +1,7 @@ +# Locally calculated (fetched from Github) +sha256 0e0fd7603938fd8ebd793385a3d72c6e1fba22e16a600a16cc953a93f0e85943 glibc-arc-2019.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 deleted file mode 100644 index 442ef0d7aa..0000000000 --- a/package/glibc/glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a/glibc.hash +++ /dev/null @@ -1,7 +0,0 @@ -# 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.mk b/package/glibc/glibc.mk index cb6f8097dc..4621c9c2f9 100644 --- a/package/glibc/glibc.mk +++ b/package/glibc/glibc.mk @@ -5,15 +5,19 @@ ################################################################################ ifeq ($(BR2_arc),y) -GLIBC_VERSION = arc-2018.09-release +GLIBC_VERSION = arc-2019.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_VERSION = 06983fe52cfe8e4779035c27e8cc5d2caab31531 GLIBC_SITE = $(call github,riscv,riscv-glibc,$(GLIBC_VERSION)) +else ifeq ($(BR2_csky),y) +GLIBC_VERSION = 7630ed2fa60caea98f500e4a7a51b88f9bf1e176 +GLIBC_SITE = $(call github,c-sky,glibc,$(GLIBC_VERSION)) else # Generate version string using: -# git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master -GLIBC_VERSION = glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a +# git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master | cut -d '-' -f 2- +# When updating the version, please also update localedef +GLIBC_VERSION = 2.30-67-g4748829f86a458b76642f3e98b1d80f7b868e427 # 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. @@ -32,7 +36,7 @@ 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 \ - $(BR2_MAKE_HOST_DEPENDENCY) + $(BR2_MAKE_HOST_DEPENDENCY) $(BR2_PYTHON3_HOST_DEPENDENCY) GLIBC_SUBDIR = build @@ -71,10 +75,19 @@ endef endif GLIBC_CONF_ENV = \ - ac_cv_path_BASH_SHELL=/bin/bash \ + ac_cv_path_BASH_SHELL=/bin/$(if $(BR2_PACKAGE_BASH),bash,sh) \ libc_cv_forced_unwind=yes \ libc_cv_ssp=no +# POSIX shell does not support localization, so remove the corresponding +# syntax from ldd if bash is not selected. +ifeq ($(BR2_PACKAGE_BASH),) +define GLIBC_LDD_NO_BASH + $(SED) 's/$$"/"/g' $(@D)/elf/ldd.bash.in +endef +GLIBC_POST_PATCH_HOOKS += GLIBC_LDD_NO_BASH +endif + # Override the default library locations of /lib64/ and # /usr/lib64// for RISC-V. ifeq ($(BR2_riscv),y) @@ -140,10 +153,24 @@ ifeq ($(BR2_PACKAGE_GDB),y) GLIBC_LIBS_LIB += libthread_db.so.* endif +ifeq ($(BR2_PACKAGE_GLIBC_UTILS),y) +GLIBC_TARGET_UTILS_USR_BIN = posix/getconf elf/ldd +GLIBC_TARGET_UTILS_SBIN = elf/ldconfig +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) +GLIBC_TARGET_UTILS_USR_BIN += locale/locale +endif +endif + define GLIBC_INSTALL_TARGET_CMDS for libpattern in $(GLIBC_LIBS_LIB); do \ $(call copy_toolchain_lib_root,$$libpattern) ; \ done + $(foreach util,$(GLIBC_TARGET_UTILS_USR_BIN), \ + $(INSTALL) -D -m 0755 $(@D)/build/$(util) $(TARGET_DIR)/usr/bin/$(notdir $(util)) + ) + $(foreach util,$(GLIBC_TARGET_UTILS_SBIN), \ + $(INSTALL) -D -m 0755 $(@D)/build/$(util) $(TARGET_DIR)/sbin/$(notdir $(util)) + ) endef $(eval $(autotools-package)) diff --git a/package/glibmm/glibmm.hash b/package/glibmm/glibmm.hash index 6131f9dcaf..021b77ef0a 100644 --- a/package/glibmm/glibmm.hash +++ b/package/glibmm/glibmm.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.56/glibmm-2.56.0.sha256sum -sha256 6e74fcba0d245451c58fc8a196e9d103789bc510e1eee1a9b1e816c5209e79a9 glibmm-2.56.0.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/glibmm/2.62/glibmm-2.62.0.sha256sum +sha256 36659f13cc73282392d1305858f3bbca46fbd1ce2f078cc9db8b9f79b2e93cfe glibmm-2.62.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 71f1dfd36f..c31c794ca2 100644 --- a/package/glibmm/glibmm.mk +++ b/package/glibmm/glibmm.mk @@ -4,7 +4,7 @@ # ################################################################################ -GLIBMM_VERSION_MAJOR = 2.56 +GLIBMM_VERSION_MAJOR = 2.62 GLIBMM_VERSION = $(GLIBMM_VERSION_MAJOR).0 GLIBMM_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) GLIBMM_LICENSE_FILES = COPYING COPYING.tools @@ -13,4 +13,12 @@ GLIBMM_SITE = http://ftp.gnome.org/pub/gnome/sources/glibmm/$(GLIBMM_VERSION_MAJ GLIBMM_INSTALL_STAGING = YES GLIBMM_DEPENDENCIES = libglib2 libsigc host-pkgconf +GLIBMM_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +GLIBMM_CXXFLAGS += -O0 +endif + +GLIBMM_CONF_ENV += CXXFLAGS="$(GLIBMM_CXXFLAGS)" + $(eval $(autotools-package)) diff --git a/package/glm/glm.hash b/package/glm/glm.hash index c87d4ca2f6..2073d6bf04 100644 --- a/package/glm/glm.hash +++ b/package/glm/glm.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 a220e60f8711265595be3221e530d632d5823641ecd46a3a54bc174933bff14c glm-0.9.8.4.tar.gz +sha256 5e33b6131cea6a904339734b015110d4342b7dc02d995164fdb86332d28a5aa4 glm-0.9.9.5.tar.gz +sha256 337130631a714eeae017556cad101d5324c2961214120b6214741d3d43667086 manual.md diff --git a/package/glm/glm.mk b/package/glm/glm.mk index 1f23146dda..3ef106a943 100644 --- a/package/glm/glm.mk +++ b/package/glm/glm.mk @@ -4,14 +4,20 @@ # ################################################################################ -GLM_VERSION = 0.9.8.4 +GLM_VERSION = 0.9.9.5 GLM_SITE = $(call github,g-truc,glm,$(GLM_VERSION)) GLM_LICENSE = MIT -GLM_LICENSE_FILES = copying.txt +GLM_LICENSE_FILES = manual.md # GLM is a header-only library, it only makes sense # to have it installed into the staging directory. GLM_INSTALL_STAGING = YES GLM_INSTALL_TARGET = NO +# Don't build libraries as GLM is header-only +GLM_CONF_OPTS = \ + -DGLM_TEST_ENABLE=OFF \ + -DBUILD_SHARED_LIBS=OFF \ + -DBUILD_STATIC_LIBS=OFF + $(eval $(cmake-package)) diff --git a/package/glmark2/Config.in b/package/glmark2/Config.in index addd7a906e..153eb3b0af 100644 --- a/package/glmark2/Config.in +++ b/package/glmark2/Config.in @@ -1,27 +1,65 @@ -config BR2_PACKAGE_GLMARK2_EGL_GLES +config BR2_PACKAGE_GLMARK2_FLAVOR_ANY + bool + +config BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GLESV2 bool default y - depends on BR2_PACKAGE_MESA3D_OPENGL_EGL - depends on BR2_PACKAGE_MESA3D_OPENGL_ES + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_HAS_LIBGLES + depends on BR2_PACKAGE_HAS_UDEV + select BR2_PACKAGE_GLMARK2_FLAVOR_ANY -config BR2_PACKAGE_GLMARK2_GL +config BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GL + bool + default y + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_HAS_UDEV + select BR2_PACKAGE_GLMARK2_FLAVOR_ANY + +config BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GLESV2 + bool + default y + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_HAS_LIBGLES + depends on BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_GLMARK2_FLAVOR_ANY + +config BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GL + bool + default y + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_GLMARK2_FLAVOR_ANY + +config BR2_PACKAGE_GLMARK2_FLAVOR_X11_GLESV2 + bool + default y + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_HAS_LIBGLES + depends on BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_GLMARK2_FLAVOR_ANY + +config BR2_PACKAGE_GLMARK2_FLAVOR_X11_GL bool default y depends on BR2_PACKAGE_HAS_LIBGL - depends on BR2_PACKAGE_MESA3D_DRI_DRIVER + depends on BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_GLMARK2_FLAVOR_ANY comment "glmark2 needs a toolchain w/ C++, gcc >= 4.9" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 -comment "glmark2 needs an OpenGL or an openGL ES and EGL backend provided by mesa3d" +comment "glmark2 needs an OpenGL or an openGL ES and EGL backend" depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 && BR2_INSTALL_LIBSTDCPP - depends on !BR2_PACKAGE_GLMARK2_GL && !BR2_PACKAGE_GLMARK2_EGL_GLES + depends on !BR2_PACKAGE_GLMARK2_FLAVOR_ANY config BR2_PACKAGE_GLMARK2 bool "glmark2" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 - depends on BR2_PACKAGE_GLMARK2_GL || BR2_PACKAGE_GLMARK2_EGL_GLES + depends on BR2_PACKAGE_GLMARK2_FLAVOR_ANY select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBPNG help diff --git a/package/glmark2/glmark2.hash b/package/glmark2/glmark2.hash index aeb8a78568..ffd1ba2d50 100644 --- a/package/glmark2/glmark2.hash +++ b/package/glmark2/glmark2.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 8800f3cab0575df217adc166b181930e1f881efb6f764f35872993ee78dea5f0 glmark2-9b1070fe9c5cf908f323909d3c8cbed08022abe8.tar.gz +sha256 6a9de46c098406895411b629fe8fadfdce92360500f0f10e4cc60a889a1692eb glmark2-9e01aef1a786b28aca73135a5b00f85c357e8f5e.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 16fbc228292bd774b263b212ae422c524cbf3b2078bcf21b22f8bdd4373be617 COPYING.SGI diff --git a/package/glmark2/glmark2.mk b/package/glmark2/glmark2.mk index 4eeaec79c3..3d31003d06 100644 --- a/package/glmark2/glmark2.mk +++ b/package/glmark2/glmark2.mk @@ -4,40 +4,39 @@ # ################################################################################ -GLMARK2_VERSION = 9b1070fe9c5cf908f323909d3c8cbed08022abe8 +GLMARK2_VERSION = 9e01aef1a786b28aca73135a5b00f85c357e8f5e GLMARK2_SITE = $(call github,glmark2,glmark2,$(GLMARK2_VERSION)) GLMARK2_LICENSE = GPL-3.0+, SGIv1 GLMARK2_LICENSE_FILES = COPYING COPYING.SGI -GLMARK2_DEPENDENCIES = host-pkgconf jpeg libpng \ - $(if $(BR2_PACKAGE_HAS_LIBEGL),libegl) \ - $(if $(BR2_PACKAGE_HAS_LIBGLES),libgles) \ - $(if $(BR2_PACKAGE_HAS_LIBGL),libgl) +GLMARK2_DEPENDENCIES = host-pkgconf jpeg libegl libpng -ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) -GLMARK2_DEPENDENCIES += xlib_libX11 -ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGLES),yy) -GLMARK2_FLAVORS += x11-glesv2 -endif -ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) -GLMARK2_FLAVORS += x11-gl -endif -endif - -ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGLES),yy) +ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GLESV2),y) +GLMARK2_DEPENDENCIES += libgles udev GLMARK2_FLAVORS += drm-glesv2 endif -ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGL),yy) +ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GL),y) +GLMARK2_DEPENDENCIES += libgl udev GLMARK2_FLAVORS += drm-gl endif -ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGLES),yyy) -GLMARK2_DEPENDENCIES += wayland +ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_X11_GLESV2),y) +GLMARK2_DEPENDENCIES += libgles xlib_libX11 +GLMARK2_FLAVORS += x11-glesv2 +endif + +ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_X11_GL),y) +GLMARK2_DEPENDENCIES += libgl xlib_libX11 +GLMARK2_FLAVORS += x11-gl +endif + +ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GLESV2),y) +GLMARK2_DEPENDENCIES += libgles wayland GLMARK2_FLAVORS += wayland-glesv2 endif -ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGL),yyy) -GLMARK2_DEPENDENCIES += wayland +ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GL),y) +GLMARK2_DEPENDENCIES += libgl wayland GLMARK2_FLAVORS += wayland-gl endif diff --git a/package/glog/0001-src-symbolize.cc-fix-build-without-dlfcn.h.patch b/package/glog/0001-src-symbolize.cc-fix-build-without-dlfcn.h.patch new file mode 100644 index 0000000000..73c6e670ed --- /dev/null +++ b/package/glog/0001-src-symbolize.cc-fix-build-without-dlfcn.h.patch @@ -0,0 +1,37 @@ +From f71e0899439aaa0e6172243a0862bf8a72a241fc Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 28 Oct 2019 18:21:55 +0100 +Subject: [PATCH] src/symbolize.cc: fix build without dlfcn.h + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/google/glog/pull/475] +--- + src/symbolize.cc | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/symbolize.cc b/src/symbolize.cc +index 1ffc607..ff027f2 100644 +--- a/src/symbolize.cc ++++ b/src/symbolize.cc +@@ -110,7 +110,9 @@ _END_GOOGLE_NAMESPACE_ + + #if defined(__ELF__) + ++#if defined(HAVE_DLFCN_H) + #include ++#endif + #if defined(OS_OPENBSD) + #include + #else +@@ -832,7 +834,7 @@ static ATTRIBUTE_NOINLINE bool SymbolizeAndDemangle(void *pc, char *out, + + _END_GOOGLE_NAMESPACE_ + +-#elif defined(OS_MACOSX) && defined(HAVE_DLADDR) ++#elif defined(OS_MACOSX) && defined(HAVE_DLADDR) && defined(HAVE_DLFCN_H) + + #include + #include +-- +2.23.0 + diff --git a/package/glog/0002-src-utilities-fix-build-without-pthread.patch b/package/glog/0002-src-utilities-fix-build-without-pthread.patch new file mode 100644 index 0000000000..503f57a697 --- /dev/null +++ b/package/glog/0002-src-utilities-fix-build-without-pthread.patch @@ -0,0 +1,83 @@ +From 9630e0e848da22e27b346c38d9b05f0a16cbf7b3 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 31 Oct 2019 19:27:16 +0100 +Subject: [PATCH] src/utilities: fix build without pthread + +- Remove is_default_thread function which is an internal and not used + function +- Remove g_main_thread_id as it was used only by is_default_thread + +Fixes: + - http://autobuild.buildroot.net/results/5320bbe1205e782e3516d9bead8d1ed825bcbaad + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/google/glog/commit/9630e0e848da22e27b346c38d9b05f0a16cbf7b3] +--- + src/utilities.cc | 16 +++------------- + src/utilities.h | 2 -- + 2 files changed, 3 insertions(+), 15 deletions(-) + +diff --git a/src/utilities.cc b/src/utilities.cc +index d463b33b..9a1e35d0 100644 +--- a/src/utilities.cc ++++ b/src/utilities.cc +@@ -61,7 +61,6 @@ using std::string; + _START_GOOGLE_NAMESPACE_ + + static const char* g_program_invocation_short_name = NULL; +-static pthread_t g_main_thread_id; + + _END_GOOGLE_NAMESPACE_ + +@@ -181,16 +180,6 @@ bool IsGoogleLoggingInitialized() { + return g_program_invocation_short_name != NULL; + } + +-bool is_default_thread() { +- if (g_program_invocation_short_name == NULL) { +- // InitGoogleLogging() not yet called, so unlikely to be in a different +- // thread +- return true; +- } else { +- return pthread_equal(pthread_self(), g_main_thread_id); +- } +-} +- + #ifdef OS_WINDOWS + struct timeval { + long tv_sec, tv_usec; +@@ -276,9 +265,11 @@ pid_t GetTID() { + return getpid(); // Linux: getpid returns thread ID when gettid is absent + #elif defined OS_WINDOWS && !defined OS_CYGWIN + return GetCurrentThreadId(); +-#else ++#elif defined(HAVE_PTHREAD) + // If none of the techniques above worked, we use pthread_self(). + return (pid_t)(uintptr_t)pthread_self(); ++#else ++ return -1; + #endif + } + +@@ -350,7 +341,6 @@ void InitGoogleLoggingUtilities(const char* argv0) { + if (!slash) slash = strrchr(argv0, '\\'); + #endif + g_program_invocation_short_name = slash ? slash + 1 : argv0; +- g_main_thread_id = pthread_self(); + + #ifdef HAVE_STACKTRACE + InstallFailureFunction(&DumpStackTraceAndExit); +diff --git a/src/utilities.h b/src/utilities.h +index ca21cfb3..c66f9146 100644 +--- a/src/utilities.h ++++ b/src/utilities.h +@@ -163,8 +163,6 @@ const char* ProgramInvocationShortName(); + + bool IsGoogleLoggingInitialized(); + +-bool is_default_thread(); +- + int64 CycleClock_Now(); + + int64 UsecToCycles(int64 usec); diff --git a/package/glog/Config.in b/package/glog/Config.in index 534997af49..3376323004 100644 --- a/package/glog/Config.in +++ b/package/glog/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_GLOG bool "glog" + # __ELF__ not defined on Microblaze + depends on !BR2_microblaze depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_STATIC_LIBS help C++ implementation of the Google logging module https://github.com/google/glog -comment "glog needs a toolchain w/ C++, threads, dynamic library" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS +comment "glog needs a toolchain w/ C++" + depends on !BR2_microblaze + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/glog/glog.hash b/package/glog/glog.hash index 909e072b66..b9ba665400 100644 --- a/package/glog/glog.hash +++ b/package/glog/glog.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 7580e408a2c0b5a89ca214739978ce6ff480b5e7d8d7698a2aa92fadc484d1e0 glog-v0.3.5.tar.gz +sha256 f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c glog-0.4.0.tar.gz # Hash for License file: sha256 0fc497129c5c69ff6f22da6933c7e4aaef082fde8437fd57680c2780100772a4 COPYING diff --git a/package/glog/glog.mk b/package/glog/glog.mk index 3f17529f58..9d31732a88 100644 --- a/package/glog/glog.mk +++ b/package/glog/glog.mk @@ -4,25 +4,19 @@ # ################################################################################ -GLOG_VERSION = v0.3.5 -GLOG_SITE = $(call github,google,glog,$(GLOG_VERSION)) +GLOG_VERSION = 0.4.0 +GLOG_SITE = $(call github,google,glog,v$(GLOG_VERSION)) GLOG_INSTALL_STAGING = YES GLOG_LICENSE = BSD-3-Clause GLOG_LICENSE_FILES = COPYING +GLOG_CONF_OPTS = \ + $(if $(BR2_TOOLCHAIN_HAS_THREADS),-DWITH_THREADS=ON, -DWITH_THREADS=OFF) ifeq ($(BR2_PACKAGE_GFLAGS),y) GLOG_DEPENDENCIES = gflags +GLOG_CONF_OPTS += -DWITH_GFLAGS=ON +else +GLOG_CONF_OPTS += -DWITH_GFLAGS=OFF endif -# glog can optionally use atomic __sync built-ins. However, its -# configure script only checks for the availability of the 4 bytes -# version, but the code also uses the 1 byte version. While this works -# on most architectures, it does not on architectures that implement -# only the 4 bytes version, such as Microblaze. So if the architecture -# does not implement the 1 byte version, we hint the configure script -# that atomic built-ins should not be used. -ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_1),) -GLOG_CONF_ENV += ac_cv___sync_val_compare_and_swap=no -endif - -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/package/glorytun/glorytun.hash b/package/glorytun/glorytun.hash index 59a5f09c0e..9d1b797787 100644 --- a/package/glorytun/glorytun.hash +++ b/package/glorytun/glorytun.hash @@ -1,2 +1,2 @@ -sha256 5e23afad4592d6af27ffd2cb3c826cf0ea1b5166a05ef1ae5c77fb4e465bb735 glorytun-0.0.99-mud.tar.gz -sha256 bd418f8ef7d62f2c89e3aa1e5dc41c7d7a6212eb1cdb4d39a26a5bd333e1b4a3 LICENSE +sha256 137d9c525a05bb605163df0465367d36e943715ca773ce43d5ea66f0597600a3 glorytun-0.3.4.tar.gz +sha256 3d9ddddb8807c305287d9dbab58473e5307e9c91651c43c654a0828855d2b373 LICENSE diff --git a/package/glorytun/glorytun.mk b/package/glorytun/glorytun.mk index f6d87c2605..d128ae835d 100644 --- a/package/glorytun/glorytun.mk +++ b/package/glorytun/glorytun.mk @@ -4,7 +4,7 @@ # ################################################################################ -GLORYTUN_VERSION = 0.0.99-mud +GLORYTUN_VERSION = 0.3.4 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/glslsandbox-player/Config.in b/package/glslsandbox-player/Config.in new file mode 100644 index 0000000000..dc0d2c07f1 --- /dev/null +++ b/package/glslsandbox-player/Config.in @@ -0,0 +1,112 @@ +config BR2_PACKAGE_GLSLSANDBOX_PLAYER + bool "glslsandbox-player" + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_HAS_LIBGLES + # Doesn't really depend on threads, but this makes sure we have at least + # one native windowing system available, and is good enough in practice. + depends on BR2_TOOLCHAIN_HAS_THREADS + help + GLSL Sandbox standalone player allow one to run and render + (most of) nice shaders available online on the + http://glslsandbox.com/ website, but without the need of an + Internet connection, a web browser or any of its + dependencies. Instead, the only requirement of + glslsandbox-player is a working EGL and GLESv2 libraries. + + This package is useful for stressing and testing GLES shader + compiler in GPU drivers. + + https://github.com/jolivain/glslsandbox-player + +if BR2_PACKAGE_GLSLSANDBOX_PLAYER + +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_PNG + bool "Enable PNG support" + select BR2_PACKAGE_LIBPNG + help + Enable PNG texture loading support + +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_TESTING + bool "Enable testing" + help + Generate and install test suite on target + +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS + bool "Install scripts" + depends on !BR2_PACKAGE_PYTHON # python3 + depends on !BR2_STATIC_LIBS # python3 + depends on BR2_TOOLCHAIN_HAS_THREADS # python3 + depends on BR2_USE_MMU # bash, python3 + depends on BR2_USE_WCHAR # python3 + select BR2_PACKAGE_BASH # runtime + select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS if BR2_PACKAGE_BUSYBOX # bash + select BR2_PACKAGE_COREUTILS # runtime (timeout) + select BR2_PACKAGE_LIBCURL_CURL # runtime + select BR2_PACKAGE_IMAGEMAGICK # runtime + select BR2_PACKAGE_JPEG # runtime + select BR2_PACKAGE_LIBCURL # runtime + select BR2_PACKAGE_LIBOPENSSL_BIN if BR2_PACKAGE_LIBOPENSSL # runtime + select BR2_PACKAGE_LIBRESSL_BIN if BR2_PACKAGE_LIBRESSL # runtime + select BR2_PACKAGE_MAKE # runtime + select BR2_PACKAGE_OPENSSL # runtime + select BR2_PACKAGE_PYTHON3 # runtime + help + Install additional helper scripts + +choice + prompt "Native windowing system" + default BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI if BR2_PACKAGE_SUNXI_MALI_MAINLINE + default BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI if BR2_PACKAGE_RPI_USERLAND + default BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2 if BR2_PACKAGE_SDL2_OPENGLES + default BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX if BR2_PACKAGE_TI_SGX_UM + default BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL if BR2_PACKAGE_WAYLAND + default BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11 if BR2_PACKAGE_XORG7 + help + Select the native windowing system you wish to use. + +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS + bool "KMS/DRM/GBM" + depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm + select BR2_PACKAGE_LIBDRM + +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI + bool "Allwinner ARM/Mali Frame Buffer" + depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE + +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI + bool "RaspberryPI Frame Buffer" + depends on BR2_PACKAGE_RPI_USERLAND + +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2 + bool "SDL2" + depends on BR2_PACKAGE_SDL2_OPENGLES + +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX + bool "TI/SGX Frame Buffer" + depends on BR2_PACKAGE_TI_SGX_UM + +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_VIVFB + bool "Vivante Frame Buffer" + depends on BR2_PACKAGE_IMX_GPU_VIV + +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL + bool "Wayland" + depends on BR2_PACKAGE_WAYLAND + +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11 + bool "X11" + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBX11 + +endchoice + +if BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL_IVI + bool "Wayland IVI shell support" +endif + +endif + +comment "glslsandbox-player needs a toolchain w/ threads and an openGL ES and EGL driver" + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES diff --git a/package/glslsandbox-player/glslsandbox-player.hash b/package/glslsandbox-player/glslsandbox-player.hash new file mode 100644 index 0000000000..66dac9354a --- /dev/null +++ b/package/glslsandbox-player/glslsandbox-player.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 3458294a50c3d2fd54f806e46dd7bfba5f1e6aedadd6c396c76d70793419432b glslsandbox-player-2019.08.23.tar.gz +sha256 06a79395e8f3a4cc7ad068c6b59dfbe12c0efa4d27791e532345ceb1f41aea8a LICENSE diff --git a/package/glslsandbox-player/glslsandbox-player.mk b/package/glslsandbox-player/glslsandbox-player.mk new file mode 100644 index 0000000000..5ace69d7dd --- /dev/null +++ b/package/glslsandbox-player/glslsandbox-player.mk @@ -0,0 +1,72 @@ +################################################################################ +# +# glslsandbox-player +# +################################################################################ + +GLSLSANDBOX_PLAYER_VERSION = 2019.08.23 +GLSLSANDBOX_PLAYER_SITE = $(call github,jolivain,glslsandbox-player,v$(GLSLSANDBOX_PLAYER_VERSION)) +GLSLSANDBOX_PLAYER_AUTORECONF = YES +GLSLSANDBOX_PLAYER_DEPENDENCIES = libegl libgles host-pkgconf + +GLSLSANDBOX_PLAYER_LICENSE = BSD-2-Clause +GLSLSANDBOX_PLAYER_LICENSE_FILES = LICENSE + +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_PNG),y) +GLSLSANDBOX_PLAYER_DEPENDENCIES += libpng +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-libpng +else +GLSLSANDBOX_PLAYER_CONF_OPTS += --without-libpng +endif + +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_TESTING),y) +GLSLSANDBOX_PLAYER_CONF_OPTS += \ + --with-shader-list=shader-tests.list \ + --enable-testing \ + --enable-install-testsuite +else +GLSLSANDBOX_PLAYER_CONF_OPTS += \ + --with-shader-list=shader-local.list \ + --disable-testing +endif + +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS),y) +GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-install-scripts +else +GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-install-scripts +endif + +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS),y) +# gbm dependency is not needed, as it is normally packaged with +# libegl/libgles drivers. +GLSLSANDBOX_PLAYER_DEPENDENCIES += libdrm +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=kms +else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI),y) +GLSLSANDBOX_PLAYER_DEPENDENCIES += sunxi-mali-mainline +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=mali +else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI),y) +GLSLSANDBOX_PLAYER_DEPENDENCIES += rpi-userland +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=rpi +else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2),y) +GLSLSANDBOX_PLAYER_DEPENDENCIES += sdl2 +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=sdl2 +else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX),y) +GLSLSANDBOX_PLAYER_DEPENDENCIES += ti-sgx-um +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=tisgx +else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_VIVFB),y) +GLSLSANDBOX_PLAYER_DEPENDENCIES += imx-gpu-viv +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=vivfb +else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL),y) +GLSLSANDBOX_PLAYER_DEPENDENCIES += wayland +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=wl +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL_IVI),y) +GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-ivi +else +GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-ivi +endif +else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11),y) +GLSLSANDBOX_PLAYER_DEPENDENCIES += xlib_libX11 +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=x11 +endif + +$(eval $(autotools-package)) diff --git a/package/gmp/gmp.hash b/package/gmp/gmp.hash index f4793cd93c..417b9d17bf 100644 --- a/package/gmp/gmp.hash +++ b/package/gmp/gmp.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature sha256 87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912 gmp-6.1.2.tar.xz + +# Locally calculated +sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSERv3 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 diff --git a/package/gmp/gmp.mk b/package/gmp/gmp.mk index 7236e37bb4..d124463a98 100644 --- a/package/gmp/gmp.mk +++ b/package/gmp/gmp.mk @@ -19,5 +19,11 @@ ifeq ($(BR2_m68k_cf)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6)$(BR2_ARM_CP GMP_CONF_OPTS += --disable-assembly endif +ifeq ($(BR2_INSTALL_LIBSTDCPP),y) +GMP_CONF_OPTS += --enable-cxx +else +GMP_CONF_OPTS += --disable-cxx +endif + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/gmpc/gmpc.hash b/package/gmpc/gmpc.hash index cd39822c39..66de8b6226 100644 --- a/package/gmpc/gmpc.hash +++ b/package/gmpc/gmpc.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 a69414f35396846733632ca9619921d7acda537ffd6d49bd84b444945cb76b2c gmpc-11.8.16.tar.gz +sha256 a69414f35396846733632ca9619921d7acda537ffd6d49bd84b444945cb76b2c gmpc-11.8.16.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/gmrender-resurrect/Config.in b/package/gmrender-resurrect/Config.in index db655ad7f4..e7424e3b22 100644 --- a/package/gmrender-resurrect/Config.in +++ b/package/gmrender-resurrect/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_GMRENDER_RESURRECT depends on BR2_USE_MMU # gstreamer1 select BR2_PACKAGE_GSTREAMER1 select BR2_PACKAGE_GST1_PLUGINS_BASE # run-time only - select BR2_PACKAGE_LIBUPNP + select BR2_PACKAGE_LIBUPNP18 if !BR2_PACKAGE_LIBUPNP help UPnP (DLNA) media renderer based on gstreamer diff --git a/package/gmrender-resurrect/gmrender-resurrect.hash b/package/gmrender-resurrect/gmrender-resurrect.hash index 522bd2ae87..dc474be612 100644 --- a/package/gmrender-resurrect/gmrender-resurrect.hash +++ b/package/gmrender-resurrect/gmrender-resurrect.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 dcbde3601c3389e8dd21fe1842a92abf4cc06f6e3a375f1df63fdbf784a6650b gmrender-resurrect-33600ab663f181c4f4f5c48aba25bf961760a300.tar.gz +sha256 1f0cef76e4543879c9cd31cad73d6c4f778b965884c586405efcf63f2bdbb06f gmrender-resurrect-0.0.8.tar.gz +sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING diff --git a/package/gmrender-resurrect/gmrender-resurrect.mk b/package/gmrender-resurrect/gmrender-resurrect.mk index 2b6a56f0e5..e25be39493 100644 --- a/package/gmrender-resurrect/gmrender-resurrect.mk +++ b/package/gmrender-resurrect/gmrender-resurrect.mk @@ -4,13 +4,15 @@ # ################################################################################ -GMRENDER_RESURRECT_VERSION = 33600ab663f181c4f4f5c48aba25bf961760a300 -GMRENDER_RESURRECT_SITE = $(call github,hzeller,gmrender-resurrect,$(GMRENDER_RESURRECT_VERSION)) +GMRENDER_RESURRECT_VERSION = 0.0.8 +GMRENDER_RESURRECT_SITE = $(call github,hzeller,gmrender-resurrect,v$(GMRENDER_RESURRECT_VERSION)) # Original distribution does not have default configure, # so we need to autoreconf: GMRENDER_RESURRECT_AUTORECONF = YES GMRENDER_RESURRECT_LICENSE = GPL-2.0+ GMRENDER_RESURRECT_LICENSE_FILES = COPYING -GMRENDER_RESURRECT_DEPENDENCIES = gstreamer1 libupnp +GMRENDER_RESURRECT_DEPENDENCIES = \ + gstreamer1 \ + $(if $(BR2_PACKAGE_LIBUPNP),libupnp,libupnp18) $(eval $(autotools-package)) diff --git a/package/gnu-efi/0002-Make.defaults-don-t-override-ARCH-when-cross-compili.patch b/package/gnu-efi/0001-Make.defaults-don-t-override-ARCH-when-cross-compili.patch similarity index 100% rename from package/gnu-efi/0002-Make.defaults-don-t-override-ARCH-when-cross-compili.patch rename to package/gnu-efi/0001-Make.defaults-don-t-override-ARCH-when-cross-compili.patch 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 deleted file mode 100644 index 57c78c9bd4..0000000000 --- a/package/gnu-efi/0001-efilink-fix-build-with-gcc-4.8.patch +++ /dev/null @@ -1,35 +0,0 @@ -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-Revert-efilink-fix-build-with-gcc-4.8.patch b/package/gnu-efi/0002-Revert-efilink-fix-build-with-gcc-4.8.patch new file mode 100644 index 0000000000..5a08c24254 --- /dev/null +++ b/package/gnu-efi/0002-Revert-efilink-fix-build-with-gcc-4.8.patch @@ -0,0 +1,38 @@ +From 1f7b2e5bd6603b30202a66b6317a41e2be85742b Mon Sep 17 00:00:00 2001 +From: Esben Haabendal +Date: Tue, 26 Mar 2019 13:37:02 +0100 +Subject: [PATCH] Revert "efilink: fix build with gcc 4.8" + +This reverts commit 6335e5c697c57d8b5854b8202de3733bcb151ca6, as it breaks +gcc builds with '-nostdinc' flag. + +The fix in 1a53d8f88a452847b25f9689f9a08dbcf82c86e4 +(Fix for problem with undeclared intptr_t type), which is also merged +fixes the same problem, without causing breakage. + +Signed-off-by: Esben Haabendal +Signed-off-by: James Hilliard +[Upstream status: +https://sourceforge.net/p/gnu-efi/code/merge-requests/6/] +--- + inc/efilink.h | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/inc/efilink.h b/inc/efilink.h +index b69a6fd..cc5aa2d 100644 +--- a/inc/efilink.h ++++ b/inc/efilink.h +@@ -1,10 +1,6 @@ + #ifndef _EFI_LINK_H + #define _EFI_LINK_H + +-#if defined(__GNUC__) +-#include +-#endif +- + /*++ + + Copyright (c) 1998 Intel Corporation +-- +2.20.1 + diff --git a/package/gnu-efi/gnu-efi.hash b/package/gnu-efi/gnu-efi.hash index 9ac2b51fe3..bf9792b290 100644 --- a/package/gnu-efi/gnu-efi.hash +++ b/package/gnu-efi/gnu-efi.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/gnu-efi/files -md5 32af17b917545a693e549af2439c4a99 gnu-efi-3.0.9.tar.bz2 -sha1 9b39e06206e63eba56d59a648a7e4f20aead6962 gnu-efi-3.0.9.tar.bz2 +md5 960a8379b6f95ee73d7778b70bf2a089 gnu-efi-3.0.10.tar.bz2 +sha1 a51b81eda97c0acbf3ac86123f298d3c0e396ce5 gnu-efi-3.0.10.tar.bz2 # Locally computed -sha256 6715ea7eae1c7e4fc5041034bd3f107ec2911962ed284a081e491646b12277f0 gnu-efi-3.0.9.tar.bz2 +sha256 f12082a3a5f0c3e38c67262a9f34245d139ac2cdfc0a0bdcf03c9b1f56fa4fed gnu-efi-3.0.10.tar.bz2 sha256 42d352e9c28dd446fd0209cd6f75588c8e41f0934540bb382bbd61c752360265 README.efilib diff --git a/package/gnu-efi/gnu-efi.mk b/package/gnu-efi/gnu-efi.mk index fe3c8ac343..69618029f4 100644 --- a/package/gnu-efi/gnu-efi.mk +++ b/package/gnu-efi/gnu-efi.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNU_EFI_VERSION = 3.0.9 +GNU_EFI_VERSION = 3.0.10 GNU_EFI_SOURCE = gnu-efi-$(GNU_EFI_VERSION).tar.bz2 GNU_EFI_SITE = http://downloads.sourceforge.net/project/gnu-efi GNU_EFI_INSTALL_STAGING = YES diff --git a/package/gnupg/0001-build-Always-use-EXTERN_UNLESS_MAIN_MODULE-pattern.patch b/package/gnupg/0001-build-Always-use-EXTERN_UNLESS_MAIN_MODULE-pattern.patch new file mode 100644 index 0000000000..9f0ba1b01e --- /dev/null +++ b/package/gnupg/0001-build-Always-use-EXTERN_UNLESS_MAIN_MODULE-pattern.patch @@ -0,0 +1,156 @@ +From 45ef4455a60929932d1499cf718c1c9f59af9f26 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 26 May 2020 22:57:05 +0200 +Subject: [PATCH] build: Always use EXTERN_UNLESS_MAIN_MODULE pattern + +This patch is loosely based on upstream commit +6aff8a132815a84bab69401c1e7de96ec549fbf2 ("build: Always use +EXTERN_UNLESS_MAIN_MODULE pattern."). However, this upstream commit +applies to gnupg2, and the code base has changed quite significantly +compared to gnupg 1.x, so upstream's patch cannot be applied +as-is. The goal of the patch is to make sure each variable is only +defined once, ass gcc 10 now default to -fno-common. + +Essentially, this patch mainly fixes the EXTERN_UNLESS_MAIN_MODULE +define so that it really expands to "extern" when +INCLUDED_BY_MAIN_MODULE is not defined, even on non-RiscOS +systems. Contrary to upstream's patch we however do not factorize the +multiple EXTERN_UNLESS_MAIN_MODULE definitions into a single place as +it requires too many changes: instead we simply fix the few +definitions of this macro. + +Once the macro is fixed, two places need to define +INCLUDED_BY_MAIN_MODULE: tools/bftest.c and tools/mpicalc.c so that +when they include the common headers, their variables are at least +defined once. + +The iobuf.{c,h} case is handled differently: iobuf.h gains an +unconditional "extern", with the variable being added to iobuf.c. This +is identical to what upstream's +6aff8a132815a84bab69401c1e7de96ec549fbf2 is doing. + +Signed-off-by: Thomas Petazzoni +--- + g10/options.h | 3 +-- + include/cipher.h | 2 +- + include/iobuf.h | 9 +-------- + include/memory.h | 2 +- + include/mpi.h | 2 +- + tools/bftest.c | 1 + + tools/mpicalc.c | 1 + + util/iobuf.c | 2 ++ + 8 files changed, 9 insertions(+), 13 deletions(-) + +diff --git a/g10/options.h b/g10/options.h +index 0ac6e7755..bae19e9e3 100644 +--- a/g10/options.h ++++ b/g10/options.h +@@ -26,8 +26,7 @@ + #include "packet.h" + + #ifndef EXTERN_UNLESS_MAIN_MODULE +-/* Norcraft can't cope with common symbols */ +-#if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE) ++#if !defined (INCLUDED_BY_MAIN_MODULE) + #define EXTERN_UNLESS_MAIN_MODULE extern + #else + #define EXTERN_UNLESS_MAIN_MODULE +diff --git a/include/cipher.h b/include/cipher.h +index dd4af18cb..6ef6e6829 100644 +--- a/include/cipher.h ++++ b/include/cipher.h +@@ -115,7 +115,7 @@ struct gcry_md_context { + typedef struct gcry_md_context *MD_HANDLE; + + #ifndef EXTERN_UNLESS_MAIN_MODULE +-#if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE) ++#if !defined (INCLUDED_BY_MAIN_MODULE) + #define EXTERN_UNLESS_MAIN_MODULE extern + #else + #define EXTERN_UNLESS_MAIN_MODULE +diff --git a/include/iobuf.h b/include/iobuf.h +index 030f8c8e9..b4d26b7e1 100644 +--- a/include/iobuf.h ++++ b/include/iobuf.h +@@ -69,14 +69,7 @@ struct iobuf_struct { + } unget; + }; + +-#ifndef EXTERN_UNLESS_MAIN_MODULE +-#if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE) +-#define EXTERN_UNLESS_MAIN_MODULE extern +-#else +-#define EXTERN_UNLESS_MAIN_MODULE +-#endif +-#endif +-EXTERN_UNLESS_MAIN_MODULE int iobuf_debug_mode; ++extern int iobuf_debug_mode; + + void iobuf_enable_special_filenames ( int yes ); + int iobuf_is_pipe_filename (const char *fname); +diff --git a/include/memory.h b/include/memory.h +index d414a9b2e..6698337e3 100644 +--- a/include/memory.h ++++ b/include/memory.h +@@ -91,7 +91,7 @@ unsigned secmem_get_flags(void); + #define DBG_MEMSTAT memory_stat_debug_mode + + #ifndef EXTERN_UNLESS_MAIN_MODULE +-#if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE) ++#if !defined (INCLUDED_BY_MAIN_MODULE) + #define EXTERN_UNLESS_MAIN_MODULE extern + #else + #define EXTERN_UNLESS_MAIN_MODULE +diff --git a/include/mpi.h b/include/mpi.h +index a4c16f5af..7a45ff805 100644 +--- a/include/mpi.h ++++ b/include/mpi.h +@@ -36,7 +36,7 @@ + #include "memory.h" + + #ifndef EXTERN_UNLESS_MAIN_MODULE +-#if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE) ++#if !defined (INCLUDED_BY_MAIN_MODULE) + #define EXTERN_UNLESS_MAIN_MODULE extern + #else + #define EXTERN_UNLESS_MAIN_MODULE +diff --git a/tools/bftest.c b/tools/bftest.c +index 8a1572c2b..5afd7e125 100644 +--- a/tools/bftest.c ++++ b/tools/bftest.c +@@ -26,6 +26,7 @@ + #include + #endif + ++#define INCLUDED_BY_MAIN_MODULE + #include "util.h" + #include "cipher.h" + #include "i18n.h" +diff --git a/tools/mpicalc.c b/tools/mpicalc.c +index 46e5fc824..31acd82a4 100644 +--- a/tools/mpicalc.c ++++ b/tools/mpicalc.c +@@ -31,6 +31,7 @@ + #include + #include + ++#define INCLUDED_BY_MAIN_MODULE + #include "util.h" + #include "mpi.h" + #include "i18n.h" +diff --git a/util/iobuf.c b/util/iobuf.c +index c8442929a..0d9ee4cec 100644 +--- a/util/iobuf.c ++++ b/util/iobuf.c +@@ -113,6 +113,8 @@ typedef struct { + static CLOSE_CACHE close_cache; + #endif + ++int iobuf_debug_mode; ++ + #ifdef _WIN32 + typedef struct { + int sock; +-- +2.26.2 + diff --git a/package/gnupg/gnupg.hash b/package/gnupg/gnupg.hash index 3bacdf6563..f4b33bda6b 100644 --- a/package/gnupg/gnupg.hash +++ b/package/gnupg/gnupg.hash @@ -1,3 +1,5 @@ # Locally computed based on signature # https://gnupg.org/ftp/gcrypt/gnupg/gnupg-1.4.23.tar.bz2.sig -sha256 c9462f17e651b6507848c08c430c791287cd75491f8b5a8b50c6ed46b12678ba gnupg-1.4.23.tar.bz2 +sha256 c9462f17e651b6507848c08c430c791287cd75491f8b5a8b50c6ed46b12678ba gnupg-1.4.23.tar.bz2 +# locally computed +sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/gnupg/gnupg.mk b/package/gnupg/gnupg.mk index bedcf6c985..617def884e 100644 --- a/package/gnupg/gnupg.mk +++ b/package/gnupg/gnupg.mk @@ -79,5 +79,11 @@ endef GNUPG_POST_INSTALL_TARGET_HOOKS += GNUPG_REMOVE_GPGSPLIT endif +define GNUPG_FIXUP_GPG_ZIP + test -f $(TARGET_DIR)/usr/bin/gpg-zip && \ + $(SED) 's%^TAR=.*%TAR=/bin/tar%' $(TARGET_DIR)/usr/bin/gpg-zip +endef +GNUPG_POST_INSTALL_TARGET_HOOKS += GNUPG_FIXUP_GPG_ZIP + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/gnupg2/gnupg2.hash b/package/gnupg2/gnupg2.hash index f985e11ad3..99100e3179 100644 --- a/package/gnupg2/gnupg2.hash +++ b/package/gnupg2/gnupg2.hash @@ -1,7 +1,7 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q4/000433.html -sha1 2aeccc35ea8034306ff7a1072b84abbaa79619c3 gnupg-2.2.12.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2020q1/000444.html +sha1 d5290f0781df5dc83302127d6065fb59b35e53d7 gnupg-2.2.20.tar.bz2 # Calculated based on the hash above and signature -# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.12.tar.bz2.sig +# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.20.tar.bz2.sig # using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 db030f8b4c98640e91300d36d516f1f4f8fe09514a94ea9fc7411ee1a34082cb gnupg-2.2.12.tar.bz2 +sha256 04a7c9d48b74c399168ee8270e548588ddbe52218c337703d7f06373d326ca30 gnupg-2.2.20.tar.bz2 sha256 bc2d6664f6276fa0a72d57633b3ae68dc7dcb677b71018bf08c8e93e509f1357 COPYING diff --git a/package/gnupg2/gnupg2.mk b/package/gnupg2/gnupg2.mk index 9365e960f2..c4a0ec980b 100644 --- a/package/gnupg2/gnupg2.mk +++ b/package/gnupg2/gnupg2.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPG2_VERSION = 2.2.12 +GNUPG2_VERSION = 2.2.20 GNUPG2_SOURCE = gnupg-$(GNUPG2_VERSION).tar.bz2 GNUPG2_SITE = https://gnupg.org/ftp/gcrypt/gnupg GNUPG2_LICENSE = GPL-3.0+ diff --git a/package/gnuplot/0001-configure-add-without-demo-option.patch b/package/gnuplot/0001-configure-add-without-demo-option.patch index a9abfd06ba..a50e6c2c1b 100644 --- a/package/gnuplot/0001-configure-add-without-demo-option.patch +++ b/package/gnuplot/0001-configure-add-without-demo-option.patch @@ -8,10 +8,9 @@ Originally written by Anthony Viallard Signed-off-by: Thomas Petazzoni Signed-off-by: Vicente Olivert Riera -diff -rup a/configure.in b/configure.in ---- a/configure.in 2016-09-07 05:14:29.000000000 +0100 -+++ b/configure.in 2016-12-01 12:09:31.487464774 +0000 -@@ -818,6 +818,16 @@ if test "$with_cwdrc" = yes; then +--- a/configure.ac 2019-11-27 23:52:29.000000000 +0100 ++++ b/configure.ac 2020-02-13 10:24:50.801842269 +0100 +@@ -755,6 +755,16 @@ if test "$with_cwdrc" = yes; then [ Define if you want to read .gnuplot from current directory (SECURITY RISK!).]) fi @@ -25,12 +24,12 @@ diff -rup a/configure.in b/configure.in +AC_ARG_ENABLE(demo,dnl +[ --disable-demo do not build demo files]) + - dnl Sort help/subtopic tables by row or column - AC_ARG_WITH(row-help,dnl - [ --with-row-help format help and subtopic tables by row (default) -@@ -1303,6 +1313,24 @@ fi - dnl No configuration option for this one yet - AC_DEFINE(MAX_PARALLEL_AXES,7, [Maximum number of parallel axes supported]) + dnl Disable experimental support for nonlinear axes + AC_ARG_WITH(nonlinear-axes,dnl + [ --without-nonlinear-axes disable support for nonlinear axes]) +@@ -1236,6 +1246,24 @@ if test -n "${DIST_CONTACT}"; then + AC_DEFINE_UNQUOTED([DIST_CONTACT],["$DIST_CONTACT"],[Contact address for modified and binary distributed gnuplot versions]) + fi +dnl build doc files +if test "$enable_doc" != no; then @@ -53,15 +52,14 @@ diff -rup a/configure.in b/configure.in dnl Substitute variables AC_SUBST(PACKAGE) AC_SUBST(VERSION_MAJOR) -diff -rup a/Makefile.am b/Makefile.am ---- a/Makefile.am 2014-05-30 17:38:08.000000000 +0100 -+++ b/Makefile.am 2016-12-01 12:09:31.488464794 +0000 +--- a/Makefile.am 2019-11-19 22:57:18.000000000 +0100 ++++ b/Makefile.am 2020-02-13 10:17:55.753012739 +0100 @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- AUTOMAKE_OPTIONS = foreign --SUBDIRS = config m4 term src docs $(LISPDIR) man demo tutorial share -+SUBDIRS = config m4 term src $(DOCSUBDIR) $(LISPDIR) man $(DEMOSUBDIR) tutorial share +-SUBDIRS = config m4 term src docs man demo tutorial share ++SUBDIRS = config m4 term src $(DOCSUBDIR) man $(DEMOSUBDIR) tutorial share - EXTRA_DIST = BUGS CodeStyle Copyright FAQ.pdf GNUmakefile INSTALL INSTALL.gnu \ - Makefile.maint PATCHLEVEL PGPKEYS PORTING README RELEASE_NOTES \ + EXTRA_DIST = BUGS Copyright FAQ.pdf GNUmakefile INSTALL INSTALL.gnu \ + Makefile.maint PATCHLEVEL PGPKEYS README RELEASE_NOTES \ diff --git a/package/gnuplot/0002-use-gdlib-config-properly.patch b/package/gnuplot/0002-use-gdlib-config-properly.patch deleted file mode 100644 index 690a82652a..0000000000 --- a/package/gnuplot/0002-use-gdlib-config-properly.patch +++ /dev/null @@ -1,27 +0,0 @@ -Fix usage of gdlib-config - -gnuplot configure.in script properly takes care of finding -gdlib-config using AC_PATH_PROG... but then directly uses gdlib-config -instead of going through the GDLIB_CONFIG variable that AC_PATH_PROG -has defined. Which means that whenever a gdlib-config binary not in -the PATH is being used, it does not use it. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure.in -=================================================================== ---- a/configure.in -+++ b/configure.in -@@ -537,9 +537,9 @@ - if test "$with_gd" != no; then - AC_PATH_PROG([GDLIB_CONFIG], [gdlib-config]) - if test -n "$GDLIB_CONFIG"; then -- libgd_CPPFLAGS=`gdlib-config --cflags` -- libgd_LDFLAGS=`gdlib-config --ldflags` -- libgd_LIBS=`gdlib-config --libs` -+ libgd_CPPFLAGS=`$GDLIB_CONFIG --cflags` -+ libgd_LDFLAGS=`$GDLIB_CONFIG --ldflags` -+ libgd_LIBS=`$GDLIB_CONFIG --libs` - elif test -d "$with_gd"; then - libgd_CPPFLAGS="-I$with_gd/include" - libgd_LDFLAGS="-L$with_gd/lib" diff --git a/package/gnuplot/gnuplot.hash b/package/gnuplot/gnuplot.hash index 1ea8c2852f..ef80a29d3d 100644 --- a/package/gnuplot/gnuplot.hash +++ b/package/gnuplot/gnuplot.hash @@ -1,5 +1,6 @@ -# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0.6/ -md5 8ec46520a86a61163a701b00404faf1a gnuplot-5.0.6.tar.gz -sha1 f7b8948166b22e5bd658d5cf7579716f4821dba0 gnuplot-5.0.6.tar.gz +# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.2.8/ +md5 2df8767c7399bee57a96296d46b4d5fb gnuplot-5.2.8.tar.gz +sha1 dc018b1e0a31b770d4635958badff13498babc4d gnuplot-5.2.8.tar.gz # Locally computed -sha256 5bbe4713e555c2e103b7d4ffd45fca69551fff09cf5c3f9cb17428aaacc9b460 gnuplot-5.0.6.tar.gz +sha256 60a6764ccf404a1668c140f11cc1f699290ab70daa1151bb58fed6139a28ac37 gnuplot-5.2.8.tar.gz +sha256 895928ec0735cca1c8cec42656c7e314a065d0242813bb8693c0c1bf61fd4e4d Copyright diff --git a/package/gnuplot/gnuplot.mk b/package/gnuplot/gnuplot.mk index d59605c570..694b6cb886 100644 --- a/package/gnuplot/gnuplot.mk +++ b/package/gnuplot/gnuplot.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPLOT_VERSION = 5.0.6 +GNUPLOT_VERSION = 5.2.8 GNUPLOT_SITE = http://downloads.sourceforge.net/project/gnuplot/gnuplot/$(GNUPLOT_VERSION) GNUPLOT_LICENSE = gnuplot license (open source) GNUPLOT_LICENSE_FILES = Copyright diff --git a/package/gnuradio/0001-gr-digital-glfsr.h-drop-boost-cstdint.hpp-and-use-cs.patch b/package/gnuradio/0001-gr-digital-glfsr.h-drop-boost-cstdint.hpp-and-use-cs.patch new file mode 100644 index 0000000000..532bebcf2e --- /dev/null +++ b/package/gnuradio/0001-gr-digital-glfsr.h-drop-boost-cstdint.hpp-and-use-cs.patch @@ -0,0 +1,39 @@ +From f643bc12100c67288adda3699a9e61d6a66fb529 Mon Sep 17 00:00:00 2001 +From: Gwenhael Goavec-Merou +Date: Fri, 7 Feb 2020 16:49:30 +0100 +Subject: [PATCH] gr-digital:glfsr.h: drop boost/cstdint.hpp and use cstdint + +gr-digital/glfsr.h include boost/cstdint.hpp to have uintxx_t. +These types are in boost namespace but nor using namespace xxx, nor boost:: are used. +The result is : +In file included from /home/buildroot/autobuild/instance-0/output-1/build/gnuradio-3.8.0.0/gr-digital/lib/glfsr.cc:23: +/home/buildroot/autobuild/instance-0/output-1/build/gnuradio-3.8.0.0/gr-digital/lib/../include/gnuradio/digital/glfsr.h:42:5: error: 'uint32_t' does not name a type; did you mean 'u_int32_t'? +uint32_t d_shift_register; +^~~~~~~~ +u_int32_t + +Since Gnuradio policy is Less boost == better and C++11 is used, use cstdint +instead of boost/cstdint.hpp. + +[backported from 475e4a156b516c089175afb998acdc80b740b437] +Signed-off-by: Gwenhael Goavec-Merou +--- + gr-digital/include/gnuradio/digital/glfsr.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gr-digital/include/gnuradio/digital/glfsr.h b/gr-digital/include/gnuradio/digital/glfsr.h +index 0b5141f1f..1003bcd01 100644 +--- a/gr-digital/include/gnuradio/digital/glfsr.h ++++ b/gr-digital/include/gnuradio/digital/glfsr.h +@@ -24,7 +24,7 @@ + #define INCLUDED_DIGITAL_GLFSR_H + + #include +-#include ++#include + + namespace gr { + namespace digital { +-- +2.24.1 + diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in index 6d0669779f..bf69ed605b 100644 --- a/package/gnuradio/Config.in +++ b/package/gnuradio/Config.in @@ -1,9 +1,11 @@ comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library" depends on BR2_USE_MMU - depends on !BR2_PACKAGE_PYTHON3 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS +comment "gnuradio needs a toolchain not affected by GCC bug 64735" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + config BR2_PACKAGE_GNURADIO bool "gnuradio" depends on BR2_INSTALL_LIBSTDCPP @@ -11,14 +13,17 @@ config BR2_PACKAGE_GNURADIO depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU # use fork() depends on BR2_USE_WCHAR # boost - depends on !BR2_PACKAGE_PYTHON3 + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_ATOMIC select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_FILESYSTEM select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS select BR2_PACKAGE_BOOST_REGEX select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD + select BR2_PACKAGE_LOG4CPP + select BR2_PACKAGE_GMP help GNU Radio is a free & open-source software development toolkit that provides signal processing blocks to implement @@ -56,21 +61,20 @@ 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 + depends on BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy select BR2_PACKAGE_BOOST_PYTHON select BR2_PACKAGE_PYTHON_NUMPY # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime help Enable python component +comment "python support needs glibc or musl" + depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) + config BR2_PACKAGE_GNURADIO_UTILS bool "gr-utils support" depends on BR2_PACKAGE_GNURADIO_PYTHON diff --git a/package/gnuradio/gnuradio.hash b/package/gnuradio/gnuradio.hash index 884f7ae758..2f147761d8 100644 --- a/package/gnuradio/gnuradio.hash +++ b/package/gnuradio/gnuradio.hash @@ -1,5 +1,3 @@ -# From http://gnuradio.org/releases/gnuradio/sha256sums -sha256 1e07ce40fa3c3eede1fb54e320dad8a221a3c01de341e9cef2d7b265ed06a6e9 gnuradio-3.7.13.3.tar.gz - -# Hash for license file: +# Locally computed +sha256 e15311e7da9fe2bb790cc36321d7eb2d93b9dfa0c1552fa5d534dd99d22873be gnuradio-3.8.1.0.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gnuradio/gnuradio.mk b/package/gnuradio/gnuradio.mk index ef9723cb01..4d69de8dd1 100644 --- a/package/gnuradio/gnuradio.mk +++ b/package/gnuradio/gnuradio.mk @@ -4,28 +4,36 @@ # ################################################################################ -GNURADIO_VERSION = 3.7.13.3 -GNURADIO_SITE = http://gnuradio.org/releases/gnuradio +GNURADIO_VERSION = 3.8.1.0 +GNURADIO_SITE = https://github.com/gnuradio/gnuradio/releases/download/v$(GNURADIO_VERSION) GNURADIO_LICENSE = GPL-3.0+ GNURADIO_LICENSE_FILES = COPYING GNURADIO_SUPPORTS_IN_SOURCE_BUILD = NO +# needed to determine site-packages path +ifeq ($(BR2_PACKAGE_PYTHON),y) +GNURADIO_PYVER = $(PYTHON_VERSION_MAJOR) +else ifeq ($(BR2_PACKAGE_PYTHON3),y) +GNURADIO_PYVER = $(PYTHON3_VERSION_MAJOR) +endif + # host-python-mako and host-python-six are needed for volk to compile GNURADIO_DEPENDENCIES = \ + $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) \ host-python-mako \ host-python-six \ host-swig \ - boost - -ifeq ($(BR2_PACKAGE_ORC),y) -GNURADIO_DEPENDENCIES += orc -endif + boost \ + log4cpp \ + gmp GNURADIO_CONF_OPTS = \ + -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python \ -DENABLE_DEFAULT=OFF \ -DENABLE_VOLK=ON \ -DENABLE_GNURADIO_RUNTIME=ON \ + -DENABLE_TESTING=OFF \ -DENABLE_GR_QTGUI=OFF \ -DXMLTO_EXECUTABLE=NOTFOUND @@ -37,20 +45,11 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) GNURADIO_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic endif -# Yes, this is silly, because -march is already known by the compiler -# with the internal toolchain, and passed by the external wrapper for -# external toolchains. Nonetheless, gnuradio does some matching on the -# CFLAGS to decide whether to build the NEON functions or not, and -# wants to see the string 'armv7' in the CFLAGS. -ifeq ($(BR2_ARM_CPU_ARMV7A)$(BR2_ARM_CPU_HAS_NEON),yy) -GNURADIO_CONF_OPTS += -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -march=armv7-a" -endif - -# As soon as -mfpu=neon is supported by the compiler, gnuradio will try -# to use it. But having NEON support in the compiler doesn't necessarily -# mean we have NEON support in our CPU. -ifeq ($(BR2_ARM_CPU_HAS_NEON),) -GNURADIO_CONF_OPTS += -Dhave_mfpu_neon=0 +ifeq ($(BR2_PACKAGE_ORC),y) +GNURADIO_DEPENDENCIES += orc +GNURADIO_CONF_OPTS += -DENABLE_ORC=ON +else +GNURADIO_CONF_OPTS += -DENABLE_ORC=OFF endif ifeq ($(BR2_PACKAGE_GNURADIO_ANALOG),y) @@ -115,24 +114,21 @@ 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_DEPENDENCIES += python3 GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON +# mandatory to install python modules in site-packages and to use +# correct path for python libraries +GNURADIO_CONF_OPTS += -DGR_PYTHON_RELATIVE=ON \ + -DGR_PYTHON_DIR=lib/python$(GNURADIO_PYVER)/site-packages else GNURADIO_CONF_OPTS += -DENABLE_PYTHON=OFF endif ifeq ($(BR2_PACKAGE_GNURADIO_PAGER),y) -GNURADIO_CONF_OPTS += -DENABLE_PAGER=ON +GNURADIO_CONF_OPTS += -DENABLE_GR_PAGER=ON else -GNURADIO_CONF_OPTS += -DENABLE_PAGER=OFF +GNURADIO_CONF_OPTS += -DENABLE_GR_PAGER=OFF endif ifeq ($(BR2_PACKAGE_GNURADIO_TRELLIS),y) diff --git a/package/gnutls/0001-Fix-gnulib-stdio.h-include-on-uclibc.patch b/package/gnutls/0001-Fix-gnulib-stdio.h-include-on-uclibc.patch new file mode 100644 index 0000000000..758e7cca73 --- /dev/null +++ b/package/gnutls/0001-Fix-gnulib-stdio.h-include-on-uclibc.patch @@ -0,0 +1,49 @@ +From 60fa934ffba3c230040328fdbbbf51f417f12871 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20S=C3=B8rensen?= +Date: Mon, 22 Jun 2020 14:11:05 +0200 +Subject: [PATCH] Fix gnulib stdio.h include on uclibc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The __need_FILE define used by gnulib interferes with the uClibc stdio.h +header, so move the inclusion the stdio.h to after __need_FILE has been +undefined again. + +Signed-off-by: Stefan Sørensen +--- + gl/fopen.c | 2 +- + src/gl/fopen.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gl/fopen.c b/gl/fopen.c +index 8d6625a..248692c 100644 +--- a/gl/fopen.c ++++ b/gl/fopen.c +@@ -23,8 +23,8 @@ + #include + + /* Get the original definition of fopen. It might be defined as a macro. */ +-#include + #undef __need_FILE ++#include + + static FILE * + orig_fopen (const char *filename, const char *mode) +diff --git a/src/gl/fopen.c b/src/gl/fopen.c +index 47d7f19..1f22f4f 100644 +--- a/src/gl/fopen.c ++++ b/src/gl/fopen.c +@@ -23,8 +23,8 @@ + #include + + /* Get the original definition of fopen. It might be defined as a macro. */ +-#include + #undef __need_FILE ++#include + + static FILE * + orig_fopen (const char *filename, const char *mode) +-- +2.25.4 + diff --git a/package/gnutls/Config.in b/package/gnutls/Config.in index 7e8dcc1e4f..15b930b6bd 100644 --- a/package/gnutls/Config.in +++ b/package/gnutls/Config.in @@ -16,6 +16,11 @@ config BR2_PACKAGE_GNUTLS if BR2_PACKAGE_GNUTLS +config BR2_PACKAGE_GNUTLS_OPENSSL + bool "OpenSSL compatibility library" + help + Install OpenSSL compatibility library. + config BR2_PACKAGE_GNUTLS_TOOLS bool "install tools" select BR2_PACKAGE_ARGP_STANDALONE \ diff --git a/package/gnutls/gnutls.hash b/package/gnutls/gnutls.hash index 8c0e0d69d5..6a4203f3a2 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.6/gnutls-3.6.7.1.tar.xz.sig -sha256 881b26409ecd8ea4c514fd3fbdb6fae5fab422ca7b71116260e263940a4bbbad gnutls-3.6.7.1.tar.xz +# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.14.tar.xz.sig +sha256 5630751adec7025b8ef955af4d141d00d252a985769f51b4059e5affa3d39d63 gnutls-3.6.14.tar.xz # Locally calculated -sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b doc/COPYING -sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 doc/COPYING.LESSER +sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b doc/COPYING +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 doc/COPYING.LESSER diff --git a/package/gnutls/gnutls.mk b/package/gnutls/gnutls.mk index e7c5968204..34878e97b4 100644 --- a/package/gnutls/gnutls.mk +++ b/package/gnutls/gnutls.mk @@ -5,11 +5,17 @@ ################################################################################ GNUTLS_VERSION_MAJOR = 3.6 -GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).7.1 +GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).14 GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz GNUTLS_SITE = https://www.gnupg.org/ftp/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR) -GNUTLS_LICENSE = LGPL-2.1+ (core library), GPL-3.0+ (gnutls-openssl library) -GNUTLS_LICENSE_FILES = doc/COPYING doc/COPYING.LESSER +GNUTLS_LICENSE = LGPL-2.1+ (core library) +GNUTLS_LICENSE_FILES = doc/COPYING.LESSER + +ifeq ($(BR2_PACKAGE_GNUTLS_OPENSSL),y) +GNUTLS_LICENSE += , GPL-3.0+ (gnutls-openssl library) +GNUTLS_LICENSE_FILES += doc/COPYING +endif + GNUTLS_DEPENDENCIES = host-pkgconf libtasn1 nettle pcre GNUTLS_CONF_OPTS = \ --disable-doc \ @@ -20,6 +26,7 @@ GNUTLS_CONF_OPTS = \ --enable-openssl-compatibility \ --with-librt-prefix=$(STAGING_DIR) \ --without-tpm \ + $(if $(BR2_PACKAGE_GNUTLS_OPENSSL),--enable,--disable)-openssl-compatibility \ $(if $(BR2_PACKAGE_GNUTLS_TOOLS),--enable-tools,--disable-tools) GNUTLS_CONF_ENV = gl_cv_socket_ipv6=yes \ ac_cv_header_wchar_h=$(if $(BR2_USE_WCHAR),yes,no) \ @@ -46,7 +53,7 @@ endif # Prerequisite for crywrap ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) -GNUTLS_CONF_ENV += LIBS="-largp" +GNUTLS_LIBS += -largp GNUTLS_DEPENDENCIES += argp-standalone endif @@ -86,4 +93,10 @@ else ifeq ($(BR2_PACKAGE_CA_CERTIFICATES),y) GNUTLS_CONF_OPTS += --with-default-trust-store-file=/etc/ssl/certs/ca-certificates.crt endif +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +GNUTLS_LIBS += -latomic +endif + +GNUTLS_CONF_ENV += LIBS="$(GNUTLS_LIBS)" + $(eval $(autotools-package)) diff --git a/package/go-bootstrap/go-bootstrap.hash b/package/go-bootstrap/go-bootstrap.hash index 8938266f2d..03fd7d571f 100644 --- a/package/go-bootstrap/go-bootstrap.hash +++ b/package/go-bootstrap/go-bootstrap.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959 go1.4.3.src.tar.gz +sha256 9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959 go1.4.3.src.tar.gz +sha256 dd26a7abddd02e2d0aba97805b31f248ef7835d9e10da289b22e3b8ab78b324d LICENSE diff --git a/package/go/Config.in.host b/package/go/Config.in.host index f619ca0073..3f16dbaec3 100644 --- a/package/go/Config.in.host +++ b/package/go/Config.in.host @@ -1,4 +1,5 @@ -config BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS +# Target go packages should depend on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS +config BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS bool default y depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_20006 @@ -10,10 +11,16 @@ config BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS # MIPS R6 support in Go has not yet been developed. depends on !BR2_MIPS_CPU_MIPS64R6 -config BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS +config BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS bool default y - depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS # Go doesn't support CGO linking on MIPS64x platforms # See: https://github.com/karalabe/xgo/issues/46 depends on !BR2_mips64 && !BR2_mips64el + +# Host go packages should depend on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS +config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS + bool + default y + depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS diff --git a/package/go/go.hash b/package/go/go.hash index fad5f29a71..f58449d079 100644 --- a/package/go/go.hash +++ b/package/go/go.hash @@ -1,3 +1,3 @@ # From https://golang.org/dl/ -sha256 a96da1425dcbec094736033a8a416316547f8100ab4b72c31d4824d761d3e133 go1.11.6.src.tar.gz +sha256 197333e97290e9ea8796f738d61019dcba1c377c2f3961fd6a114918ecc7ab06 go1.13.14.src.tar.gz sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE diff --git a/package/go/go.mk b/package/go/go.mk index b91040a103..72604a250b 100644 --- a/package/go/go.mk +++ b/package/go/go.mk @@ -4,13 +4,20 @@ # ################################################################################ -GO_VERSION = 1.11.6 +GO_VERSION = 1.13.14 GO_SITE = https://storage.googleapis.com/golang GO_SOURCE = go$(GO_VERSION).src.tar.gz GO_LICENSE = BSD-3-Clause GO_LICENSE_FILES = LICENSE +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 + +ifeq ($(BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS),y) + ifeq ($(BR2_arm),y) GO_GOARCH = arm ifeq ($(BR2_ARM_CPU_ARMV5),y) @@ -36,11 +43,6 @@ else ifeq ($(BR2_mips64el),y) 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 = \ @@ -62,6 +64,19 @@ else HOST_GO_CGO_ENABLED = 0 endif +HOST_GO_CROSS_ENV = \ + CC_FOR_TARGET="$(TARGET_CC)" \ + CXX_FOR_TARGET="$(TARGET_CXX)" \ + GOARCH=$(GO_GOARCH) \ + $(if $(GO_GOARM),GOARM=$(GO_GOARM)) \ + GO_ASSUME_CROSSCOMPILING=1 + +else # !BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS +# host-go can still be used to build packages for the host. No need to set all +# the arch stuff since we will not be cross-compiling. +HOST_GO_CGO_ENABLED = 1 +endif # BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + # 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 = \ @@ -71,21 +86,15 @@ HOST_GO_MAKE_ENV = \ GOROOT_FINAL=$(HOST_GO_ROOT) \ GOROOT="$(@D)" \ GOBIN="$(@D)/bin" \ - GOARCH=$(GO_GOARCH) \ - $(if $(GO_GOARM),GOARM=$(GO_GOARM)) \ GOOS=linux \ CC=$(HOSTCC_NOCCACHE) \ CXX=$(HOSTCXX_NOCCACHE) \ - GO_ASSUME_CROSSCOMPILING=1 - -HOST_GO_TARGET_CC = \ - CC_FOR_TARGET="$(TARGET_CC)" \ - CXX_FOR_TARGET="$(TARGET_CXX)" + CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \ + $(HOST_GO_CROSS_ENV) define HOST_GO_BUILD_CMDS cd $(@D)/src && \ - $(HOST_GO_MAKE_ENV) $(HOST_GO_TARGET_CC) CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \ - ./make.bash $(if $(VERBOSE),-v) + $(HOST_GO_MAKE_ENV) ./make.bash $(if $(VERBOSE),-v) endef define HOST_GO_INSTALL_CMDS diff --git a/package/gob2/gob2.hash b/package/gob2/gob2.hash index 3678bdd5c9..7edf518f34 100644 --- a/package/gob2/gob2.hash +++ b/package/gob2/gob2.hash @@ -1,2 +1,4 @@ # Locally calculated sha256 f7ee84c07ca88ae96e5a60461957cc4dd0aa69d61804433d1c85de3d50be8026 gob2-2.0.20.tar.xz +sha256 b8a2f73f743dc1a51aff23f1aacbca4b868564db52496fa3c0caba755bfd1eaf COPYING +sha256 7222386392eecf784e2f0c406f412f238cb6d25865a8447ae0947b32bb569889 COPYING.generated-code diff --git a/package/gob2/gob2.mk b/package/gob2/gob2.mk index fe60673821..d0cce8fb76 100644 --- a/package/gob2/gob2.mk +++ b/package/gob2/gob2.mk @@ -7,6 +7,8 @@ GOB2_VERSION = 2.0.20 GOB2_SOURCE = gob2-$(GOB2_VERSION).tar.xz GOB2_SITE = http://ftp.5z.com/pub/gob +GOB2_LICENSE = GPL-2.0+ +GOB2_LICENSE_FILES = COPYING COPYING.generated-code HOST_GOB2_DEPENDENCIES = host-bison host-flex host-libglib2 $(eval $(host-autotools-package)) diff --git a/package/gobject-introspection/0001-disable-tests.patch b/package/gobject-introspection/0001-disable-tests.patch new file mode 100644 index 0000000000..c75c7512d9 --- /dev/null +++ b/package/gobject-introspection/0001-disable-tests.patch @@ -0,0 +1,34 @@ +From 473b4288d8f4e891d0d21f7b60ef8053c5cd7af9 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 3 Feb 2020 10:07:15 -0800 +Subject: [PATCH] disable tests + +If introspection data on the host is not built, meson throws the error: +"Unknown variable "typelibs". Because tests are not required, removing +the subdir tests alltogether fixes this issue. + +Signed-off-by: Adam Duskett +--- + meson.build | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/meson.build b/meson.build +index eed4d6b..5058664 100644 +--- a/meson.build ++++ b/meson.build +@@ -214,12 +214,6 @@ if get_option('build_introspection_data') == true + endif + subdir('docs') + +-# The tests will also run, which is not possible if they +-# were built for a different architecture. +-if not meson.is_cross_build() +- subdir('tests') +-endif +- + install_data('Makefile.introspection', install_dir: join_paths(get_option('datadir'), 'gobject-introspection-1.0')) + install_data('m4/introspection.m4', install_dir: join_paths(get_option('datadir'), 'aclocal')) + +-- +2.24.1 + diff --git a/package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch b/package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch new file mode 100644 index 0000000000..08835d3ecc --- /dev/null +++ b/package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch @@ -0,0 +1,29 @@ +From 72a427bc50daee8f1ded0e9221e53dbbf2a80f08 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Wed, 14 Mar 2018 12:07:10 -0400 +Subject: [PATCH] Add rpath links to ccompiler + +This patch allows gobject-introspection to process extra paths passed to the +compiler via the GIR_EXTRA_LIBS_PATH variable. + +Signed-off-by: Adam Duskett +--- + giscanner/ccompiler.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py +index a8bd5b1..51bb9bc 100644 +--- a/giscanner/ccompiler.py ++++ b/giscanner/ccompiler.py +@@ -229,6 +229,8 @@ class CCompiler(object): + + for envvar in runtime_path_envvar: + if envvar in os.environ: ++ for envvar_path in os.environ[envvar].split(':'): ++ args.append("-Wl,-rpath-link," + envvar_path) + os.environ[envvar] = \ + os.pathsep.join(runtime_paths + [os.environ[envvar]]) + else: +-- +2.14.3 + diff --git a/package/gobject-introspection/0003-ignore-error-return-codes-from-ldd-wrapper.patch b/package/gobject-introspection/0003-ignore-error-return-codes-from-ldd-wrapper.patch new file mode 100644 index 0000000000..d43dc1393e --- /dev/null +++ b/package/gobject-introspection/0003-ignore-error-return-codes-from-ldd-wrapper.patch @@ -0,0 +1,28 @@ +From f742da8b3913f4818d3f419117076afe62f4dbf4 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 5 Sep 2018 16:46:52 +0200 +Subject: [PATCH] giscanner: ignore error return codes from ldd-wrapper + +prelink-rtld, which we use instead of ldd returns 127 when it can't find a library. +It is not an error per se, but it breaks subprocess.check_output(). + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin +Signed-off-by: Adam Duskett +--- + giscanner/shlibs.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py +index d67df95..80352a6 100644 +--- a/giscanner/shlibs.py ++++ b/giscanner/shlibs.py +@@ -103,7 +103,7 @@ def _resolve_non_libtool(options, binary, libraries): + args.extend(['otool', '-L', binary.args[0]]) + else: + args.extend(['ldd', binary.args[0]]) +- output = subprocess.check_output(args) ++ output = subprocess.run(args, check=False, stdout=subprocess.PIPE).stdout + if isinstance(output, bytes): + output = output.decode("utf-8", "replace") + diff --git a/package/gobject-introspection/Config.in b/package/gobject-introspection/Config.in new file mode 100644 index 0000000000..e312852cf2 --- /dev/null +++ b/package/gobject-introspection/Config.in @@ -0,0 +1,42 @@ +config BR2_PACKAGE_GOBJECT_INTROSPECTION + bool "gobject-introspection" + depends on BR2_USE_MMU # python3, libglib2 + depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS + # While gcc 4.8 might be compatible with gobject-introspection, + # The autobuilders use some toolchains from codesourcery which + # have gcc 4.8 and a very old version of glibc, which will cause + # compile errors with locale.c. As such, require 4.9 until this + # can be verified. + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_TOOLCHAIN_USES_GLIBC + # gobject-introspection does not require python3 to run on the + # target; however, because the tools run in a qemu wrapper, a + # cross-compiled python3 must be installed to staging. As there + # is no current mechanism to tell Buildroot only to install + # python to staging, then python must also be installed + # unconditionally to the target when building + # gobject-introspection. + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_HOST_QEMU + select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE + select BR2_PACKAGE_LIBFFI + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_ZLIB + help + GObject introspection is a middleware layer between C + libraries (using GObject) and language bindings. The C library + can be scanned at compile time and generate a metadata file, + in addition to the actual native C library. Then at runtime, + language bindings can read this metadata and automatically + provide bindings to call into the C library. + + https://wiki.gnome.org/action/show/Projects/GObjectIntrospection + +comment "gobject-introspection needs python3" + depends on !BR2_PACKAGE_PYTHON3 + +comment "gobject-introspection needs a glibc toolchain, gcc >= 4.9" + depends on BR2_USE_MMU + depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_USES_GLIBC || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/gobject-introspection/g-ir-compiler.in b/package/gobject-introspection/g-ir-compiler.in new file mode 100644 index 0000000000..3313cc501f --- /dev/null +++ b/package/gobject-introspection/g-ir-compiler.in @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +$(dirname $0)/g-ir-scanner-qemuwrapper $(dirname $0)/g-ir-compiler.real "$@" diff --git a/package/gobject-introspection/g-ir-scanner-lddwrapper.in b/package/gobject-introspection/g-ir-scanner-lddwrapper.in new file mode 100644 index 0000000000..c19314566a --- /dev/null +++ b/package/gobject-introspection/g-ir-scanner-lddwrapper.in @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +${HOST_DIR}/sbin/prelink-rtld --root=$(dirname $0)/../../ "$@" diff --git a/package/gobject-introspection/g-ir-scanner-qemuwrapper.in b/package/gobject-introspection/g-ir-scanner-qemuwrapper.in new file mode 100644 index 0000000000..cad7ef875e --- /dev/null +++ b/package/gobject-introspection/g-ir-scanner-qemuwrapper.in @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# Pass -r to qemu-user as to trick glibc into not errorings out if the host kernel +# is older than the target kernel. +# Use a modules directory which does not exist so we don't load random things +# which may then get deleted (or their dependencies) and potentially segfault +GIO_MODULE_DIR=$(dirname $0)/../lib/gio/modules-dummy \ +@QEMU_USER@ -r @TOOLCHAIN_HEADERS_VERSION@ \ +-L $(dirname $0)/../../ \ +-E LD_LIBRARY_PATH=${GIR_EXTRA_LIBS_PATH}:.libs:$(dirname $0)/../lib:$(dirname $0)/../../lib \ +"$@" + +if [[ $? -ne 0 ]]; then + echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the .mk file should help." + echo 'Typically like this: PKG_MAKE_ENV += GIR_EXTRA_LIBS_PATH="$(@D)/.libs"' + exit 1 +fi diff --git a/package/gobject-introspection/g-ir-scanner.in b/package/gobject-introspection/g-ir-scanner.in new file mode 100644 index 0000000000..22df7be309 --- /dev/null +++ b/package/gobject-introspection/g-ir-scanner.in @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +# These environment variables are empty by default, and as such ccompiler.py +# defaults to either using the system tools (CC, CXX, and CPP) or leaving +# the variables blank (LDFLAGS, CFLAGS, and CPPFLAGS.) +# Export these variables to ensure all build systems can generate .gir and +# .typelib files properly. +export CPP="${CPP:-${HOST_DIR}/bin/@BASENAME_TARGET_CPP@}" +export CC="${CC:-${HOST_DIR}/bin/@BASENAME_TARGET_CC@}" +export CXX="${CXX:-${HOST_DIR}/bin/@BASENAME_TARGET_CXX@}" +export CPPFLAGS="${CPPFLAGS:-@TARGET_CPPFLAGS@}" +export CFLAGS="${CFLAGS:-@TARGET_CFLAGS@}" +export CXXFLAGS="${CXXFLAGS:-@TARGET_CXXFLAGS@}" +export LDFLAGS="${LDFLAGS:-@TARGET_LDFLAGS@}" + +export GI_SCANNER_DISABLE_CACHE=1 + +${HOST_DIR}/bin/g-ir-scanner \ +--lib-dirs-envvar=GIR_EXTRA_LIBS_PATH \ +--use-binary-wrapper=$(dirname $0)/g-ir-scanner-qemuwrapper \ +--use-ldd-wrapper=$(dirname $0)/g-ir-scanner-lddwrapper \ +--add-include-path=$(dirname $0)/../share/gir-1.0 "$@" diff --git a/package/gobject-introspection/gobject-introspection.hash b/package/gobject-introspection/gobject-introspection.hash new file mode 100644 index 0000000000..68bf63e055 --- /dev/null +++ b/package/gobject-introspection/gobject-introspection.hash @@ -0,0 +1,4 @@ +#From http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.64/gobject-introspection-1.64.1.sha256sum +sha256 80beae6728c134521926affff9b2e97125749b38d38744dc901f4010ee3e7fa7 gobject-introspection-1.64.1.tar.xz +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING.LGPL +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING.GPL diff --git a/package/gobject-introspection/gobject-introspection.mk b/package/gobject-introspection/gobject-introspection.mk new file mode 100644 index 0000000000..eefb2c83f7 --- /dev/null +++ b/package/gobject-introspection/gobject-introspection.mk @@ -0,0 +1,146 @@ +################################################################################ +# +# gobject-introspection +# +################################################################################ + +GOBJECT_INTROSPECTION_VERSION_MAJOR = 1.64 +GOBJECT_INTROSPECTION_VERSION = $(GOBJECT_INTROSPECTION_VERSION_MAJOR).1 +GOBJECT_INTROSPECTION_SITE = http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/$(GOBJECT_INTROSPECTION_VERSION_MAJOR) +GOBJECT_INTROSPECTION_SOURCE = gobject-introspection-$(GOBJECT_INTROSPECTION_VERSION).tar.xz +GOBJECT_INTROSPECTION_INSTALL_STAGING = YES +GOBJECT_INTROSPECTION_AUTORECONF = YES +GOBJECT_INTROSPECTION_LICENSE = LGPL-2.0+, GPL-2.0+, BSD-2-Clause +GOBJECT_INTROSPECTION_LICENSE_FILES = COPYING.LGPL COPYING.GPL giscanner/scannerlexer.l + +GOBJECT_INTROSPECTION_DEPENDENCIES = \ + host-autoconf-archive \ + host-gobject-introspection \ + host-prelink-cross \ + host-qemu \ + libffi \ + libglib2 \ + python3 \ + zlib + +HOST_GOBJECT_INTROSPECTION_DEPENDENCIES = \ + host-bison \ + host-flex \ + host-libglib2 \ + host-python3 + +# g-ir-scanner will default to /usr/bin/ld for linking if this is not set. +GOBJECT_INTROSPECTION_NINJA_ENV += \ + CC="$(TARGET_CC)" + +# When building, gobject-introspection uses tools/g-ir-scanner to build several +# .gir and .typelib files. g-ir-scanner does not use LDFLAGS, and by default, +# links to the system-installed libglib2 path. To remedy this issue, defining +# LD_LIBRARY_PATH forces g-ir-scanner to use our host installed libglib2 files. +HOST_GOBJECT_INTROSPECTION_NINJA_ENV += \ + LD_LIBRARY_PATH="$(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)$(HOST_DIR)/lib" + +# Use the host gi-scanner to prevent the scanner from generating incorrect +# elf classes. +GOBJECT_INTROSPECTION_CONF_OPTS = \ + -Dgi_cross_use_host_gi=true \ + -Dgi_cross_binary_wrapper="$(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper" \ + -Dgi_cross_ldd_wrapper="$(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper" \ + -Dbuild_introspection_data=true \ + -Ddoctool=disabled + +ifeq ($(BR2_PACKAGE_CAIRO),y) +GOBJECT_INTROSPECTION_DEPENDENCIES += cairo +GOBJECT_INTROSPECTION_CONF_OPTS += -Dcairo=enabled +else +GOBJECT_INTROSPECTION_CONF_OPTS += -Dcairo=disabled +endif + +# GI_SCANNER_DISABLE_CACHE=1 prevents g-ir-scanner from writing cache data to ${HOME} +GOBJECT_INTROSPECTION_CONF_ENV = \ + GI_SCANNER_DISABLE_CACHE=1 + +HOST_GOBJECT_INTROSPECTION_CONF_ENV = \ + GI_SCANNER_DISABLE_CACHE=1 + +# Make sure g-ir-tool-template uses the host python. +define GOBJECT_INTROSPECTION_FIX_TOOLTEMPLATE_PYTHON_PATH + $(SED) '1s%#!.*%#!$(HOST_DIR)/bin/python%' $(@D)/tools/g-ir-tool-template.in +endef +HOST_GOBJECT_INTROSPECTION_PRE_CONFIGURE_HOOKS += GOBJECT_INTROSPECTION_FIX_TOOLTEMPLATE_PYTHON_PATH + +# Perform the following: +# - Just as above, Ensure that g-ir-tool-template.in uses the host python. +# - Install all of the wrappers needed to build gobject-introspection. +# - Create a safe modules directory which does not exist so we don't load random things +# which may then get deleted (or their dependencies) and potentially segfault +define GOBJECT_INTROSPECTION_INSTALL_PRE_WRAPPERS + $(SED) '1s%#!.*%#!$(HOST_DIR)/bin/python%' $(@D)/tools/g-ir-tool-template.in + + $(INSTALL) -D -m 755 $(GOBJECT_INTROSPECTION_PKGDIR)/g-ir-scanner-lddwrapper.in \ + $(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper + + $(INSTALL) -D -m 755 $(GOBJECT_INTROSPECTION_PKGDIR)/g-ir-scanner-qemuwrapper.in \ + $(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper + $(SED) "s%@QEMU_USER@%$(QEMU_USER)%g" \ + $(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper + $(SED) "s%@TOOLCHAIN_HEADERS_VERSION@%$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)%g" \ + $(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper + + # Use a modules directory which does not exist so we don't load random things + # which may then get deleted (or their dependencies) and potentially segfault + mkdir -p $(STAGING_DIR)/usr/lib/gio/modules-dummy +endef +GOBJECT_INTROSPECTION_PRE_CONFIGURE_HOOKS += GOBJECT_INTROSPECTION_INSTALL_PRE_WRAPPERS + +# Move the real compiler and scanner to .real, and replace them with the wrappers. +# Using .real has the following advantages: +# - There is no need to change the logic for other packages. +# - The wrappers call the .real files using qemu. +define GOBJECT_INTROSPECTION_INSTALL_WRAPPERS + # Move the real binaries to their names.real, then replace them with + # the wrappers. + $(foreach w,g-ir-compiler g-ir-scanner, + mv $(STAGING_DIR)/usr/bin/$(w) $(STAGING_DIR)/usr/bin/$(w).real + $(INSTALL) -D -m 755 \ + $(GOBJECT_INTROSPECTION_PKGDIR)/$(w).in $(STAGING_DIR)/usr/bin/$(w) + ) + $(SED) "s%@BASENAME_TARGET_CPP@%$(notdir $(TARGET_CPP))%g" \ + -e "s%@BASENAME_TARGET_CC@%$(notdir $(TARGET_CC))%g" \ + -e "s%@BASENAME_TARGET_CXX@%$(notdir $(TARGET_CXX))%g" \ + -e "s%@TARGET_CPPFLAGS@%$(TARGET_CPPFLAGS)%g" \ + -e "s%@TARGET_CFLAGS@%$(TARGET_CFLAGS)%g" \ + -e "s%@TARGET_CXXFLAGS@%$(TARGET_CXXFLAGS)%g" \ + -e "s%@TARGET_LDFLAGS@%$(TARGET_LDFLAGS)%g" \ + $(STAGING_DIR)/usr/bin/g-ir-scanner + + # Gobject-introspection installs Makefile.introspection in + # $(STAGING_DIR)/usr/share which is needed for autotools-based programs to + # build .gir and .typelib files. Unfortuantly, gobject-introspection-1.0.pc + # uses $(prefix)/share as the directory, which + # causes the host /usr/share being used instead of $(STAGING_DIR)/usr/share. + # Change datarootdir to $(libdir)/../share which will prefix $(STAGING_DIR) + # to the correct location. + $(SED) "s%datarootdir=.*%datarootdir=\$${libdir}/../share%g" \ + $(STAGING_DIR)/usr/lib/pkgconfig/gobject-introspection-1.0.pc + + # By default, girdir and typelibdir use datadir and libdir as their prefix, + # of which pkg-config appends the sysroot directory. This results in files + # being installed in $(STAGING_DIR)/$(STAGING_DIR)/path/to/files. + # Changing the prefix to exec_prefix prevents this error. + $(SED) "s%girdir=.*%girdir=\$${exec_prefix}/share/gir-1.0%g" \ + $(STAGING_DIR)/usr/lib/pkgconfig/gobject-introspection-1.0.pc + + $(SED) "s%typelibdir=.*%typelibdir=\$${exec_prefix}/lib/girepository-1.0%g" \ + $(STAGING_DIR)/usr/lib/pkgconfig/gobject-introspection-1.0.pc +endef +GOBJECT_INTROSPECTION_POST_INSTALL_STAGING_HOOKS += GOBJECT_INTROSPECTION_INSTALL_WRAPPERS + +# Only .typelib files are needed to run. +define GOBJECT_INTROSPECTION_REMOVE_DEVELOPMENT_FILES + find $(TARGET_DIR)/usr/share \( -iname "*.gir" -o -iname \*.rnc \) -delete +endef +GOBJECT_INTROSPECTION_TARGET_FINALIZE_HOOKS += GOBJECT_INTROSPECTION_REMOVE_DEVELOPMENT_FILES + +$(eval $(meson-package)) +$(eval $(host-meson-package)) diff --git a/package/google-breakpad/0003-src-client-linux-handler-exception_handler.cc-rename.patch b/package/google-breakpad/0003-src-client-linux-handler-exception_handler.cc-rename.patch new file mode 100644 index 0000000000..579e7f3457 --- /dev/null +++ b/package/google-breakpad/0003-src-client-linux-handler-exception_handler.cc-rename.patch @@ -0,0 +1,59 @@ +From 2fa414c8655c421e7eb0bb1719928babb0ecf7c6 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 26 Dec 2019 22:21:33 +0100 +Subject: [PATCH] src/client/linux/handler/exception_handler.cc: rename tgkill + to BreakpadTgkill() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Since glibc 2.30, a tgkill() function was added in the C library, and +its definition obviously conflicts with the internal definition of +google-breakpad, causing build failures: + +src/client/linux/handler/exception_handler.cc:109:12: error: ‘int tgkill(pid_t, pid_t, int)’ was declared ‘extern’ and later ‘static’ [-fpermissive] + 109 | static int tgkill(pid_t tgid, pid_t tid, int sig) { + | ^~~~~~ +In file included from /usr/include/signal.h:374, + from ./src/client/linux/handler/exception_handler.h:33, + from src/client/linux/handler/exception_handler.cc:66: +/usr/include/bits/signal_ext.h:29:12: note: previous declaration of ‘int tgkill(__pid_t, __pid_t, int)’ + 29 | extern int tgkill (__pid_t __tgid, __pid_t __tid, int __signal); + | ^~~~~~ + +Upstream google-breakpad simply dropped the use of the internal +tgkill() in commit +https://chromium.googlesource.com/breakpad/breakpad/+/7e3c165000d44fa153a3270870ed500bc8bbb461. However, +this is not realistic for Buildroot, since we do support old systems +where the system C library will not necessarily provide tgkill(). + +Signed-off-by: Thomas Petazzoni +--- + src/client/linux/handler/exception_handler.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc +index b63f973b..b4c279b8 100644 +--- a/src/client/linux/handler/exception_handler.cc ++++ b/src/client/linux/handler/exception_handler.cc +@@ -106,7 +106,7 @@ + #endif + + // A wrapper for the tgkill syscall: send a signal to a specific thread. +-static int tgkill(pid_t tgid, pid_t tid, int sig) { ++static int BreakpadTgkill(pid_t tgid, pid_t tid, int sig) { + return syscall(__NR_tgkill, tgid, tid, sig); + return 0; + } +@@ -387,7 +387,7 @@ void ExceptionHandler::SignalHandler(int sig, siginfo_t* info, void* uc) { + // In order to retrigger it, we have to queue a new signal by calling + // kill() ourselves. The special case (si_pid == 0 && sig == SIGABRT) is + // due to the kernel sending a SIGABRT from a user request via SysRQ. +- if (tgkill(getpid(), syscall(__NR_gettid), sig) < 0) { ++ if (BreakpadTgkill(getpid(), syscall(__NR_gettid), sig) < 0) { + // If we failed to kill ourselves (e.g. because a sandbox disallows us + // to do so), we instead resort to terminating our process. This will + // result in an incorrect exit code. +-- +2.24.1 + diff --git a/package/google-breakpad/Config.in b/package/google-breakpad/Config.in index 91ec9ce309..07c49996dd 100644 --- a/package/google-breakpad/Config.in +++ b/package/google-breakpad/Config.in @@ -6,7 +6,6 @@ config BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS config BR2_PACKAGE_GOOGLE_BREAKPAD bool "google-breakpad" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS @@ -41,4 +40,4 @@ comment "google-breakpad requires a glibc or uClibc toolchain w/ wchar, thread, depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS || \ !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC) || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_HOST_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/google-breakpad/google-breakpad.hash b/package/google-breakpad/google-breakpad.hash index 79e8d08b28..81715ec573 100644 --- a/package/google-breakpad/google-breakpad.hash +++ b/package/google-breakpad/google-breakpad.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 6f444233e88957c30cc2d5497ee9d72d104122ce2c25a7ef7f6be3af1b3f7353 google-breakpad-7515ab13768c7edc09f0f2ec2354dc6c928239a6.tar.gz +sha256 6f444233e88957c30cc2d5497ee9d72d104122ce2c25a7ef7f6be3af1b3f7353 google-breakpad-7515ab13768c7edc09f0f2ec2354dc6c928239a6.tar.gz +sha256 f9752a0a4ac5215eaa3a4f0ec29cd52563c883de5d7870525cc0bc3a21cb8e15 LICENSE diff --git a/package/google-material-design-icons/google-material-design-icons.hash b/package/google-material-design-icons/google-material-design-icons.hash index 9a66336494..535eca8100 100644 --- a/package/google-material-design-icons/google-material-design-icons.hash +++ b/package/google-material-design-icons/google-material-design-icons.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 769547061a51f81623bf5174767c08fc587fd6946339592fbd6cd0dd45f56b4c 2.2.3.tar.gz +sha256 8ae9438818c26e4873b91d8c6ad620526c011e27e125677f13031eda903f007c LICENSE diff --git a/package/gperf/gperf.hash b/package/gperf/gperf.hash index 370235c627..3d8aafbdca 100644 --- a/package/gperf/gperf.hash +++ b/package/gperf/gperf.hash @@ -1,2 +1,7 @@ # Locally calculated after checking pgp signature -sha256 767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e gperf-3.0.4.tar.gz +# https://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gz.sig +# with key 93C08C88471097CD +sha256 588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2 gperf-3.1.tar.gz + +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gperf/gperf.mk b/package/gperf/gperf.mk index 2a6192a48b..4b928a0ebd 100644 --- a/package/gperf/gperf.mk +++ b/package/gperf/gperf.mk @@ -4,7 +4,7 @@ # ################################################################################ -GPERF_VERSION = 3.0.4 +GPERF_VERSION = 3.1 GPERF_SITE = $(BR2_GNU_MIRROR)/gperf GPERF_LICENSE = GPL-3.0+ GPERF_LICENSE_FILES = COPYING diff --git a/package/gpm/gpm.hash b/package/gpm/gpm.hash index 7bbc43dd40..fac8931834 100644 --- a/package/gpm/gpm.hash +++ b/package/gpm/gpm.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 a955053b36556ffa7c628ce18fd6de7d625966573fa412fb08869533d8f7385c gpm-1.20.7.tar.lzma +sha256 1b2a567f289f66a143c56353e7b3d4fa5862514a5e3c5cfdf8b02ee5e5aaa953 COPYING 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 deleted file mode 100644 index 77badb31cf..0000000000 --- a/package/gpsd/0002-driver_greis-fix-build-with-reconfigure-disabled.patch +++ /dev/null @@ -1,49 +0,0 @@ -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 e951c0154e..ea0dea3ba6 100644 --- a/package/gpsd/Config.in +++ b/package/gpsd/Config.in @@ -18,7 +18,7 @@ menuconfig BR2_PACKAGE_GPSD The D-Bus interface is included if dbus-glib is enabled. - http://www.catb.org/gpsd/ + https://gpsd.gitlab.io/gpsd if BR2_PACKAGE_GPSD @@ -44,12 +44,8 @@ config BR2_PACKAGE_GPSD_PROFILING comment "profiling support not available with uClibc-based toolchain" depends on !BR2_TOOLCHAIN_USES_GLIBC -config BR2_PACKAGE_GPSD_NTP_SHM - bool "NTP time hinting support" - config BR2_PACKAGE_GPSD_PPS bool "PPS time syncing support" - select BR2_PACKAGE_GPSD_NTP_SHM config BR2_PACKAGE_GPSD_USER bool "GPSD privilege revocation user" @@ -222,6 +218,11 @@ config BR2_PACKAGE_GPSD_SIRF help SiRF binary support +config BR2_PACKAGE_GPSD_SKYTRAQ + bool "Skytraq" + help + Skytraq support + config BR2_PACKAGE_GPSD_SUPERSTAR2 bool "SuperStarII" help diff --git a/package/gpsd/gpsd.hash b/package/gpsd/gpsd.hash index fe594ea28b..40f2b7c990 100644 --- a/package/gpsd/gpsd.hash +++ b/package/gpsd/gpsd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 48521f5158f5fda4c88a6f75e8bfc1ee67e999e3fc095e4a06cb8c2af56712f4 gpsd-3.18.tar.gz -sha256 71ff85d18bf063954cfc4251678d0e772223e21f80febbd99d5524c90f73f832 COPYING +sha256 27dd24d45b2ac69baab7933da2bf6ae5fb0be90130f67e753c110a3477155f39 gpsd-3.19.tar.gz +sha256 13ba6fe5b2f41f03b854f9ac5f271e116d5ed55890cc20f5fe44dcfa0dc5958b COPYING diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk index 48d21348b9..49de4b256c 100644 --- a/package/gpsd/gpsd.mk +++ b/package/gpsd/gpsd.mk @@ -4,13 +4,13 @@ # ################################################################################ -GPSD_VERSION = 3.18 +GPSD_VERSION = 3.19 GPSD_SITE = http://download-mirror.savannah.gnu.org/releases/gpsd -GPSD_LICENSE = BSD-3-Clause +GPSD_LICENSE = BSD-2-Clause GPSD_LICENSE_FILES = COPYING GPSD_INSTALL_STAGING = YES -GPSD_DEPENDENCIES = host-scons host-pkgconf +GPSD_DEPENDENCIES = host-python3 host-scons host-pkgconf GPSD_LDFLAGS = $(TARGET_LDFLAGS) GPSD_CFLAGS = $(TARGET_CFLAGS) @@ -18,13 +18,15 @@ GPSD_CFLAGS = $(TARGET_CFLAGS) GPSD_SCONS_ENV = $(TARGET_CONFIGURE_OPTS) GPSD_SCONS_OPTS = \ - arch=$(ARCH)\ + arch=$(ARCH) \ manbuild=no \ - prefix=/usr\ - sysroot=$(STAGING_DIR)\ - strip=no\ + prefix=/usr \ + sysroot=$(STAGING_DIR) \ + strip=no \ python=no \ - qt=no + qt=no \ + ntpshm=yes \ + systemd=$(if $(BR2_INIT_SYSTEMD),yes,no) ifeq ($(BR2_PACKAGE_NCURSES),y) GPSD_DEPENDENCIES += ncurses @@ -42,10 +44,7 @@ else GPSD_SCONS_OPTS += libgpsmm=no endif -# prevents from triggering GCC ICE -# A bug was reported to the gcc bug tracker: -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485 -ifeq ($(BR2_microblaze),y) +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) GPSD_CFLAGS += -O0 endif @@ -57,8 +56,8 @@ GPSD_SCONS_OPTS += usb=no endif # If bluetooth is available build it before so the package can use it -ifeq ($(BR2_PACKAGE_BLUEZ_UTILS),y) -GPSD_DEPENDENCIES += bluez_utils +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS),y) +GPSD_DEPENDENCIES += bluez5_utils else GPSD_SCONS_OPTS += bluez=no endif @@ -144,6 +143,9 @@ endif ifneq ($(BR2_PACKAGE_GPSD_SIRF),y) GPSD_SCONS_OPTS += sirf=no endif +ifneq ($(BR2_PACKAGE_GPSD_SKYTRAQ),y) +GPSD_SCONS_OPTS += skytraq=no +endif ifneq ($(BR2_PACKAGE_GPSD_SUPERSTAR2),y) GPSD_SCONS_OPTS += superstar2=no endif @@ -161,9 +163,6 @@ GPSD_SCONS_OPTS += ublox=no endif # Features -ifneq ($(BR2_PACKAGE_GPSD_NTP_SHM),y) -GPSD_SCONS_OPTS += ntpshm=no -endif ifneq ($(BR2_PACKAGE_GPSD_PPS),y) GPSD_SCONS_OPTS += pps=no endif @@ -195,10 +194,10 @@ ifeq ($(BR2_PACKAGE_GPSD_FIXED_PORT_SPEED),y) GPSD_SCONS_OPTS += fixed_port_speed=$(BR2_PACKAGE_GPSD_FIXED_PORT_SPEED_VALUE) endif ifeq ($(BR2_PACKAGE_GPSD_MAX_CLIENT),y) -GPSD_SCONS_OPTS += limited_max_clients=$(BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE) +GPSD_SCONS_OPTS += max_clients=$(BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE) endif ifeq ($(BR2_PACKAGE_GPSD_MAX_DEV),y) -GPSD_SCONS_OPTS += limited_max_devices=$(BR2_PACKAGE_GPSD_MAX_DEV_VALUE) +GPSD_SCONS_OPTS += max_devices=$(BR2_PACKAGE_GPSD_MAX_DEV_VALUE) endif GPSD_SCONS_ENV += LDFLAGS="$(GPSD_LDFLAGS)" CFLAGS="$(GPSD_CFLAGS)" @@ -206,7 +205,7 @@ GPSD_SCONS_ENV += LDFLAGS="$(GPSD_LDFLAGS)" CFLAGS="$(GPSD_CFLAGS)" define GPSD_BUILD_CMDS (cd $(@D); \ $(GPSD_SCONS_ENV) \ - $(SCONS) \ + $(HOST_DIR)/bin/python3 $(SCONS) \ $(GPSD_SCONS_OPTS)) endef @@ -214,9 +213,9 @@ define GPSD_INSTALL_TARGET_CMDS (cd $(@D); \ $(GPSD_SCONS_ENV) \ DESTDIR=$(TARGET_DIR) \ - $(SCONS) \ + $(HOST_DIR)/bin/python3 $(SCONS) \ $(GPSD_SCONS_OPTS) \ - install) + $(if $(BR2_PACKAGE_HAS_UDEV),udev-install,install)) endef define GPSD_INSTALL_INIT_SYSV @@ -224,25 +223,27 @@ define GPSD_INSTALL_INIT_SYSV $(SED) 's,^DEVICES=.*,DEVICES=$(BR2_PACKAGE_GPSD_DEVICES),' $(TARGET_DIR)/etc/init.d/S50gpsd endef +# systemd unit files are installed automatically, but need to update the +# /usr/local path references in the provided files to /usr. +define GPSD_INSTALL_INIT_SYSTEMD + $(SED) 's%/usr/local%/usr%' \ + $(TARGET_DIR)/usr/lib/systemd/system/gpsd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/gpsdctl@.service +endef + define GPSD_INSTALL_STAGING_CMDS (cd $(@D); \ $(GPSD_SCONS_ENV) \ DESTDIR=$(STAGING_DIR) \ - $(SCONS) \ + $(HOST_DIR)/bin/python3 $(SCONS) \ $(GPSD_SCONS_OPTS) \ install) endef -# After installing the udev rule, make it writable so that this +# After the udev rule is installed, make it writable so that this # package can be re-built/re-installed. ifeq ($(BR2_PACKAGE_HAS_UDEV),y) define GPSD_INSTALL_UDEV_RULES - (cd $(@D); \ - $(GPSD_SCONS_ENV) \ - DESTDIR=$(TARGET_DIR) \ - $(SCONS) \ - $(GPSD_SCONS_OPTS) \ - udev-install) chmod u+w $(TARGET_DIR)/lib/udev/rules.d/25-gpsd.rules endef diff --git a/package/gptfdisk/gptfdisk.hash b/package/gptfdisk/gptfdisk.hash index d55797c05a..0e52d9917f 100644 --- a/package/gptfdisk/gptfdisk.hash +++ b/package/gptfdisk/gptfdisk.hash @@ -1,5 +1,6 @@ -# From http://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.3/ -md5 07b625a583b66c8c5840be5923f3e3fe gptfdisk-1.0.3.tar.gz -sha1 9a74bbe7805d562316e92417f71e4b03155308e6 gptfdisk-1.0.3.tar.gz +# From http://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.4/ +md5 5ecc3c44913bb6b53d3708d1ac7ac295 gptfdisk-1.0.4.tar.gz +sha1 4c2d60bedd4eac1014727e3b126de96966205410 gptfdisk-1.0.4.tar.gz # Locally computed -sha256 89fd5aec35c409d610a36cb49c65b442058565ed84042f767bba614b8fc91b5c gptfdisk-1.0.3.tar.gz +sha256 b663391a6876f19a3cd901d862423a16e2b5ceaa2f4a3b9bb681e64b9c7ba78d gptfdisk-1.0.4.tar.gz +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/gptfdisk/gptfdisk.mk b/package/gptfdisk/gptfdisk.mk index b669e22aa8..afe4a72886 100644 --- a/package/gptfdisk/gptfdisk.mk +++ b/package/gptfdisk/gptfdisk.mk @@ -4,7 +4,7 @@ # ################################################################################ -GPTFDISK_VERSION = 1.0.3 +GPTFDISK_VERSION = 1.0.4 GPTFDISK_SITE = http://downloads.sourceforge.net/sourceforge/gptfdisk GPTFDISK_LICENSE = GPL-2.0+ GPTFDISK_LICENSE_FILES = COPYING diff --git a/package/gqrx/Config.in b/package/gqrx/Config.in index b0d7e7b9f3..d873c6a4d4 100644 --- a/package/gqrx/Config.in +++ b/package/gqrx/Config.in @@ -1,6 +1,5 @@ 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_STATIC_LIBS @@ -8,6 +7,9 @@ comment "gqrx needs a toolchain w/ C++, threads, wchar, dynamic library" comment "gqrx needs qt5" depends on !BR2_PACKAGE_QT5 +comment "gqrx needs a toolchain not affected by GCC bug 64735" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + config BR2_PACKAGE_GQRX bool "gqrx" depends on BR2_USE_MMU # gnuradio @@ -17,7 +19,7 @@ config BR2_PACKAGE_GQRX 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 + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # gnuradio select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS select BR2_PACKAGE_BOOST_SYSTEM diff --git a/package/gqrx/gqrx.hash b/package/gqrx/gqrx.hash index 7c1fc9852f..8f5f2ca433 100644 --- a/package/gqrx/gqrx.hash +++ b/package/gqrx/gqrx.hash @@ -1,4 +1,4 @@ # Locally calculated: -sha256 c4e836c552dc99bf383ca84b2ddc0c67e3d05b073676318e2a011bcd463303ef gqrx-v2.11.4.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING -sha256 7cc22ce5ee61df62e427ec43b8130de149edee3cafb5af4f18d59b6dc3958faf LICENSE-CTK +sha256 7c626db9f22c3edbe30299a08f7f549b4f30dd83c883595468029a27c3e8fda9 gqrx-2.12.1.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 7cc22ce5ee61df62e427ec43b8130de149edee3cafb5af4f18d59b6dc3958faf LICENSE-CTK diff --git a/package/gqrx/gqrx.mk b/package/gqrx/gqrx.mk index d93c07d10c..b3438ac1fd 100644 --- a/package/gqrx/gqrx.mk +++ b/package/gqrx/gqrx.mk @@ -4,8 +4,8 @@ # ################################################################################ -GQRX_VERSION = v2.11.4 -GQRX_SITE = $(call github,csete,gqrx,$(GQRX_VERSION)) +GQRX_VERSION = 2.12.1 +GQRX_SITE = $(call github,csete,gqrx,v$(GQRX_VERSION)) GQRX_LICENSE = GPL-3.0+, Apache-2.0 GQRX_LICENSE_FILES = COPYING LICENSE-CTK GQRX_DEPENDENCIES = boost gnuradio gr-osmosdr qt5base qt5svg diff --git a/package/gqview/Config.in b/package/gqview/Config.in index c1df40cc19..a654dc41fb 100644 --- a/package/gqview/Config.in +++ b/package/gqview/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_GQVIEW help GQview is an image viewer for Unix operating systems - http://prdownloads.sourceforge.net/gqview + http://gqview.sourceforge.net/ diff --git a/package/gqview/gqview.hash b/package/gqview/gqview.hash index eb65497131..3d1330d4ff 100644 --- a/package/gqview/gqview.hash +++ b/package/gqview/gqview.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 12fea494e607a69eff31cdca13d306ef1b0b3b7850be0f8b236f267d8f2e9546 gqview-2.1.5.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/gr-osmosdr/Config.in b/package/gr-osmosdr/Config.in index aa6ef0d4c2..a38082af98 100644 --- a/package/gr-osmosdr/Config.in +++ b/package/gr-osmosdr/Config.in @@ -2,14 +2,19 @@ config BR2_PACKAGE_GR_OSMOSDR bool "gr-osmosdr" depends on BR2_PACKAGE_GNURADIO select BR2_PACKAGE_GNURADIO_BLOCKS + select BR2_PACKAGE_GNURADIO_FFT + select BR2_PACKAGE_GNURADIO_FILTER help GNU Radio block for interfacing with various radio hardware + http://osmocom.org/projects/osmosdr + if BR2_PACKAGE_GR_OSMOSDR config BR2_PACKAGE_GR_OSMOSDR_PYTHON bool "python support" depends on BR2_PACKAGE_GNURADIO_PYTHON + depends on BR2_PACKAGE_PYTHON3 help Enable Python support diff --git a/package/gr-osmosdr/gr-osmosdr.hash b/package/gr-osmosdr/gr-osmosdr.hash index 337f3ef86b..64959c8e74 100644 --- a/package/gr-osmosdr/gr-osmosdr.hash +++ b/package/gr-osmosdr/gr-osmosdr.hash @@ -1,2 +1,3 @@ # Locally calculated: -sha256 274960cd32bc8a7216eeed8967bf078efd6123332808b405ec42c24a7e426b7c gr-osmosdr-164a09fc11cec2d8b15b38e8b512fa542d6cecc7.tar.gz +sha256 9812429d97bc54f0a8917b880ca9e7e2421c66aeaac8ce5608161a8ae7007122 gr-osmosdr-0.2.0.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gr-osmosdr/gr-osmosdr.mk b/package/gr-osmosdr/gr-osmosdr.mk index 9ed4ad3118..c5d6ddc2e2 100644 --- a/package/gr-osmosdr/gr-osmosdr.mk +++ b/package/gr-osmosdr/gr-osmosdr.mk @@ -4,17 +4,19 @@ # ################################################################################ -GR_OSMOSDR_VERSION = 164a09fc11cec2d8b15b38e8b512fa542d6cecc7 -GR_OSMOSDR_SITE = $(call github,osmocom,gr-osmosdr,$(GR_OSMOSDR_VERSION)) +GR_OSMOSDR_VERSION = 0.2.0 +GR_OSMOSDR_SITE = $(call github,osmocom,gr-osmosdr,v$(GR_OSMOSDR_VERSION)) GR_OSMOSDR_LICENSE = GPL-3.0+ GR_OSMOSDR_LICENSE_FILES = COPYING # gr-osmosdr prevents doing an in-source-tree build GR_OSMOSDR_SUPPORTS_IN_SOURCE_BUILD = NO -GR_OSMOSDR_DEPENDENCIES = gnuradio host-python-cheetah +GR_OSMOSDR_DEPENDENCIES = gnuradio host-python3 -GR_OSMOSDR_CONF_OPTS = -DENABLE_DEFAULT=OFF +GR_OSMOSDR_CONF_OPTS = \ + -DENABLE_DEFAULT=OFF \ + -DENABLE_DOXYGEN=OFF # For third-party blocks, the gr-osmosdr libraries are mandatory at # compile time. @@ -22,7 +24,7 @@ GR_OSMOSDR_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_GR_OSMOSDR_PYTHON),y) GR_OSMOSDR_CONF_OPTS += -DENABLE_PYTHON=ON -GR_OSMOSDR_DEPENDENCIES += python +GR_OSMOSDR_DEPENDENCIES += python3 else GR_OSMOSDR_CONF_OPTS += -DENABLE_PYTHON=OFF endif diff --git a/package/granite/0001-meson-add-introspection-option.patch b/package/granite/0001-meson-add-introspection-option.patch new file mode 100644 index 0000000000..4b32fb13c3 --- /dev/null +++ b/package/granite/0001-meson-add-introspection-option.patch @@ -0,0 +1,73 @@ +From 4d5ddcdb9c03d4e829fe7080e497a00f0b379eff Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 14 Jun 2020 17:33:31 +0200 +Subject: [PATCH] meson: add introspection option + +This will allow the user to build granite without gobject-introspection + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/elementary/granite/pull/410] +--- + lib/meson.build | 38 ++++++++++++++++++++------------------ + meson_options.txt | 1 + + 2 files changed, 21 insertions(+), 18 deletions(-) + +diff --git a/lib/meson.build b/lib/meson.build +index a9fc4ed4..770feeb5 100644 +--- a/lib/meson.build ++++ b/lib/meson.build +@@ -98,24 +98,26 @@ install_data( + install_dir: include_dir + ) + +-# typelib generation isn't automated yet +-g_ir_compiler = find_program('g-ir-compiler') +-custom_target( +- granite_typelib, +- command: [ +- g_ir_compiler, +- '--shared-library', +- '@PLAINNAME@', +- '--output', +- '@OUTPUT@', +- join_paths(meson.current_build_dir(), granite_gir), +- ], +- input: libgranite, +- output: granite_typelib, +- depends: libgranite, +- install: true, +- install_dir: join_paths(get_option('libdir'), 'girepository-1.0'), +-) ++if get_option('introspection') ++ # typelib generation isn't automated yet ++ g_ir_compiler = find_program('g-ir-compiler') ++ custom_target( ++ granite_typelib, ++ command: [ ++ g_ir_compiler, ++ '--shared-library', ++ '@PLAINNAME@', ++ '--output', ++ '@OUTPUT@', ++ join_paths(meson.current_build_dir(), granite_gir), ++ ], ++ input: libgranite, ++ output: granite_typelib, ++ depends: libgranite, ++ install: true, ++ install_dir: join_paths(get_option('libdir'), 'girepository-1.0'), ++ ) ++endif + + libgranite_dep = declare_dependency( + link_with: libgranite, +diff --git a/meson_options.txt b/meson_options.txt +index 9d9f62e9..bd1a1d6f 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1 +1,2 @@ + option('documentation', type: 'boolean', value: false, description: 'generate documentation with gtk-doc and valadoc') ++option('introspection', type: 'boolean', value: true, description: 'Whether to build introspection files') +-- +2.26.2 + diff --git a/package/granite/Config.in b/package/granite/Config.in index fef5e27add..726bde1b2d 100644 --- a/package/granite/Config.in +++ b/package/granite/Config.in @@ -10,7 +10,7 @@ config BR2_PACKAGE_GRANITE An extension to GTK+ that provides several useful widgets and classes to ease application development. - https://launchpad.net/granite + https://github.com/elementary/granite comment "granite needs libgtk3 and a toolchain w/ wchar, threads" depends on BR2_USE_MMU diff --git a/package/granite/granite.hash b/package/granite/granite.hash index b9ed2874ce..5378b30cba 100644 --- a/package/granite/granite.hash +++ b/package/granite/granite.hash @@ -1,4 +1,3 @@ -# From https://launchpad.net/granite/0.4/0.4.1/+download/granite-0.4.1.tar.xz/+md5 -md5 b1002c0488bb9ade0ef89730c4f84393 granite-0.4.1.tar.xz -# Calculated based on the hash above -sha256 8bb411523e6cd5685c928dbfe08893892189cedf9fad5f537aa76182032cf09c granite-0.4.1.tar.xz +# Locally computed +sha256 8194031cac3b87d84a3fab9c30270485ce73f8b8ec23f26c9152b6859c8a18fd granite-5.4.0.tar.gz +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING diff --git a/package/granite/granite.mk b/package/granite/granite.mk index f824ba7fda..d5dd1fa1ff 100644 --- a/package/granite/granite.mk +++ b/package/granite/granite.mk @@ -4,13 +4,18 @@ # ################################################################################ -GRANITE_VERSION_MAJOR = 0.4 -GRANITE_VERSION = $(GRANITE_VERSION_MAJOR).1 -GRANITE_SITE = https://launchpad.net/granite/$(GRANITE_VERSION_MAJOR)/$(GRANITE_VERSION)/+download -GRANITE_SOURCE = granite-$(GRANITE_VERSION).tar.xz +GRANITE_VERSION = 5.4.0 +GRANITE_SITE = $(call github,elementary,granite,$(GRANITE_VERSION)) GRANITE_DEPENDENCIES = host-pkgconf host-vala libgee libglib2 libgtk3 GRANITE_INSTALL_STAGING = YES GRANITE_LICENSE = LGPL-3.0+ GRANITE_LICENSE_FILES = COPYING -$(eval $(cmake-package)) +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +GRANITE_CONF_OPTS += -Dintrospection=true +GRANITE_DEPENDENCIES += gobject-introspection +else +GRANITE_CONF_OPTS += -Dintrospection=false +endif + +$(eval $(meson-package)) diff --git a/package/grantlee/grantlee.hash b/package/grantlee/grantlee.hash index cdff778041..6508aa70cc 100644 --- a/package/grantlee/grantlee.hash +++ b/package/grantlee/grantlee.hash @@ -1,2 +1,5 @@ -# Locally calculated after checking pgp signature -sha256 ea2e402466c74bb533eee2c7252209ec61cd93a5d236fecd625b4a0eb13a1478 grantlee-5.1.0.tar.gz +# Locally calculated +sha256 139acee5746b957bdf1327ec0d97c604d4c0b9be42aec5d584297cb5ed6a990a grantlee-5.2.0.tar.gz + +# Hash for license file +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB diff --git a/package/grantlee/grantlee.mk b/package/grantlee/grantlee.mk index 575b63fef5..7079679ca4 100644 --- a/package/grantlee/grantlee.mk +++ b/package/grantlee/grantlee.mk @@ -4,8 +4,8 @@ # ################################################################################ -GRANTLEE_VERSION = 5.1.0 -GRANTLEE_SITE = http://downloads.grantlee.org +GRANTLEE_VERSION = 5.2.0 +GRANTLEE_SITE = $(call github,steveire,grantlee,v$(GRANTLEE_VERSION)) GRANTLEE_INSTALL_STAGING = YES GRANTLEE_LICENSE = LGPL-2.1+ GRANTLEE_LICENSE_FILES = COPYING.LIB diff --git a/package/graphite2/graphite2.hash b/package/graphite2/graphite2.hash index ecf082b08d..e0c1aae670 100644 --- a/package/graphite2/graphite2.hash +++ b/package/graphite2/graphite2.hash @@ -2,4 +2,5 @@ md5 b39d5ed21195f8b709bcee548c87e2b5 graphite2-1.3.10.tgz sha1 668f3bce96fc02d90ea875b401ed36b2e8957d2f graphite2-1.3.10.tgz # Locally computed -sha256 90fde3b2f9ea95d68ffb19278d07d9b8a7efa5ba0e413bebcea802ce05cda1ae graphite2-1.3.10.tgz +sha256 90fde3b2f9ea95d68ffb19278d07d9b8a7efa5ba0e413bebcea802ce05cda1ae graphite2-1.3.10.tgz +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE diff --git a/package/grep/Config.in b/package/grep/Config.in index 5b0471b4c0..665c05c05e 100644 --- a/package/grep/Config.in +++ b/package/grep/Config.in @@ -5,6 +5,8 @@ config BR2_PACKAGE_GREP help The GNU regular expression matcher. + egrep/fgrep aliases need /bin/sh to be available. + http://www.gnu.org/software/grep/grep.html comment "grep needs a toolchain w/ wchar" diff --git a/package/grep/grep.hash b/package/grep/grep.hash index 4aa7b4ecb8..47bf550a20 100644 --- a/package/grep/grep.hash +++ b/package/grep/grep.hash @@ -1,5 +1,5 @@ # Locally calculated after checking signature -# http://ftp.gnu.org/gnu/grep/grep-3.3.tar.xz.sig +# http://ftp.gnu.org/gnu/grep/grep-3.4.tar.xz.sig # using key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE -sha256 b960541c499619efd6afe1fa795402e4733c8e11ebf9fafccc0bb4bccdc5b514 grep-3.3.tar.xz -sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING +sha256 58e6751c41a7c25bfc6e9363a41786cff3ba5709cf11d5ad903cf7cce31cc3fb grep-3.4.tar.xz +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/grep/grep.mk b/package/grep/grep.mk index 96685b0276..ef1bbb4487 100644 --- a/package/grep/grep.mk +++ b/package/grep/grep.mk @@ -4,12 +4,31 @@ # ################################################################################ -GREP_VERSION = 3.3 +GREP_VERSION = 3.4 GREP_SITE = $(BR2_GNU_MIRROR)/grep GREP_SOURCE = grep-$(GREP_VERSION).tar.xz GREP_LICENSE = GPL-3.0+ GREP_LICENSE_FILES = COPYING GREP_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +# install into /bin like busybox grep +GREP_CONF_OPTS = --exec-prefix=/ + +ifeq ($(BR2_SYSTEM_BIN_SH_NONE),y) + +define GREP_REMOVE_ALIAS + $(RM) $(TARGET_DIR)/bin/[fe]grep +endef +GREP_POST_INSTALL_TARGET_HOOKS += GREP_REMOVE_ALIAS + +else + +# ensure egrep/fgrep shell wrappers use #!/bin/sh +define GREP_FIXUP_SHEBANG + $(SED) 's/bash$$/sh/' $(TARGET_DIR)/bin/[fe]grep +endef +GREP_POST_INSTALL_TARGET_HOOKS += GREP_FIXUP_SHEBANG + +endif # link with iconv if enabled ifeq ($(BR2_PACKAGE_LIBICONV),y) diff --git a/package/grpc/0001-target-build-using-host-plugin.patch b/package/grpc/0001-target-build-using-host-plugin.patch index 5993987bc8..2da657762f 100644 --- a/package/grpc/0001-target-build-using-host-plugin.patch +++ b/package/grpc/0001-target-build-using-host-plugin.patch @@ -20,7 +20,7 @@ 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 +@@ -13420,6 +13420,18 @@ target_link_libraries(grpc_cli endif (gRPC_BUILD_TESTS) if (gRPC_BUILD_CODEGEN) @@ -39,7 +39,7 @@ index fc76cf5..7a22b08 100644 add_executable(grpc_cpp_plugin src/compiler/cpp_plugin.cc ) -@@ -13143,6 +13155,7 @@ if (gRPC_INSTALL) +@@ -13457,6 +13469,7 @@ if (gRPC_INSTALL) ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} ) endif() 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 index 766f758172..86586d850b 100644 --- a/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch +++ b/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch @@ -1,4 +1,4 @@ -From 0aeefca28104f86f14b511feee8d5711f2e8bcb5 Mon Sep 17 00:00:00 2001 +From 0dfb289a3b362b082ac3608d887e42f09dadc0d2 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() @@ -17,10 +17,10 @@ Signed-off-by: Thomas Petazzoni 2 files changed, 8 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index fc76cf50da..8dd457fb1a 100644 +index 89e834b..c7bd2ad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -94,6 +94,12 @@ endif() +@@ -97,6 +97,12 @@ endif() set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) @@ -30,14 +30,14 @@ index fc76cf50da..8dd457fb1a 100644 + add_definitions(-DHAVE_PTHREAD_SETNAME_NP) +endif () + - add_definitions(-DPB_FIELD_16BIT) - if (MSVC) + include(cmake/msvc_static_runtime.cmake) + add_definitions(-D_WIN32_WINNT=0x600 -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS) diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codegen/port_platform.h -index b2028a6305..dc89e6ed57 100644 +index 031c0c3..a29a9dc 100644 --- a/include/grpc/impl/codegen/port_platform.h +++ b/include/grpc/impl/codegen/port_platform.h -@@ -173,7 +173,9 @@ +@@ -181,7 +181,9 @@ #endif /* _LP64 */ #ifdef __GLIBC__ #define GPR_POSIX_CRASH_HANDLER 1 @@ -48,5 +48,5 @@ index b2028a6305..dc89e6ed57 100644 #else /* musl libc */ #define GPR_MUSL_LIBC_COMPAT 1 -- -2.20.1 +2.14.4 diff --git a/package/grpc/0003-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch b/package/grpc/0003-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch new file mode 100644 index 0000000000..ad64804470 --- /dev/null +++ b/package/grpc/0003-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch @@ -0,0 +1,34 @@ +From be030314805137cd63b46ea6eaa702b608669910 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 2 Jun 2019 17:45:47 +0200 +Subject: [PATCH] wrap_memcpy.cc: add GPR_DISABLE_WRAPPED_MEMCPY + +Add GPR_DISABLE_WRAPPED_MEMCPY to allow the user to disable wrapped +memcpy. This will fix build on x86_64 on musl/uclibc without changing +the cpu behavior. + +Fixes: + - http://autobuild.buildroot.org/results/20d6f2489a4e291a53bd514da66105eb607e1014 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/grpc/grpc/pull/19207] +--- + src/core/lib/gpr/wrap_memcpy.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/lib/gpr/wrap_memcpy.cc b/src/core/lib/gpr/wrap_memcpy.cc +index 9b8608e056..38b76acf95 100644 +--- a/src/core/lib/gpr/wrap_memcpy.cc ++++ b/src/core/lib/gpr/wrap_memcpy.cc +@@ -28,7 +28,7 @@ + + extern "C" { + #ifdef __linux__ +-#if defined(__x86_64__) && !defined(GPR_MUSL_LIBC_COMPAT) ++#if defined(__x86_64__) && !defined(GPR_MUSL_LIBC_COMPAT) && !defined(GPR_DISABLE_WRAPPED_MEMCPY) + __asm__(".symver memcpy,memcpy@GLIBC_2.2.5"); + void* __wrap_memcpy(void* destination, const void* source, size_t num) { + return memcpy(destination, source, num); +-- +2.20.1 + diff --git a/package/grpc/Config.in b/package/grpc/Config.in index 2765d0fb40..43f446d8dc 100644 --- a/package/grpc/Config.in +++ b/package/grpc/Config.in @@ -1,9 +1,8 @@ config BR2_PACKAGE_GRPC bool "grpc" - depends on BR2_INSTALL_LIBSTDCPP # protobuf + depends on BR2_INSTALL_LIBSTDCPP 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 @@ -17,9 +16,8 @@ config BR2_PACKAGE_GRPC http://github.com/grpc/grpc -comment "grpc needs a toolchain w/ C++, threads, dynamic library, host and target gcc >= 4.8" +comment "grpc needs a toolchain w/ C++, threads, dynamic library, 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 + || BR2_STATIC_LIBS || !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 index 9e5011125a..5201f72106 100644 --- a/package/grpc/grpc.hash +++ b/package/grpc/grpc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 a5342629fe1b689eceb3be4d4f167b04c70a84b9d61cf8b555e968bc500bdb5a grpc-v1.16.1.tar.gz +sha256 ffbe61269160ea745e487f79b0fd06b6edd3d50c6d9123f053b5634737cf2f69 grpc-1.25.0.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/grpc/grpc.mk b/package/grpc/grpc.mk index 6c804429ff..39f6123792 100644 --- a/package/grpc/grpc.mk +++ b/package/grpc/grpc.mk @@ -4,8 +4,8 @@ # ################################################################################ -GRPC_VERSION = v1.16.1 -GRPC_SITE = $(call github,grpc,grpc,$(GRPC_VERSION)) +GRPC_VERSION = 1.25.0 +GRPC_SITE = $(call github,grpc,grpc,v$(GRPC_VERSION)) GRPC_LICENSE = Apache-2.0 GRPC_LICENSE_FILES = LICENSE @@ -15,6 +15,10 @@ GRPC_INSTALL_STAGING = YES GRPC_DEPENDENCIES = c-ares host-grpc openssl protobuf zlib HOST_GRPC_DEPENDENCIES = host-c-ares host-openssl host-protobuf host-zlib +# gRPC_CARES_PROVIDER=package won't work because it requires c-ares to have +# installed a cmake config file, but buildroot uses c-ares' autotools build, +# which doesn't do this. These CARES settings trick the gRPC cmake code into +# not looking for c-ares at all and yet still linking with the library. GRPC_CONF_OPTS = \ -D_gRPC_CARES_LIBRARIES=cares \ -DgRPC_CARES_PROVIDER=none \ @@ -29,10 +33,36 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) GRPC_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic endif +GRPC_CFLAGS = $(TARGET_CFLAGS) +GRPC_CXXFLAGS = $(TARGET_CXXFLAGS) + +# Set GPR_DISABLE_WRAPPED_MEMCPY otherwise build will fail on x86_64 with uclibc +# because grpc tries to link with memcpy@GLIBC_2.2.5 +ifeq ($(BR2_x86_64):$(BR2_TOOLCHAIN_USES_GLIBC),y:) +GRPC_CFLAGS += -DGPR_DISABLE_WRAPPED_MEMCPY +GRPC_CXXFLAGS += -DGPR_DISABLE_WRAPPED_MEMCPY +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +GRPC_CFLAGS += -O0 +GRPC_CXXFLAGS += -O0 +endif + +# Toolchains older than gcc5 will fail to compile with -0s due to: +# error: failure memory model cannot be stronger than success memory model for +# '__atomic_compare_exchange', so we use -O2 in these cases +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5):$(BR2_OPTIMIZE_S),:y) +GRPC_CFLAGS += -O2 +GRPC_CXXFLAGS += -O2 +endif + +GRPC_CONF_OPTS += \ + -DCMAKE_C_FLAGS="$(GRPC_CFLAGS)" \ + -DCMAKE_CXX_FLAGS="$(GRPC_CXXFLAGS)" + 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 diff --git a/package/gsettings-desktop-schemas/gsettings-desktop-schemas.hash b/package/gsettings-desktop-schemas/gsettings-desktop-schemas.hash index 05ec7a418f..c37b7377de 100644 --- a/package/gsettings-desktop-schemas/gsettings-desktop-schemas.hash +++ b/package/gsettings-desktop-schemas/gsettings-desktop-schemas.hash @@ -1,2 +1,5 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/gsettings-desktop-schemas/3.22/gsettings-desktop-schemas-3.22.0.sha256sum -sha256 0f06c7ba34c3a99e4d58b10889496133c9aaad6698ea2d8405d481c7f1a7eae1 gsettings-desktop-schemas-3.22.0.tar.xz +# From http://ftp.acc.umu.se/pub/gnome/sources/gsettings-desktop-schemas/3.33/gsettings-desktop-schemas-3.33.1.sha256sum +sha256 bd337f13955856140fdbd3073c56d4adca20333f8bdac41e429c3dca4730cdff gsettings-desktop-schemas-3.33.1.tar.xz + +# Hash for license file +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gsettings-desktop-schemas/gsettings-desktop-schemas.mk b/package/gsettings-desktop-schemas/gsettings-desktop-schemas.mk index 420ceda819..98d16745b2 100644 --- a/package/gsettings-desktop-schemas/gsettings-desktop-schemas.mk +++ b/package/gsettings-desktop-schemas/gsettings-desktop-schemas.mk @@ -4,13 +4,14 @@ # ################################################################################ -GSETTINGS_DESKTOP_SCHEMAS_VERSION_MAJOR = 3.22 -GSETTINGS_DESKTOP_SCHEMAS_VERSION = $(GSETTINGS_DESKTOP_SCHEMAS_VERSION_MAJOR).0 +GSETTINGS_DESKTOP_SCHEMAS_VERSION_MAJOR = 3.33 +GSETTINGS_DESKTOP_SCHEMAS_VERSION = $(GSETTINGS_DESKTOP_SCHEMAS_VERSION_MAJOR).1 GSETTINGS_DESKTOP_SCHEMAS_SOURCE = gsettings-desktop-schemas-$(GSETTINGS_DESKTOP_SCHEMAS_VERSION).tar.xz GSETTINGS_DESKTOP_SCHEMAS_SITE = http://ftp.gnome.org/pub/gnome/sources/gsettings-desktop-schemas/$(GSETTINGS_DESKTOP_SCHEMAS_VERSION_MAJOR) GSETTINGS_DESKTOP_SCHEMAS_INSTALL_STAGING = YES -GSETTINGS_DESKTOP_SCHEMAS_DEPENDENCIES = host-intltool host-pkgconf libglib2 +GSETTINGS_DESKTOP_SCHEMAS_DEPENDENCIES = host-pkgconf libglib2 GSETTINGS_DESKTOP_SCHEMAS_LICENSE = LGPL-2.1+ GSETTINGS_DESKTOP_SCHEMAS_LICENSE_FILES = COPYING +GSETTINGS_DESKTOP_SCHEMAS_CONF_OPTS = -Dintrospection=false -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/gsl/gsl.hash b/package/gsl/gsl.hash index f7b1d53385..8a979d6e8b 100644 --- a/package/gsl/gsl.hash +++ b/package/gsl/gsl.hash @@ -1,2 +1,3 @@ # Locally calculated after checking pgp signature -sha256 562500b789cd599b3a4f88547a7a3280538ab2ff4939504c8b4ac4ca25feadfb gsl-2.3.tar.gz +sha256 0460ad7c2542caaddc6729762952d345374784100223995eb14d614861f2258d gsl-2.5.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gsl/gsl.mk b/package/gsl/gsl.mk index 41379f4337..d3c764787d 100644 --- a/package/gsl/gsl.mk +++ b/package/gsl/gsl.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSL_VERSION = 2.3 +GSL_VERSION = 2.5 GSL_SITE = $(BR2_GNU_MIRROR)/gsl GSL_INSTALL_STAGING = YES GSL_LICENSE = GPL-3.0 diff --git a/package/gssdp/gssdp.hash b/package/gssdp/gssdp.hash index acf6b3ab20..f31f21942a 100644 --- a/package/gssdp/gssdp.hash +++ b/package/gssdp/gssdp.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gssdp/1.0/gssdp-1.0.2.sha256sum: -sha256 a1e17c09c7e1a185b0bd84fd6ff3794045a3cd729b707c23e422ff66471535dc gssdp-1.0.2.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gssdp/1.2/gssdp-1.2.3.sha256sum: +sha256 a263dcb6730e3b3dc4bbbff80cf3fab4cd364021981d419db6dd5a8e148aa7e8 gssdp-1.2.3.tar.xz # Hash for license file: -sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/gssdp/gssdp.mk b/package/gssdp/gssdp.mk index 2ce1f9b0bf..02b10d961a 100644 --- a/package/gssdp/gssdp.mk +++ b/package/gssdp/gssdp.mk @@ -4,13 +4,28 @@ # ################################################################################ -GSSDP_VERSION_MAJOR = 1.0 -GSSDP_VERSION = $(GSSDP_VERSION_MAJOR).2 +GSSDP_VERSION_MAJOR = 1.2 +GSSDP_VERSION = $(GSSDP_VERSION_MAJOR).3 GSSDP_SOURCE = gssdp-$(GSSDP_VERSION).tar.xz GSSDP_SITE = http://ftp.gnome.org/pub/gnome/sources/gssdp/$(GSSDP_VERSION_MAJOR) GSSDP_LICENSE = LGPL-2.0+ GSSDP_LICENSE_FILES = COPYING GSSDP_INSTALL_STAGING = YES GSSDP_DEPENDENCIES = host-pkgconf libglib2 libsoup +GSSDP_CONF_OPTS = -Dexamples=false -$(eval $(autotools-package)) +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +GSSDP_CONF_OPTS += -Dintrospection=true -Dvapi=true +GSSDP_DEPENDENCIES += host-vala gobject-introspection +else +GSSDP_CONF_OPTS += -Dintrospection=false -Dvapi=false +endif + +ifeq ($(BR2_PACKAGE_LIBGTK3),y) +GSSDP_DEPENDENCIES += libgtk3 +GSSDP_CONF_OPTS += -Dsniffer=true +else +GSSDP_CONF_OPTS += -Dsniffer=false +endif + +$(eval $(meson-package)) diff --git a/package/gstreamer/Config.in b/package/gstreamer/Config.in deleted file mode 100644 index e922437f22..0000000000 --- a/package/gstreamer/Config.in +++ /dev/null @@ -1,13 +0,0 @@ -# Gstreamer 0.10.x & Plugins -source "package/gstreamer/gstreamer/Config.in" - -if BR2_PACKAGE_GSTREAMER -source "package/gstreamer/gst-plugins-base/Config.in" -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-fsl-plugins/Config.in" -source "package/gstreamer/gst-omapfb/Config.in" -source "package/gstreamer/gst-plugin-x170/Config.in" -endif diff --git a/package/gstreamer/gst-ffmpeg/0001-gcc47.patch b/package/gstreamer/gst-ffmpeg/0001-gcc47.patch deleted file mode 100644 index 16744abae3..0000000000 --- a/package/gstreamer/gst-ffmpeg/0001-gcc47.patch +++ /dev/null @@ -1,65 +0,0 @@ -gst-ffmpeg libav: Fixes compiling gst-ffmpeg with gcc-4.7 - -Fetch from: http://www.slackware.com/~alien/slackbuilds/gst-plugins-ffmpeg/build/gst-ffmpeg-0.10.13_gcc47.patch - -Signed-off-by: Bernd Kuhls ---- -Submitted By: Andrew Benton -Date: 2012-06-15 -Initial Package Version: 0.10.13 -Upstream Status: From upstream -Origin: -http://git.videolan.org/?p=ffmpeg.git;a=patch;h=5f654897e325349dacf2546674e0510bb72ecb50 - -Description: Fixes compiling gst-ffmpeg with gcc-4.7 - -libavcodec/x86/h264_qpel_mmx.c: Assembler messages: -libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp' -libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp' -libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp' -libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp' -libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' -libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' -libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' -make[5]: *** [libavcodec/x86/dsputil_mmx.o] Error 1 - -Index: gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c -=================================================================== ---- gst-ffmpeg-0.10.13.orig/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:39:41.324522051 -0700 -+++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:54:08.152564075 -0700 -@@ -398,7 +398,7 @@ - "2: \n\t"\ - \ - : "+a"(src), "+c"(dst)\ -- : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ -+ : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ - : "memory"\ - );\ - src += 4-(h+5)*srcStride;\ -@@ -446,7 +446,7 @@ - QPEL_H264HV(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, 15*48)\ - "2: \n\t"\ - : "+a"(src)\ -- : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)\ -+ : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)\ - : "memory"\ - );\ - tmp += 4;\ -@@ -823,7 +823,7 @@ - "2: \n\t"\ - \ - : "+a"(src), "+c"(dst)\ -- : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ -+ : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ - : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ - "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ - "memory"\ -@@ -878,7 +878,7 @@ - QPEL_H264HV_XMM(%%xmm3, %%xmm4, %%xmm5, %%xmm0, %%xmm1, %%xmm2, 15*48) - "2: \n\t" - : "+a"(src) -- : "c"(tmp), "S"((x86_reg)srcStride), "g"(size) -+ : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size) - : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", - "%xmm4", "%xmm5", "%xmm6", "%xmm7",) - "memory" diff --git a/package/gstreamer/gst-ffmpeg/0002-arm-avoid-using-the-movw-instruction.patch b/package/gstreamer/gst-ffmpeg/0002-arm-avoid-using-the-movw-instruction.patch deleted file mode 100644 index 288dc3d6e8..0000000000 --- a/package/gstreamer/gst-ffmpeg/0002-arm-avoid-using-the-movw-instruction.patch +++ /dev/null @@ -1,41 +0,0 @@ -Date: Mon, 1 Aug 2011 20:21:04 +0300 -Subject: [libavcodec] arm: Avoid using the movw instruction needlessly -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf8 -Content-Transfer-Encoding: 8bit - -This fixes building for ARM11 without Thumb2. - -Signed-off-by: Martin Storsjö - -[Arnout: backported to gst-ffmpeg, from ffmpeg 9a83adaf3] -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S b/gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S -index d3058ff..b6aee86 100644 ---- a/gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S -+++ b/gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S -@@ -37,7 +37,7 @@ function ff_ac3_bit_alloc_calc_bap_armv6, export=1 - ldrb r10, [r4], #1 - 1: - ldrsh r9, [r0], #2 @ mask[band] -- movw r8, #0x1fe0 -+ mov r8, #0xff0 - sub r9, r9, r12 @ - snr_offset - mov r11, r10 - ldrb r10, [r4], #1 @ band_start_tab[band++] -@@ -44,7 +44,7 @@ function ff_ac3_bit_alloc_calc_bap_armv6, export=1 - subs r9, r9, r5 @ - floor - movlt r9, #0 - cmp r10, r3 @ - end -- and r9, r9, r8 @ & 0x1fe0 -+ and r9, r9, r8, lsl #1 @ & 0x1fe0 - subgt r8, r3, r11 - suble r8, r10, r11 - add r9, r9, r5 @ + floor => m --- -1.7.10.4 - diff --git a/package/gstreamer/gst-ffmpeg/Config.in b/package/gstreamer/gst-ffmpeg/Config.in deleted file mode 100644 index 1e95d016f6..0000000000 --- a/package/gstreamer/gst-ffmpeg/Config.in +++ /dev/null @@ -1,34 +0,0 @@ -config BR2_PACKAGE_GST_FFMPEG - bool "gst-ffmpeg" - # Unsupported for MIPS R6. It bundles a version of libav which - # doesn't have support for MIPS R6. - depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 - # triggers https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65151 on sh - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_sh - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85180 - select BR2_PACKAGE_GST_PLUGINS_BASE - help - GStreamer plugin containing one plugin with a set of - elements using the Libav library. It contains most popular - decoders as well as colorspace conversion elements. - - This package is configured to use an internal copy of the - Libav library. - - http://gstreamer.freedesktop.org/modules/gst-ffmpeg.html - -if BR2_PACKAGE_GST_FFMPEG - -config BR2_PACKAGE_GST_FFMPEG_GPL - bool "Enable GPL code" - help - Allow use of GPL code. The resulting libs and binaries will - be under GPL. - -endif - -comment "gst-ffmpeg needs a toolchain w/ gcc >= 5" - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 && BR2_sh - -comment "gst-ffmpeg needs a toolchain not affected by GCC bug 85180" - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85180 diff --git a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.hash b/package/gstreamer/gst-ffmpeg/gst-ffmpeg.hash deleted file mode 100644 index 5f7f35d9a4..0000000000 --- a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://gstreamer.freedesktop.org/src/gst-ffmpeg/gst-ffmpeg-0.10.13.tar.bz2.md5 -md5 7f5beacaf1312db2db30a026b36888c4 gst-ffmpeg-0.10.13.tar.bz2 diff --git a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk b/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk deleted file mode 100644 index 6f41efb0a5..0000000000 --- a/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk +++ /dev/null @@ -1,95 +0,0 @@ -################################################################################ -# -# gst-ffmpeg -# -################################################################################ - -GST_FFMPEG_VERSION = 0.10.13 -GST_FFMPEG_SOURCE = gst-ffmpeg-$(GST_FFMPEG_VERSION).tar.bz2 -GST_FFMPEG_SITE = http://gstreamer.freedesktop.org/src/gst-ffmpeg -GST_FFMPEG_INSTALL_STAGING = YES -GST_FFMPEG_DEPENDENCIES = host-pkgconf gstreamer gst-plugins-base - -ifeq ($(BR2_PACKAGE_GST_FFMPEG_GPL),y) -GST_FFMPEG_CONF_OPTS += --disable-lgpl -GST_FFMPEG_LICENSE = GPL-2.0+ (gst-ffmpeg), GPL-2.0+/GPL-3.0+ (libav) -GST_FFMPEG_LICENSE_FILES = COPYING gst-libs/ext/libav/COPYING.GPLv2 gst-libs/ext/libav/COPYING.GPLv3 -else -GST_FFMPEG_CONF_OPTS += --enable-lgpl -GST_FFMPEG_LICENSE = LGPL-2.0+ (gst-ffmpeg), LGPL-2.1+/LGPL-3.0+ (libav) -GST_FFMPEG_LICENSE_FILES = COPYING.LIB gst-libs/ext/libav/COPYING.LGPLv2.1 gst-libs/ext/libav/COPYING.LGPLv3 -endif - -GST_FFMPEG_CONF_EXTRA_OPTS = \ - --cross-prefix=$(TARGET_CROSS) \ - --target-os=linux \ - --pkg-config='$(PKG_CONFIG_HOST_BINARY)' - -ifeq ($(BR2_PACKAGE_ZLIB),y) -GST_FFMPEG_CONF_EXTRA_OPTS += --enable-zlib -GST_FFMPEG_DEPENDENCIES += zlib -else -GST_FFMPEG_CONF_EXTRA_OPTS += --disable-zlib -endif - -ifeq ($(BR2_PACKAGE_BZIP2),y) -GST_FFMPEG_CONF_EXTRA_OPTS += --enable-bzlib -GST_FFMPEG_DEPENDENCIES += bzip2 -else -GST_FFMPEG_CONF_EXTRA_OPTS += --disable-bzlib -endif - -ifeq ($(BR2_X86_CPU_HAS_MMX),y) -GST_FFMPEG_CONF_EXTRA_OPTS += --enable-yasm -GST_FFMPEG_DEPENDENCIES += host-yasm -else -GST_FFMPEG_CONF_EXTRA_OPTS += --disable-yasm -GST_FFMPEG_CONF_EXTRA_OPTS += --disable-mmx -endif - -ifeq ($(BR2_X86_CPU_HAS_SSE),y) -GST_FFMPEG_CONF_EXTRA_OPTS += --enable-sse -else -GST_FFMPEG_CONF_EXTRA_OPTS += --disable-sse -endif - -ifeq ($(BR2_X86_CPU_HAS_SSSE3),y) -GST_FFMPEG_CONF_EXTRA_OPTS += --enable-ssse3 -else -GST_FFMPEG_CONF_EXTRA_OPTS += --disable-ssse3 -endif - -# Explicitly disable everything that doesn't match for ARM -# FFMPEG "autodetects" by compiling an extended instruction via AS -# This works on compilers that aren't built for generic by default -ifeq ($(BR2_ARM_CPU_ARMV4),y) -GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv5te -endif -ifeq ($(BR2_ARM_CPU_ARMV6)$(BR2_ARM_CPU_ARMV7A),y) -GST_FFMPEG_CONF_EXTRA_OPTS += --enable-armv6 -else -GST_FFMPEG_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2 -endif -ifeq ($(BR2_ARM_CPU_HAS_NEON),y) -GST_FFMPEG_CONF_EXTRA_OPTS += --enable-neon -endif - -ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) -GST_FFMPEG_CONF_EXTRA_OPTS += --enable-altivec -else -GST_FFMPEG_CONF_EXTRA_OPTS += --disable-altivec -endif - -# libav configure script misdetects the VIS optimizations as being -# available, so forcefully disable them. -ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y) -GST_FFMPEG_CONF_EXTRA_OPTS += --disable-vis -endif - -ifeq ($(BR2_STATIC_LIBS),) -GST_FFMPEG_CONF_EXTRA_OPTS += --enable-pic -endif - -GST_FFMPEG_CONF_OPTS += --with-ffmpeg-extra-configure="$(GST_FFMPEG_CONF_EXTRA_OPTS)" - -$(eval $(autotools-package)) diff --git a/package/gstreamer/gst-fsl-plugins/0001-gplay-add-missing-include.patch b/package/gstreamer/gst-fsl-plugins/0001-gplay-add-missing-include.patch deleted file mode 100644 index 19753bc787..0000000000 --- a/package/gstreamer/gst-fsl-plugins/0001-gplay-add-missing-include.patch +++ /dev/null @@ -1,23 +0,0 @@ -From ed649ccb8ddc724546172d329fca39b23c49b804 Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Mon, 17 Dec 2012 17:58:28 +0100 -Subject: [PATCH] gplay: add missing include - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - tools/gplay/gst_snapshot.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tools/gplay/gst_snapshot.c b/tools/gplay/gst_snapshot.c -index 40dbb6f..596f399 100755 ---- a/tools/gplay/gst_snapshot.c -+++ b/tools/gplay/gst_snapshot.c -@@ -22,6 +22,7 @@ - - #include - #include -+#include - #include "gst_snapshot.h" - - static void --- diff --git a/package/gstreamer/gst-fsl-plugins/0002-Fix-bashism-in-configure-script.patch b/package/gstreamer/gst-fsl-plugins/0002-Fix-bashism-in-configure-script.patch deleted file mode 100644 index 471c48364d..0000000000 --- a/package/gstreamer/gst-fsl-plugins/0002-Fix-bashism-in-configure-script.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 83b4f84b1c490b9bb816e1ecbc743d80d48cc06d Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Tue, 18 Dec 2012 12:05:22 +0100 -Subject: [PATCH] Fix bashism in configure script. - -The configure script uses +=, which is not POSIX. Debians that -have the default dash as /bin/sh define a variable ending with -+ instead of appending to it. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - configure.ac | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5968eb6..1a31a06 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -152,7 +152,7 @@ AC_SUBST(GST_PLUGINS_BASE_LIBS) - AC_CHECK_HEADERS([vpu_lib.h], [HAVE_VPU_LIB=yes], [HAVE_VPU_LIB=no]) - if test "x$HAVE_VPU_LIB" = "xyes"; then - VPU_LIBS=`$PKG_CONFIG --libs libfslvpuwrap 2>/dev/null` -- VPU_LIBS+=" -lvpu" -+ VPU_LIBS="$VPU_LIBS -lvpu" - fi - AC_SUBST(VPU_LIBS) - -@@ -176,14 +176,14 @@ AC_SUBST(RT_CFLAGS) - AC_SUBST(RT_LIBS) - - FSL_MM_CORE_CFLAGS=`$PKG_CONFIG --cflags libfslaudiocodec 2>/dev/null` --FSL_MM_CORE_CFLAGS+=`$PKG_CONFIG --cflags libfslvideocodec 2>/dev/null` --FSL_MM_CORE_CFLAGS+=`$PKG_CONFIG --cflags libfslparser 2>/dev/null` --FSL_MM_CORE_CFLAGS+=`$PKG_CONFIG --cflags libfslvpuwrap 2>/dev/null` -+FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslvideocodec 2>/dev/null`" -+FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslparser 2>/dev/null`" -+FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslvpuwrap 2>/dev/null`" - AC_SUBST(FSL_MM_CORE_CFLAGS) - - FSL_MM_CORE_LIBS=`$PKG_CONFIG --libs libfslaudiocodec 2>/dev/null` --FSL_MM_CORE_LIBS+=`$PKG_CONFIG --libs libfslvideocodec 2>/dev/null` --FSL_MM_CORE_LIBS+=`$PKG_CONFIG --libs libfslparser 2>/dev/null` -+FSL_MM_CORE_LIBS="$FSL_MM_CORE_LIBS `$PKG_CONFIG --libs libfslvideocodec 2>/dev/null`" -+FSL_MM_CORE_LIBS="$FSL_MM_CORE_LIBS `$PKG_CONFIG --libs libfslparser 2>/dev/null`" - AC_SUBST(FSL_MM_CORE_LIBS) - - EXTRAPLATFORMCFLAGS="-DARM -D_GNUC_" --- diff --git a/package/gstreamer/gst-fsl-plugins/0003-Use-proper-objdump.patch b/package/gstreamer/gst-fsl-plugins/0003-Use-proper-objdump.patch deleted file mode 100644 index b7b8c9f740..0000000000 --- a/package/gstreamer/gst-fsl-plugins/0003-Use-proper-objdump.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c58b658a93b1b6d6e94ba0306d58de845012cef6 Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Tue, 18 Dec 2012 12:22:52 +0100 -Subject: [PATCH] Use proper objdump - -If the OBJDUMP environment variable is set, that should be used rather -than the objdump in PATH. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 1a31a06..cc7557d 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -17,7 +17,7 @@ AC_DEFUN([FIND_PARSER_SONAME], - AC_MSG_CHECKING([for lib_$1_parser_$2_elinux.3.0.so soname]) - path=`$PKG_CONFIG --variable=libdir libfslparser` - SONAME=$( $CC -print-file-name=$PKG_CONFIG_SYSROOT_DIR$path/lib_$1_parser_$2_elinux.so | \ -- while read output; do objdump -p $output | \ -+ while read output; do $OBJDUMP -p $output | \ - grep "SONAME" | \ - sed -e 's/ \+SONAME \+//'; done 2> /dev/null ) - if [[ -z "$SONAME" ]]; then -@@ -36,7 +36,7 @@ AC_DEFUN([FIND_ACODEC_SONAME], - AC_MSG_CHECKING([for lib_$1_wrap_$2_elinux.so soname]) - path=`$PKG_CONFIG --variable=libdir libfslaudiocodec` - SONAME=$( $CC -print-file-name=$PKG_CONFIG_SYSROOT_DIR$path/wrap/lib_$1_wrap_$2_elinux.so | \ -- while read output; do objdump -p $output | \ -+ while read output; do $OBJDUMP -p $output | \ - grep "SONAME" | \ - sed -e 's/ \+SONAME \+//'; done 2> /dev/null ) - if [[ -z "$SONAME" ]]; then --- diff --git a/package/gstreamer/gst-fsl-plugins/0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch b/package/gstreamer/gst-fsl-plugins/0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch deleted file mode 100644 index 763703c27c..0000000000 --- a/package/gstreamer/gst-fsl-plugins/0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 1ca4251d1284f2cb56e31aaec4d369809e2139c9 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Mon, 24 Feb 2014 16:30:39 +0100 -Subject: [PATCH] Fix libgstfsl linkage (add -lrt for shared memory functions). - -Fixes runtime failure of gst-fsl-plugins, e.g.: -(gst-plugin-scanner:1700): GStreamer-WARNING **: Failed to load - plugin '/usr/lib/gstreamer-0.10/libmfw_vpu.so': - /usr/lib/libgstfsl-0.10.so.0: undefined symbol: shm_open) - -Signed-off-by: Peter Seiderer ---- - configure.ac | 3 +++ - libs/Makefile.am | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index a5d1655..7b5a7a6 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -170,6 +170,9 @@ AC_CHECK_LIB(ipu, mxc_ipu_lib_task_init, [IPU_LIBS=-lipu], [echo "No libipu arou - AC_SUBST(IPU_CFLAGS) - AC_SUBST(IPU_LIBS) - -+AC_SEARCH_LIBS([shm_open], [rt], [SHM_LIBS="-lrt"]) -+AC_SUBST(SHM_LIBS) -+ - dnl of the POSIX Real-Time Extensions. - AC_CHECK_LIB(rt, clock_gettime) - AC_SUBST(RT_CFLAGS) -diff --git a/libs/Makefile.am b/libs/Makefile.am -index 2f56bba..5b30657 100755 ---- a/libs/Makefile.am -+++ b/libs/Makefile.am -@@ -42,7 +42,7 @@ libgstfsl_@GST_MAJORMINOR@_la_CFLAGS += -DIPULIB - endif - - libgstfsl_@GST_MAJORMINOR@_la_LDFLAGS = -version-info @GSTMXLIBS_VERSION@ --libgstfsl_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-@GST_MAJORMINOR@ -lgstinterfaces-$(GST_MAJORMINOR) $(IPU_LIBS) $(RT_LIBS) -+libgstfsl_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-@GST_MAJORMINOR@ -lgstinterfaces-$(GST_MAJORMINOR) $(IPU_LIBS) $(RT_LIBS) $(SHM_LIBS) - - libgstfsl_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/imx-mm - libgstfsl_@GST_MAJORMINOR@include_HEADERS = \ --- -1.8.1.4 - diff --git a/package/gstreamer/gst-fsl-plugins/0005-Remove-use-of-obsolete-VIDIOC_DBG_G_CHIP_IDENT.patch b/package/gstreamer/gst-fsl-plugins/0005-Remove-use-of-obsolete-VIDIOC_DBG_G_CHIP_IDENT.patch deleted file mode 100644 index 56352753a0..0000000000 --- a/package/gstreamer/gst-fsl-plugins/0005-Remove-use-of-obsolete-VIDIOC_DBG_G_CHIP_IDENT.patch +++ /dev/null @@ -1,69 +0,0 @@ -From ce90794a3458af0aed43b8570cf44cd87900185d Mon Sep 17 00:00:00 2001 -From: Gary Bisson -Date: Fri, 25 Jul 2014 16:44:53 -0700 -Subject: [PATCH] Remove use of obsolete VIDIOC_DBG_G_CHIP_IDENT - -This ioctl should never be used in application as -stated in videodev2.h header. -Moreover, its use in this plugin was very limited. - -Signed-off-by: Gary Bisson ---- - src/misc/tvsrc/src/mfw_gst_tvsrc.c | 8 -------- - src/misc/v4l_source/src/mfw_gst_v4lsrc.c | 7 ------- - 2 files changed, 15 deletions(-) - -diff --git a/src/misc/tvsrc/src/mfw_gst_tvsrc.c b/src/misc/tvsrc/src/mfw_gst_tvsrc.c -index 67e0cd2..f495b6f 100755 ---- a/src/misc/tvsrc/src/mfw_gst_tvsrc.c -+++ b/src/misc/tvsrc/src/mfw_gst_tvsrc.c -@@ -450,7 +450,6 @@ mfw_gst_tvsrc_capture_setup (MFWGstTVSRC * v4l_src) - struct v4l2_format fmt; - struct v4l2_control ctrl; - struct v4l2_streamparm parm; -- struct v4l2_dbg_chip_ident chip; - gint fd_v4l = 0; - struct v4l2_mxc_offset off; - gint in_width = 0, in_height = 0; -@@ -461,13 +460,6 @@ mfw_gst_tvsrc_capture_setup (MFWGstTVSRC * v4l_src) - return 0; - } - -- if (ioctl (fd_v4l, VIDIOC_DBG_G_CHIP_IDENT, &chip)) { -- g_print ("VIDIOC_DBG_G_CHIP_IDENT failed.\n"); -- } else -- g_print ("sensor chip is %s\n", chip.match.name); -- -- -- - if (ioctl (fd_v4l, VIDIOC_G_STD, &id) < 0) { - g_print ("VIDIOC_G_STD failed\n"); - close (fd_v4l); -diff --git a/src/misc/v4l_source/src/mfw_gst_v4lsrc.c b/src/misc/v4l_source/src/mfw_gst_v4lsrc.c -index 2c2e838..85e7ff0 100755 ---- a/src/misc/v4l_source/src/mfw_gst_v4lsrc.c -+++ b/src/misc/v4l_source/src/mfw_gst_v4lsrc.c -@@ -464,7 +464,6 @@ mfw_gst_v4lsrc_capture_setup (MFWGstV4LSrc * v4l_src) - struct v4l2_format fmt = {0}; - struct v4l2_control ctrl = {0}; - struct v4l2_streamparm parm = {0}; -- struct v4l2_dbg_chip_ident chip = {0}; - struct v4l2_frmsizeenum fszenum = {0}; - gint input; - gint fd_v4l = 0; -@@ -476,12 +475,6 @@ mfw_gst_v4lsrc_capture_setup (MFWGstV4LSrc * v4l_src) - return 0; - } - -- if (ioctl (fd_v4l, VIDIOC_DBG_G_CHIP_IDENT, &chip)) { -- GST_ERROR ("VIDIOC_DBG_G_CHIP_IDENT failed."); -- } else -- GST_INFO ("sensor chip is %s", chip.match.name); -- -- - if (v4l_src->crop_pixel) { - in_width = v4l_src->capture_width - (2 * v4l_src->crop_pixel); - in_height = v4l_src->capture_height - (2 * v4l_src->crop_pixel); --- -2.0.1 - diff --git a/package/gstreamer/gst-fsl-plugins/Config.in b/package/gstreamer/gst-fsl-plugins/Config.in deleted file mode 100644 index a2ff11ec3e..0000000000 --- a/package/gstreamer/gst-fsl-plugins/Config.in +++ /dev/null @@ -1,105 +0,0 @@ -comment "gst-fsl-plugins needs an imx-specific Linux kernel to be built" - depends on BR2_arm && !BR2_LINUX_KERNEL - -comment "gst-fsl-plugins needs a glibc toolchain" - depends on BR2_arm - depends on !BR2_TOOLCHAIN_USES_GLIBC - -config BR2_PACKAGE_GST_FSL_PLUGINS - bool "gst-fsl-plugins" - depends on BR2_LINUX_KERNEL - depends on BR2_arm # Only relevant for i.MX - depends on BR2_TOOLCHAIN_USES_GLIBC # imx-codec - select BR2_PACKAGE_GST_PLUGINS_BASE - select BR2_PACKAGE_IMX_VPUWRAP if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU - select BR2_PACKAGE_IMX_LIB - select BR2_PACKAGE_IMX_PARSER - select BR2_PACKAGE_IMX_CODEC - select BR2_PACKAGE_FREESCALE_IMX - help - GStreamer plugins for hardware-accelerated audio and video - parsers and codecs on i.MX platforms. It requires a kernel - that includes the i.MX specific headers to be built. - - To use the VPU, its firmware blob must be installed as - well. This can be found in the firmware-imx package in the - "Hardware handling" menu. - - This library is provided by Freescale as-is and doesn't have - an upstream. Pengutronix maintains gst-fsl-plugins at - git://git.pengutronix.de/git/imx/gst-plugins-fsl-vpu.git but - it diverges heavily from Freescale's original - implementation. - -if BR2_PACKAGE_GST_FSL_PLUGINS -choice - prompt "i.MX platform" - default BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX25 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX25_3STACK - default BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX27 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX27ADS - default BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX37 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX37_3STACK - default BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX50 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX50 - default BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX51 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 - default BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX53 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 - default BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX6 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q - -config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX233 - bool "imx233" - -config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX25 - bool "imx25" - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX25_3STACK - -config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX27 - bool "imx27" - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX27ADS - -config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX28 - bool "imx28" - -config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX31 - bool "imx31" - -config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX35 - bool "imx35" - -config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX37 - bool "imx37" - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX37_3STACK - -config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX50 - bool "imx50" - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX50 - -config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX51 - bool "imx51" - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX51 - -config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX53 - bool "imx53" - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX53 - -config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX5X - bool "imx5X" - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX5X - -config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX6 - bool "imx6" - select BR2_PACKAGE_IMX_LIB_PLATFORM_IMX6Q - -endchoice - -config BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM - string - default "MX233" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX233 - default "MX25" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX25 - default "MX27" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX27 - default "MX28" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX28 - default "MX31" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX31 - default "MX35" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX35 - default "MX37" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX37 - default "MX50" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX50 - default "MX51" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX51 - default "MX53" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX53 - default "MX5X" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX5X - default "MX6" if BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM_MX6 -endif diff --git a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.hash b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.hash deleted file mode 100644 index f1d639142f..0000000000 --- a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.hash +++ /dev/null @@ -1,2 +0,0 @@ -# locally computed -sha256 568883b2a1d8d32e4004cb3f123790d0b4286c91c1fac38c9dc8e20bd1250764 gst-fsl-plugins-4.0.3.tar.gz diff --git a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk deleted file mode 100644 index 547d253e88..0000000000 --- a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk +++ /dev/null @@ -1,47 +0,0 @@ -################################################################################ -# -# gst-fsl-plugins -# -################################################################################ - -GST_FSL_PLUGINS_VERSION = 4.0.3 -GST_FSL_PLUGINS_SITE = $(FREESCALE_IMX_SITE) - -# Most is LGPL-2.0+, but some sources are copied from upstream and are -# LGPL-2.1+, which essentially makes it LGPL-2.1+ -GST_FSL_PLUGINS_LICENSE = LGPL-2.0+, LGPL-2.1+, PROPRIETARY (asf.h) -GST_FSL_PLUGINS_LICENSE_FILES = COPYING-LGPL-2.1 COPYING-LGPL-2 - -GST_FSL_PLUGINS_INSTALL_STAGING = YES -GST_FSL_PLUGINS_AUTORECONF = YES - -GST_FSL_PLUGINS_DEPENDENCIES += host-pkgconf gstreamer gst-plugins-base \ - imx-lib imx-parser imx-codec - -ifeq ($(BR2_PACKAGE_FREESCALE_IMX_HAS_VPU),y) -GST_FSL_PLUGINS_DEPENDENCIES += imx-vpuwrap -endif - -GST_FSL_PLUGINS_CONF_ENV = \ - PLATFORM=$(BR2_PACKAGE_GST_FSL_PLUGINS_PLATFORM) \ - CROSS_ROOT="$(STAGING_DIR)" - -# needs access to imx-specific kernel headers -GST_FSL_PLUGINS_DEPENDENCIES += linux -GST_FSL_PLUGINS_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -idirafter $(LINUX_DIR)/include/uapi" - -ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) -GST_FSL_PLUGINS_DEPENDENCIES += xlib_libX11 -GST_FSL_PLUGINS_CONF_OPTS += --enable-x11 -else -GST_FSL_PLUGINS_CONF_OPTS += --disable-x11 -endif - -# Autoreconf requires an m4 directory to exist -define GST_FSL_PLUGINS_PATCH_M4 - mkdir -p $(@D)/m4 -endef - -GST_FSL_PLUGINS_POST_PATCH_HOOKS += GST_FSL_PLUGINS_PATCH_M4 - -$(eval $(autotools-package)) diff --git a/package/gstreamer/gst-omapfb/Config.in b/package/gstreamer/gst-omapfb/Config.in deleted file mode 100644 index cfe5bba6bc..0000000000 --- a/package/gstreamer/gst-omapfb/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_GST_OMAPFB - bool "gst-omapfb" - depends on BR2_cortex_a8 - help - GStreamer plug-in to use OMAP framebuffer. - - http://github.com/felipec/gst-omapfb diff --git a/package/gstreamer/gst-omapfb/gst-omapfb.hash b/package/gstreamer/gst-omapfb/gst-omapfb.hash deleted file mode 100644 index 7d1c722de9..0000000000 --- a/package/gstreamer/gst-omapfb/gst-omapfb.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 56c719584d7a7ede5fc2053e8d1060f623b226a60672de0faba46fad646658a4 gst-omapfb-v1.0.tar.gz diff --git a/package/gstreamer/gst-omapfb/gst-omapfb.mk b/package/gstreamer/gst-omapfb/gst-omapfb.mk deleted file mode 100644 index c0bf690531..0000000000 --- a/package/gstreamer/gst-omapfb/gst-omapfb.mk +++ /dev/null @@ -1,20 +0,0 @@ -################################################################################ -# -# gst-omapfb -# -################################################################################ - -GST_OMAPFB_VERSION = v1.0 -GST_OMAPFB_SITE = $(call github,felipec,gst-omapfb,$(GST_OMAPFB_VERSION)) - -define GST_OMAPFB_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -e -endef - -define GST_OMAPFB_INSTALL_TARGET_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -e DESTDIR=$(TARGET_DIR) install -endef - -GST_OMAPFB_DEPENDENCIES = gstreamer - -$(eval $(generic-package)) diff --git a/package/gstreamer/gst-plugin-x170/0001-correct-CFLAGS.patch b/package/gstreamer/gst-plugin-x170/0001-correct-CFLAGS.patch deleted file mode 100644 index 9c32e46cce..0000000000 --- a/package/gstreamer/gst-plugin-x170/0001-correct-CFLAGS.patch +++ /dev/null @@ -1,28 +0,0 @@ -The configure script is correctly getting the CFLAGS needed to compile a plugin -for gstreamer and storing them in GST_BASE_CFLAGS but the Makefiles are never -making use of those. - -We actually have to use AM_CPPFLAGS as AM_CFLAGS is used everywhere but on the -real compiling rule... - -Signed-off-by: Alexandre Belloni ---- - src/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/Makefile.am b/src/Makefile.am -index 8cb51d1..6af5d91 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -5,6 +5,8 @@ - ############################################################################## - plugin_LTLIBRARIES = libgstx170.la - -+AM_CPPFLAGS = @GST_BASE_CFLAGS@ -+ - ############################################################################## - # for the next set of variables, rename the prefix if you renamed the .la, # - # e.g. libgstplugin_la_SOURCES => libmysomething_la_SOURCES # --- -1.8.1.2 - diff --git a/package/gstreamer/gst-plugin-x170/Config.in b/package/gstreamer/gst-plugin-x170/Config.in deleted file mode 100644 index d0ba763a22..0000000000 --- a/package/gstreamer/gst-plugin-x170/Config.in +++ /dev/null @@ -1,16 +0,0 @@ -config BR2_PACKAGE_GST_PLUGIN_X170 - bool "gst-plugin-x170" - depends on BR2_arm926t - # glibc toolchain includes WCHAR and threading for libglib2 - depends on BR2_TOOLCHAIN_USES_GLIBC # on2-8170-libs - depends on BR2_LINUX_KERNEL # on2-8170-libs - select BR2_PACKAGE_ON2_8170_LIBS - help - GStreamer plug-in to use the Hantro X170 video decoder - present on ATMEL AT91SAM9M10 SoC. - - http://www.at91.com/linux4sam/bin/view/Linux4SAM/SAM9M10Gstreamer - -comment "gst-plugin-x170 needs a glibc toolchain and a Linux kernel to be built" - depends on BR2_arm926t - depends on !BR2_LINUX_KERNEL || !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/gstreamer/gst-plugin-x170/gst-plugin-x170.hash b/package/gstreamer/gst-plugin-x170/gst-plugin-x170.hash deleted file mode 100644 index 527c461656..0000000000 --- a/package/gstreamer/gst-plugin-x170/gst-plugin-x170.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 734ded3618246d946b53c2c8c7ab5a0961287485aaef5fb9bf874f93e3caa342 gst-plugin-x170-1.0.tar.gz diff --git a/package/gstreamer/gst-plugin-x170/gst-plugin-x170.mk b/package/gstreamer/gst-plugin-x170/gst-plugin-x170.mk deleted file mode 100644 index 378cd7a817..0000000000 --- a/package/gstreamer/gst-plugin-x170/gst-plugin-x170.mk +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -# -# gst-plugin-x170 -# -################################################################################ - -GST_PLUGIN_X170_VERSION = 1.0 -GST_PLUGIN_X170_SITE = ftp://ftp.linux4sam.org/pub/demo/linux4sam_1.9/codec - -GST_PLUGIN_X170_LICENSE = BSD-1c -#A license file is included but it is just a placeholder - -# There is no generated configure script in the tarball. -GST_PLUGIN_X170_AUTORECONF = YES -GST_PLUGIN_X170_AUTORECONF_OPTS = -Im4/ -GST_PLUGIN_X170_DEPENDENCIES = gstreamer libglib2 on2-8170-libs - -$(eval $(autotools-package)) diff --git a/package/gstreamer/gst-plugins-bad/0001-opus-jpegformat-unbreak-non-debug-build.patch b/package/gstreamer/gst-plugins-bad/0001-opus-jpegformat-unbreak-non-debug-build.patch deleted file mode 100644 index 2c98c3e102..0000000000 --- a/package/gstreamer/gst-plugins-bad/0001-opus-jpegformat-unbreak-non-debug-build.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 1725e702a3622cb45c8142622dd419fa0c410ac9 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Wed, 12 Sep 2012 09:10:35 +0200 -Subject: [PATCH] gst-plugins-bad: opus + jpegformat: unbreak non-debug build - -opus + jpegformat plugin builds fail when gstreamer is configured with ---disable-gst-debug as they are checking the GST_DISABLE_DEBUG symbol -instead of GST_DISABLE_GST_DEBUG. - -Submitted upstream as https://bugzilla.gnome.org/show_bug.cgi?id=683850 - -Signed-off-by: Peter Korsgaard ---- - ext/opus/gstopusdec.c | 2 +- - ext/opus/gstopusenc.c | 4 ++-- - gst/jpegformat/gstjpegparse.c | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/ext/opus/gstopusdec.c b/ext/opus/gstopusdec.c -index 0e2805c..ab7221d 100644 ---- a/ext/opus/gstopusdec.c -+++ b/ext/opus/gstopusdec.c -@@ -357,7 +357,7 @@ opus_dec_chain_parse_data (GstOpusDec * dec, GstBuffer * buffer) - - GST_DEBUG_OBJECT (dec, "Creating decoder with %d channels, %d Hz", - dec->n_channels, dec->sample_rate); --#ifndef GST_DISABLE_DEBUG -+#ifndef GST_DISABLE_GST_DEBUG - gst_opus_common_log_channel_mapping_table (GST_ELEMENT (dec), opusdec_debug, - "Mapping table", dec->n_channels, dec->channel_mapping); - #endif -diff --git a/ext/opus/gstopusenc.c b/ext/opus/gstopusenc.c -index 240a2cb..d991795 100644 ---- a/ext/opus/gstopusenc.c -+++ b/ext/opus/gstopusenc.c -@@ -589,7 +589,7 @@ gst_opus_enc_setup_channel_mappings (GstOpusEnc * enc, - } - } - --#ifndef GST_DISABLE_DEBUG -+#ifndef GST_DISABLE_GST_DEBUG - GST_INFO_OBJECT (enc, - "Mapping tables built: %d channels, %d stereo streams", enc->n_channels, - enc->n_stereo_streams); -@@ -654,7 +654,7 @@ gst_opus_enc_setup (GstOpusEnc * enc) - { - int error = OPUS_OK; - --#ifndef GST_DISABLE_DEBUG -+#ifndef GST_DISABLE_GST_DEBUG - GST_DEBUG_OBJECT (enc, - "setup: %d Hz, %d channels, %d stereo streams, family %d", - enc->sample_rate, enc->n_channels, enc->n_stereo_streams, -diff --git a/gst/jpegformat/gstjpegparse.c b/gst/jpegformat/gstjpegparse.c -index f984a52..b4af9ed 100644 ---- a/gst/jpegformat/gstjpegparse.c -+++ b/gst/jpegformat/gstjpegparse.c -@@ -545,7 +545,7 @@ gst_jpeg_parse_skip_marker (GstJpegParse * parse, - if (!gst_byte_reader_get_uint16_be (reader, &size)) - return FALSE; - --#ifndef GST_DISABLE_DEBUG -+#ifndef GST_DISABLE_GST_DEBUG - /* We'd pry the id of the skipped application segment */ - if (marker >= APP0 && marker <= APP15) { - const gchar *id_str = NULL; -@@ -561,7 +561,7 @@ gst_jpeg_parse_skip_marker (GstJpegParse * parse, - #else - GST_DEBUG_OBJECT (parse, "unhandled marker %x skiping %u bytes", marker, - size); --#endif // GST_DISABLE_DEBUG -+#endif // GST_DISABLE_GST_DEBUG - - if (!gst_byte_reader_skip (reader, size - 2)) - return FALSE; --- -1.7.10 - diff --git a/package/gstreamer/gst-plugins-bad/0002-fix-dfb-example.patch b/package/gstreamer/gst-plugins-bad/0002-fix-dfb-example.patch deleted file mode 100644 index b2057484cd..0000000000 --- a/package/gstreamer/gst-plugins-bad/0002-fix-dfb-example.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix dfb-example - -Order of inclusion gives a strange effect on the definition of -gst_debug_log. Swapping the include statements solve it. - -Not upstreamed since there will be no more updates to this version -of gst-plugins-bad. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- -diff -rup gst-plugins-bad-0.10.23/ext/directfb/dfb-example.c gst-plugins-bad-0.10.23.fixed/ext/directfb/dfb-example.c ---- gst-plugins-bad-0.10.23/ext/directfb/dfb-example.c 2011-12-11 19:49:11.000000000 +0100 -+++ gst-plugins-bad-0.10.23.fixed/ext/directfb/dfb-example.c 2013-05-13 00:32:00.507469138 +0200 -@@ -1,7 +1,7 @@ - --#include - #include - #include -+#include - - static IDirectFB *dfb = NULL; - static IDirectFBSurface *primary = NULL; diff --git a/package/gstreamer/gst-plugins-bad/0003-drop-buggy-libvpx-legacy-handling.patch b/package/gstreamer/gst-plugins-bad/0003-drop-buggy-libvpx-legacy-handling.patch deleted file mode 100644 index 780b5e38e6..0000000000 --- a/package/gstreamer/gst-plugins-bad/0003-drop-buggy-libvpx-legacy-handling.patch +++ /dev/null @@ -1,44 +0,0 @@ -[PATCH] vp8: drop buggy libvpx legacy handling - -Legacy handling for older libvpx versions were added back in 2010, but this -was unfortunately buggy as these symbols are enums and not defines - So they -are never defined and the legacy symbols always used. - -Now that the legacy symbols are completely removed from libvpx from v1.4.0 -onwards this breaks. Fix it by simply dropping the legacy handling, nobody -should be using libvpx versions from before 2010 (or gstreamer 0.10 for that -matter) any more. - -Signed-off-by: Peter Korsgaard ---- - ext/vp8/gstvp8utils.h | 17 ----------------- - 1 file changed, 17 deletions(-) - -Index: gst-plugins-bad-0.10.23/ext/vp8/gstvp8utils.h -=================================================================== ---- gst-plugins-bad-0.10.23.orig/ext/vp8/gstvp8utils.h -+++ gst-plugins-bad-0.10.23/ext/vp8/gstvp8utils.h -@@ -25,23 +25,6 @@ - - G_BEGIN_DECLS - --/* Some compatibility defines for older libvpx versions */ --#ifndef VPX_IMG_FMT_I420 --#define VPX_IMG_FMT_I420 IMG_FMT_I420 --#endif -- --#ifndef VPX_PLANE_Y --#define VPX_PLANE_Y PLANE_Y --#endif -- --#ifndef VPX_PLANE_U --#define VPX_PLANE_U PLANE_U --#endif -- --#ifndef VPX_PLANE_V --#define VPX_PLANE_V PLANE_V --#endif -- - const char * gst_vpx_error_name (vpx_codec_err_t status); - - G_END_DECLS diff --git a/package/gstreamer/gst-plugins-bad/Config.in b/package/gstreamer/gst-plugins-bad/Config.in deleted file mode 100644 index 411e4b6174..0000000000 --- a/package/gstreamer/gst-plugins-bad/Config.in +++ /dev/null @@ -1,332 +0,0 @@ -menuconfig BR2_PACKAGE_GST_PLUGINS_BAD - bool "gst-plugins-bad" - select BR2_PACKAGE_GST_PLUGINS_BASE - help - A set of plug-ins for GStreamer that may be of poor quality or - lacking some features. - - http://gstreamer.freedesktop.org/ - -if BR2_PACKAGE_GST_PLUGINS_BAD - -comment "dependency-less plugins" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_ADPCMDEC - bool "adpcmdec" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_ADPCMENC - bool "adpcmenc" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_AIFF - bool "aiff" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_ASFMUX - bool "asfmux" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_AUTOCONVERT - bool "autoconvert" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_AUDIOVISUALIZERS - bool "audiovisualizers" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_BAYER - bool "bayer" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_CAMERABIN - bool "camerabin" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_CAMERABIN2 - bool "camerabin2" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_CDXAPARSE - bool "cdxaparse" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_COLOREFFECTS - bool "coloreffects" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_COLORSPACE - bool "colorspace" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DATAURISRC - bool "dataurisrc" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DCCP - bool "dccp" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DEBUGUTILS - bool "debugutils" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DECKLINK - bool "decklink" - depends on BR2_INSTALL_LIBSTDCPP - -comment "decklink needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DTMF - bool "dtmf" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY - bool "dvdsuboverlay" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DVDSPU - bool "dvdspu" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FACEOVERLAY - bool "faceoverlay" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FESTIVAL - bool "festival" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FIELDANALYSIS - bool "fieldanalysis" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FREEVERB - bool "freeverb" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FREEZE - bool "freeze" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FREI0R - bool "frei0r" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_GAUDIEFFECTS - bool "gaudieffects" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_GEOMETRICTRANSFORM - bool "geometrictransform" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_GSETTINGS - bool "gsettings" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_H264PARSE - bool "h264parse" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_HDVPARSE - bool "hdvparse" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_HLS - bool "hls" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_ID3TAG - bool "id3tag" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_INTER - bool "inter" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_INTERLACE - bool "interlace" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_IVFPARSE - bool "ivfparse" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_JP2KDECIMATOR - bool "jp2kdecimator" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_JPEGFORMAT - bool "jpegformat" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_LEGACYRESAMPLE - bool "legacyresample" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_LIBRFB - bool "librfb" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_LINSYS - bool "linsys" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_LIVEADDER - bool "liveadder" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MPEGDEMUX - bool "mpegdemux" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MPEGPSMUX - bool "mpegpsmux" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX - bool "mpegtsdemux" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MPEGTSMUX - bool "mpegtsmux" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MPEGVIDEOPARSE - bool "mpegvideoparse" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MVE - bool "mve" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MXF - bool "mxf" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_NSF - bool "nsf" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_NUVDEMUX - bool "nuvdemux" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_PATCHDETECT - bool "patchdetect" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_PCAPPARSE - bool "pcapparse" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_PNM - bool "pnm" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_RAWPARSE - bool "rawparse" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_REAL - bool "real" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_REMOVESILENCE - bool "removesilence" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_RTPMUX - bool "rtpmux" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_RTPVP8 - bool "rtpvp8" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SCALETEMPO - bool "scaletempo" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SDI - bool "sdi" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SDP - bool "sdp" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SEGMENTCLIP - bool "segmentclip" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SIREN - bool "siren" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SMOOTH - bool "smooth" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SPEED - bool "speed" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_STEREO - bool "stereo" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SUBENC - bool "subenc" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_TTA - bool "tta" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VIDEOFILTERS - bool "videofilters" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VIDEOMAXRATE - bool "videomaxrate" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VIDEOMEASURE - bool "videomeasure" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VIDEOPARSERS - bool "videoparsers" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VIDEOSIGNAL - bool "videosignal" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VMNC - bool "vmnc" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_Y4M - bool "y4m" - -comment "plugins with external dependencies (there may be more available)" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_BZ2 - bool "bz2" - select BR2_PACKAGE_BZIP2 - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_CDAUDIO - bool "cdaudio" - depends on !BR2_nios2 # libcdaudio - select BR2_PACKAGE_LIBCDAUDIO - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_CURL - bool "curl" - select BR2_PACKAGE_LIBCURL - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DIRECTFB - bool "directfb" - default y - depends on BR2_PACKAGE_DIRECTFB - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DVB - bool "dvb" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FBDEV - bool "fbdev" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FAAD - bool "faad" - select BR2_PACKAGE_FAAD2 - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_LIBMMS - bool "libmms" - depends on BR2_USE_WCHAR # libmms -> libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # libmms -> libglib2 - select BR2_PACKAGE_LIBMMS - -comment "libmms needs a toolchain w/ wchar, threads" - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MUSEPACK - bool "musepack" - select BR2_PACKAGE_MUSEPACK - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_NEON - bool "neon" - select BR2_PACKAGE_NEON - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_OPUS - bool "opus" - select BR2_PACKAGE_OPUS - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_RSVG - bool "rsvg" - depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz - select BR2_PACKAGE_LIBRSVG - -comment "rsvg plugin needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_SYNC_4 - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SDL - bool "sdl" - select BR2_PACKAGE_SDL - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SNDFILE - bool "sndfile" - select BR2_PACKAGE_LIBSNDFILE - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VCD - bool "vcd" - -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VP8 - bool "vp8" - select BR2_PACKAGE_LIBVPX - -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_INSTALL_LIBSTDCPP # zbar-> libv4l - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # zbar - select BR2_PACKAGE_ZBAR - -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_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 - -endif diff --git a/package/gstreamer/gst-plugins-bad/gst-plugins-bad.hash b/package/gstreamer/gst-plugins-bad/gst-plugins-bad.hash deleted file mode 100644 index 760ed31c9c..0000000000 --- a/package/gstreamer/gst-plugins-bad/gst-plugins-bad.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.23.tar.xz.md5 -md5 e4822fa2cc933768e2998311a1565979 gst-plugins-bad-0.10.23.tar.xz diff --git a/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk b/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk deleted file mode 100644 index a98eac4235..0000000000 --- a/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk +++ /dev/null @@ -1,593 +0,0 @@ -################################################################################ -# -# gst-plugins-bad -# -################################################################################ - -GST_PLUGINS_BAD_VERSION = 0.10.23 -GST_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST_PLUGINS_BAD_VERSION).tar.xz -GST_PLUGINS_BAD_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-bad -# COPYING.LIB is in fact v2, but most of the code is v2.1+ -GST_PLUGINS_BAD_LICENSE = LGPL-2.1+, GPL-2.0+ -GST_PLUGINS_BAD_LICENSE_FILES = COPYING.LIB COPYING - -GST_PLUGINS_BAD_CONF_OPTS = \ - --disable-apexsink \ - --disable-examples \ - --disable-spandsp - -GST_PLUGINS_BAD_DEPENDENCIES = gst-plugins-base gstreamer - -ifeq ($(BR2_PACKAGE_ORC),y) -GST_PLUGINS_BAD_DEPENDENCIES += orc -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_ADPCMDEC),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-adpcmdec -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-adpcmdec -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_ADPCMENC),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-adpcmenc -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-adpcmenc -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_AIFF),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-aiff -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-aiff -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_ASFMUX),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-asfmux -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-asfmux -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_AUDIOVISUALIZERS),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-audiovisualizers -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-audiovisualizers -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_AUTOCONVERT),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-autoconvert -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-autoconvert -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_BAYER),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-bayer -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-bayer -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_CAMERABIN),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-camerabin -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-camerabin -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_CAMERABIN2),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-camerabin2 -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-camerabin2 -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_CDXAPARSE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-cdxaparse -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-cdxaparse -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_COLOREFFECTS),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-coloreffects -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-coloreffects -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_COLORSPACE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-colorspace -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-colorspace -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DATAURISRC),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-dataurisrc -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-dataurisrc -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DCCP),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-dccp -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-dccp -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DEBUGUTILS),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-debugutils -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-debugutils -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DECKLINK),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-decklink -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-decklink -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DTMF),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-dtmf -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-dtmf -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-dvbsuboverlay -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-dvbsuboverlay -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DVDSPU),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-dvdspu -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-dvdspu -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FACEOVERLAY),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-faceoverlay -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-faceoverlay -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FESTIVAL),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-festival -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-festival -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FIELDANALYSIS),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-fieldanalysis -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-fieldanalysis -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FREEZE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-freeze -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-freeze -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FREEVERB),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-freeverb -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-freeverb -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FREI0R),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-frei0r -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-frei0r -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_GAUDIEFFECTS),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-gaudieffects -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-gaudieffects -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_GEOMETRICTRANSFORM),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-geometrictransform -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-geometrictransform -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_GSETTINGS),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-gsettings -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-gsettings -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_H264PARSE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-h264parse -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-h264parse -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_HDVPARSE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-hdvparse -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-hdvparse -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_HLS),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-hls -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-hls -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_ID3TAG),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-id3tag -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-id3tag -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_INTER),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-inter -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-inter -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_INTERLACE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-interlace -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-interlace -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_IVFPARSE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-ivfparse -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-ivfparse -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_JP2KDECIMATOR),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-jp2kdecimator -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-jp2kdecimator -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_JPEGFORMAT),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-jpegformat -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-jpegformat -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_LEGACYRESAMPLE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-legacyresample -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-legacyresample -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_LIBRFB),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-librfb -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-librfb -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_LINSYS),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-linsys -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-linsys -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_LIVEADDER),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-liveadder -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-liveadder -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MPEGDEMUX),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-mpegdemux -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-mpegdemux -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MPEGPSMUX),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-mpegpsmux -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-mpegpsmux -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-mpegtsdemux -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-mpegtsdemux -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MPEGTSMUX),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-mpegtsmux -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-mpegtsmux -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MPEGVIDEOPARSE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-mpegvideoparse -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-mpegvideoparse -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MVE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-mve -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-mve -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MXF),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-mxf -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-mxf -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_NSF),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-nsf -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-nsf -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_NUVDEMUX),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-nuvdemux -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-nuvdemux -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_PATCHDETECT),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-patchdetect -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-patchdetect -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_PCAPPARSE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-pcapparse -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-pcapparse -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_PNM),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-pnm -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-pnm -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_RAWPARSE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-rawparse -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-rawparse -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_REAL),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-real -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-real -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_REMOVESILENCE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-removesilence -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-removesilence -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_RTPMUX),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-rtpmux -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-rtpmux -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_RTPVP8),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-rtpvp8 -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-rtpvp8 -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SCALETEMPO),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-scaletempo -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-scaletempo -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SDI),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-sdi -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-sdi -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SDP),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-sdp -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-sdp -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SEGMENTCLIP),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-segmentclip -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-segmentclip -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SIREN),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-siren -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-siren -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SMOOTH),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-smooth -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-smooth -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SPEED),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-speed -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-speed -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SUBENC),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-subenc -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-subenc -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_STEREO),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-stereo -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-stereo -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_TTA),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-tta -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-tta -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VIDEOFILTERS),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-videofilters -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-videofilters -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VIDEOMAXRATE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-videomaxrate -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-videomaxrate -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VIDEOMEASURE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-videomeasure -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-videomeasure -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VIDEOPARSERS),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-videoparsers -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-videoparsers -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VIDEOSIGNAL),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-videosignal -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-videosignal -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VMNC),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-vmnc -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-vmnc -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_Y4M),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-y4m -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-y4m -endif - -# plugins with deps -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_BZ2),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-bz2 -GST_PLUGINS_BAD_DEPENDENCIES += bzip2 -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-bz2 -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_CDAUDIO),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-cdaudio -GST_PLUGINS_BAD_DEPENDENCIES += libcdaudio -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-cdaudio -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_CURL),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-curl -GST_PLUGINS_BAD_DEPENDENCIES += libcurl -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-curl -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DIRECTFB),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-directfb -GST_PLUGINS_BAD_DEPENDENCIES += directfb -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-directfb -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DVB),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-dvb -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-dvb -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FAAD),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-faad -GST_PLUGINS_BAD_DEPENDENCIES += faad2 -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-faad -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_FBDEV),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-fbdev -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-fbdev -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_LIBMMS),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-libmms -GST_PLUGINS_BAD_DEPENDENCIES += libmms -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-libmms -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_MUSEPACK),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-musepack -GST_PLUGINS_BAD_DEPENDENCIES += musepack -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-musepack -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_NEON),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-neon -GST_PLUGINS_BAD_DEPENDENCIES += neon -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-neon -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_OPUS),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-opus -GST_PLUGINS_BAD_DEPENDENCIES += opus -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-opus -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_RSVG),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-rsvg -GST_PLUGINS_BAD_DEPENDENCIES += librsvg -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-rsvg -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SDL),y) -GST_PLUGINS_BAD_CONF_ENV += ac_cv_path_SDL_CONFIG=$(STAGING_DIR)/usr/bin/sdl-config -GST_PLUGINS_BAD_CONF_OPTS += --enable-sdl -GST_PLUGINS_BAD_DEPENDENCIES += sdl -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-sdl -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SNDFILE),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-sndfile -GST_PLUGINS_BAD_DEPENDENCIES += libsndfile -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-sndfile -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VCD),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-vcd -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-vcd -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VP8),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-vp8 -GST_PLUGINS_BAD_DEPENDENCIES += libvpx -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-vp8 -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_ZBAR),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-zbar -GST_PLUGINS_BAD_DEPENDENCIES += zbar -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-zbar -endif - -$(eval $(autotools-package)) diff --git a/package/gstreamer/gst-plugins-base/0001-tremor.patch b/package/gstreamer/gst-plugins-base/0001-tremor.patch deleted file mode 100644 index fa8785bed4..0000000000 --- a/package/gstreamer/gst-plugins-base/0001-tremor.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 0088753651350de3060ece22c1be4153b6009515 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Wed, 25 Jan 2012 23:53:04 +0100 -Subject: [PATCH] base: vorbisdeclib: support modern Tremor versions - -Reported upstream as https://bugzilla.gnome.org/show_bug.cgi?id=668726 - -Tremor changed to use standard libogg rather than its own incompatible -copy back in Aug 2010 (r17375), causing gst-plugin-base build to fail. - -Tremolo so far unfortunately hasn't been updated. Restructure -vorbisdeclib.h so the legacy _ogg_packet_wrapper code is only used for -Tremolo. - -Signed-off-by: Peter Korsgaard ---- - ext/vorbis/gstvorbisdeclib.h | 77 ++++++++++++++++++++++------------------- - 1 files changed, 41 insertions(+), 36 deletions(-) - -diff --git a/ext/vorbis/gstvorbisdeclib.h b/ext/vorbis/gstvorbisdeclib.h -index ca00af9..e147591 100644 ---- a/ext/vorbis/gstvorbisdeclib.h -+++ b/ext/vorbis/gstvorbisdeclib.h -@@ -29,11 +29,6 @@ - - #ifndef TREMOR - --#include -- --typedef float vorbis_sample_t; --typedef ogg_packet ogg_packet_wrapper; -- - #define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to float audio" - - #define GST_VORBIS_DEC_SRC_CAPS \ -@@ -47,6 +42,42 @@ typedef ogg_packet ogg_packet_wrapper; - - #define GST_VORBIS_DEC_GLIB_TYPE_NAME GstVorbisDec - -+#else /* TREMOR */ -+ -+#define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to integer audio" -+ -+#define GST_VORBIS_DEC_SRC_CAPS \ -+ GST_STATIC_CAPS ("audio/x-raw-int, " \ -+ "rate = (int) [ 1, MAX ], " \ -+ "channels = (int) [ 1, 6 ], " \ -+ "endianness = (int) BYTE_ORDER, " \ -+ "width = (int) { 16, 32 }, " \ -+ "depth = (int) 16, " \ -+ "signed = (boolean) true") -+ -+#define GST_VORBIS_DEC_DEFAULT_SAMPLE_WIDTH (16) -+ -+/* we need a different type name here */ -+#define GST_VORBIS_DEC_GLIB_TYPE_NAME GstIVorbisDec -+ -+/* and still have it compile */ -+typedef struct _GstVorbisDec GstIVorbisDec; -+typedef struct _GstVorbisDecClass GstIVorbisDecClass; -+ -+#endif /* TREMOR */ -+ -+#ifndef USE_TREMOLO -+ -+#ifdef TREMOR -+ #include -+ typedef ogg_int32_t vorbis_sample_t; -+#else -+ #include -+ typedef float vorbis_sample_t; -+#endif -+ -+typedef ogg_packet ogg_packet_wrapper; -+ - static inline guint8 * - gst_ogg_packet_data (ogg_packet * p) - { -@@ -72,17 +103,11 @@ gst_ogg_packet_from_wrapper (ogg_packet_wrapper * packet) - return packet; - } - --#else -- --#ifdef USE_TREMOLO -- #include -- #include -- typedef ogg_int16_t vorbis_sample_t; --#else -- #include -- typedef ogg_int32_t vorbis_sample_t; --#endif -+#else /* USE_TREMOLO */ - -+#include -+#include -+typedef ogg_int16_t vorbis_sample_t; - typedef struct _ogg_packet_wrapper ogg_packet_wrapper; - - struct _ogg_packet_wrapper { -@@ -91,26 +116,6 @@ struct _ogg_packet_wrapper { - ogg_buffer buf; - }; - --#define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to integer audio" -- --#define GST_VORBIS_DEC_SRC_CAPS \ -- GST_STATIC_CAPS ("audio/x-raw-int, " \ -- "rate = (int) [ 1, MAX ], " \ -- "channels = (int) [ 1, 6 ], " \ -- "endianness = (int) BYTE_ORDER, " \ -- "width = (int) { 16, 32 }, " \ -- "depth = (int) 16, " \ -- "signed = (boolean) true") -- --#define GST_VORBIS_DEC_DEFAULT_SAMPLE_WIDTH (16) -- --/* we need a different type name here */ --#define GST_VORBIS_DEC_GLIB_TYPE_NAME GstIVorbisDec -- --/* and still have it compile */ --typedef struct _GstVorbisDec GstIVorbisDec; --typedef struct _GstVorbisDecClass GstIVorbisDecClass; -- - /* compensate minor variation */ - #define vorbis_synthesis(a, b) vorbis_synthesis (a, b, 1) - -@@ -154,7 +159,7 @@ gst_ogg_packet_from_wrapper (ogg_packet_wrapper * packet) - return &(packet->packet); - } - --#endif -+#endif /* USE_TREMOLO */ - - typedef void (*CopySampleFunc)(vorbis_sample_t *out, vorbis_sample_t **in, - guint samples, gint channels, gint width); --- -1.7.8.3 - diff --git a/package/gstreamer/gst-plugins-base/0002-audioresample-Fix-build-on-x86-if-emmintrin.h-is-ava.patch b/package/gstreamer/gst-plugins-base/0002-audioresample-Fix-build-on-x86-if-emmintrin.h-is-ava.patch deleted file mode 100644 index eabea4f8ca..0000000000 --- a/package/gstreamer/gst-plugins-base/0002-audioresample-Fix-build-on-x86-if-emmintrin.h-is-ava.patch +++ /dev/null @@ -1,38 +0,0 @@ -From daa194b71ea6f9e8ee522ab02e8c56150b7e62b3 Mon Sep 17 00:00:00 2001 -From: Antoine Jacoutot -Date: Mon, 20 Jan 2014 15:44:09 +0100 -Subject: [PATCH] audioresample: Fix build on x86 if emmintrin.h is available - but can't be used - -On i386, EMMINTRIN is defined but not usable without SSE so check for -__SSE__ and __SSE2__ as well. - -https://bugzilla.gnome.org/show_bug.cgi?id=670690 -Signed-off-by: Peter Korsgaard ---- - gst/audioresample/resample.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gst/audioresample/resample.c b/gst/audioresample/resample.c -index 98d006c..481fa01 100644 ---- a/gst/audioresample/resample.c -+++ b/gst/audioresample/resample.c -@@ -77,13 +77,13 @@ - #define EXPORT G_GNUC_INTERNAL - - #ifdef _USE_SSE --#ifndef HAVE_XMMINTRIN_H -+#if !defined(__SSE__) || !defined(HAVE_XMMINTRIN_H) - #undef _USE_SSE - #endif - #endif - - #ifdef _USE_SSE2 --#ifndef HAVE_EMMINTRIN_H -+#if !defined(__SSE2__) || !defined(HAVE_XMMINTRIN_H) - #undef _USE_SSE2 - #endif - #endif --- -2.1.4 - diff --git a/package/gstreamer/gst-plugins-base/0003-audioresample-It-s-HAVE_EMMINTRIN_H-not-HAVE_XMMINTR.patch b/package/gstreamer/gst-plugins-base/0003-audioresample-It-s-HAVE_EMMINTRIN_H-not-HAVE_XMMINTR.patch deleted file mode 100644 index e67531d2f7..0000000000 --- a/package/gstreamer/gst-plugins-base/0003-audioresample-It-s-HAVE_EMMINTRIN_H-not-HAVE_XMMINTR.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4e3d101aa854cfee633a9689efeb75e5001baa5e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= -Date: Mon, 20 Jan 2014 16:11:04 +0100 -Subject: [PATCH] audioresample: It's HAVE_EMMINTRIN_H, not HAVE_XMMINTRIN_H - for SSE2 - -Signed-off-by: Peter Korsgaard ---- - gst/audioresample/resample.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gst/audioresample/resample.c b/gst/audioresample/resample.c -index 481fa01..4410bdd 100644 ---- a/gst/audioresample/resample.c -+++ b/gst/audioresample/resample.c -@@ -83,7 +83,7 @@ - #endif - - #ifdef _USE_SSE2 --#if !defined(__SSE2__) || !defined(HAVE_XMMINTRIN_H) -+#if !defined(__SSE2__) || !defined(HAVE_EMMINTRIN_H) - #undef _USE_SSE2 - #endif - #endif --- -2.1.4 - diff --git a/package/gstreamer/gst-plugins-base/Config.in b/package/gstreamer/gst-plugins-base/Config.in deleted file mode 100644 index e9c8239f79..0000000000 --- a/package/gstreamer/gst-plugins-base/Config.in +++ /dev/null @@ -1,108 +0,0 @@ -menuconfig BR2_PACKAGE_GST_PLUGINS_BASE - bool "gst-plugins-base" - select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 - select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 - select BR2_PACKAGE_XLIB_LIBXV if BR2_PACKAGE_XORG7 - help - A basic set of well-supported plug-ins for GStreamer. - - http://gstreamer.freedesktop.org/ - -if BR2_PACKAGE_GST_PLUGINS_BASE - -comment "dependency-less plugins" - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_ADDER - bool "adder" - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP - bool "app" - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIOCONVERT - bool "audioconvert (mandatory for audio playback)" - default y - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIORATE - bool "audiorate" - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE - bool "audioresample (mandatory for audio playback)" - default y - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC - bool "audiotestsrc" - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_ENCODING - bool "encoding" - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_FFMPEGCOLORSPACE - bool "ffmpegcolorspace (mandatory for video playback)" - default y - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_GDP - bool "gdp" - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_PLAYBACK - bool "playback (mandatory)" - default y - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TCP - bool "tcp" - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TYPEFIND - bool "typefind (mandatory)" - default y - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC - bool "videotestsrc" - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEORATE - bool "videorate" - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEOSCALE - bool "videoscale (mandatory for video playback)" - default y - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VOLUME - bool "volume (mandatory for audio playback)" - default y - -comment "plugins with external dependencies (there may be more available)" - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_ALSA - bool "alsa (mandatory for audio playback)" - select BR2_PACKAGE_ALSA_LIB - select BR2_PACKAGE_ALSA_LIB_MIXER - select BR2_PACKAGE_ALSA_LIB_PCM - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_OGG - bool "ogg (*.ogg audio/video)" - select BR2_PACKAGE_LIBOGG - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_PANGO - bool "pango font renderer" - depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz - select BR2_PACKAGE_PANGO - -comment "pango plugin needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_SYNC_4 - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_SUBPARSE - bool "subparse" - select BR2_PACKAGE_LIBXML2 - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_THEORA - bool "theora (*.ogg video)" - select BR2_PACKAGE_LIBTHEORA - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TREMOR - bool "tremor" - select BR2_PACKAGE_TREMOR - -config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VORBIS - bool "vorbis (*.ogg audio)" - select BR2_PACKAGE_LIBVORBIS - -endif diff --git a/package/gstreamer/gst-plugins-base/gst-plugins-base.hash b/package/gstreamer/gst-plugins-base/gst-plugins-base.hash deleted file mode 100644 index 77eba71bb5..0000000000 --- a/package/gstreamer/gst-plugins-base/gst-plugins-base.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.xz.md5 -md5 3d2337841b132fe996e5eb2396ac9438 gst-plugins-base-0.10.36.tar.xz diff --git a/package/gstreamer/gst-plugins-base/gst-plugins-base.mk b/package/gstreamer/gst-plugins-base/gst-plugins-base.mk deleted file mode 100644 index 735314365d..0000000000 --- a/package/gstreamer/gst-plugins-base/gst-plugins-base.mk +++ /dev/null @@ -1,196 +0,0 @@ -################################################################################ -# -# gst-plugins-base -# -################################################################################ - -GST_PLUGINS_BASE_VERSION = 0.10.36 -GST_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST_PLUGINS_BASE_VERSION).tar.xz -GST_PLUGINS_BASE_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-base -GST_PLUGINS_BASE_INSTALL_STAGING = YES -GST_PLUGINS_BASE_LICENSE = GPL-2.0+, LGPL-2.0+ -GST_PLUGINS_BASE_LICENSE_FILES = COPYING COPYING.LIB - -# freetype is only used by examples, but if it is not found -# and the host has a freetype-config script, then the host -# include dirs are added to the search path causing trouble -GST_PLUGINS_BASE_CONF_ENV = \ - FT2_CONFIG=/bin/false \ - ac_cv_header_stdint_t="stdint.h" - -GST_PLUGINS_BASE_CONF_OPTS = \ - --disable-examples \ - --disable-oggtest \ - --disable-vorbistest \ - --disable-freetypetest - -GST_PLUGINS_BASE_DEPENDENCIES = gstreamer - -ifeq ($(BR2_PACKAGE_XORG7),y) -GST_PLUGINS_BASE_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXv -GST_PLUGINS_BASE_CONF_OPTS += \ - --enable-x \ - --enable-xshm \ - --enable-xvideo -else -GST_PLUGINS_BASE_CONF_OPTS += \ - --disable-x \ - --disable-xshm \ - --disable-xvideo -endif - -ifeq ($(BR2_PACKAGE_ORC),y) -GST_PLUGINS_BASE_DEPENDENCIES += orc -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_ALSA),y) -GST_PLUGINS_BASE_DEPENDENCIES += alsa-lib -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-alsa -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_ADDER),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-adder -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-adder -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-app -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-app -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIOCONVERT),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-audioconvert -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-audioconvert -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIORATE),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-audiorate -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-audiorate -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-audioresample -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-audioresample -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-audiotestsrc -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-audiotestsrc -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_ENCODING),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-encoding -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-encoding -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_FFMPEGCOLORSPACE),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-ffmpegcolorspace -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-ffmpegcolorspace -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_GDP),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-gdp -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-gdp -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_PLAYBACK),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-playback -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-playback -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_SUBPARSE),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-subparse -GST_PLUGINS_BASE_DEPENDENCIES += libxml2 -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-subparse -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TCP),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-tcp -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-tcp -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TYPEFIND),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-typefind -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-typefind -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-videotestsrc -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-videotestsrc -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEORATE),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-videorate -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-videorate -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEOSCALE),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-videoscale -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-videoscale -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VOLUME),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-volume -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-volume -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_OGG),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-ogg -GST_PLUGINS_BASE_DEPENDENCIES += libogg -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-ogg -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_PANGO),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-pango -GST_PLUGINS_BASE_DEPENDENCIES += pango -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-pango -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_THEORA),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-theora -GST_PLUGINS_BASE_DEPENDENCIES += libtheora -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-theora -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TREMOR),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-ivorbis -GST_PLUGINS_BASE_DEPENDENCIES += tremor -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-ivorbis -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VORBIS),y) -GST_PLUGINS_BASE_CONF_OPTS += --enable-vorbis -GST_PLUGINS_BASE_DEPENDENCIES += libvorbis -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-vorbis -endif - -ifeq ($(BR2_PACKAGE_ZLIB),y) -GST_PLUGINS_BASE_DEPENDENCIES += zlib -else -GST_PLUGINS_BASE_CONF_OPTS += --disable-zlib -endif - -$(eval $(autotools-package)) diff --git a/package/gstreamer/gst-plugins-good/0001-linux36.patch b/package/gstreamer/gst-plugins-good/0001-linux36.patch deleted file mode 100644 index 5d7cd932ed..0000000000 --- a/package/gstreamer/gst-plugins-good/0001-linux36.patch +++ /dev/null @@ -1,37 +0,0 @@ -Fix building with Linux headers 3.6 - -Signed-off-by: Markos Chandras - -From bfb1ac952b4c3caaba0297bbe7dc73ea92f9b292 Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Thu, 09 Aug 2012 07:35:23 +0000 -Subject: v4l2: fix build with recent kernels, the v4l2_buffer input field was removed - -This was unused apparently and removed in the kernel in commit: - - From 2b719d7baf490e24ce7d817c6337b7c87fda84c1 Mon Sep 17 00:00:00 2001 - From: Sakari Ailus - Date: Wed, 2 May 2012 09:40:03 -0300 - Subject: [PATCH] [media] v4l: drop v4l2_buffer.input and V4L2_BUF_FLAG_INPUT - - Remove input field in struct v4l2_buffer and flag V4L2_BUF_FLAG_INPUT which - tells the former is valid. The flag is used by no driver currently. - -https://bugzilla.gnome.org/show_bug.cgi?id=681491 ---- -(limited to 'sys/v4l2/gstv4l2bufferpool.c') - -diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c -index 2e3a563..5aaed5a 100644 ---- a/sys/v4l2/gstv4l2bufferpool.c -+++ b/sys/v4l2/gstv4l2bufferpool.c -@@ -182,7 +182,6 @@ gst_v4l2_buffer_new (GstV4l2BufferPool * pool, guint index, GstCaps * caps) - GST_LOG_OBJECT (pool->v4l2elem, " MMAP offset: %u", - ret->vbuffer.m.offset); - GST_LOG_OBJECT (pool->v4l2elem, " length: %u", ret->vbuffer.length); -- GST_LOG_OBJECT (pool->v4l2elem, " input: %u", ret->vbuffer.input); - - ret->mmap_length = ret->vbuffer.length; - data = (guint8 *) v4l2_mmap (0, ret->vbuffer.length, --- -cgit v0.9.0.2-2-gbebe diff --git a/package/gstreamer/gst-plugins-good/0002-v4l2-fix-compilation-against-newer-kernel-headers.patch b/package/gstreamer/gst-plugins-good/0002-v4l2-fix-compilation-against-newer-kernel-headers.patch deleted file mode 100644 index 62c3bb24e6..0000000000 --- a/package/gstreamer/gst-plugins-good/0002-v4l2-fix-compilation-against-newer-kernel-headers.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 8e633d2059cb835448021cf79becb487aff10975 Mon Sep 17 00:00:00 2001 -From: Bastien Nocera -Date: Mon, 18 Mar 2013 14:59:35 +0000 -Subject: [PATCH] v4l2: fix compilation against newer kernel headers as on - FC19 - ---- - sys/v4l2/v4l2_calls.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c -index 07d390a..4c10f4f 100644 ---- a/sys/v4l2/v4l2_calls.c -+++ b/sys/v4l2/v4l2_calls.c -@@ -291,8 +291,12 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object) - break; - case V4L2_CID_HFLIP: - case V4L2_CID_VFLIP: -+#ifndef V4L2_CID_PAN_RESET - case V4L2_CID_HCENTER: -+#endif -+#ifndef V4L2_CID_TILT_RESET - case V4L2_CID_VCENTER: -+#endif - #ifdef V4L2_CID_PAN_RESET - case V4L2_CID_PAN_RESET: - #endif --- -1.7.10.4 - diff --git a/package/gstreamer/gst-plugins-good/Config.in b/package/gstreamer/gst-plugins-good/Config.in deleted file mode 100644 index 3b2a99f5b4..0000000000 --- a/package/gstreamer/gst-plugins-good/Config.in +++ /dev/null @@ -1,234 +0,0 @@ -menuconfig BR2_PACKAGE_GST_PLUGINS_GOOD - bool "gst-plugins-good" - select BR2_PACKAGE_GST_PLUGINS_BASE - help - A set of well-supported plug-ins for GStreamer under the - preferred license. - - http://gstreamer.freedesktop.org/ - -if BR2_PACKAGE_GST_PLUGINS_GOOD - -config BR2_PACKAGE_GST_PLUGINS_GOOD_JPEG - bool "jpeg (JPEG support)" - select BR2_PACKAGE_JPEG - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PNG - bool "png (PNG support)" - select BR2_PACKAGE_LIBPNG - -config BR2_PACKAGE_GST_PLUGINS_GOOD_BZ2 - bool "bz2 support" - depends on BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MATROSKA - select BR2_PACKAGE_BZIP2 - help - Enable bz2 support for the following plugins: - matroska - -config BR2_PACKAGE_GST_PLUGINS_GOOD_ZLIB - bool "zlib support" - depends on BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ISOMP4 || BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ID3DEMUX || BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MATROSKA - select BR2_PACKAGE_ZLIB - help - Enable zlib support for the following plugins: - id3demux, isomp4, matroska - -comment "dependency-less plugins" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ALPHA - bool "alpha" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_APETAG - bool "apetag" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUDIOFX - bool "audiofx" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS - bool "audioparsers" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUPARSE - bool "auparse" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUTODETECT - bool "autodetect" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AVI - bool "avi (*.avi video)" - default y - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_CUTTER - bool "cutter" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_DEBUGUTILS - bool "debugutils" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_DEINTERLACE - bool "deinterlace" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_EFFECTV - bool "effectv" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_EQUALIZER - bool "equalizer" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLV - bool "flv" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLX - bool "flx" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_GOOM - bool "goom" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_GOOM2K1 - bool "goom2k1" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ID3DEMUX - bool "id3demux (*.mp3 audio)" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ICYDEMUX - bool "icydemux" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_IMAGEFREEZE - bool "imagefreeze" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_INTERLEAVE - bool "interleave" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ISOMP4 - bool "isomp4" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_LAW - bool "law" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_LEVEL - bool "level" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MATROSKA - bool "matroska" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MONOSCOPE - bool "monoscope" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MULTIFILE - bool "multifile" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MULTIPART - bool "multipart" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_REPLAYGAIN - bool "replaygain" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_RTP - bool "rtp" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_RTPMANAGER - bool "rtpmanager" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_RTSP - bool "rtsp" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SHAPEWIPE - bool "shapewipe" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SMPTE - bool "smpte" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SPECTRUM - bool "spectrum" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_UDP - bool "udp" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOBOX - bool "videobox" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOCROP - bool "videocrop" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOFILTER - bool "videofilter" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOMIXER - bool "videomixer" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_WAVENC - bool "wavenc" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_WAVPARSE - bool "wavparse (*.wav audio)" - default y - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_Y4M - bool "y4m" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_V4L2 - bool "v4l2" - -comment "plugins with external dependencies" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ANNODEX - bool "annodex (XML Library)" - select BR2_PACKAGE_LIBXML2 - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_CAIRO - bool "cairo" - select BR2_PACKAGE_CAIRO - select BR2_PACKAGE_CAIRO_PNG - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLAC - bool "flac (libFLAC)" - depends on BR2_USE_WCHAR # flac - select BR2_PACKAGE_FLAC - -comment "flac needs a toolchain w/ wchar" - depends on !BR2_USE_WCHAR - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_GDKPIXBUF - bool "gdkpixbuf" - depends on BR2_USE_WCHAR # gdk-pixbuf -> libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # gdk-pixbuf -> libglib2 - select BR2_PACKAGE_GDK_PIXBUF - -comment "gdkpixbuf needs a toolchain w/ wchar, threads" - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_OSS - bool "ossaudio (OSS audio)" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_OSS4 - bool "oss4 (Open Sound System 4)" - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE - bool "pulseaudio" - depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio - depends on BR2_USE_MMU # pulseaudio - depends on !BR2_STATIC_LIBS # pulseaudio - depends on BR2_USE_WCHAR # pulseaudio - depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC # pulseaudio - select BR2_PACKAGE_PULSEAUDIO - -comment "pulseaudio support needs a toolchain w/ threads, wchar, dynamic library" - depends on BR2_USE_MMU - depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || !BR2_USE_WCHAR - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC - bool "souphttpsrc (http client)" - depends on BR2_USE_WCHAR # libsoup -> glib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # libsoup -> glib2 - select BR2_PACKAGE_LIBSOUP - -comment "souphttpsrc needs a toolchain w/ wchar, threads" - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SPEEX - bool "speex" - select BR2_PACKAGE_SPEEX - -config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_WAVPACK - bool "wavpack (*.wv audio)" - select BR2_PACKAGE_WAVPACK - -endif diff --git a/package/gstreamer/gst-plugins-good/gst-plugins-good.hash b/package/gstreamer/gst-plugins-good/gst-plugins-good.hash deleted file mode 100644 index 094dc87978..0000000000 --- a/package/gstreamer/gst-plugins-good/gst-plugins-good.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.xz.md5 -md5 555845ceab722e517040bab57f9ace95 gst-plugins-good-0.10.31.tar.xz diff --git a/package/gstreamer/gst-plugins-good/gst-plugins-good.mk b/package/gstreamer/gst-plugins-good/gst-plugins-good.mk deleted file mode 100644 index 791b41351b..0000000000 --- a/package/gstreamer/gst-plugins-good/gst-plugins-good.mk +++ /dev/null @@ -1,394 +0,0 @@ -################################################################################ -# -# gst-plugins-good -# -################################################################################ - -GST_PLUGINS_GOOD_VERSION = 0.10.31 -GST_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST_PLUGINS_GOOD_VERSION).tar.xz -GST_PLUGINS_GOOD_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-good -GST_PLUGINS_GOOD_LICENSE = LGPL-2.1+ -GST_PLUGINS_GOOD_LICENSE_FILES = COPYING - -GST_PLUGINS_GOOD_CONF_OPTS = \ - --disable-examples \ - --disable-directsound \ - --disable-sunaudio \ - --disable-osx_audio \ - --disable-osx_video \ - --disable-aalib \ - --disable-aalibtest \ - --disable-esd \ - --disable-esdtest \ - --disable-shout2 - -GST_PLUGINS_GOOD_DEPENDENCIES = gstreamer gst-plugins-base - -ifeq ($(BR2_PACKAGE_XORG7),y) -GST_PLUGINS_GOOD_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXv -GST_PLUGINS_GOOD_CONF_OPTS += \ - --enable-x \ - --enable-xshm \ - --enable-xvideo -else -GST_PLUGINS_GOOD_CONF_OPTS += \ - --disable-x \ - --disable-xshm \ - --disable-xvideo -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_JPEG),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-jpeg -GST_PLUGINS_GOOD_DEPENDENCIES += jpeg -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-jpeg -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PNG),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-libpng -GST_PLUGINS_GOOD_DEPENDENCIES += libpng -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-libpng -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_BZ2),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-bz2 -GST_PLUGINS_GOOD_DEPENDENCIES += bzip2 -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-bz2 -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_ZLIB),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-zlib -GST_PLUGINS_GOOD_DEPENDENCIES += zlib -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-zlib -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ALPHA),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-alpha -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-alpha -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_APETAG),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-apetag -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-apetag -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUDIOFX),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-audiofx -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-audiofx -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-audioparsers -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-audioparsers -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUPARSE),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-auparse -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-auparse -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AUTODETECT),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-autodetect -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-autodetect -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_AVI),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-avi -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-avi -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_CUTTER),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-cutter -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-cutter -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_DEBUGUTILS),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-debugutils -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-debugutils -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_DEINTERLACE),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-deinterlace -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-deinterlace -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_EFFECTV),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-effectv -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-effectv -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_EQUALIZER),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-equalizer -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-equalizer -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLV),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-flv -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-flv -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLX),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-flx -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-flx -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_GOOM),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-goom -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-goom -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_GOOM2K1),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-goom2k1 -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-goom2k1 -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ID3DEMUX),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-id3demux -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-id3demux -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ICYDEMUX),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-icydemux -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-icydemux -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_IMAGEFREEZE),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-imagefreeze -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-imagefreeze -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_INTERLEAVE),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-interleave -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-interleave -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ISOMP4),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-isomp4 -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-isomp4 -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_LAW),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-law -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-law -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_LEVEL),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-level -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-level -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MATROSKA),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-matroska -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-matroska -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MONOSCOPE),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-monoscope -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-monoscope -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MULTIFILE),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-multifile -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-multifile -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_MULTIPART),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-multipart -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-multipart -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_REPLAYGAIN),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-replaygain -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-replaygain -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_RTP),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-rtp -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-rtp -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_RTPMANAGER),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-rtpmanager -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-rtpmanager -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_RTSP),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-rtsp -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-rtsp -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SHAPEWIPE),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-shapewipe -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-shapewipe -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SMPTE),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-smpte -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-smpte -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SPECTRUM),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-spectrum -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-spectrum -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_UDP),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-udp -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-udp -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOBOX),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-videobox -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-videobox -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOCROP),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-videocrop -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-videocrop -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOFILTER),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-videofilter -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-videofilter -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_VIDEOMIXER),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-videomixer -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-videomixer -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_WAVENC),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-wavenc -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-wavenc -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_WAVPARSE),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-wavparse -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-wavparse -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_Y4M),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-y4m -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-y4m -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_V4L2),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-gst_v4l2 -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-gst_v4l2 -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ANNODEX),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-annodex -GST_PLUGINS_GOOD_DEPENDENCIES += libxml2 -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-annodex -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_CAIRO),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-cairo -GST_PLUGINS_GOOD_DEPENDENCIES += cairo -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-cairo -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLAC),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-flac -GST_PLUGINS_GOOD_DEPENDENCIES += flac -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-flac -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_GDKPIXBUF),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-gdk_pixbuf -GST_PLUGINS_GOOD_DEPENDENCIES += gdk-pixbuf -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-gdk_pixbuf -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_OSS),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-oss -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-oss -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_OSS4),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-oss4 -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-oss4 -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-pulse -GST_PLUGINS_GOOD_DEPENDENCIES += pulseaudio -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-pulse -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-soup -GST_PLUGINS_GOOD_DEPENDENCIES += libsoup -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-soup -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SPEEX),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-speex -GST_PLUGINS_GOOD_DEPENDENCIES += speex -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-speex -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_WAVPACK),y) -GST_PLUGINS_GOOD_CONF_OPTS += --enable-wavpack -GST_PLUGINS_GOOD_DEPENDENCIES += wavpack -else -GST_PLUGINS_GOOD_CONF_OPTS += --disable-wavpack -endif - -$(eval $(autotools-package)) diff --git a/package/gstreamer/gst-plugins-ugly/Config.in b/package/gstreamer/gst-plugins-ugly/Config.in deleted file mode 100644 index 3d133cf3f1..0000000000 --- a/package/gstreamer/gst-plugins-ugly/Config.in +++ /dev/null @@ -1,53 +0,0 @@ -menuconfig BR2_PACKAGE_GST_PLUGINS_UGLY - bool "gst-plugins-ugly" - select BR2_PACKAGE_GST_PLUGINS_BASE - help - A set of well-supported plug-ins for GStreamer, but might pose - problems for distributors. - - http://gstreamer.freedesktop.org/ - -if BR2_PACKAGE_GST_PLUGINS_UGLY - -comment "dependency-less plugins" - -config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_ASFDEMUX - bool "asfdemux" - -config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_DVDLPCMDEC - bool "dvdlpcmdec" - -config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_DVDSUB - bool "dvdsub" - -config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_IEC958 - bool "iec958" - -config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MPEGAUDIOPARSE - bool "mpegaudioparse" - -config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MPEGSTREAM - bool "mpegstream" - -config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_REALMEDIA - bool "realmedia" - -config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_SYNAESTHESIA - bool "synaesthesia" - -comment "plugins with external dependencies (there may be more available)" - -config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_LAME - bool "lame (*.mp3 audio encoder)" - select BR2_PACKAGE_LAME - -config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MAD - bool "mad (*.mp3 audio)" - select BR2_PACKAGE_LIBID3TAG - select BR2_PACKAGE_LIBMAD - -config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MPEG2DEC - bool "mpeg2dec" - select BR2_PACKAGE_LIBMPEG2 - -endif diff --git a/package/gstreamer/gst-plugins-ugly/gst-plugins-ugly.hash b/package/gstreamer/gst-plugins-ugly/gst-plugins-ugly.hash deleted file mode 100644 index 56f2a8c4bd..0000000000 --- a/package/gstreamer/gst-plugins-ugly/gst-plugins-ugly.hash +++ /dev/null @@ -1,5 +0,0 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-0.10.19.tar.xz.md5 -md5 ba26045c8c8c91f0d48d327ccf53ac0c gst-plugins-ugly-0.10.19.tar.xz -# Locally computed -sha256 4934f65ff892637e7efaf1cfe635779189dde429d0706f40c86a3aac476ea873 gst-plugins-ugly-0.10.19.tar.xz -sha256 2a8aa4cd019fab333f1f8377bf7afa426d3038a033361d90fab70c335e9a53e7 cdio-cd-text-api.patch diff --git a/package/gstreamer/gst-plugins-ugly/gst-plugins-ugly.mk b/package/gstreamer/gst-plugins-ugly/gst-plugins-ugly.mk deleted file mode 100644 index 1a1e2a11ba..0000000000 --- a/package/gstreamer/gst-plugins-ugly/gst-plugins-ugly.mk +++ /dev/null @@ -1,90 +0,0 @@ -################################################################################ -# -# gst-plugins-ugly -# -################################################################################ - -GST_PLUGINS_UGLY_VERSION = 0.10.19 -GST_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST_PLUGINS_UGLY_VERSION).tar.xz -GST_PLUGINS_UGLY_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-ugly -GST_PLUGINS_UGLY_PATCH = http://git.alpinelinux.org/cgit/aports/plain/main/gst-plugins-ugly0.10/cdio-cd-text-api.patch -# COPYING is in fact LGPL-2.1, but all of the code is LGPL-2.0+ -# (except for one test, xingmux) -GST_PLUGINS_UGLY_LICENSE = LGPL-2.0+, GPL-2.0+ (synaesthesia) -GST_PLUGINS_UGLY_LICENSE_FILES = COPYING - -GST_PLUGINS_UGLY_CONF_OPTS = \ - --disable-examples - -GST_PLUGINS_UGLY_DEPENDENCIES = gstreamer gst-plugins-base - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_ASFDEMUX),y) -GST_PLUGINS_UGLY_CONF_OPTS += --enable-asfdemux -else -GST_PLUGINS_UGLY_CONF_OPTS += --disable-asfdemux -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_DVDLPCMDEC),y) -GST_PLUGINS_UGLY_CONF_OPTS += --enable-dvdlpcmdec -else -GST_PLUGINS_UGLY_CONF_OPTS += --disable-dvdlpcmdec -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_DVDSUB),y) -GST_PLUGINS_UGLY_CONF_OPTS += --enable-dvdsub -else -GST_PLUGINS_UGLY_CONF_OPTS += --disable-dvdsub -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_IEC958),y) -GST_PLUGINS_UGLY_CONF_OPTS += --enable-iec958 -else -GST_PLUGINS_UGLY_CONF_OPTS += --disable-iec958 -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MPEGAUDIOPARSE),y) -GST_PLUGINS_UGLY_CONF_OPTS += --enable-mpegaudioparse -else -GST_PLUGINS_UGLY_CONF_OPTS += --disable-mpegaudioparse -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MPEGSTREAM),y) -GST_PLUGINS_UGLY_CONF_OPTS += --enable-mpegstream -else -GST_PLUGINS_UGLY_CONF_OPTS += --disable-mpegstream -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_REALMEDIA),y) -GST_PLUGINS_UGLY_CONF_OPTS += --enable-realmedia -else -GST_PLUGINS_UGLY_CONF_OPTS += --disable-realmedia -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_SYNAESTHESIA),y) -GST_PLUGINS_UGLY_CONF_OPTS += --enable-synaesthesia -else -GST_PLUGINS_UGLY_CONF_OPTS += --disable-synaesthesia -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_LAME),y) -GST_PLUGINS_UGLY_CONF_OPTS += --enable-lame -GST_PLUGINS_UGLY_DEPENDENCIES += lame -else -GST_PLUGINS_UGLY_CONF_OPTS += --disable-lame -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MAD),y) -GST_PLUGINS_UGLY_CONF_OPTS += --enable-mad -GST_PLUGINS_UGLY_DEPENDENCIES += libid3tag libmad -else -GST_PLUGINS_UGLY_CONF_OPTS += --disable-mad -endif - -ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MPEG2DEC),y) -GST_PLUGINS_UGLY_CONF_OPTS += --enable-mpeg2dec -GST_PLUGINS_UGLY_DEPENDENCIES += libmpeg2 -else -GST_PLUGINS_UGLY_CONF_OPTS += --disable-mpeg2dec -endif - -$(eval $(autotools-package)) diff --git a/package/gstreamer/gstreamer.mk b/package/gstreamer/gstreamer.mk deleted file mode 100644 index 22240bceea..0000000000 --- a/package/gstreamer/gstreamer.mk +++ /dev/null @@ -1 +0,0 @@ -include $(sort $(wildcard package/gstreamer/*/*.mk)) diff --git a/package/gstreamer/gstreamer/0001-bison3.patch b/package/gstreamer/gstreamer/0001-bison3.patch deleted file mode 100644 index f9ec52d95a..0000000000 --- a/package/gstreamer/gstreamer/0001-bison3.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fix deprecation from bison 3.0+ -From http://comments.gmane.org/gmane.linux.lfs.beyond.devel/24620 - -Signed-off-by: Gustavo Zacarias - -diff -Nura gstreamer-0.10.36.orig/gst/parse/grammar.y gstreamer-0.10.36/gst/parse/grammar.y ---- gstreamer-0.10.36.orig/gst/parse/grammar.y 2013-10-04 09:52:21.685282055 -0300 -+++ gstreamer-0.10.36/gst/parse/grammar.y 2013-10-04 10:21:54.800211238 -0300 -@@ -26,7 +26,6 @@ - */ - - #define YYERROR_VERBOSE 1 --#define YYLEX_PARAM scanner - - #define YYENABLE_NLS 0 - -@@ -648,6 +647,7 @@ - %right '.' - %left '!' '=' - -+%lex-param { void *scanner } - %parse-param { void *scanner } - %parse-param { graph_t *graph } - %pure-parser diff --git a/package/gstreamer/gstreamer/Config.in b/package/gstreamer/gstreamer/Config.in deleted file mode 100644 index b1334abfcc..0000000000 --- a/package/gstreamer/gstreamer/Config.in +++ /dev/null @@ -1,38 +0,0 @@ -comment "gstreamer 0.10 needs a toolchain w/ wchar, threads, dynamic library" - depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS - -config BR2_PACKAGE_GSTREAMER - bool "gstreamer 0.10" - depends on BR2_USE_WCHAR # glib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 - depends on BR2_USE_MMU # glib2 - depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_LIBGLIB2 - help - GStreamer is an open source multimedia framework. - - This 0.10.x version of GStreamer is incompatible with - GStreamer 1.X. - - http://gstreamer.freedesktop.org/ - -if BR2_PACKAGE_GSTREAMER - -config BR2_PACKAGE_GSTREAMER_GST_DEBUG - bool "enable gst-debug trace support" - default y - help - Enable support for the gst-debug tracing functionality in - gstreamer. This has limited CPU overhead, but does increase - the rootfs size somewhat. - -config BR2_PACKAGE_GSTREAMER_PLUGIN_REGISTRY - bool "enable plugin registry" - default y - help - Enable support for the GStreamer plugin registry. This may - increase the launch-time for a GStreamer application. - -endif diff --git a/package/gstreamer/gstreamer/gstreamer.hash b/package/gstreamer/gstreamer/gstreamer.hash deleted file mode 100644 index 4fcf34ac32..0000000000 --- a/package/gstreamer/gstreamer/gstreamer.hash +++ /dev/null @@ -1,4 +0,0 @@ -# From http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.xz.md5 -md5 15389c73e091b1dda915279c388b9cb2 gstreamer-0.10.36.tar.xz -# locally computed -sha256 9151aa108c177054387885763fa0e433e76780f7c5655c70a5390f2a6c6871da gstreamer-0.10.36.tar.xz diff --git a/package/gstreamer/gstreamer/gstreamer.mk b/package/gstreamer/gstreamer/gstreamer.mk deleted file mode 100644 index 2ec360c94d..0000000000 --- a/package/gstreamer/gstreamer/gstreamer.mk +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# -# gstreamer -# -################################################################################ - -GSTREAMER_VERSION = 0.10.36 -GSTREAMER_SOURCE = gstreamer-$(GSTREAMER_VERSION).tar.xz -GSTREAMER_SITE = http://gstreamer.freedesktop.org/src/gstreamer -GSTREAMER_INSTALL_STAGING = YES -# COPYING is in fact v2, but most of the code is v2.1+ -GSTREAMER_LICENSE = LGPL-2.1+ -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)$(BR2_riscv),y) -GSTREAMER_CONF_ENV = as_cv_unaligned_access=no -endif -ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y) -GSTREAMER_CONF_ENV = as_cv_unaligned_access=yes -endif - -GSTREAMER_CONF_OPTS = \ - --disable-examples \ - --disable-tests \ - --disable-failing-tests \ - --disable-loadsave \ - $(if $(BR2_PACKAGE_GSTREAMER_GST_DEBUG),,--disable-gst-debug) \ - $(if $(BR2_PACKAGE_GSTREAMER_PLUGIN_REGISTRY),,--disable-registry) - -GSTREAMER_DEPENDENCIES = libglib2 host-pkgconf host-bison host-flex \ - $(if $(BR2_PACKAGE_LIBXML2),libxml2) - -$(eval $(autotools-package)) diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in index 5786a2d59a..0e47d78e68 100644 --- a/package/gstreamer1/Config.in +++ b/package/gstreamer1/Config.in @@ -4,13 +4,14 @@ source "package/gstreamer1/gstreamer1/Config.in" if BR2_PACKAGE_GSTREAMER1 source "package/gstreamer1/gstreamer1-mm/Config.in" source "package/gstreamer1/gst1-plugins-base/Config.in" +source "package/gstreamer1/gst1-plugins-bayer2rgb-neon/Config.in" source "package/gstreamer1/gst1-plugins-good/Config.in" source "package/gstreamer1/gst1-plugins-bad/Config.in" source "package/gstreamer1/gst1-plugins-ugly/Config.in" source "package/gstreamer1/gst1-imx/Config.in" source "package/gstreamer1/gst1-interpipe/Config.in" source "package/gstreamer1/gst1-libav/Config.in" -source "package/gstreamer1/gst1-rpicamsrc/Config.in" +source "package/gstreamer1/gst1-python/Config.in" source "package/gstreamer1/gst1-rtsp-server/Config.in" source "package/gstreamer1/gst1-shark/Config.in" source "package/gstreamer1/gst1-validate/Config.in" diff --git a/package/gstreamer1/gst-omx/gst-omx.hash b/package/gstreamer1/gst-omx/gst-omx.hash index 3efd9f3226..85487f3491 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.4.tar.xz.sha256sum -sha256 969870e75c1f75c96f8783530e2c2932fc3afbfd976eb0c466f51dae268ea3d4 gst-omx-1.14.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.16.2.tar.xz.sha256sum +sha256 11ed411a2eba75610d72331eeb14ff05e2df28f4fd05cb69225a88bec6d27439 gst-omx-1.16.2.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gstreamer1/gst-omx/gst-omx.mk b/package/gstreamer1/gst-omx/gst-omx.mk index bb325ad1d2..5ed9e3ce2c 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.4 +GST_OMX_VERSION = 1.16.2 GST_OMX_SOURCE = gst-omx-$(GST_OMX_VERSION).tar.xz GST_OMX_SITE = https://gstreamer.freedesktop.org/src/gst-omx diff --git a/package/gstreamer1/gst1-imx/0001-waf-update-to-2-0-12.patch b/package/gstreamer1/gst1-imx/0001-waf-update-to-2-0-12.patch new file mode 100644 index 0000000000..dcc586311e --- /dev/null +++ b/package/gstreamer1/gst1-imx/0001-waf-update-to-2-0-12.patch @@ -0,0 +1,28 @@ +From 66bc1c2b9c74dab4706a1ca3696e863ed8d30433 Mon Sep 17 00:00:00 2001 +From: Max Krummenacher +Date: Sun, 15 Dec 2019 14:24:54 +0000 +Subject: [PATCH] waf: update to 2.0.12 + +Prepare to allow building with python3. + +Signed-off-by: Max Krummenacher +[Titouan: backport part from upstream, but drop the update of waf itself] +Signed-off-by: Titouan Christophe +--- + wscript | 3 ++- + 2 files changed, 12 insertions(+), 11 deletions(-) + +diff --git a/wscript b/wscript +index c3a9926..f076b64 100644 +--- a/wscript ++++ b/wscript +@@ -152,7 +152,8 @@ def configure(conf): + + # test for GStreamer libraries + +- gst_version_str = conf.check_cfg(package = 'gstreamer-1.0 >= 1.2.0', modversion = "gstreamer-1.0", uselib_store = 'GSTREAMER', args = '--cflags --libs', mandatory = 1) ++ conf.check_cfg(package = 'gstreamer-1.0 >= 1.2.0', uselib_store = 'GSTREAMER', args = '--cflags --libs', mandatory = 1) ++ gst_version_str = conf.check_cfg(modversion = "gstreamer-1.0", uselib_store = 'GSTREAMER', args = '--cflags --libs', mandatory = 1) + gst_version = [int(x) for x in re.match('(\d*)\.(\d*)\.(\d*)', gst_version_str).groups()] + conf.env['GSTREAMER_VERSION'] = gst_version + diff --git a/package/gstreamer1/gst1-imx/gst1-imx.mk b/package/gstreamer1/gst1-imx/gst1-imx.mk index 43b4d9b15f..1156077274 100644 --- a/package/gstreamer1/gst1-imx/gst1-imx.mk +++ b/package/gstreamer1/gst1-imx/gst1-imx.mk @@ -11,6 +11,7 @@ GST1_IMX_LICENSE = LGPL-2.0+ GST1_IMX_LICENSE_FILES = LICENSE GST1_IMX_INSTALL_STAGING = YES +GST1_IMX_NEEDS_EXTERNAL_WAF = YES GST1_IMX_DEPENDENCIES += \ host-pkgconf \ diff --git a/package/gstreamer1/gst1-interpipe/gst1-interpipe.hash b/package/gstreamer1/gst1-interpipe/gst1-interpipe.hash index b9b1c5e429..0ce6ad460d 100644 --- a/package/gstreamer1/gst1-interpipe/gst1-interpipe.hash +++ b/package/gstreamer1/gst1-interpipe/gst1-interpipe.hash @@ -1,5 +1,5 @@ # locally computed hash -sha256 3f8cc5cf4861e5836938c66415b47555550c93b06b1bc9faed83e89bacf705cf gst1-interpipe-10dba89eecc200e49f0b432e299f1c8a4312b657.tar.gz +sha256 6dc2c9d5ff4c3777d40712199a0cafa6bc0058327bca5a20e31d743a46e1ad21 gst1-interpipe-9af5b40d106f35ce75f8baa5efc8c59fc5f7eda1.tar.gz # Hashes for license files: sha256 16d7caa6cabbfd0ca47e064a7b48cb446d013e84ca88c854d6470851752136d5 COPYING diff --git a/package/gstreamer1/gst1-interpipe/gst1-interpipe.mk b/package/gstreamer1/gst1-interpipe/gst1-interpipe.mk index 8f810f9cf1..87e5f2e5d2 100644 --- a/package/gstreamer1/gst1-interpipe/gst1-interpipe.mk +++ b/package/gstreamer1/gst1-interpipe/gst1-interpipe.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_INTERPIPE_VERSION = 10dba89eecc200e49f0b432e299f1c8a4312b657 +GST1_INTERPIPE_VERSION = 9af5b40d106f35ce75f8baa5efc8c59fc5f7eda1 GST1_INTERPIPE_SITE = https://github.com/RidgeRun/gst-interpipe GST1_INTERPIPE_SITE_METHOD = git # fetch gst-interpipe/common sub module diff --git a/package/gstreamer1/gst1-libav/gst1-libav.hash b/package/gstreamer1/gst1-libav/gst1-libav.hash index 741c582319..15e4d859ee 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.4.tar.xz.sha256sum -sha256 dfd78591901df7853eab7e56a86c34a1b03635da0d3d56b89aa577f1897865da gst-libav-1.14.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.16.2.tar.xz.sha256sum +sha256 c724f612700c15a933c7356fbeabb0bb9571fb5538f8b1b54d4d2d94188deef2 gst-libav-1.16.2.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk index 7ed90a9416..fdd4d6cc2e 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.mk +++ b/package/gstreamer1/gst1-libav/gst1-libav.mk @@ -4,15 +4,39 @@ # ################################################################################ -GST1_LIBAV_VERSION = 1.14.4 +GST1_LIBAV_VERSION = 1.16.2 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 + GST1_LIBAV_DEPENDENCIES = \ host-pkgconf ffmpeg gstreamer1 gst1-plugins-base \ $(if $(BR2_PACKAGE_BZIP2),bzip2) \ $(if $(BR2_PACKAGE_XZ),xz) GST1_LIBAV_LICENSE = GPL-2.0+ GST1_LIBAV_LICENSE_FILES = COPYING +GST1_LIBAV_CONF_EXTRA_OPTS = --cross-prefix=$(TARGET_CROSS) --target-os=linux + +# fixes arm build: https://bugzilla.gnome.org/show_bug.cgi?id=694416 +ifeq ($(BR2_arm)$(BR2_armeb)$(BR2_aarch64)$(BR2_aarch64_be),y) +GST1_LIBAV_CONF_ENV = AS="$(TARGET_CROSS)gcc" +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +GST1_LIBAV_CONF_EXTRA_OPTS += --enable-zlib +GST1_LIBAV_DEPENDENCIES += zlib +else +GST1_LIBAV_CONF_EXTRA_OPTS += --disable-zlib +endif + +ifeq ($(BR2_PACKAGE_BZIP2),y) +GST1_LIBAV_CONF_EXTRA_OPTS += --enable-bzlib +GST1_LIBAV_DEPENDENCIES += bzip2 +else +GST1_LIBAV_CONF_EXTRA_OPTS += --disable-bzlib +endif + +GST1_LIBAV_CONF_OPTS = \ + --with-system-libav \ + --with-libav-extra-configure="$(GST1_LIBAV_CONF_EXTRA_OPTS)" $(eval $(autotools-package)) 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 deleted file mode 100644 index a9c5d44d92..0000000000 --- a/package/gstreamer1/gst1-plugins-bad/0001-fdkaacenc-Remove-MODE_2_1.patch +++ /dev/null @@ -1,32 +0,0 @@ -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/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch b/package/gstreamer1/gst1-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch new file mode 100644 index 0000000000..dd3b6eca7d --- /dev/null +++ b/package/gstreamer1/gst1-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch @@ -0,0 +1,36 @@ +From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001 +From: Tim Philipp +Date: Fri, 18 Oct 2019 00:39:12 +0100 +Subject: [PATCH] meson: build gir even when cross-compiling if introspection + was enabled explicitly + +This can be made to work in certain circumstances when +cross-compiling, so default to not building g-i stuff +when cross-compiling, but allow it if introspection was +enabled explicitly via -Dintrospection=enabled. + +See gstreamer/gstreamer#454 and gstreamer/gstreamer#381. + +Upstream commit: 97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19 +Signed-off-by: Tim Philipp +Signed-off-by: Adam Duskett +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 67aeeb4d03..7b3314bd9f 100644 +--- a/meson.build ++++ b/meson.build +@@ -405,7 +405,7 @@ python3 = import('python').find_installation() + + gir = find_program('g-ir-scanner', required : get_option('introspection')) + gnome = import('gnome') +-build_gir = gir.found() and not meson.is_cross_build() ++build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) + gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ + 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ + 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \ +-- +2.24.1 + 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 deleted file mode 100644 index 0049714266..0000000000 --- a/package/gstreamer1/gst1-plugins-bad/0002-fdkaacdec-Use-WAV-channel-mapping-instead-of-interle.patch +++ /dev/null @@ -1,49 +0,0 @@ -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/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in index a2ceeb9035..08de5d2188 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -46,16 +46,16 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD help Audio filters plugin +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOLATENCY + bool "audiolatency" + help + Audio latency plugin + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX bool "audiomixmatrix" help Audio N:M mixer plugin -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR - bool "compositor" - help - Video compositor plugin - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOVISUALIZERS bool "audiovisualizers" help @@ -217,6 +217,11 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PNM help PNM plugin +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PROXY + bool "proxy" + help + Proxy plugin + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE bool "rawparse" help @@ -263,9 +268,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC help subtitle encoders -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO - bool "stereo" - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TIMECODE bool "timecode" @@ -279,11 +281,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL help videoframe_audiolevel -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA - bool "iqa" - help - Image Quality Assessment - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS bool "videoparsers" help @@ -311,6 +308,24 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASSRENDER bool "assrender" select BR2_PACKAGE_LIBASS +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BLUEZ + bool "bluez" + depends on BR2_USE_WCHAR # bluez5_utils -> libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # bluez5_utils -> dbus, libglib2 + depends on BR2_USE_MMU # bluez5_utils -> dbus + depends on !BR2_STATIC_LIBS # bluez5_utils -> uses dlfcn + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5_utils + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5_utils + select BR2_PACKAGE_BLUEZ5_UTILS + help + Bluetooth audio A2DP/AVDTP sink, AVDTP source plugin + +comment "bluez plugin needs a toolchain w/ wchar, threads, headers >= 3.4, dynamic library" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 || BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_USE_MMU + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BZ2 bool "bz2" select BR2_PACKAGE_BZIP2 @@ -332,11 +347,12 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DASH config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DECKLINK bool "decklink" depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # help Blackmagic Decklink plugin -comment "decklink needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "decklink needs a toolchain w/ C++, dynamic library" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DIRECTFB bool "directfb" @@ -377,6 +393,19 @@ comment "fdk-aac needs a toolchain w/ C++" depends on BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FLUIDSYNTH + bool "fluidsynth" + depends on BR2_USE_WCHAR # fluidsynth + depends on BR2_TOOLCHAIN_HAS_THREADS # fluidsynth + depends on BR2_USE_MMU # fluidsynth + select BR2_PACKAGE_FLUIDSYNTH + help + Fluidsynth MIDI decoder plugin + +comment "fluidsynth needs a toolchain w/ threads, wchar" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL bool "gl" default y @@ -434,10 +463,19 @@ comment "ttml needs a toolchain w/ wchar, threads, C++" config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC bool "mpeg2enc" + depends on BR2_USE_MMU # fork + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LIBMPEG2 + select BR2_PACKAGE_MJPEGTOOLS help High-quality MPEG-1/2 video encoder +comment "mpeg2enc needs a toolchain w/ threads, C++" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_INSTALL_LIBSTDCPP + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MUSEPACK bool "musepack" select BR2_PACKAGE_MUSEPACK @@ -460,27 +498,6 @@ comment "openal plugin needs a toolchain w/ NPTL, C++" depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ || !BR2_INSTALL_LIBSTDCPP -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV - bool "opencv" - depends on BR2_PACKAGE_OPENCV - # Remove the following opencv modules when gstreamer fixes the - # problem of including the old "cv.h" header - # bug: https://bugzilla.gnome.org/show_bug.cgi?id=725163 - select BR2_PACKAGE_OPENCV_LIB_CALIB3D - select BR2_PACKAGE_OPENCV_LIB_CONTRIB - select BR2_PACKAGE_OPENCV_LIB_FEATURES2D - select BR2_PACKAGE_OPENCV_LIB_FLANN - select BR2_PACKAGE_OPENCV_LIB_IMGPROC - select BR2_PACKAGE_OPENCV_LIB_LEGACY - select BR2_PACKAGE_OPENCV_LIB_ML - select BR2_PACKAGE_OPENCV_LIB_OBJDETECT - select BR2_PACKAGE_OPENCV_LIB_VIDEO - help - GStreamer OpenCV Plugins - -comment "opencv plugin needs OpenCV-2.4" - depends on !BR2_PACKAGE_OPENCV - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264 bool "openh264" depends on BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS @@ -512,12 +529,14 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RSVG bool "rsvg" depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # librsvg -> pango -> harfbuzz select BR2_PACKAGE_LIBRSVG help RSVG plugin library -comment "rsvg plugin needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "rsvg plugin needs a toolchain w/ C++, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_HAS_SYNC_4 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SBC @@ -537,9 +556,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SRTP bool "srtp" select BR2_PACKAGE_LIBSRTP -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD - bool "vcd" - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VOAACENC bool "voaacenc" select BR2_PACKAGE_VO_AACENC @@ -548,6 +564,8 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND bool "wayland" default y depends on BR2_PACKAGE_WAYLAND + depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm -> libpthread-stubs + select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_WAYLAND_PROTOCOLS help Wayland Video Sink @@ -558,6 +576,17 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBP help Webp image format plugin +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTC + bool "webrtc" + depends on !BR2_STATIC_LIBS # libnice -> gnutls + select BR2_PACKAGE_GST1_PLUGINS_BASE # libgstsdp + select BR2_PACKAGE_LIBNICE + help + WebRTC plugins (webrtcbin - a bin for webrtc connections) + +comment "webrtc needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTCDSP bool "webrtcdsp" # All depends from webrtc-audio-processing @@ -566,7 +595,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTCDSP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING - select BR2_PACKAGE_WEBRTC help WebRTC echo-cancellation, gain control and noise suppression @@ -575,6 +603,16 @@ comment "webrtcdsp needs a toolchain w/ C++, NPTL, gcc >= 4.8" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WPE + bool "wpe" + default y + depends on BR2_PACKAGE_WPEWEBKIT + depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL + +comment "wpe needs the gst1-plugins-base opengl library and wpewebkit" + depends on !BR2_PACKAGE_WPEWEBKIT \ + || !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265 bool "x265" depends on BR2_INSTALL_LIBSTDCPP @@ -587,4 +625,17 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265 comment "x265 needs a toolchain w/ C++, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS +config BR2_PACKAGE_GST1_PLUGINS_BAD_ZBAR + bool "zbar" + depends on BR2_TOOLCHAIN_HAS_THREADS # zbar-> libv4l + depends on BR2_USE_MMU # zbar-> libv4l + depends on BR2_INSTALL_LIBSTDCPP # zbar-> libv4l + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # zbar -> libv4l + select BR2_PACKAGE_ZBAR + +comment "zbar plugin needs a toolchain w/ threads, C++ and headers >= 3.0" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + endif diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash index cb4bf64677..7b59b4dbec 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash @@ -1,4 +1,4 @@ -# 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 +# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.16.2.tar.xz.sha256sum +sha256 f1cb7aa2389569a5343661aae473f0a940a90b872001824bc47fa8072a041e74 gst-plugins-bad-1.16.2.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 ac39f1e5ce..e020c587d3 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -4,738 +4,745 @@ # ################################################################################ -GST1_PLUGINS_BAD_VERSION = 1.14.4 +GST1_PLUGINS_BAD_VERSION = 1.16.2 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 # Additional plugin licenses will be appended to GST1_PLUGINS_BAD_LICENSE and # GST1_PLUGINS_BAD_LICENSE_FILES if enabled. GST1_PLUGINS_BAD_LICENSE_FILES = COPYING.LIB -GST1_PLUGINS_BAD_LICENSE := LGPL-2.0+, LGPL-2.1+ +GST1_PLUGINS_BAD_LICENSE = LGPL-2.0+, LGPL-2.1+ + +GST1_PLUGINS_BAD_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) GST1_PLUGINS_BAD_CONF_OPTS = \ - --disable-examples \ - --disable-valgrind \ - --disable-directsound \ - --disable-direct3d \ - --disable-winks \ - --disable-android_media \ - --disable-apple_media \ - --disable-acm \ - --disable-introspection + -Dexamples=disabled \ + -Dtests=disabled \ + -Ddirectsound=disabled \ + -Dd3dvideosink=disabled \ + -Dwinks=disabled \ + -Dandroidmedia=disabled \ + -Dapplemedia=disabled \ + -Dgobject-cast-checks=disabled \ + -Dglib-asserts=disabled \ + -Dglib-checks=disabled # Options which require currently unpackaged libraries GST1_PLUGINS_BAD_CONF_OPTS += \ - --disable-avc \ - --disable-opensles \ - --disable-uvch264 \ - --disable-msdk \ - --disable-voamrwbenc \ - --disable-bs2b \ - --disable-chromaprint \ - --disable-dc1394 \ - --disable-dts \ - --disable-resindvd \ - --disable-faac \ - --disable-flite \ - --disable-gsm \ - --disable-fluidsynth \ - --disable-kate \ - --disable-ladspa \ - --disable-lv2 \ - --disable-libde265 \ - --disable-modplug \ - --disable-mplex \ - --disable-ofa \ - --disable-openexr \ - --disable-openni2 \ - --disable-teletextdec \ - --disable-wildmidi \ - --disable-smoothstreaming \ - --disable-soundtouch \ - --disable-spc \ - --disable-gme \ - --disable-vdpau \ - --disable-schro \ - --disable-zbar \ - --disable-spandsp \ - --disable-gtk3 + -Dopensles=disabled \ + -Duvch264=disabled \ + -Dmsdk=disabled \ + -Dvoamrwbenc=disabled \ + -Dbs2b=disabled \ + -Dchromaprint=disabled \ + -Ddc1394=disabled \ + -Ddts=disabled \ + -Dresindvd=disabled \ + -Dfaac=disabled \ + -Dflite=disabled \ + -Dgsm=disabled \ + -Dkate=disabled \ + -Dladspa=disabled \ + -Dlv2=disabled \ + -Dlibde265=disabled \ + -Dmodplug=disabled \ + -Dmplex=disabled \ + -Dofa=disabled \ + -Dopenexr=disabled \ + -Dopenni2=disabled \ + -Dteletextdec=disabled \ + -Dwildmidi=disabled \ + -Dsmoothstreaming=disabled \ + -Dsoundtouch=disabled \ + -Dgme=disabled \ + -Dvdpau=disabled \ + -Dspandsp=disabled \ + -Diqa=disabled \ + -Dopencv=disabled GST1_PLUGINS_BAD_DEPENDENCIES = gst1-plugins-base gstreamer1 -ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) -# RPI has odd locations for several required headers. -GST1_PLUGINS_BAD_CONF_ENV += \ - CPPFLAGS="$(TARGET_CPPFLAGS) \ - -I$(STAGING_DIR)/usr/include/IL \ - -I$(STAGING_DIR)/usr/include/interface/vcos/pthreads \ - -I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux" +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Dintrospection=enabled +GST1_PLUGINS_BAD_DEPENDENCIES += gobject-introspection +else +GST1_PLUGINS_BAD_CONF_OPTS += -Dintrospection=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-wayland -GST1_PLUGINS_BAD_DEPENDENCIES += wayland wayland-protocols +GST1_PLUGINS_BAD_CONF_OPTS += -Dwayland=enabled +GST1_PLUGINS_BAD_DEPENDENCIES += libdrm wayland wayland-protocols else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-wayland +GST1_PLUGINS_BAD_CONF_OPTS += -Dwayland=disabled endif ifeq ($(BR2_PACKAGE_ORC),y) GST1_PLUGINS_BAD_DEPENDENCIES += orc -GST1_PLUGINS_BAD_CONF_OPTS += --enable-orc +GST1_PLUGINS_BAD_CONF_OPTS += -Dorc=enabled +else +GST1_PLUGINS_BAD_CONF_OPTS += -Dorc=disabled endif -ifeq ($(BR2_PACKAGE_BLUEZ_UTILS),y) -GST1_PLUGINS_BAD_DEPENDENCIES += bluez_utils -GST1_PLUGINS_BAD_CONF_OPTS += --enable-bluez +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BLUEZ),y) +GST1_PLUGINS_BAD_DEPENDENCIES += bluez5_utils +GST1_PLUGINS_BAD_CONF_OPTS += -Dbluez=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-bluez +GST1_PLUGINS_BAD_CONF_OPTS += -Dbluez=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ACCURIP),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-accurip +GST1_PLUGINS_BAD_CONF_OPTS += -Daccurip=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-accurip +GST1_PLUGINS_BAD_CONF_OPTS += -Daccurip=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMDEC),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-adpcmdec +GST1_PLUGINS_BAD_CONF_OPTS += -Dadpcmdec=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-adpcmdec +GST1_PLUGINS_BAD_CONF_OPTS += -Dadpcmdec=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMENC),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-adpcmenc +GST1_PLUGINS_BAD_CONF_OPTS += -Dadpcmenc=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-adpcmenc +GST1_PLUGINS_BAD_CONF_OPTS += -Dadpcmenc=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AIFF),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-aiff +GST1_PLUGINS_BAD_CONF_OPTS += -Daiff=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-aiff +GST1_PLUGINS_BAD_CONF_OPTS += -Daiff=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASFMUX),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-asfmux +GST1_PLUGINS_BAD_CONF_OPTS += -Dasfmux=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-asfmux +GST1_PLUGINS_BAD_CONF_OPTS += -Dasfmux=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOBUFFERSPLIT),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-audiobuffersplit +GST1_PLUGINS_BAD_CONF_OPTS += -Daudiobuffersplit=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-audiobuffersplit +GST1_PLUGINS_BAD_CONF_OPTS += -Daudiobuffersplit=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-audiofxbad +GST1_PLUGINS_BAD_CONF_OPTS += -Daudiofxbad=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-audiofxbad +GST1_PLUGINS_BAD_CONF_OPTS += -Daudiofxbad=disabled +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOLATENCY),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Daudiolatency=enabled +else +GST1_PLUGINS_BAD_CONF_OPTS += -Daudiolatency=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-audiomixmatrix +GST1_PLUGINS_BAD_CONF_OPTS += -Daudiomixmatrix=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-audiomixmatrix -endif - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-compositor -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-compositor +GST1_PLUGINS_BAD_CONF_OPTS += -Daudiomixmatrix=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOVISUALIZERS),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-audiovisualizers +GST1_PLUGINS_BAD_CONF_OPTS += -Daudiovisualizers=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-audiovisualizers +GST1_PLUGINS_BAD_CONF_OPTS += -Daudiovisualizers=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUTOCONVERT),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-autoconvert +GST1_PLUGINS_BAD_CONF_OPTS += -Dautoconvert=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-autoconvert +GST1_PLUGINS_BAD_CONF_OPTS += -Dautoconvert=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BAYER),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-bayer +GST1_PLUGINS_BAD_CONF_OPTS += -Dbayer=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-bayer +GST1_PLUGINS_BAD_CONF_OPTS += -Dbayer=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CAMERABIN2),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-camerabin2 +GST1_PLUGINS_BAD_CONF_OPTS += -Dcamerabin2=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-camerabin2 +GST1_PLUGINS_BAD_CONF_OPTS += -Dcamerabin2=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-coloreffects +GST1_PLUGINS_BAD_CONF_OPTS += -Dcoloreffects=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-coloreffects +GST1_PLUGINS_BAD_CONF_OPTS += -Dcoloreffects=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-debugutils +GST1_PLUGINS_BAD_CONF_OPTS += -Ddebugutils=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-debugutils +GST1_PLUGINS_BAD_CONF_OPTS += -Ddebugutils=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-dvbsuboverlay +GST1_PLUGINS_BAD_CONF_OPTS += -Ddvbsuboverlay=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-dvbsuboverlay +GST1_PLUGINS_BAD_CONF_OPTS += -Ddvbsuboverlay=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVDSPU),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-dvdspu +GST1_PLUGINS_BAD_CONF_OPTS += -Ddvdspu=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-dvdspu +GST1_PLUGINS_BAD_CONF_OPTS += -Ddvdspu=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FACEOVERLAY),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-faceoverlay +GST1_PLUGINS_BAD_CONF_OPTS += -Dfaceoverlay=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-faceoverlay +GST1_PLUGINS_BAD_CONF_OPTS += -Dfaceoverlay=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FESTIVAL),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-festival +GST1_PLUGINS_BAD_CONF_OPTS += -Dfestival=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-festival +GST1_PLUGINS_BAD_CONF_OPTS += -Dfestival=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FIELDANALYSIS),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-fieldanalysis +GST1_PLUGINS_BAD_CONF_OPTS += -Dfieldanalysis=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-fieldanalysis +GST1_PLUGINS_BAD_CONF_OPTS += -Dfieldanalysis=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREEVERB),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-freeverb +GST1_PLUGINS_BAD_CONF_OPTS += -Dfreeverb=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-freeverb +GST1_PLUGINS_BAD_CONF_OPTS += -Dfreeverb=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREI0R),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-frei0r +GST1_PLUGINS_BAD_CONF_OPTS += -Dfrei0r=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-frei0r +GST1_PLUGINS_BAD_CONF_OPTS += -Dfrei0r=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GAUDIEFFECTS),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-gaudieffects +GST1_PLUGINS_BAD_CONF_OPTS += -Dgaudieffects=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-gaudieffects +GST1_PLUGINS_BAD_CONF_OPTS += -Dgaudieffects=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GEOMETRICTRANSFORM),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-geometrictransform +GST1_PLUGINS_BAD_CONF_OPTS += -Dgeometrictransform=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-geometrictransform +GST1_PLUGINS_BAD_CONF_OPTS += -Dgeometrictransform=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GDP),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-gdp +GST1_PLUGINS_BAD_CONF_OPTS += -Dgdp=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-gdp +GST1_PLUGINS_BAD_CONF_OPTS += -Dgdp=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-id3tag +GST1_PLUGINS_BAD_CONF_OPTS += -Did3tag=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-id3tag +GST1_PLUGINS_BAD_CONF_OPTS += -Did3tag=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTER),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-inter +GST1_PLUGINS_BAD_CONF_OPTS += -Dinter=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-inter +GST1_PLUGINS_BAD_CONF_OPTS += -Dinter=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTERLACE),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-interlace +GST1_PLUGINS_BAD_CONF_OPTS += -Dinterlace=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-interlace +GST1_PLUGINS_BAD_CONF_OPTS += -Dinterlace=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVFPARSE),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-ivfparse +GST1_PLUGINS_BAD_CONF_OPTS += -Divfparse=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-ivfparse +GST1_PLUGINS_BAD_CONF_OPTS += -Divfparse=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVTC),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-ivtc +GST1_PLUGINS_BAD_CONF_OPTS += -Divtc=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-ivtc +GST1_PLUGINS_BAD_CONF_OPTS += -Divtc=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JP2KDECIMATOR),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-jp2kdecimator +GST1_PLUGINS_BAD_CONF_OPTS += -Djp2kdecimator=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-jp2kdecimator +GST1_PLUGINS_BAD_CONF_OPTS += -Djp2kdecimator=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-jpegformat +GST1_PLUGINS_BAD_CONF_OPTS += -Djpegformat=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-jpegformat +GST1_PLUGINS_BAD_CONF_OPTS += -Djpegformat=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBRFB),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-librfb +GST1_PLUGINS_BAD_CONF_OPTS += -Dlibrfb=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-librfb +GST1_PLUGINS_BAD_CONF_OPTS += -Dlibrfb=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MIDI),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-midi +GST1_PLUGINS_BAD_CONF_OPTS += -Dmidi=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-midi +GST1_PLUGINS_BAD_CONF_OPTS += -Dmidi=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-mpegdemux +GST1_PLUGINS_BAD_CONF_OPTS += -Dmpegdemux=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-mpegdemux -endif - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-mpegtsdemux -GST1_PLUGINS_BAD_HAS_UNKNOWN_LICENSE = y -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-mpegtsdemux -endif - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSMUX),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-mpegtsmux -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-mpegtsmux +GST1_PLUGINS_BAD_CONF_OPTS += -Dmpegdemux=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGPSMUX),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-mpegpsmux +GST1_PLUGINS_BAD_CONF_OPTS += -Dmpegpsmux=enabled GST1_PLUGINS_BAD_HAS_UNKNOWN_LICENSE = y else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-mpegpsmux +GST1_PLUGINS_BAD_CONF_OPTS += -Dmpegpsmux=disabled +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSMUX),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Dmpegtsmux=enabled +else +GST1_PLUGINS_BAD_CONF_OPTS += -Dmpegtsmux=disabled +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Dmpegtsdemux=enabled +GST1_PLUGINS_BAD_HAS_UNKNOWN_LICENSE = y +else +GST1_PLUGINS_BAD_CONF_OPTS += -Dmpegtsdemux=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MXF),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-mxf +GST1_PLUGINS_BAD_CONF_OPTS += -Dmxf=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-mxf +GST1_PLUGINS_BAD_CONF_OPTS += -Dmxf=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NETSIM),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-netsim +GST1_PLUGINS_BAD_CONF_OPTS += -Dnetsim=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-netsim +GST1_PLUGINS_BAD_CONF_OPTS += -Dnetsim=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ONVIF),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-onvif +GST1_PLUGINS_BAD_CONF_OPTS += -Donvif=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-onvif +GST1_PLUGINS_BAD_CONF_OPTS += -Donvif=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PCAPPARSE),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-pcapparse +GST1_PLUGINS_BAD_CONF_OPTS += -Dpcapparse=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-pcapparse +GST1_PLUGINS_BAD_CONF_OPTS += -Dpcapparse=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PNM),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-pnm +GST1_PLUGINS_BAD_CONF_OPTS += -Dpnm=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-pnm +GST1_PLUGINS_BAD_CONF_OPTS += -Dpnm=disabled +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PROXY),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Dproxy=enabled +else +GST1_PLUGINS_BAD_CONF_OPTS += -Dproxy=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-rawparse +GST1_PLUGINS_BAD_CONF_OPTS += -Drawparse=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-rawparse +GST1_PLUGINS_BAD_CONF_OPTS += -Drawparse=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REMOVESILENCE),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-removesilence +GST1_PLUGINS_BAD_CONF_OPTS += -Dremovesilence=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-removesilence +GST1_PLUGINS_BAD_CONF_OPTS += -Dremovesilence=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTMP),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-rtmp +GST1_PLUGINS_BAD_CONF_OPTS += -Drtmp=enabled GST1_PLUGINS_BAD_DEPENDENCIES += rtmpdump else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-rtmp +GST1_PLUGINS_BAD_CONF_OPTS += -Drtmp=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDP),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-sdp +GST1_PLUGINS_BAD_CONF_OPTS += -Dsdp=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-sdp +GST1_PLUGINS_BAD_CONF_OPTS += -Dsdp=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SEGMENTCLIP),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-segmentclip +GST1_PLUGINS_BAD_CONF_OPTS += -Dsegmentclip=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-segmentclip +GST1_PLUGINS_BAD_CONF_OPTS += -Dsegmentclip=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SIREN),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-siren +GST1_PLUGINS_BAD_CONF_OPTS += -Dsiren=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-siren +GST1_PLUGINS_BAD_CONF_OPTS += -Dsiren=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SMOOTH),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-smooth +GST1_PLUGINS_BAD_CONF_OPTS += -Dsmooth=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-smooth +GST1_PLUGINS_BAD_CONF_OPTS += -Dsmooth=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SPEED),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-speed +GST1_PLUGINS_BAD_CONF_OPTS += -Dspeed=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-speed +GST1_PLUGINS_BAD_CONF_OPTS += -Dspeed=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-subenc +GST1_PLUGINS_BAD_CONF_OPTS += -Dsubenc=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-subenc -endif - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-stereo -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-stereo +GST1_PLUGINS_BAD_CONF_OPTS += -Dsubenc=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TIMECODE),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-timecode +GST1_PLUGINS_BAD_CONF_OPTS += -Dtimecode=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-timecode +GST1_PLUGINS_BAD_CONF_OPTS += -Dtimecode=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-videofilters +GST1_PLUGINS_BAD_CONF_OPTS += -Dvideofilters=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-videofilters +GST1_PLUGINS_BAD_CONF_OPTS += -Dvideofilters=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFRAME_AUDIOLEVEL),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-videoframe_audiolevel +GST1_PLUGINS_BAD_CONF_OPTS += -Dvideoframe_audiolevel=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-videoframe_audiolevel -endif - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-iqa -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-iqa +GST1_PLUGINS_BAD_CONF_OPTS += -Dvideoframe_audiolevel=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-videoparsers +GST1_PLUGINS_BAD_CONF_OPTS += -Dvideoparsers=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-videoparsers +GST1_PLUGINS_BAD_CONF_OPTS += -Dvideoparsers=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOSIGNAL),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-videosignal +GST1_PLUGINS_BAD_CONF_OPTS += -Dvideosignal=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-videosignal +GST1_PLUGINS_BAD_CONF_OPTS += -Dvideosignal=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VMNC),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-vmnc +GST1_PLUGINS_BAD_CONF_OPTS += -Dvmnc=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-vmnc +GST1_PLUGINS_BAD_CONF_OPTS += -Dvmnc=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_Y4M),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-y4m +GST1_PLUGINS_BAD_CONF_OPTS += -Dy4m=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-y4m +GST1_PLUGINS_BAD_CONF_OPTS += -Dy4m=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_YADIF),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-yadif +GST1_PLUGINS_BAD_CONF_OPTS += -Dyadif=enabled GST1_PLUGINS_BAD_HAS_GPL_LICENSE = y else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-yadif +GST1_PLUGINS_BAD_CONF_OPTS += -Dyadif=disabled endif # Plugins with dependencies ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASSRENDER),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-assrender +GST1_PLUGINS_BAD_CONF_OPTS += -Dassrender=enabled GST1_PLUGINS_BAD_DEPENDENCIES += libass else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-assrender +GST1_PLUGINS_BAD_CONF_OPTS += -Dassrender=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BZ2),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-bz2 +GST1_PLUGINS_BAD_CONF_OPTS += -Dbz2=enabled GST1_PLUGINS_BAD_DEPENDENCIES += bzip2 else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-bz2 +GST1_PLUGINS_BAD_CONF_OPTS += -Dbz2=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CURL),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-curl +GST1_PLUGINS_BAD_CONF_OPTS += -Dcurl=enabled GST1_PLUGINS_BAD_DEPENDENCIES += libcurl else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-curl +GST1_PLUGINS_BAD_CONF_OPTS += -Dcurl=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DASH),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-dash +GST1_PLUGINS_BAD_CONF_OPTS += -Ddash=enabled GST1_PLUGINS_BAD_DEPENDENCIES += libxml2 else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-dash +GST1_PLUGINS_BAD_CONF_OPTS += -Ddash=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DECKLINK),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-decklink +GST1_PLUGINS_BAD_CONF_OPTS += -Ddecklink=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-decklink +GST1_PLUGINS_BAD_CONF_OPTS += -Ddecklink=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DIRECTFB),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-directfb +GST1_PLUGINS_BAD_CONF_OPTS += -Ddirectfb=enabled GST1_PLUGINS_BAD_DEPENDENCIES += directfb else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-directfb +GST1_PLUGINS_BAD_CONF_OPTS += -Ddirectfb=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVB),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-dvb +GST1_PLUGINS_BAD_CONF_OPTS += -Ddvb=enabled GST1_PLUGINS_BAD_DEPENDENCIES += dtv-scan-tables else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-dvb +GST1_PLUGINS_BAD_CONF_OPTS += -Ddvb=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FAAD),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-faad +GST1_PLUGINS_BAD_CONF_OPTS += -Dfaad=enabled GST1_PLUGINS_BAD_DEPENDENCIES += faad2 GST1_PLUGINS_BAD_HAS_GPL_LICENSE = y else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-faad +GST1_PLUGINS_BAD_CONF_OPTS += -Dfaad=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-fbdev +GST1_PLUGINS_BAD_CONF_OPTS += -Dfbdev=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-fbdev +GST1_PLUGINS_BAD_CONF_OPTS += -Dfbdev=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FDK_AAC),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-fdk_aac +GST1_PLUGINS_BAD_CONF_OPTS += -Dfdkaac=enabled GST1_PLUGINS_BAD_DEPENDENCIES += fdk-aac else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-fdk_aac +GST1_PLUGINS_BAD_CONF_OPTS += -Dfdkaac=disabled +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FLUIDSYNTH),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Dfluidsynth=enabled +GST1_PLUGINS_BAD_DEPENDENCIES += fluidsynth +else +GST1_PLUGINS_BAD_CONF_OPTS += -Dfluidsynth=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-gl +GST1_PLUGINS_BAD_CONF_OPTS += -Dgl=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-gl +GST1_PLUGINS_BAD_CONF_OPTS += -Dgl=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-hls +GST1_PLUGINS_BAD_CONF_OPTS += -Dhls=enabled ifeq ($(BR2_PACKAGE_NETTLE),y) GST1_PLUGINS_BAD_DEPENDENCIES += nettle -GST1_PLUGINS_BAD_CONF_OPTS += --with-hls-crypto=nettle +GST1_PLUGINS_BAD_CONF_OPTS += -Dhls-crypto='nettle' else ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) GST1_PLUGINS_BAD_DEPENDENCIES += libgcrypt -GST1_PLUGINS_BAD_CONF_OPTS += --with-hls-crypto=libgcrypt \ - --with-libgcrypt-prefix=$(STAGING_DIR)/usr +GST1_PLUGINS_BAD_CONF_OPTS += -Dhls-crypto='libgcrypt' else GST1_PLUGINS_BAD_DEPENDENCIES += openssl -GST1_PLUGINS_BAD_CONF_OPTS += --with-hls-crypto=openssl +GST1_PLUGINS_BAD_CONF_OPTS += -Dhls-crypto='openssl' endif else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-hls +GST1_PLUGINS_BAD_CONF_OPTS += -Dhls=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-kms +GST1_PLUGINS_BAD_CONF_OPTS += -Dkms=enabled GST1_PLUGINS_BAD_DEPENDENCIES += libdrm else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-kms +GST1_PLUGINS_BAD_CONF_OPTS += -Dkms=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBMMS),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-libmms +GST1_PLUGINS_BAD_CONF_OPTS += -Dlibmms=enabled GST1_PLUGINS_BAD_DEPENDENCIES += libmms else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-libmms +GST1_PLUGINS_BAD_CONF_OPTS += -Dlibmms=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-dtls +GST1_PLUGINS_BAD_CONF_OPTS += -Ddtls=enabled GST1_PLUGINS_BAD_DEPENDENCIES += openssl GST1_PLUGINS_BAD_HAS_BSD2C_LICENSE = y else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-dtls +GST1_PLUGINS_BAD_CONF_OPTS += -Ddtls=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTML),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-ttml +GST1_PLUGINS_BAD_CONF_OPTS += -Dttml=enabled GST1_PLUGINS_BAD_DEPENDENCIES += cairo libxml2 pango else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-ttml +GST1_PLUGINS_BAD_CONF_OPTS += -Dttml=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-mpeg2enc -GST1_PLUGINS_BAD_DEPENDENCIES += libmpeg2 +GST1_PLUGINS_BAD_CONF_OPTS += -Dmpeg2enc=enabled +GST1_PLUGINS_BAD_DEPENDENCIES += libmpeg2 mjpegtools GST1_PLUGINS_BAD_HAS_GPL_LICENSE = y else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-mpeg2enc +GST1_PLUGINS_BAD_CONF_OPTS += -Dmpeg2enc=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MUSEPACK),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-musepack +GST1_PLUGINS_BAD_CONF_OPTS += -Dmusepack=enabled GST1_PLUGINS_BAD_DEPENDENCIES += musepack else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-musepack +GST1_PLUGINS_BAD_CONF_OPTS += -Dmusepack=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NEON),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-neon +GST1_PLUGINS_BAD_CONF_OPTS += -Dneon=enabled GST1_PLUGINS_BAD_DEPENDENCIES += neon else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-neon +GST1_PLUGINS_BAD_CONF_OPTS += -Dneon=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENAL),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-openal +GST1_PLUGINS_BAD_CONF_OPTS += -Dopenal=enabled GST1_PLUGINS_BAD_DEPENDENCIES += openal else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-openal -endif - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-opencv -GST1_PLUGINS_BAD_DEPENDENCIES += opencv -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-opencv +GST1_PLUGINS_BAD_CONF_OPTS += -Dopenal=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-openh264 +GST1_PLUGINS_BAD_CONF_OPTS += -Dopenh264=enabled GST1_PLUGINS_BAD_DEPENDENCIES += libopenh264 GST1_PLUGINS_BAD_HAS_BSD2C_LICENSE = y else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-openh264 +GST1_PLUGINS_BAD_CONF_OPTS += -Dopenh264=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENJPEG),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-openjpeg +GST1_PLUGINS_BAD_CONF_OPTS += -Dopenjpeg=enabled GST1_PLUGINS_BAD_DEPENDENCIES += openjpeg else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-openjpeg +GST1_PLUGINS_BAD_CONF_OPTS += -Dopenjpeg=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-opus +GST1_PLUGINS_BAD_CONF_OPTS += -Dopus=enabled GST1_PLUGINS_BAD_DEPENDENCIES += opus else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-opus +GST1_PLUGINS_BAD_CONF_OPTS += -Dopus=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RSVG),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-rsvg +GST1_PLUGINS_BAD_CONF_OPTS += -Drsvg=enabled GST1_PLUGINS_BAD_DEPENDENCIES += librsvg else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-rsvg +GST1_PLUGINS_BAD_CONF_OPTS += -Drsvg=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SBC),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-sbc +GST1_PLUGINS_BAD_CONF_OPTS += -Dsbc=enabled GST1_PLUGINS_BAD_DEPENDENCIES += sbc else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-sbc +GST1_PLUGINS_BAD_CONF_OPTS += -Dsbc=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SHM),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-shm +GST1_PLUGINS_BAD_CONF_OPTS += -Dshm=enabled else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-shm +GST1_PLUGINS_BAD_CONF_OPTS += -Dshm=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SNDFILE),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-sndfile +GST1_PLUGINS_BAD_CONF_OPTS += -Dsndfile=enabled GST1_PLUGINS_BAD_DEPENDENCIES += libsndfile else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-sndfile +GST1_PLUGINS_BAD_CONF_OPTS += -Dsndfile=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SRTP),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-srtp +GST1_PLUGINS_BAD_CONF_OPTS += -Dsrtp=enabled GST1_PLUGINS_BAD_DEPENDENCIES += libsrtp else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-srtp -endif - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-vcd -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-vcd +GST1_PLUGINS_BAD_CONF_OPTS += -Dsrtp=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VOAACENC),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-voaacenc +GST1_PLUGINS_BAD_CONF_OPTS += -Dvoaacenc=enabled GST1_PLUGINS_BAD_DEPENDENCIES += vo-aacenc else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-voaacenc +GST1_PLUGINS_BAD_CONF_OPTS += -Dvoaacenc=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBP),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-webp +GST1_PLUGINS_BAD_CONF_OPTS += -Dwebp=enabled GST1_PLUGINS_BAD_DEPENDENCIES += webp else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-webp +GST1_PLUGINS_BAD_CONF_OPTS += -Dwebp=disabled +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTC),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Dwebrtc=enabled +GST1_PLUGINS_BAD_DEPENDENCIES += gst1-plugins-base libnice +else +GST1_PLUGINS_BAD_CONF_OPTS += -Dwebrtc=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTCDSP),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-webrtcdsp +GST1_PLUGINS_BAD_CONF_OPTS += -Dwebrtcdsp=enabled GST1_PLUGINS_BAD_DEPENDENCIES += webrtc-audio-processing else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-webrtcdsp +GST1_PLUGINS_BAD_CONF_OPTS += -Dwebrtcdsp=disabled +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WPE),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Dwpe=enabled +GST1_PLUGINS_BAD_DEPENDENCIES += libwpe wpewebkit wpebackend-fdo +else +GST1_PLUGINS_BAD_CONF_OPTS += -Dwpe=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-x265 +GST1_PLUGINS_BAD_CONF_OPTS += -Dx265=enabled GST1_PLUGINS_BAD_DEPENDENCIES += x265 GST1_PLUGINS_BAD_HAS_GPL_LICENSE = y else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-x265 +GST1_PLUGINS_BAD_CONF_OPTS += -Dx265=disabled +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_ZBAR),y) +GST1_PLUGINS_BAD_CONF_OPTS += -Dzbar=enabled +GST1_PLUGINS_BAD_DEPENDENCIES += zbar +else +GST1_PLUGINS_BAD_CONF_OPTS += -Dzbar=disabled endif # Add GPL license if GPL licensed plugins enabled. ifeq ($(GST1_PLUGINS_BAD_HAS_GPL_LICENSE),y) -GST1_PLUGINS_BAD_LICENSE := $(GST1_PLUGINS_BAD_LICENSE), GPL-2.0+ +GST1_PLUGINS_BAD_LICENSE += , GPL-2.0+ GST1_PLUGINS_BAD_LICENSE_FILES += COPYING endif # Add BSD license if BSD licensed plugins enabled. ifeq ($(GST1_PLUGINS_BAD_HAS_BSD2C_LICENSE),y) -GST1_PLUGINS_BAD_LICENSE := $(GST1_PLUGINS_BAD_LICENSE), BSD-2-Clause +GST1_PLUGINS_BAD_LICENSE += , BSD-2-Clause endif # Add Unknown license if Unknown licensed plugins enabled. ifeq ($(GST1_PLUGINS_BAD_HAS_UNKNOWN_LICENSE),y) -GST1_PLUGINS_BAD_LICENSE := $(GST1_PLUGINS_BAD_LICENSE), UNKNOWN +GST1_PLUGINS_BAD_LICENSE += , UNKNOWN endif # Use the following command to extract license info for plugins. # # find . -name 'plugin-*.xml' | xargs grep license -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/gstreamer1/gst1-plugins-base/0001-meson-static-linkig-of-tools-needs-gmodule_dep.patch b/package/gstreamer1/gst1-plugins-base/0001-meson-static-linkig-of-tools-needs-gmodule_dep.patch new file mode 100644 index 0000000000..b778f7a12c --- /dev/null +++ b/package/gstreamer1/gst1-plugins-base/0001-meson-static-linkig-of-tools-needs-gmodule_dep.patch @@ -0,0 +1,38 @@ +From 443244e54d1e2813560d364b44b35d49b3987b67 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Tue, 3 Mar 2020 17:07:24 +0100 +Subject: [PATCH] meson: static linkig of tools needs gmodule_dep + +Add gmodule_dep (analog to gstreamer/tools/meson.build). + +Fixes: + +.../bin/ld: .../usr/lib/libgstreamer-1.0.a(gstplugin.c.o): in function `gst_plugin_register_func': +gstplugin.c:(.text+0x3bc): undefined reference to `g_module_make_resident' +.../bin/ld: .../usr/lib/libgstreamer-1.0.a(gstplugin.c.o): in function `_priv_gst_plugin_load_file_for_registry': +gstplugin.c:(.text+0x1228): undefined reference to `g_module_supported' +.../bin/ld: gstplugin.c:(.text+0x126c): undefined reference to `g_module_open' +.../bin/ld: gstplugin.c:(.text+0x1368): undefined reference to `g_module_symbol' +.../bin/ld: gstplugin.c:(.text+0x1494): undefined reference to `g_module_supported' +.../bin/ld: gstplugin.c:(.text+0x17f4): undefined reference to `g_module_close' +.../bin/ld: gstplugin.c:(.text+0x1a2c): undefined reference to `g_module_error' + +[Upstream suggested: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/587 ] +Signed-off-by: Peter Seiderer +--- + tools/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/meson.build b/tools/meson.build +index 57595fb47..bcbe11ca1 100644 +--- a/tools/meson.build ++++ b/tools/meson.build +@@ -1,4 +1,4 @@ +-tool_deps = glib_deps + [pbutils_dep, audio_dep, video_dep, tag_dep, gst_dep, gst_base_dep] ++tool_deps = glib_deps + [pbutils_dep, audio_dep, video_dep, tag_dep, gst_dep, gst_base_dep, gmodule_dep] + + executable('gst-device-monitor-@0@'.format(api_version), + 'gst-device-monitor.c', +-- +2.25.1 + diff --git a/package/gstreamer1/gst1-plugins-base/0002-meson-build-gir-even-when-cross-compiling-if-introspection.patch b/package/gstreamer1/gst1-plugins-base/0002-meson-build-gir-even-when-cross-compiling-if-introspection.patch new file mode 100644 index 0000000000..a6cca0a4be --- /dev/null +++ b/package/gstreamer1/gst1-plugins-base/0002-meson-build-gir-even-when-cross-compiling-if-introspection.patch @@ -0,0 +1,35 @@ +From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001 +From: Tim Philipp +Date: Thu, 17 Oct 2019 12:13:35 +0100 +Subject: [PATCH] meson: build gir even when cross-compiling if introspection + was enabled explicitly + +This can be made to work in certain circumstances when +cross-compiling, so default to not building g-i stuff +when cross-compiling, but allow it if introspection was +enabled explicitly via -Dintrospection=enabled. + +See gstreamer/gstreamer#454 and gstreamer/gstreamer#381. + +Upstream commit: 30672ba7d134553e59935ddc875104adba26f25c +Signed-off-by: Tim Philipp +Signed-off-by: Adam Duskett +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 264d84c9e..c8147c224 100644 +--- a/meson.build ++++ b/meson.build +@@ -371,7 +371,7 @@ endif + + gir = find_program('g-ir-scanner', required : get_option('introspection')) + gnome = import('gnome') +-build_gir = gir.found() and not meson.is_cross_build() ++build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) + gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ + 'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \ + 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ +-- +2.24.1 diff --git a/package/gstreamer1/gst1-plugins-base/Config.in b/package/gstreamer1/gst1-plugins-base/Config.in index 340926ecb9..db916ed219 100644 --- a/package/gstreamer1/gst1-plugins-base/Config.in +++ b/package/gstreamer1/gst1-plugins-base/Config.in @@ -10,6 +10,12 @@ menuconfig BR2_PACKAGE_GST1_PLUGINS_BASE if BR2_PACKAGE_GST1_PLUGINS_BASE +config BR2_PACKAGE_GST1_PLUGINS_BASE_INSTALL_TOOLS + bool "install tools" + help + Install the gst-discoverer, gst-device-monitor and gst-play + tools. + comment "dependency-less plugins" config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER @@ -43,6 +49,11 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC help Creates audio test signals of given frequency and volume +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_COMPOSITOR + bool "compositor" + help + Video compositor plugin + config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING bool "encoding" help @@ -58,6 +69,11 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO help GIO elements +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OVERLAYCOMPOSITION + bool "overlaycomposition" + help + Overlaycomposition plugin. + config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK bool "playback" default y @@ -272,12 +288,14 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO bool "pango font renderer" depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # pango -> harfbuzz select BR2_PACKAGE_PANGO help Pango-based text rendering and overlay -comment "pango plugin needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "pango plugin needs a toolchain w/ C++, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_HAS_SYNC_4 config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash index c508bdc00d..2074c0272b 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash @@ -1,4 +1,3 @@ -# 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 +# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.16.2.tar.xz.sha256sum +sha256 b13e73e2fe74a4166552f9577c3dcb24bed077021b9c7fa600d910ec6987816a gst-plugins-base-1.16.2.tar.xz +sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk index 5b7db0814f..fe80f4751c 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk @@ -4,263 +4,286 @@ # ################################################################################ -GST1_PLUGINS_BASE_VERSION = 1.14.4 +GST1_PLUGINS_BASE_VERSION = 1.16.2 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_FILES = COPYING GST1_PLUGINS_BASE_LICENSE = LGPL-2.0+, LGPL-2.1+ GST1_PLUGINS_BASE_CONF_OPTS = \ - --disable-examples \ - --disable-valgrind \ - --disable-introspection + -Dexamples=disabled \ + -Dtests=disabled \ + -Dgobject-cast-checks=disabled \ + -Dglib-asserts=disabled \ + -Dglib-checks=disabled \ + -Dgtk_doc=disabled # Options which require currently unpackaged libraries GST1_PLUGINS_BASE_CONF_OPTS += \ - --disable-cdparanoia \ - --disable-libvisual \ - --disable-iso-codes + -Dcdparanoia=disabled \ + -Dlibvisual=disabled \ + -Diso-codes=disabled -GST1_PLUGINS_BASE_DEPENDENCIES = gstreamer1 +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_INSTALL_TOOLS),y) +GST1_PLUGINS_BASE_CONF_OPTS += -Dtools=enabled +else +GST1_PLUGINS_BASE_CONF_OPTS += -Dtools=disabled +endif + +GST1_PLUGINS_BASE_DEPENDENCIES = gstreamer1 $(TARGET_NLS_DEPENDENCIES) + +GST1_PLUGINS_BASE_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) # These plugins are listed in the order from ./configure --help + +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +GST1_PLUGINS_BASE_CONF_OPTS += -Dintrospection=enabled +GST1_PLUGINS_BASE_DEPENDENCIES += gobject-introspection +else +GST1_PLUGINS_BASE_CONF_OPTS += -Dintrospection=disabled +endif + ifeq ($(BR2_PACKAGE_ORC),y) GST1_PLUGINS_BASE_DEPENDENCIES += orc -GST1_PLUGINS_BASE_CONF_OPTS += --enable-orc +GST1_PLUGINS_BASE_CONF_OPTS += -Dorc=enabled +else +GST1_PLUGINS_BASE_CONF_OPTS += -Dorc=disabled endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API),y) +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-opengl +GST1_PLUGINS_BASE_GL_API_LIST = opengl GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu -else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-opengl endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-gles2 +GST1_PLUGINS_BASE_GL_API_LIST += gles2 GST1_PLUGINS_BASE_DEPENDENCIES += libgles -else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-gles2 endif +else +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled +endif +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl_api='$(subst $(space),$(comma),$(GST1_PLUGINS_BASE_GL_API_LIST))' ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLX),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-glx +GST1_PLUGINS_BASE_GL_PLATFORM_LIST += glx GST1_PLUGINS_BASE_DEPENDENCIES += xorgproto xlib_libXrender -else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-glx endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-egl +GST1_PLUGINS_BASE_GL_PLATFORM_LIST += egl GST1_PLUGINS_BASE_DEPENDENCIES += libegl -GST1_PLUGINS_BASE_CONF_ENV += \ - CPPFLAGS="$(TARGET_CPPFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" \ - LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs egl`" -else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-egl endif +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl_platform='$(subst $(space),$(comma),$(GST1_PLUGINS_BASE_GL_PLATFORM_LIST))' ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_X11),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-x11 +GST1_PLUGINS_BASE_WINSYS_LIST += x11 GST1_PLUGINS_BASE_DEPENDENCIES += xlib_libX11 xlib_libXext -else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-x11 endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-wayland +GST1_PLUGINS_BASE_WINSYS_LIST += wayland GST1_PLUGINS_BASE_DEPENDENCIES += wayland wayland-protocols -else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-wayland endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_DISPMANX),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-dispmanx +GST1_PLUGINS_BASE_WINSYS_LIST += dispmanx GST1_PLUGINS_BASE_DEPENDENCIES += rpi-userland -else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-dispmanx endif +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl_winsys='$(subst $(space),$(comma),$(GST1_PLUGINS_BASE_WINSYS_LIST))' ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-adder +GST1_PLUGINS_BASE_CONF_OPTS += -Dadder=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-adder +GST1_PLUGINS_BASE_CONF_OPTS += -Dadder=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-app +GST1_PLUGINS_BASE_CONF_OPTS += -Dapp=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-app +GST1_PLUGINS_BASE_CONF_OPTS += -Dapp=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-audioconvert +GST1_PLUGINS_BASE_CONF_OPTS += -Daudioconvert=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-audioconvert +GST1_PLUGINS_BASE_CONF_OPTS += -Daudioconvert=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-audiomixer +GST1_PLUGINS_BASE_CONF_OPTS += -Daudiomixer=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-audiomixer +GST1_PLUGINS_BASE_CONF_OPTS += -Daudiomixer=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-audiorate +GST1_PLUGINS_BASE_CONF_OPTS += -Daudiorate=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-audiorate +GST1_PLUGINS_BASE_CONF_OPTS += -Daudiorate=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-audiotestsrc +GST1_PLUGINS_BASE_CONF_OPTS += -Daudiotestsrc=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-audiotestsrc +GST1_PLUGINS_BASE_CONF_OPTS += -Daudiotestsrc=disabled +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_COMPOSITOR),y) +GST1_PLUGINS_BASE_CONF_OPTS += -Dcompositor=enabled +else +GST1_PLUGINS_BASE_CONF_OPTS += -Dcompositor=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-encoding +GST1_PLUGINS_BASE_CONF_OPTS += -Dencoding=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-encoding +GST1_PLUGINS_BASE_CONF_OPTS += -Dencoding=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-videoconvert +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideoconvert=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-videoconvert +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideoconvert=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-gio +GST1_PLUGINS_BASE_CONF_OPTS += -Dgio=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-gio +GST1_PLUGINS_BASE_CONF_OPTS += -Dgio=disabled +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OVERLAYCOMPOSITION),y) +GST1_PLUGINS_BASE_CONF_OPTS += -Doverlaycomposition=enabled +else +GST1_PLUGINS_BASE_CONF_OPTS += -Doverlaycomposition=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-playback +GST1_PLUGINS_BASE_CONF_OPTS += -Dplayback=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-playback +GST1_PLUGINS_BASE_CONF_OPTS += -Dplayback=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-audioresample +GST1_PLUGINS_BASE_CONF_OPTS += -Daudioresample=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-audioresample +GST1_PLUGINS_BASE_CONF_OPTS += -Daudioresample=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-rawparse +GST1_PLUGINS_BASE_CONF_OPTS += -Drawparse=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-rawparse +GST1_PLUGINS_BASE_CONF_OPTS += -Drawparse=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-subparse +GST1_PLUGINS_BASE_CONF_OPTS += -Dsubparse=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-subparse +GST1_PLUGINS_BASE_CONF_OPTS += -Dsubparse=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TCP),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-tcp +GST1_PLUGINS_BASE_CONF_OPTS += -Dtcp=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-tcp +GST1_PLUGINS_BASE_CONF_OPTS += -Dtcp=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TYPEFIND),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-typefind +GST1_PLUGINS_BASE_CONF_OPTS += -Dtypefind=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-typefind +GST1_PLUGINS_BASE_CONF_OPTS += -Dtypefind=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-videotestsrc +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideotestsrc=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-videotestsrc +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideotestsrc=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-videorate +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideorate=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-videorate +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideorate=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-videoscale +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideoscale=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-videoscale +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideoscale=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-volume +GST1_PLUGINS_BASE_CONF_OPTS += -Dvolume=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-volume +GST1_PLUGINS_BASE_CONF_OPTS += -Dvolume=disabled endif +# Zlib is checked for headers and is not an option. ifeq ($(BR2_PACKAGE_ZLIB),y) GST1_PLUGINS_BASE_DEPENDENCIES += zlib -else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-zlib endif ifeq ($(BR2_PACKAGE_XORG7),y) GST1_PLUGINS_BASE_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXv GST1_PLUGINS_BASE_CONF_OPTS += \ - --enable-x \ - --enable-xshm \ - --enable-xvideo + -Dx11=enabled \ + -Dxshm=enabled \ + -Dxvideo=enabled else GST1_PLUGINS_BASE_CONF_OPTS += \ - --disable-x \ - --disable-xshm \ - --disable-xvideo + -Dx11=disabled \ + -Dxshm=disabled \ + -Dxvideo=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA),y) GST1_PLUGINS_BASE_DEPENDENCIES += alsa-lib +GST1_PLUGINS_BASE_CONF_OPTS += -Dalsa=enabled else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-alsa +GST1_PLUGINS_BASE_CONF_OPTS += -Dalsa=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TREMOR),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-ivorbis +GST1_PLUGINS_BASE_CONF_OPTS += -Dtremor=enabled GST1_PLUGINS_BASE_DEPENDENCIES += tremor else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-ivorbis +GST1_PLUGINS_BASE_CONF_OPTS += -Dtremor=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-opus +GST1_PLUGINS_BASE_CONF_OPTS += -Dopus=enabled GST1_PLUGINS_BASE_DEPENDENCIES += opus else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-opus +GST1_PLUGINS_BASE_CONF_OPTS += -Dopus=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-ogg +GST1_PLUGINS_BASE_CONF_OPTS += -Dogg=enabled GST1_PLUGINS_BASE_DEPENDENCIES += libogg else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-ogg +GST1_PLUGINS_BASE_CONF_OPTS += -Dogg=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-pango +GST1_PLUGINS_BASE_CONF_OPTS += -Dpango=enabled GST1_PLUGINS_BASE_DEPENDENCIES += pango else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-pango +GST1_PLUGINS_BASE_CONF_OPTS += -Dpango=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-theora +GST1_PLUGINS_BASE_CONF_OPTS += -Dtheora=enabled GST1_PLUGINS_BASE_DEPENDENCIES += libtheora else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-theora +GST1_PLUGINS_BASE_CONF_OPTS += -Dtheora=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS),y) -GST1_PLUGINS_BASE_CONF_OPTS += --enable-vorbis +GST1_PLUGINS_BASE_CONF_OPTS += -Dvorbis=enabled GST1_PLUGINS_BASE_DEPENDENCIES += libvorbis else -GST1_PLUGINS_BASE_CONF_OPTS += --disable-vorbis +GST1_PLUGINS_BASE_CONF_OPTS += -Dvorbis=disabled endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/gstreamer1/gst1-plugins-bayer2rgb-neon/Config.in b/package/gstreamer1/gst1-plugins-bayer2rgb-neon/Config.in new file mode 100644 index 0000000000..b7cac08d7d --- /dev/null +++ b/package/gstreamer1/gst1-plugins-bayer2rgb-neon/Config.in @@ -0,0 +1,20 @@ +menuconfig BR2_PACKAGE_GST1_PLUGINS_BAYER2RGB_NEON + bool "gst1-plugins-bayer2rgb-neon" + depends on BR2_arm && BR2_ARM_CPU_HAS_NEON # bayer2rgb-neon + depends on !BR2_STATIC_LIBS # bayer2rgb-neon + depends on BR2_INSTALL_LIBSTDCPP # bayer2rgb-neon + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # bayer2rgb-neon + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_BAYER2RGB_NEON + help + gst1-plugins-bayer2rgb-neon is a gstreamer1 + plugin which uses bayer2rgb-neon library to + decode raw camera bayer to RGB using + NEON hardware acceleration. + + https://git.phytec.de/gst-bayer2rgb-neon + +comment "gst1-plugins-bayer2rgb-neon needs a toolchain w/ C++, dynamic library, gcc >= 4.9" + depends on BR2_arm && BR2_ARM_CPU_HAS_NEON + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.hash b/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.hash new file mode 100644 index 0000000000..129be67c34 --- /dev/null +++ b/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 8d317b892bf1c99e9999a6d9b027a22c4ea2940f1ac504c03560b3d476e1c9c8 gst-bayer2rgb-neon-v0.3.tar.bz2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.mk b/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.mk new file mode 100644 index 0000000000..734800a74b --- /dev/null +++ b/package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# gst1-plugins-bayer2rgb-neon +# +################################################################################ + +GST1_PLUGINS_BAYER2RGB_NEON_VERSION = 0.3 +GST1_PLUGINS_BAYER2RGB_NEON_SOURCE = gst-bayer2rgb-neon-v$(GST1_PLUGINS_BAYER2RGB_NEON_VERSION).tar.bz2 +GST1_PLUGINS_BAYER2RGB_NEON_SITE = https://git.phytec.de/gst-bayer2rgb-neon/snapshot +GST1_PLUGINS_BAYER2RGB_NEON_LICENSE = GPL-3.0 +GST1_PLUGINS_BAYER2RGB_NEON_LICENSE_FILES = COPYING + +GST1_PLUGINS_BAYER2RGB_NEON_INSTALL_STAGING = YES + +GST1_PLUGINS_BAYER2RGB_NEON_DEPENDENCIES = \ + host-pkgconf \ + gstreamer1 \ + gst1-plugins-base \ + bayer2rgb-neon + +GST1_PLUGINS_BAYER2RGB_NEON_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in index afb9a418d8..be77f5a82e 100644 --- a/package/gstreamer1/gst1-plugins-good/Config.in +++ b/package/gstreamer1/gst1-plugins-good/Config.in @@ -32,14 +32,6 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_BZ2 Enable bz2 support for the following plugins: matroska -config BR2_PACKAGE_GST1_PLUGINS_GOOD_ZLIB - bool "zlib support" - depends on BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4 || BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX || BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA - select BR2_PACKAGE_ZLIB - help - Enable zlib support for the following plugins: - id3demux, isomp4, matroska - comment "dependency-less plugins" config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ALPHA @@ -283,9 +275,27 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS4 help Open Sound System (OSS) version 4 support for GStreamer +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL + bool "qmlgl (qt5)" + depends on BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative + select BR2_PACKAGE_QT5BASE_WIDGETS + select BR2_PACKAGE_QT5DECLARATIVE + select BR2_PACKAGE_QT5DECLARATIVE_QUICK + select BR2_PACKAGE_QT5X11EXTRAS if BR2_PACKAGE_QT5BASE_XCB + help + QT5 plugin which includes elements qmlglsrc and qmlglsink + +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHOUT2 + bool "shout2" + select BR2_PACKAGE_LIBSHOUT + help + Elements to send data to an icecast server using libshout2 + config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2 bool "v4l2" depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # multi planar api + select BR2_PACKAGE_LIBGUDEV if BR2_PACKAGE_HAS_UDEV help elements for Video 4 Linux @@ -328,6 +338,19 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GDKPIXBUF comment "gdkpixbuf needs a toolchain w/ wchar, threads" depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_JACK + bool "jack" + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + select BR2_PACKAGE_JACK2 + help + JACK audio source/sink plugin + +comment "jack needs a toolchain w/ C++, dynamic library" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS + config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE bool "pulseaudio" depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio @@ -372,6 +395,12 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_TAGLIB comment "taglib needs a toolchain w/ C++, wchar" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_TWOLAME + bool "twolame" + select BR2_PACKAGE_TWOLAME + help + twolame mp2 audio encoder plugin + config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX bool "vpx (webm)" depends on BR2_TOOLCHAIN_HAS_THREADS # libvpx diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash index 1d08938e09..075338b14b 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.4.tar.xz.sha256sum -sha256 5f8b553260cb0aac56890053d8511db1528d53cae10f0287cfce2cb2acc70979 gst-plugins-good-1.14.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.16.2.tar.xz.sha256sum +sha256 40bb3bafda25c0b739c8fc36e48380fccf61c4d3f83747e97ac3f9b0171b1319 gst-plugins-good-1.16.2.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 2e6ac6dbb3..eed4bfe117 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -4,448 +4,484 @@ # ################################################################################ -GST1_PLUGINS_GOOD_VERSION = 1.14.4 +GST1_PLUGINS_GOOD_VERSION = 1.16.2 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 GST1_PLUGINS_GOOD_LICENSE = LGPL-2.1+ +GST1_PLUGINS_GOOD_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) + GST1_PLUGINS_GOOD_CONF_OPTS = \ - --disable-valgrind \ - --disable-examples \ - --disable-directsound \ - --disable-waveform \ - --disable-sunaudio \ - --disable-osx_audio \ - --disable-osx_video \ - --disable-aalib \ - --disable-aalibtest \ - --disable-libcaca \ - --disable-qt + -Dexamples=disabled \ + -Dtests=disabled \ + -Ddirectsound=disabled \ + -Dwaveform=disabled \ + -Dosxaudio=disabled \ + -Dosxvideo=disabled \ + -Daalib=disabled \ + -Dlibcaca=disabled # Options which require currently unpackaged libraries GST1_PLUGINS_GOOD_CONF_OPTS += \ - --disable-libdv \ - --disable-dv1394 \ - --disable-shout2 + -Ddv=disabled \ + -Ddv1394=disabled -GST1_PLUGINS_GOOD_DEPENDENCIES = gstreamer1 gst1-plugins-base +GST1_PLUGINS_GOOD_DEPENDENCIES = \ + gstreamer1 \ + gst1-plugins-base \ + $(TARGET_NLS_DEPENDENCIES) -ifeq ($(BR2_PACKAGE_JACK2),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-jack +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_JACK),y) +GST1_PLUGINS_GOOD_CONF_OPTS += -Djack=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += jack2 else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-jack +GST1_PLUGINS_GOOD_CONF_OPTS += -Djack=disabled endif ifeq ($(BR2_PACKAGE_LIBV4L),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --with-libv4l2 +GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-libv4l2=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += libv4l else -GST1_PLUGINS_GOOD_CONF_OPTS += --without-libv4l2 +GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-libv4l2=disabled endif ifeq ($(BR2_PACKAGE_ORC),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-orc +GST1_PLUGINS_GOOD_CONF_OPTS += -Dorc=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += orc endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ALPHA),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-alpha +GST1_PLUGINS_GOOD_CONF_OPTS += -Dalpha=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-alpha +GST1_PLUGINS_GOOD_CONF_OPTS += -Dalpha=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_APETAG),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-apetag +GST1_PLUGINS_GOOD_CONF_OPTS += -Dapetag=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-apetag +GST1_PLUGINS_GOOD_CONF_OPTS += -Dapetag=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-audiofx +GST1_PLUGINS_GOOD_CONF_OPTS += -Daudiofx=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-audiofx +GST1_PLUGINS_GOOD_CONF_OPTS += -Daudiofx=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-audioparsers +GST1_PLUGINS_GOOD_CONF_OPTS += -Daudioparsers=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-audioparsers +GST1_PLUGINS_GOOD_CONF_OPTS += -Daudioparsers=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUPARSE),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-auparse +GST1_PLUGINS_GOOD_CONF_OPTS += -Dauparse=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-auparse +GST1_PLUGINS_GOOD_CONF_OPTS += -Dauparse=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-autodetect +GST1_PLUGINS_GOOD_CONF_OPTS += -Dautodetect=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-autodetect +GST1_PLUGINS_GOOD_CONF_OPTS += -Dautodetect=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AVI),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-avi +GST1_PLUGINS_GOOD_CONF_OPTS += -Davi=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-avi +GST1_PLUGINS_GOOD_CONF_OPTS += -Davi=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CUTTER),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-cutter +GST1_PLUGINS_GOOD_CONF_OPTS += -Dcutter=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-cutter +GST1_PLUGINS_GOOD_CONF_OPTS += -Dcutter=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-debugutils +GST1_PLUGINS_GOOD_CONF_OPTS += -Ddebugutils=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-debugutils +GST1_PLUGINS_GOOD_CONF_OPTS += -Ddebugutils=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-deinterlace +GST1_PLUGINS_GOOD_CONF_OPTS += -Ddeinterlace=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-deinterlace +GST1_PLUGINS_GOOD_CONF_OPTS += -Ddeinterlace=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DTMF),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-dtmf +GST1_PLUGINS_GOOD_CONF_OPTS += -Ddtmf=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-dtmf +GST1_PLUGINS_GOOD_CONF_OPTS += -Ddtmf=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EFFECTV),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-effectv +GST1_PLUGINS_GOOD_CONF_OPTS += -Deffectv=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-effectv +GST1_PLUGINS_GOOD_CONF_OPTS += -Deffectv=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EQUALIZER),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-equalizer +GST1_PLUGINS_GOOD_CONF_OPTS += -Dequalizer=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-equalizer +GST1_PLUGINS_GOOD_CONF_OPTS += -Dequalizer=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLV),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-flv +GST1_PLUGINS_GOOD_CONF_OPTS += -Dflv=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-flv +GST1_PLUGINS_GOOD_CONF_OPTS += -Dflv=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLX),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-flx +GST1_PLUGINS_GOOD_CONF_OPTS += -Dflx=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-flx +GST1_PLUGINS_GOOD_CONF_OPTS += -Dflx=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-goom +GST1_PLUGINS_GOOD_CONF_OPTS += -Dgoom=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-goom +GST1_PLUGINS_GOOD_CONF_OPTS += -Dgoom=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM2K1),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-goom2k1 +GST1_PLUGINS_GOOD_CONF_OPTS += -Dgoom2k1=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-goom2k1 +GST1_PLUGINS_GOOD_CONF_OPTS += -Dgoom2k1=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ICYDEMUX),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-icydemux +GST1_PLUGINS_GOOD_CONF_OPTS += -Dicydemux=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-icydemux +GST1_PLUGINS_GOOD_CONF_OPTS += -Dicydemux=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-id3demux +GST1_PLUGINS_GOOD_CONF_OPTS += -Did3demux=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-id3demux +GST1_PLUGINS_GOOD_CONF_OPTS += -Did3demux=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_IMAGEFREEZE),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-imagefreeze +GST1_PLUGINS_GOOD_CONF_OPTS += -Dimagefreeze=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-imagefreeze +GST1_PLUGINS_GOOD_CONF_OPTS += -Dimagefreeze=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_INTERLEAVE),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-interleave +GST1_PLUGINS_GOOD_CONF_OPTS += -Dinterleave=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-interleave +GST1_PLUGINS_GOOD_CONF_OPTS += -Dinterleave=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-isomp4 +GST1_PLUGINS_GOOD_CONF_OPTS += -Disomp4=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-isomp4 +GST1_PLUGINS_GOOD_CONF_OPTS += -Disomp4=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-lame +GST1_PLUGINS_GOOD_CONF_OPTS += -Dlame=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += lame else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-lame +GST1_PLUGINS_GOOD_CONF_OPTS += -Dlame=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-mpg123 +GST1_PLUGINS_GOOD_CONF_OPTS += -Dmpg123=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += mpg123 else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-mpg123 +GST1_PLUGINS_GOOD_CONF_OPTS += -Dmpg123=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-law +GST1_PLUGINS_GOOD_CONF_OPTS += -Dlaw=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-law +GST1_PLUGINS_GOOD_CONF_OPTS += -Dlaw=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LEVEL),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-level +GST1_PLUGINS_GOOD_CONF_OPTS += -Dlevel=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-level +GST1_PLUGINS_GOOD_CONF_OPTS += -Dlevel=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-matroska +GST1_PLUGINS_GOOD_CONF_OPTS += -Dmatroska=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-matroska +GST1_PLUGINS_GOOD_CONF_OPTS += -Dmatroska=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MONOSCOPE),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-monoscope +GST1_PLUGINS_GOOD_CONF_OPTS += -Dmonoscope=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-monoscope +GST1_PLUGINS_GOOD_CONF_OPTS += -Dmonoscope=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-multifile +GST1_PLUGINS_GOOD_CONF_OPTS += -Dmultifile=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-multifile +GST1_PLUGINS_GOOD_CONF_OPTS += -Dmultifile=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIPART),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-multipart +GST1_PLUGINS_GOOD_CONF_OPTS += -Dmultipart=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-multipart +GST1_PLUGINS_GOOD_CONF_OPTS += -Dmultipart=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_REPLAYGAIN),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-replaygain +GST1_PLUGINS_GOOD_CONF_OPTS += -Dreplaygain=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-replaygain +GST1_PLUGINS_GOOD_CONF_OPTS += -Dreplaygain=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-rtp +GST1_PLUGINS_GOOD_CONF_OPTS += -Drtp=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-rtp +GST1_PLUGINS_GOOD_CONF_OPTS += -Drtp=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTPMANAGER),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-rtpmanager +GST1_PLUGINS_GOOD_CONF_OPTS += -Drtpmanager=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-rtpmanager +GST1_PLUGINS_GOOD_CONF_OPTS += -Drtpmanager=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-rtsp +GST1_PLUGINS_GOOD_CONF_OPTS += -Drtsp=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-rtsp +GST1_PLUGINS_GOOD_CONF_OPTS += -Drtsp=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHAPEWIPE),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-shapewipe +GST1_PLUGINS_GOOD_CONF_OPTS += -Dshapewipe=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-shapewipe +GST1_PLUGINS_GOOD_CONF_OPTS += -Dshapewipe=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SMPTE),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-smpte +GST1_PLUGINS_GOOD_CONF_OPTS += -Dsmpte=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-smpte +GST1_PLUGINS_GOOD_CONF_OPTS += -Dsmpte=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPECTRUM),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-spectrum +GST1_PLUGINS_GOOD_CONF_OPTS += -Dspectrum=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-spectrum +GST1_PLUGINS_GOOD_CONF_OPTS += -Dspectrum=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_UDP),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-udp +GST1_PLUGINS_GOOD_CONF_OPTS += -Dudp=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-udp +GST1_PLUGINS_GOOD_CONF_OPTS += -Dudp=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOBOX),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-videobox +GST1_PLUGINS_GOOD_CONF_OPTS += -Dvideobox=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-videobox +GST1_PLUGINS_GOOD_CONF_OPTS += -Dvideobox=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-videocrop +GST1_PLUGINS_GOOD_CONF_OPTS += -Dvideocrop=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-videocrop +GST1_PLUGINS_GOOD_CONF_OPTS += -Dvideocrop=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOFILTER),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-videofilter +GST1_PLUGINS_GOOD_CONF_OPTS += -Dvideofilter=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-videofilter +GST1_PLUGINS_GOOD_CONF_OPTS += -Dvideofilter=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOMIXER),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-videomixer +GST1_PLUGINS_GOOD_CONF_OPTS += -Dvideomixer=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-videomixer +GST1_PLUGINS_GOOD_CONF_OPTS += -Dvideomixer=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVENC),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-wavenc +GST1_PLUGINS_GOOD_CONF_OPTS += -Dwavenc=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-wavenc +GST1_PLUGINS_GOOD_CONF_OPTS += -Dwavenc=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVPARSE),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-wavparse +GST1_PLUGINS_GOOD_CONF_OPTS += -Dwavparse=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-wavparse +GST1_PLUGINS_GOOD_CONF_OPTS += -Dwavparse=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-y4m +GST1_PLUGINS_GOOD_CONF_OPTS += -Dy4m=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-y4m +GST1_PLUGINS_GOOD_CONF_OPTS += -Dy4m=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-oss +GST1_PLUGINS_GOOD_CONF_OPTS += -Doss=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-oss +GST1_PLUGINS_GOOD_CONF_OPTS += -Doss=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS4),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-oss4 +GST1_PLUGINS_GOOD_CONF_OPTS += -Doss4=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-oss4 +GST1_PLUGINS_GOOD_CONF_OPTS += -Doss4=disabled +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL),y) +GST1_PLUGINS_GOOD_CONF_OPTS += -Dqt5=enabled +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5declarative +ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5x11extras +endif +else +GST1_PLUGINS_GOOD_CONF_OPTS += -Dqt5=disabled +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHOUT2),y) +GST1_PLUGINS_GOOD_CONF_OPTS += -Dshout2=enabled +GST1_PLUGINS_GOOD_DEPENDENCIES += libshout +else +GST1_PLUGINS_GOOD_CONF_OPTS += -Dshout2=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-gst_v4l2 +GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2=enabled +# Enable use of gudev if available, for device probing and monitoring. +ifeq ($(BR2_PACKAGE_LIBGUDEV),y) +GST1_PLUGINS_GOOD_DEPENDENCIES += libgudev +GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-gudev=enabled else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-gst_v4l2 +GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-gudev=disabled +endif +else +GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-v4l2-probe +GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-probe=true else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-v4l2-probe +GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-probe=false endif ifeq ($(BR2_PACKAGE_XORG7),y) GST1_PLUGINS_GOOD_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXv -GST1_PLUGINS_GOOD_CONF_OPTS += \ - --enable-x \ - $(if $(BR2_PACKAGE_XLIB_LIBXFIXES),xlib_libXfixes) \ - $(if $(BR2_PACKAGE_XLIB_LIBXDAMAGE),xlib_libXdamage) +GST1_PLUGINS_GOOD_CONF_OPTS += -Dximagesrc=enabled +ifeq ($(BR2_PACKAGE_XLIB_LIBXFIXES),y) +GST1_PLUGINS_GOOD_DEPENDENCIES += xlib_libXfixes +GST1_PLUGINS_GOOD_CONF_OPTS += -Dximagesrc-xfixes=enabled +endif +ifeq ($(BR2_PACKAGE_XLIB_LIBXDAMAGE),y) +GST1_PLUGINS_GOOD_DEPENDENCIES += xlib_libXdamage +GST1_PLUGINS_GOOD_CONF_OPTS += -Dximagesrc-xdamage=enabled +endif else GST1_PLUGINS_GOOD_CONF_OPTS += \ - --disable-x + -Dximagesrc=disabled \ + -Dximagesrc-xfixes=disabled \ + -Dximagesrc-xdamage=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CAIRO),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-cairo +GST1_PLUGINS_GOOD_CONF_OPTS += -Dcairo=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += cairo else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-cairo +GST1_PLUGINS_GOOD_CONF_OPTS += -Dcairo=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLAC),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-flac +GST1_PLUGINS_GOOD_CONF_OPTS += -Dflac=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += flac else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-flac +GST1_PLUGINS_GOOD_CONF_OPTS += -Dflac=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GDKPIXBUF),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-gdk_pixbuf +GST1_PLUGINS_GOOD_CONF_OPTS += -Dgdk-pixbuf=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += gdk-pixbuf else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-gdk_pixbuf +GST1_PLUGINS_GOOD_CONF_OPTS += -Dgdk-pixbuf=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_JPEG),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-jpeg +GST1_PLUGINS_GOOD_CONF_OPTS += -Djpeg=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += jpeg else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-jpeg +GST1_PLUGINS_GOOD_CONF_OPTS += -Djpeg=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PNG),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-libpng +GST1_PLUGINS_GOOD_CONF_OPTS += -Dpng=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += libpng else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-libpng +GST1_PLUGINS_GOOD_CONF_OPTS += -Dpng=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-pulse +GST1_PLUGINS_GOOD_CONF_OPTS += -Dpulse=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += pulseaudio else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-pulse +GST1_PLUGINS_GOOD_CONF_OPTS += -Dpulse=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-soup +GST1_PLUGINS_GOOD_CONF_OPTS += -Dsoup=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += libsoup else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-soup +GST1_PLUGINS_GOOD_CONF_OPTS += -Dsoup=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPEEX),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-speex +GST1_PLUGINS_GOOD_CONF_OPTS += -Dspeex=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += speex else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-speex +GST1_PLUGINS_GOOD_CONF_OPTS += -Dspeex=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_TAGLIB),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-taglib +GST1_PLUGINS_GOOD_CONF_OPTS += -Dtaglib=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += taglib else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-taglib +GST1_PLUGINS_GOOD_CONF_OPTS += -Dtaglib=disabled +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_TWOLAME),y) +GST1_PLUGINS_GOOD_CONF_OPTS += -Dtwolame=enabled +GST1_PLUGINS_GOOD_DEPENDENCIES += twolame +else +GST1_PLUGINS_GOOD_CONF_OPTS += -Dtwolame=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-vpx +GST1_PLUGINS_GOOD_CONF_OPTS += -Dvpx=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += libvpx else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-vpx +GST1_PLUGINS_GOOD_CONF_OPTS += -Dvpx=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVPACK),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-wavpack +GST1_PLUGINS_GOOD_CONF_OPTS += -Dwavpack=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += wavpack else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-wavpack +GST1_PLUGINS_GOOD_CONF_OPTS += -Dwavpack=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_ZLIB),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-zlib GST1_PLUGINS_GOOD_DEPENDENCIES += zlib -else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-zlib endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_BZ2),y) -GST1_PLUGINS_GOOD_CONF_OPTS += --enable-bz2 +GST1_PLUGINS_GOOD_CONF_OPTS += -Dbz2=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += bzip2 else -GST1_PLUGINS_GOOD_CONF_OPTS += --disable-bz2 +GST1_PLUGINS_GOOD_CONF_OPTS += -Dbz2=disabled endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash index f93c7e2340..e5df44ab90 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.4.tar.xz.sha256sum -sha256 ac02d837f166c35ff6ce0738e281680d0b90052cfb1f0255dcf6aaca5f0f6d23 gst-plugins-ugly-1.14.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.16.2.tar.xz.sha256sum +sha256 5500415b865e8b62775d4742cbb9f37146a50caecfc0e7a6fc0160d3c560fbca gst-plugins-ugly-1.16.2.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 25546258cd..9f8b1d3359 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk @@ -4,86 +4,87 @@ # ################################################################################ -GST1_PLUGINS_UGLY_VERSION = 1.14.4 +GST1_PLUGINS_UGLY_VERSION = 1.16.2 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 # GPL licensed plugins will append to GST1_PLUGINS_UGLY_LICENSE if enabled. GST1_PLUGINS_UGLY_LICENSE = LGPL-2.1+ -GST1_PLUGINS_UGLY_CONF_OPTS = --disable-examples --disable-valgrind +GST1_PLUGINS_UGLY_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) GST1_PLUGINS_UGLY_CONF_OPTS += \ - --disable-a52dec \ - --disable-amrnb \ - --disable-amrwb \ - --disable-cdio \ - --disable-sidplay \ - --disable-twolame + -Dexamples=disabled \ + -Dtests=disabled + +GST1_PLUGINS_UGLY_CONF_OPTS += \ + -Da52dec=disabled \ + -Damrnb=disabled \ + -Damrwbdec=disabled \ + -Dcdio=disabled \ + -Dsidplay=disabled GST1_PLUGINS_UGLY_DEPENDENCIES = gstreamer1 gst1-plugins-base ifeq ($(BR2_PACKAGE_ORC),y) -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-orc +GST1_PLUGINS_UGLY_CONF_OPTS += -Dorc=enabled GST1_PLUGINS_UGLY_DEPENDENCIES += orc +else +GST1_PLUGINS_UGLY_CONF_OPTS += -Dorc=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_ASFDEMUX),y) -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-asfdemux +GST1_PLUGINS_UGLY_CONF_OPTS += -Dasfdemux=enabled else -GST1_PLUGINS_UGLY_CONF_OPTS += --disable-asfdemux +GST1_PLUGINS_UGLY_CONF_OPTS += -Dasfdemux=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDLPCMDEC),y) -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-dvdlpcmdec +GST1_PLUGINS_UGLY_CONF_OPTS += -Ddvdlpcmdec=enabled else -GST1_PLUGINS_UGLY_CONF_OPTS += --disable-dvdlpcmdec +GST1_PLUGINS_UGLY_CONF_OPTS += -Ddvdlpcmdec=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDSUB),y) -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-dvdsub +GST1_PLUGINS_UGLY_CONF_OPTS += -Ddvdsub=enabled else -GST1_PLUGINS_UGLY_CONF_OPTS += --disable-dvdsub +GST1_PLUGINS_UGLY_CONF_OPTS += -Ddvdsub=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_XINGMUX),y) -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-xingmux +GST1_PLUGINS_UGLY_CONF_OPTS += -Dxingmux=enabled else -GST1_PLUGINS_UGLY_CONF_OPTS += --disable-xingmux +GST1_PLUGINS_UGLY_CONF_OPTS += -Dxingmux=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_REALMEDIA),y) -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-realmedia +GST1_PLUGINS_UGLY_CONF_OPTS += -Drealmedia=enabled else -GST1_PLUGINS_UGLY_CONF_OPTS += --disable-realmedia +GST1_PLUGINS_UGLY_CONF_OPTS += -Drealmedia=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDREAD),y) -# configure does not use pkg-config to detect libdvdread -ifeq ($(BR2_PACKAGE_LIBDVDCSS)$(BR2_STATIC_LIBS),yy) -GST1_PLUGINS_UGLY_CONF_ENV += LIBS="-ldvdcss" -endif -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-dvdread +GST1_PLUGINS_UGLY_CONF_OPTS += -Ddvdread=enabled GST1_PLUGINS_UGLY_DEPENDENCIES += libdvdread GST1_PLUGINS_UGLY_HAS_GPL_LICENSE = y else -GST1_PLUGINS_UGLY_CONF_OPTS += --disable-dvdread +GST1_PLUGINS_UGLY_CONF_OPTS += -Ddvdread=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPEG2DEC),y) -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-mpeg2dec +GST1_PLUGINS_UGLY_CONF_OPTS += -Dmpeg2dec=enabled GST1_PLUGINS_UGLY_DEPENDENCIES += libmpeg2 GST1_PLUGINS_UGLY_HAS_GPL_LICENSE = y else -GST1_PLUGINS_UGLY_CONF_OPTS += --disable-mpeg2dec +GST1_PLUGINS_UGLY_CONF_OPTS += -Dmpeg2dec=disabled endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_X264),y) -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-x264 +GST1_PLUGINS_UGLY_CONF_OPTS += -Dx264=enabled GST1_PLUGINS_UGLY_DEPENDENCIES += x264 GST1_PLUGINS_UGLY_HAS_GPL_LICENSE = y else -GST1_PLUGINS_UGLY_CONF_OPTS += --disable-x264 +GST1_PLUGINS_UGLY_CONF_OPTS += -Dx264=disabled endif # Add GPL license if GPL plugins enabled. @@ -94,4 +95,4 @@ endif # Use the following command to extract license info for plugins. # # find . -name 'plugin-*.xml' | xargs grep license -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/gstreamer1/gst1-python/0001-fix-builds-with-python-3.8.patch b/package/gstreamer1/gst1-python/0001-fix-builds-with-python-3.8.patch new file mode 100644 index 0000000000..edff445a7a --- /dev/null +++ b/package/gstreamer1/gst1-python/0001-fix-builds-with-python-3.8.patch @@ -0,0 +1,43 @@ +From 10707f437f2fc3632067c6a0efa4432f7ebaf362 Mon Sep 17 00:00:00 2001 +From: Sebastian Dröge +Date: Fri, 13 Dec 2019 10:46:20 +0200 +Subject: [PATCH] backport of "fix build with Python 3.8 by also checking for + python-3.X-embed.pc" + +Since Python 3.8 the normal checks don't include the Python libraries +anymore and linking of the gst-python module would fail. + +See also https://github.com/mesonbuild/meson/issues/5629 + +Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28 + +Upstream commit: 22f28155d86e27c4134de4ed2861264003fcfd23 + +Signed-off-by: Sebastian Dröge +Signed-off-by: Adam Duskett +--- + meson.build | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/meson.build b/meson.build +index 744b7ce..492af1a 100644 +--- a/meson.build ++++ b/meson.build +@@ -25,6 +25,14 @@ pygobject_dep = dependency('pygobject-3.0', fallback: ['pygobject', 'pygobject_d + pymod = import('python') + python = pymod.find_installation(get_option('python')) + python_dep = python.dependency(required : true) ++pythonver = python.language_version() ++ ++# Workaround for https://github.com/mesonbuild/meson/issues/5629 ++# https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28 ++python_dep = dependency('python-@0@-embed'.format(pythonver), version: '>=3', required: false) ++if not python_dep.found() ++ python_dep = python.dependency(required : true) ++endif + + python_abi_flags = python.get_variable('ABIFLAGS', '') + pylib_loc = get_option('libpython-dir') +-- +2.24.1 + diff --git a/package/gstreamer1/gst1-python/Config.in b/package/gstreamer1/gst1-python/Config.in new file mode 100644 index 0000000000..9149703354 --- /dev/null +++ b/package/gstreamer1/gst1-python/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_GST1_PYTHON + bool "gst1-python" + depends on BR2_USE_MMU # libglib2, gobject-introspection + depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS # gobject-introspection + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gobject-introspection + depends on BR2_TOOLCHAIN_USES_GLIBC # gobject-introspection + depends on BR2_PACKAGE_PYTHON3 # gobject-introspection + select BR2_PACKAGE_GOBJECT_INTROSPECTION + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_PYTHON_GOBJECT + help + GStreamer python overrides for the gobject-introspection-based + pygst bindings. + + https://gstreamer.freedesktop.org/modules/gst-python.html + +comment "gst1-python needs python3" + depends on !BR2_PACKAGE_PYTHON3 + +comment "gst1-python needs a glibc toolchain, gcc >= 4.9" + depends on BR2_USE_MMU + depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_USES_GLIBC || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/gstreamer1/gst1-python/gst1-python.hash b/package/gstreamer1/gst1-python/gst1-python.hash new file mode 100644 index 0000000000..1d3c687dd4 --- /dev/null +++ b/package/gstreamer1/gst1-python/gst1-python.hash @@ -0,0 +1,3 @@ +# From https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.16.2.tar.xz.sha256sum +sha256 208df3148d73d9f416d016564737585d8ea763d91201732d44b5fe688c6288a8 gst-python-1.16.2.tar.xz +sha256 ea3ad127610e5ded2210b3a86a46314f2b3b28e438eccffdae19a4d6fbcdb0c2 COPYING diff --git a/package/gstreamer1/gst1-python/gst1-python.mk b/package/gstreamer1/gst1-python/gst1-python.mk new file mode 100644 index 0000000000..122c3dd997 --- /dev/null +++ b/package/gstreamer1/gst1-python/gst1-python.mk @@ -0,0 +1,38 @@ +################################################################################ +# +# gst1-python +# +################################################################################ + +GST1_PYTHON_VERSION = 1.16.2 +GST1_PYTHON_SOURCE = gst-python-$(GST1_PYTHON_VERSION).tar.xz +GST1_PYTHON_SITE = https://gstreamer.freedesktop.org/src/gst-python +GST1_PYTHON_INSTALL_STAGING = YES +GST1_PYTHON_LICENSE_FILES = COPYING +GST1_PYTHON_LICENSE = LGPL-2.1+ + +GST1_PYTHON_DEPENDENCIES = \ + gstreamer1 \ + python-gobject + +# A sysconfigdata_name must be manually specified or the resulting .so +# will have a x86_64 prefix, which causes "from gi.repository import Gst" +# to fail. A pythonpath must be specified or the host python path will be +# used resulting in a "not a valid python" error. +GST1_PYTHON_CONF_ENV += \ + _PYTHON_SYSCONFIGDATA_NAME=$(PKG_PYTHON_SYSCONFIGDATA_NAME) \ + PYTHONPATH=$(PYTHON3_PATH) + +# Due to the CONF_ENV options, libpython-dir must be set manually +# or else the error: "Python dynamic library path could not be determined" +# occurs. We set the libpython-dir to /usr/lib as this path is hard-coded +# into the resulting .so file as /usr/lib/python3.$(PYTHON3_VERSION_MAJOR).so. +# Because we provide PYTHONPATH=$(PYTHON3_PATH) above, the logic in the meson +# file uses the above python path to determine if /usr/lib/ has the proper .so +# file. Because Buildroot provides the appropriate paths, the meson file finds +# the correct .so file, and the resulting compiled library has the appropriate +# path of /usr/lib/python3.$(PYTHON3_VERSION_MAJOR).so +GST1_PYTHON_CONF_OPTS += \ + -Dlibpython-dir=/usr/lib/ + +$(eval $(meson-package)) diff --git a/package/gstreamer1/gst1-rpicamsrc/0001-awb-greyworld.patch b/package/gstreamer1/gst1-rpicamsrc/0001-awb-greyworld.patch deleted file mode 100644 index c14cf5173d..0000000000 --- a/package/gstreamer1/gst1-rpicamsrc/0001-awb-greyworld.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/src/RaspiCamControl.c b/src/RaspiCamControl.c -index 1b3d059..291bc57 100644 ---- a/src/RaspiCamControl.c -+++ b/src/RaspiCamControl.c -@@ -76,7 +76,8 @@ static XREF_T awb_map[] = - {"fluorescent", MMAL_PARAM_AWBMODE_FLUORESCENT}, - {"incandescent", MMAL_PARAM_AWBMODE_INCANDESCENT}, - {"flash", MMAL_PARAM_AWBMODE_FLASH}, -- {"horizon", MMAL_PARAM_AWBMODE_HORIZON} -+ {"horizon", MMAL_PARAM_AWBMODE_HORIZON}, -+ {"greyworld", MMAL_PARAM_AWBMODE_GREYWORLD} - }; - - static const int awb_map_size = sizeof(awb_map) / sizeof(awb_map[0]); -@@ -1110,6 +1111,7 @@ int raspicamcontrol_set_exposure_mode(MMAL_COMPONENT_T *camera, MMAL_PARAM_EXPOS - * - MMAL_PARAM_AWBMODE_INCANDESCENT, - * - MMAL_PARAM_AWBMODE_FLASH, - * - MMAL_PARAM_AWBMODE_HORIZON, -+ * - MMAL_PARAM_AWBMODE_GREYWORLD, - * @return 0 if successful, non-zero if any parameters out of range - */ - int raspicamcontrol_set_awb_mode(MMAL_COMPONENT_T *camera, MMAL_PARAM_AWBMODE_T awb_mode) -diff --git a/src/RaspiCamControl.h b/src/RaspiCamControl.h -index 83e9edd..b51216d 100644 ---- a/src/RaspiCamControl.h -+++ b/src/RaspiCamControl.h -@@ -59,6 +59,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - MMAL_PARAM_AWBMODE_INCANDESCENT, - MMAL_PARAM_AWBMODE_FLASH, - MMAL_PARAM_AWBMODE_HORIZON, -+ MMAL_PARAM_AWBMODE_GREYWORLD, - * - * Image FX - MMAL_PARAM_IMAGEFX_NONE, -diff --git a/src/gstrpicam_types.h b/src/gstrpicam_types.h -index 5baa491..8ca7fce 100644 ---- a/src/gstrpicam_types.h -+++ b/src/gstrpicam_types.h -@@ -35,7 +35,8 @@ typedef enum { - GST_RPI_CAM_SRC_AWB_MODE_FLUORESCENT = MMAL_PARAM_AWBMODE_FLUORESCENT, - GST_RPI_CAM_SRC_AWB_MODE_INCANDESCENT = MMAL_PARAM_AWBMODE_INCANDESCENT, - GST_RPI_CAM_SRC_AWB_MODE_FLASH = MMAL_PARAM_AWBMODE_FLASH, -- GST_RPI_CAM_SRC_AWB_MODE_HORIZON = MMAL_PARAM_AWBMODE_HORIZON -+ GST_RPI_CAM_SRC_AWB_MODE_HORIZON = MMAL_PARAM_AWBMODE_HORIZON, -+ GST_RPI_CAM_SRC_AWB_MODE_GREYWORLD = MMAL_PARAM_AWBMODE_GREYWORLD - } GstRpiCamSrcAWBMode; - - typedef enum { - diff --git a/package/gstreamer1/gst1-rpicamsrc/Config.in b/package/gstreamer1/gst1-rpicamsrc/Config.in deleted file mode 100644 index f4d2e448e0..0000000000 --- a/package/gstreamer1/gst1-rpicamsrc/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_GST1_RPICAMSRC - bool "gst1-rpicamsrc" - depends on BR2_PACKAGE_HAS_LIBOPENMAX - select BR2_PACKAGE_GST1_PLUGINS_BASE - help - GStreamer element for the Raspberry Pi camera module - - https://github.com/thaytan/gst-rpicamsrc diff --git a/package/gstreamer1/gst1-rpicamsrc/gst1-rpicamsrc.hash b/package/gstreamer1/gst1-rpicamsrc/gst1-rpicamsrc.hash deleted file mode 100644 index 187cfe80e4..0000000000 --- a/package/gstreamer1/gst1-rpicamsrc/gst1-rpicamsrc.hash +++ /dev/null @@ -1 +0,0 @@ -sha256 af48febaba0cd7fef3ccb2014898af60da8867dc3889f664979f4e2963585b44 gst1-rpicamsrc-4ee114fbbf35d85169603aa37678642e9774152a.tar.gz diff --git a/package/gstreamer1/gst1-rpicamsrc/gst1-rpicamsrc.mk b/package/gstreamer1/gst1-rpicamsrc/gst1-rpicamsrc.mk deleted file mode 100644 index 674c809afe..0000000000 --- a/package/gstreamer1/gst1-rpicamsrc/gst1-rpicamsrc.mk +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# -# gst1-rpicamsrc -# -################################################################################ - -GST1_RPICAMSRC_VERSION = 4ee114fbbf35d85169603aa37678642e9774152a -GST1_RPICAMSRC_SITE = $(call github,thaytan,gst-rpicamsrc,$(GST1_RPICAMSRC_VERSION)) - -GST1_RPICAMSRC_LICENSE = LGPLv2.1 -GST1_RPICAMSRC_LICENSE_FILES = COPYING - -GST1_RPICAMSRC_POST_INSTALL_TARGET_HOOKS += GSTREAMER1_REMOVE_LA_FILES - -GST1_RPICAMSRC_DEPENDENCIES = gstreamer1 gst1-plugins-base gst1-plugins-bad libopenmax - -GST1_RPICAMSRC_AUTORECONF = YES - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL),y) -GST1_RPICAMSRC_DEPENDENCIES += gst1-plugins-bad -endif - -GST1_RPICAMSRC_CONF_OPTS = --with-rpi-header-dir=$(STAGING_DIR)/usr/include - -$(eval $(autotools-package)) diff --git a/package/gstreamer1/gst1-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch b/package/gstreamer1/gst1-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch new file mode 100644 index 0000000000..0adf6d4e47 --- /dev/null +++ b/package/gstreamer1/gst1-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch @@ -0,0 +1,36 @@ +From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001 +From: Tim Philipp +Date: Fri, 18 Oct 2019 00:42:12 +0100 +Subject: [PATCH] meson: build gir even when cross-compiling if introspection + was enabled explicitly + +This can be made to work in certain circumstances when +cross-compiling, so default to not building g-i stuff +when cross-compiling, but allow it if introspection was +enabled explicitly via -Dintrospection=enabled. + +See gstreamer/gstreamer#454 and gstreamer/gstreamer#381. + +Upstream commit: 95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47 +Signed-off-by: Tim Philipp +Signed-off-by: Adam Duskett +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index e1e3b1d..3f45f0e 100644 +--- a/meson.build ++++ b/meson.build +@@ -173,7 +173,7 @@ endif + + gir = find_program('g-ir-scanner', required : get_option('introspection')) + gnome = import('gnome') +-build_gir = gir.found() and not meson.is_cross_build() ++build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) + gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ + 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ + 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \ +-- +2.24.1 + diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash index fa6e71f49a..f3dca615cf 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash @@ -1,4 +1,4 @@ -# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.14.4.tar.xz.sha256sum -sha256 3d0ece2afdcd601c175ece24e32a30bc19247b454f4eafd3deeec2533c6884f1 gst-rtsp-server-1.14.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.16.2.tar.xz.sha256sum +sha256 de07a2837b3b04820ce68264a4909f70c221b85dbff0cede7926e9cdbb1dc26e gst-rtsp-server-1.16.2.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 a86b137ce2..13653565bd 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.4 +GST1_RTSP_SERVER_VERSION = 1.16.2 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+ @@ -16,6 +16,26 @@ GST1_RTSP_SERVER_DEPENDENCIES = \ gst1-plugins-base \ gst1-plugins-good +GST1_RTSP_SERVER_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) + +GST1_RTSP_SERVER_CONF_OPTS = \ + -Dexamples=disabled \ + -Dtests=disabled + +GST1_RTSP_SERVER_CONF_OPTS += \ + -Dexamples=disabled \ + -Dtests=disabled \ + -Dgobject-cast-checks=disabled \ + -Dglib-asserts=disabled \ + -Dglib-checks=disabled + +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +GST1_RTSP_SERVER_CONF_OPTS += -Dintrospection=enabled +GST1_RTSP_SERVER_DEPENDENCIES += gobject-introspection +else +GST1_RTSP_SERVER_CONF_OPTS += -Dintrospection=disabled +endif + ifeq ($(BR2_PACKAGE_LIBCGROUP),y) GST1_RTSP_SERVER_DEPENDENCIES += libcgroup endif @@ -24,4 +44,4 @@ ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD),y) GST1_RTSP_SERVER_DEPENDENCIES += gst1-plugins-bad endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/gstreamer1/gst1-shark/gst1-shark.hash b/package/gstreamer1/gst1-shark/gst1-shark.hash index fdcbc563a8..6bf4739abc 100644 --- a/package/gstreamer1/gst1-shark/gst1-shark.hash +++ b/package/gstreamer1/gst1-shark/gst1-shark.hash @@ -1,5 +1,5 @@ # locally computed hash -sha256 35c56b89c10f42c623f5831f9533e1b9dcab8946eff0e4000bf3137bad5c705a gst1-shark-v0.5.5.tar.gz +sha256 3c1f865533750f9fe511336e673e89bc93ac05e896bd3f4fc68d3cc0c142a861 gst1-shark-v0.6.1.tar.gz # Hashes for license files: sha256 6d191b8f1fa03cabced18b8e48fddbf960a19f965bed8491e76ed62238f92f0b COPYING diff --git a/package/gstreamer1/gst1-shark/gst1-shark.mk b/package/gstreamer1/gst1-shark/gst1-shark.mk index 1e198f0cdd..6dc702b482 100644 --- a/package/gstreamer1/gst1-shark/gst1-shark.mk +++ b/package/gstreamer1/gst1-shark/gst1-shark.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_SHARK_VERSION = v0.5.5 +GST1_SHARK_VERSION = v0.6.1 GST1_SHARK_SITE = https://github.com/RidgeRun/gst-shark.git GST1_SHARK_SITE_METHOD = git GST1_SHARK_GIT_SUBMODULES = YES diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash index f00cdc0ff4..f9bec2483a 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.4.tar.xz.sha256sum -sha256 ce18dbfe961c6a8d31270231686075586bf7a7df62b778c8e7f5ec148251d0a3 gstreamer-vaapi-1.14.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.16.2.tar.xz.sha256sum +sha256 191de7b0ab64a85dd0875c990721e7be95518f60e2a9106beca162004ed7c601 gstreamer-vaapi-1.16.2.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 4f2ac598e3..00a6ec5e0e 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.4 +GST1_VAAPI_VERSION = 1.16.2 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/Config.in b/package/gstreamer1/gst1-validate/Config.in index 2022d38d99..63bce613ed 100644 --- a/package/gstreamer1/gst1-validate/Config.in +++ b/package/gstreamer1/gst1-validate/Config.in @@ -1,9 +1,10 @@ config BR2_PACKAGE_GST1_VALIDATE bool "gst1-validate" - depends on BR2_PACKAGE_PYTHON + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_GST1_PLUGINS_BASE select BR2_PACKAGE_JSON_GLIB - select BR2_PACKAGE_PYTHON_PYEXPAT + select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # cairo is autodetected but needs PNG support select BR2_PACKAGE_CAIRO_PNG if BR2_PACKAGE_CAIRO help @@ -15,3 +16,4 @@ config BR2_PACKAGE_GST1_VALIDATE comment "gst1-validate depends on python" depends on !BR2_PACKAGE_PYTHON + depends on !BR2_PACKAGE_PYTHON3 diff --git a/package/gstreamer1/gst1-validate/gst1-validate.hash b/package/gstreamer1/gst1-validate/gst1-validate.hash index 87bb294629..9a0fbf66a0 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.4.tar.xz.sha256sum -sha256 18dccca94bdc0bab3cddb07817bd280df7ab4abbec9a83b92620367a22d955c7 gst-validate-1.14.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.16.2.tar.xz.sha256sum +sha256 4861ccb9326200e74d98007e316b387d48dd49f072e0b78cb9d3303fdecfeeca gst-validate-1.16.2.tar.xz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/gstreamer1/gst1-validate/gst1-validate.mk b/package/gstreamer1/gst1-validate/gst1-validate.mk index 0f3d251782..38b50b6736 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.4 +GST1_VALIDATE_VERSION = 1.16.2 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+ @@ -14,10 +14,16 @@ GST1_VALIDATE_DEPENDENCIES = \ gstreamer1 \ gst1-plugins-base \ json-glib \ - host-python \ - python \ $(if $(BR2_PACKAGE_CAIRO),cairo) -GST1_VALIDATE_CONF_OPTS += --disable-sphinx-doc +ifeq ($(BR2_PACKAGE_PYTHON3),y) +GST1_VALIDATE_DEPENDENCIES += host-python3 python3 +else +GST1_VALIDATE_DEPENDENCIES += host-python python +endif + +GST1_VALIDATE_CONF_OPTS = \ + --disable-introspection \ + --disable-sphinx-doc $(eval $(autotools-package)) 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 deleted file mode 100644 index 5a074941fd..0000000000 --- a/package/gstreamer1/gstreamer1-editing-services/0001-examples-ges-ui-fix-some-gtk2-ism.patch +++ /dev/null @@ -1,66 +0,0 @@ -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 a388a097dd..8724f39498 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.4.tar.xz.sha256sum -sha256 53d1d25b356009505ae0d22c218d6c6b1215399d9f6e3fe5d7b88e156531b35f gstreamer-editing-services-1.14.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-editing-services/gstreamer-editing-services-1.16.2.tar.xz.sha256sum +sha256 0e06a6191a0c6c16e16272bf2573cecaeb245f10629486ad940a299bef700c16 gstreamer-editing-services-1.16.2.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 74a36824ed..e2bb747d0a 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.4 +GSTREAMER1_EDITING_SERVICES_VERSION = 1.16.2 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 deleted file mode 100644 index 689346a3e8..0000000000 --- a/package/gstreamer1/gstreamer1/0001-gstconfig.h.in-initial-RISC-V-support.patch +++ /dev/null @@ -1,34 +0,0 @@ -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/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch b/package/gstreamer1/gstreamer1/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch new file mode 100644 index 0000000000..fc290f6cc0 --- /dev/null +++ b/package/gstreamer1/gstreamer1/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch @@ -0,0 +1,36 @@ +From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001 +From: Tim Philipp +Date: Thu, 17 Oct 2019 12:13:35 +0100 +Subject: [PATCH] meson: build gir even when cross-compiling if introspection + was enabled explicitly + +This can be made to work in certain circumstances when +cross-compiling, so default to not building g-i stuff +when cross-compiling, but allow it if introspection was +enabled explicitly via -Dintrospection=enabled. + +Fixes #454 and #381. + +Upstream commit: 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 +Signed-off-by: Tim Philipp +Signed-off-by: Adam Duskett +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 90d98d8eb00..a47e7f34e8a 100644 +--- a/meson.build ++++ b/meson.build +@@ -453,7 +453,7 @@ rt_lib = cc.find_library('rt', required : false) + gir = find_program('g-ir-scanner', required : get_option('introspection')) + gnome = import('gnome') + +-build_gir = gir.found() and not meson.is_cross_build() ++build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) + + gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ + 'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \ +-- +2.24.1 + diff --git a/package/gstreamer1/gstreamer1/Config.in b/package/gstreamer1/gstreamer1/Config.in index e9f1bd038a..0626bcc96d 100644 --- a/package/gstreamer1/gstreamer1/Config.in +++ b/package/gstreamer1/gstreamer1/Config.in @@ -51,10 +51,11 @@ config BR2_PACKAGE_GSTREAMER1_PLUGIN_REGISTRY increase the launch-time for a GStreamer application. config BR2_PACKAGE_GSTREAMER1_INSTALL_TOOLS - bool "install gst-launch & gst-inspect" + bool "install tools" default y help - Install the gst-launch and gst-inspect tools. This will take - up additional space on the target. + Install the gst-inspect, gst-launch, gst-stats and + gst-typefind tools. This will take up additional space on + the target. endif diff --git a/package/gstreamer1/gstreamer1/gstreamer1.hash b/package/gstreamer1/gstreamer1/gstreamer1.hash index 204bb74fd3..dd379e6027 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.4.tar.xz.sha256sum -sha256 f94f6696c5f05a3b3a9183e39c5f5c0b779f75a04c0efa497e7920afa985ffc7 gstreamer-1.14.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.16.2.tar.xz.sha256sum +sha256 e3f044246783fd685439647373fa13ba14f7ab0b346eadd06437092f8419e94e gstreamer-1.16.2.tar.xz sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index 76a74a0806..47615aad1f 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.14.4 +GSTREAMER1_VERSION = 1.16.2 GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = https://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES @@ -12,24 +12,36 @@ GSTREAMER1_LICENSE_FILES = COPYING GSTREAMER1_LICENSE = LGPL-2.0+, LGPL-2.1+ GSTREAMER1_CONF_OPTS = \ - --disable-examples \ - --disable-tests \ - --disable-failing-tests \ - --disable-valgrind \ - --disable-benchmarks \ - --disable-introspection \ - $(if $(BR2_PACKAGE_GSTREAMER1_CHECK),,--disable-check) \ - $(if $(BR2_PACKAGE_GSTREAMER1_TRACE),,--disable-trace) \ - $(if $(BR2_PACKAGE_GSTREAMER1_PARSE),,--disable-parse) \ - $(if $(BR2_PACKAGE_GSTREAMER1_GST_DEBUG),,--disable-gst-debug) \ - $(if $(BR2_PACKAGE_GSTREAMER1_PLUGIN_REGISTRY),,--disable-registry) \ - $(if $(BR2_PACKAGE_GSTREAMER1_INSTALL_TOOLS),,--disable-tools) + -Dexamples=disabled \ + -Dtests=disabled \ + -Dbenchmarks=disabled \ + -Dgtk_doc=disabled \ + -Dglib-asserts=disabled \ + -Dglib-checks=disabled \ + -Dgobject-cast-checks=disabled \ + -Dcheck=$(if $(BR2_PACKAGE_GSTREAMER1_CHECK),enabled,disabled) \ + -Dtracer_hooks=$(if $(BR2_PACKAGE_GSTREAMER1_TRACE),true,false) \ + -Doption-parsing=$(if $(BR2_PACKAGE_GSTREAMER1_PARSE),true,false) \ + -Dgst_debug=$(if $(BR2_PACKAGE_GSTREAMER1_GST_DEBUG),true,false) \ + -Dregistry=$(if $(BR2_PACKAGE_GSTREAMER1_PLUGIN_REGISTRY),true,false) \ + -Dtools=$(if $(BR2_PACKAGE_GSTREAMER1_INSTALL_TOOLS),enabled,disabled) GSTREAMER1_DEPENDENCIES = \ host-bison \ host-flex \ host-pkgconf \ libglib2 \ - $(if $(BR2_PACKAGE_LIBUNWIND),libunwind) + $(if $(BR2_PACKAGE_LIBUNWIND),libunwind) \ + $(if $(BR2_PACKAGE_VALGRIND),valgrind) \ + $(TARGET_NLS_DEPENDENCIES) -$(eval $(autotools-package)) +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +GSTREAMER1_CONF_OPTS += -Dintrospection=enabled +GSTREAMER1_DEPENDENCIES += gobject-introspection +else +GSTREAMER1_CONF_OPTS += -Dintrospection=disabled +endif + +GSTREAMER1_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) + +$(eval $(meson-package)) diff --git a/package/gtest/gmock.pc b/package/gtest/gmock.pc deleted file mode 100644 index 4c723542af..0000000000 --- a/package/gtest/gmock.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${prefix}/lib/ -includedir=${prefix}/include - -Name: gmock -Description: Google C++ Mocking Framework -Version: 1.8.0 -Libs: -L${libdir} -lgmock -Libs.private: -lpthread -Cflags: -I${includedir} diff --git a/package/gtest/gtest.hash b/package/gtest/gtest.hash index 0a8d8ba096..082c597780 100644 --- a/package/gtest/gtest.hash +++ b/package/gtest/gtest.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 58a6f4277ca2bc8565222b3bbd58a177609e9c488e8a72649359ba51450db7d8 gtest-release-1.8.0.tar.gz +sha256 9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb gtest-1.10.0.tar.gz sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 googletest/LICENSE diff --git a/package/gtest/gtest.mk b/package/gtest/gtest.mk index b62ceb3270..7f967b8bfb 100644 --- a/package/gtest/gtest.mk +++ b/package/gtest/gtest.mk @@ -4,8 +4,8 @@ # ################################################################################ -GTEST_VERSION = release-1.8.0 -GTEST_SITE = $(call github,google,googletest,$(GTEST_VERSION)) +GTEST_VERSION = 1.10.0 +GTEST_SITE = $(call github,google,googletest,release-$(GTEST_VERSION)) GTEST_INSTALL_STAGING = YES GTEST_INSTALL_TARGET = NO GTEST_LICENSE = BSD-3-Clause @@ -46,17 +46,9 @@ endif GTEST_CONF_OPTS += -DBUILD_GTEST=ON -ifeq ($(BR2_PACKAGE_GTEST_GMOCK),y) -GTEST_CONF_OPTS += -DBUILD_GMOCK=ON -else -GTEST_CONF_OPTS += -DBUILD_GMOCK=OFF -endif - -define GTEST_INSTALL_MISSING_FILES - $(INSTALL) -D -m 0644 package/gtest/gtest.pc \ - $(STAGING_DIR)/usr/lib/pkgconfig/gtest.pc - # Generate the gtest-config script manually, since the CMake - # build system is not doing it. +# Generate the gtest-config script manually, since the CMake build system is +# not doing it. +define GTEST_INSTALL_GTEST_CONFIG sed 's%@PACKAGE_TARNAME@%gtest%;\ s%@PACKAGE_VERSION@%$(GTEST_VERSION)%;\ s%@prefix@%$(STAGING_DIR)/usr%;\ @@ -70,16 +62,30 @@ define GTEST_INSTALL_MISSING_FILES > $(STAGING_DIR)/usr/bin/gtest-config chmod +x $(STAGING_DIR)/usr/bin/gtest-config endef - -GTEST_POST_INSTALL_STAGING_HOOKS = GTEST_INSTALL_MISSING_FILES +GTEST_POST_INSTALL_STAGING_HOOKS = GTEST_INSTALL_GTEST_CONFIG ifeq ($(BR2_PACKAGE_GTEST_GMOCK),y) -define GTEST_GMOCK_INSTALL_MISSING_FILE - $(INSTALL) -D -m 0644 package/gtest/gmock.pc \ - $(STAGING_DIR)/usr/lib/pkgconfig/gmock.pc -endef +GTEST_CONF_OPTS += -DBUILD_GMOCK=ON -GTEST_POST_INSTALL_STAGING_HOOKS += GTEST_GMOCK_INSTALL_MISSING_FILE +# Generate the gmock-config script manually, since the CMake build system is +# not doing it. +define GTEST_INSTALL_GMOCK_CONFIG + sed 's%@PACKAGE_TARNAME@%gmock%;\ + s%@PACKAGE_VERSION@%$(GTEST_VERSION)%;\ + s%@prefix@%$(STAGING_DIR)/usr%;\ + s%@exec_prefix@%$(STAGING_DIR)/usr%;\ + s%@libdir@%$(STAGING_DIR)/usr/lib%;\ + s%@includedir@%$(STAGING_DIR)/usr/include%;\ + s%@bindir@%$(STAGING_DIR)/usr/bin%;\ + s%@PTHREAD_CFLAGS@%%;\ + s%@PTHREAD_LIBS@%-lpthread%;' \ + $(@D)/googlemock/scripts/gmock-config.in \ + > $(STAGING_DIR)/usr/bin/gmock-config + chmod +x $(STAGING_DIR)/usr/bin/gmock-config +endef +GTEST_POST_INSTALL_STAGING_HOOKS += GTEST_INSTALL_GMOCK_CONFIG +else +GTEST_CONF_OPTS += -DBUILD_GMOCK=OFF endif define HOST_GTEST_INSTALL_CMDS diff --git a/package/gtest/gtest.pc b/package/gtest/gtest.pc deleted file mode 100644 index 594e79d7c5..0000000000 --- a/package/gtest/gtest.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${prefix}/lib/ -includedir=${prefix}/include - -Name: gtest -Description: Google C++ Testing Framework -Version: 1.8.0 -Libs: -L${libdir} -lgtest -Libs.private: -lpthread -Cflags: -I${includedir} diff --git a/package/gtk2-engines/gtk2-engines.hash b/package/gtk2-engines/gtk2-engines.hash index ac56c7d73e..20125c706c 100644 --- a/package/gtk2-engines/gtk2-engines.hash +++ b/package/gtk2-engines/gtk2-engines.hash @@ -1,2 +1,4 @@ # From http://ftp.gnome.org/pub/gnome/sources/gtk-engines/2.20/gtk-engines-2.20.2.sha256sum -sha256 15b680abca6c773ecb85253521fa100dd3b8549befeecc7595b10209d62d66b5 gtk-engines-2.20.2.tar.bz2 +sha256 15b680abca6c773ecb85253521fa100dd3b8549befeecc7595b10209d62d66b5 gtk-engines-2.20.2.tar.bz2 +# Locally computed +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING diff --git a/package/gtkmm3/gtkmm3.hash b/package/gtkmm3/gtkmm3.hash index 951b481f2c..87c59b2cab 100644 --- a/package/gtkmm3/gtkmm3.hash +++ b/package/gtkmm3/gtkmm3.hash @@ -1,2 +1,5 @@ # From http://ftp.gnome.org/pub/GNOME/sources/gtkmm/3.22/gtkmm-3.22.0.sha256sum sha256 05da4d4b628fb20c8384630ddf478a3b5562952b2d6181fe28d58f6cbc0514f5 gtkmm-3.22.0.tar.xz +# Locally computed +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.tools diff --git a/package/gtkperf/Config.in b/package/gtkperf/Config.in index 78c35e72e7..a763e305c7 100644 --- a/package/gtkperf/Config.in +++ b/package/gtkperf/Config.in @@ -7,3 +7,5 @@ config BR2_PACKAGE_GTKPERF predefined GTK+ widgets e.g. (opening comboboxes, toggling buttons, scrolling text yms.) and this way define the speed of device/platform. + + http://gtkperf.sourceforge.net/ diff --git a/package/gtkperf/gtkperf.hash b/package/gtkperf/gtkperf.hash index 819851dd09..72f35a26f2 100644 --- a/package/gtkperf/gtkperf.hash +++ b/package/gtkperf/gtkperf.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 9704344e732038eecbd007dd996a56293a6b027b5b76f3f036273a3fae1ab27b gtkperf_0.40.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/gtkperf/gtkperf.mk b/package/gtkperf/gtkperf.mk index 1d1230f1ed..cc0433984c 100644 --- a/package/gtkperf/gtkperf.mk +++ b/package/gtkperf/gtkperf.mk @@ -7,8 +7,9 @@ GTKPERF_VERSION = 0.40 GTKPERF_SOURCE = gtkperf_$(GTKPERF_VERSION).tar.gz GTKPERF_SITE = http://downloads.sourceforge.net/project/gtkperf/gtkperf/$(GTKPERF_VERSION) -GTKPERF_DEPENDENCIES = libgtk2 +GTKPERF_DEPENDENCIES = libgtk2 $(TARGET_NLS_DEPENDENCIES) GTKPERF_LICENSE = GPL-2.0 GTKPERF_LICENSE_FILES = COPYING +GTKPERF_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) $(eval $(autotools-package)) diff --git a/package/guile/0004-Makefile.am-fix-build-without-makeinfo.patch b/package/guile/0004-Makefile.am-fix-build-without-makeinfo.patch new file mode 100644 index 0000000000..0d16f92387 --- /dev/null +++ b/package/guile/0004-Makefile.am-fix-build-without-makeinfo.patch @@ -0,0 +1,51 @@ +From 9304ad88a5f4b083d348563c5de00da53b34cf46 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 6 Mar 2020 23:20:39 +0100 +Subject: [PATCH] Makefile.am: fix build without makeinfo + +Don't build doc subdir if makeinfo is not available otherwise build +fails on: + +make[4]: Entering directory '/nvmedata/autobuild/instance-7/output-1/build/host-guile-2.0.14/doc/ref' + MAKEINFO guile.info +/nvmedata/autobuild/instance-7/output-1/build/host-guile-2.0.14/build-aux/missing: line 81: makeinfo: command not found +WARNING: 'makeinfo' is missing on your system. + You should only need it if you modified a '.texi' file, or + any other file indirectly affecting the aspect of the manual. + You might want to install the Texinfo package: + + The spurious makeinfo call might also be the consequence of + using a buggy 'make' (AIX, DU, IRIX), in which case you might + want to install GNU make: + + +Fixes: + - http://autobuild.buildroot.org/results/9605aac6f760bfff190d0ab95fa50f65486ffe90 + +Signed-off-by: Fabrice Fontaine +[Upstream status: sent to bug-guile@gnu.org] +--- + Makefile.am | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index ebbf6d476..2270afb9f 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -38,8 +38,12 @@ SUBDIRS = \ + test-suite \ + benchmark-suite \ + gc-benchmarks \ +- am \ ++ am ++ ++if HAVE_MAKEINFO ++SUBDIRS += \ + doc ++endif + + DIST_SUBDIRS = $(SUBDIRS) prebuilt + +-- +2.25.0 + diff --git a/package/guile/guile.hash b/package/guile/guile.hash index 63651cf740..47ac009757 100644 --- a/package/guile/guile.hash +++ b/package/guile/guile.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature -sha256 e8442566256e1be14e51fc18839cd799b966bc5b16c6a1d7a7c35155a8619d82 guile-2.0.14.tar.xz +sha256 e8442566256e1be14e51fc18839cd799b966bc5b16c6a1d7a7c35155a8619d82 guile-2.0.14.tar.xz +# Locally computed +sha256 b51c6f20e6d029cb5b3e5bf235ac562c9a188c5bdc4ffcdc663897772d6e0260 LICENSE +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 9ccf26cfe845e0eb8bb58053e47366e7ab6b697ae010f7650978d4b71b7d1fc1 COPYING.LESSER diff --git a/package/guile/guile.mk b/package/guile/guile.mk index f53ebdd5cb..4992861071 100644 --- a/package/guile/guile.mk +++ b/package/guile/guile.mk @@ -8,7 +8,8 @@ GUILE_VERSION = 2.0.14 GUILE_SOURCE = guile-$(GUILE_VERSION).tar.xz GUILE_SITE = $(BR2_GNU_MIRROR)/guile GUILE_INSTALL_STAGING = YES -# For 0002-calculate-csqrt_manually.patch +# For 0002-calculate-csqrt_manually.patch and +# 0004-Makefile.am-fix-build-without-makeinfo.patch GUILE_AUTORECONF = YES GUILE_LICENSE = LGPL-3.0+ GUILE_LICENSE_FILES = LICENSE COPYING COPYING.LESSER diff --git a/package/gupnp-av/0001-Fix-static-library-linking-with-gupnp.patch b/package/gupnp-av/0001-Fix-static-library-linking-with-gupnp.patch deleted file mode 100644 index eba99da45b..0000000000 --- a/package/gupnp-av/0001-Fix-static-library-linking-with-gupnp.patch +++ /dev/null @@ -1,354 +0,0 @@ -From 268ec01e448ed7cedf90b37fbc27f01806637825 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 30 Oct 2017 22:10:23 +0100 -Subject: [PATCH 1/1] Fix static library linking with gupnp - -gupnp and gupnp-av defines two internal functions with the same name: -xml_util_get_element and xml_util_get_child_element_content, as a result -an application such as rygel can't be build statically. -To fix this issue, rename both functions as -xml_util_get_element2 and xml_util_get_child_element_content2 - -Signed-off-by: Fabrice Fontaine ---- - libgupnp-av/gupnp-cds-last-change-parser.c | 2 +- - libgupnp-av/gupnp-didl-lite-container.c | 4 ++-- - libgupnp-av/gupnp-didl-lite-item.c | 2 +- - libgupnp-av/gupnp-didl-lite-object.c | 26 +++++++++++++------------- - libgupnp-av/gupnp-didl-lite-parser.c | 4 ++-- - libgupnp-av/gupnp-didl-lite-writer.c | 2 +- - libgupnp-av/gupnp-feature-list-parser.c | 2 +- - libgupnp-av/gupnp-last-change-parser.c | 2 +- - libgupnp-av/xml-util.c | 16 ++++++++-------- - libgupnp-av/xml-util.h | 4 ++-- - 10 files changed, 32 insertions(+), 32 deletions(-) - -diff --git a/libgupnp-av/gupnp-cds-last-change-parser.c b/libgupnp-av/gupnp-cds-last-change-parser.c -index cff5f0b..36f6b0a 100644 ---- a/libgupnp-av/gupnp-cds-last-change-parser.c -+++ b/libgupnp-av/gupnp-cds-last-change-parser.c -@@ -119,7 +119,7 @@ gupnp_cds_last_change_parser_parse (GUPnPCDSLastChangeParser *parser, - goto out; - } - -- state_event = xml_util_get_element ((xmlNode *) doc, -+ state_event = xml_util_get_element2 ((xmlNode *) doc, - "StateEvent", - NULL); - if (state_event == NULL) { -diff --git a/libgupnp-av/gupnp-didl-lite-container.c b/libgupnp-av/gupnp-didl-lite-container.c -index d7ac578..c0e7395 100644 ---- a/libgupnp-av/gupnp-didl-lite-container.c -+++ b/libgupnp-av/gupnp-didl-lite-container.c -@@ -340,7 +340,7 @@ gupnp_didl_lite_container_container_update_id_is_set - - xml_node = gupnp_didl_lite_object_get_xml_node - (GUPNP_DIDL_LITE_OBJECT (container)); -- content = xml_util_get_child_element_content (xml_node, -+ content = xml_util_get_child_element_content2 (xml_node, - "containerUpdateID"); - return content != NULL; - } -@@ -390,7 +390,7 @@ gupnp_didl_lite_container_total_deleted_child_count_is_set - - xml_node = gupnp_didl_lite_object_get_xml_node - (GUPNP_DIDL_LITE_OBJECT (container)); -- content = xml_util_get_child_element_content (xml_node, -+ content = xml_util_get_child_element_content2 (xml_node, - "totalDeletedChildCount"); - return content != NULL; - } -diff --git a/libgupnp-av/gupnp-didl-lite-item.c b/libgupnp-av/gupnp-didl-lite-item.c -index 3588052..3d6d4d0 100644 ---- a/libgupnp-av/gupnp-didl-lite-item.c -+++ b/libgupnp-av/gupnp-didl-lite-item.c -@@ -254,7 +254,7 @@ gupnp_didl_lite_item_get_lifetime (GUPnPDIDLLiteItem *item) - object = GUPNP_DIDL_LITE_OBJECT (item); - node = gupnp_didl_lite_object_get_xml_node (object); - -- lifetime_str = xml_util_get_child_element_content (node, "lifetime"); -+ lifetime_str = xml_util_get_child_element_content2 (node, "lifetime"); - lifetime = seconds_from_time (lifetime_str); - - return lifetime; -diff --git a/libgupnp-av/gupnp-didl-lite-object.c b/libgupnp-av/gupnp-didl-lite-object.c -index 68156dc..cab2359 100644 ---- a/libgupnp-av/gupnp-didl-lite-object.c -+++ b/libgupnp-av/gupnp-didl-lite-object.c -@@ -1065,7 +1065,7 @@ gupnp_didl_lite_object_get_upnp_class (GUPnPDIDLLiteObject *object) - { - g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), NULL); - -- return xml_util_get_child_element_content (object->priv->xml_node, -+ return xml_util_get_child_element_content2 (object->priv->xml_node, - "class"); - } - -@@ -1211,7 +1211,7 @@ gupnp_didl_lite_object_get_title (GUPnPDIDLLiteObject *object) - { - g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), NULL); - -- return xml_util_get_child_element_content (object->priv->xml_node, -+ return xml_util_get_child_element_content2 (object->priv->xml_node, - "title"); - } - -@@ -1228,7 +1228,7 @@ gupnp_didl_lite_object_get_creator (GUPnPDIDLLiteObject *object) - { - g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), NULL); - -- return xml_util_get_child_element_content (object->priv->xml_node, -+ return xml_util_get_child_element_content2 (object->priv->xml_node, - "creator"); - } - -@@ -1266,7 +1266,7 @@ gupnp_didl_lite_object_get_artist (GUPnPDIDLLiteObject *object) - { - g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), NULL); - -- return xml_util_get_child_element_content (object->priv->xml_node, -+ return xml_util_get_child_element_content2 (object->priv->xml_node, - "artist"); - } - -@@ -1303,7 +1303,7 @@ gupnp_didl_lite_object_get_author (GUPnPDIDLLiteObject *object) - { - g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), NULL); - -- return xml_util_get_child_element_content (object->priv->xml_node, -+ return xml_util_get_child_element_content2 (object->priv->xml_node, - "author"); - } - -@@ -1377,7 +1377,7 @@ gupnp_didl_lite_object_get_genre (GUPnPDIDLLiteObject *object) - { - g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), NULL); - -- return xml_util_get_child_element_content (object->priv->xml_node, -+ return xml_util_get_child_element_content2 (object->priv->xml_node, - "genre"); - } - -@@ -1394,7 +1394,7 @@ gupnp_didl_lite_object_get_write_status (GUPnPDIDLLiteObject *object) - { - g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), NULL); - -- return xml_util_get_child_element_content (object->priv->xml_node, -+ return xml_util_get_child_element_content2 (object->priv->xml_node, - "writeStatus"); - } - -@@ -1411,7 +1411,7 @@ gupnp_didl_lite_object_get_album (GUPnPDIDLLiteObject *object) - { - g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), NULL); - -- return xml_util_get_child_element_content (object->priv->xml_node, -+ return xml_util_get_child_element_content2 (object->priv->xml_node, - "album"); - } - -@@ -1428,7 +1428,7 @@ gupnp_didl_lite_object_get_album_art (GUPnPDIDLLiteObject *object) - { - g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), NULL); - -- return xml_util_get_child_element_content (object->priv->xml_node, -+ return xml_util_get_child_element_content2 (object->priv->xml_node, - "albumArtURI"); - } - -@@ -1445,7 +1445,7 @@ gupnp_didl_lite_object_get_description (GUPnPDIDLLiteObject *object) - { - g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), NULL); - -- return xml_util_get_child_element_content (object->priv->xml_node, -+ return xml_util_get_child_element_content2 (object->priv->xml_node, - "description"); - } - -@@ -1462,7 +1462,7 @@ gupnp_didl_lite_object_get_date (GUPnPDIDLLiteObject *object) - { - g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), NULL); - -- return xml_util_get_child_element_content (object->priv->xml_node, -+ return xml_util_get_child_element_content2 (object->priv->xml_node, - "date"); - } - -@@ -1481,7 +1481,7 @@ gupnp_didl_lite_object_get_track_number (GUPnPDIDLLiteObject *object) - - g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), -1); - -- str = xml_util_get_child_element_content (object->priv->xml_node, -+ str = xml_util_get_child_element_content2 (object->priv->xml_node, - "originalTrackNumber"); - if (str == NULL) - return -1; -@@ -1552,7 +1552,7 @@ gupnp_didl_lite_object_update_id_is_set (GUPnPDIDLLiteObject *object) - g_return_val_if_fail (object != NULL, FALSE); - g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), FALSE); - -- content = xml_util_get_child_element_content (object->priv->xml_node, -+ content = xml_util_get_child_element_content2 (object->priv->xml_node, - "objectUpdateID"); - return content != NULL; - } -diff --git a/libgupnp-av/gupnp-didl-lite-parser.c b/libgupnp-av/gupnp-didl-lite-parser.c -index 59255ef..93d03c0 100644 ---- a/libgupnp-av/gupnp-didl-lite-parser.c -+++ b/libgupnp-av/gupnp-didl-lite-parser.c -@@ -52,7 +52,7 @@ verify_didl_attributes (xmlNode *node) - { - const char *content; - -- content = xml_util_get_child_element_content (node, "date"); -+ content = xml_util_get_child_element_content2 (node, "date"); - if (content) { - /* try to roughly verify the passed date with ^\d{4}-\d{2}-\d{2} */ - char *ptr = (char *) content; -@@ -251,7 +251,7 @@ gupnp_didl_lite_parser_parse_didl_recursive (GUPnPDIDLLiteParser *parser, - } - - /* Get a pointer to root element */ -- element = xml_util_get_element ((xmlNode *) doc, -+ element = xml_util_get_element2 ((xmlNode *) doc, - "DIDL-Lite", - NULL); - if (element == NULL) { -diff --git a/libgupnp-av/gupnp-didl-lite-writer.c b/libgupnp-av/gupnp-didl-lite-writer.c -index fb37c0b..e61739a 100644 ---- a/libgupnp-av/gupnp-didl-lite-writer.c -+++ b/libgupnp-av/gupnp-didl-lite-writer.c -@@ -223,7 +223,7 @@ filter_node (xmlNode *node, - - if (strcmp ((const char *) node->name, "container") == 0) { - is_container = TRUE; -- container_class = xml_util_get_child_element_content (node, -+ container_class = xml_util_get_child_element_content2 (node, - "class"); - } - -diff --git a/libgupnp-av/gupnp-feature-list-parser.c b/libgupnp-av/gupnp-feature-list-parser.c -index 85fb232..dcaad6b 100644 ---- a/libgupnp-av/gupnp-feature-list-parser.c -+++ b/libgupnp-av/gupnp-feature-list-parser.c -@@ -138,7 +138,7 @@ gupnp_feature_list_parser_parse_text - } - - /* Get a pointer to root element */ -- element = xml_util_get_element ((xmlNode *) doc, "Features", NULL); -+ element = xml_util_get_element2 ((xmlNode *) doc, "Features", NULL); - if (element == NULL) { - g_set_error (error, - G_MARKUP_ERROR, -diff --git a/libgupnp-av/gupnp-last-change-parser.c b/libgupnp-av/gupnp-last-change-parser.c -index a98aecf..7078713 100644 ---- a/libgupnp-av/gupnp-last-change-parser.c -+++ b/libgupnp-av/gupnp-last-change-parser.c -@@ -75,7 +75,7 @@ read_state_variable (const char *variable_name, - xmlNode *variable_node; - const char *val_str; - -- variable_node = xml_util_get_element (instance_node, -+ variable_node = xml_util_get_element2 (instance_node, - variable_name, - NULL); - if (!variable_node) -diff --git a/libgupnp-av/xml-util.c b/libgupnp-av/xml-util.c -index da718b2..8c937e0 100644 ---- a/libgupnp-av/xml-util.c -+++ b/libgupnp-av/xml-util.c -@@ -81,7 +81,7 @@ xml_doc_unref (GUPnPAVXMLDoc *doc) - } - - xmlNode * --xml_util_get_element (xmlNode *node, -+xml_util_get_element2 (xmlNode *node, - ...) - { - va_list var_args; -@@ -130,13 +130,13 @@ xml_util_get_child_elements_by_name (xmlNode *node, const char *name) - } - - const char * --xml_util_get_child_element_content (xmlNode *node, -+xml_util_get_child_element_content2 (xmlNode *node, - const char *child_name) - { - xmlNode *child_node; - const char *content; - -- child_node = xml_util_get_element (node, child_name, NULL); -+ child_node = xml_util_get_element2 (node, child_name, NULL); - if (!child_node || !(child_node->children)) - return NULL; - -@@ -154,7 +154,7 @@ xml_util_get_uint_child_element (xmlNode *node, - { - const char *content; - -- content = xml_util_get_child_element_content (node, child_name); -+ content = xml_util_get_child_element_content2 (node, child_name); - if (!content) - return default_value; - -@@ -168,7 +168,7 @@ xml_util_get_uint64_child_element (xmlNode *node, - { - const char *content; - -- content = xml_util_get_child_element_content (node, child_name); -+ content = xml_util_get_child_element_content2 (node, child_name); - if (!content) - return default_value; - -@@ -281,7 +281,7 @@ xml_util_set_child (xmlNode *parent_node, - xmlNode *node; - xmlChar *escaped; - -- node = xml_util_get_element (parent_node, name, NULL); -+ node = xml_util_get_element2 (parent_node, name, NULL); - if (node == NULL) { - xmlNsPtr ns_ptr = NULL; - -@@ -305,7 +305,7 @@ xml_util_unset_child (xmlNode *parent_node, - { - xmlNode *node; - -- node = xml_util_get_element (parent_node, name, NULL); -+ node = xml_util_get_element2 (parent_node, name, NULL); - if (node != NULL) { - xmlUnlinkNode (node); - xmlFreeNode (node); -@@ -342,7 +342,7 @@ xml_util_get_child_string (xmlNode *parent_node, - char *ret; - xmlNode *node; - -- node = xml_util_get_element (parent_node, name, NULL); -+ node = xml_util_get_element2 (parent_node, name, NULL); - if (!node) - return NULL; - -diff --git a/libgupnp-av/xml-util.h b/libgupnp-av/xml-util.h -index 9ae5b19..5ff2020 100644 ---- a/libgupnp-av/xml-util.h -+++ b/libgupnp-av/xml-util.h -@@ -63,7 +63,7 @@ xml_doc_get_type (void) G_GNUC_CONST; - - /* Misc utilities for inspecting xmlNodes */ - G_GNUC_INTERNAL xmlNode * --xml_util_get_element (xmlNode *node, -+xml_util_get_element2 (xmlNode *node, - ...) G_GNUC_NULL_TERMINATED; - - G_GNUC_INTERNAL GList * -@@ -71,7 +71,7 @@ xml_util_get_child_elements_by_name (xmlNode *node, - const char *name); - - G_GNUC_INTERNAL const char * --xml_util_get_child_element_content (xmlNode *node, -+xml_util_get_child_element_content2 (xmlNode *node, - const char *child_name); - - G_GNUC_INTERNAL guint --- -2.14.1 - diff --git a/package/gupnp-av/gupnp-av.hash b/package/gupnp-av/gupnp-av.hash index e106b18aa1..5dc2ac1a9d 100644 --- a/package/gupnp-av/gupnp-av.hash +++ b/package/gupnp-av/gupnp-av.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp-av/0.12/gupnp-av-0.12.10.sha256sum: -sha256 8038ef84dddbe7ad91c205bf91dddf684f072df8623f39b6555a6bb72837b85a gupnp-av-0.12.10.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp-av/0.12/gupnp-av-0.12.11.sha256sum: +sha256 689dcf1492ab8991daea291365a32548a77d1a2294d85b33622b55cca9ce6fdc gupnp-av-0.12.11.tar.xz # Hash for license file: sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/gupnp-av/gupnp-av.mk b/package/gupnp-av/gupnp-av.mk index 0940db7611..55436d0e53 100644 --- a/package/gupnp-av/gupnp-av.mk +++ b/package/gupnp-av/gupnp-av.mk @@ -5,7 +5,7 @@ ################################################################################ GUPNP_AV_VERSION_MAJOR = 0.12 -GUPNP_AV_VERSION = $(GUPNP_AV_VERSION_MAJOR).10 +GUPNP_AV_VERSION = $(GUPNP_AV_VERSION_MAJOR).11 GUPNP_AV_SOURCE = gupnp-av-$(GUPNP_AV_VERSION).tar.xz GUPNP_AV_SITE = http://ftp.gnome.org/pub/gnome/sources/gupnp-av/$(GUPNP_AV_VERSION_MAJOR) GUPNP_AV_LICENSE = LGPL-2.0+ @@ -13,4 +13,11 @@ GUPNP_AV_LICENSE_FILES = COPYING GUPNP_AV_INSTALL_STAGING = YES GUPNP_AV_DEPENDENCIES = host-pkgconf libglib2 libxml2 gupnp +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +GUPNP_AV_CONF_OPTS += --enable-introspection +GUPNP_AV_DEPENDENCIES += gobject-introspection +else +GUPNP_AV_CONF_OPTS += --disable-introspection +endif + $(eval $(autotools-package)) diff --git a/package/gupnp-dlna/gupnp-dlna.mk b/package/gupnp-dlna/gupnp-dlna.mk index 304f86a55c..85d30b7cd2 100644 --- a/package/gupnp-dlna/gupnp-dlna.mk +++ b/package/gupnp-dlna/gupnp-dlna.mk @@ -15,12 +15,9 @@ GUPNP_DLNA_LICENSE_FILES = COPYING GUPNP_DLNA_INSTALL_STAGING = YES GUPNP_DLNA_DEPENDENCIES = host-pkgconf libglib2 libxml2 -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE),y) -GUPNP_DLNA_CONF_OPTS += --enable-legacy-gstreamer-metadata-backend -GUPNP_DLNA_DEPENDENCIES += gstreamer gst-plugins-base -else -GUPNP_DLNA_CONF_OPTS += --disable-legacy-gstreamer-metadata-backend -endif +GUPNP_DLNA_CONF_OPTS = \ + --disable-introspection \ + --disable-legacy-gstreamer-metadata-backend ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y) GUPNP_DLNA_CONF_OPTS += --enable-gstreamer-metadata-backend diff --git a/package/gupnp-tools/0001-src-meson.build-upload-needs-gupnp-av.patch b/package/gupnp-tools/0001-src-meson.build-upload-needs-gupnp-av.patch new file mode 100644 index 0000000000..f8eba76773 --- /dev/null +++ b/package/gupnp-tools/0001-src-meson.build-upload-needs-gupnp-av.patch @@ -0,0 +1,30 @@ +From 0831f77e990e363f78e3f6a5c461084988824f7b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 2 Jul 2019 23:48:12 +0200 +Subject: [PATCH] src/meson.build: upload needs gupnp-av + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.gnome.org/GNOME/gupnp-tools/merge_requests/3] +--- + src/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/meson.build b/src/meson.build +index 84b2ca2..6601f45 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -2,9 +2,9 @@ subdir('common') + + if get_option('av-tools') and gupnp_av.found() + subdir('av-cp') ++ subdir('upload') + endif + + subdir('discover') + subdir('network-light') + subdir('universal-cp') +-subdir('upload') +-- +2.20.1 + diff --git a/package/gupnp-tools/gupnp-tools.hash b/package/gupnp-tools/gupnp-tools.hash index d80d832631..30f1b8293d 100644 --- a/package/gupnp-tools/gupnp-tools.hash +++ b/package/gupnp-tools/gupnp-tools.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp-tools/0.8/gupnp-tools-0.8.14.sha256sum: -sha256 682b952b3cf43818c7d27549c152ea52e43320500820ab3392cf5a29a95e7efa gupnp-tools-0.8.14.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp-tools/0.10/gupnp-tools-0.10.0.sha256sum: +sha256 41da7ff5ba8e2425adcb64ca5e04c81f57ca20ec6fdb84923939fdad42c6a18d gupnp-tools-0.10.0.tar.xz # Locally computed: -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/gupnp-tools/gupnp-tools.mk b/package/gupnp-tools/gupnp-tools.mk index 8f95e04f98..182b0145c8 100644 --- a/package/gupnp-tools/gupnp-tools.mk +++ b/package/gupnp-tools/gupnp-tools.mk @@ -4,8 +4,8 @@ # ################################################################################ -GUPNP_TOOLS_VERSION_MAJOR = 0.8 -GUPNP_TOOLS_VERSION = $(GUPNP_TOOLS_VERSION_MAJOR).14 +GUPNP_TOOLS_VERSION_MAJOR = 0.10 +GUPNP_TOOLS_VERSION = $(GUPNP_TOOLS_VERSION_MAJOR).0 GUPNP_TOOLS_SOURCE = gupnp-tools-$(GUPNP_TOOLS_VERSION).tar.xz GUPNP_TOOLS_SITE = \ http://ftp.gnome.org/pub/gnome/sources/gupnp-tools/$(GUPNP_TOOLS_VERSION_MAJOR) @@ -19,17 +19,20 @@ GUPNP_TOOLS_DEPENDENCIES = \ gssdp \ gupnp \ libsoup \ - libgtk3 + libgtk3 \ + $(TARGET_NLS_DEPENDENCIES) + +GUPNP_TOOLS_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_GUPNP_AV),y) -GUPNP_TOOLS_CONF_OPTS += --with-av +GUPNP_TOOLS_CONF_OPTS += -Dav-tools=true GUPNP_TOOLS_DEPENDENCIES += gupnp-av else -GUPNP_TOOLS_CONF_OPTS += --without-av +GUPNP_TOOLS_CONF_OPTS += -Dav-tools=false endif ifeq ($(BR2_PACKAGE_GTKSOURCEVIEW),y) GUPNP_TOOLS_DEPENDENCIES += gtksourceview endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/gupnp/0001-Revert-build-Always-build-gupnp-binding-tool-manpage.patch b/package/gupnp/0001-Revert-build-Always-build-gupnp-binding-tool-manpage.patch new file mode 100644 index 0000000000..05b07b49c5 --- /dev/null +++ b/package/gupnp/0001-Revert-build-Always-build-gupnp-binding-tool-manpage.patch @@ -0,0 +1,60 @@ +From 9225b076d107538209fbd5b8bbc21a68d1b2c016 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 15 Jul 2020 22:42:44 +0200 +Subject: [PATCH] Revert "build: Always build gupnp-binding-tool manpage" + +This reverts commit 23f54c2a1e8718e836224d68dafded091604a677 until +upstream decides what to do between adding a new option or renaming +gtk_doc into documentation: +https://gitlab.gnome.org/GNOME/gupnp/-/issues/17 + +Signed-off-by: Fabrice Fontaine +--- + doc/meson.build | 2 -- + meson.build | 5 ++++- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/doc/meson.build b/doc/meson.build +index b71b657..478650b 100644 +--- a/doc/meson.build ++++ b/doc/meson.build +@@ -4,7 +4,6 @@ version_xml = configure_file(input: 'version.xml.in', + output: 'version.xml', configuration: + entities) + +-if get_option('gtk_doc') + gnome.gtkdoc('gupnp', + main_xml : 'gupnp-docs.xml', + src_dir : [join_paths(meson.source_root(), 'libgupnp'), +@@ -27,7 +26,6 @@ gnome.gtkdoc('gupnp', + 'gupnp-types-private.h' + ], + install : true) +-endif + + xsltproc = find_program('xsltproc', required: false) + if xsltproc.found() +diff --git a/meson.build b/meson.build +index 28c40b2..dea0a49 100644 +--- a/meson.build ++++ b/meson.build +@@ -31,12 +31,15 @@ dependencies = [ + subdir('libgupnp') + subdir('tests') + subdir('tools') +-subdir('doc') + + if get_option('vapi') and get_option('introspection') + subdir('vala') + endif + ++if get_option('gtk_doc') ++ subdir('doc') ++endif ++ + if get_option('examples') + subdir('examples') + endif +-- +2.27.0 + diff --git a/package/gupnp/gupnp.hash b/package/gupnp/gupnp.hash index ba73aa1041..6baf105318 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.3.sha256sum: -sha256 794b162ee566d85eded8c3f3e8c9c99f6b718a6b812d8b56f0c2ed72ac37cbbb gupnp-1.0.3.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp/1.2/gupnp-1.2.3.sha256sum: +sha256 d447e54d88e4a8fab84ad1766070e9208e21166fc7e2ce95df6e33e49e8d29b1 gupnp-1.2.3.tar.xz # Hash for license file: -sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/gupnp/gupnp.mk b/package/gupnp/gupnp.mk index 3c014ccc99..953beb2559 100644 --- a/package/gupnp/gupnp.mk +++ b/package/gupnp/gupnp.mk @@ -4,7 +4,7 @@ # ################################################################################ -GUPNP_VERSION_MAJOR = 1.0 +GUPNP_VERSION_MAJOR = 1.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) @@ -12,5 +12,13 @@ GUPNP_LICENSE = LGPL-2.0+ GUPNP_LICENSE_FILES = COPYING GUPNP_INSTALL_STAGING = YES GUPNP_DEPENDENCIES = host-pkgconf libglib2 libxml2 gssdp util-linux +GUPNP_CONF_OPTS = -Dexamples=false -$(eval $(autotools-package)) +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +GUPNP_CONF_OPTS += -Dintrospection=true -Dvapi=true +GUPNP_DEPENDENCIES += host-vala gobject-introspection +else +GUPNP_CONF_OPTS += -Dintrospection=false -Dvapi=false +endif + +$(eval $(meson-package)) diff --git a/package/gutenprint/0003-print-olympus.c-fix-endianness-detection.patch b/package/gutenprint/0003-print-olympus.c-fix-endianness-detection.patch deleted file mode 100644 index fc1746ca00..0000000000 --- a/package/gutenprint/0003-print-olympus.c-fix-endianness-detection.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e0dad4bb237f1155e920c30c6fd3412e96a3e84d Mon Sep 17 00:00:00 2001 -From: Olivier Schonken -Date: Sun, 24 Jan 2016 17:14:21 +0200 -Subject: [PATCH 1/1] print-olympus.c: fix endianness detection - -The __LITTLE_ENDIAN__ and __BIG_ENDIAN__ macros are not a reliable way to -detect endianness. Instead, rely on __BYTE_ORDER like we do in the rest of -the code. - -Signed-off-by: Olivier Schonken ---- - src/main/print-olympus.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/main/print-olympus.c b/src/main/print-olympus.c -index 42c4897..8b2aa80 100644 ---- a/src/main/print-olympus.c -+++ b/src/main/print-olympus.c -@@ -4901,9 +4901,9 @@ dyesub_do_print(stp_vars_t *v, stp_image_t *image) - } - - if (pv.bytes_per_ink_channel > 1) { --#if defined(__LITTLE_ENDIAN) || defined(__LITTLE_ENDIAN__) -+#if (__BYTE_ORDER == __LITTLE_ENDIAN) - pv.byteswap = dyesub_feature(caps, DYESUB_FEATURE_BIGENDIAN); --#elif defined (__BIG_ENDIAN) || defined(__BIG_ENDIAN__) -+#elif (__BYTE_ORDER == __BIG_ENDIAN) - pv.byteswap = !dyesub_feature(caps, DYESUB_FEATURE_BIGENDIAN); - #else - #error "Unable to determine endianness, aborting compilation!" --- -1.9.1 - diff --git a/package/gutenprint/0004-build-Don-t-allow-USB-backends-to-be-built-if-CUPS-i.patch b/package/gutenprint/0004-build-Don-t-allow-USB-backends-to-be-built-if-CUPS-i.patch deleted file mode 100644 index 1ecc89ede8..0000000000 --- a/package/gutenprint/0004-build-Don-t-allow-USB-backends-to-be-built-if-CUPS-i.patch +++ /dev/null @@ -1,41 +0,0 @@ -From b5e8dc446572c1198a24eff105a394d0f307951e Mon Sep 17 00:00:00 2001 -From: Solomon Peachy -Date: Fri, 15 Apr 2016 23:05:43 -0400 -Subject: [PATCH] build: Don't allow USB backends to be built if CUPS is not - enabled. - -[Waldemar: backport from upstream commit -fc1713589fed645f2c8002c3f66dfb69af314716.] -Signed-off-by: Waldemar Brodkorb ---- - configure.ac | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 800794b..ba30019 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -442,12 +442,14 @@ dnl if test -z "${[EXTRA_LIBREADLINE_DEPS]}" ; then - dnl [EXTRA_LIBREADLINE_DEPS]="" - dnl fi - --# libusb-1.0 (For CUPS backends) --PKG_CHECK_MODULES([LIBUSB], [libusb-1.0], -- [HAVE_LIBUSB=yes -- BUILD_LIBUSB_BACKENDS=yes], -- [HAVE_LIBUSB=no -- BUILD_LIBUSB_BACKENDS=no]) -+# libusb-1.0 (For CUPS backends, but only bother if CUPS is enabled) -+if test "x$BUILD_CUPS" = "xyes" ; then -+ PKG_CHECK_MODULES([LIBUSB], [libusb-1.0], -+ [HAVE_LIBUSB=yes -+ BUILD_LIBUSB_BACKENDS=yes], -+ [HAVE_LIBUSB=no -+ BUILD_LIBUSB_BACKENDS=no]) -+fi - - AC_PATH_PROGS([GIMPTOOL2_CHECK], [gimptool-2.0 gimptool]) - if test -z "${GIMPTOOL2_CHECK}" ; then --- -2.6.4 - diff --git a/package/gutenprint/gutenprint.hash b/package/gutenprint/gutenprint.hash index a52cc7d42d..8118884989 100644 --- a/package/gutenprint/gutenprint.hash +++ b/package/gutenprint/gutenprint.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 c1a34cd2e02527de4d2a9bf6c14732cb9aa11b333f771eb6043fdc974de24df9 gutenprint-5.2.11.tar.bz2 +sha256 45bf0766f196a764c113bfad7ab1ea748f1d5ff9ebb0d3a2206705fe52e82389 gutenprint-5.2.14.tar.bz2 +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/gutenprint/gutenprint.mk b/package/gutenprint/gutenprint.mk index 65b8d31091..9cb80c3e95 100644 --- a/package/gutenprint/gutenprint.mk +++ b/package/gutenprint/gutenprint.mk @@ -5,15 +5,22 @@ ################################################################################ GUTENPRINT_VERSION_MAJOR = 5.2 -GUTENPRINT_VERSION = $(GUTENPRINT_VERSION_MAJOR).11 +GUTENPRINT_VERSION = $(GUTENPRINT_VERSION_MAJOR).14 GUTENPRINT_SITE = http://downloads.sourceforge.net/project/gimp-print/gutenprint-$(GUTENPRINT_VERSION_MAJOR)/$(GUTENPRINT_VERSION) GUTENPRINT_SOURCE = gutenprint-$(GUTENPRINT_VERSION).tar.bz2 GUTENPRINT_LICENSE = GPL-2.0+ GUTENPRINT_LICENSE_FILES = COPYING -# Needed, as we touch Makefile.am and configure.ac +# Needed, as we touch Makefile.am GUTENPRINT_AUTORECONF = YES +# Needed by autoreconf +define GUTENPRINT_CREATE_M4_DIR + mkdir -p $(@D)/m4local +endef +GUTENPRINT_POST_PATCH_HOOKS += GUTENPRINT_CREATE_M4_DIR +HOST_GUTENPRINT_POST_PATCH_HOOKS += GUTENPRINT_CREATE_M4_DIR + GUTENPRINT_DEPENDENCIES = \ cups host-pkgconf \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ @@ -33,8 +40,6 @@ GUTENPRINT_CONF_OPTS = \ --disable-samples \ --without-doc \ --without-gimp2 \ - --without-foomatic \ - --without-foomatic3 \ --disable-escputil \ --disable-test \ --disable-testpattern \ @@ -61,8 +66,6 @@ HOST_GUTENPRINT_CONF_OPTS = \ --disable-samples \ --without-gimp2 \ --without-doc \ - --disable-nls \ - --disable-nls-macos \ --without-foomatic \ --without-foomatic3 \ --disable-escputil \ @@ -70,13 +73,6 @@ HOST_GUTENPRINT_CONF_OPTS = \ --disable-testpattern \ --without-cups -# Needed by autoreconf -define GUTENPRINT_CREATE_M4_DIR - mkdir -p $(@D)/m4local -endef -GUTENPRINT_POST_PATCH_HOOKS += GUTENPRINT_CREATE_M4_DIR -HOST_GUTENPRINT_POST_PATCH_HOOKS += GUTENPRINT_CREATE_M4_DIR - define HOST_GUTENPRINT_POST_BUILD_INSTAL_TMP_HEADER cp $(@D)/src/xml/xmli18n-tmp.h $(HOST_DIR)/include endef diff --git a/package/gvfs/0001-admin-Prevent-access-if-any-authentication-agent-isn-t-available.patch b/package/gvfs/0001-admin-Prevent-access-if-any-authentication-agent-isn-t-available.patch new file mode 100644 index 0000000000..b5a6d024cc --- /dev/null +++ b/package/gvfs/0001-admin-Prevent-access-if-any-authentication-agent-isn-t-available.patch @@ -0,0 +1,46 @@ +From d8d0c8c40049cfd824b2b90d0cd47914052b9811 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Wed, 2 Jan 2019 17:13:27 +0100 +Subject: [PATCH] admin: Prevent access if any authentication agent isn't + available + +The backend currently allows to access and modify files without prompting +for password if any polkit authentication agent isn't available. This seems +isn't usually problem, because polkit agents are integral parts of +graphical environments / linux distributions. The agents can't be simply +disabled without root permissions and are automatically respawned. However, +this might be a problem in some non-standard cases. + +This affects only users which belong to wheel group (i.e. those who are +already allowed to use sudo). It doesn't allow privilege escalation for +users, who don't belong to that group. + +Let's return permission denied error also when the subject can't be +authorized by any polkit agent to prevent this behavior. + +Closes: https://gitlab.gnome.org/GNOME/gvfs/issues/355 + +[Retrieved from: +https://gitlab.gnome.org/GNOME/gvfs/commit/d8d0c8c40049cfd824b2b90d0cd47914052b9811] +Signed-off-by: Fabrice Fontaine +--- + daemon/gvfsbackendadmin.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/daemon/gvfsbackendadmin.c b/daemon/gvfsbackendadmin.c +index ec0f2392..0f849008 100644 +--- a/daemon/gvfsbackendadmin.c ++++ b/daemon/gvfsbackendadmin.c +@@ -130,8 +130,7 @@ check_permission (GVfsBackendAdmin *self, + return FALSE; + } + +- is_authorized = polkit_authorization_result_get_is_authorized (result) || +- polkit_authorization_result_get_is_challenge (result); ++ is_authorized = polkit_authorization_result_get_is_authorized (result); + + g_object_unref (result); + +-- +2.24.1 + diff --git a/package/gvfs/0002-admin-Add-query_info_on_read-write-functionality.patch b/package/gvfs/0002-admin-Add-query_info_on_read-write-functionality.patch new file mode 100644 index 0000000000..42174153d2 --- /dev/null +++ b/package/gvfs/0002-admin-Add-query_info_on_read-write-functionality.patch @@ -0,0 +1,131 @@ +From 5cd76d627f4d1982b6e77a0e271ef9301732d09e Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Thu, 23 May 2019 10:24:36 +0200 +Subject: [PATCH] admin: Add query_info_on_read/write functionality + +Admin backend doesn't implement query_info_on_read/write which might +potentially lead to some race conditions which aren't really wanted +especially in case of admin backend. Let's add this missing functionality. + +[Retrieved fom: +https://gitlab.gnome.org/GNOME/gvfs/commit/5cd76d627f4d1982b6e77a0e271ef9301732d09e] +Signed-off-by: Fabrice Fontaine +--- + daemon/gvfsbackendadmin.c | 79 +++++++++++++++++++++++++++++++++------ + 1 file changed, 67 insertions(+), 12 deletions(-) + +diff --git a/daemon/gvfsbackendadmin.c b/daemon/gvfsbackendadmin.c +index 65a979e7..23d16f16 100644 +--- a/daemon/gvfsbackendadmin.c ++++ b/daemon/gvfsbackendadmin.c +@@ -42,6 +42,8 @@ + #include "gvfsjobopenforwrite.h" + #include "gvfsjobqueryattributes.h" + #include "gvfsjobqueryinfo.h" ++#include "gvfsjobqueryinforead.h" ++#include "gvfsjobqueryinfowrite.h" + #include "gvfsjobread.h" + #include "gvfsjobseekread.h" + #include "gvfsjobseekwrite.h" +@@ -155,6 +157,19 @@ complete_job (GVfsJob *job, + g_vfs_job_succeeded (job); + } + ++static void ++fix_file_info (GFileInfo *info) ++{ ++ /* Override read/write flags, since the above call will use access() ++ * to determine permissions, which does not honor our privileged ++ * capabilities. ++ */ ++ g_file_info_set_attribute_boolean (info, G_FILE_ATTRIBUTE_ACCESS_CAN_READ, TRUE); ++ g_file_info_set_attribute_boolean (info, G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE, TRUE); ++ g_file_info_set_attribute_boolean (info, G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE, TRUE); ++ g_file_info_set_attribute_boolean (info, G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME, TRUE); ++} ++ + static void + do_query_info (GVfsBackend *backend, + GVfsJobQueryInfo *query_info_job, +@@ -180,19 +195,57 @@ do_query_info (GVfsBackend *backend, + if (error != NULL) + goto out; + +- /* Override read/write flags, since the above call will use access() +- * to determine permissions, which does not honor our privileged +- * capabilities. +- */ +- g_file_info_set_attribute_boolean (real_info, +- G_FILE_ATTRIBUTE_ACCESS_CAN_READ, TRUE); +- g_file_info_set_attribute_boolean (real_info, +- G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE, TRUE); +- g_file_info_set_attribute_boolean (real_info, +- G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE, TRUE); +- g_file_info_set_attribute_boolean (real_info, +- G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME, TRUE); ++ fix_file_info (real_info); ++ g_file_info_copy_into (real_info, info); ++ g_object_unref (real_info); ++ ++ out: ++ complete_job (job, error); ++} ++ ++static void ++do_query_info_on_read (GVfsBackend *backend, ++ GVfsJobQueryInfoRead *query_info_job, ++ GVfsBackendHandle handle, ++ GFileInfo *info, ++ GFileAttributeMatcher *matcher) ++{ ++ GVfsJob *job = G_VFS_JOB (query_info_job); ++ GFileInputStream *stream = handle; ++ GError *error = NULL; ++ GFileInfo *real_info; ++ ++ real_info = g_file_input_stream_query_info (stream, query_info_job->attributes, ++ job->cancellable, &error); ++ if (error != NULL) ++ goto out; ++ ++ fix_file_info (real_info); ++ g_file_info_copy_into (real_info, info); ++ g_object_unref (real_info); ++ ++ out: ++ complete_job (job, error); ++} ++ ++static void ++do_query_info_on_write (GVfsBackend *backend, ++ GVfsJobQueryInfoWrite *query_info_job, ++ GVfsBackendHandle handle, ++ GFileInfo *info, ++ GFileAttributeMatcher *matcher) ++{ ++ GVfsJob *job = G_VFS_JOB (query_info_job); ++ GFileOutputStream *stream = handle; ++ GError *error = NULL; ++ GFileInfo *real_info; ++ ++ real_info = g_file_output_stream_query_info (stream, query_info_job->attributes, ++ job->cancellable, &error); ++ if (error != NULL) ++ goto out; + ++ fix_file_info (real_info); + g_file_info_copy_into (real_info, info); + g_object_unref (real_info); + +@@ -868,6 +921,8 @@ g_vfs_backend_admin_class_init (GVfsBackendAdminClass * klass) + backend_class->mount = do_mount; + backend_class->open_for_read = do_open_for_read; + backend_class->query_info = do_query_info; ++ backend_class->query_info_on_read = do_query_info_on_read; ++ backend_class->query_info_on_write = do_query_info_on_write; + backend_class->read = do_read; + backend_class->create = do_create; + backend_class->append_to = do_append_to; +-- +2.24.1 + diff --git a/package/gvfs/0003-admin-Allow-changing-file-owner.patch b/package/gvfs/0003-admin-Allow-changing-file-owner.patch new file mode 100644 index 0000000000..04138b3957 --- /dev/null +++ b/package/gvfs/0003-admin-Allow-changing-file-owner.patch @@ -0,0 +1,34 @@ +From daf1163aba229afcfddf0f925aef7e97047e8959 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Thu, 23 May 2019 10:29:08 +0200 +Subject: [PATCH] admin: Allow changing file owner + +CAP_CHOWN is dropped together with other privilages and thus the backend +can't change file owner. This might be probably e.g. in case of copy +operation when G_FILE_COPY_ALL_METADATA is used. Let's keep CAP_CHOWN +to fix this. + +[Retrieved from: +https://gitlab.gnome.org/GNOME/gvfs/commit/daf1163aba229afcfddf0f925aef7e97047e8959] +Signed-off-by: Fabrice Fontaine +--- + daemon/gvfsbackendadmin.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/daemon/gvfsbackendadmin.c b/daemon/gvfsbackendadmin.c +index 23d16f16..a74d09cf 100644 +--- a/daemon/gvfsbackendadmin.c ++++ b/daemon/gvfsbackendadmin.c +@@ -968,7 +968,8 @@ g_vfs_backend_admin_init (GVfsBackendAdmin *self) + + #define REQUIRED_CAPS (CAP_TO_MASK(CAP_FOWNER) | \ + CAP_TO_MASK(CAP_DAC_OVERRIDE) | \ +- CAP_TO_MASK(CAP_DAC_READ_SEARCH)) ++ CAP_TO_MASK(CAP_DAC_READ_SEARCH) | \ ++ CAP_TO_MASK(CAP_CHOWN)) + + static void + acquire_caps (uid_t uid) +-- +2.24.1 + diff --git a/package/gvfs/0004-admin-Use-fsuid-to-ensure-correct-file-ownership.patch b/package/gvfs/0004-admin-Use-fsuid-to-ensure-correct-file-ownership.patch new file mode 100644 index 0000000000..22fe57002f --- /dev/null +++ b/package/gvfs/0004-admin-Use-fsuid-to-ensure-correct-file-ownership.patch @@ -0,0 +1,91 @@ +From 3895e09d784ebec0fbc4614d5c37068736120e1d Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Thu, 23 May 2019 10:33:30 +0200 +Subject: [PATCH] admin: Use fsuid to ensure correct file ownership + +Files created over admin backend should be owned by root, but they are +owned by the user itself. This is because the daemon drops the uid to +make dbus connection work. Use fsuid and euid to fix this issue. + +Closes: https://gitlab.gnome.org/GNOME/gvfs/issues/21 + +[Retrieved from: +https://gitlab.gnome.org/GNOME/gvfs/commit/3895e09d784ebec0fbc4614d5c37068736120e1d] +Signed-off-by: Fabrice Fontaine +--- + daemon/gvfsbackendadmin.c | 29 +++++++---------------------- + 1 file changed, 7 insertions(+), 22 deletions(-) + +diff --git a/daemon/gvfsbackendadmin.c b/daemon/gvfsbackendadmin.c +index a74d09cf..32b51b1a 100644 +--- a/daemon/gvfsbackendadmin.c ++++ b/daemon/gvfsbackendadmin.c +@@ -157,19 +157,6 @@ complete_job (GVfsJob *job, + g_vfs_job_succeeded (job); + } + +-static void +-fix_file_info (GFileInfo *info) +-{ +- /* Override read/write flags, since the above call will use access() +- * to determine permissions, which does not honor our privileged +- * capabilities. +- */ +- g_file_info_set_attribute_boolean (info, G_FILE_ATTRIBUTE_ACCESS_CAN_READ, TRUE); +- g_file_info_set_attribute_boolean (info, G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE, TRUE); +- g_file_info_set_attribute_boolean (info, G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE, TRUE); +- g_file_info_set_attribute_boolean (info, G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME, TRUE); +-} +- + static void + do_query_info (GVfsBackend *backend, + GVfsJobQueryInfo *query_info_job, +@@ -195,7 +182,6 @@ do_query_info (GVfsBackend *backend, + if (error != NULL) + goto out; + +- fix_file_info (real_info); + g_file_info_copy_into (real_info, info); + g_object_unref (real_info); + +@@ -220,7 +206,6 @@ do_query_info_on_read (GVfsBackend *backend, + if (error != NULL) + goto out; + +- fix_file_info (real_info); + g_file_info_copy_into (real_info, info); + g_object_unref (real_info); + +@@ -245,7 +230,6 @@ do_query_info_on_write (GVfsBackend *backend, + if (error != NULL) + goto out; + +- fix_file_info (real_info); + g_file_info_copy_into (real_info, info); + g_object_unref (real_info); + +@@ -977,14 +961,15 @@ acquire_caps (uid_t uid) + struct __user_cap_header_struct hdr; + struct __user_cap_data_struct data; + +- /* Tell kernel not clear capabilities when dropping root */ +- if (prctl (PR_SET_KEEPCAPS, 1, 0, 0, 0) < 0) +- g_error ("prctl(PR_SET_KEEPCAPS) failed"); +- +- /* Drop root uid, but retain the required permitted caps */ +- if (setuid (uid) < 0) ++ /* Set euid to user to make dbus work */ ++ if (seteuid (uid) < 0) + g_error ("unable to drop privs"); + ++ /* Set fsuid to still behave like root when working with files */ ++ setfsuid (0); ++ if (setfsuid (-1) != 0) ++ g_error ("setfsuid failed"); ++ + memset (&hdr, 0, sizeof(hdr)); + hdr.version = _LINUX_CAPABILITY_VERSION; + +-- +2.24.1 + diff --git a/package/gvfs/0005-admin-Ensure-correct-ownership-when-moving-to-file-uri.patch b/package/gvfs/0005-admin-Ensure-correct-ownership-when-moving-to-file-uri.patch new file mode 100644 index 0000000000..29f7573a65 --- /dev/null +++ b/package/gvfs/0005-admin-Ensure-correct-ownership-when-moving-to-file-uri.patch @@ -0,0 +1,84 @@ +From d5dfd823c94045488aef8727c553f1e0f7666b90 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Fri, 24 May 2019 09:43:43 +0200 +Subject: [PATCH] admin: Ensure correct ownership when moving to file:// uri + +User and group is not restored properly when moving (or copying with +G_FILE_COPY_ALL_METADATA) from admin:// to file://, because it is handled +by GIO fallback code, which doesn't run with root permissions. Let's +handle this case with pull method to ensure correct ownership. + +[Retrieved from: +https://gitlab.gnome.org/GNOME/gvfs/commit/d5dfd823c94045488aef8727c553f1e0f7666b90] +Signed-off-by: Fabrice Fontaine +--- + daemon/gvfsbackendadmin.c | 46 +++++++++++++++++++++++++++++++++++++++ + 1 file changed, 46 insertions(+) + +diff --git a/daemon/gvfsbackendadmin.c b/daemon/gvfsbackendadmin.c +index 32b51b1a..9a7e8295 100644 +--- a/daemon/gvfsbackendadmin.c ++++ b/daemon/gvfsbackendadmin.c +@@ -807,6 +807,51 @@ do_move (GVfsBackend *backend, + complete_job (job, error); + } + ++static void ++do_pull (GVfsBackend *backend, ++ GVfsJobPull *pull_job, ++ const char *source, ++ const char *local_path, ++ GFileCopyFlags flags, ++ gboolean remove_source, ++ GFileProgressCallback progress_callback, ++ gpointer progress_callback_data) ++{ ++ GVfsBackendAdmin *self = G_VFS_BACKEND_ADMIN (backend); ++ GVfsJob *job = G_VFS_JOB (pull_job); ++ GError *error = NULL; ++ GFile *src_file, *dst_file; ++ ++ /* Pull method is necessary when user/group needs to be restored, return ++ * G_IO_ERROR_NOT_SUPPORTED in other cases to proceed with the fallback code. ++ */ ++ if (!(flags & G_FILE_COPY_ALL_METADATA)) ++ { ++ g_vfs_job_failed_literal (G_VFS_JOB (job), G_IO_ERROR, ++ G_IO_ERROR_NOT_SUPPORTED, ++ _("Operation not supported")); ++ return; ++ } ++ ++ if (!check_permission (self, job)) ++ return; ++ ++ src_file = g_file_new_for_path (source); ++ dst_file = g_file_new_for_path (local_path); ++ ++ if (remove_source) ++ g_file_move (src_file, dst_file, flags, job->cancellable, ++ progress_callback, progress_callback_data, &error); ++ else ++ g_file_copy (src_file, dst_file, flags, job->cancellable, ++ progress_callback, progress_callback_data, &error); ++ ++ g_object_unref (src_file); ++ g_object_unref (dst_file); ++ ++ complete_job (job, error); ++} ++ + static void + do_query_settable_attributes (GVfsBackend *backend, + GVfsJobQueryAttributes *query_job, +@@ -927,6 +972,7 @@ g_vfs_backend_admin_class_init (GVfsBackendAdminClass * klass) + backend_class->set_attribute = do_set_attribute; + backend_class->delete = do_delete; + backend_class->move = do_move; ++ backend_class->pull = do_pull; + backend_class->query_settable_attributes = do_query_settable_attributes; + backend_class->query_writable_namespaces = do_query_writable_namespaces; + } +-- +2.24.1 + diff --git a/package/gvfs/0006-gvfsdaemon-Check-that-the-connecting-client-is-the-same-user.patch b/package/gvfs/0006-gvfsdaemon-Check-that-the-connecting-client-is-the-same-user.patch new file mode 100644 index 0000000000..56bef26b0f --- /dev/null +++ b/package/gvfs/0006-gvfsdaemon-Check-that-the-connecting-client-is-the-same-user.patch @@ -0,0 +1,96 @@ +From 70dbfc68a79faac49bd3423e079cb6902522082a Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Wed, 5 Jun 2019 13:33:38 +0100 +Subject: [PATCH] gvfsdaemon: Check that the connecting client is the same user + +Otherwise, an attacker who learns the abstract socket address from +netstat(8) or similar could connect to it and issue D-Bus method +calls. + +Signed-off-by: Simon McVittie + +[Retrieved from: +https://gitlab.gnome.org/GNOME/gvfs/commit/70dbfc68a79faac49bd3423e079cb6902522082a] +Signed-off-by: Fabrice Fontaine +--- + daemon/gvfsdaemon.c | 36 +++++++++++++++++++++++++++++++++++- + 1 file changed, 35 insertions(+), 1 deletion(-) + +diff --git a/daemon/gvfsdaemon.c b/daemon/gvfsdaemon.c +index 406d4f8e..be148a7b 100644 +--- a/daemon/gvfsdaemon.c ++++ b/daemon/gvfsdaemon.c +@@ -79,6 +79,7 @@ struct _GVfsDaemon + + gint mount_counter; + ++ GDBusAuthObserver *auth_observer; + GDBusConnection *conn; + GVfsDBusDaemon *daemon_skeleton; + GVfsDBusMountable *mountable_skeleton; +@@ -171,6 +172,8 @@ g_vfs_daemon_finalize (GObject *object) + } + if (daemon->conn != NULL) + g_object_unref (daemon->conn); ++ if (daemon->auth_observer != NULL) ++ g_object_unref (daemon->auth_observer); + + g_hash_table_destroy (daemon->registered_paths); + g_hash_table_destroy (daemon->client_connections); +@@ -236,6 +239,35 @@ name_vanished_handler (GDBusConnection *connection, + daemon->lost_main_daemon = TRUE; + } + ++/* ++ * Authentication observer signal handler that authorizes connections ++ * from the same uid as this process. This matches the behaviour of a ++ * libdbus DBusServer/DBusConnection when no DBusAllowUnixUserFunction ++ * has been set, but is not the default in GDBus. ++ */ ++static gboolean ++authorize_authenticated_peer_cb (GDBusAuthObserver *observer, ++ G_GNUC_UNUSED GIOStream *stream, ++ GCredentials *credentials, ++ G_GNUC_UNUSED gpointer user_data) ++{ ++ gboolean authorized = FALSE; ++ ++ if (credentials != NULL) ++ { ++ GCredentials *own_credentials; ++ ++ own_credentials = g_credentials_new (); ++ ++ if (g_credentials_is_same_user (credentials, own_credentials, NULL)) ++ authorized = TRUE; ++ ++ g_object_unref (own_credentials); ++ } ++ ++ return authorized; ++} ++ + static void + g_vfs_daemon_init (GVfsDaemon *daemon) + { +@@ -265,6 +297,8 @@ g_vfs_daemon_init (GVfsDaemon *daemon) + + daemon->conn = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL); + g_assert (daemon->conn != NULL); ++ daemon->auth_observer = g_dbus_auth_observer_new (); ++ g_signal_connect (daemon->auth_observer, "authorize-authenticated-peer", G_CALLBACK (authorize_authenticated_peer_cb), NULL); + + daemon->daemon_skeleton = gvfs_dbus_daemon_skeleton_new (); + g_signal_connect (daemon->daemon_skeleton, "handle-get-connection", G_CALLBACK (handle_get_connection), daemon); +@@ -876,7 +910,7 @@ handle_get_connection (GVfsDBusDaemon *object, + server = g_dbus_server_new_sync (address1, + G_DBUS_SERVER_FLAGS_NONE, + guid, +- NULL, /* GDBusAuthObserver */ ++ daemon->auth_observer, + NULL, /* GCancellable */ + &error); + g_free (guid); +-- +2.24.1 + diff --git a/package/gvfs/gvfs.mk b/package/gvfs/gvfs.mk index 47fbe0e858..b3b18a3482 100644 --- a/package/gvfs/gvfs.mk +++ b/package/gvfs/gvfs.mk @@ -9,13 +9,33 @@ 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 -GVFS_DEPENDENCIES = host-pkgconf host-libglib2 libglib2 dbus shared-mime-info +GVFS_DEPENDENCIES = host-pkgconf host-libglib2 libglib2 dbus shared-mime-info \ + $(TARGET_NLS_DEPENDENCIES) GVFS_LICENSE = LGPL-2.0+ GVFS_LICENSE_FILES = COPYING +GVFS_LIBS = $(TARGET_NLS_LIBS) + +# 0001-admin-Prevent-access-if-any-authentication-agent-isn-t-available.patch +GVFS_IGNORE_CVES += CVE-2019-3827 + +# package/gvfs/0002-admin-Add-query_info_on_read-write-functionality.patch +GVFS_IGNORE_CVES += CVE-2019-12448 + +# 0003-admin-Allow-changing-file-owner.patch +# 0004-admin-Use-fsuid-to-ensure-correct-file-ownership.patch +GVFS_IGNORE_CVES += CVE-2019-12447 + +# 0005-admin-Ensure-correct-ownership-when-moving-to-file-uri.patch +GVFS_IGNORE_CVES += CVE-2019-12449 + +# 0006-gvfsdaemon-Check-that-the-connecting-client-is-the-same-user.patch +GVFS_IGNORE_CVES += CVE-2019-12795 # Export ac_cv_path_LIBGCRYPT_CONFIG unconditionally to prevent # build system from searching the host paths. -GVFS_CONF_ENV = ac_cv_path_LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config +GVFS_CONF_ENV = \ + ac_cv_path_LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config \ + LIBS="$(GVFS_LIBS)" # Most of these are missing library support GVFS_CONF_OPTS = \ @@ -57,6 +77,7 @@ GVFS_CONF_OPTS += \ --enable-archive \ --with-archive-includes=$(STAGING_DIR)/usr \ --with-archive-libs=$(STAGING_DIR)/usr +GVFS_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs libarchive` else GVFS_CONF_OPTS += --disable-archive endif 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 deleted file mode 100644 index 11d2af6d47..0000000000 --- a/package/gzip/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch +++ /dev/null @@ -1,189 +0,0 @@ -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 632176c2b6..5675b3ed50 100644 --- a/package/gzip/gzip.hash +++ b/package/gzip/gzip.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/gzip/gzip-1.9.tar.xz.sig +# https://ftp.gnu.org/gnu/gzip/gzip-1.10.tar.xz.sig # using key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE -sha256 ae506144fc198bd8f81f1f4ad19ce63d5a2d65e42333255977cf1dcf1479089a gzip-1.9.tar.xz +sha256 8425ccac99872d544d4310305f915f5ea81e04d0f437ef1a230dc9d1c819d7c0 gzip-1.10.tar.xz # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gzip/gzip.mk b/package/gzip/gzip.mk index 8ac6ddd6ed..17b27b497c 100644 --- a/package/gzip/gzip.mk +++ b/package/gzip/gzip.mk @@ -4,7 +4,7 @@ # ################################################################################ -GZIP_VERSION = 1.9 +GZIP_VERSION = 1.10 GZIP_SOURCE = gzip-$(GZIP_VERSION).tar.xz GZIP_SITE = $(BR2_GNU_MIRROR)/gzip # Some other tools expect it to be in /bin diff --git a/package/hans/hans.hash b/package/hans/hans.hash index bde6a7ab81..fe46ab5889 100644 --- a/package/hans/hans.hash +++ b/package/hans/hans.hash @@ -2,4 +2,5 @@ md5 8628393ec1b61a6c3a47a0a3dcb455b3 hans-1.0.tar.gz sha1 0bc857df109af222732cb95c861a0f0a6dd53dee hans-1.0.tar.gz # Locally computed -sha256 f8f70cf22ba14d9223695c9e9a2d75289d8360f61f533b83ee538836f29a458e hans-1.0.tar.gz +sha256 f8f70cf22ba14d9223695c9e9a2d75289d8360f61f533b83ee538836f29a458e hans-1.0.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/package/haproxy/Config.in b/package/haproxy/Config.in index 670de5a3ee..b348eb9d8a 100644 --- a/package/haproxy/Config.in +++ b/package/haproxy/Config.in @@ -1,8 +1,6 @@ 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 @@ -12,7 +10,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 + depends on BR2_TOOLCHAIN_HAS_SYNC_1 && BR2_TOOLCHAIN_HAS_SYNC_4 help HAProxy is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and diff --git a/package/haproxy/haproxy.hash b/package/haproxy/haproxy.hash index be3451d83b..b89bda834b 100644 --- a/package/haproxy/haproxy.hash +++ b/package/haproxy/haproxy.hash @@ -1,5 +1,6 @@ +# From: http://www.haproxy.org/download/2.1/src/haproxy-2.1.4.tar.gz.sha256 +sha256 51030ff696d7067162b4d24d354044293aecfbb36d7acc2f840c8d928bfe91cd haproxy-2.1.4.tar.gz # Locally computed: -sha256 ad46312fa1e38763863807d2c9304551c28ad91cff83f0c21a36756913c1c8e1 haproxy-1.9.1.tar.gz -sha256 0717ca51fceaa25ac9e5ccc62e0c727dcf27796057201fb5fded56a25ff6ca28 LICENSE -sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a doc/lgpl.txt -sha256 ddb9db7630752f8fdc6898f7c99a99eaeeac5213627ecb093df9c82f56175dc7 doc/gpl.txt +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 index e382f61f8e..e59896b485 100644 --- a/package/haproxy/haproxy.mk +++ b/package/haproxy/haproxy.mk @@ -4,8 +4,8 @@ # ################################################################################ -HAPROXY_VERSION_MAJOR = 1.9 -HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).1 +HAPROXY_VERSION_MAJOR = 2.1 +HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).4 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 @@ -19,7 +19,7 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) HAPROXY_LIBS += -latomic endif -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),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) @@ -69,9 +69,15 @@ endif HAPROXY_MAKE_OPTS += ADDLIB="$(HAPROXY_LIBS)" +HAPROXY_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_90620),y) +HAPROXY_CFLAGS += -O0 +endif + define HAPROXY_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ - $(HAPROXY_MAKE_OPTS) -C $(@D) + $(HAPROXY_MAKE_OPTS) CFLAGS="$(HAPROXY_CFLAGS)" -C $(@D) endef define HAPROXY_INSTALL_TARGET_CMDS diff --git a/package/harfbuzz/Config.in b/package/harfbuzz/Config.in index a6db9840cc..e8f407bb8f 100644 --- a/package/harfbuzz/Config.in +++ b/package/harfbuzz/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_HARFBUZZ bool "harfbuzz" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 help HarfBuzz is an OpenType text shaping engine @@ -10,6 +11,7 @@ config BR2_PACKAGE_HARFBUZZ Harfbuzz can make optional use of cairo, freetype, glib2 and icu packages if they are selected. -comment "harfbuzz needs a toolchain w/ C++" +comment "harfbuzz needs a toolchain w/ C++, gcc => 4.8" depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_INSTALL_LIBSTDCPP + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/harfbuzz/harfbuzz.hash b/package/harfbuzz/harfbuzz.hash index a10b4cfd5d..ba54f477aa 100644 --- a/package/harfbuzz/harfbuzz.hash +++ b/package/harfbuzz/harfbuzz.hash @@ -1,6 +1,5 @@ -# From https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.8.8.tar.bz2.sha256 -sha256 a8e5c86e4d99e1cc9865ec1b8e9b05b98e413c2a885cd11f8e9bb9502dd3e3a9 harfbuzz-1.8.8.tar.bz2 +# From https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-2.6.4.tar.xz.sha256 +sha256 9413b8d96132d699687ef914ebb8c50440efc87b3f775d25856d7ec347c03c12 harfbuzz-2.6.4.tar.xz # Locally computed -sha256 2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216 COPYING -sha256 ec20cbe051200fc846caf4dc253cf660e874a2d9e4f3a682e08354b567fae409 src/hb-ucdn/COPYING +sha256 1b32b6e2fea50440c128c5ba482f7691367c46fd0cd573b80fc863bf07964cea COPYING diff --git a/package/harfbuzz/harfbuzz.mk b/package/harfbuzz/harfbuzz.mk index 52374c9c9e..3006b5ab98 100644 --- a/package/harfbuzz/harfbuzz.mk +++ b/package/harfbuzz/harfbuzz.mk @@ -4,11 +4,11 @@ # ################################################################################ -HARFBUZZ_VERSION = 1.8.8 +HARFBUZZ_VERSION = 2.6.4 HARFBUZZ_SITE = https://www.freedesktop.org/software/harfbuzz/release -HARFBUZZ_SOURCE = harfbuzz-$(HARFBUZZ_VERSION).tar.bz2 +HARFBUZZ_SOURCE = harfbuzz-$(HARFBUZZ_VERSION).tar.xz HARFBUZZ_LICENSE = MIT, ISC (ucdn library) -HARFBUZZ_LICENSE_FILES = COPYING src/hb-ucdn/COPYING +HARFBUZZ_LICENSE_FILES = COPYING HARFBUZZ_INSTALL_STAGING = YES HARFBUZZ_CONF_OPTS = --with-coretext=no --with-uniscribe=no diff --git a/package/haserl/haserl.hash b/package/haserl/haserl.hash index 2b23a6c6ee..149bf0b0a5 100644 --- a/package/haserl/haserl.hash +++ b/package/haserl/haserl.hash @@ -1,3 +1,5 @@ # From http://sourceforge.net/projects/haserl/files/haserl-devel/ md5 918f0b4f6cec0b438c8b5c78f2989010 haserl-0.9.35.tar.gz sha1 9a331d41e9d47a81e81e158f9a16bf5443347cd4 haserl-0.9.35.tar.gz +# Locally computed +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/haveged/haveged.hash b/package/haveged/haveged.hash index d1133b6931..2bb1fdd846 100644 --- a/package/haveged/haveged.hash +++ b/package/haveged/haveged.hash @@ -1,2 +1,3 @@ -# From http://www.issihosts.com/haveged/verify/haveged-1.9.1.sha1 -sha1 ab7234b7f57dbb7d500a5ab3cbf0494715ce6499 haveged-1.9.1.tar.gz +# Locally calculated +sha256 99aa1996c6e39ea2459cfc37addfb8b1eecc63f3a2b6da9db17b22e76b6851ae haveged-1.9.8.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/haveged/haveged.mk b/package/haveged/haveged.mk index a645557bc4..cc834304df 100644 --- a/package/haveged/haveged.mk +++ b/package/haveged/haveged.mk @@ -4,8 +4,8 @@ # ################################################################################ -HAVEGED_VERSION = 1.9.1 -HAVEGED_SITE = http://www.issihosts.com/haveged +HAVEGED_VERSION = 1.9.8 +HAVEGED_SITE = $(call github,jirka-h,haveged,v$(HAVEGED_VERSION)) HAVEGED_LICENSE = GPL-3.0+ HAVEGED_LICENSE_FILES = COPYING @@ -21,9 +21,6 @@ endef define HAVEGED_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/haveged/haveged.service \ $(TARGET_DIR)/usr/lib/systemd/system/haveged.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -fs /usr/lib/systemd/system/haveged.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/haveged.service endef $(eval $(autotools-package)) diff --git a/package/hdparm/hdparm.hash b/package/hdparm/hdparm.hash index 2ce23cf84e..4251b5a65c 100644 --- a/package/hdparm/hdparm.hash +++ b/package/hdparm/hdparm.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/hdparm/files/hdparm/ -md5 7900608e32834f65d2654fdb696e71a0 hdparm-9.56.tar.gz -sha1 9e143065115229c4f929530157627dc92e5f6deb hdparm-9.56.tar.gz +md5 4652c49cf096a64683c05f54b4fa4679 hdparm-9.58.tar.gz +sha1 b3425a141f1c0fe9f53b18631437129c2155ee45 hdparm-9.58.tar.gz # Locally computed -sha256 6ff9ed695f1017396eec4101f990f114b7b0e0a04c5aa6369c0394053d16e4da hdparm-9.56.tar.gz +sha256 9ae78e883f3ce071d32ee0f1b9a2845a634fc4dd94a434e653fdbef551c5e10f hdparm-9.58.tar.gz sha256 eae572b06d2733f5c65fbe81680ce2b8a109afee2bdd1a161343c772af0e82e1 LICENSE.TXT diff --git a/package/hdparm/hdparm.mk b/package/hdparm/hdparm.mk index 7ed1ed8624..9826dde010 100644 --- a/package/hdparm/hdparm.mk +++ b/package/hdparm/hdparm.mk @@ -4,7 +4,7 @@ # ################################################################################ -HDPARM_VERSION = 9.56 +HDPARM_VERSION = 9.58 HDPARM_SITE = http://downloads.sourceforge.net/project/hdparm/hdparm HDPARM_LICENSE = BSD-Style HDPARM_LICENSE_FILES = LICENSE.TXT diff --git a/package/heimdal/heimdal.hash b/package/heimdal/heimdal.hash index ac26aa60e5..0750233858 100644 --- a/package/heimdal/heimdal.hash +++ b/package/heimdal/heimdal.hash @@ -1,2 +1,5 @@ -# Locally calculated -sha256 c5a2a0030fcc728022fa2332bad85569084d1c3b9a59587b7ebe141b0532acad heimdal-7.5.0.tar.gz +# From https://github.com/heimdal/heimdal/releases +sha1 5dd16703be7255f66a4d65440f0c622aeeca60d9 heimdal-7.7.0.tar.gz +sha256 f02d3314d634cc55eb9cf04a1eae0d96b293e45a1f837de9d894e800161b7d1b heimdal-7.7.0.tar.gz +# Locally computed +sha256 0c4b07bf5b98f7a1d01f8e60722d6c6747ef052c2aa6d2043daf690d4e1b0a7f LICENSE diff --git a/package/heimdal/heimdal.mk b/package/heimdal/heimdal.mk index 5f7b6c6853..5c0570fdd1 100644 --- a/package/heimdal/heimdal.mk +++ b/package/heimdal/heimdal.mk @@ -4,7 +4,7 @@ # ################################################################################ -HEIMDAL_VERSION = 7.5.0 +HEIMDAL_VERSION = 7.7.0 HEIMDAL_SITE = https://github.com/heimdal/heimdal/releases/download/heimdal-$(HEIMDAL_VERSION) HOST_HEIMDAL_DEPENDENCIES = host-e2fsprogs host-ncurses host-pkgconf HEIMDAL_INSTALL_STAGING = YES diff --git a/package/heirloom-mailx/0002-fix-libressl-support.patch b/package/heirloom-mailx/0002-fix-libressl-support.patch index 0fafa4ae0b..b54aaaf73c 100644 --- a/package/heirloom-mailx/0002-fix-libressl-support.patch +++ b/package/heirloom-mailx/0002-fix-libressl-support.patch @@ -1,5 +1,5 @@ From aad28d30af6c3a74c522dd61943788e908860c84 Mon Sep 17 00:00:00 2001 -From: Adam Duskett +From: Adam Duskett Date: Fri, 4 Aug 2017 07:22:47 -0400 Subject: [PATCH] fix libressl support @@ -10,7 +10,7 @@ heirloom-mailx has two small issues when compiling against LibreSSL: - SSLv3_client_method function is used (LibreSSL does not support SSLv3) Solution: "Guard" the code with #ifndef OPENSSL_NO_SSL3 -Signed-off-by: Adam Duskett +Signed-off-by: Adam Duskett --- openssl.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/package/heirloom-mailx/heirloom-mailx.hash b/package/heirloom-mailx/heirloom-mailx.hash index 6fc36c9532..1f59f7349d 100644 --- a/package/heirloom-mailx/heirloom-mailx.hash +++ b/package/heirloom-mailx/heirloom-mailx.hash @@ -1,2 +1,4 @@ # From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-3.dsc sha256 015ba4209135867f37a0245d22235a392b8bbed956913286b887c2e2a9a421ad heirloom-mailx_12.5.orig.tar.gz +# Locally computed +sha256 5ddc00aed98a0cf75fc7edfd9f3aeb1e919ae0ad5e9ff55d61f643d62d802b07 COPYING diff --git a/package/hiawatha/Config.in b/package/hiawatha/Config.in index 68e47fde87..8f1908f6f4 100644 --- a/package/hiawatha/Config.in +++ b/package/hiawatha/Config.in @@ -1,11 +1,13 @@ comment "hiawatha needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS config BR2_PACKAGE_HIAWATHA bool "hiawatha" # needs fork() depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrisics depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS select BR2_PACKAGE_ZLIB diff --git a/package/hiawatha/hiawatha.hash b/package/hiawatha/hiawatha.hash index 7d98c01bf7..359a435420 100644 --- a/package/hiawatha/hiawatha.hash +++ b/package/hiawatha/hiawatha.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0f013afc71284bab7267b0d80a51133a8fd4248575dbcbabf338cf826095cda8 hiawatha-10.8.1.tar.gz +sha256 b5e46f5757fa647e77d21d24f7eea912d59f26a75558cba780b45c1c3a33a4d9 hiawatha-10.10.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE diff --git a/package/hiawatha/hiawatha.mk b/package/hiawatha/hiawatha.mk index 776efc1dcf..eefd0f6f89 100644 --- a/package/hiawatha/hiawatha.mk +++ b/package/hiawatha/hiawatha.mk @@ -4,7 +4,7 @@ # ################################################################################ -HIAWATHA_VERSION = 10.8.1 +HIAWATHA_VERSION = 10.10 HIAWATHA_SITE = https://www.hiawatha-webserver.org/files HIAWATHA_DEPENDENCIES = zlib HIAWATHA_LICENSE = GPL-2.0 diff --git a/package/hicolor-icon-theme/Config.in b/package/hicolor-icon-theme/Config.in index 10edbf8865..5ef2cd2267 100644 --- a/package/hicolor-icon-theme/Config.in +++ b/package/hicolor-icon-theme/Config.in @@ -7,3 +7,5 @@ config BR2_PACKAGE_HICOLOR_ICON_THEME standard directory structure for storing icons of third-party applications (i.e. the ones not available in usual icon themes). + + https://www.freedesktop.org/wiki/Software/icon-theme/ diff --git a/package/hicolor-icon-theme/hicolor-icon-theme.hash b/package/hicolor-icon-theme/hicolor-icon-theme.hash index 522dcfcd82..b1dcaf4ae8 100644 --- a/package/hicolor-icon-theme/hicolor-icon-theme.hash +++ b/package/hicolor-icon-theme/hicolor-icon-theme.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 9cc45ac3318c31212ea2d8cb99e64020732393ee7630fa6c1810af5f987033cc hicolor-icon-theme-0.15.tar.xz +sha256 9cc45ac3318c31212ea2d8cb99e64020732393ee7630fa6c1810af5f987033cc hicolor-icon-theme-0.15.tar.xz +sha256 b0a64377d4ee87b7dbcf418ce4fb33ec3b2d7081b6732890e4af06b8118c4526 COPYING diff --git a/package/hidapi/Config.in b/package/hidapi/Config.in index b98c2db91c..d7d8cd53d7 100644 --- a/package/hidapi/Config.in +++ b/package/hidapi/Config.in @@ -12,7 +12,7 @@ config BR2_PACKAGE_HIDAPI to interface with USB and Bluetooth HID-Class devices on Windows, Linux, and Mac OS X. - http://www.signal11.us/oss/hidapi/ + http://github.com/libusb/hidapi/ comment "hidapi needs udev /dev management and a toolchain w/ NPTL threads" depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_PACKAGE_HAS_UDEV diff --git a/package/hidapi/hidapi.hash b/package/hidapi/hidapi.hash index ed22c78866..232c1ec48d 100644 --- a/package/hidapi/hidapi.hash +++ b/package/hidapi/hidapi.hash @@ -1,2 +1,6 @@ # Locally calculated -sha256 f2ffe5dbba12dfa0a647ae71b1ec5612fed4c20322ef6f6fd46f6f9713ed1a8e hidapi-b5b2e1779b6cd2edda3066bbbf0921a2d6b1c3c0.tar.gz +sha256 630ee1834bdd5c5761ab079fd04f463a89585df8fcae51a7bfe4229b1e02a652 hidapi-0.9.0.tar.gz +sha256 7d3b087c34f35d4d538e3bcddd1ff8f66e92f9ef336881999482800ddf840913 LICENSE.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE-gpl3.txt +sha256 30eb1bef29b46f8ba7ab8b416035dbd93cb034a45481dd97815b944284582cd2 LICENSE-bsd.txt +sha256 fb5436aa63d1b71a8dfbf74ecaf1a5b4e1ec4df7f80074d11fec99284f69ca5f LICENSE-orig.txt diff --git a/package/hidapi/hidapi.mk b/package/hidapi/hidapi.mk index 7eed800326..abbe5878e8 100644 --- a/package/hidapi/hidapi.mk +++ b/package/hidapi/hidapi.mk @@ -4,10 +4,8 @@ # ################################################################################ -# Use master version as the current stable is very old and some bugs -# have been fixed since then. -HIDAPI_VERSION = b5b2e1779b6cd2edda3066bbbf0921a2d6b1c3c0 -HIDAPI_SITE = $(call github,signal11,hidapi,$(HIDAPI_VERSION)) +HIDAPI_VERSION = 0.9.0 +HIDAPI_SITE = $(call github,libusb,hidapi,hidapi-$(HIDAPI_VERSION)) HIDAPI_INSTALL_STAGING = YES # No configure provided, so we need to autoreconf. HIDAPI_AUTORECONF = YES diff --git a/package/hiredis/hiredis.hash b/package/hiredis/hiredis.hash index 7478ae0f24..2d50ce0f54 100644 --- a/package/hiredis/hiredis.hash +++ b/package/hiredis/hiredis.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 042f965e182b80693015839a9d0278ae73fae5d5d09d8bf6d0e6a39a8c4393bd hiredis-v0.14.0.tar.gz -sha256 dca05ce8fc87a8261783b4aed0deef8becc9350b6aa770bc714d0c1833b896eb COPYING +sha256 2663b2aed9fd430507e30fc5e63274ee40cdd1a296026e22eafd7d99b01c8913 hiredis-0.14.1.tar.gz +sha256 dca05ce8fc87a8261783b4aed0deef8becc9350b6aa770bc714d0c1833b896eb COPYING diff --git a/package/hiredis/hiredis.mk b/package/hiredis/hiredis.mk index e187aed52c..230fb2d187 100644 --- a/package/hiredis/hiredis.mk +++ b/package/hiredis/hiredis.mk @@ -5,8 +5,8 @@ ################################################################################ HIREDIS_VERSION_MAJOR = 0.14 -HIREDIS_VERSION = v$(HIREDIS_VERSION_MAJOR).0 -HIREDIS_SITE = $(call github,redis,hiredis,$(HIREDIS_VERSION)) +HIREDIS_VERSION = $(HIREDIS_VERSION_MAJOR).1 +HIREDIS_SITE = $(call github,redis,hiredis,v$(HIREDIS_VERSION)) HIREDIS_LICENSE = BSD-3-Clause HIREDIS_LICENSE_FILES = COPYING HIREDIS_INSTALL_STAGING = YES @@ -55,7 +55,7 @@ endif define HIREDIS_INSTALL_STAGING_CMDS mkdir -p $(HIREDIS_INCLUDE_DIR) cp -dpfr $(@D)/hiredis.h $(@D)/async.h $(@D)/read.h $(@D)/sds.h \ - $(@D)/adapters $(HIREDIS_INCLUDE_DIR) + $(@D)/alloc.h $(@D)/adapters $(HIREDIS_INCLUDE_DIR) $(INSTALL) -D -m 0644 $(@D)/hiredis.pc \ $(STAGING_DIR)/usr/lib/pkgconfig/hiredis.pc $(HIREDIS_INSTALL_STAGING_STATIC_LIB) diff --git a/package/hostapd/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch b/package/hostapd/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch new file mode 100644 index 0000000000..959788c2e9 --- /dev/null +++ b/package/hostapd/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch @@ -0,0 +1,77 @@ +From 8c07fa9eda13e835f3f968b2e1c9a8be3a851ff9 Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Thu, 29 Aug 2019 11:52:04 +0300 +Subject: [PATCH] AP: Silently ignore management frame from unexpected source + address + +Do not process any received Management frames with unexpected/invalid SA +so that we do not add any state for unexpected STA addresses or end up +sending out frames to unexpected destination. This prevents unexpected +sequences where an unprotected frame might end up causing the AP to send +out a response to another device and that other device processing the +unexpected response. + +In particular, this prevents some potential denial of service cases +where the unexpected response frame from the AP might result in a +connected station dropping its association. + +Signed-off-by: Jouni Malinen + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://w1.fi/security/2019-7/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch] +--- + src/ap/drv_callbacks.c | 13 +++++++++++++ + src/ap/ieee802_11.c | 12 ++++++++++++ + 2 files changed, 25 insertions(+) + +diff --git a/src/ap/drv_callbacks.c b/src/ap/drv_callbacks.c +index 31587685fe3b..34ca379edc3d 100644 +--- a/src/ap/drv_callbacks.c ++++ b/src/ap/drv_callbacks.c +@@ -131,6 +131,19 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr, + "hostapd_notif_assoc: Skip event with no address"); + return -1; + } ++ ++ if (is_multicast_ether_addr(addr) || ++ is_zero_ether_addr(addr) || ++ os_memcmp(addr, hapd->own_addr, ETH_ALEN) == 0) { ++ /* Do not process any frames with unexpected/invalid SA so that ++ * we do not add any state for unexpected STA addresses or end ++ * up sending out frames to unexpected destination. */ ++ wpa_printf(MSG_DEBUG, "%s: Invalid SA=" MACSTR ++ " in received indication - ignore this indication silently", ++ __func__, MAC2STR(addr)); ++ return 0; ++ } ++ + random_add_randomness(addr, ETH_ALEN); + + hostapd_logger(hapd, addr, HOSTAPD_MODULE_IEEE80211, +diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c +index c85a28db44b7..e7065372e158 100644 +--- a/src/ap/ieee802_11.c ++++ b/src/ap/ieee802_11.c +@@ -4626,6 +4626,18 @@ int ieee802_11_mgmt(struct hostapd_data *hapd, const u8 *buf, size_t len, + fc = le_to_host16(mgmt->frame_control); + stype = WLAN_FC_GET_STYPE(fc); + ++ if (is_multicast_ether_addr(mgmt->sa) || ++ is_zero_ether_addr(mgmt->sa) || ++ os_memcmp(mgmt->sa, hapd->own_addr, ETH_ALEN) == 0) { ++ /* Do not process any frames with unexpected/invalid SA so that ++ * we do not add any state for unexpected STA addresses or end ++ * up sending out frames to unexpected destination. */ ++ wpa_printf(MSG_DEBUG, "MGMT: Invalid SA=" MACSTR ++ " in received frame - ignore this frame silently", ++ MAC2STR(mgmt->sa)); ++ return 0; ++ } ++ + if (stype == WLAN_FC_STYPE_BEACON) { + handle_beacon(hapd, mgmt, len, fi); + return 1; +-- +2.20.1 + diff --git a/package/hostapd/Config.in b/package/hostapd/Config.in index 37c1126859..54d2086c09 100644 --- a/package/hostapd/Config.in +++ b/package/hostapd/Config.in @@ -31,12 +31,6 @@ config BR2_PACKAGE_HOSTAPD_DRIVER_NL80211 comment "nl80211 driver needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS -config BR2_PACKAGE_HOSTAPD_DRIVER_RTW - bool "Enable rtl871xdrv driver" - select BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS - help - Enable support for Realtek wireless chips. - config BR2_PACKAGE_HOSTAPD_DRIVER_WIRED bool "Enable wired driver" help @@ -47,7 +41,6 @@ config BR2_PACKAGE_HOSTAPD_DRIVER_NONE default y depends on !BR2_PACKAGE_HOSTAPD_DRIVER_HOSTAP depends on !BR2_PACKAGE_HOSTAPD_DRIVER_NL80211 - depends on !BR2_PACKAGE_HOSTAPD_DRIVER_RTW depends on !BR2_PACKAGE_HOSTAPD_DRIVER_WIRED config BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS @@ -81,6 +74,13 @@ config BR2_PACKAGE_HOSTAPD_WPS help Enable support for Wi-Fi Protected Setup. +config BR2_PACKAGE_HOSTAPD_WPA3 + bool "Enable WPA3 support" + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + help + Enable WPA3 support including OWE, SAE, DPP + config BR2_PACKAGE_HOSTAPD_VLAN bool "Enable VLAN support" default y diff --git a/package/hostapd/hostapd.hash b/package/hostapd/hostapd.hash index 8901aa43be..bf5016acc3 100644 --- a/package/hostapd/hostapd.hash +++ b/package/hostapd/hostapd.hash @@ -1,20 +1,3 @@ # Locally calculated -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 76eeecd8fc291a71f29189ea20e6a34387b8048a959cbc6a65c41b98194643a2 README +sha256 881d7d6a90b2428479288d64233151448f8990ab4958e0ecaca7eeb3c9db2bd7 hostapd-2.9.tar.gz +sha256 9da5dd0776da266b180b915e460ff75c6ff729aca1196ab396529510f24f3761 README diff --git a/package/hostapd/hostapd.mk b/package/hostapd/hostapd.mk index 550f887206..b94a0e4578 100644 --- a/package/hostapd/hostapd.mk +++ b/package/hostapd/hostapd.mk @@ -4,34 +4,24 @@ # ################################################################################ -HOSTAPD_VERSION = 2.7 +HOSTAPD_VERSION = 2.9 HOSTAPD_SITE = http://w1.fi/releases -HOSTAPD_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 HOSTAPD_CFLAGS = $(TARGET_CFLAGS) HOSTAPD_LICENSE = BSD-3-Clause HOSTAPD_LICENSE_FILES = README + +# 0001-AP-Silently-ignore-management-frame-from-unexpected-.patch +HOSTAPD_IGNORE_CVES += CVE-2019-16275 + HOSTAPD_CONFIG_SET = -HOSTAPD_CONFIG_ENABLE = CONFIG_INTERNAL_LIBTOMMATH +HOSTAPD_CONFIG_ENABLE = \ + CONFIG_INTERNAL_LIBTOMMATH \ + CONFIG_DEBUG_FILE \ + CONFIG_DEBUG_SYSLOG HOSTAPD_CONFIG_DISABLE = @@ -41,7 +31,7 @@ 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 +HOSTAPD_CONFIG_DISABLE += CONFIG_EAP_PWD CONFIG_EAP_TEAP HOSTAPD_CONFIG_EDITS += 's/\#\(CONFIG_TLS=\).*/\1internal/' endif @@ -53,11 +43,6 @@ ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_NL80211),) HOSTAPD_CONFIG_DISABLE += CONFIG_DRIVER_NL80211 endif -ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_RTW),y) -HOSTAPD_PATCH += https://github.com/pritambaral/hostapd-rtl871xdrv/raw/master/rtlxdrv.patch -HOSTAPD_CONFIG_SET += CONFIG_DRIVER_RTW -endif - ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_WIRED),y) HOSTAPD_CONFIG_ENABLE += CONFIG_DRIVER_WIRED endif @@ -98,12 +83,24 @@ ifeq ($(BR2_PACKAGE_HOSTAPD_WPS),y) HOSTAPD_CONFIG_ENABLE += CONFIG_WPS endif +ifeq ($(BR2_PACKAGE_HOSTAPD_WPA3),y) +HOSTAPD_CONFIG_SET += \ + CONFIG_DPP \ + CONFIG_SAE +HOSTAPD_CONFIG_ENABLE += \ + CONFIG_OWE +else +HOSTAPD_CONFIG_DISABLE += \ + CONFIG_OWE +endif + ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN),) HOSTAPD_CONFIG_ENABLE += CONFIG_NO_VLAN endif ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN_DYNAMIC),y) HOSTAPD_CONFIG_ENABLE += CONFIG_FULL_DYNAMIC_VLAN +HOSTAPD_CONFIG_SET += NEED_LINUX_IOCTL endif ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN_NETLINK),y) diff --git a/package/hplip/hplip.hash b/package/hplip/hplip.hash index 2260850e33..0a4d7eebca 100644 --- a/package/hplip/hplip.hash +++ b/package/hplip/hplip.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 0f7344174672f63a98a22f3c109005b6eb89fe738b7d466316bf2c53d083476c hplip-3.17.10.tar.gz +sha256 8af0e85fc6b88aec25200bcb4f604d886818482bd2c5cc81038f4c6a311c913a COPYING diff --git a/package/hwdata/hwdata.hash b/package/hwdata/hwdata.hash index dba1be31e0..80e61e212d 100644 --- a/package/hwdata/hwdata.hash +++ b/package/hwdata/hwdata.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 986d919c20a0c7f8b669a63830f6d2f4cb5c4cddcfc944c5e2ae05c2e9e5ec9f hwdata-v0.308.tar.gz +sha256 d90de6eb0937ad4c667e5f0edcc4ab3d6d91d2d2dbc08f70b5b99be3800ed836 hwdata-0.326.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 21d0406f93e884a050426ebc21931839a45d56bfcbcbfdda7686d583f36f107f LICENSE diff --git a/package/hwdata/hwdata.mk b/package/hwdata/hwdata.mk index 4603ad6ec8..f32a0ef939 100644 --- a/package/hwdata/hwdata.mk +++ b/package/hwdata/hwdata.mk @@ -4,8 +4,8 @@ # ################################################################################ -HWDATA_VERSION = v0.308 -HWDATA_SITE = $(call github,vcrhonek,hwdata,$(HWDATA_VERSION)) +HWDATA_VERSION = 0.326 +HWDATA_SITE = $(call github,vcrhonek,hwdata,v$(HWDATA_VERSION)) HWDATA_LICENSE = GPL-2.0+, BSD-3-Clause, XFree86 1.0 HWDATA_LICENSE_FILES = COPYING LICENSE diff --git a/package/hwloc/hwloc.hash b/package/hwloc/hwloc.hash index c523bc5376..9637ba1325 100644 --- a/package/hwloc/hwloc.hash +++ b/package/hwloc/hwloc.hash @@ -1,5 +1,6 @@ # From https://www.open-mpi.org/software/hwloc/v1.11/ -md5 13d2e4dbce392cda41f1451d386d9a45 hwloc-1.11.7.tar.bz2 -sha1 7b78850b8504a93972a3f114a0e75f9b115607d9 hwloc-1.11.7.tar.bz2 +md5 3c792e23c209e9e1bafe9bdbc613d401 hwloc-1.11.13.tar.bz2 +sha1 c3ae96a845ff3800f28b28fdb48146f971589653 hwloc-1.11.13.tar.bz2 # Locally computed -sha256 ab6910e248eed8c85d08b529917a6aae706b32b346e886ba830895e36a809729 hwloc-1.11.7.tar.bz2 +sha256 a4494b7765f517c0990d1c7f09d98cb87755bb6b841e4e2cbfebca1b14bac9c8 hwloc-1.11.13.tar.bz2 +sha256 c1816ed2da6aea779c4f27352f807c8bbaf545c2843d7b2ae818e1d529028821 COPYING diff --git a/package/hwloc/hwloc.mk b/package/hwloc/hwloc.mk index 598a9c6e70..81cb89e35b 100644 --- a/package/hwloc/hwloc.mk +++ b/package/hwloc/hwloc.mk @@ -5,7 +5,7 @@ ################################################################################ HWLOC_VERSION_MAJOR = 1.11 -HWLOC_VERSION = $(HWLOC_VERSION_MAJOR).7 +HWLOC_VERSION = $(HWLOC_VERSION_MAJOR).13 HWLOC_SOURCE = hwloc-$(HWLOC_VERSION).tar.bz2 HWLOC_SITE = http://www.open-mpi.org/software/hwloc/v$(HWLOC_VERSION_MAJOR)/downloads HWLOC_LICENSE = BSD-3-Clause diff --git a/package/i2pd/i2pd.hash b/package/i2pd/i2pd.hash index c3c9a48ec5..93e9070066 100644 --- a/package/i2pd/i2pd.hash +++ b/package/i2pd/i2pd.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 6547d7a560482c5eda9106ae19267bc8afbb6af48fed3bebf423ade28103e173 i2pd-2.22.0.tar.gz -sha256 d147a6acdaf8ec9f6513802ef6cad4a4afcdb5ab6b98d9f6bb26d2b7f4cf454c LICENSE +sha256 7e37abcf49e9f59ef6939069f4d74fc6bf29b09deec111bd3561021fc1349528 i2pd-2.31.0.tar.gz +sha256 d147a6acdaf8ec9f6513802ef6cad4a4afcdb5ab6b98d9f6bb26d2b7f4cf454c LICENSE diff --git a/package/i2pd/i2pd.mk b/package/i2pd/i2pd.mk index 3ce5f97fb8..0d2daa10f5 100644 --- a/package/i2pd/i2pd.mk +++ b/package/i2pd/i2pd.mk @@ -4,7 +4,7 @@ # ################################################################################ -I2PD_VERSION = 2.22.0 +I2PD_VERSION = 2.31.0 I2PD_SITE = $(call github,PurpleI2P,i2pd,$(I2PD_VERSION)) I2PD_LICENSE = BSD-3-Clause I2PD_LICENSE_FILES = LICENSE @@ -22,7 +22,9 @@ I2PD_CONF_OPTS += -DWITH_GUI=OFF I2PD_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -I2PD_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +I2PD_CONF_OPTS += \ + -DHAVE_CXX_ATOMICS_WITHOUT_LIB=OFF \ + -DHAVE_CXX_ATOMICS64_WITHOUT_LIB=OFF endif ifeq ($(BR2_STATIC_LIBS),y) @@ -59,9 +61,6 @@ endef define I2PD_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/i2pd/i2pd.service \ $(TARGET_DIR)/usr/lib/systemd/system/i2pd.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -sf ../../../../usr/lib/systemd/system/i2pd.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/i2pd.service endef $(eval $(cmake-package)) diff --git a/package/i7z/i7z.hash b/package/i7z/i7z.hash index 1bcf2c6357..d3affe8dcd 100644 --- a/package/i7z/i7z.hash +++ b/package/i7z/i7z.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 e127bddf850e7febd39cef2d2b13dca5fe19cc2a1bb1099d72b683be5d8bd1c0 i7z-5023138d7c35c4667c938b853e5ea89737334e92.tar.gz +sha256 e127bddf850e7febd39cef2d2b13dca5fe19cc2a1bb1099d72b683be5d8bd1c0 i7z-5023138d7c35c4667c938b853e5ea89737334e92.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/ibm-sw-tpm2/0001-Use-__WORDSIZE-to-define-RADIX_BITS.patch b/package/ibm-sw-tpm2/0001-Use-__WORDSIZE-to-define-RADIX_BITS.patch new file mode 100644 index 0000000000..a19160f68c --- /dev/null +++ b/package/ibm-sw-tpm2/0001-Use-__WORDSIZE-to-define-RADIX_BITS.patch @@ -0,0 +1,44 @@ +From 24a352fc99ebde22235b05b18615817ef7f4263c Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 26 Apr 2020 15:33:39 +0200 +Subject: [PATCH] Use __WORDSIZE to define RADIX_BITS + +This allows to avoid having to support each CPU architecture +individually. + +Signed-off-by: Thomas Petazzoni +--- + src/LibSupport.h | 17 +++-------------- + 1 file changed, 3 insertions(+), 14 deletions(-) + +diff --git a/src/LibSupport.h b/src/LibSupport.h +index b2e6a51..f064d20 100644 +--- a/src/LibSupport.h ++++ b/src/LibSupport.h +@@ -64,20 +64,9 @@ + #ifndef _LIB_SUPPORT_H_ + #define _LIB_SUPPORT_H_ + +-#ifndef RADIX_BITS +-# if defined(__x86_64__) || defined(__x86_64) \ +- || defined(__amd64__) || defined(__amd64) || defined(_WIN64) || defined(_M_X64) \ +- || defined(_M_ARM64) || defined(__aarch64__) \ +- || defined(__powerpc64__) || defined(__ppc64__) +-# define RADIX_BITS 64 +-# elif defined(__i386__) || defined(__i386) || defined(i386) \ +- || defined(_WIN32) || defined(_M_IX86) \ +- || defined(_M_ARM) || defined(__arm__) || defined(__thumb__) +-# define RADIX_BITS 32 +-# else +-# error Unable to determine RADIX_BITS from compiler environment +-# endif +-#endif // RADIX_BITS ++#include ++ ++#define RADIX_BITS __WORDSIZE + + // These macros use the selected libraries to the proper include files. + #define LIB_QUOTE(_STRING_) #_STRING_ +-- +2.25.3 + diff --git a/package/ibm-sw-tpm2/Config.in b/package/ibm-sw-tpm2/Config.in new file mode 100644 index 0000000000..b402ba7150 --- /dev/null +++ b/package/ibm-sw-tpm2/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_IBM_SW_TPM2 + bool "ibm-sw-tpm2" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS # ibm-sw-tpm2 + select BR2_PACKAGE_OPENSSL + # libressl is not supported + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + help + This project is an implementation of the TCG TPM 2.0 + specification. It is based on the TPM specification Parts 3 + and 4 source code donated by Microsoft, with additional + files to complete the implementation. + + https://sourceforge.net/projects/ibmswtpm2/ + +comment "ibm-sw-tpm2 needs a toolchain w/ threads, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/ibm-sw-tpm2/ibm-sw-tpm2.hash b/package/ibm-sw-tpm2/ibm-sw-tpm2.hash new file mode 100644 index 0000000000..f57dcbbb5b --- /dev/null +++ b/package/ibm-sw-tpm2/ibm-sw-tpm2.hash @@ -0,0 +1,6 @@ +# from https://sourceforge.net/projects/ibmswtpm2/files +sha1 a2a5335024a2edc1739f08b99e716fa355be627d ibmtpm1563.tar.gz +md5 13013612b3a13dc935fefe1a5684179c ibmtpm1563.tar.gz +# Locally computed: +sha256 fc3a17f8315c1f47670764f2384943afc0d3ba1e9a0422dacb08d455733bd1e9 ibmtpm1563.tar.gz +sha256 dd2d31b560011ea673e197251e710e52669d911367d83cd3cfd018f8ed58bde9 LICENSE diff --git a/package/ibm-sw-tpm2/ibm-sw-tpm2.mk b/package/ibm-sw-tpm2/ibm-sw-tpm2.mk new file mode 100644 index 0000000000..58102667d1 --- /dev/null +++ b/package/ibm-sw-tpm2/ibm-sw-tpm2.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# ibm-sw-tpm2 +# +################################################################################ + +IBM_SW_TPM2_VERSION = 1563 +IBM_SW_TPM2_SOURCE = ibmtpm$(IBM_SW_TPM2_VERSION).tar.gz +IBM_SW_TPM2_SITE = https://sourceforge.net/projects/ibmswtpm2/files +IBM_SW_TPM2_LICENSE = BSD-3-Clause +IBM_SW_TPM2_LICENSE_FILES = LICENSE +IBM_SW_TPM2_DEPENDENCIES = openssl + +define IBM_SW_TPM2_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src $(TARGET_CONFIGURE_OPTS) +endef + +define IBM_SW_TPM2_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src $(TARGET_CONFIGURE_OPTS) install \ + DESTDIR=$(TARGET_DIR) +endef + +$(eval $(generic-package)) diff --git a/package/ibrdtn-tools/ibrdtn-tools.hash b/package/ibrdtn-tools/ibrdtn-tools.hash index fb77207526..c9fb64cde2 100644 --- a/package/ibrdtn-tools/ibrdtn-tools.hash +++ b/package/ibrdtn-tools/ibrdtn-tools.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 eab066cf15f9c322d769c6c9c58adfb474cba7d446fd12e8de5ff6344376795b ibrdtn-tools-1.0.1.tar.gz +sha256 eab066cf15f9c322d769c6c9c58adfb474cba7d446fd12e8de5ff6344376795b ibrdtn-tools-1.0.1.tar.gz +sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 COPYING diff --git a/package/ibrdtn/ibrdtn.hash b/package/ibrdtn/ibrdtn.hash index 5f233277c1..0712df1cbc 100644 --- a/package/ibrdtn/ibrdtn.hash +++ b/package/ibrdtn/ibrdtn.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 288b14ccbaefb5e3234065c2778c247797ccb3c7afbb6746bb37dc12c620d360 ibrdtn-1.0.1.tar.gz +sha256 288b14ccbaefb5e3234065c2778c247797ccb3c7afbb6746bb37dc12c620d360 ibrdtn-1.0.1.tar.gz +sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 COPYING diff --git a/package/ibrdtnd/ibrdtnd.hash b/package/ibrdtnd/ibrdtnd.hash index 4b7dd7c3d8..e1438bee3b 100644 --- a/package/ibrdtnd/ibrdtnd.hash +++ b/package/ibrdtnd/ibrdtnd.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 9bd79636154093ab6bf4fd10d6c62d67c6db45141460847b19def327c93771ed ibrdtnd-1.0.1.tar.gz +sha256 9bd79636154093ab6bf4fd10d6c62d67c6db45141460847b19def327c93771ed ibrdtnd-1.0.1.tar.gz +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 COPYING diff --git a/package/icu/0005-Fix-big-endian-build.patch b/package/icu/0005-Fix-big-endian-build.patch new file mode 100644 index 0000000000..2cb2129010 --- /dev/null +++ b/package/icu/0005-Fix-big-endian-build.patch @@ -0,0 +1,34 @@ +From 9be0b489a94b57419202c552022f25cb95bfac51 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 17 Apr 2019 16:41:58 +0200 +Subject: [PATCH] Fix big-endian build + +Bug-report: https://unicode-org.atlassian.net/browse/ICU-20533 +Patch taken from: https://bugs.gentoo.org/682170 + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin + +Downloaded from +http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch?h=master + +[Bernd: Fixed path] +Signed-off-by: Bernd Kuhls +--- + data/Makefile.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/source/data/Makefile.in b/source/data/Makefile.in +index 778b6c7..67203e7 100644 +--- a/source/data/Makefile.in ++++ b/source/data/Makefile.in +@@ -148,7 +148,8 @@ ICUDATA_ARCHIVE = $(firstword $(wildcard $(srcdir)/in/$(ICUDATA_BASENAME_VERSION + # and convert it to the current type. + ifneq ($(ICUDATA_ARCHIVE),) + ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat +-$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) $(OUTDIR) ++$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) ++ $(MKINSTALLDIRS) $(OUTDIR) + $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE) + endif + else diff --git a/package/icu/0006-ICU-20751-Fix-nios2-build.patch b/package/icu/0006-ICU-20751-Fix-nios2-build.patch new file mode 100644 index 0000000000..6587de484d --- /dev/null +++ b/package/icu/0006-ICU-20751-Fix-nios2-build.patch @@ -0,0 +1,46 @@ +From d9d99097a5b28f4204b3a15e82564e50f9e62f5a Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 3 Aug 2019 08:05:35 +0200 +Subject: [PATCH] ICU-20751 Fix nios2 build + +Nios2 supports double conversion, tested using qemu: + +./main || echo "correct" +correct +uname -a +Linux buildroot 4.19.16 #4 Sat Aug 3 14:46:48 CEST 2019 nios2 GNU/Linux + +Solves build error + +In file included from double-conversion.h:42:0, + from number_decimalquantity.cpp:19: +double-conversion-utils.h:119:2: error: #error Target architecture was not detected as supported by Double-Conversion. + #error Target architecture was not detected as supported by Double-Conversion. + +detected by buildroot autobuilders: +http://autobuild.buildroot.net/results/91e/91eaec34708d91f8a05af189243be0b7cabce31b/ + +Patch sent upstream: https://github.com/unicode-org/icu/pull/725 +Bug report: https://unicode-org.atlassian.net/browse/ICU-20751 + +[Bernd: Fixed path] +Signed-off-by: Bernd Kuhls +--- + source/i18n/double-conversion-utils.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/source/i18n/double-conversion-utils.h b/source/i18n/double-conversion-utils.h +index 1e44fcaa0e..0cf993929f 100644 +--- a/source/i18n/double-conversion-utils.h ++++ b/source/i18n/double-conversion-utils.h +@@ -95,6 +95,7 @@ int main(int argc, char** argv) { + defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ + defined(__hppa__) || defined(__ia64__) || \ + defined(__mips__) || \ ++ defined(__nios2__) || \ + defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \ + defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \ + defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ +-- +2.20.1 + diff --git a/package/icu/0007-double-conversion-enable-for-microblaze.patch b/package/icu/0007-double-conversion-enable-for-microblaze.patch new file mode 100644 index 0000000000..278c6c61ea --- /dev/null +++ b/package/icu/0007-double-conversion-enable-for-microblaze.patch @@ -0,0 +1,25 @@ +From 395f063b6af8885cc9d688eeeb44acf9d75c6045 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 3 Oct 2019 16:31:22 +0200 +Subject: [PATCH] double-conversion: enable for microblaze + +Signed-off-by: Peter Seiderer +--- + source/i18n/double-conversion-utils.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/source/i18n/double-conversion-utils.h b/source/i18n/double-conversion-utils.h +index 0cf9939..a00037e 100644 +--- a/source/i18n/double-conversion-utils.h ++++ b/source/i18n/double-conversion-utils.h +@@ -104,6 +104,7 @@ int main(int argc, char** argv) { + defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \ + defined(__riscv) || \ + defined(__or1k__) || defined(__arc__) || \ ++ defined(__microblaze__) || \ + defined(__EMSCRIPTEN__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(__mc68000__) || \ +-- +2.23.0 + diff --git a/package/icu/0008-double-conversion-enable-for-xtensa.patch b/package/icu/0008-double-conversion-enable-for-xtensa.patch new file mode 100644 index 0000000000..cb6be5188b --- /dev/null +++ b/package/icu/0008-double-conversion-enable-for-xtensa.patch @@ -0,0 +1,26 @@ +From f8f37357fa7cc403848d2bafe6152a707ca3a074 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Mon, 28 Oct 2019 21:26:05 +0100 +Subject: [PATCH] double-conversion: enable for xtensa + +Signed-off-by: Peter Seiderer +--- + source/i18n/double-conversion-utils.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/source/i18n/double-conversion-utils.h b/source/i18n/double-conversion-utils.h +index a00037e..b3100ac 100644 +--- a/source/i18n/double-conversion-utils.h ++++ b/source/i18n/double-conversion-utils.h +@@ -104,7 +104,7 @@ int main(int argc, char** argv) { + defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \ + defined(__riscv) || \ + defined(__or1k__) || defined(__arc__) || \ +- defined(__microblaze__) || \ ++ defined(__microblaze__) || defined(__XTENSA__) || \ + defined(__EMSCRIPTEN__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(__mc68000__) || \ +-- +2.23.0 + diff --git a/package/icu/Config.in b/package/icu/Config.in index fde486b600..32f35b9d96 100644 --- a/package/icu/Config.in +++ b/package/icu/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_ICU bool "icu" - depends on BR2_HOST_GCC_AT_LEAST_4_8 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 @@ -27,9 +26,8 @@ config BR2_PACKAGE_ICU_CUSTOM_DATA_PATH endif -comment "icu needs a toolchain w/ C++, wchar, threads, gcc >= 4.8, host gcc >= 4.8" +comment "icu needs a toolchain w/ C++, wchar, threads, gcc >= 4.8" depends on !BR2_BINFMT_FLAT depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ - !BR2_HOST_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/icu/icu.hash b/package/icu/icu.hash index 66a0a8dc80..5eb508d2cb 100644 --- a/package/icu/icu.hash +++ b/package/icu/icu.hash @@ -1,3 +1,4 @@ -# From http://download.icu-project.org/files/icu4c/60.2/SHASUM512.txt -sha512 8e718e66c13e7f25714404c46b91ed6305efff1df70c328be2ec743023a7719016dae72a5fa0a05d6f5599983590a2044ff72d3453a048d987ab546d0416d694 icu4c-60_2-src.tgz -sha256 24c771ce37201a3ab604852e47d10d21595d0493269dd6c8a5e567e998e18c00 LICENSE +# From https://github.com/unicode-org/icu/releases/download/release-65-1/SHASUM512.txt +sha512 8f1ef33e1f4abc9a8ee870331c59f01b473d6da1251a19ce403f822f3e3871096f0791855d39c8f20c612fc49cda2c62c06864aa32ddab2dbd186d2b21ce9139 icu4c-65_1-src.tgz +# Locally computed +sha256 6a18c5fac70d7860b57f5b72b4e2c9a1ba6b3d2741eef7ff9767c5379364f10d LICENSE diff --git a/package/icu/icu.mk b/package/icu/icu.mk index a9466c8322..0b8aeeaee1 100644 --- a/package/icu/icu.mk +++ b/package/icu/icu.mk @@ -4,9 +4,13 @@ # ################################################################################ -ICU_VERSION = 60.2 -ICU_SOURCE = icu4c-$(subst .,_,$(ICU_VERSION))-src.tgz -ICU_SITE = http://download.icu-project.org/files/icu4c/$(ICU_VERSION) +# Git tags (and therefore versions on release-monitoring.org) use the +# XX-Y format, but the tarballs are named XX_Y and the containing +# directories XX.Y. +ICU_VERSION = 65-1 +ICU_SOURCE = icu4c-$(subst -,_,$(ICU_VERSION))-src.tgz +ICU_SITE = \ + https://github.com/unicode-org/icu/releases/download/release-$(ICU_VERSION) ICU_LICENSE = ICU License ICU_LICENSE_FILES = LICENSE diff --git a/package/ifenslave/Config.in b/package/ifenslave/Config.in index 2203284db0..d28e0f7c29 100644 --- a/package/ifenslave/Config.in +++ b/package/ifenslave/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_IFENSLAVE help Configure network interfaces for parallel routing (bonding) - http://anonscm.debian.org/cgit/collab-maint/ifenslave.git + https://salsa.debian.org/debian/ifenslave diff --git a/package/ifenslave/ifenslave.hash b/package/ifenslave/ifenslave.hash index dcf31d0904..9073165e7f 100644 --- a/package/ifenslave/ifenslave.hash +++ b/package/ifenslave/ifenslave.hash @@ -1,3 +1,5 @@ # From http://snapshot.debian.org/archive/debian/20170102T091407Z/pool/main/i/ifenslave/ifenslave_2.9.dsc sha1 a17e88fa298ef337e872c8aa5d7a390921239d1a ifenslave_2.9.tar.xz -sha256 e5666c0b61347bd06f2394c16eca6895fcb5e5cc83d0a1c596a975274de5a3c9 ifenslave_2.9.tar.xz +sha256 e5666c0b61347bd06f2394c16eca6895fcb5e5cc83d0a1c596a975274de5a3c9 ifenslave_2.9.tar.xz +# Locally computed +sha256 299e00f3afc0e6ea0685340df73ad444e58e6fe0229989ba0983f5f33e275c41 debian/copyright diff --git a/package/ifmetric/0001-Fix-issue-NETLINK-Packet-too-small-or-truncated-92-1.patch b/package/ifmetric/0001-Fix-issue-NETLINK-Packet-too-small-or-truncated-92-1.patch new file mode 100644 index 0000000000..8986b4fc31 --- /dev/null +++ b/package/ifmetric/0001-Fix-issue-NETLINK-Packet-too-small-or-truncated-92-1.patch @@ -0,0 +1,29 @@ +From 0c80f9ead3eb1d938b3e8e68165c91e62db72de3 Mon Sep 17 00:00:00 2001 +From: Damjan Georgievski +Date: Wed, 15 Aug 2012 00:54:38 +0200 +Subject: [PATCH] Fix issue: NETLINK: Packet too small or truncated! + 92!=16!=244 + +As reported in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=514197#22 + +Signed-off-by: Peter Korsgaard +--- + src/nlrequest.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/nlrequest.c b/src/nlrequest.c +index 99fd3d0..3a1f794 100644 +--- a/src/nlrequest.c ++++ b/src/nlrequest.c +@@ -44,7 +44,7 @@ int netlink_request(int s, struct nlmsghdr *n, int (*callback) (struct nlmsghdr + + for (;;) { + int bytes; +- char replybuf[2048]; ++ char replybuf[4096]; + struct nlmsghdr *p = (struct nlmsghdr *) replybuf; + + if ((bytes = recv(s, &replybuf, sizeof(replybuf), 0)) < 0) { +-- +2.11.0 + diff --git a/package/ifmetric/Config.in b/package/ifmetric/Config.in new file mode 100644 index 0000000000..64c8ace84b --- /dev/null +++ b/package/ifmetric/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_IFMETRIC + bool "ifmetric" + help + Ifmetric is a Linux tool for setting the metrics of all IPv4 + routes attached to a given network interface at once. This + may be used to change the priority of routing IPv4 traffic + over the interface. Lower metrics correlate with higher + priorities. + + http://0pointer.de/lennart/projects/ifmetric/ diff --git a/package/ifmetric/ifmetric.hash b/package/ifmetric/ifmetric.hash new file mode 100644 index 0000000000..186522efab --- /dev/null +++ b/package/ifmetric/ifmetric.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 0fa8510a4e34e555f136f9df81d26618313f2d69a4880c0fb5967f19502f1aec ifmetric-0.3.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 LICENSE +sha256 1e33d5a8750b4b3c2cb4fb89a916463f3c838f8eb361abbf72faf244c7dde771 README diff --git a/package/ifmetric/ifmetric.mk b/package/ifmetric/ifmetric.mk new file mode 100644 index 0000000000..29a6cbcdd6 --- /dev/null +++ b/package/ifmetric/ifmetric.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# ifmetric +# +################################################################################ + +IFMETRIC_VERSION = 0.3 +IFMETRIC_SITE = http://0pointer.de/lennart/projects/ifmetric +IFMETRIC_LICENSE = GPL-2.0+ +IFMETRIC_LICENSE_FILES = LICENSE README +# do not generate documentation +IFMETRIC_CONF_OPTS = --disable-lynx --disable-xmltoman + +$(eval $(autotools-package)) diff --git a/package/ifplugd/ifplugd.hash b/package/ifplugd/ifplugd.hash index 2977c69aa8..9b720e31c0 100644 --- a/package/ifplugd/ifplugd.hash +++ b/package/ifplugd/ifplugd.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 474754ac4ab32d738cbf2a4a3e87ee0a2c71b9048a38bdcd7df1e4f9fd6541f0 ifplugd-0.28.tar.gz +sha256 474754ac4ab32d738cbf2a4a3e87ee0a2c71b9048a38bdcd7df1e4f9fd6541f0 ifplugd-0.28.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 LICENSE diff --git a/package/ifplugd/ifplugd.mk b/package/ifplugd/ifplugd.mk index c7874b49e5..06b0607414 100644 --- a/package/ifplugd/ifplugd.mk +++ b/package/ifplugd/ifplugd.mk @@ -6,7 +6,7 @@ IFPLUGD_VERSION = 0.28 IFPLUGD_SITE = http://0pointer.de/lennart/projects/ifplugd -IFPLUGD_LICENSE = GPL-2.0 +IFPLUGD_LICENSE = GPL-2.0+ IFPLUGD_LICENSE_FILES = LICENSE IFPLUGD_AUTORECONF = YES diff --git a/package/iftop/iftop.hash b/package/iftop/iftop.hash index 19ce66b0a4..3611a6a6ce 100644 --- a/package/iftop/iftop.hash +++ b/package/iftop/iftop.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 f733eeea371a7577f8fe353d86dd88d16f5b2a2e702bd96f5ffb2c197d9b4f97 iftop-1.0pre4.tar.gz +sha256 f733eeea371a7577f8fe353d86dd88d16f5b2a2e702bd96f5ffb2c197d9b4f97 iftop-1.0pre4.tar.gz +sha256 c00d1408e080e7f14615c7c2e0fbd079f1b2c19e93fc6eab819bdee8d5fdfbc4 COPYING diff --git a/package/ifupdown-scripts/Config.in b/package/ifupdown-scripts/Config.in index 2f4b0d5467..166094c511 100644 --- a/package/ifupdown-scripts/Config.in +++ b/package/ifupdown-scripts/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_IFUPDOWN_SCRIPTS bool "ifupdown scripts" default y if BR2_ROOTFS_SKELETON_DEFAULT - depends on !BR2_PACKAGE_SYSTEMD_NETWORKD + depends on !BR2_PACKAGE_SYSTEMD_NETWORKD && !BR2_PACKAGE_NETIFRC help Set of scripts used by ifupdown (either the standalone one, or the busybox one) to bring network up, or tear it down. diff --git a/package/ifupdown-scripts/ifupdown-scripts.mk b/package/ifupdown-scripts/ifupdown-scripts.mk index 17364aed03..5ef032142c 100644 --- a/package/ifupdown-scripts/ifupdown-scripts.mk +++ b/package/ifupdown-scripts/ifupdown-scripts.mk @@ -4,13 +4,17 @@ # ################################################################################ +define IFUPDOWN_SCRIPTS_PREAMBLE + echo "# interface file auto-generated by buildroot" \ + > $(TARGET_DIR)/etc/network/interfaces +endef + define IFUPDOWN_SCRIPTS_LOCALHOST ( \ - echo "# interface file auto-generated by buildroot"; \ echo ; \ echo "auto lo"; \ echo "iface lo inet loopback"; \ - ) > $(TARGET_DIR)/etc/network/interfaces + ) >> $(TARGET_DIR)/etc/network/interfaces endef IFUPDOWN_SCRIPTS_DHCP_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP)) @@ -25,21 +29,33 @@ define IFUPDOWN_SCRIPTS_DHCP 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 +endef +define IFUPDOWN_SCRIPTS_DHCP_OPENRC + echo "ifup $(IFUPDOWN_SCRIPTS_DHCP_IFACE)" \ + > $(TARGET_DIR)/etc/ifup.$(IFUPDOWN_SCRIPTS_DHCP_IFACE) + echo "ifdown $(IFUPDOWN_SCRIPTS_DHCP_IFACE)" \ + > $(TARGET_DIR)/etc/ifdown.$(IFUPDOWN_SCRIPTS_DHCP_IFACE) endef endif define IFUPDOWN_SCRIPTS_INSTALL_TARGET_CMDS - mkdir -p $(TARGET_DIR)/etc/network + $(INSTALL) -m 0755 -D $(IFUPDOWN_SCRIPTS_PKGDIR)/nfs_check \ + $(TARGET_DIR)/etc/network/nfs_check $(call SYSTEM_RSYNC,$(IFUPDOWN_SCRIPTS_PKGDIR)/network,$(TARGET_DIR)/etc/network) - $(IFUPDOWN_SCRIPTS_LOCALHOST) +endef + +define IFUPDOWN_SCRIPTS_INSTALL_INIT_OPENRC + $(IFUPDOWN_SCRIPTS_PREAMBLE) $(IFUPDOWN_SCRIPTS_DHCP) + $(IFUPDOWN_SCRIPTS_DHCP_OPENRC) endef define IFUPDOWN_SCRIPTS_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 $(IFUPDOWN_SCRIPTS_PKGDIR)/S40network \ $(TARGET_DIR)/etc/init.d/S40network + $(IFUPDOWN_SCRIPTS_PREAMBLE) + $(IFUPDOWN_SCRIPTS_LOCALHOST) + $(IFUPDOWN_SCRIPTS_DHCP) endef # ifupdown-scripts can not be selected when systemd-networkd is @@ -48,9 +64,9 @@ endef define IFUPDOWN_SCRIPTS_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 $(IFUPDOWN_SCRIPTS_PKGDIR)/network.service \ $(TARGET_DIR)/etc/systemd/system/network.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -fs ../network.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/network.service + $(IFUPDOWN_SCRIPTS_PREAMBLE) + $(IFUPDOWN_SCRIPTS_LOCALHOST) + $(IFUPDOWN_SCRIPTS_DHCP) endef $(eval $(generic-package)) diff --git a/package/ifupdown/ifupdown.hash b/package/ifupdown/ifupdown.hash index 01353c639b..f8844a60a6 100644 --- a/package/ifupdown/ifupdown.hash +++ b/package/ifupdown/ifupdown.hash @@ -1,2 +1,4 @@ # From http://ftp.de.debian.org/debian/pool/main/i/ifupdown/ifupdown_0.8.16.dsc -sha256 601416c12e39ac29022951a2867aed5c607f732ac57fd51517bfba92a4cc4fb0 ifupdown_0.8.16.tar.xz +sha256 601416c12e39ac29022951a2867aed5c607f732ac57fd51517bfba92a4cc4fb0 ifupdown_0.8.16.tar.xz +# Locally computed +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/igd2-for-linux/igd2-for-linux.hash b/package/igd2-for-linux/igd2-for-linux.hash index 0425399501..ecde4b51c2 100644 --- a/package/igd2-for-linux/igd2-for-linux.hash +++ b/package/igd2-for-linux/igd2-for-linux.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 523545a26b0d662e9f6913bec2518df6e70f4d497935d88983d994336a1b0ea9 igd2-for-linux-v1.2.tar.gz +sha256 523545a26b0d662e9f6913bec2518df6e70f4d497935d88983d994336a1b0ea9 igd2-for-linux-1.2.tar.gz sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 linuxigd2/doc/LICENSE diff --git a/package/igd2-for-linux/igd2-for-linux.mk b/package/igd2-for-linux/igd2-for-linux.mk index 68b64f1d47..478c353997 100644 --- a/package/igd2-for-linux/igd2-for-linux.mk +++ b/package/igd2-for-linux/igd2-for-linux.mk @@ -4,8 +4,8 @@ # ################################################################################ -IGD2_FOR_LINUX_VERSION = v1.2 -IGD2_FOR_LINUX_SITE = $(call github,ffontaine,igd2-for-linux,$(IGD2_FOR_LINUX_VERSION)) +IGD2_FOR_LINUX_VERSION = 1.2 +IGD2_FOR_LINUX_SITE = $(call github,ffontaine,igd2-for-linux,v$(IGD2_FOR_LINUX_VERSION)) IGD2_FOR_LINUX_LICENSE = GPL-2.0 IGD2_FOR_LINUX_LICENSE_FILES = linuxigd2/doc/LICENSE @@ -40,9 +40,6 @@ endef define IGD2_FOR_LINUX_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 0644 package/igd2-for-linux/upnpd.service \ $(TARGET_DIR)/usr/lib/systemd/system/upnpd.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -sf ../../../../usr/lib/systemd/system/upnpd.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/upnpd.service endef $(eval $(generic-package)) diff --git a/package/igh-ethercat/igh-ethercat.hash b/package/igh-ethercat/igh-ethercat.hash index b5ee124aa4..fd373a1407 100644 --- a/package/igh-ethercat/igh-ethercat.hash +++ b/package/igh-ethercat/igh-ethercat.hash @@ -1,2 +1,5 @@ # From http://etherlab.org/download/ethercat/ethercat-1.5.2.tar.bz2.md5 md5 6b4001f8d975865d74a0b108b3bdda3d ethercat-1.5.2.tar.bz2 +# Locally computed +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER diff --git a/package/ijs/ijs.hash b/package/ijs/ijs.hash index 1a8f564efd..6accb57123 100644 --- a/package/ijs/ijs.hash +++ b/package/ijs/ijs.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 11a5f5084488c480f3ff5a24d64d7147bb64272bf60a0ba51330a56c5b50cab9 ijs-0.35.tar.bz2 +sha256 f723390b7ee019eccf07763dcb5744acf8bb43034bc3ba3d6f1c94440e365b4f README diff --git a/package/ima-evm-utils/Config.in b/package/ima-evm-utils/Config.in new file mode 100644 index 0000000000..851e2456bc --- /dev/null +++ b/package/ima-evm-utils/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_IMA_EVM_UTILS + bool "ima-evm-utils" + depends on BR2_USE_MMU # keyutils + depends on !BR2_STATIC_LIBS # keyutils + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_KEYUTILS + help + Linux Integrity Measurement Architecture (IMA) + Extended Verification Module (EVM) tools. + + https://sourceforge.net/p/linux-ima/wiki/Home/ + +comment "ima-evm-utils needs dynamic library support" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS diff --git a/package/ima-evm-utils/ima-evm-utils.hash b/package/ima-evm-utils/ima-evm-utils.hash new file mode 100644 index 0000000000..24be627d20 --- /dev/null +++ b/package/ima-evm-utils/ima-evm-utils.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 ad8471b58c4df29abd51c80d74b1501cfe3289b60d32d1b318618a8fd26c0c0a ima-evm-utils-1.2.1.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/ima-evm-utils/ima-evm-utils.mk b/package/ima-evm-utils/ima-evm-utils.mk new file mode 100644 index 0000000000..b944eda13c --- /dev/null +++ b/package/ima-evm-utils/ima-evm-utils.mk @@ -0,0 +1,32 @@ +################################################################################ +# +# ima-evm-utils +# +################################################################################ + +IMA_EVM_UTILS_VERSION = 1.2.1 +IMA_EVM_UTILS_SITE = http://downloads.sourceforge.net/project/linux-ima/ima-evm-utils +IMA_EVM_UTILS_LICENSE = GPL-2.0 +IMA_EVM_UTILS_LICENSE_FILES = COPYING +IMA_EVM_UTILS_DEPENDENCIES = host-pkgconf keyutils openssl + +# Tarball doesn't contain configure +IMA_EVM_UTILS_AUTORECONF = YES + +# Build and install in the src subdirectory. This avoids building the +# documentation, which requires asciidoc and xsltproc. Note that configure still +# needs to be run from the top dir, so _SUBDIR can't be used. + +define IMA_EVM_UTILS_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src all +endef + +define IMA_EVM_UTILS_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(STAGING_DIR)" -C $(@D)/src install +endef + +define IMA_EVM_UTILS_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(TARGET_DIR)" -C $(@D)/src install +endef + +$(eval $(autotools-package)) diff --git a/package/imagemagick/Config.in.host b/package/imagemagick/Config.in.host new file mode 100644 index 0000000000..bbe23baa6f --- /dev/null +++ b/package/imagemagick/Config.in.host @@ -0,0 +1,26 @@ +config BR2_PACKAGE_HOST_IMAGEMAGICK + bool "host imagemagick" + help + ImageMagick(R) is a software suite to create, edit, and + compose bitmap images. It can read, convert and write images + in a variety of formats (about 100) including DPX, EXR, GIF, + 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. + + http://www.imagemagick.org/ + +if BR2_PACKAGE_HOST_IMAGEMAGICK + +config BR2_PACKAGE_HOST_IMAGEMAGICK_SVG + bool "SVG support" + help + Say 'y' here is you need ImageMagick tools (like convert) + to support SVG. + + This is not enabled by default, as it brings quite a few + extra dependencies, and thus extra build time. + +endif diff --git a/package/imagemagick/imagemagick.hash b/package/imagemagick/imagemagick.hash index 9d5a39567e..f95fa275d1 100644 --- a/package/imagemagick/imagemagick.hash +++ b/package/imagemagick/imagemagick.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e7c1b19923bb97ed456c78b63b3259b809ebc8e3967c6d086450370c67eedf06 7.0.7-39.tar.gz -sha256 2318cc05bbd2c25c1b2d13af1aadccc45b9cf6f94757421ae59a3c8ea9064f1c LICENSE +sha256 238ee17196fcb80bb58485910aaefc12d48f99e4043c2a28f06ff9588161c4e3 7.0.8-59.tar.gz +sha256 5b47db932754743460eba7a226aea85b63e3408d3c7affb4d0117f70c9594ded LICENSE diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index 7678980582..5ef04973a6 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMAGEMAGICK_VERSION = 7.0.7-39 +IMAGEMAGICK_VERSION = 7.0.8-59 IMAGEMAGICK_SOURCE = $(IMAGEMAGICK_VERSION).tar.gz IMAGEMAGICK_SITE = https://github.com/ImageMagick/ImageMagick/archive IMAGEMAGICK_LICENSE = Apache-2.0 @@ -18,10 +18,13 @@ ifeq ($(BR2_INSTALL_LIBSTDCPP)$(BR2_USE_WCHAR),yy) IMAGEMAGICK_CONFIG_SCRIPTS += Magick++-config endif -IMAGEMAGICK_CONF_ENV = ac_cv_sys_file_offset_bits=64 +IMAGEMAGICK_CONF_ENV = \ + ac_cv_sys_file_offset_bits=64 \ + ax_cv_check_cl_libcl=no IMAGEMAGICK_CONF_OPTS = \ --program-transform-name='s,,,' \ + --disable-opencl \ --disable-openmp \ --without-djvu \ --without-dps \ @@ -40,6 +43,14 @@ IMAGEMAGICK_CONF_OPTS = \ IMAGEMAGICK_DEPENDENCIES = host-pkgconf +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) +# Like postgreSQL, imagemagick does not build against uClibc with +# locales enabled, due to an uClibc bug, see +# http://lists.uclibc.org/pipermail/uclibc/2014-April/048326.html +# so overwrite automatic detection and disable locale support +IMAGEMAGICK_CONF_ENV += ac_cv_func_newlocale=no +endif + ifeq ($(BR2_PACKAGE_FONTCONFIG),y) IMAGEMAGICK_CONF_OPTS += --with-fontconfig IMAGEMAGICK_DEPENDENCIES += fontconfig @@ -144,6 +155,7 @@ IMAGEMAGICK_CONF_OPTS += --without-bzlib endif HOST_IMAGEMAGICK_CONF_OPTS = \ + --disable-opencl \ --disable-openmp \ --without-djvu \ --without-dps \ @@ -160,24 +172,47 @@ HOST_IMAGEMAGICK_CONF_OPTS = \ --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 +# uses clock_gettime, which was provided by librt in glibc < 2.17 +HOST_IMAGEMAGICK_CONF_ENV = \ + LIBS="-lrt" \ + ax_cv_check_cl_libcl=no + HOST_IMAGEMAGICK_DEPENDENCIES = \ host-libjpeg \ host-libpng \ host-pkgconf \ host-zlib +ifeq ($(BR2_PACKAGE_HOST_IMAGEMAGICK_SVG),y) +HOST_IMAGEMAGICK_DEPENDENCIES += \ + host-fontconfig \ + host-freetype \ + host-librsvg \ + host-libxml2 \ + host-pango +HOST_IMAGEMAGICK_CONF_ENV += ac_cv_path_xml2_config=$(HOST_DIR)/bin/xml2-config +HOST_IMAGEMAGICK_CONF_OPTS += \ + --with-fontconfig \ + --with-freetype \ + --with-pango \ + --with-rsvg \ + --with-xml +else +HOST_IMAGEMAGICK_CONF_OPTS += \ + --without-fontconfig \ + --without-freetype \ + --without-pango \ + --without-rsvg \ + --without-xml +endif + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/imx-mkimage/0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch b/package/imx-mkimage/0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch new file mode 100644 index 0000000000..e8ba820f2f --- /dev/null +++ b/package/imx-mkimage/0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch @@ -0,0 +1,60 @@ +From 4870df3d70e94f9f0d6c06f610cea2d88cd6edb5 Mon Sep 17 00:00:00 2001 +From: Erik Larsson +Date: Thu, 8 Mar 2018 19:04:37 +0100 +Subject: [PATCH] Add support for overriding BL32 and BL33 not only BL31 + +Signed-off-by: Erik Larsson +Signed-off-by: Christopher Dahlberg +Signed-off-by: Marcus Folkesson +--- + iMX8M/mkimage_fit_atf.sh | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/iMX8M/mkimage_fit_atf.sh b/iMX8M/mkimage_fit_atf.sh +index 95749b1..c1aa902 100755 +--- a/iMX8M/mkimage_fit_atf.sh ++++ b/iMX8M/mkimage_fit_atf.sh +@@ -18,23 +18,23 @@ if [ ! -f $BL31 ]; then + echo "ERROR: BL31 file $BL31 NOT found" >&2 + exit 0 + else +- echo "bl31.bin size: " >&2 +- ls -lct bl31.bin | awk '{print $5}' >&2 ++ echo "$BL31 size: " >&2 ++ ls -lct $BL31 | awk '{print $5}' >&2 + fi + +-BL32="tee.bin" ++[ -z "$BL32" ] && BL32="tee.bin" + LOADABLES="\"atf@1\"" + + if [ ! -f $BL32 ]; then + BL32=/dev/null + else + echo "Building with TEE support, make sure your bl31 is compiled with spd. If you do not want tee, please delete tee.bin" >&2 +- echo "tee.bin size: " >&2 +- ls -lct tee.bin | awk '{print $5}' >&2 ++ echo "$BL32 size: " >&2 ++ ls -lct $BL32 | awk '{print $5}' >&2 + LOADABLES="$LOADABLES, \"tee@1\"" + fi + +-BL33="u-boot-nodtb.bin" ++[ -z "$BL33" ] && BL33="u-boot-nodtb.bin" + DEK_BLOB="dek_blob_fit_dummy.bin" + + if [ ! -f $DEK_BLOB ]; then +@@ -49,8 +49,8 @@ if [ ! -f $BL33 ]; then + exit 0 + else + +- echo "u-boot-nodtb.bin size: " >&2 +- ls -lct u-boot-nodtb.bin | awk '{print $5}' >&2 ++ echo "$BL33 size: " >&2 ++ ls -lct $BL33 | awk '{print $5}' >&2 + fi + + for dtname in $* +-- +2.25.1 + diff --git a/package/imx-mkimage/0001-add-support-for-overriding-bl32-and-bl33-not-only-bl.patch b/package/imx-mkimage/0001-add-support-for-overriding-bl32-and-bl33-not-only-bl.patch deleted file mode 100644 index 430122f7ed..0000000000 --- a/package/imx-mkimage/0001-add-support-for-overriding-bl32-and-bl33-not-only-bl.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 0677e6cff00506de56d11bfa230b6c366e74f6ed Mon Sep 17 00:00:00 2001 -From: Erik Larsson -Date: Thu, 8 Mar 2018 19:04:37 +0100 -Subject: [PATCH] Add support for overriding BL32 and BL33 not only BL31 - -Signed-off-by: Erik Larsson -Signed-off-by: Christopher Dahlberg -Signed-off-by: Marcus Folkesson ---- - iMX8M/mkimage_fit_atf.sh | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/iMX8M/mkimage_fit_atf.sh b/iMX8M/mkimage_fit_atf.sh -index 3a3bd10..727f746 100755 ---- a/iMX8M/mkimage_fit_atf.sh -+++ b/iMX8M/mkimage_fit_atf.sh -@@ -11,29 +11,29 @@ if [ ! -f $BL31 ]; then - echo "ERROR: BL31 file $BL31 NOT found" >&2 - exit 0 - else -- echo "bl31.bin size: " >&2 -- ls -lct bl31.bin | awk '{print $5}' >&2 -+ echo "$BL31 size: " >&2 -+ ls -lct $BL31 | awk '{print $5}' >&2 - fi - --BL32="tee.bin" -+[ -z "$BL32" ] && BL32="tee.bin" - - if [ ! -f $BL32 ]; then - BL32=/dev/null - else -- echo "Building with TEE support, make sure your bl31 is compiled with spd. If you do not want tee, please delete tee.bin" >&2 -- echo "tee.bin size: " >&2 -- ls -lct tee.bin | awk '{print $5}' >&2 -+ echo "Building with TEE support, make sure your bl31 is compiled with spd. If you do not want tee, please delete $BL32" >&2 -+ echo "$BL32 size: " >&2 -+ ls -lct $BL32 | awk '{print $5}' >&2 - fi - --BL33="u-boot-nodtb.bin" -+[ -z "$BL33" ] && BL33="u-boot-nodtb.bin" - - if [ ! -f $BL33 ]; then - echo "ERROR: $BL33 file NOT found" >&2 - exit 0 - else - -- echo "u-boot-nodtb.bin size: " >&2 -- ls -lct u-boot-nodtb.bin | awk '{print $5}' >&2 -+ echo "$BL33: " >&2 -+ ls -lct $BL33 | awk '{print $5}' >&2 - fi - - for dtname in $* --- -2.7.4 - diff --git a/package/imx-mkimage/0002-Add-LDFLAGS-to-link-step.patch b/package/imx-mkimage/0002-Add-LDFLAGS-to-link-step.patch new file mode 100644 index 0000000000..7272c3ac6c --- /dev/null +++ b/package/imx-mkimage/0002-Add-LDFLAGS-to-link-step.patch @@ -0,0 +1,26 @@ +From 3ef9f773ce1a402607957fa73775d2e0a591a1a5 Mon Sep 17 00:00:00 2001 +From: Erik Larsson +Date: Tue, 6 Mar 2018 12:28:39 +0100 +Subject: [PATCH] Add LDFLAGS to link step + +Signed-off-by: Erik Larsson +--- + iMX8M/soc.mak | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak +index d714259..aecf84b 100644 +--- a/iMX8M/soc.mak ++++ b/iMX8M/soc.mak +@@ -67,7 +67,7 @@ FW_DIR = imx-boot/imx-boot-tools/$(PLAT) + $(MKIMG): mkimage_imx8.c + @echo "PLAT="$(PLAT) "HDMI="$(HDMI) + @echo "Compiling mkimage_imx8" +- $(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) -lz ++ $(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) $(LDFLAGS) -lz + + u-boot-spl-ddr.bin: u-boot-spl.bin lpddr4_pmu_train_1d_imem.bin lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_2d_imem.bin lpddr4_pmu_train_2d_dmem.bin + @objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 lpddr4_pmu_train_1d_imem.bin lpddr4_pmu_train_1d_imem_pad.bin +-- +2.25.1 + diff --git a/package/imx-mkimage/0002-add-ldflags-to-link-step.patch b/package/imx-mkimage/0002-add-ldflags-to-link-step.patch deleted file mode 100644 index 1d5fe77596..0000000000 --- a/package/imx-mkimage/0002-add-ldflags-to-link-step.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a73f20fbe921c7ecff3efda23bc506fdd935ee4d Mon Sep 17 00:00:00 2001 -From: Erik Larsson -Date: Tue, 6 Mar 2018 12:28:39 +0100 -Subject: [PATCH] Add LDFLAGS to link step - -Signed-off-by: Erik Larsson ---- - iMX8M/soc.mak | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak -index 8346769..38a14bb 100644 ---- a/iMX8M/soc.mak -+++ b/iMX8M/soc.mak -@@ -15,7 +15,7 @@ FW_DIR = imx-boot/imx-boot-tools/imx8mq - - $(MKIMG): mkimage_imx8.c - @echo "Compiling mkimage_imx8" -- $(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) -lz -+ $(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) $(LDFLAGS) -lz - - $(DCD_CFG): $(DCD_CFG_SRC) - @echo "Converting iMX8M DCD file" --- -2.7.4 - diff --git a/package/imx-mkimage/0003-Add-unused-fake-version.patch b/package/imx-mkimage/0003-Add-unused-fake-version.patch new file mode 100644 index 0000000000..0e817a1ac8 --- /dev/null +++ b/package/imx-mkimage/0003-Add-unused-fake-version.patch @@ -0,0 +1,36 @@ +From b25b4324be4c0dd9ee5fecdf2981d291fb187686 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Hentschel?= +Date: Mon, 25 Feb 2019 22:15:55 +0100 +Subject: [PATCH] Add unused fake version +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The Makefile makes the assumption that the build process runs +from a Git clone of the source code. +We can safely add a fake version here, because the code to +print it is broken anyway. + +Signed-off-by: André Hentschel +--- + Makefile | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 49ef486..b966399 100644 +--- a/Makefile ++++ b/Makefile +@@ -37,9 +37,7 @@ $(MKIMG): src/build_info.h $(SRCS) + bin: $(MKIMG) + + src/build_info.h: +- @echo -n '#define MKIMAGE_COMMIT 0x' > src/build_info.h +- @git rev-parse --short=8 HEAD >> src/build_info.h +- @echo '' >> src/build_info.h ++ @echo '#define MKIMAGE_COMMIT 0xdeadbeef' > src/build_info.h + + help: + @echo $(CURR_DIR) +-- +2.25.1 + diff --git a/package/imx-mkimage/imx-mkimage.hash b/package/imx-mkimage/imx-mkimage.hash index e1cbdd973c..6d5a329ed5 100644 --- a/package/imx-mkimage/imx-mkimage.hash +++ b/package/imx-mkimage/imx-mkimage.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 bc79e11cfbde303e200287fa6624028c8ce5344f8a35ed179b3fe217d74155da imx-mkimage-rel_imx_4.9.51_8mq_ga.tar.gz -sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c iMX8dv/COPYING +sha256 a7e4c1c45b0d36e088bd7891335aa3c726682750984b7ca072e3c6329def92cf imx-mkimage-rel_imx_4.19.35_1.1.0.tar.gz +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/imx-mkimage/imx-mkimage.mk b/package/imx-mkimage/imx-mkimage.mk index 6fd6aa39b0..ed0e435a73 100644 --- a/package/imx-mkimage/imx-mkimage.mk +++ b/package/imx-mkimage/imx-mkimage.mk @@ -4,22 +4,34 @@ # ################################################################################ -IMX_MKIMAGE_VERSION = rel_imx_4.9.51_8mq_ga +IMX_MKIMAGE_VERSION = rel_imx_4.19.35_1.1.0 IMX_MKIMAGE_SITE = https://source.codeaurora.org/external/imx/imx-mkimage IMX_MKIMAGE_SITE_METHOD = git IMX_MKIMAGE_LICENSE = GPL-2.0+ -IMX_MKIMAGE_LICENSE_FILES = iMX8dv/COPYING +IMX_MKIMAGE_LICENSE_FILES = COPYING HOST_IMX_MKIMAGE_DEPENDENCIES = host-zlib +ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN),y) +# i.MX8M needs a different binary define HOST_IMX_MKIMAGE_BUILD_CMDS - # Currently this only supports iMX8M. When more hardware is available - # this needs to be selectable based on iMX8-version (iMX8M,iMXQ etc). - $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D)/iMX8M -f soc.mak mkimage_imx8 + $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) \ + CFLAGS="$(HOST_CFLAGS) -std=c99" \ + -C $(@D)/iMX8M -f soc.mak mkimage_imx8 endef - define HOST_IMX_MKIMAGE_INSTALL_CMDS $(INSTALL) -D -m 755 $(@D)/iMX8M/mkimage_imx8 $(HOST_DIR)/bin/mkimage_imx8 $(INSTALL) -D -m 755 $(@D)/iMX8M/mkimage_fit_atf.sh $(HOST_DIR)/bin/mkimage_fit_atf.sh endef +else +# i.MX8 and i.MX8X +define HOST_IMX_MKIMAGE_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) \ + CFLAGS="$(HOST_CFLAGS) -std=c99" \ + -C $(@D) MKIMG=mkimage_imx8 mkimage_imx8 +endef +define HOST_IMX_MKIMAGE_INSTALL_CMDS + $(INSTALL) -D -m 755 $(@D)/mkimage_imx8 $(HOST_DIR)/bin/mkimage_imx8 +endef +endif $(eval $(host-generic-package)) diff --git a/package/imx-usb-loader/imx-usb-loader.hash b/package/imx-usb-loader/imx-usb-loader.hash index 149be676d7..182116a25f 100644 --- a/package/imx-usb-loader/imx-usb-loader.hash +++ b/package/imx-usb-loader/imx-usb-loader.hash @@ -1,2 +1,3 @@ # locally computed sha256 5a17886042c09f0f16093031183a287a2a7ae0fa9cd8bdfa31e7b31cb92510d9 imx-usb-loader-4aa9809099dcece9a9225776321f3b4b5b896d78.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/inadyn/Config.in b/package/inadyn/Config.in index d03db83e3a..3589823da4 100644 --- a/package/inadyn/Config.in +++ b/package/inadyn/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_INADYN depends on BR2_USE_MMU # Uses fork() depends on !BR2_STATIC_LIBS # dlopen() select BR2_PACKAGE_LIBCONFUSE - select BR2_PACKAGE_LIBITE help INADYN is a free DynDNS client. It gives the possibility to have your own fixed hostname registered on the internet, diff --git a/package/inadyn/inadyn.hash b/package/inadyn/inadyn.hash index 2691ba0ef9..8480e449ca 100644 --- a/package/inadyn/inadyn.hash +++ b/package/inadyn/inadyn.hash @@ -1,5 +1,6 @@ -# From https://github.com/troglobit/inadyn/releases/download/v2.5/inadyn-2.5.tar.xz.md5 -md5 8a864d5186e54d24de2d7554fc01b3ec inadyn-2.5.tar.xz +# From https://github.com/troglobit/inadyn/releases/download/v2.7/inadyn-2.7.tar.xz.md5 +md5 3ab125df504a9755264a9ebeedbfa4de inadyn-2.7.tar.xz + # Locally computed -sha256 4a9ad208671f62912428413da0282450b2d2c4da38f3c95c4ac975d048c41fcd inadyn-2.5.tar.xz -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 eb03bc9d9c09dfbbc651b43a2eb5a967d0454a8293576df23784710dac50c6a4 inadyn-2.7.tar.xz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/inadyn/inadyn.mk b/package/inadyn/inadyn.mk index 96a37d4768..7888f5a360 100644 --- a/package/inadyn/inadyn.mk +++ b/package/inadyn/inadyn.mk @@ -4,12 +4,12 @@ # ################################################################################ -INADYN_VERSION = 2.5 +INADYN_VERSION = 2.7 INADYN_SITE = https://github.com/troglobit/inadyn/releases/download/v$(INADYN_VERSION) INADYN_SOURCE = inadyn-$(INADYN_VERSION).tar.xz INADYN_LICENSE = GPL-2.0+ INADYN_LICENSE_FILES = COPYING -INADYN_DEPENDENCIES = host-pkgconf libconfuse libite +INADYN_DEPENDENCIES = host-pkgconf libconfuse ifeq ($(BR2_PACKAGE_OPENSSL),y) INADYN_CONF_OPTS += --enable-openssl @@ -34,9 +34,6 @@ endef define INADYN_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/inadyn/inadyn.service \ $(TARGET_DIR)/usr/lib/systemd/system/inadyn.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -sf ../../../../usr/lib/systemd/system/inadyn.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/inadyn.service endef $(eval $(autotools-package)) diff --git a/package/inconsolata/inconsolata.hash b/package/inconsolata/inconsolata.hash index 49ea958472..d222fc32c6 100644 --- a/package/inconsolata/inconsolata.hash +++ b/package/inconsolata/inconsolata.hash @@ -1,2 +1,4 @@ # From http://snapshot.debian.org/archive/debian/20091207T044352Z/pool/main/t/ttf-inconsolata/ttf-inconsolata_001.010-2.dsc -sha256 ecf8ba44911fcb3c9683aef1ca2b3cfbafa119a3e93c682f448850e1ae08ce93 ttf-inconsolata_001.010.orig.tar.gz +sha256 ecf8ba44911fcb3c9683aef1ca2b3cfbafa119a3e93c682f448850e1ae08ce93 ttf-inconsolata_001.010.orig.tar.gz +# Locally computed +sha256 8bbed014d1c85a9e3f36703816833c9538e140fea88c2bc3a745ce2449dc18ab OFL.txt diff --git a/package/initscripts/init.d/S20urandom b/package/initscripts/init.d/S20urandom index cababe1023..e4fd125721 100644 --- a/package/initscripts/init.d/S20urandom +++ b/package/initscripts/init.d/S20urandom @@ -1,51 +1,74 @@ #! /bin/sh # -# urandom This script saves the random seed between reboots. -# It is called from the boot, halt and reboot scripts. -# -# Version: @(#)urandom 1.33 22-Jun-1998 miquels@cistron.nl +# Preserve the random seed between reboots. See urandom(4). # +# Quietly do nothing if /dev/urandom does not exist [ -c /dev/urandom ] || exit 0 -#. /etc/default/rcS + +URANDOM_SEED="/var/lib/random-seed" + +# shellcheck source=/dev/null +[ -r "/etc/default/urandom" ] && . "/etc/default/urandom" + +if pool_bits=$(cat /proc/sys/kernel/random/poolsize 2> /dev/null); then + pool_size=$((pool_bits/8)) +else + pool_size=512 +fi + +check_file_size() { + [ -f "$URANDOM_SEED" ] || return 1 + # Try to read two blocks but exactly one will be read if the file has + # the correct size. + size=$(dd if="$URANDOM_SEED" bs="$pool_size" count=2 2> /dev/null | wc -c) + test "$size" -eq "$pool_size" +} + +init_rng() { + if check_file_size; then + printf 'Initializing random number generator: ' + dd if="$URANDOM_SEED" bs="$pool_size" of=/dev/urandom count=1 2> /dev/null + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" + fi +} + +save_random_seed() { + printf 'Saving random seed: ' + if touch "$URANDOM_SEED" 2> /dev/null; then + old_umask=$(umask) + umask 077 + dd if=/dev/urandom of="$URANDOM_SEED" bs="$pool_size" count=1 2> /dev/null + status=$? + umask "$old_umask" + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + else + status=$? + echo "SKIP (read-only file system detected)" + fi + return "$status" +} case "$1" in - start|"") - # check for read only file system - if ! touch /etc/random-seed 2>/dev/null - then - echo "read-only file system detected...done" - exit - fi - if [ "$VERBOSE" != no ] - then - printf "Initializing random number generator... " - fi - # Load and then save 512 bytes, - # which is the size of the entropy pool - cat /etc/random-seed >/dev/urandom - rm -f /etc/random-seed - umask 077 - dd if=/dev/urandom of=/etc/random-seed count=1 \ - >/dev/null 2>&1 || echo "urandom start: failed." - umask 022 - [ "$VERBOSE" != no ] && echo "done." - ;; + start|restart|reload) + # Carry a random seed from start-up to start-up + # Load and then save the whole entropy pool + init_rng && save_random_seed;; stop) - if ! touch /etc/random-seed 2>/dev/null - then - exit - fi - # Carry a random seed from shut-down to start-up; - # see documentation in linux/drivers/char/random.c - [ "$VERBOSE" != no ] && printf "Saving random seed... " - umask 077 - dd if=/dev/urandom of=/etc/random-seed count=1 \ - >/dev/null 2>&1 || echo "urandom stop: failed." - [ "$VERBOSE" != no ] && echo "done." - ;; + # Carry a random seed from shut-down to start-up + # Save the whole entropy pool + save_random_seed;; *) - echo "Usage: urandom {start|stop}" >&2 + echo "Usage: $0 {start|stop|restart|reload}" exit 1 - ;; esac diff --git a/package/input-event-daemon/input-event-daemon.hash b/package/input-event-daemon/input-event-daemon.hash index d5364a95e3..ad0c4e9913 100644 --- a/package/input-event-daemon/input-event-daemon.hash +++ b/package/input-event-daemon/input-event-daemon.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 1d9a44160aead88080093f74be9d709fbbc2637f982958e2673d80aedacd0a65 input-event-daemon-v0.1.3.tar.gz +sha256 1d9a44160aead88080093f74be9d709fbbc2637f982958e2673d80aedacd0a65 input-event-daemon-0.1.3.tar.gz +sha256 56f6614c63a023e4d486332968bfa7933f06ea7c785ef85f403448022ae7f912 README diff --git a/package/input-event-daemon/input-event-daemon.mk b/package/input-event-daemon/input-event-daemon.mk index e61c8cc4b5..dbe2d4bfb2 100644 --- a/package/input-event-daemon/input-event-daemon.mk +++ b/package/input-event-daemon/input-event-daemon.mk @@ -4,8 +4,8 @@ # ################################################################################ -INPUT_EVENT_DAEMON_VERSION = v0.1.3 -INPUT_EVENT_DAEMON_SITE = $(call github,gandro,input-event-daemon,$(INPUT_EVENT_DAEMON_VERSION)) +INPUT_EVENT_DAEMON_VERSION = 0.1.3 +INPUT_EVENT_DAEMON_SITE = $(call github,gandro,input-event-daemon,v$(INPUT_EVENT_DAEMON_VERSION)) INPUT_EVENT_DAEMON_LICENSE = input-event-daemon license INPUT_EVENT_DAEMON_LICENSE_FILES = README @@ -30,9 +30,6 @@ endef define INPUT_EVENT_DAEMON_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/input-event-daemon/input-event-daemon.service \ $(TARGET_DIR)/usr/lib/systemd/system/input-event-daemon.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -sf /usr/lib/systemd/system/input-event-daemon.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/input-event-daemon.service endef $(eval $(generic-package)) diff --git a/package/intel-gmmlib/intel-gmmlib.hash b/package/intel-gmmlib/intel-gmmlib.hash index d54abd2a43..1e8baba6c7 100644 --- a/package/intel-gmmlib/intel-gmmlib.hash +++ b/package/intel-gmmlib/intel-gmmlib.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7970a8ae4e16efb98f38fbbc0346eea03227fc4462a9bd8e8077277cc3430a84 intel-gmmlib-18.4.1.tar.gz +sha256 bb874b41c499abb8f6253b1834e93a02ed9744de71f2503ee9cd4100af7c1860 intel-gmmlib-19.4.1.tar.gz sha256 b61d639c5d84ec710ffcf5600ac92f8a4ace66670c1f9bd921f3bde671d36033 LICENSE.md diff --git a/package/intel-gmmlib/intel-gmmlib.mk b/package/intel-gmmlib/intel-gmmlib.mk index 4d89086590..517fc09131 100644 --- a/package/intel-gmmlib/intel-gmmlib.mk +++ b/package/intel-gmmlib/intel-gmmlib.mk @@ -4,7 +4,7 @@ # ################################################################################ -INTEL_GMMLIB_VERSION = 18.4.1 +INTEL_GMMLIB_VERSION = 19.4.1 INTEL_GMMLIB_SITE = https://github.com/intel/gmmlib/archive INTEL_GMMLIB_LICENSE = MIT INTEL_GMMLIB_LICENSE_FILES = LICENSE.md diff --git a/package/intel-mediadriver/0001-Drop-hardening-related-flags.patch b/package/intel-mediadriver/0001-Drop-hardening-related-flags.patch new file mode 100644 index 0000000000..bc29203317 --- /dev/null +++ b/package/intel-mediadriver/0001-Drop-hardening-related-flags.patch @@ -0,0 +1,63 @@ +From 8916c8480eb3483c2ffb41ad8961cd0c2b0fb1c4 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 15 Apr 2019 22:48:21 +0200 +Subject: [PATCH] Drop hardening-related flags + +These will be set by Buildroot depending on toolchain capabilities and +global Buildroot options. + +Signed-off-by: Thomas Petazzoni +--- + cmrtlib/linux/CMakeLists.txt | 8 ++++---- + media_driver/cmake/linux/media_compile_flags_linux.cmake | 1 - + media_driver/media_top_cmake.cmake | 2 +- + 3 files changed, 5 insertions(+), 6 deletions(-) + +diff --git a/cmrtlib/linux/CMakeLists.txt b/cmrtlib/linux/CMakeLists.txt +index 44ce4f08..b462fbea 100644 +--- a/cmrtlib/linux/CMakeLists.txt ++++ b/cmrtlib/linux/CMakeLists.txt +@@ -26,11 +26,11 @@ set(LIBRARY_OUTPUT_PATH ${MDF_OPTION__OUTPUT_DIR}) + + # Set up compile options that will be used for the Linux build + if(CMAKE_COMPILER_IS_GNUCC) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1 -std=c++11 -fPIC -fpermissive -fstack-protector-all -Werror") +- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-strict-aliasing -D_FORTIFY_SOURCE=2") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1 -std=c++11 -fPIC -fpermissive -Werror") ++ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-strict-aliasing ") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG -D__DEBUG -O0") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4.1 -std=c++11 -fPIC -fpermissive -fstack-protector-all -Werror") +- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-strict-aliasing -D_FORTIFY_SOURCE=2") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4.1 -std=c++11 -fPIC -fpermissive -Werror") ++ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-strict-aliasing") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -D__DEBUG -O0") + + set(GCC_SECURE_LINK_FLAGS "-z relro -z now") +diff --git a/media_driver/cmake/linux/media_compile_flags_linux.cmake b/media_driver/cmake/linux/media_compile_flags_linux.cmake +index 9e85fdb2..c45ce11b 100755 +--- a/media_driver/cmake/linux/media_compile_flags_linux.cmake ++++ b/media_driver/cmake/linux/media_compile_flags_linux.cmake +@@ -64,7 +64,6 @@ set(MEDIA_COMPILER_FLAGS_COMMON + # Other common flags + -fmessage-length=0 + -fvisibility=hidden +- -fstack-protector + -fdata-sections + -ffunction-sections + -Wl,--gc-sections +diff --git a/media_driver/media_top_cmake.cmake b/media_driver/media_top_cmake.cmake +index 3491db1e..b30fa04a 100755 +--- a/media_driver/media_top_cmake.cmake ++++ b/media_driver/media_top_cmake.cmake +@@ -88,7 +88,7 @@ if(MEDIA_BUILD_FATAL_WARNINGS) + set_target_properties(${LIB_NAME_OBJ} PROPERTIES COMPILE_FLAGS "-Werror") + endif() + +-set_target_properties(${LIB_NAME} PROPERTIES LINK_FLAGS "-Wl,--no-as-needed -Wl,--gc-sections -z relro -z now -fstack-protector -fPIC") ++set_target_properties(${LIB_NAME} PROPERTIES LINK_FLAGS "-Wl,--no-as-needed -Wl,--gc-sections -fPIC") + set_target_properties(${LIB_NAME} PROPERTIES PREFIX "") + set_target_properties(${LIB_NAME_STATIC} PROPERTIES PREFIX "") + +-- +2.20.1 + diff --git a/package/intel-mediadriver/Config.in b/package/intel-mediadriver/Config.in new file mode 100644 index 0000000000..35117f7712 --- /dev/null +++ b/package/intel-mediadriver/Config.in @@ -0,0 +1,30 @@ +config BR2_PACKAGE_INTEL_MEDIADRIVER + bool "intel-mediadriver" + depends on BR2_x86_64 + depends on !BR2_STATIC_LIBS # mesa3d, libva + depends on BR2_INSTALL_LIBSTDCPP # mesa3d + depends on BR2_TOOLCHAIN_HAS_SYNC_1 # mesa3d + depends on BR2_TOOLCHAIN_HAS_THREADS # libva + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # mesa3d + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_INTEL_GMMLIB + select BR2_PACKAGE_LIBPCIACCESS + select BR2_PACKAGE_LIBVA + select BR2_PACKAGE_MESA3D + select BR2_PACKAGE_XLIB_LIBX11 + help + The Intel(R) Media Driver for VAAPI is a new VA-API (Video + Acceleration API) user mode driver supporting hardware + accelerated decoding, encoding, and video post processing for + GEN based graphics hardware. + + https://github.com/intel/media-driver + +comment "intel-mediadriver needs X.org" + depends on BR2_x86_64 && BR2_TOOLCHAIN_HAS_SYNC_1 + depends on !BR2_PACKAGE_XORG7 + +comment "intel-mediadriver needs a toolchain w/ dynamic library, C++, NPTL" + depends on BR2_x86_64 && BR2_TOOLCHAIN_HAS_SYNC_1 + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/intel-mediadriver/intel-mediadriver.hash b/package/intel-mediadriver/intel-mediadriver.hash new file mode 100644 index 0000000000..5d016695ae --- /dev/null +++ b/package/intel-mediadriver/intel-mediadriver.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 a03bd75eefe9cb0245e3aab2723b3fef555d9f180a180b2c29d7b12d483d9ec2 intel-media-19.4.0r.tar.gz +sha256 74979d5aaee78b8da82e3aafd415a216b6131dfff6d95d6930927c8a4e3bded3 LICENSE.md diff --git a/package/intel-mediadriver/intel-mediadriver.mk b/package/intel-mediadriver/intel-mediadriver.mk new file mode 100644 index 0000000000..c3157867ed --- /dev/null +++ b/package/intel-mediadriver/intel-mediadriver.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# intel-mediadriver +# +################################################################################ + +# based on https://software.intel.com/en-us/articles/build-and-debug-open-source-media-stack + +INTEL_MEDIADRIVER_VERSION = 19.4.0r +INTEL_MEDIADRIVER_SITE = http://github.com/intel/media-driver/archive +INTEL_MEDIADRIVER_SOURCE= intel-media-$(INTEL_MEDIADRIVER_VERSION).tar.gz +INTEL_MEDIADRIVER_LICENSE = MIT, BSD-3-Clause +INTEL_MEDIADRIVER_LICENSE_FILES = LICENSE.md + +INTEL_MEDIADRIVER_DEPENDENCIES = \ + intel-gmmlib \ + libpciaccess \ + libva \ + mesa3d \ + xlib_libX11 + +INTEL_MEDIADRIVER_SUPPORTS_IN_SOURCE_BUILD = NO + +INTEL_MEDIADRIVER_CONF_OPTS = \ + -DBUILD_ALONG_WITH_CMRTLIB=1 \ + -DINSTALL_DRIVERS_SYSCONF=OFF \ + -DMEDIA_RUN_TEST_SUITE=OFF \ + -DRUN_TEST_SUITE=OFF + +$(eval $(cmake-package)) diff --git a/package/intel-mediasdk/0001-Don-t-force-fstack-protector.patch b/package/intel-mediasdk/0001-Don-t-force-fstack-protector.patch new file mode 100644 index 0000000000..a33c218c0a --- /dev/null +++ b/package/intel-mediasdk/0001-Don-t-force-fstack-protector.patch @@ -0,0 +1,52 @@ +From 28ca7393c08cb54b87d11c1ca92821e48f54781b Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 15 Apr 2019 23:09:33 +0200 +Subject: [PATCH] Don't force -fstack-protector + +This allows the environment to decide whether SSP should be used or +not, for example to support toolchains that don't have SSP support. + +Signed-off-by: Thomas Petazzoni +--- + api/mfx_dispatch/linux/CMakeLists.txt | 2 +- + builder/FindPackages.cmake | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/api/mfx_dispatch/linux/CMakeLists.txt b/api/mfx_dispatch/linux/CMakeLists.txt +index 15a4bd9a..4415f840 100644 +--- a/api/mfx_dispatch/linux/CMakeLists.txt ++++ b/api/mfx_dispatch/linux/CMakeLists.txt +@@ -100,7 +100,7 @@ target_link_libraries(mfx dl) + get_api_version(MFX_VERSION_MAJOR MFX_VERSION_MINOR) + + set_target_properties( mfx PROPERTIES LINK_FLAGS +- "-Wl,--no-undefined,-z,relro,-z,now,-z,noexecstack -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libmfx.map -fstack-protector") ++ "-Wl,--no-undefined,-z,relro,-z,now,-z,noexecstack -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libmfx.map") + set_target_properties( mfx PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIB_DIR}/${CMAKE_BUILD_TYPE} FOLDER mfx ) + set_target_properties( mfx PROPERTIES VERSION ${MFX_VERSION_MAJOR}.${MFX_VERSION_MINOR}) + set_target_properties( mfx PROPERTIES SOVERSION ${MFX_VERSION_MAJOR}) +diff --git a/builder/FindPackages.cmake b/builder/FindPackages.cmake +index 7e36ae2d..5b8b9b9d 100644 +--- a/builder/FindPackages.cmake ++++ b/builder/FindPackages.cmake +@@ -83,7 +83,7 @@ function( configure_build_variant_linux target variant ) + return() # should not occur; just in case + endif() + set( link_flags_list "-Wl,--no-undefined,-z,relro,-z,now,-z,noexecstack -Wl,--no-as-needed -ldl") +- append_property( ${ARGV0} LINK_FLAGS "${link_flags_list} ${MFX_LDFLAGS} -fstack-protector" ) ++ append_property( ${ARGV0} LINK_FLAGS "${link_flags_list} ${MFX_LDFLAGS}" ) + # message( STATUS "Libva located at: ${PKG_LIBVA_LIBRARY_DIRS}" ) + + if( ARGV1 MATCHES hw AND Linux ) +@@ -448,7 +448,7 @@ function(configure_dependencies target dependencies variant) + endforeach() + + set(SCOPE_CFLAGS ${SCOPE_CFLAGS} PARENT_SCOPE) +- set(SCOPE_LINKFLAGS "${SCOPE_LINKFLAGS} -Wl,--no-undefined,-z,relro,-z,now,-z,noexecstack -fstack-protector" PARENT_SCOPE) ++ set(SCOPE_LINKFLAGS "${SCOPE_LINKFLAGS} -Wl,--no-undefined,-z,relro,-z,now,-z,noexecstack" PARENT_SCOPE) + set(SCOPE_LIBS ${SCOPE_LIBS} PARENT_SCOPE) + endfunction() + +-- +2.20.1 + diff --git a/package/intel-mediasdk/Config.in b/package/intel-mediasdk/Config.in new file mode 100644 index 0000000000..05293d7604 --- /dev/null +++ b/package/intel-mediasdk/Config.in @@ -0,0 +1,31 @@ +config BR2_PACKAGE_INTEL_MEDIASDK + bool "intel-mediasdk" + depends on BR2_x86_64 + depends on !BR2_STATIC_LIBS # intel-mediadriver + depends on BR2_INSTALL_LIBSTDCPP # intel-mediadriver + depends on BR2_TOOLCHAIN_HAS_SYNC_1 # intel-mediadriver + depends on BR2_TOOLCHAIN_HAS_THREADS # intel-mediadriver + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # intel-mediadriver + depends on BR2_PACKAGE_XORG7 # intel-mediadriver + select BR2_PACKAGE_INTEL_MEDIADRIVER + select BR2_PACKAGE_LIBDRM_INTEL + help + Intel(R) Media SDK provides an API to access + hardware-accelerated video decode, encode and filtering on + Intel® platforms with integrated graphics. + + Supported video encoders: HEVC, AVC, MPEG-2, JPEG + Supported Video decoders: HEVC, AVC, VP8, MPEG-2, VC1, JPEG + Supported video pre-processing filters: Color Conversion, + Deinterlace, Denoise, Resize, Rotate, Composition + + http://mediasdk.intel.com/ + +comment "intel-mediasdk needs X.org" + depends on BR2_x86_64 && BR2_TOOLCHAIN_HAS_SYNC_1 + depends on !BR2_PACKAGE_XORG7 + +comment "intel-mediasdk needs a toolchain w/ dynamic library, C++, NPTL" + depends on BR2_x86_64 && BR2_TOOLCHAIN_HAS_SYNC_1 + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/intel-mediasdk/intel-mediasdk.hash b/package/intel-mediasdk/intel-mediasdk.hash new file mode 100644 index 0000000000..103c8bb52d --- /dev/null +++ b/package/intel-mediasdk/intel-mediasdk.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 289a40ffe73dc291461d97edf452bdc622f76e52666483fd1eb4f131d2921cd1 intel-mediasdk-19.4.0.tar.gz +sha256 dfd67773578903698f9ff4a61eb8f2d84810cbecd56f3f3cee8c649f813b6ea6 LICENSE diff --git a/package/intel-mediasdk/intel-mediasdk.mk b/package/intel-mediasdk/intel-mediasdk.mk new file mode 100644 index 0000000000..a2ffe081db --- /dev/null +++ b/package/intel-mediasdk/intel-mediasdk.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# intel-mediasdk +# +################################################################################ + +INTEL_MEDIASDK_VERSION = 19.4.0 +INTEL_MEDIASDK_SITE = http://github.com/Intel-Media-SDK/MediaSDK/archive +INTEL_MEDIASDK_LICENSE = MIT +INTEL_MEDIASDK_LICENSE_FILES = LICENSE + +INTEL_MEDIASDK_INSTALL_STAGING = YES +INTEL_MEDIASDK_DEPENDENCIES = intel-mediadriver + +INTEL_MEDIASDK_CONF_OPTS = -DMFX_INCLUDE="$(@D)/api/include" + +$(eval $(cmake-package)) diff --git a/package/intel-microcode/Config.in b/package/intel-microcode/Config.in index 495ebd727f..4a45aa1ef3 100644 --- a/package/intel-microcode/Config.in +++ b/package/intel-microcode/Config.in @@ -5,3 +5,14 @@ config BR2_PACKAGE_INTEL_MICROCODE This package provides an Intel microcode data file that can be used to correct processor errors. The iucode-tool package and proper kernel support are required to upload the microcode. + + https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files + +config BR2_PACKAGE_INTEL_MICROCODE_INSTALL_TARGET + bool "install microcode files to /lib/firmware in target" + default y + depends on BR2_PACKAGE_INTEL_MICROCODE + help + Select this option to have the microcode files installed to + /lib/firmware/intel-ucode in the target root filesystem, in + addition to the images directory. diff --git a/package/intel-microcode/intel-microcode.hash b/package/intel-microcode/intel-microcode.hash index 183ba5aeec..e8005bcff6 100644 --- a/package/intel-microcode/intel-microcode.hash +++ b/package/intel-microcode/intel-microcode.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 46ab18699ec42eb6cc01ee1846ec4d7ca979766dee2156f92d69e2f6df548137 microcode-20180807a.tgz -sha256 c4698c6105d59fec11ad0929e77a003445c560c7706c089990030acbf10c9372 license +sha256 eb4f939421ac6cdea3c586c9d984ec518320f00c07eb2b3d6754309c83c93371 intel-microcode-20200616.tar.gz +sha256 d9e989e1a7747f3ce93cb749aceca67a430d36c9bebc6e3205e0b3af3ca6304b license diff --git a/package/intel-microcode/intel-microcode.mk b/package/intel-microcode/intel-microcode.mk index ed4ad628dd..043367770b 100644 --- a/package/intel-microcode/intel-microcode.mk +++ b/package/intel-microcode/intel-microcode.mk @@ -4,18 +4,32 @@ # ################################################################################ -INTEL_MICROCODE_VERSION = 20180807a -INTEL_MICROCODE_SOURCE = microcode-$(INTEL_MICROCODE_VERSION).tgz -INTEL_MICROCODE_SITE = https://downloadmirror.intel.com/28087/eng -INTEL_MICROCODE_STRIP_COMPONENTS = 0 +INTEL_MICROCODE_VERSION = 20200616 +INTEL_MICROCODE_SITE = $(call github,intel,Intel-Linux-Processor-Microcode-Data-Files,microcode-$(INTEL_MICROCODE_VERSION)) INTEL_MICROCODE_LICENSE = PROPRIETARY INTEL_MICROCODE_LICENSE_FILES = license INTEL_MICROCODE_REDISTRIBUTE = NO +INTEL_MICROCODE_INSTALL_IMAGES = YES +define INTEL_MICROCODE_INSTALL_IMAGES_CMDS + mkdir -p $(BINARIES_DIR)/intel-ucode + $(INSTALL) -m 0644 -t $(BINARIES_DIR)/intel-ucode \ + $(@D)/intel-ucode/* +endef + +ifeq ($(BR2_PACKAGE_INTEL_MICROCODE_INSTALL_TARGET),y) define INTEL_MICROCODE_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/lib/firmware/intel-ucode $(INSTALL) -m 0644 -t $(TARGET_DIR)/lib/firmware/intel-ucode \ $(@D)/intel-ucode/* endef +else +INTEL_MICROCODE_INSTALL_TARGET = NO +endif + +define INTEL_MICROCODE_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_MICROCODE) + $(call KCONFIG_ENABLE_OPT,CONFIG_MICROCODE_INTEL) +endef $(eval $(generic-package)) diff --git a/package/intltool/intltool.hash b/package/intltool/intltool.hash index f6f41dc709..de1df87bc7 100644 --- a/package/intltool/intltool.hash +++ b/package/intltool/intltool.hash @@ -3,3 +3,4 @@ md5 12e517cac2b57a0121cda351570f1e63 intltool-0.51.0.tar.gz # Locally calculated sha256 67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd intltool-0.51.0.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/iodine/iodine.hash b/package/iodine/iodine.hash index 94eb5aa9cc..691ef4d7fb 100644 --- a/package/iodine/iodine.hash +++ b/package/iodine/iodine.hash @@ -1,2 +1,4 @@ # From http://code.kryo.se/iodine/ md5 fdbf3b81cd69caf5230d76a8b039fd99 iodine-0.7.0.tar.gz +# Locally computed +sha256 f41a252b2218759aa351270b7ad9791bdd323836b940e35c0614837a5d24dcb7 README diff --git a/package/iostat/iostat.hash b/package/iostat/iostat.hash index 2ba10a369f..0f58bbf793 100644 --- a/package/iostat/iostat.hash +++ b/package/iostat/iostat.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 edc5aa73f43bd6c7d49f2c1d5906a0a68c0b28bc4dfdaf1f2aa5ae4a2449c58e iostat-2.2.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 LICENSE diff --git a/package/iotop/iotop.hash b/package/iotop/iotop.hash index b2c497c774..a8e964796e 100644 --- a/package/iotop/iotop.hash +++ b/package/iotop/iotop.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 1a7c02fd3758bb048d8af861c5f8735eb3ee9abadeaa787f27b8af2b1eaee8ce iotop-0.6.tar.gz +sha256 1a7c02fd3758bb048d8af861c5f8735eb3ee9abadeaa787f27b8af2b1eaee8ce iotop-0.6.tar.gz +sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING diff --git a/package/iozone/iozone.hash b/package/iozone/iozone.hash index 2a027317fc..f2f40473c3 100644 --- a/package/iozone/iozone.hash +++ b/package/iozone/iozone.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 eeaf16cfbee095b16e4934180c6c7438539629489ce42ef4ace48feb23916b12 iozone3_483.tar +sha256 6155850d1019f2450dc926bbdb5a24abf423ee3bb928ab1e68569cf60a908584 iozone3_489.tar diff --git a/package/iozone/iozone.mk b/package/iozone/iozone.mk index 903d2a1882..a491faf9d4 100644 --- a/package/iozone/iozone.mk +++ b/package/iozone/iozone.mk @@ -4,7 +4,7 @@ # ################################################################################ -IOZONE_VERSION = 3_483 +IOZONE_VERSION = 3_489 IOZONE_SOURCE = iozone$(IOZONE_VERSION).tar IOZONE_SITE = http://www.iozone.org/src/current IOZONE_LICENSE = IOzone license (NO DERIVED WORKS ALLOWED) @@ -25,6 +25,8 @@ endef define IOZONE_INSTALL_TARGET_CMDS $(INSTALL) -D -m 755 $(@D)/src/current/iozone \ $(TARGET_DIR)/usr/bin/iozone + $(INSTALL) -D -m 755 $(@D)/src/current/fileop \ + $(TARGET_DIR)/usr/bin/fileop endef $(eval $(generic-package)) diff --git a/package/iperf3/0001-disable-profiling.patch b/package/iperf3/0001-disable-profiling.patch deleted file mode 100644 index 09da98e974..0000000000 --- a/package/iperf3/0001-disable-profiling.patch +++ /dev/null @@ -1,20 +0,0 @@ -This should be an option, but it's not. -Don't force profiled builds, it breaks on many toolchains. -Patch Makefile.in to avoid AUTORECONFing since it needs dummy files -that are missing to succeed (ChangeLog, COPYING, NEWS, README) and it's -simple enough so avoid pulling in dependencies and delays. - -Signed-off-by: Gustavo Zacarias - -diff -Nura iperf-3.0.10.orig/src/Makefile.in iperf-3.0.10/src/Makefile.in ---- iperf-3.0.10.orig/src/Makefile.in 2014-12-17 07:30:46.878310789 -0300 -+++ iperf-3.0.10/src/Makefile.in 2014-12-17 07:33:41.879356643 -0300 -@@ -82,7 +82,7 @@ - host_triplet = @host@ - bin_PROGRAMS = iperf3$(EXEEXT) - noinst_PROGRAMS = t_timer$(EXEEXT) t_units$(EXEEXT) t_uuid$(EXEEXT) \ -- iperf3_profile$(EXEEXT) -+ iperf3$(EXEEXT) - TESTS = t_timer$(EXEEXT) t_units$(EXEEXT) t_uuid$(EXEEXT) - subdir = src - DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ diff --git a/package/iperf3/0002-Fix-build-using-musl-libc.patch b/package/iperf3/0002-Fix-build-using-musl-libc.patch deleted file mode 100644 index f2203605f0..0000000000 --- a/package/iperf3/0002-Fix-build-using-musl-libc.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 1fe02385b60c9dcd8a04b8bd3ff5cff120ec35a6 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sat, 30 Jan 2016 19:23:20 +0100 -Subject: [PATCH 1/1] Fix build using musl libc - -Fixes https://github.com/esnet/iperf/issues/331 - -Signed-off-by: Bernd Kuhls ---- -Patch sent upstream: https://github.com/esnet/iperf/pull/344 - - src/cjson.h | 2 ++ - src/timer.h | 1 + - 2 files changed, 3 insertions(+) - -diff --git a/src/cjson.h b/src/cjson.h -index d4449e6..7af19a9 100644 ---- a/src/cjson.h -+++ b/src/cjson.h -@@ -23,6 +23,8 @@ - #ifndef cJSON__h - #define cJSON__h - -+#include -+ - #ifdef __cplusplus - extern "C" - { -diff --git a/src/timer.h b/src/timer.h -index 0f9c5eb..9b22b7f 100644 ---- a/src/timer.h -+++ b/src/timer.h -@@ -30,6 +30,7 @@ - #ifndef __TIMER_H - #define __TIMER_H - -+#include - #include - - /* TimerClientData is an opaque value that tags along with a timer. The --- -2.7.0.rc3 - diff --git a/package/iperf3/iperf3.hash b/package/iperf3/iperf3.hash index 06dae42149..2e6cfd5ab9 100644 --- a/package/iperf3/iperf3.hash +++ b/package/iperf3/iperf3.hash @@ -1,4 +1,4 @@ -# From https://downloads.es.net/pub/iperf/iperf-3.6.tar.gz.sha256 -sha256 de5d51e46dc460cc590fb4d44f95e7cad54b74fea1eba7d6ebd6f8887d75946e iperf-3.6.tar.gz +# From https://downloads.es.net/pub/iperf/iperf-3.7.tar.gz.sha256 +sha256 d846040224317caf2f75c843d309a950a7db23f9b44b94688ccbe557d6d1710c iperf-3.7.tar.gz # Locally computed -sha256 52c42914d7d79fe5e95d0d1b821556d9f06bf756ac910fe085a46d238a33e594 LICENSE +sha256 ee58f1e69139d39cfb055df15fe84453a379936dd45e44dbebf26c78afa3f5d4 LICENSE diff --git a/package/iperf3/iperf3.mk b/package/iperf3/iperf3.mk index 8ac4b078c4..3537b23824 100644 --- a/package/iperf3/iperf3.mk +++ b/package/iperf3/iperf3.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPERF3_VERSION = 3.6 +IPERF3_VERSION = 3.7 IPERF3_SITE = https://downloads.es.net/pub/iperf IPERF3_SOURCE = iperf-$(IPERF3_VERSION).tar.gz IPERF3_LICENSE = BSD-3-Clause, BSD-2-Clause, MIT @@ -12,6 +12,8 @@ IPERF3_LICENSE_FILES = LICENSE IPERF3_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" +IPERF3_CONF_OPTS += --disable-profiling + 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 diff --git a/package/ipmitool/ipmitool.hash b/package/ipmitool/ipmitool.hash index 9b16414801..5c053dc869 100644 --- a/package/ipmitool/ipmitool.hash +++ b/package/ipmitool/ipmitool.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 0c1ba3b1555edefb7c32ae8cd6a3e04322056bc087918f07189eeedfc8b81e01 ipmitool-1.8.18.tar.bz2 +sha256 b7e2382a8be43b5f6cb092f2d2bda163bf1a1938be9300f821a845cbcd535f56 COPYING diff --git a/package/ipmiutil/ipmiutil.hash b/package/ipmiutil/ipmiutil.hash index e09511f96f..3f89b9049c 100644 --- a/package/ipmiutil/ipmiutil.hash +++ b/package/ipmiutil/ipmiutil.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/ipmiutil/files/ -md5 ee90387f8a14dea3f867167865c7c968 ipmiutil-3.1.2.tar.gz -sha1 9453db110bffab3111d6ff4047243a34084e5878 ipmiutil-3.1.2.tar.gz +md5 0d448d14726e2fda0eb9451fb2866a5c ipmiutil-3.1.3.tar.gz +sha1 d20cb3194f4c5cb8c9fd64b3693d5b53dc9510d4 ipmiutil-3.1.3.tar.gz # Locally computed -sha256 768053b3e3adfe1bf656e2848b2805ede87e429c10d282929a7c4ceeebc24703 ipmiutil-3.1.2.tar.gz +sha256 b80303b6f05cbe48e728dd925fef201e9604a90cd3fc9c8af113367e8d6dbe57 ipmiutil-3.1.3.tar.gz sha256 7e0ec8238aa1431e95a4950032a4483fe33fec3fac348eaade5856cdc5ae3e39 COPYING diff --git a/package/ipmiutil/ipmiutil.mk b/package/ipmiutil/ipmiutil.mk index 0d9a4509b3..9633914e11 100644 --- a/package/ipmiutil/ipmiutil.mk +++ b/package/ipmiutil/ipmiutil.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPMIUTIL_VERSION = 3.1.2 +IPMIUTIL_VERSION = 3.1.3 IPMIUTIL_SITE = https://sourceforge.net/projects/ipmiutil/files IPMIUTIL_LICENSE = BSD-3-Clause IPMIUTIL_LICENSE_FILES = COPYING 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 deleted file mode 100644 index c89db2b2eb..0000000000 --- a/package/iproute2/0001-utils.h-provide-fallback-CLOCK_TAI-definition.patch +++ /dev/null @@ -1,32 +0,0 @@ -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 deleted file mode 100644 index b6934f5d17..0000000000 --- a/package/iproute2/0002-ss-fix-compilation-under-glibc-2.18.patch +++ /dev/null @@ -1,39 +0,0 @@ -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 00bd1c646a..0477eb71bf 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 d9ec5ca1f47d8a85416fa26e7dc1cbf5d067640eb60e90bdc1c7e5bdc6a29984 iproute2-4.19.0.tar.xz -sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING +sha256 1b5b0e25ce6e23da7526ea1da044e814ad85ba761b10dd29c2b027c056b04692 iproute2-5.6.0.tar.xz +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/iproute2/iproute2.mk b/package/iproute2/iproute2.mk index 41d0b2c3d9..e5841cc460 100644 --- a/package/iproute2/iproute2.mk +++ b/package/iproute2/iproute2.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPROUTE2_VERSION = 4.19.0 +IPROUTE2_VERSION = 5.6.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 \ @@ -16,6 +16,14 @@ ifeq ($(BR2_PACKAGE_ELFUTILS),y) IPROUTE2_DEPENDENCIES += elfutils endif +ifeq ($(BR2_PACKAGE_LIBCAP),y) +IPROUTE2_DEPENDENCIES += libcap +endif + +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +IPROUTE2_DEPENDENCIES += libselinux +endif + ifeq ($(BR2_PACKAGE_IPTABLES)x$(BR2_STATIC_LIBS),yx) IPROUTE2_DEPENDENCIES += iptables else diff --git a/package/iprutils/iprutils.hash b/package/iprutils/iprutils.hash index e5c1754696..423943b22d 100644 --- a/package/iprutils/iprutils.hash +++ b/package/iprutils/iprutils.hash @@ -3,3 +3,4 @@ md5 e4011051bba7470df3936cbba7dced98 iprutils-2.4.15.1.tar.gz sha1 ed6c362ee3c6bd9023ee60d0d1a1ce5543c27c41 iprutils-2.4.15.1.tar.gz # Locally computed: sha256 a733e65f8fb19565f2ef5191eaa2a14d816fabed0fc254ab4bbf1a4c7800ebe5 iprutils-2.4.15.1.tar.gz +sha256 59b4179e61248aff9cd2d6ee4cd1dbbd0ef48836fe2eeee19f4b16459785104a LICENSE diff --git a/package/ipsec-tools/ipsec-tools.hash b/package/ipsec-tools/ipsec-tools.hash index b12bea9477..7a944eb8ee 100644 --- a/package/ipsec-tools/ipsec-tools.hash +++ b/package/ipsec-tools/ipsec-tools.hash @@ -1,3 +1,6 @@ # From http://sourceforge.net/projects/ipsec-tools/files/ipsec-tools/0.8.2/ md5 d53ec14a0a3ece64e09e5e34b3350b41 ipsec-tools-0.8.2.tar.bz2 sha1 7d92cae9fde59fb4f125636698c43b0a3df3d0f0 ipsec-tools-0.8.2.tar.bz2 + +# Locally calculated +sha256 3f4af4aef0b2599928bee9875935b8fad8449ddbb98ea7da74c20c3dff5cdef7 src/setkey/setkey.c diff --git a/package/ipsec-tools/ipsec-tools.mk b/package/ipsec-tools/ipsec-tools.mk index 7ac6b5cb22..72bd8c196c 100644 --- a/package/ipsec-tools/ipsec-tools.mk +++ b/package/ipsec-tools/ipsec-tools.mk @@ -7,12 +7,19 @@ IPSEC_TOOLS_VERSION = 0.8.2 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_LICENSE = BSD-3-Clause +IPSEC_TOOLS_LICENSE_FILES = src/setkey/setkey.c IPSEC_TOOLS_INSTALL_STAGING = YES IPSEC_TOOLS_MAKE = $(MAKE1) IPSEC_TOOLS_DEPENDENCIES = openssl flex host-pkgconf host-flex host-bison # we patch configure.ac IPSEC_TOOLS_AUTORECONF = YES +# 0004-CVE-2015-4047.patch +IPSEC_TOOLS_IGNORE_CVES += CVE-2015-4047 +# 0005-CVE-2016-10396.patch +IPSEC_TOOLS_IGNORE_CVES += CVE-2016-10396 + # configure hardcodes -Werror, so override CFLAGS on make invocation IPSEC_TOOLS_MAKE_OPTS = CFLAGS='$(TARGET_CFLAGS)' diff --git a/package/ipset/ipset.hash b/package/ipset/ipset.hash index 46e285b1ea..fb200585d1 100644 --- a/package/ipset/ipset.hash +++ b/package/ipset/ipset.hash @@ -1,6 +1,6 @@ -# From http://ipset.netfilter.org/ipset-7.1.tar.bz2.md5sum.txt -md5 72b477d1ce076d681b0799f88280f2f3 ipset-7.1.tar.bz2 +# From http://ipset.netfilter.org/ipset-7.6.tar.bz2.md5sum.txt +md5 e107b679c3256af795261cece864d6d9 ipset-7.6.tar.bz2 # Calculated based on the hash above -sha256 7b5eb3b93205c20cdc39e3fc8b6e5f7bb214bf79a7c0c00729dd4a31ce16adc4 ipset-7.1.tar.bz2 +sha256 0e7d44caa9c153d96a9b5f12644fbe35a632537a5a7f653792b72e53d9d5c2db ipset-7.6.tar.bz2 # Locally calculated sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/ipset/ipset.mk b/package/ipset/ipset.mk index 542afc963b..869763d322 100644 --- a/package/ipset/ipset.mk +++ b/package/ipset/ipset.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPSET_VERSION = 7.1 +IPSET_VERSION = 7.6 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 deleted file mode 100644 index 37c6f96af4..0000000000 --- a/package/iptables/0001-ebtables-vlan-fix-userspace-kernel-headers-collision.patch +++ /dev/null @@ -1,45 +0,0 @@ -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/0002-xtables-monitor-fix-build-with-older-glibc.patch b/package/iptables/0002-xtables-monitor-fix-build-with-older-glibc.patch deleted file mode 100644 index 18dbc28f91..0000000000 --- a/package/iptables/0002-xtables-monitor-fix-build-with-older-glibc.patch +++ /dev/null @@ -1,77 +0,0 @@ -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 deleted file mode 100644 index c5cd6437f0..0000000000 --- a/package/iptables/0003-include-fix-build-with-kernel-headers-before-4.2.patch +++ /dev/null @@ -1,51 +0,0 @@ -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 deleted file mode 100644 index 0b6358b255..0000000000 --- a/package/iptables/0004-xtables-monitor-fix-build-with-musl-libc.patch +++ /dev/null @@ -1,44 +0,0 @@ -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 deleted file mode 100644 index 6b1ffbd639..0000000000 --- a/package/iptables/0005-include-extend-the-headers-conflict-workaround-to-in.patch +++ /dev/null @@ -1,37 +0,0 @@ -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 d84bd3af98..2e149aa11b 100644 --- a/package/iptables/iptables.hash +++ b/package/iptables/iptables.hash @@ -1,4 +1,4 @@ # From https://netfilter.org/projects/iptables/downloads.html -sha256 a3778b50ed1a3256f9ca975de82c2204e508001fc2471238c8c97f3d1c4c12af iptables-1.8.2.tar.bz2 +sha256 a23cac034181206b4545f4e7e730e76e08b5f3dd78771ba9645a6756de9cdd80 iptables-1.8.3.tar.bz2 # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/iptables/iptables.mk b/package/iptables/iptables.mk index 54494937af..7b964aaf41 100644 --- a/package/iptables/iptables.mk +++ b/package/iptables/iptables.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPTABLES_VERSION = 1.8.2 +IPTABLES_VERSION = 1.8.3 IPTABLES_SOURCE = iptables-$(IPTABLES_VERSION).tar.bz2 IPTABLES_SITE = https://netfilter.org/projects/iptables/files IPTABLES_INSTALL_STAGING = YES @@ -47,4 +47,11 @@ else IPTABLES_CONF_OPTS += --disable-bpf-compiler --disable-nfsynproxy endif +define IPTABLES_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XTABLES) +endef + $(eval $(autotools-package)) diff --git a/package/iptraf-ng/iptraf-ng.hash b/package/iptraf-ng/iptraf-ng.hash index 7cb4d1b137..0a257ec2fd 100644 --- a/package/iptraf-ng/iptraf-ng.hash +++ b/package/iptraf-ng/iptraf-ng.hash @@ -1,2 +1,4 @@ # From https://fedorahosted.org/releases/i/p/iptraf-ng/iptraf-ng-1.1.4.tar.gz.sum sha1 a2e51b0dd6b8c80583fc25d055850c96b3d2f544 iptraf-ng-1.1.4.tar.gz +# Locally computed +sha256 4e49bef38f621aac4a870da4b30011c7b7abc7256b218daec1c425b08448ae1e LICENSE diff --git a/package/iputils/0001-meson.build-fix-static-build-with-libidn2.patch b/package/iputils/0001-meson.build-fix-static-build-with-libidn2.patch new file mode 100644 index 0000000000..851d043784 --- /dev/null +++ b/package/iputils/0001-meson.build-fix-static-build-with-libidn2.patch @@ -0,0 +1,39 @@ +From 5bb4432b8c194620c28a45a069de1b3dad692ac9 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 28 Dec 2019 11:24:12 +0100 +Subject: [PATCH] meson.build: fix static build with libidn2 + +libidn2 can optionnaly depends on libunistring so use dependency +function instead of cc.find_library ro retrieve this dependency and +avoid the following build failure when building statically: + +FAILED: ping +/home/buildroot/autobuild/run/instance-1/output-1/host/bin/arm-linux-gcc -o ping 'ping@exe/ping.c.o' 'ping@exe/ping_common.c.o' 'ping@exe/ping6_common.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -static -Wl,--start-group libcommon.a -lm -lcap -lidn2 /home/buildroot/autobuild/run/instance-1/output-1/host/usr/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libssl.a /home/buildroot/autobuild/run/instance-1/output-1/host/usr/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libz.a /home/buildroot/autobuild/run/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/7.4.0/../../../../arm-buildroot-linux-uclibcgnueabi/lib/libatomic.a -lpthread /home/buildroot/autobuild/run/instance-1/output-1/host/usr/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libcrypto.a -lresolv -Wl,--end-group '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/buildroot/autobuild/run/instance-1/output-1/build/iputils-20190709/build/ +/home/buildroot/autobuild/run/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/7.4.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/buildroot/autobuild/run/instance-1/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libidn2.a(lookup.o): in function `idn2_lookup_u8': +lookup.c:(.text+0x7c): undefined reference to `u8_strlen' + +Fixes: + - http://autobuild.buildroot.org/results/82d4738711a009959436fa419bd78c7a9540d33e + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/iputils/iputils/pull/245] +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 53c65b2..905cb96 100644 +--- a/meson.build ++++ b/meson.build +@@ -130,7 +130,7 @@ endif + + opt = get_option('USE_IDN') + if opt == true +- idn_dep = cc.find_library('idn2', required : false) ++ idn_dep = dependency('libidn2', required : false) + if idn_dep.found() + add_project_arguments('-DUSE_IDN', language : 'c') + conf.set('USE_IDN', 1, +-- +2.24.0 + 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 deleted file mode 100644 index 556d3786fb..0000000000 --- a/package/iputils/0001-ping-Fix-AI_CANONIDN-usage-on-some-systems.patch +++ /dev/null @@ -1,57 +0,0 @@ -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 14e2c67134..3630ae8678 100644 --- a/package/iputils/iputils.hash +++ b/package/iputils/iputils.hash @@ -1,3 +1,6 @@ +# https://github.com/iputils/iputils/releases/download/s20190709/sha256sum.asc +sha256 a15720dd741d7538dd2645f9f516d193636ae4300ff7dbc8bfca757bf166490a iputils-20190709.tar.gz # Locally computed -sha256 da14105291dd491f28ea91ade854ed10aee8ba019641c80eed233de3908be7c5 iputils-s20180629.tar.gz -sha256 966075293e45785230c19415bcda15bd07c75bead4fe73332d1a4b9c45bb321f ninfod/COPYING +sha256 b8ea785d12fa6a44916601104dd746216957e93f13a26d3eb858b3b5a4ad66ab LICENSE +sha256 9acc4bc871a4742550158e3696dcb381953172ef808d04ca248184f9f6322712 Documentation/LICENSE.BSD3 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/LICENSE.GPL2 diff --git a/package/iputils/iputils.mk b/package/iputils/iputils.mk index 8371971231..0d260891e2 100644 --- a/package/iputils/iputils.mk +++ b/package/iputils/iputils.mk @@ -11,61 +11,106 @@ # and IPv6 updates. # http://www.spinics.net/lists/netdev/msg279881.html -IPUTILS_VERSION = s20180629 -IPUTILS_SITE = $(call github,iputils,iputils,$(IPUTILS_VERSION)) -IPUTILS_LICENSE = GPL-2.0+, BSD-3-Clause, BSD-4-Clause -# Only includes a license file for BSD -IPUTILS_LICENSE_FILES = ninfod/COPYING - -IPUTILS_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) USE_SYSFS=no USE_IDN=no\ - CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" +IPUTILS_VERSION = 20190709 +IPUTILS_SITE = $(call github,iputils,iputils,s$(IPUTILS_VERSION)) +IPUTILS_LICENSE = GPL-2.0+, BSD-3-Clause +IPUTILS_LICENSE_FILES = LICENSE Documentation/LICENSE.BSD3 Documentation/LICENSE.GPL2 +IPUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) ifeq ($(BR2_PACKAGE_LIBCAP),y) -IPUTILS_MAKE_OPTS += USE_CAP=yes +IPUTILS_CONF_OPTS += -DUSE_CAP=true IPUTILS_DEPENDENCIES += libcap else -IPUTILS_MAKE_OPTS += USE_CAP=no +IPUTILS_CONF_OPTS += -DUSE_CAP=false endif -ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) -IPUTILS_MAKE_OPTS += USE_GCRYPT=yes -IPUTILS_DEPENDENCIES += libgcrypt +ifeq ($(BR2_PACKAGE_LIBIDN2),y) +IPUTILS_CONF_OPTS += -DUSE_IDN=true +IPUTILS_DEPENDENCIES += libidn2 else -IPUTILS_MAKE_OPTS += USE_GCRYPT=no +IPUTILS_CONF_OPTS += -DUSE_IDN=false endif ifeq ($(BR2_PACKAGE_NETTLE),y) -IPUTILS_MAKE_OPTS += USE_NETTLE=yes +IPUTILS_CONF_OPTS += -DUSE_CRYPTO=nettle IPUTILS_DEPENDENCIES += nettle -else -IPUTILS_MAKE_OPTS += USE_NETTLE=no -endif - -ifeq ($(BR2_PACKAGE_OPENSSL),y) -IPUTILS_MAKE_OPTS += USE_CRYPTO=yes +else ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) +IPUTILS_CONF_OPTS += -DUSE_CRYPTO=gcrypt +IPUTILS_DEPENDENCIES += libgcrypt +else ifeq ($(BR2_PACKAGE_OPENSSL),y) +IPUTILS_CONF_OPTS += -DUSE_CRYPTO=openssl IPUTILS_DEPENDENCIES += openssl +else ifeq ($(BR2_PACKAGE_LINUX_HEADERS),y) +IPUTILS_CONF_OPTS += -DUSE_CRYPTO=kernel +IPUTILS_DEPENDENCIES += linux-headers else -IPUTILS_MAKE_OPTS += USE_CRYPTO=no +IPUTILS_CONF_OPTS += -DUSE_CRYPTO=none +# BUILD_NINFOD=true and USE_CRYPTO=none cannot be combined +IPUTILS_NINFOD = n endif -define IPUTILS_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(IPUTILS_MAKE_OPTS) -endef +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +IPUTILS_DEPENDENCIES += systemd +endif -define IPUTILS_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 755 $(@D)/arping $(TARGET_DIR)/sbin/arping - $(INSTALL) -D -m 755 $(@D)/clockdiff $(TARGET_DIR)/bin/clockdiff - $(INSTALL) -D -m 755 $(@D)/ping $(TARGET_DIR)/bin/ping - $(INSTALL) -D -m 755 $(@D)/rarpd $(TARGET_DIR)/sbin/rarpd - $(INSTALL) -D -m 755 $(@D)/rdisc $(TARGET_DIR)/sbin/rdisc - $(INSTALL) -D -m 755 $(@D)/tftpd $(TARGET_DIR)/usr/sbin/in.tftpd - $(INSTALL) -D -m 755 $(@D)/tracepath $(TARGET_DIR)/bin/tracepath - $(INSTALL) -D -m 755 $(@D)/traceroute6 $(TARGET_DIR)/bin/traceroute6 -endef +# ninfod requires +ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +IPUTILS_NINFOD = n +endif +ifeq ($(IPUTILS_NINFOD),n) +IPUTILS_CONF_OPTS += -DBUILD_NINFOD=false +else +IPUTILS_CONF_OPTS += -DBUILD_NINFOD=true +endif + +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) +IPUTILS_CONF_OPTS += -DUSE_GETTEXT=true +else +IPUTILS_CONF_OPTS += -DUSE_GETTEXT=false +endif + +IPUTILS_CONF_OPTS += -DBUILD_TRACEROUTE6=true + +# XSL Stylesheets for DocBook 5 not packaged for buildroot +IPUTILS_CONF_OPTS += -DBUILD_MANS=false -DBUILD_HTML_MANS=false + +# move iputils binaries to the same location as where Busybox installs +# the corresponding applets, so that we have a single version of the +# tools (from iputils) +define IPUTILS_MOVE_BINARIES + mv $(TARGET_DIR)/usr/bin/arping $(TARGET_DIR)/usr/sbin/arping + $(if $(BR2_ROOTFS_MERGED_USR),,\ + mv $(TARGET_DIR)/usr/bin/ping $(TARGET_DIR)/bin/ping) + mv $(TARGET_DIR)/usr/bin/tftpd $(TARGET_DIR)/usr/sbin/tftpd +endef +IPUTILS_POST_INSTALL_TARGET_HOOKS += IPUTILS_MOVE_BINARIES + +# upstream requires distros to create symlink +define IPUTILS_CREATE_PING6_SYMLINK + ln -sf ping $(TARGET_DIR)/bin/ping6 +endef +IPUTILS_POST_INSTALL_TARGET_HOOKS += IPUTILS_CREATE_PING6_SYMLINK + +# handle permissions ourselves +IPUTILS_CONF_OPTS += -DNO_SETCAP_OR_SUID=true +ifeq ($(BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES),y) define IPUTILS_PERMISSIONS - /bin/ping f 4755 0 0 - - - - - - /bin/traceroute6 f 4755 0 0 - - - - - + /usr/sbin/arping f 755 0 0 - - - - - + /usr/bin/clockdiff f 755 0 0 - - - - - + |xattr cap_net_raw+p + /bin/ping f 755 0 0 - - - - - + |xattr cap_net_raw+p + /usr/bin/traceroute6 f 755 0 0 - - - - - + |xattr cap_net_raw+p endef +else +define IPUTILS_PERMISSIONS + /usr/sbin/arping f 755 0 0 - - - - - + /usr/bin/clockdiff f 4755 0 0 - - - - - + /bin/ping f 4755 0 0 - - - - - + /usr/bin/traceroute6 f 4755 0 0 - - - - - +endef +endif -$(eval $(generic-package)) +$(eval $(meson-package)) diff --git a/package/irda-utils/irda-utils.hash b/package/irda-utils/irda-utils.hash index 6a71c47f03..8a513cf312 100644 --- a/package/irda-utils/irda-utils.hash +++ b/package/irda-utils/irda-utils.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 61980551e46b2eaa9e17ad31cbc1a638074611fc33bff34163d10c7a67a9fdc6 irda-utils-0.9.18.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 man/COPYING diff --git a/package/irqbalance/irqbalance.hash b/package/irqbalance/irqbalance.hash index dfe14c9003..2e7cf49c25 100644 --- a/package/irqbalance/irqbalance.hash +++ b/package/irqbalance/irqbalance.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3318eddc03782cfdad22b20eff18eaf378c498c5de286e8cbaa5521ddf4f810b irqbalance-v1.5.0.tar.gz +sha256 5ace9dd69d5190e24ee34210c3131333e9963e3ba649bf9237eabb4313c300d2 irqbalance-1.6.0.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/irqbalance/irqbalance.mk b/package/irqbalance/irqbalance.mk index 063b02bb68..36e9e42493 100644 --- a/package/irqbalance/irqbalance.mk +++ b/package/irqbalance/irqbalance.mk @@ -4,8 +4,8 @@ # ################################################################################ -IRQBALANCE_VERSION = v1.5.0 -IRQBALANCE_SITE = $(call github,irqbalance,irqbalance,$(IRQBALANCE_VERSION)) +IRQBALANCE_VERSION = 1.6.0 +IRQBALANCE_SITE = $(call github,irqbalance,irqbalance,v$(IRQBALANCE_VERSION)) IRQBALANCE_LICENSE = GPL-2.0 IRQBALANCE_LICENSE_FILES = COPYING IRQBALANCE_DEPENDENCIES = host-pkgconf libglib2 @@ -40,13 +40,6 @@ 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 -endef - -IRQBALANCE_PRE_CONFIGURE_HOOKS += IRQBALANCE_PRECONFIGURE - define IRQBALANCE_INSTALL_INIT_SYSV $(INSTALL) -D -m 755 package/irqbalance/S13irqbalance \ $(TARGET_DIR)/etc/init.d/S13irqbalance @@ -55,9 +48,6 @@ endef define IRQBALANCE_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/irqbalance/irqbalance.service \ $(TARGET_DIR)/usr/lib/systemd/system/irqbalance.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -fs ../../../../usr/lib/systemd/system/irqbalance.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/irqbalance.service endef $(eval $(autotools-package)) diff --git a/package/irrlicht/0003-makefile-override-LDFLAGS-and-remove-obsolete-X11R6-.patch b/package/irrlicht/0003-makefile-override-LDFLAGS-and-remove-obsolete-X11R6-.patch new file mode 100644 index 0000000000..51b98a4e8a --- /dev/null +++ b/package/irrlicht/0003-makefile-override-LDFLAGS-and-remove-obsolete-X11R6-.patch @@ -0,0 +1,36 @@ +From 0ecb59c4dc575bb902c1955d8762f91ff79290a4 Mon Sep 17 00:00:00 2001 +From: Bartosz Bilas +Date: Tue, 23 Jun 2020 19:36:27 +0200 +Subject: [PATCH] makefile: override LDFLAGS and remove obsolete X11R6 + lib/include directories + +Add "override" keyword to LDFLAGS variable in order to link libraries +using buildroot cross-compiler correctly and remove those non-supported +paths to lib/includes that are not used and not available in buildroot +and in addition point to the host system libraries in a result +cause the following warning: + +/home/bartekk/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-gnueabihf/9.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: warning: library search path "/usr/X11R6/lib" is unsafe for cross-compilation + +Signed-off-by: Bartosz Bilas +--- + source/Irrlicht/Makefile | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/source/Irrlicht/Makefile b/source/Irrlicht/Makefile +index 1a8277e..b323237 100644 +--- a/source/Irrlicht/Makefile ++++ b/source/Irrlicht/Makefile +@@ -88,8 +88,7 @@ STATIC_LIB = libIrrlicht.a + LIB_PATH = ../../lib/$(SYSTEM) + INSTALL_DIR = /usr/local/lib + sharedlib install: SHARED_LIB = libIrrlicht.so +-sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm +-staticlib sharedlib: CXXINCS += -I/usr/X11R6/include ++sharedlib: override LDFLAGS += -lGL -lXxf86vm + + #OSX specific options + staticlib_osx sharedlib_osx install_osx: SYSTEM = MacOSX +-- +2.27.0 + diff --git a/package/irrlicht/irrlicht.hash b/package/irrlicht/irrlicht.hash index 489790e29b..1f5631f229 100644 --- a/package/irrlicht/irrlicht.hash +++ b/package/irrlicht/irrlicht.hash @@ -1,5 +1,10 @@ # From https://sourceforge.net/projects/irrlicht/files/Irrlicht%20SDK/1.8/1.8.4 md5 9401cfff801395010b0912211f3cbb4f irrlicht-1.8.4.zip sha1 38bf0223fe868d243d6a39d0dc191c8df6e03b3b irrlicht-1.8.4.zip -# locally calculated -sha256 f42b280bc608e545b820206fe2a999c55f290de5c7509a02bdbeeccc1bf9e433 irrlicht-1.8.4.zip +# Locally calculated +sha256 f42b280bc608e545b820206fe2a999c55f290de5c7509a02bdbeeccc1bf9e433 irrlicht-1.8.4.zip +sha256 cc86e0b830f9d48933feb198f2741a7d9bb7c34fe8a35302d8ce36b8e2ecb27b doc/aesGladman.txt +sha256 e8a6b63336018eec09ac3a7cdfe5a80bda635641bc0397a77b8baa25bed03800 doc/bzip2-license.txt +sha256 ca38f1ba4ab901111f6eee50009bd46dbd866e6beb98d592d843f7c162d73409 doc/irrlicht-license.txt +sha256 67f098c29401646a0f52da432efc3bab0433c13f17effc3314e9fa523da51b75 doc/jpglib-license.txt +sha256 e0f86c3e4acd285618faa55735ceedce46084a3cfb06b8f31d0d092bb68ae151 doc/libpng-license.txt diff --git a/package/irrlicht/irrlicht.mk b/package/irrlicht/irrlicht.mk index a1e190d98d..bd82815cde 100644 --- a/package/irrlicht/irrlicht.mk +++ b/package/irrlicht/irrlicht.mk @@ -38,6 +38,13 @@ ifeq ($(BR2_STATIC_LIBS),) IRRLICHT_CONF_OPTS += sharedlib endif +# Irrlicht fail to detect properly the NEON support on aarch64 or ARM with NEON FPU support. +# While linking an application with libIrrlicht.so, we get an undefined reference to +# png_init_filter_functions_neon. +# Some files are missing in the libpng bundled in Irrlicht, in particular arm/arm_init.c, +# so disable NEON support completely. +IRRLICHT_CONF_OPTS += CPPFLAGS="$(TARGET_CPPFLAGS) -DPNG_ARM_NEON_OPT=0" + define IRRLICHT_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/$(IRRLICHT_SUBDIR) $(IRRLICHT_CONF_OPTS) diff --git a/package/irssi/irssi.hash b/package/irssi/irssi.hash index 0f298137ba..6a91e16487 100644 --- a/package/irssi/irssi.hash +++ b/package/irssi/irssi.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 1b386ca026aa1875c380fd00ef1d24b71fb87cdae39ef5349ecca16c4567feac irssi-1.0.7.tar.xz +sha256 414fdee2ffaeb90a55f141b7fb3899608631dc891e2bc1f5e91ca31f1a621101 irssi-1.0.8.tar.xz # Locally calculated sha256 a1a27cb2ecee8d5378fbb3562f577104a445d6d66fee89286e16758305e63e2b COPYING diff --git a/package/irssi/irssi.mk b/package/irssi/irssi.mk index 611365f88e..4d7268d291 100644 --- a/package/irssi/irssi.mk +++ b/package/irssi/irssi.mk @@ -4,7 +4,7 @@ # ################################################################################ -IRSSI_VERSION = 1.0.7 +IRSSI_VERSION = 1.0.8 IRSSI_SOURCE = irssi-$(IRSSI_VERSION).tar.xz # Do not use the github helper here. The generated tarball is *NOT* the # same as the one uploaded by upstream for the release. diff --git a/package/isl/isl.hash b/package/isl/isl.hash index 43e5a463af..40d04dca80 100644 --- a/package/isl/isl.hash +++ b/package/isl/isl.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 0f35051cc030b87c673ac1f187de40e386a1482a0cfdf2c552dd6031b307ddc4 isl-0.18.tar.xz +sha256 6c8bc56c477affecba9c59e2c9f026967ac8bad01b51bdd07916db40a517b9fa isl-0.22.tar.xz +sha256 3a2c398103f6bca0f50a9a9465deca9230b370b0212af5fdf31ed88a36215c30 LICENSE diff --git a/package/isl/isl.mk b/package/isl/isl.mk index b5f01c4c8d..a1a597d038 100644 --- a/package/isl/isl.mk +++ b/package/isl/isl.mk @@ -4,7 +4,7 @@ # ################################################################################ -ISL_VERSION = 0.18 +ISL_VERSION = 0.22 ISL_SOURCE = isl-$(ISL_VERSION).tar.xz ISL_SITE = http://isl.gforge.inria.fr ISL_LICENSE = MIT diff --git a/package/iucode-tool/Config.in b/package/iucode-tool/Config.in index d81dabb196..f9f2521a42 100644 --- a/package/iucode-tool/Config.in +++ b/package/iucode-tool/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_IUCODE_TOOL bool "iucode-tool" depends on BR2_x86_64 || BR2_i386 select BR2_PACKAGE_INTEL_MICROCODE + select BR2_PACKAGE_INTEL_MICROCODE_INSTALL_TARGET select BR2_PACKAGE_ARGP_STANDALONE \ if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL help diff --git a/package/iucode-tool/iucode-tool.mk b/package/iucode-tool/iucode-tool.mk index e900888d7d..bddc37295c 100644 --- a/package/iucode-tool/iucode-tool.mk +++ b/package/iucode-tool/iucode-tool.mk @@ -21,9 +21,6 @@ endef define IUCODE_TOOL_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/iucode-tool/iucode.service \ $(TARGET_DIR)/usr/lib/systemd/system/iucode.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -sf ../../../../usr/lib/systemd/system/iucode.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/iucode.service endef $(eval $(autotools-package)) diff --git a/package/iw/Config.in b/package/iw/Config.in index fd73b20992..8a74e3b2ad 100644 --- a/package/iw/Config.in +++ b/package/iw/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_IW help Utility for wireless devices using the mac80211 kernel stack - http://wireless.kernel.org/en/users/Documentation/iw + https://wireless.wiki.kernel.org/en/users/documentation/iw comment "iw needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/iw/iw.hash b/package/iw/iw.hash index 6423df7732..0aa51563f1 100644 --- a/package/iw/iw.hash +++ b/package/iw/iw.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/software/network/iw/sha256sums.asc -sha256 f01671c0074bfdec082a884057edba1b9efd35c89eda554638496f03b769ad89 iw-4.14.tar.xz +sha256 a2469f677088d7b1070a7fbb28f3c747041697e8f6ec70783339cb1bc27a395f iw-5.4.tar.xz # Locally calculated -sha256 5932fb70481e128940168a5fdf133e6454293c0865c7e757874b235cb6daa2af COPYING +sha256 5932fb70481e128940168a5fdf133e6454293c0865c7e757874b235cb6daa2af COPYING diff --git a/package/iw/iw.mk b/package/iw/iw.mk index 8264e8b5dc..2250ea413b 100644 --- a/package/iw/iw.mk +++ b/package/iw/iw.mk @@ -4,7 +4,7 @@ # ################################################################################ -IW_VERSION = 4.14 +IW_VERSION = 5.4 IW_SOURCE = iw-$(IW_VERSION).tar.xz IW_SITE = $(BR2_KERNEL_MIRROR)/software/network/iw IW_LICENSE = ISC @@ -12,8 +12,7 @@ IW_LICENSE_FILES = COPYING IW_DEPENDENCIES = host-pkgconf libnl IW_MAKE_ENV = \ $(TARGET_MAKE_ENV) \ - PKG_CONFIG="$(HOST_DIR)/bin/pkg-config" \ - GIT_DIR=$(IW_DIR) + PKG_CONFIG="$(HOST_DIR)/bin/pkg-config" define IW_BUILD_CMDS $(IW_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) diff --git a/package/iwd/0001-frame-xchg.c-fix-build-with-glibc-2.24.patch b/package/iwd/0001-frame-xchg.c-fix-build-with-glibc-2.24.patch new file mode 100644 index 0000000000..cd0bae4835 --- /dev/null +++ b/package/iwd/0001-frame-xchg.c-fix-build-with-glibc-2.24.patch @@ -0,0 +1,46 @@ +From 44cd3719eb94c8d5776b37c73993eea0617902f7 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 11 Apr 2020 23:21:42 +0200 +Subject: [PATCH] frame-xchg.c: fix build with glibc < 2.24 + +SOL_NETLINK is used since commit +87a198111af1ea67053895f7435fb99e3cdd2159 resulting in the following +build failure with glibc < 2.24: + +src/frame-xchg.c: In function 'frame_watch_group_io_read': +src/frame-xchg.c:328:27: error: 'SOL_NETLINK' undeclared (first use in this function) + if (cmsg->cmsg_level != SOL_NETLINK) + ^ + +This failure is due to glibc that doesn't support SOL_NETLINK before +version 2.24 and +https://github.com/bminor/glibc/commit/f9b437d5efce93800b51ad2a437c8b1c9616bf80 + +Fixes: + - http://autobuild.buildroot.org/results/3485088b84111c271bbcfaf025aa4103c6452072 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://lists.01.org/hyperkitty/list/iwd@lists.01.org/thread/ZRN25CA5I7PGUTFIRJLLXN7VHWGDAZDN] +--- + src/frame-xchg.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/frame-xchg.c b/src/frame-xchg.c +index 50351615..4c950fd3 100644 +--- a/src/frame-xchg.c ++++ b/src/frame-xchg.c +@@ -42,6 +42,10 @@ + #include "src/netdev.h" + #include "src/frame-xchg.h" + ++#ifndef SOL_NETLINK ++#define SOL_NETLINK 270 ++#endif ++ + struct watch_group { + /* + * Group IDs, except 0, are per wdev for user's convenience. +-- +2.25.1 + diff --git a/package/iwd/Config.in b/package/iwd/Config.in index c790f3dba1..ed1ae8f56e 100644 --- a/package/iwd/Config.in +++ b/package/iwd/Config.in @@ -1,14 +1,18 @@ config BR2_PACKAGE_IWD bool "iwd" + depends on BR2_USE_MMU # dbus + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus depends on BR2_TOOLCHAIN_HAS_SYNC_4 # ell depends on !BR2_STATIC_LIBS # ell depends on BR2_USE_WCHAR # ell + select BR2_PACKAGE_DBUS # runtime select BR2_PACKAGE_ELL help iNet Wireless daemon (iwd) https://iwd.wiki.kernel.org/ -comment "iwd needs a toolchain w/ dynamic library, wchar" +comment "iwd needs a toolchain w/ threads, dynamic library, wchar" + depends on BR2_USE_MMU # dbus 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 index d8eefc064c..26ce712660 100644 --- a/package/iwd/iwd.hash +++ b/package/iwd/iwd.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 e416bd549474b2940b0e43ac680795fbafe2b4965fe6a977cd4c1caa1a05e897 iwd-0.13.tar.gz +sha256 10b53cee9c38c9c60f83d4e16a446b27551b6187a2bd09d724f2238c99877f3f iwd-1.6.tar.gz # License files -sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING +sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING diff --git a/package/iwd/iwd.mk b/package/iwd/iwd.mk index 63736947cf..f3776fbfd4 100644 --- a/package/iwd/iwd.mk +++ b/package/iwd/iwd.mk @@ -4,7 +4,7 @@ # ################################################################################ -IWD_VERSION = 0.13 +IWD_VERSION = 1.6 IWD_SITE = https://git.kernel.org/pub/scm/network/wireless/iwd.git IWD_SITE_METHOD = git IWD_LICENSE = LGPL-2.1+ @@ -12,7 +12,9 @@ IWD_LICENSE_FILES = COPYING # sources from git, no configure script provided IWD_AUTORECONF = YES -IWD_CONF_OPTS = --enable-external-ell +IWD_CONF_OPTS = \ + --disable-manual-pages \ + --enable-external-ell IWD_DEPENDENCIES = ell # autoreconf requires an existing build-aux directory @@ -30,7 +32,7 @@ endif ifeq ($(BR2_PACKAGE_READLINE),y) # iwd client depends on readline (GPL-3.0+) -IWD_LICENSE := $(IWD_LICENSE), GPL-3.0+ (client) +IWD_LICENSE += , GPL-3.0+ (client) IWD_CONF_OPTS += --enable-client IWD_DEPENDENCIES += readline else diff --git a/package/jack1/Config.in b/package/jack1/Config.in new file mode 100644 index 0000000000..b9299e2fd8 --- /dev/null +++ b/package/jack1/Config.in @@ -0,0 +1,33 @@ +config BR2_PACKAGE_JACK1 + bool "jack1" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib + depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_PACKAGE_JACK2 + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_ALSA_LIB_HWDEP + select BR2_PACKAGE_ALSA_LIB_RAWMIDI + select BR2_PACKAGE_ALSA_LIB_SEQ + select BR2_PACKAGE_BERKELEYDB + select BR2_PACKAGE_LIBSAMPLERATE + select BR2_PACKAGE_LIBSNDFILE + help + JACK Audio Connection Kit (JACK 1 implementation). + + JACK is a low-latency sound server, allowing multiple + applications to connect to one audio device, and to share + audio between themselves. This package contains the daemon + jackd as well as some example clients. + + http://jackaudio.org/ + + Another implementation (BR2_PACKAGE_JACK2) is also available, + please consult the documentation to choose the right one: + + https://github.com/jackaudio/jackaudio.github.com/wiki/Q_difference_jack1_jack2 + +comment "jack1 needs a toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/jack1/jack1.hash b/package/jack1/jack1.hash new file mode 100644 index 0000000000..d7787ac2ad --- /dev/null +++ b/package/jack1/jack1.hash @@ -0,0 +1,5 @@ +# Locally computed +sha256 3517b5bff82139a76b2b66fe2fd9a3b34b6e594c184f95a988524c575b11d444 jack-audio-connection-kit-0.125.0.tar.gz +sha256 661fe53a7e3fce790b185e35c60b7ed80d7efdf25fd7df5af6814a9a215a538f COPYING +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING.GPL +sha256 ad01ea5cd2755f6048383c8d54c88459cd6fcb17757c5c8892f8c5ea060f6140 COPYING.LGPL diff --git a/package/jack1/jack1.mk b/package/jack1/jack1.mk new file mode 100644 index 0000000000..2f97434ebe --- /dev/null +++ b/package/jack1/jack1.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# jack1 +# +################################################################################ + +JACK1_VERSION = 0.125.0 +JACK1_SOURCE = jack-audio-connection-kit-$(JACK1_VERSION).tar.gz +JACK1_SITE = http://jackaudio.org/downloads +JACK1_LICENSE = GPL-2.0+ (jack server), LGPL-2.1+ (jack library) +JACK1_LICENSE_FILES = COPYING COPYING.GPL COPYING.LGPL +JACK1_INSTALL_STAGING = YES + +# Dependency to celt can't be met: jack1 requires celt >= 0.8.0 but we +# only have 0.5.1.3 and we cannot upgrade. +JACK1_DEPENDENCIES = host-pkgconf alsa-lib berkeleydb libsamplerate libsndfile + +ifeq ($(BR2_PACKAGE_READLINE),y) +JACK1_DEPENDENCIES += readline +endif + +JACK1_CONF_OPTS = --without-html-dir --disable-oss + +$(eval $(autotools-package)) diff --git a/package/jack2/0001-Fix-initialization-in-test-iodelay.patch b/package/jack2/0001-Fix-initialization-in-test-iodelay.patch deleted file mode 100644 index ee2493886b..0000000000 --- a/package/jack2/0001-Fix-initialization-in-test-iodelay.patch +++ /dev/null @@ -1,65 +0,0 @@ -From ff1ed2c4524095055140370c1008a2d9cccc5645 Mon Sep 17 00:00:00 2001 -From: Adrian Knoth -Date: Sat, 11 Jun 2016 05:35:07 +0200 -Subject: [PATCH] Fix initialization in test/iodelay.cpp - -jack_latency_range_t is - -struct _jack_latency_range { - jack_nframes_t min; - jack_nframes_t max; -}; - -and jack_nframes_t is - -typedef uint32_t jack_nframes_t; - -so it's unsigned. Initialising it with -1 is invalid (at least in C++14). We cannot use {0, 0}, because latency_cb has - - jack_latency_range_t range; - range.min = range.max = 0; - if ((range.min != capture_latency.min) || (range.max != - capture_latency.max)) { - capture_latency = range; - } - -so we must not have {0, 0}, otherwise the condition would never be true. - -Using UINT32_MAX should be equivalent to the previous -1. - -[Upstream commit https://github.com/jackaudio/jack2/commit/ff1ed2c4524095055140370c1008a2d9cccc5645] -Signed-off-by: Thomas Petazzoni ---- - tests/iodelay.cpp | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/tests/iodelay.cpp b/tests/iodelay.cpp -index e1ba63fa..1ef470fd 100644 ---- a/tests/iodelay.cpp -+++ b/tests/iodelay.cpp -@@ -20,6 +20,7 @@ - - #include - #include -+#include - #include - #include - #include -@@ -167,8 +168,8 @@ static jack_client_t *jack_handle; - static jack_port_t *jack_capt; - static jack_port_t *jack_play; - --jack_latency_range_t capture_latency = {-1, -1}; --jack_latency_range_t playback_latency = {-1, -1}; -+jack_latency_range_t capture_latency = {UINT32_MAX, UINT32_MAX}; -+jack_latency_range_t playback_latency = {UINT32_MAX, UINT32_MAX}; - - void - latency_cb (jack_latency_callback_mode_t mode, void *arg) -@@ -266,4 +267,4 @@ int main (int ac, char *av []) - return 0; - } - --// -------------------------------------------------------------------------------- -\ No newline at end of file -+// -------------------------------------------------------------------------------- diff --git a/package/jack2/0002-Improve-check-for-ucontext.patch b/package/jack2/0002-Improve-check-for-ucontext.patch deleted file mode 100644 index b8aa1da721..0000000000 --- a/package/jack2/0002-Improve-check-for-ucontext.patch +++ /dev/null @@ -1,84 +0,0 @@ -From ad79670d6d1e7ef2aad6935715921e5317cbe618 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 23 May 2016 22:28:12 +0200 -Subject: [PATCH] Improve check for ucontext - -The ucontext functionality is not available on all CPUs with all C -libraries. Instead of making just assumptions based on the CPU -architecture, this commit adds the necessary checks in wscript to verify -the availability of the ucontext functionality, before using it in -dbus/sigsegv.c. - -This avoids the long list of architecture exclusions, and make it more -robust when building jack2 for new CPU architectures. - -Signed-off-by: Thomas Petazzoni ---- - dbus/sigsegv.c | 12 ++++++------ - wscript | 16 +++++++++++++++- - 2 files changed, 21 insertions(+), 7 deletions(-) - -diff --git a/dbus/sigsegv.c b/dbus/sigsegv.c -index df2c42c..00a62b5 100644 ---- a/dbus/sigsegv.c -+++ b/dbus/sigsegv.c -@@ -106,20 +106,20 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) { - jack_error("info.si_errno = %d", info->si_errno); - jack_error("info.si_code = %d (%s)", info->si_code, si_code_str); - jack_error("info.si_addr = %p", info->si_addr); --#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__) && !defined(__aarch64__) -+#if defined(HAVE_UCONTEXT) && defined(HAVE_NGREG) - for(i = 0; i < NGREG; i++) - jack_error("reg[%02d] = 0x" REGFORMAT, i, --#if defined(__powerpc64__) -+#if defined(HAVE_UCONTEXT_GP_REGS) - ucontext->uc_mcontext.gp_regs[i] --#elif defined(__powerpc__) -+#elif defined(HAVE_UCONTEXT_UC_REGS) - ucontext->uc_mcontext.uc_regs[i] --#elif defined(__sparc__) && defined(__arch64__) -+#elif defined(HAVE_UCONTEXT_MC_GREGS) - ucontext->uc_mcontext.mc_gregs[i] --#else -+#elif defined(HAVE_UCONTEXT_GREGS) - ucontext->uc_mcontext.gregs[i] - #endif - ); --#endif /* alpha, ia64, kFreeBSD, arm, hppa */ -+#endif /* defined(HAVE_UCONTEXT) && defined(HAVE_NGREG) */ - - #if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64) - # if defined(SIGSEGV_STACK_IA64) -diff --git a/wscript b/wscript -index 63ba3aa..34a56fc 100644 ---- a/wscript -+++ b/wscript -@@ -168,10 +168,24 @@ def configure(conf): - - conf.check_cc(header_name='execinfo.h', define_name="HAVE_EXECINFO_H", mandatory=False) - conf.check_cc(header_name='samplerate.h', define_name="HAVE_SAMPLERATE") -- - if conf.is_defined('HAVE_SAMPLERATE'): - conf.env['LIB_SAMPLERATE'] = ['samplerate'] - -+ # test for the availability of ucontext, and how it should be used -+ for t in ("gp_regs", "uc_regs", "mc_gregs", "gregs"): -+ fragment = "#include \n" -+ fragment += "int main() { ucontext_t *ucontext; return (int) ucontext->uc_mcontext.%s[0]; }" % t -+ confvar = "HAVE_UCONTEXT_%s" % t.upper() -+ conf.check_cc(fragment=fragment, define_name=confvar, mandatory=False, -+ msg="Checking for ucontext->uc_mcontext.%s" % t) -+ if conf.is_defined(confvar): -+ conf.define('HAVE_UCONTEXT', 1) -+ -+ fragment = "#include \n" -+ fragment += "int main() { return NGREG; }" -+ conf.check_cc(fragment=fragment, define_name="HAVE_NGREG", mandatory=False, -+ msg="Checking for NGREG") -+ - conf.sub_config('example-clients') - - if conf.check_cfg(package='celt', atleast_version='0.11.0', args='--cflags --libs', mandatory=False): --- -2.7.4 - diff --git a/package/jack2/0003-Make-backtrace-support-depends-on-execinfo.h-existen.patch b/package/jack2/0003-Make-backtrace-support-depends-on-execinfo.h-existen.patch deleted file mode 100644 index 719c6a83ba..0000000000 --- a/package/jack2/0003-Make-backtrace-support-depends-on-execinfo.h-existen.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 4b2c73ad056aa327dc3b505410da68cf384317ba Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Mon, 16 May 2016 22:26:05 +0200 -Subject: [PATCH] Make backtrace support depends on execinfo.h existence - -In some C-libraries (like uclibc), backtrace support is optional, so the -execinfo.h file may not exist. - -This change adds the check for execinfo.h header and conditionnaly enable -backtrace support. - -This issue has been triggered by Buildroot farms: - http://autobuild.buildroot.org/results/391/391e71a988250ea66ec4dbee6f60fdce9eaf2766/build-end.log - -Signed-off-by: Samuel Martin ---- - dbus/sigsegv.c | 8 +++++++- - wscript | 1 + - 2 files changed, 8 insertions(+), 1 deletion(-) - -diff --git a/dbus/sigsegv.c b/dbus/sigsegv.c -index ee12f91..0b31d89 100644 ---- a/dbus/sigsegv.c -+++ b/dbus/sigsegv.c -@@ -27,7 +27,9 @@ - #include - #include - #include --#include -+#if defined(HAVE_EXECINFO_H) -+# include -+#endif /* defined(HAVE_EXECINFO_H) */ - #include - #ifndef NO_CPP_DEMANGLE - char * __cxa_demangle(const char * __mangled_name, char * __output_buffer, size_t * __length, int * __status); -@@ -161,12 +163,16 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) { - bp = (void**)bp[0]; - } - #else -+# if defined(HAVE_EXECINFO_H) - jack_error("Stack trace (non-dedicated):"); - sz = backtrace(bt, 20); - strings = backtrace_symbols(bt, sz); - - for(i = 0; i < sz; ++i) - jack_error("%s", strings[i]); -+# else /* defined(HAVE_EXECINFO_H) */ -+ jack_error("Stack trace not available"); -+# endif /* defined(HAVE_EXECINFO_H) */ - #endif - jack_error("End of stack trace"); - exit (-1); -diff --git a/wscript b/wscript -index aef4bd8..63ba3aa 100644 ---- a/wscript -+++ b/wscript -@@ -166,6 +166,7 @@ def configure(conf): - if conf.env['BUILD_JACKDBUS'] != True: - conf.fatal('jackdbus was explicitly requested but cannot be built') - -+ conf.check_cc(header_name='execinfo.h', define_name="HAVE_EXECINFO_H", mandatory=False) - conf.check_cc(header_name='samplerate.h', define_name="HAVE_SAMPLERATE") - - if conf.is_defined('HAVE_SAMPLERATE'): --- -2.8.2 - diff --git a/package/jack2/0004-tests-define-__STDC_LIMIT_MACROS.patch b/package/jack2/0004-tests-define-__STDC_LIMIT_MACROS.patch deleted file mode 100644 index e4990b5c34..0000000000 --- a/package/jack2/0004-tests-define-__STDC_LIMIT_MACROS.patch +++ /dev/null @@ -1,41 +0,0 @@ -From c971aaab74ca6e7d4ac3a06bd26e7309dfc5da45 Mon Sep 17 00:00:00 2001 -From: Rahul Bedarkar -Date: Mon, 22 Aug 2016 19:04:47 +0530 -Subject: [PATCH] tests: define __STDC_LIMIT_MACROS - -With glibc 2.16, we get following build error when building jack2: - - [193/247] cxx: tests/iodelay.cpp -> build/tests/iodelay.cpp.4.o - ../tests/iodelay.cpp:171:43: error: 'UINT32_MAX' was not declared in this scope - ../tests/iodelay.cpp:171:55: error: 'UINT32_MAX' was not declared in this scope - ../tests/iodelay.cpp:172:44: error: 'UINT32_MAX' was not declared in this scope - ../tests/iodelay.cpp:172:56: error: 'UINT32_MAX' was not declared in this scope - -In glibc 2.17 or older version, Header defines these macros -for C++ only if explicitly requested by defining __STDC_LIMIT_MACROS. - -We can't use since it requires C++11 standard. - -This build issue found by Buildroot autobuilder. -http://autobuild.buildroot.net/results/369/369ce208ffea43dad75ba0a13469159b341e3bf5/ - -Signed-off-by: Rahul Bedarkar ---- - tests/iodelay.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/iodelay.cpp b/tests/iodelay.cpp -index 1ef470f..f5c5836 100644 ---- a/tests/iodelay.cpp -+++ b/tests/iodelay.cpp -@@ -20,6 +20,7 @@ - - #include - #include -+#define __STDC_LIMIT_MACROS - #include - #include - #include --- -2.6.2 - diff --git a/package/jack2/0005-gcc7.patch b/package/jack2/0005-gcc7.patch deleted file mode 100644 index dadaf44ed9..0000000000 --- a/package/jack2/0005-gcc7.patch +++ /dev/null @@ -1,31 +0,0 @@ -From f7bccdca651592cc4082b28fd4a01ed6ef8ab655 Mon Sep 17 00:00:00 2001 -From: Kjetil Matheussen -Date: Sat, 15 Jul 2017 13:21:59 +0200 -Subject: [PATCH] Tests: Fix compilation with gcc7 - -Fixes -../tests/test.cpp: In function ‘int process4(jack_nframes_t, void*)’: -../tests/test.cpp:483:73: error: call of overloaded ‘abs(jack_nframes_t)’ is ambiguous - if (delta_time > 0 && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) { - -Downloaded from upstream commit -https://github.com/jackaudio/jack2/commit/f7bccdca651592cc4082b28fd4a01ed6ef8ab655 - -Signed-off-by: Bernd Kuhls ---- - tests/test.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/test.cpp b/tests/test.cpp -index 8a8a8117..d2ef9a05 100644 ---- a/tests/test.cpp -+++ b/tests/test.cpp -@@ -479,7 +479,7 @@ int process4(jack_nframes_t nframes, void *arg) - jack_nframes_t delta_time = cur_time - last_time; - - Log("calling process4 callback : jack_frame_time = %ld delta_time = %ld\n", cur_time, delta_time); -- if (delta_time > 0 && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) { -+ if (delta_time > 0 && abs((int64_t)delta_time - (int64_t)cur_buffer_size) > (int64_t)tolerance) { - printf("!!! ERROR !!! jack_frame_time seems to return incorrect values cur_buffer_size = %d, delta_time = %d tolerance %d\n", cur_buffer_size, delta_time, tolerance); - } - diff --git a/package/jack2/0006-fix-ftbfs-with-clang.patch b/package/jack2/0006-fix-ftbfs-with-clang.patch deleted file mode 100644 index a73fe69e15..0000000000 --- a/package/jack2/0006-fix-ftbfs-with-clang.patch +++ /dev/null @@ -1,28 +0,0 @@ -From d3c8e2d8d78899fba40a3e677ed4dbe388d82269 Mon Sep 17 00:00:00 2001 -From: Adrian Knoth -Date: Thu, 18 Sep 2014 18:29:23 +0200 -Subject: [PATCH] Fix FTBFS with clang++ - -Forwarded from http://bugs.debian.org/757820 - -Downloaded from upstream commit -https://github.com/jackaudio/jack2/commit/d3c8e2d8d78899fba40a3e677ed4dbe388d82269 - -Signed-off-by: Bernd Kuhls ---- - common/memops.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/common/memops.c b/common/memops.c -index 27f6194a..2d416b64 100644 ---- a/common/memops.c -+++ b/common/memops.c -@@ -198,7 +198,7 @@ static inline __m128i float_24_sse(__m128 s) - */ - static unsigned int seed = 22222; - --inline unsigned int fast_rand() { -+static inline unsigned int fast_rand() { - seed = (seed * 96314165) + 907633515; - return seed; - } diff --git a/package/jack2/jack2.hash b/package/jack2/jack2.hash index ab031b9d94..aec56e24a4 100644 --- a/package/jack2/jack2.hash +++ b/package/jack2/jack2.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 88f1b6601b7c8950e6a2d5940b423a33ee628ae5583da40bdce3d9317d8c600d jack2-v1.9.10.tar.gz +sha256 a20a32366780c0061fd58fbb5f09e514ea9b7ce6e53b080a44b11a558a83217c jack2-1.9.14.tar.gz diff --git a/package/jack2/jack2.mk b/package/jack2/jack2.mk index b61c5d75f7..db63b7f4b7 100644 --- a/package/jack2/jack2.mk +++ b/package/jack2/jack2.mk @@ -4,10 +4,10 @@ # ################################################################################ -JACK2_VERSION = v1.9.10 -JACK2_SITE = $(call github,jackaudio,jack2,$(JACK2_VERSION)) +JACK2_VERSION = 1.9.14 +JACK2_SITE = $(call github,jackaudio,jack2,v$(JACK2_VERSION)) JACK2_LICENSE = GPL-2.0+ (jack server), LGPL-2.1+ (jack library) -JACK2_DEPENDENCIES = libsamplerate libsndfile alsa-lib host-python +JACK2_DEPENDENCIES = libsamplerate libsndfile alsa-lib JACK2_INSTALL_STAGING = YES JACK2_CONF_OPTS = --alsa @@ -34,11 +34,6 @@ JACK2_DEPENDENCIES += dbus JACK2_CONF_OPTS += --dbus endif -# Even though it advertises support for celt-0.5.x, jack2 really -# requires celt >= 0.5.2 but we only have 0.5.1.3 and we cannot -# upgrade, so we do not add a dependency to celt051, which it can't -# find anyway as it looks for celt.pc but we only have celt-51.pc. - # The dependency against eigen is only useful in conjunction with # gtkiostream, which we do not have, so we don't need to depend on # eigen. diff --git a/package/jailhouse/Config.in b/package/jailhouse/Config.in new file mode 100644 index 0000000000..596b4951db --- /dev/null +++ b/package/jailhouse/Config.in @@ -0,0 +1,28 @@ +config BR2_PACKAGE_JAILHOUSE + bool "jailhouse" + depends on BR2_aarch64 || BR2_x86_64 + depends on BR2_LINUX_KERNEL + help + The Jailhouse partitioning Hypervisor based on Linux. + + https://github.com/siemens/jailhouse + +if BR2_PACKAGE_JAILHOUSE + +config BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS + bool "helper scripts" + depends on BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_MAKO # runtime + help + Python-based helpers for the Jailhouse Hypervisor. + + https://github.com/siemens/jailhouse + +comment "helper scripts require Python" + depends on !BR2_PACKAGE_PYTHON + +endif + +comment "jailhouse needs a Linux kernel to be built" + depends on BR2_aarch64 || BR2_x86_64 + depends on !BR2_LINUX_KERNEL diff --git a/package/jailhouse/jailhouse.hash b/package/jailhouse/jailhouse.hash new file mode 100644 index 0000000000..9fb4d599da --- /dev/null +++ b/package/jailhouse/jailhouse.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 8de2406f455db07794cc750238ce57bc897673ba2b68c56fc9ae2d8079142b33 jailhouse-0.11.tar.gz +sha256 3aafb31a2436178323663e00511f16d58fc36ea654b1457532e79d017205efd8 COPYING diff --git a/package/jailhouse/jailhouse.mk b/package/jailhouse/jailhouse.mk new file mode 100644 index 0000000000..1aa7851707 --- /dev/null +++ b/package/jailhouse/jailhouse.mk @@ -0,0 +1,54 @@ +################################################################################ +# +# jailhouse +# +################################################################################ + +JAILHOUSE_VERSION = 0.11 +JAILHOUSE_SITE = $(call github,siemens,jailhouse,v$(JAILHOUSE_VERSION)) +JAILHOUSE_LICENSE = GPL-2.0 +JAILHOUSE_LICENSE_FILES = COPYING +JAILHOUSE_DEPENDENCIES = \ + linux + +JAILHOUSE_MAKE_OPTS = \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + ARCH="$(KERNEL_ARCH)" \ + KDIR="$(LINUX_DIR)" \ + DESTDIR="$(TARGET_DIR)" + +ifeq ($(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS),y) +JAILHOUSE_DEPENDENCIES += \ + host-python-mako \ + host-python-setuptools +JAILHOUSE_MAKE_OPTS += \ + HAS_PYTHON_MAKO="yes" \ + PYTHON_PIP_USABLE="yes" +else +JAILHOUSE_MAKE_OPTS += \ + HAS_PYTHON_MAKO="no" \ + PYTHON_PIP_USABLE="no" +endif + +define JAILHOUSE_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D) + + $(if $(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS), \ + cd $(@D) && $(PKG_PYTHON_SETUPTOOLS_ENV) $(HOST_DIR)/bin/python setup.py build) +endef + +define JAILHOUSE_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D) modules_install firmware_install tool_inmates_install + $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D)/tools src=$(@D)/tools install + + $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/jailhouse + $(INSTALL) -D -m 0644 $(@D)/configs/*/*.cell $(TARGET_DIR)/etc/jailhouse + + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/local/libexec/jailhouse/demos + $(INSTALL) -D -m 0755 $(@D)/inmates/demos/*/*.bin $(TARGET_DIR)/usr/local/libexec/jailhouse/demos + + $(if $(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS), \ + cd $(@D) && $(PKG_PYTHON_SETUPTOOLS_ENV) $(HOST_DIR)/bin/python setup.py install --no-compile $(PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS)) +endef + +$(eval $(generic-package)) diff --git a/package/jamvm/0001-Use-fenv.h-when-available-instead-of-fpu_control.h.patch b/package/jamvm/0001-Use-fenv.h-when-available-instead-of-fpu_control.h.patch deleted file mode 100644 index 78ee9b7e18..0000000000 --- a/package/jamvm/0001-Use-fenv.h-when-available-instead-of-fpu_control.h.patch +++ /dev/null @@ -1,108 +0,0 @@ -From ecd4eceae98cfb1c83133bdeaa9095546ca8b7c6 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 26 May 2016 15:05:48 +0200 -Subject: [PATCH] Use when available instead of - -musl libc (http://musl-libc.org lack the non-standard -header, which is used in src/os/linux/{i386,x86_64}/init.c files to -setup the floating point precision. This patch makes it use the -standard C header instead when available. - -Original patch at Felix Janda at -https://sourceforge.net/p/jamvm/patches/6/, adapted to still use - if is not provided. - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 2 +- - src/os/linux/i386/init.c | 15 +++++++++++++++ - src/os/linux/x86_64/init.c | 15 +++++++++++++-- - 3 files changed, 29 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 19f77e6..ce59a3e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -279,7 +279,7 @@ fi - - dnl Checks for header files. - AC_HEADER_STDC --AC_CHECK_HEADERS(sys/time.h unistd.h endian.h sys/param.h locale.h alloca.h) -+AC_CHECK_HEADERS(sys/time.h unistd.h endian.h sys/param.h locale.h alloca.h fenv.h) - - if test "$enable_zip" != no; then - AC_CHECK_HEADER(zlib.h,,AC_MSG_ERROR(zlib.h is missing)) -diff --git a/src/os/linux/i386/init.c b/src/os/linux/i386/init.c -index d9c6648..8fefe7d 100644 ---- a/src/os/linux/i386/init.c -+++ b/src/os/linux/i386/init.c -@@ -19,18 +19,33 @@ - * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -+#include "config.h" -+ -+#if defined(HAVE_FENV_H) -+#include -+#else - #include -+#endif - - /* Change floating point precision to double (64-bit) from - * the extended (80-bit) Linux default. */ - - void setDoublePrecision() { -+#if defined(HAVE_FENV_H) -+ fenv_t fenv; -+ -+ fegetenv(&fenv); -+ fenv.__control_word &= ~0x300; /* _FPU_EXTENDED */ -+ fenv.__control_word |= 0x200; /* _FPU_DOUBLE */ -+ fesetenv(&fenv); -+#else - fpu_control_t cw; - - _FPU_GETCW(cw); - cw &= ~_FPU_EXTENDED; - cw |= _FPU_DOUBLE; - _FPU_SETCW(cw); -+#endif - } - - void initialisePlatform() { -diff --git a/src/os/linux/x86_64/init.c b/src/os/linux/x86_64/init.c -index 9d55229..b42b14e 100644 ---- a/src/os/linux/x86_64/init.c -+++ b/src/os/linux/x86_64/init.c -@@ -19,7 +19,11 @@ - * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - --#ifdef __linux__ -+#include "config.h" -+ -+#if defined(HAVE_FENV_H) -+#include -+#else - #include - #endif - -@@ -30,7 +34,14 @@ - */ - - void setDoublePrecision() { --#ifdef __linux__ -+#if defined(HAVE_FENV_H) -+ fenv_t fenv; -+ -+ fegetenv(&fenv); -+ fenv.__control_word &= ~0x300; /*_FPU_EXTENDED */ -+ fenv.__control_word |= 0x200; /*_FPU_DOUBLE */ -+ fesetenv(&fenv); -+#else - fpu_control_t cw; - - _FPU_GETCW(cw); --- -2.7.4 - diff --git a/package/jamvm/Config.in b/package/jamvm/Config.in deleted file mode 100644 index 7717ccaadb..0000000000 --- a/package/jamvm/Config.in +++ /dev/null @@ -1,26 +0,0 @@ -config BR2_PACKAGE_JAMVM_ARCH_SUPPORTS - bool - default y if BR2_arm || BR2_armeb - default y if BR2_i386 || BR2_x86_64 - default y if (BR2_mips || BR2_mipsel) \ - && (BR2_MIPS_FP32_MODE_32 || BR2_MIPS_SOFT_FLOAT) - default y if BR2_powerpc - -config BR2_PACKAGE_JAMVM - bool "jamvm" - depends on BR2_PACKAGE_JAMVM_ARCH_SUPPORTS - depends on BR2_PACKAGE_CLASSPATH_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_CLASSPATH - help - JamVM is a new Java Virtual Machine which conforms to the - JVM specification version 2 (blue book). - - http://jamvm.sf.net - -comment "jamvm needs a toolchain w/ threads, dynamic library" - depends on BR2_PACKAGE_JAMVM_ARCH_SUPPORTS - depends on BR2_PACKAGE_CLASSPATH_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/jamvm/jamvm.hash b/package/jamvm/jamvm.hash deleted file mode 100644 index f8ef76cb92..0000000000 --- a/package/jamvm/jamvm.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 76428e96df0ae9dd964c7a7c74c1e9a837e2f312c39e9a357fa8178f7eff80da jamvm-2.0.0.tar.gz diff --git a/package/jamvm/jamvm.mk b/package/jamvm/jamvm.mk deleted file mode 100644 index 3fcf460bcd..0000000000 --- a/package/jamvm/jamvm.mk +++ /dev/null @@ -1,34 +0,0 @@ -################################################################################ -# -# jamvm -# -################################################################################ - -JAMVM_VERSION = 2.0.0 -JAMVM_SITE = http://downloads.sourceforge.net/project/jamvm/jamvm/JamVM%20$(JAMVM_VERSION) -JAMVM_LICENSE = GPL-2.0+ -JAMVM_LICENSE_FILES = COPYING -JAMVM_DEPENDENCIES = zlib classpath -# For 0001-Use-fenv.h-when-available-instead-of-fpu_control.h.patch -JAMVM_AUTORECONF = YES -# int inlining seems to crash jamvm, don't build shared version of internal lib -JAMVM_CONF_OPTS = \ - --with-classpath-install-dir=/usr \ - --disable-int-inlining \ - --disable-shared \ - --without-pic - -# jamvm has ARM assembly code that cannot be compiled in Thumb2 mode, -# so we must force traditional ARM mode. -ifeq ($(BR2_arm),y) -JAMVM_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -marm" -endif - -# Needed for autoreconf -define JAMVM_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef - -JAMVM_POST_PATCH_HOOKS += JAMVM_CREATE_M4_DIR - -$(eval $(autotools-package)) diff --git a/package/janus-gateway/0001-disable-ssp.patch b/package/janus-gateway/0001-disable-ssp.patch index f03b58589b..22f7f1a417 100644 --- a/package/janus-gateway/0001-disable-ssp.patch +++ b/package/janus-gateway/0001-disable-ssp.patch @@ -1,4 +1,7 @@ -Do not force SSP usage +From 4b02c8207adb888d35951bbc1c5b3029594f44c6 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Wed, 24 Apr 2019 13:56:27 -0400 +Subject: [PATCH] Do not force SSP usage The toolchain may not support SSP, so do not enforce its usage, let the package user pass the appropriate CFLAGS to enable SSP if needed. @@ -7,16 +10,24 @@ Signed-off-by: Gregory Dymarek Signed-off-by: Thomas Petazzoni (rebased against v0.1.0) Signed-off-by: Bernd Kuhls +(rebased against v0.6.3) +Signed-off-by: Adam Duskett +--- + configure.ac | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 257ea8c..ca17a29 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,7 +20,6 @@ LT_INIT + # Common CFLAGS + CFLAGS="$CFLAGS \ + -fPIC \ +- -fstack-protector-all \ + -fstrict-aliasing \ + -ggdb3 \ + -pthread \ +-- +2.20.1 -diff -rupN janus-gateway-master.orig/Makefile.am janus-gateway-master/Makefile.am ---- janus-gateway-master.orig/Makefile.am 2014-11-27 14:36:31.000000000 +0000 -+++ janus-gateway-master/Makefile.am 2014-12-01 16:39:50.551935028 +0000 -@@ -14,7 +14,7 @@ AM_CFLAGS += -Wredundant-decls # sophia - # some fairly big refactoring though, which can wait. - # AM_CFLAGS += -Wshadow -Wstrict-aliasing=2 - --AM_CFLAGS += -fstack-protector-all -g -ggdb -fPIC -rdynamic -pthread -+AM_CFLAGS += -g -ggdb -fPIC -rdynamic -pthread - - # FIXME: make docs work with distcheck - DISTCHECK_CONFIGURE_FLAGS = --disable-docs --enable-post-processing diff --git a/package/janus-gateway/0002-Add-test-for-Wunused-but-set-variable.patch b/package/janus-gateway/0002-Add-test-for-Wunused-but-set-variable.patch index 13bc21ea42..ac6b045078 100644 --- a/package/janus-gateway/0002-Add-test-for-Wunused-but-set-variable.patch +++ b/package/janus-gateway/0002-Add-test-for-Wunused-but-set-variable.patch @@ -16,32 +16,33 @@ supported, and only uses it in this case. Signed-off-by: Thomas Petazzoni (rebased against v0.1.0) Signed-off-by: Bernd Kuhls +(rebased against v0.6.3) +Signed-off-by: Adam Duskett --- - Makefile.am | 2 +- - configure.ac | 3 ++ - m4/ax_check_compile_flag.m4 | 74 +++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 78 insertions(+), 1 deletion(-) + Makefile.am | 1 + + configure.ac | 6 ++- + m4/ax_check_compile_flag.m4 | 74 +++++++++++++++++++++++++++++++++++++ + 3 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 m4/ax_check_compile_flag.m4 diff --git a/Makefile.am b/Makefile.am -index 5d23e0b..0f51f6a 100644 +index c6e9ad2..42d256b 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -6,7 +6,7 @@ AM_CFLAGS = \ - -Wnested-externs -Wstrict-prototypes -Wunsafe-loop-optimizations \ - -Wwrite-strings -Wno-missing-field-initializers -Wno-unused-parameter \ - -Wcast-align -Wformat-nonliteral -Wformat-security -Wswitch-default \ -- -Wmissing-include-dirs -Wno-aggregate-return -Wunused-but-set-variable \ -+ -Wmissing-include-dirs -Wno-aggregate-return @GCC_WARN_UNUSED_BUT_SET@ \ - -Warray-bounds -Wold-style-definition -Wsign-compare -Wlarger-than=65537 - AM_CFLAGS += -Wno-undef # sophiasip is not -Wundef--safe - AM_CFLAGS += -Wno-redundant-decls # sophiasip also contains redundant declarations +@@ -140,6 +140,7 @@ janus_CFLAGS = \ + -DTRANSPORTDIR=\"$(transportdir)\" \ + -DEVENTDIR=\"$(eventdir)\" \ + -DCONFDIR=\"$(confdir)\" \ ++ @GCC_WARN_UNUSED_BUT_SET@ \ + $(BORINGSSL_CFLAGS) \ + $(NULL) + diff --git a/configure.ac b/configure.ac -index 17870a7..f9bb1e4 100644 +index ca17a29..beef91a 100644 --- a/configure.ac +++ b/configure.ac -@@ -7,6 +7,9 @@ AM_SILENT_RULES([yes]) - AC_GNU_SOURCE +@@ -13,6 +13,9 @@ AM_SILENT_RULES([yes]) + AC_USE_SYSTEM_EXTENSIONS AC_PROG_CC +AX_CHECK_COMPILE_FLAG([-Wunused-but-set-variable], @@ -50,6 +51,16 @@ index 17870a7..f9bb1e4 100644 LT_PREREQ([2.2]) LT_INIT +@@ -64,8 +67,7 @@ clang*) + CFLAGS="$CFLAGS \ + -Wcast-align \ + -Wno-override-init \ +- -Wunsafe-loop-optimizations \ +- -Wunused-but-set-variable" ++ -Wunsafe-loop-optimizations" + esac + + JANUS_VERSION=63 diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4 new file mode 100644 index 0000000..51df0c0 @@ -131,5 +142,5 @@ index 0000000..51df0c0 +AS_VAR_POPDEF([CACHEVAR])dnl +])dnl AX_CHECK_COMPILE_FLAGS -- -2.1.0 +2.20.1 diff --git a/package/janus-gateway/Config.in b/package/janus-gateway/Config.in index 6eac763f72..fc32546717 100644 --- a/package/janus-gateway/Config.in +++ b/package/janus-gateway/Config.in @@ -5,6 +5,7 @@ menuconfig BR2_PACKAGE_JANUS_GATEWAY depends on BR2_USE_MMU # libnice depends on !BR2_STATIC_LIBS # dlopen select BR2_PACKAGE_JANSSON + select BR2_PACKAGE_LIBCONFIG select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBNICE select BR2_PACKAGE_LIBSRTP @@ -76,12 +77,8 @@ comment "RabbitMQ transport needs a toolchain w/ dynamic library, threads" config BR2_PACKAGE_JANUS_GATEWAY_REST bool "REST (HTTP/HTTPS)" - depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LIBMICROHTTPD -comment "REST transport needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS - config BR2_PACKAGE_JANUS_GATEWAY_UNIX_SOCKETS bool "Unix Sockets" default y diff --git a/package/janus-gateway/janus-gateway.hash b/package/janus-gateway/janus-gateway.hash index 9b13e0f0fc..c61ffcd5b6 100644 --- a/package/janus-gateway/janus-gateway.hash +++ b/package/janus-gateway/janus-gateway.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c9c3b741a5d9f956845d5094c211690178cc0d630a7b23b870437c88a7e4ed3b janus-gateway-v0.5.0.tar.gz -sha256 0a884af515b4593503f6f0c9b424db3945bd77eaa2644d25f45eb93a412b3c19 COPYING +sha256 b6829edaf25862fbf613e2c3d2be7cad29943c0bb1ea5d1b935a07abfee37245 janus-gateway-0.9.2.tar.gz +sha256 91d04c97fa1da3fcd28205873276358aafc071c5b00a9ea8c49dd06d487a9dc6 COPYING diff --git a/package/janus-gateway/janus-gateway.mk b/package/janus-gateway/janus-gateway.mk index cea06b754e..bbc7f95ee1 100644 --- a/package/janus-gateway/janus-gateway.mk +++ b/package/janus-gateway/janus-gateway.mk @@ -4,24 +4,19 @@ # ################################################################################ -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_VERSION = 0.9.2 +JANUS_GATEWAY_SITE = $(call github,meetecho,janus-gateway,v$(JANUS_GATEWAY_VERSION)) +JANUS_GATEWAY_LICENSE = GPL-3.0 with OpenSSL exception JANUS_GATEWAY_LICENSE_FILES = COPYING # ding-libs provides the ini_config library JANUS_GATEWAY_DEPENDENCIES = host-pkgconf jansson libnice \ - libsrtp host-gengetopt libglib2 openssl + libsrtp host-gengetopt libglib2 openssl libconfig # Straight out of the repository, no ./configure, and we also patch # configure.ac. JANUS_GATEWAY_AUTORECONF = YES -define JANUS_GATEWAY_M4 - mkdir -p $(@D)/m4 -endef -JANUS_GATEWAY_POST_PATCH_HOOKS += JANUS_GATEWAY_M4 - JANUS_GATEWAY_CONF_OPTS = \ --disable-data-channels \ --disable-sample-event-handler @@ -117,7 +112,4 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-websockets endif -# Parallel build broken -JANUS_GATEWAY_MAKE = $(MAKE1) - $(eval $(autotools-package)) diff --git a/package/jasper/0001-verify-data-range-CVE-2018-19541.patch b/package/jasper/0001-verify-data-range-CVE-2018-19541.patch new file mode 100644 index 0000000000..35b4299dcf --- /dev/null +++ b/package/jasper/0001-verify-data-range-CVE-2018-19541.patch @@ -0,0 +1,35 @@ +From 24fc4d6f01d2d4c8297d1bebec02360f796e01c2 Mon Sep 17 00:00:00 2001 +From: Michael Vetter +Date: Mon, 4 Nov 2019 18:17:44 +0100 +Subject: [PATCH] Verify range data in jp2_pclr_getdata + +This fixes CVE-2018-19541. +We need to verify the data is in the expected range. Otherwise we get +problems later. + +This is a better fix for https://github.com/mdadams/jasper/pull/199 +which caused segfaults under certain circumstances. + +Patch by Adam Majer +Signed-off-by: Michael Vetter +--- + src/libjasper/jp2/jp2_cod.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/libjasper/jp2/jp2_cod.c b/src/libjasper/jp2/jp2_cod.c +index 890e6ad..0f8d804 100644 +--- a/src/libjasper/jp2/jp2_cod.c ++++ b/src/libjasper/jp2/jp2_cod.c +@@ -855,6 +855,12 @@ static int jp2_pclr_getdata(jp2_box_t *box, jas_stream_t *in) + jp2_getuint8(in, &pclr->numchans)) { + return -1; + } ++ ++ // verify in range data as per I.5.3.4 - Palette box ++ if (pclr->numchans < 1 || pclr->numlutents < 1 || pclr->numlutents > 1024) { ++ return -1; ++ } ++ + lutsize = pclr->numlutents * pclr->numchans; + if (!(pclr->lutdata = jas_alloc2(lutsize, sizeof(int_fast32_t)))) { + return -1; diff --git a/package/jasper/0002-check-null-in-jp2_decode-CVE-2018-19542.patch b/package/jasper/0002-check-null-in-jp2_decode-CVE-2018-19542.patch new file mode 100644 index 0000000000..515a6162cd --- /dev/null +++ b/package/jasper/0002-check-null-in-jp2_decode-CVE-2018-19542.patch @@ -0,0 +1,24 @@ +From fc62d1b7164ded2405fd6a0604548b34a5a77462 Mon Sep 17 00:00:00 2001 +From: Timothy Lyanguzov +Date: Mon, 18 Mar 2019 16:46:24 +1300 +Subject: [PATCH] Fix CVE-2018-19542: Check for NULL pointer in jp2_decode + +Signed-off-by: Michael Vetter +--- + src/libjasper/jp2/jp2_dec.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/libjasper/jp2/jp2_dec.c b/src/libjasper/jp2/jp2_dec.c +index 03b0eaf..a535c19 100644 +--- a/src/libjasper/jp2/jp2_dec.c ++++ b/src/libjasper/jp2/jp2_dec.c +@@ -388,6 +388,9 @@ jas_image_t *jp2_decode(jas_stream_t *in, const char *optstr) + jas_image_setcmpttype(dec->image, newcmptno, jp2_getct(jas_image_clrspc(dec->image), 0, channo + 1)); + } + #endif ++ } else { ++ jas_eprintf("error: invalid MTYP in CMAP box\n"); ++ goto error; + } + } + } diff --git a/package/jasper/0003-test-asclen-CVE-2018-19540.patch b/package/jasper/0003-test-asclen-CVE-2018-19540.patch new file mode 100644 index 0000000000..9401da511b --- /dev/null +++ b/package/jasper/0003-test-asclen-CVE-2018-19540.patch @@ -0,0 +1,29 @@ +From e38454aa1a15b78c028a778fc8bfba3587e25c25 Mon Sep 17 00:00:00 2001 +From: Michael Vetter +Date: Fri, 15 Mar 2019 11:01:02 +0100 +Subject: [PATCH] Make sure asclen is at least 1 + +If txtdesc->asclen is < 1, the array index of txtdesc->ascdata will be negative which causes the heap based overflow. + +Regards CVE-2018-19540. +Regards https://github.com/mdadams/jasper/issues/182 bug#3 +Fix by Markus Koschany . +From https://gist.github.com/apoleon/13598a45bf6522f6a79b77a629205823 +Signed-off-by: Michael Vetter +--- + src/libjasper/base/jas_icc.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/libjasper/base/jas_icc.c b/src/libjasper/base/jas_icc.c +index 4607930..762c0e8 100644 +--- a/src/libjasper/base/jas_icc.c ++++ b/src/libjasper/base/jas_icc.c +@@ -1104,6 +1104,8 @@ static int jas_icctxtdesc_input(jas_iccattrval_t *attrval, jas_stream_t *in, + if (jas_stream_read(in, txtdesc->ascdata, txtdesc->asclen) != + JAS_CAST(int, txtdesc->asclen)) + goto error; ++ if (txtdesc->asclen < 1) ++ goto error; + txtdesc->ascdata[txtdesc->asclen - 1] = '\0'; + if (jas_iccgetuint32(in, &txtdesc->uclangcode) || + jas_iccgetuint32(in, &txtdesc->uclen)) diff --git a/package/jasper/jasper.hash b/package/jasper/jasper.hash index 4fea367ebc..7e9ce0ea90 100644 --- a/package/jasper/jasper.hash +++ b/package/jasper/jasper.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 85266eea728f8b14365db9eaf1edc7be4c348704e562bb05095b9a077cf1a97b jasper-version-2.0.14.tar.gz +sha256 f1d8b90f231184d99968f361884e2054a1714fdbbd9944ba1ae4ebdcc9bbfdb1 jasper-2.0.16.tar.gz sha256 4ad1bb42aff888c4403d792e6e2c5f1716d6c279fea70b296333c9d577d30b81 LICENSE diff --git a/package/jasper/jasper.mk b/package/jasper/jasper.mk index b544a7c1c6..287c358884 100644 --- a/package/jasper/jasper.mk +++ b/package/jasper/jasper.mk @@ -4,8 +4,8 @@ # ################################################################################ -JASPER_VERSION = version-2.0.14 -JASPER_SITE = $(call github,mdadams,jasper,$(JASPER_VERSION)) +JASPER_VERSION = 2.0.16 +JASPER_SITE = $(call github,mdadams,jasper,version-$(JASPER_VERSION)) JASPER_INSTALL_STAGING = YES JASPER_LICENSE = JasPer-2.0 JASPER_LICENSE_FILES = LICENSE @@ -25,4 +25,12 @@ else JASPER_CONF_OPTS += -DJAS_ENABLE_LIBJPEG=OFF endif +JASPER_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +JASPER_CFLAGS += -O0 +endif + +JASPER_CONF_OPTS += -DCMAKE_C_FLAGS="$(JASPER_CFLAGS)" + $(eval $(cmake-package)) diff --git a/package/jbig2dec/Config.in b/package/jbig2dec/Config.in new file mode 100644 index 0000000000..d1440dca3d --- /dev/null +++ b/package/jbig2dec/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_JBIG2DEC + bool "jbig2dec" + help + jbig2dec is a decoder implementation of the JBIG2 + image compression format. + + https://jbig2dec.com/ diff --git a/package/jbig2dec/jbig2dec.hash b/package/jbig2dec/jbig2dec.hash new file mode 100644 index 0000000000..86584b19a6 --- /dev/null +++ b/package/jbig2dec/jbig2dec.hash @@ -0,0 +1,7 @@ +# https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs952/MD5SUMS +# and SHA512SUMS are missing the hashes for this file. +# Locally computed: +sha256 9e19775237350e299c422b7b91b0c045e90ffa4ba66abf28c8fb5eb005772f5e jbig2dec-0.18.tar.gz + +# Hash for license files: +sha256 1bf5258afe453934484fd0cea97508b72301633a6a78b0ae8a9ee44ac78f26d9 LICENSE diff --git a/package/jbig2dec/jbig2dec.mk b/package/jbig2dec/jbig2dec.mk new file mode 100644 index 0000000000..08ef89bfcb --- /dev/null +++ b/package/jbig2dec/jbig2dec.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# jbig2dec +# +################################################################################ + +JBIG2DEC_VERSION = 0.18 +JBIG2DEC_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs952 +JBIG2DEC_LICENSE = AGPL-3.0+ +JBIG2DEC_LICENSE_FILES = LICENSE +JBIG2DEC_INSTALL_STAGING = YES +# tarball is missing install-sh, install.sh, or shtool +JBIG2DEC_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/package/jemalloc/0001-Disable-documentation.patch b/package/jemalloc/0001-Disable-documentation.patch deleted file mode 100644 index a5f252cd70..0000000000 --- a/package/jemalloc/0001-Disable-documentation.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b9113f8dc939dab775dbc64bae03b927f0679467 Mon Sep 17 00:00:00 2001 -From: Eric Le Bihan -Date: Sun, 2 Apr 2017 19:26:04 +0200 -Subject: [PATCH] Disable documentation - -As there is no option to disable documentation, update Makefile.in to -skip it. - -Signed-off-by: Eric Le Bihan ---- - Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.in b/Makefile.in -index e49a871..74a7541 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -383,7 +383,7 @@ done - - install_doc: install_doc_html install_doc_man - --install: install_bin install_include install_lib install_doc -+install: install_bin install_include install_lib - - tests_unit: $(TESTS_UNIT:$(srcroot)%.c=$(objroot)%$(EXE)) - tests_integration: $(TESTS_INTEGRATION:$(srcroot)%.c=$(objroot)%$(EXE)) --- -2.9.3 - diff --git a/package/jemalloc/Config.in b/package/jemalloc/Config.in index edb582d203..c272d4522c 100644 --- a/package/jemalloc/Config.in +++ b/package/jemalloc/Config.in @@ -1,17 +1,21 @@ config BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS bool + # see include/jemalloc/internal/quantum.h 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_m68k default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - default y if BR2_sparc64 + default y if BR2_nios2 + default y if BR2_or1k default y if BR2_powerpc + default y if BR2_riscv default y if BR2_sh4 || BR2sh4eb || BR2_sh4a || BR2_sh4aeb + default y if BR2_sparc64 config BR2_PACKAGE_JEMALLOC bool "jemalloc" depends on BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS - depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS help This library providing a malloc(3) implementation that @@ -20,6 +24,6 @@ config BR2_PACKAGE_JEMALLOC http://jemalloc.net/ -comment "jemalloc needs a toolchain w/ dynamic library, threads" +comment "jemalloc needs a toolchain w/ threads" depends on BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS - depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/jemalloc/jemalloc.hash b/package/jemalloc/jemalloc.hash index 50ac682839..5db53d0535 100644 --- a/package/jemalloc/jemalloc.hash +++ b/package/jemalloc/jemalloc.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 4814781d395b0ef093b21a08e8e6e0bd3dab8762f9935bbfb71679b0dea7c3e9 jemalloc-5.0.1.tar.bz2 +sha256 34330e5ce276099e2e8950d9335db5a875689a4c6a56751ef3b1d8c537f887f6 jemalloc-5.2.1.tar.bz2 +sha256 94aa2caa98c25d942f58b956c71dba6a99ff98fc3a31cbc669fe2a4cd0268b53 COPYING diff --git a/package/jemalloc/jemalloc.mk b/package/jemalloc/jemalloc.mk index 2424eb54c7..aedc1f04bf 100644 --- a/package/jemalloc/jemalloc.mk +++ b/package/jemalloc/jemalloc.mk @@ -4,21 +4,18 @@ # ################################################################################ -JEMALLOC_VERSION = 5.0.1 +JEMALLOC_VERSION = 5.2.1 JEMALLOC_SOURCE = jemalloc-$(JEMALLOC_VERSION).tar.bz2 JEMALLOC_SITE = https://github.com/jemalloc/jemalloc/releases/download/$(JEMALLOC_VERSION) JEMALLOC_LICENSE = BSD-2-Clause JEMALLOC_LICENSE_FILES = COPYING JEMALLOC_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_VALGRIND),y) -JEMALLOC_DEPENDENCIES += valgrind -JEMALLOC_CONF_OPTS += --enable-valgrind -else -JEMALLOC_CONF_OPTS += --disable-valgrind +# gcc bug internal compiler error: in merge_overlapping_regs, at +# regrename.c:304. This bug is fixed since gcc 6. +ifeq ($(BR2_or1k):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:) +JEMALLOC_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O0" endif -HOST_JEMALLOC_CONF_OPTS += --disable-valgrind - $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/jhead/0001-use-ldflags.patch b/package/jhead/0001-use-ldflags.patch deleted file mode 100644 index a1d8185a26..0000000000 --- a/package/jhead/0001-use-ldflags.patch +++ /dev/null @@ -1,16 +0,0 @@ -Make jhead use LDFLAGS for the final link. - -Signed-off-by: Gustavo Zacarias - -diff -Nura jhead-2.97.orig/makefile jhead-2.97/makefile ---- jhead-2.97.orig/makefile 2013-03-27 09:22:38.759966389 -0300 -+++ jhead-2.97/makefile 2013-03-27 09:25:06.290691745 -0300 -@@ -14,7 +14,7 @@ - ${CC} $(CFLAGS) -c $< -o $@ - - jhead: $(objs) jhead.h -- ${CC} -o jhead $(objs) -lm -+ ${CC} $(LDFLAGS) -o jhead $(objs) -lm - - clean: - rm -f $(objs) jhead diff --git a/package/jhead/jhead.hash b/package/jhead/jhead.hash index 55af7a7244..ffe75381b3 100644 --- a/package/jhead/jhead.hash +++ b/package/jhead/jhead.hash @@ -1,2 +1,3 @@ # Locally calculated from download (no sig, hash) -sha256 88cc01da018e242fe2e05db73f91b6288106858dd70f27506c4989a575d2895e jhead-3.00.tar.gz +sha256 ef89bbcf4f6c25ed88088cf242a47a6aedfff4f08cc7dc205bf3e2c0f10a03c9 jhead-3.04.tar.gz +sha256 46c870a208305489eea862ec8b05b030ba1f06d99195f660dc0ba541cc38d82b readme.txt diff --git a/package/jhead/jhead.mk b/package/jhead/jhead.mk index 8a99915bac..d56ee0daff 100644 --- a/package/jhead/jhead.mk +++ b/package/jhead/jhead.mk @@ -4,7 +4,7 @@ # ################################################################################ -JHEAD_VERSION = 3.00 +JHEAD_VERSION = 3.04 JHEAD_SITE = http://www.sentex.net/~mwandel/jhead JHEAD_LICENSE = Public Domain JHEAD_LICENSE_FILES = readme.txt diff --git a/package/jimtcl/jimtcl.hash b/package/jimtcl/jimtcl.hash index 223dbcf57e..21d75c4f42 100644 --- a/package/jimtcl/jimtcl.hash +++ b/package/jimtcl/jimtcl.hash @@ -1,2 +1,3 @@ -# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/j/jimtcl/jimtcl_0.75-1.dsc -sha256 432ad29b98f33efd018d9e1d49a5d07a5efc523c5660983733f7e30d9b2b76cb jimtcl_0.75.orig.tar.xz +# Locally computed +sha256 ab8204cd03b946f5149e1273af9c86d8e73b146084a0fbeb1d4f41a75b0b3411 jimtcl-0.79.tar.gz +sha256 419f1146334e57fb258d6c957d1f94d43455ec0d24b1b54c4447e5f61a353950 LICENSE diff --git a/package/jimtcl/jimtcl.mk b/package/jimtcl/jimtcl.mk index 389a72ab83..e712dff0be 100644 --- a/package/jimtcl/jimtcl.mk +++ b/package/jimtcl/jimtcl.mk @@ -4,9 +4,8 @@ # ################################################################################ -JIMTCL_VERSION = 0.75 -JIMTCL_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/j/jimtcl -JIMTCL_SOURCE = jimtcl_$(JIMTCL_VERSION).orig.tar.xz +JIMTCL_VERSION = 0.79 +JIMTCL_SITE = $(call github,msteveb,jimtcl,$(JIMTCL_VERSION)) JIMTCL_INSTALL_STAGING = YES JIMTCL_LICENSE = BSD-2-Clause JIMTCL_LICENSE_FILES = LICENSE @@ -43,6 +42,7 @@ endif # Buildroot, so update config.guess / config.sub like we do in # pkg-autotools.mk JIMTCL_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK +HOST_JIMTCL_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK # jimtcl really wants to find a existing $CXX, so feed it false # when we do not have one. @@ -79,4 +79,25 @@ define JIMTCL_INSTALL_TARGET_CMDS $(JIMTCL_LINK_TCLSH) endef +define HOST_JIMTCL_CONFIGURE_CMDS + cd $(@D) && \ + $(HOST_CONFIGURE_OPTS) \ + CCACHE=none \ + ./configure --prefix=$(HOST_DIR) --shared +endef + +define HOST_JIMTCL_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define HOST_JIMTCL_INSTALL_CMDS + for i in $(JIMTCL_HEADERS_TO_INSTALL); do \ + cp -a $(@D)/$$i $(HOST_DIR)/usr/include/ || exit 1 ; \ + done; + $(INSTALL) -m 0755 -D $(@D)/libjim.so.$(JIMTCL_VERSION) \ + $(HOST_DIR)/usr/lib/libjim.so.$(JIMTCL_VERSION) + ln -sf libjim.so.$(JIMTCL_VERSION) $(HOST_DIR)/usr/lib/libjim.so +endef + $(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/jitterentropy-library/0001-Makefile-cleanup-install.patch b/package/jitterentropy-library/0001-Makefile-cleanup-install.patch new file mode 100644 index 0000000000..9c7e40369a --- /dev/null +++ b/package/jitterentropy-library/0001-Makefile-cleanup-install.patch @@ -0,0 +1,54 @@ +From 060b9b4147f6e5ff386a8b017796118d783e59fa Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Tue, 22 Oct 2019 12:44:30 -0500 +Subject: [PATCH] Makefile: cleanup install for rebuilds + +Support the ability to rebuild and redeploy without a clean. This +required some force linking and man archive creation. + +Provide the ability to override the stripping of the shared lib for +cases where a embedded target build may want to control stripping +or provide cross arch tools. + +Signed-off-by: Matthew Weber +Signed-off-by: Stephan Mueller +[Retrieved from: +https://github.com/smuellerDD/jitterentropy-library/commit/060b9b4147f6e5ff386a8b017796118d783e59fa] +Signed-off-by: Fabrice Fontaine +--- + Makefile | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 4ff069b..2e78607 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,6 +14,8 @@ LIBDIR := lib + # include target directory + INCDIR := include + ++INSTALL_STRIP ?= install -s ++ + NAME := jitterentropy + LIBMAJOR=$(shell cat jitterentropy-base.c | grep define | grep MAJVERSION | awk '{print $$3}') + LIBMINOR=$(shell cat jitterentropy-base.c | grep define | grep MINVERSION | awk '{print $$3}') +@@ -58,15 +60,15 @@ cppcheck: + install: + install -d -m 0755 $(DESTDIR)$(PREFIX)/share/man/man3 + install -m 644 doc/$(NAME).3 $(DESTDIR)$(PREFIX)/share/man/man3/ +- gzip -9 $(DESTDIR)$(PREFIX)/share/man/man3/$(NAME).3 ++ gzip -f -9 $(DESTDIR)$(PREFIX)/share/man/man3/$(NAME).3 + install -d -m 0755 $(DESTDIR)$(PREFIX)/$(LIBDIR) +- install -m 0755 -s lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/ ++ $(INSTALL_STRIP) -m 0755 lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/ + install -d -m 0755 $(DESTDIR)$(PREFIX)/$(INCDIR) + install -m 0644 jitterentropy.h $(DESTDIR)$(PREFIX)/$(INCDIR)/ + install -m 0644 jitterentropy-base-user.h $(DESTDIR)$(PREFIX)/$(INCDIR)/ + $(RM) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so.$(LIBMAJOR) +- ln -s lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so.$(LIBMAJOR) +- ln -s lib$(NAME).so.$(LIBMAJOR) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so ++ ln -sf lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so.$(LIBMAJOR) ++ ln -sf lib$(NAME).so.$(LIBMAJOR) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so + + clean: + @- $(RM) $(NAME) diff --git a/package/jitterentropy-library/0002-Makefile-add-additional-install-targets.patch b/package/jitterentropy-library/0002-Makefile-add-additional-install-targets.patch new file mode 100644 index 0000000000..a331c9f33b --- /dev/null +++ b/package/jitterentropy-library/0002-Makefile-add-additional-install-targets.patch @@ -0,0 +1,56 @@ +From d545d76cb3173cc98e1421604929248f2d882821 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 24 Oct 2019 18:48:47 +0200 +Subject: [PATCH] Makefile: add additional install targets + +Add install-includes, install-man, install-shared and install-static +targets to allow the user to configure what must be installed + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://github.com/smuellerDD/jitterentropy-library/pull/11] +--- + Makefile | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 2e78607..41bc4f7 100644 +--- a/Makefile ++++ b/Makefile +@@ -57,19 +57,29 @@ scan: $(analyze_plists) + cppcheck: + cppcheck --force -q --enable=performance --enable=warning --enable=portability *.h *.c + +-install: ++install: install-man install-shared install-includes ++ ++install-man: + install -d -m 0755 $(DESTDIR)$(PREFIX)/share/man/man3 + install -m 644 doc/$(NAME).3 $(DESTDIR)$(PREFIX)/share/man/man3/ + gzip -f -9 $(DESTDIR)$(PREFIX)/share/man/man3/$(NAME).3 ++ ++install-shared: + install -d -m 0755 $(DESTDIR)$(PREFIX)/$(LIBDIR) + $(INSTALL_STRIP) -m 0755 lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/ +- install -d -m 0755 $(DESTDIR)$(PREFIX)/$(INCDIR) +- install -m 0644 jitterentropy.h $(DESTDIR)$(PREFIX)/$(INCDIR)/ +- install -m 0644 jitterentropy-base-user.h $(DESTDIR)$(PREFIX)/$(INCDIR)/ + $(RM) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so.$(LIBMAJOR) + ln -sf lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so.$(LIBMAJOR) + ln -sf lib$(NAME).so.$(LIBMAJOR) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so + ++install-includes: ++ install -d -m 0755 $(DESTDIR)$(PREFIX)/$(INCDIR) ++ install -m 0644 jitterentropy.h $(DESTDIR)$(PREFIX)/$(INCDIR)/ ++ install -m 0644 jitterentropy-base-user.h $(DESTDIR)$(PREFIX)/$(INCDIR)/ ++ ++install-static: ++ install -d -m 0755 $(DESTDIR)$(PREFIX)/$(LIBDIR) ++ install -m 0755 lib$(NAME).a $(DESTDIR)$(PREFIX)/$(LIBDIR)/ ++ + clean: + @- $(RM) $(NAME) + @- $(RM) $(OBJS) +-- +2.23.0 + diff --git a/package/jitterentropy-library/0003-Makefile-allow-the-user-to-disable-stack-protector.patch b/package/jitterentropy-library/0003-Makefile-allow-the-user-to-disable-stack-protector.patch new file mode 100644 index 0000000000..eeff0a0fec --- /dev/null +++ b/package/jitterentropy-library/0003-Makefile-allow-the-user-to-disable-stack-protector.patch @@ -0,0 +1,36 @@ +From 37e8a6a7e5875e20a8de07fbfbb69912f1964f7d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 28 Oct 2019 09:47:49 +0100 +Subject: [PATCH] Makefile: allow the user to disable stack protector + +Allow the user to disable stack-protector by overriding CFLAGS as it is +not supported by all toolchains. + +Fixes: + - http://autobuild.buildroot.net/results/cba1ae830c7a4d1740098fe67aec59b4dc2f9a03 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/smuellerDD/jitterentropy-library/pull/12] +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 41bc4f7..b0f20e2 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,9 +1,9 @@ + # Compile Noise Source as user space application + + CC ?= gcc +-CFLAGS +=-Wextra -Wall -pedantic -fPIC -O0 + #Hardening +-CFLAGS +=-fstack-protector-all -fwrapv --param ssp-buffer-size=4 ++CFLAGS ?=-fstack-protector-all --param ssp-buffer-size=4 ++CFLAGS +=-Wextra -Wall -pedantic -fPIC -O0 -fwrapv + LDFLAGS +=-Wl,-z,relro,-z,now + + # Change as necessary +-- +2.23.0 + diff --git a/package/jitterentropy-library/Config.in b/package/jitterentropy-library/Config.in new file mode 100644 index 0000000000..02f8ff6164 --- /dev/null +++ b/package/jitterentropy-library/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_JITTERENTROPY_LIBRARY + bool "libjitterentropy" + help + Hardware RNG based on CPU timing jitter. + + https://github.com/smuellerDD/jitterentropy-library diff --git a/package/jitterentropy-library/jitterentropy-library.hash b/package/jitterentropy-library/jitterentropy-library.hash new file mode 100644 index 0000000000..5ff38f6fea --- /dev/null +++ b/package/jitterentropy-library/jitterentropy-library.hash @@ -0,0 +1,5 @@ +# Locally computed +sha256 42d4bd1050b5f0d7b45b5453e5b6cfc45c0492bb428791f571d8f69b066351a4 jitterentropy-library-2.2.0.tar.gz +sha256 96b5a6b49aaeeba9036f9b80e6e299d613a8eca158741a25a67dc78792413e23 COPYING +sha256 13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239 COPYING.bsd +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING.gplv2 diff --git a/package/jitterentropy-library/jitterentropy-library.mk b/package/jitterentropy-library/jitterentropy-library.mk new file mode 100644 index 0000000000..3db04b27d3 --- /dev/null +++ b/package/jitterentropy-library/jitterentropy-library.mk @@ -0,0 +1,41 @@ +################################################################################ +# +# jitterentropy-library +# +################################################################################ + +JITTERENTROPY_LIBRARY_VERSION = 2.2.0 +JITTERENTROPY_LIBRARY_SITE = $(call github,smuellerDD,$(JITTERENTROPY_LIBRARY_NAME),v$(JITTERENTROPY_LIBRARY_VERSION)) +JITTERENTROPY_LIBRARY_LICENSE = GPL-2.0 or BSD-3-Clause +JITTERENTROPY_LIBRARY_LICENSE_FILES = COPYING COPYING.bsd COPYING.gplv2 +JITTERENTROPY_LIBRARY_INSTALL_STAGING = YES +JITTERENTROPY_LIBRARY_INSTALL_TARGETS = install-includes + +ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +JITTERENTROPY_LIBRARY_BUILD_TARGETS += jitterentropy-static +JITTERENTROPY_LIBRARY_INSTALL_TARGETS += install-static +endif + +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +JITTERENTROPY_LIBRARY_BUILD_TARGETS += jitterentropy +JITTERENTROPY_LIBRARY_INSTALL_TARGETS += install-shared +endif + +define JITTERENTROPY_LIBRARY_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(JITTERENTROPY_LIBRARY_BUILD_TARGETS) +endef + +define JITTERENTROPY_LIBRARY_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) \ + INSTALL_STRIP="install" PREFIX=/usr \ + $(JITTERENTROPY_LIBRARY_INSTALL_TARGETS) +endef + +define JITTERENTROPY_LIBRARY_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) \ + INSTALL_STRIP="install" PREFIX=/usr \ + $(JITTERENTROPY_LIBRARY_INSTALL_TARGETS) +endef + +$(eval $(generic-package)) diff --git a/package/jo/jo.hash b/package/jo/jo.hash index 736b0fb8fb..8190a15e2f 100644 --- a/package/jo/jo.hash +++ b/package/jo/jo.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 63ed4766c2e0fcb5391a14033930329369f437d7060a11d82874e57e278bda5f jo-1.1.tar.gz +sha256 de25c95671a3b392c6bcaba0b15d48eb8e2435508008c29477982d2d2f5ade64 jo-1.3.tar.gz +sha256 41d8b23dc6e76731f4920b9ce42d0d4a248d243a510319e2441d174a115f35cf COPYING diff --git a/package/jo/jo.mk b/package/jo/jo.mk index ad085b29f2..5eb013245e 100644 --- a/package/jo/jo.mk +++ b/package/jo/jo.mk @@ -4,8 +4,8 @@ # ################################################################################ -JO_VERSION = 1.1 -JO_SITE = https://github.com/jpmens/jo/releases/download/v$(JO_VERSION) +JO_VERSION = 1.3 +JO_SITE = https://github.com/jpmens/jo/releases/download/$(JO_VERSION) JO_LICENSE = MIT (json.[ch]), GPL-2.0+ (rest) JO_LICENSE_FILES = COPYING # don't build man pages diff --git a/package/joe/joe.hash b/package/joe/joe.hash index 0a9c1fb8df..1e2de4225e 100644 --- a/package/joe/joe.hash +++ b/package/joe/joe.hash @@ -1,5 +1,6 @@ -# From https://sourceforge.net/projects/joe-editor/files/JOE%20sources/joe-4.4/ -sha1 aedf1ac9e6b91053aa26c70e7bba5bbd8136f033 joe-4.4.tar.gz -md5 59e63debe60b456a6ee5c0c27a756a47 joe-4.4.tar.gz +# From https://sourceforge.net/projects/joe-editor/files/JOE%20sources/joe-4.6/ +sha1 da7712333f676cfb5ae9f3565fd2225c5a2185ca joe-4.6.tar.gz +md5 9017484e6116830d846678b625ea5c43 joe-4.6.tar.gz # Locally computed: -sha256 a5704828bbca29acb9e200414fef522c66cdf9ce28150f402d6767da43460979 joe-4.4.tar.gz +sha256 495a0a61f26404070fe8a719d80406dc7f337623788e445b92a9f6de512ab9de joe-4.6.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/joe/joe.mk b/package/joe/joe.mk index 3d0e9f7769..f0cac402e1 100644 --- a/package/joe/joe.mk +++ b/package/joe/joe.mk @@ -4,9 +4,9 @@ # ################################################################################ -JOE_VERSION = 4.4 +JOE_VERSION = 4.6 JOE_SITE = http://downloads.sourceforge.net/project/joe-editor/JOE%20sources/joe-$(JOE_VERSION) -JOE_LICENSE = GPL-1.0+ +JOE_LICENSE = GPL-2.0+ JOE_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_NCURSES),y) 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 deleted file mode 100644 index a10fcf62af..0000000000 --- a/package/jpeg-turbo/0001-tjLoadImage-Fix-int-overflow-segfault-w-big-BMP.patch +++ /dev/null @@ -1,51 +0,0 @@ -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 deleted file mode 100644 index 3e4e5bd082..0000000000 --- a/package/jpeg-turbo/0002-wrbmp.c-Don-t-allow-quantization-w-non-RGB-CS.patch +++ /dev/null @@ -1,39 +0,0 @@ -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/Config.in.options b/package/jpeg-turbo/Config.in.options new file mode 100644 index 0000000000..8654b30952 --- /dev/null +++ b/package/jpeg-turbo/Config.in.options @@ -0,0 +1,11 @@ +if BR2_PACKAGE_JPEG_TURBO + +config BR2_PACKAGE_JPEG_TURBO_TOOLS + bool "jpeg-turbo tools" + help + Libjpeg-turbo can also provide some tools like cjpeg, + djpeg, jpegtran, rdjpgcom, tjbench and wrjpgcom. + + If you want to keep them enable this option. + +endif diff --git a/package/jpeg-turbo/jpeg-turbo.hash b/package/jpeg-turbo/jpeg-turbo.hash index 1779324c51..874f04fc82 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/2.0.1/ -sha1 7ea4a288bccbb5a2d5bfad5fb328d4a839853f4e libjpeg-turbo-2.0.1.tar.gz -md5 1b05a66aa9b006fd04ed29f408e68f46 libjpeg-turbo-2.0.1.tar.gz +# From https://sourceforge.net/projects/libjpeg-turbo/files/2.0.4/ +sha1 163d8f96d0999526a117de0388624241b54dcd67 libjpeg-turbo-2.0.4.tar.gz +md5 d01d9e0c28c27bc0de9f4e2e8ff49855 libjpeg-turbo-2.0.4.tar.gz # Locally computed -sha256 e5f86cec31df1d39596e0cca619ab1b01f99025a27dafdfc97a30f3a12f866ff libjpeg-turbo-2.0.1.tar.gz -sha256 8412238c5ad95965cf3c3197791e9dea8b5fae505d133449e33ee2fa754fe61e LICENSE.md +sha256 33dd8547efd5543639e890efbf2ef52d5a21df81faf41bb940657af916a23406 libjpeg-turbo-2.0.4.tar.gz +sha256 69e570a251515ced17d4492256d57c89db77ed949652f88a44c80c1ca9607920 LICENSE.md sha256 82fece2bff2669c476495f0fe70096b154e8bc5b40916a64e99836d9a01c3110 README.ijg diff --git a/package/jpeg-turbo/jpeg-turbo.mk b/package/jpeg-turbo/jpeg-turbo.mk index b848b66899..65debb2510 100644 --- a/package/jpeg-turbo/jpeg-turbo.mk +++ b/package/jpeg-turbo/jpeg-turbo.mk @@ -4,7 +4,7 @@ # ################################################################################ -JPEG_TURBO_VERSION = 2.0.1 +JPEG_TURBO_VERSION = 2.0.4 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) @@ -31,10 +31,21 @@ else JPEG_TURBO_CONF_OPTS += -DWITH_SIMD=OFF endif -define JPEG_TURBO_REMOVE_USELESS_TOOLS +# Ensure that jpeg-turbo is compiled with -fPIC to allow linking the static +# libraries with dynamically linked programs. This is not a requirement +# for most architectures but is mandatory for ARM. +# This allow to avoid link issues with BR2_SSP_ALL: +# jsimd_none.c.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__stack_chk_guard@@GLIBC_2.17' +# can not be used when making a shared object; recompile with -fPIC +ifeq ($(BR2_STATIC_LIBS),) +JPEG_TURBO_CONF_OPTS += -DCMAKE_POSITION_INDEPENDENT_CODE=ON +endif + +ifeq ($(BR2_PACKAGE_JPEG_TURBO_TOOLS),) +define JPEG_TURBO_REMOVE_TOOLS rm -f $(addprefix $(TARGET_DIR)/usr/bin/,cjpeg djpeg jpegtran rdjpgcom tjbench wrjpgcom) endef - -JPEG_TURBO_POST_INSTALL_TARGET_HOOKS += JPEG_TURBO_REMOVE_USELESS_TOOLS +JPEG_TURBO_POST_INSTALL_TARGET_HOOKS += JPEG_TURBO_REMOVE_TOOLS +endif $(eval $(cmake-package)) diff --git a/package/jpeg/Config.in b/package/jpeg/Config.in index a4a63cc7dc..0a786060d7 100644 --- a/package/jpeg/Config.in +++ b/package/jpeg/Config.in @@ -1,8 +1,3 @@ -config BR2_PACKAGE_JPEG - bool "jpeg support" - help - Select the desired JPEG library provider. - # jpeg-turbo has simd support for some architectures config BR2_PACKAGE_JPEG_SIMD_SUPPORT bool @@ -11,6 +6,11 @@ config BR2_PACKAGE_JPEG_SIMD_SUPPORT default y if BR2_POWERPC_CPU_HAS_ALTIVEC default y if BR2_aarch64 || BR2_aarch64_be +config BR2_PACKAGE_JPEG + bool "jpeg support" + help + Select the desired JPEG library provider. + if BR2_PACKAGE_JPEG choice @@ -38,8 +38,13 @@ config BR2_PACKAGE_JPEG_TURBO http://www.libjpeg-turbo.org +# libjpeg from br2-external trees, if any +source "$BR2_BASE_DIR/.br2-external.in.jpeg" + endchoice +source "package/jpeg-turbo/Config.in.options" + config BR2_PACKAGE_HAS_JPEG bool diff --git a/package/jq/Config.in b/package/jq/Config.in index 321cbe8b51..5edb5d0989 100644 --- a/package/jq/Config.in +++ b/package/jq/Config.in @@ -1,8 +1,12 @@ config BR2_PACKAGE_JQ bool "jq" + depends on BR2_TOOLCHAIN_HAS_THREADS help jq is like sed for JSON data - you can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text. http://stedolan.github.io/jq/ + +comment "jq needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/jq/jq.hash b/package/jq/jq.hash index 449619b024..125781385c 100644 --- a/package/jq/jq.hash +++ b/package/jq/jq.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72 jq-1.6.tar.gz -sha256 111136aebcbfa68b6b0084e582b30e981da76adcff84eab6f9be32a1f38c5bf1 COPYING +sha256 20249104d4df2247253df6df4a980b8be1f5232f03fef7cd41bacb7e6eab04fd jq-a17dd3248a666d01be75f6b16be37e80e20b0954.tar.gz +sha256 c8437d414ca5b394718784c3bf5bdff7f01fee417625fabf1fb722ca263037da COPYING diff --git a/package/jq/jq.mk b/package/jq/jq.mk index aebe8c86e4..f3a0493b89 100644 --- a/package/jq/jq.mk +++ b/package/jq/jq.mk @@ -4,12 +4,15 @@ # ################################################################################ -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_VERSION = a17dd3248a666d01be75f6b16be37e80e20b0954 +JQ_SITE = $(call github,stedolan,jq,$(JQ_VERSION)) +JQ_LICENSE = MIT (code), ICU (decNumber), CC-BY-3.0 (documentation) JQ_LICENSE_FILES = COPYING JQ_INSTALL_STAGING = YES +# currently using git version directly +JQ_AUTORECONF = YES + # uses c99 specific features # _GNU_SOURCE added to fix gcc6+ host compilation # (https://github.com/stedolan/jq/issues/1598) @@ -17,8 +20,15 @@ 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 --without-oniguruma +JQ_CONF_OPTS += --disable-maintainer-mode HOST_JQ_CONF_OPTS += --disable-maintainer-mode --without-oniguruma +ifeq ($(BR2_PACKAGE_ONIGURUMA),y) +JQ_DEPENDENCIES += oniguruma +JQ_CONF_OPTS += --with-oniguruma +else +JQ_CONF_OPTS += --without-oniguruma +endif + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/jquery-datetimepicker/jquery-datetimepicker.hash b/package/jquery-datetimepicker/jquery-datetimepicker.hash index b6aba87920..1fbd428e75 100644 --- a/package/jquery-datetimepicker/jquery-datetimepicker.hash +++ b/package/jquery-datetimepicker/jquery-datetimepicker.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 2f362a8acd149d1487a9460942f135d1037f01ee0cbfecba8c352fa2f79c34c9 jquery-datetimepicker-2.4.5.tar.gz +sha256 2f362a8acd149d1487a9460942f135d1037f01ee0cbfecba8c352fa2f79c34c9 jquery-datetimepicker-2.4.5.tar.gz +sha256 491add640b4678b78571d3b4c0840422b48a5b397e47e2104c1942ff1fce1a68 MIT-LICENSE.txt diff --git a/package/jquery-keyboard/jquery-keyboard.hash b/package/jquery-keyboard/jquery-keyboard.hash index 7502867c86..a0d9d7d88c 100644 --- a/package/jquery-keyboard/jquery-keyboard.hash +++ b/package/jquery-keyboard/jquery-keyboard.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 6a20a1cdc9367c218048125eeb6f78d775175a964b3b9b781a931b63c0f98c66 jquery-keyboard-v1.18.12.tar.gz +sha256 6a20a1cdc9367c218048125eeb6f78d775175a964b3b9b781a931b63c0f98c66 jquery-keyboard-1.18.12.tar.gz +sha256 0ad9a0e7291b45cdb5abe2a517d8b82282a816d41c9224660849792ce01fe983 README.markdown diff --git a/package/jquery-keyboard/jquery-keyboard.mk b/package/jquery-keyboard/jquery-keyboard.mk index a1320dc97a..5066aa2c66 100644 --- a/package/jquery-keyboard/jquery-keyboard.mk +++ b/package/jquery-keyboard/jquery-keyboard.mk @@ -4,8 +4,8 @@ # ################################################################################ -JQUERY_KEYBOARD_VERSION = v1.18.12 -JQUERY_KEYBOARD_SITE = $(call github,Mottie,Keyboard,$(JQUERY_KEYBOARD_VERSION)) +JQUERY_KEYBOARD_VERSION = 1.18.12 +JQUERY_KEYBOARD_SITE = $(call github,Mottie,Keyboard,v$(JQUERY_KEYBOARD_VERSION)) JQUERY_KEYBOARD_LICENSE = MIT WTFPL JQUERY_KEYBOARD_LICENSE_FILES = README.markdown diff --git a/package/jquery-sidebar/jquery-sidebar.hash b/package/jquery-sidebar/jquery-sidebar.hash index 60e44d4187..5d336fee23 100644 --- a/package/jquery-sidebar/jquery-sidebar.hash +++ b/package/jquery-sidebar/jquery-sidebar.hash @@ -1,2 +1,3 @@ # Locally computed sha256 c96e46439a87555f2200442f597cce64f21f81f94d7601ddfc3b837913ddb42f jquery-sidebar-3.3.2.tar.gz +sha256 f3522370f4b6accf9c1344f520bdea35f2388f1cbb124c0c179d2ca2a6a94c76 LICENSE diff --git a/package/jquery-ui-themes/jquery-ui-themes.hash b/package/jquery-ui-themes/jquery-ui-themes.hash index 5441789b99..5f662dad54 100644 --- a/package/jquery-ui-themes/jquery-ui-themes.hash +++ b/package/jquery-ui-themes/jquery-ui-themes.hash @@ -1,2 +1,3 @@ # locally computed sha256 90467a83abcb8d2471b0d53d21b4c09e2cf686d5350e10a6e84fa3f3616a840f jquery-ui-themes-1.10.4.zip +sha256 ef1fdd608b20fbea7ef269ed03bd24e637717cc193971798a394bf2fa983cd53 MIT-LICENSE.txt diff --git a/package/jquery-ui/jquery-ui.hash b/package/jquery-ui/jquery-ui.hash index daf89d095c..453ecd5521 100644 --- a/package/jquery-ui/jquery-ui.hash +++ b/package/jquery-ui/jquery-ui.hash @@ -1,2 +1,3 @@ # locally computed sha256 c76f349930245360f4d1dea672b9a587f8938b536a378e20eeff919f7263f99f jquery-ui-1.10.4.zip +sha256 ef1fdd608b20fbea7ef269ed03bd24e637717cc193971798a394bf2fa983cd53 MIT-LICENSE.txt diff --git a/package/jquery-validation/jquery-validation.hash b/package/jquery-validation/jquery-validation.hash index 61c16cf093..af451a6c1a 100644 --- a/package/jquery-validation/jquery-validation.hash +++ b/package/jquery-validation/jquery-validation.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 14efe6f1784ef6e97116b15c77b04b7e8f47ec07b1479bcd6fa0b081faa19440 jquery-validation-1.14.0.zip +sha256 14efe6f1784ef6e97116b15c77b04b7e8f47ec07b1479bcd6fa0b081faa19440 jquery-validation-1.14.0.zip +sha256 c2f9aa180de990ff16ca7e756c9af52ecc1b3536e3fb32649d7b2c510bccf9d0 README.md diff --git a/package/jsmin/jsmin.hash b/package/jsmin/jsmin.hash index 6080f109dc..c160978519 100644 --- a/package/jsmin/jsmin.hash +++ b/package/jsmin/jsmin.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 aae127bf7291a7b2592f36599e5ed6c6423eac7abe0cd5992f82d6d46fe9ed2d jsmin-1bf6ce5f74a9f8752ac7f5d115b8d7ccb31cfe1b.tar.gz +sha256 b420f61778af09534adc836a5086f5625b8499124051c50baefa218e7c03a58c jsmin.c diff --git a/package/jsmn/jsmn.hash b/package/jsmn/jsmn.hash index 91f64201e7..b5a78f6ebf 100644 --- a/package/jsmn/jsmn.hash +++ b/package/jsmn/jsmn.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 e08993848b2abab62aa9572a560bb6e5ed4762f8537cd67c4de6cb17e17090a0 jsmn-6021415cc75e7922d45b12935f56348b064d8a7f.tar.gz +sha256 5f0913a10657fe7ec8d5794ccf00a01000e3e1f2f1e1f143c34a0f7b47edcb38 jsmn-1.1.0.tar.gz +sha256 4675b94a50d2afe811c52785463c854f1156056632cce17cc7133939eac8ed55 LICENSE diff --git a/package/jsmn/jsmn.mk b/package/jsmn/jsmn.mk index c98f2798ee..750e8cf82c 100644 --- a/package/jsmn/jsmn.mk +++ b/package/jsmn/jsmn.mk @@ -4,20 +4,15 @@ # ################################################################################ -JSMN_VERSION = 6021415cc75e7922d45b12935f56348b064d8a7f -JSMN_SITE = $(call github,zserge,jsmn,$(JSMN_VERSION)) +JSMN_VERSION = 1.1.0 +JSMN_SITE = $(call github,zserge,jsmn,v$(JSMN_VERSION)) JSMN_LICENSE = MIT JSMN_LICENSE_FILES = LICENSE -# static library only +# single-header, header-only library JSMN_INSTALL_STAGING = YES JSMN_INSTALL_TARGET = NO -define JSMN_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -endef - define JSMN_INSTALL_STAGING_CMDS - $(INSTALL) -D -m 0644 $(@D)/libjsmn.a $(STAGING_DIR)/usr/lib/libjsmn.a $(INSTALL) -D -m 0644 $(@D)/jsmn.h $(STAGING_DIR)/usr/include/jsmn.h endef 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 cff01db74c..c67cd37558 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 e0b1fc6cc6ca05706cce99118a87aca5248bd9db3113e703023d23f044995c1d json-v3.5.0.tar.gz -sha256 7b875bb7a4e28abb7956ea821b4b7d88ff6a2a4fabf261c3993730a365ec56dd LICENSE.MIT +sha256 249548f4867417d66ae46b338dfe0a2805f3323e81c9e9b83c89f3adbfde6f31 json-3.7.3.tar.gz +sha256 7400586ce89c6a2cc65f6ca46997da5d356a230673d3a211e040b783f23578a1 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 86399fd60d..e6f1df96f6 100644 --- a/package/json-for-modern-cpp/json-for-modern-cpp.mk +++ b/package/json-for-modern-cpp/json-for-modern-cpp.mk @@ -4,9 +4,9 @@ # ################################################################################ -JSON_FOR_MODERN_CPP_VERSION = v3.5.0 +JSON_FOR_MODERN_CPP_VERSION = 3.7.3 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_SITE = $(call github,nlohmann,json,v$(JSON_FOR_MODERN_CPP_VERSION)) JSON_FOR_MODERN_CPP_LICENSE = MIT JSON_FOR_MODERN_CPP_LICENSE_FILES = LICENSE.MIT JSON_FOR_MODERN_CPP_INSTALL_STAGING = YES diff --git a/package/json-glib/json-glib.hash b/package/json-glib/json-glib.hash index fae4df36d4..b68794db37 100644 --- a/package/json-glib/json-glib.hash +++ b/package/json-glib/json-glib.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/json-glib/1.4/json-glib-1.4.2.sha256sum -sha256 2d7709a44749c7318599a6829322e081915bdc73f5be5045882ed120bb686dc8 json-glib-1.4.2.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/json-glib/1.4/json-glib-1.4.4.sha256sum +sha256 720c5f4379513dc11fd97dc75336eb0c0d3338c53128044d9fabec4374f4bc47 json-glib-1.4.4.tar.xz # Hash for license file: sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING diff --git a/package/json-glib/json-glib.mk b/package/json-glib/json-glib.mk index 77c0c45323..accdb4f888 100644 --- a/package/json-glib/json-glib.mk +++ b/package/json-glib/json-glib.mk @@ -5,7 +5,7 @@ ################################################################################ JSON_GLIB_VERSION_MAJOR = 1.4 -JSON_GLIB_VERSION = $(JSON_GLIB_VERSION_MAJOR).2 +JSON_GLIB_VERSION = $(JSON_GLIB_VERSION_MAJOR).4 JSON_GLIB_SITE = http://ftp.gnome.org/pub/GNOME/sources/json-glib/$(JSON_GLIB_VERSION_MAJOR) JSON_GLIB_SOURCE = json-glib-$(JSON_GLIB_VERSION).tar.xz JSON_GLIB_LICENSE = LGPL-2.1+ @@ -17,4 +17,13 @@ JSON_GLIB_DEPENDENCIES = \ host-pkgconf \ libglib2 +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +JSON_GLIB_CONF_OPTS += -Dintrospection=true +JSON_GLIB_DEPENDENCIES += gobject-introspection +else +JSON_GLIB_CONF_OPTS += -Dintrospection=false +endif + +JSON_GLIB_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) + $(eval $(meson-package)) diff --git a/package/json-javascript/json-javascript.hash b/package/json-javascript/json-javascript.hash index 6216445ce0..9522fee9ea 100644 --- a/package/json-javascript/json-javascript.hash +++ b/package/json-javascript/json-javascript.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 1a9dd4429e4bb4929dcb438f9591a3625bc8cc161f840b5f843d8b1d2c8dcfe5 json-javascript-3d7767b6b1f3da363c625ff54e63bbf20e9e83ac.tar.gz +sha256 1a9dd4429e4bb4929dcb438f9591a3625bc8cc161f840b5f843d8b1d2c8dcfe5 json-javascript-3d7767b6b1f3da363c625ff54e63bbf20e9e83ac.tar.gz +sha256 925947d3d711c4441a9db20f51215fbf5c119d2a3b51cadb2c9031907d8014b5 json2.js diff --git a/package/jsoncpp/0001-Meson-updates.patch b/package/jsoncpp/0001-Meson-updates.patch new file mode 100644 index 0000000000..8a44c5b032 --- /dev/null +++ b/package/jsoncpp/0001-Meson-updates.patch @@ -0,0 +1,147 @@ +From 6bc55ec35d02931960ec1f5768fc9c56ab62ef66 Mon Sep 17 00:00:00 2001 +From: David Seifert <16636962+SoapGentoo@users.noreply.github.com> +Date: Tue, 7 Jan 2020 02:23:50 +0100 +Subject: [PATCH] Meson updates (#1124) + +* Modernize meson.build + +* Make tests optional +* Use `files()` for quick sanity checks + +* Bump version to 1.9.3 + +* Bump SOVERSION, as some functions were removed + and structs were changed, as determined by + libabigail. + +[Retrieved from: +https://github.com/open-source-parsers/jsoncpp/commit/6bc55ec35d02931960ec1f5768fc9c56ab62ef66] +Signed-off-by: Fabrice Fontaine +--- + CMakeLists.txt | 2 +- + include/json/version.h | 4 ++-- + meson.build | 33 ++++++++++++++++++--------------- + meson_options.txt | 5 +++++ + 4 files changed, 26 insertions(+), 18 deletions(-) + create mode 100644 meson_options.txt + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4e063317..c05ddccb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -70,7 +70,7 @@ project(JSONCPP + # 2. /include/json/version.h + # 3. /CMakeLists.txt + # IMPORTANT: also update the SOVERSION!! +- VERSION 1.9.2 # [.[.[.]]] ++ VERSION 1.9.3 # [.[.[.]]] + LANGUAGES CXX) + + message(STATUS "JsonCpp Version: ${JSONCPP_VERSION_MAJOR}.${JSONCPP_VERSION_MINOR}.${JSONCPP_VERSION_PATCH}") +diff --git a/include/json/version.h b/include/json/version.h +index ff94372b..0f298341 100644 +--- a/include/json/version.h ++++ b/include/json/version.h +@@ -9,10 +9,10 @@ + // 3. /CMakeLists.txt + // IMPORTANT: also update the SOVERSION!! + +-#define JSONCPP_VERSION_STRING "1.9.2" ++#define JSONCPP_VERSION_STRING "1.9.3" + #define JSONCPP_VERSION_MAJOR 1 + #define JSONCPP_VERSION_MINOR 9 +-#define JSONCPP_VERSION_PATCH 2 ++#define JSONCPP_VERSION_PATCH 3 + #define JSONCPP_VERSION_QUALIFIER + #define JSONCPP_VERSION_HEXA \ + ((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | \ +diff --git a/meson.build b/meson.build +index 1bc94a8a..c2932030 100644 +--- a/meson.build ++++ b/meson.build +@@ -9,7 +9,7 @@ project( + # 2. /include/json/version.h + # 3. /CMakeLists.txt + # IMPORTANT: also update the SOVERSION!! +- version : '1.9.2', ++ version : '1.9.3', + default_options : [ + 'buildtype=release', + 'cpp_std=c++11', +@@ -18,7 +18,7 @@ project( + meson_version : '>= 0.49.0') + + +-jsoncpp_headers = [ ++jsoncpp_headers = files([ + 'include/json/allocator.h', + 'include/json/assertions.h', + 'include/json/config.h', +@@ -28,7 +28,8 @@ jsoncpp_headers = [ + 'include/json/reader.h', + 'include/json/value.h', + 'include/json/version.h', +- 'include/json/writer.h'] ++ 'include/json/writer.h', ++]) + jsoncpp_include_directories = include_directories('include') + + install_headers( +@@ -44,13 +45,12 @@ else + endif + + jsoncpp_lib = library( +- 'jsoncpp', +- [ jsoncpp_headers, +- 'src/lib_json/json_tool.h', ++ 'jsoncpp', files([ + 'src/lib_json/json_reader.cpp', + 'src/lib_json/json_value.cpp', +- 'src/lib_json/json_writer.cpp'], +- soversion : 22, ++ 'src/lib_json/json_writer.cpp', ++ ]), ++ soversion : 23, + install : true, + include_directories : jsoncpp_include_directories, + cpp_args: dll_export_flag) +@@ -66,18 +66,21 @@ import('pkgconfig').generate( + jsoncpp_dep = declare_dependency( + include_directories : jsoncpp_include_directories, + link_with : jsoncpp_lib, +- version : meson.project_version(), +- ) ++ version : meson.project_version()) + + # tests +-python = import('python').find_installation() ++if meson.is_subproject() or not get_option('tests') ++ subdir_done() ++endif ++ ++python = import('python').find_installation('python3') + + jsoncpp_test = executable( +- 'jsoncpp_test', +- [ 'src/test_lib_json/jsontest.cpp', +- 'src/test_lib_json/jsontest.h', ++ 'jsoncpp_test', files([ ++ 'src/test_lib_json/jsontest.cpp', + 'src/test_lib_json/main.cpp', +- 'src/test_lib_json/fuzz.cpp'], ++ 'src/test_lib_json/fuzz.cpp', ++ ]), + include_directories : jsoncpp_include_directories, + link_with : jsoncpp_lib, + install : false, +diff --git a/meson_options.txt b/meson_options.txt +new file mode 100644 +index 00000000..9c215ae6 +--- /dev/null ++++ b/meson_options.txt +@@ -0,0 +1,5 @@ ++option( ++ 'tests', ++ type : 'boolean', ++ value : true, ++ description : 'Enable building tests') diff --git a/package/jsoncpp/jsoncpp.hash b/package/jsoncpp/jsoncpp.hash index 3391d9ecc3..1000167611 100644 --- a/package/jsoncpp/jsoncpp.hash +++ b/package/jsoncpp/jsoncpp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c49deac9e0933bcb7044f08516861a2d560988540b23de2ac1ad443b219afdb6 jsoncpp-1.8.4.tar.gz +sha256 77a402fb577b2e0e5d0bdc1cf9c65278915cdb25171e3452c68b6da8a561f8f0 jsoncpp-1.9.2.tar.gz sha256 95039d77a20e75b428207740d9a8f97b2dce3c89da4b21f1ad862b5997160e0a LICENSE diff --git a/package/jsoncpp/jsoncpp.mk b/package/jsoncpp/jsoncpp.mk index 2b527fc303..f9761d4a6e 100644 --- a/package/jsoncpp/jsoncpp.mk +++ b/package/jsoncpp/jsoncpp.mk @@ -4,21 +4,11 @@ # ################################################################################ -JSONCPP_VERSION = 1.8.4 +JSONCPP_VERSION = 1.9.2 JSONCPP_SITE = $(call github,open-source-parsers,jsoncpp,$(JSONCPP_VERSION)) JSONCPP_LICENSE = Public Domain or MIT JSONCPP_LICENSE_FILES = LICENSE JSONCPP_INSTALL_STAGING = YES +JSONCPP_CONF_OPTS = -Dtests=false -JSONCPP_CONF_OPTS += \ - -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF \ - -DJSONCPP_WITH_TESTS=OFF \ - -DJSONCPP_WITH_STRICT_ISO=OFF - -ifeq ($(BR2_SHARED_LIBS),y) -JSONCPP_CONF_OPTS += -DBUILD_STATIC_LIBS=OFF -else -JSONCPP_CONF_OPTS += -DBUILD_STATIC_LIBS=ON -endif - -$(eval $(cmake-package)) +$(eval $(meson-package)) diff --git a/package/kbd/kbd.hash b/package/kbd/kbd.hash index 3fed6ace0e..cf29c59860 100644 --- a/package/kbd/kbd.hash +++ b/package/kbd/kbd.hash @@ -1,2 +1,3 @@ # From https://www.kernel.org/pub/linux/utils/kbd/sha256sums.asc -sha256 5fd90af6beb225a9bb9b9fb414c090fba53c9a55793e172f508cd43652e59a88 kbd-2.0.4.tar.xz +sha256 5fd90af6beb225a9bb9b9fb414c090fba53c9a55793e172f508cd43652e59a88 kbd-2.0.4.tar.xz +sha256 8682bd7a7fe88bad31bf94ee9795c73fd4bc27bfcd50fb135f36dd8762c52035 COPYING diff --git a/package/keepalived/0001-Ensure-that-lm-linker-library-flag-is-always-set.patch b/package/keepalived/0001-Ensure-that-lm-linker-library-flag-is-always-set.patch new file mode 100644 index 0000000000..3c6bc72a2a --- /dev/null +++ b/package/keepalived/0001-Ensure-that-lm-linker-library-flag-is-always-set.patch @@ -0,0 +1,62 @@ +From dea6cfba122439b29cdcb833a59868dd51a4eae4 Mon Sep 17 00:00:00 2001 +From: Quentin Armitage +Date: Mon, 13 May 2019 14:25:26 +0100 +Subject: [PATCH] Ensure that -lm linker library flag is always set + +configure was testing whether it was necessary to add the -lm option, +but for some reason gcc adds it itself if -Os is not specified, but +does not add it if -Os is specified. Consequently if configure was +run without -Os, and make was run with -Os the link failed. + +The commit ensures that -lm is always used. + +Signed-off-by: Quentin Armitage +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/acassen/keepalived/commit/dea6cfba122439b29cdcb833a59868dd51a4eae4] +--- + configure.ac | 24 +++--------------------- + 1 file changed, 3 insertions(+), 21 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5023900f4..ae420d5a6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -340,6 +340,9 @@ WARNINGS_EXTRA="aggregate-return conversion padded pedantic sign-conversion stri + # We want _GNU_SOURCE defined always + add_to_var([CFLAGS], [-D_GNU_SOURCE]) + ++# fpclassify() needs -lm ++add_to_var([KA_LIBS], [-lm]) ++ + # Some sanity checks on configure options + AS_IF([test .$enable_vrrp = .no], + [ +@@ -779,27 +782,6 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([[ + LDFLAGS=$SAV_LDFLAGS + ]) + +-# Check if fpclassify() requires -lm +-CFLAGS= +-LDFLAGS= +-AC_MSG_CHECKING([whether fpclassify() requires -lm]) +-AC_LINK_IFELSE([AC_LANG_SOURCE([[ +- # include +- int main(int argc, char **argv) +- { +- double zero = 0.0; +- if (fpclassify(zero) == FP_ZERO) +- return 0; +- return 1; +- } +- ]])], +- AC_MSG_RESULT([no]), +- AC_MSG_RESULT([yes]) +- add_to_var([KA_LIBS], [-lm]) +- ) +-CFLAGS=$SAV_CFLAGS +-LDFLAGS=$SAV_LDFLAGS +- + # Checks for header files. + AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netdb.h netinet/in.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/prctl.h sys/socket.h sys/time.h syslog.h unistd.h], + [], [AC_MSG_ERROR([Missing/unusable system header file <$ac_header>])]) diff --git a/package/keepalived/0001-Rename-TIMER_MAX-to-TIMER_MAXIMUM.patch b/package/keepalived/0001-Rename-TIMER_MAX-to-TIMER_MAXIMUM.patch deleted file mode 100644 index 4402b48a8b..0000000000 --- a/package/keepalived/0001-Rename-TIMER_MAX-to-TIMER_MAXIMUM.patch +++ /dev/null @@ -1,61 +0,0 @@ -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/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 deleted file mode 100644 index 76c88a76bf..0000000000 --- a/package/keepalived/0002-Fix-order-of-include-files-in-configure-COLLISION-test.patch +++ /dev/null @@ -1,38 +0,0 @@ -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/keepalived.hash b/package/keepalived/keepalived.hash index 3ad3e6e6ac..091821467b 100644 --- a/package/keepalived/keepalived.hash +++ b/package/keepalived/keepalived.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 40e0e55afed9ca313d621a9c5878579696fafb5504dab521aadaf20ba6e7f597 keepalived-2.0.10.tar.gz +sha256 933ee01bc6346aa573453b998f87510d3cce4aba4537c9642b24e6dbfba5c6f4 keepalived-2.0.15.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/keepalived/keepalived.mk b/package/keepalived/keepalived.mk index 4f6db01722..02c5a0cf39 100644 --- a/package/keepalived/keepalived.mk +++ b/package/keepalived/keepalived.mk @@ -4,7 +4,7 @@ # ################################################################################ -KEEPALIVED_VERSION = 2.0.10 +KEEPALIVED_VERSION = 2.0.15 KEEPALIVED_SITE = http://www.keepalived.org/software KEEPALIVED_DEPENDENCIES = host-pkgconf openssl KEEPALIVED_LICENSE = GPL-2.0+ @@ -48,4 +48,11 @@ else KEEPALIVED_CONF_OPTS += --disable-libiptc endif +ifeq ($(BR2_PACKAGE_LIBNFTNL),y) +KEEPALIVED_DEPENDENCIES += libnftnl +KEEPALIVED_CONF_OPTS += --enable-nftables +else +KEEPALIVED_CONF_OPTS += --disable-nftables +endif + $(eval $(autotools-package)) diff --git a/package/kexec-lite/Config.in b/package/kexec-lite/Config.in index cd0e30f2dd..3e84f90d57 100644 --- a/package/kexec-lite/Config.in +++ b/package/kexec-lite/Config.in @@ -15,6 +15,8 @@ config BR2_PACKAGE_KEXEC_LITE This package is a tiny implementation of the kexec userspace components, for devicetree-based platforms. + https://github.com/antonblanchard/kexec-lite + comment "kexec-lite needs a uClibc or glibc toolchain w/ wchar, dynamic library" depends on BR2_powerpc || BR2_powerpc64 depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR \ diff --git a/package/kexec-lite/kexec-lite.hash b/package/kexec-lite/kexec-lite.hash index d71e8d00a4..e2426a45c5 100644 --- a/package/kexec-lite/kexec-lite.hash +++ b/package/kexec-lite/kexec-lite.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 2e9b131324cec9d27840179daa35e3159a4032ff78b74e301850faa007567d0e kexec-lite-87d044a895b1c004320a2676099a54a5a2a74f2e.tar.gz +sha256 1027c69721e8ee21614273a540e1dd505370d8d814845c0adaf838496105a35d kexec-lite-6b0130b3c1ea489e061cda2805e6f8b68dc96a76.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/kexec-lite/kexec-lite.mk b/package/kexec-lite/kexec-lite.mk index 8e1ad8d52d..45c5d4d8b7 100644 --- a/package/kexec-lite/kexec-lite.mk +++ b/package/kexec-lite/kexec-lite.mk @@ -4,18 +4,11 @@ # ################################################################################ -KEXEC_LITE_VERSION = 87d044a895b1c004320a2676099a54a5a2a74f2e +KEXEC_LITE_VERSION = 6b0130b3c1ea489e061cda2805e6f8b68dc96a76 KEXEC_LITE_SITE = $(call github,antonblanchard,kexec-lite,$(KEXEC_LITE_VERSION)) KEXEC_LITE_LICENSE = GPL-2.0+ KEXEC_LITE_LICENSE_FILES = COPYING KEXEC_LITE_DEPENDENCIES = elfutils dtc +KEXEC_LITE_AUTORECONF = YES -define KEXEC_LITE_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all -endef - -define KEXEC_LITE_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 755 $(@D)/kexec $(TARGET_DIR)/usr/sbin/kexec -endef - -$(eval $(generic-package)) +$(eval $(autotools-package)) diff --git a/package/kexec/0001-kexec-build-multiboot2-for-i386.patch b/package/kexec/0001-kexec-build-multiboot2-for-i386.patch new file mode 100644 index 0000000000..c67da98ce7 --- /dev/null +++ b/package/kexec/0001-kexec-build-multiboot2-for-i386.patch @@ -0,0 +1,72 @@ +From 2c9f26ed20a791a7df0182ba82e93abb52f5a615 Mon Sep 17 00:00:00 2001 +From: Chris Packham +Date: Mon, 18 Nov 2019 12:52:15 +1300 +Subject: kexec: build multiboot2 for i386 + +This addresses the following compilation issues when building for i386. + + kexec/arch/i386/kexec-x86.c:39:22: error: 'multiboot2_x86_probe' undeclared here (not in a function); did you mean 'multiboot_x86_probe'? + { "multiboot2-x86", multiboot2_x86_probe, multiboot2_x86_load, + ^~~~~~~~~~~~~~~~~~~~ + multiboot_x86_probe + kexec/arch/i386/kexec-x86.c:39:44: error: 'multiboot2_x86_load' undeclared here (not in a function); did you mean 'multiboot_x86_load'? + { "multiboot2-x86", multiboot2_x86_probe, multiboot2_x86_load, + ^~~~~~~~~~~~~~~~~~~ + multiboot_x86_load + kexec/arch/i386/kexec-x86.c:40:4: error: 'multiboot2_x86_usage' undeclared here (not in a function); did you mean 'multiboot_x86_usage'? + multiboot2_x86_usage }, + ^~~~~~~~~~~~~~~~~~~~ + multiboot_x86_usage + make: *** [Makefile:114: kexec/arch/i386/kexec-x86.o] Error 1 + make: *** Waiting for unfinished jobs.... + +Signed-off-by: Chris Packham +Signed-off-by: Simon Horman + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=2c9f26ed20a791a7df0182ba82e93abb52f5a615] +--- + kexec/arch/i386/Makefile | 2 +- + kexec/arch/i386/kexec-x86.h | 5 +++++ + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/kexec/arch/i386/Makefile b/kexec/arch/i386/Makefile +index 105cefd..f486103 100644 +--- a/kexec/arch/i386/Makefile ++++ b/kexec/arch/i386/Makefile +@@ -7,6 +7,7 @@ i386_KEXEC_SRCS += kexec/arch/i386/kexec-elf-x86.c + i386_KEXEC_SRCS += kexec/arch/i386/kexec-elf-rel-x86.c + i386_KEXEC_SRCS += kexec/arch/i386/kexec-bzImage.c + i386_KEXEC_SRCS += kexec/arch/i386/kexec-multiboot-x86.c ++i386_KEXEC_SRCS += kexec/arch/i386/kexec-mb2-x86.c + i386_KEXEC_SRCS += kexec/arch/i386/kexec-beoboot-x86.c + i386_KEXEC_SRCS += kexec/arch/i386/kexec-nbi.c + i386_KEXEC_SRCS += kexec/arch/i386/x86-linux-setup.c +@@ -14,7 +15,6 @@ i386_KEXEC_SRCS += kexec/arch/i386/crashdump-x86.c + + dist += kexec/arch/i386/Makefile $(i386_KEXEC_SRCS) \ + kexec/arch/i386/crashdump-x86.h \ +- kexec/arch/i386/kexec-mb2-x86.c \ + kexec/arch/i386/kexec-x86.h \ + kexec/arch/i386/x86-linux-setup.h \ + kexec/arch/i386/include/arch/options.h +diff --git a/kexec/arch/i386/kexec-x86.h b/kexec/arch/i386/kexec-x86.h +index 1b58c3b..0f941df 100644 +--- a/kexec/arch/i386/kexec-x86.h ++++ b/kexec/arch/i386/kexec-x86.h +@@ -60,6 +60,11 @@ int multiboot_x86_load(int argc, char **argv, const char *buf, off_t len, + struct kexec_info *info); + void multiboot_x86_usage(void); + ++int multiboot2_x86_load(int argc, char **argv, const char *buf, off_t len, ++ struct kexec_info *info); ++void multiboot2_x86_usage(void); ++int multiboot2_x86_probe(const char *buf, off_t buf_len); ++ + int elf_x86_probe(const char *buf, off_t len); + int elf_x86_load(int argc, char **argv, const char *buf, off_t len, + struct kexec_info *info); +-- +cgit 1.2-0.3.lf.el7 + diff --git a/package/kexec/kexec.hash b/package/kexec/kexec.hash index f87692b689..302e079066 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 f020f07341977eb512663e301c2de60c6589e141467c16a8efd58243c0b2b238 kexec-tools-2.0.18.tar.xz +sha256 dad8077f0315445d1f6335579fc4ade222facf82a67124974c7be5303ba4f8c8 kexec-tools-2.0.20.tar.xz # locally calculated sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 COPYING diff --git a/package/kexec/kexec.mk b/package/kexec/kexec.mk index b011c0b4e5..63fcc074b5 100644 --- a/package/kexec/kexec.mk +++ b/package/kexec/kexec.mk @@ -4,7 +4,7 @@ # ################################################################################ -KEXEC_VERSION = 2.0.18 +KEXEC_VERSION = 2.0.20 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/Config.in b/package/keyutils/Config.in index 6f0758f473..7813de3799 100644 --- a/package/keyutils/Config.in +++ b/package/keyutils/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_KEYUTILS bool "keyutils" - depends on !BR2_microblaze depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS # dlopen help @@ -10,6 +9,5 @@ config BR2_PACKAGE_KEYUTILS http://people.redhat.com/~dhowells/keyutils/ comment "keyutils needs a toolchain w/ dynamic library" - depends on !BR2_microblaze depends on BR2_USE_MMU depends on BR2_STATIC_LIBS diff --git a/package/kf5/Config.in b/package/kf5/Config.in index 2e50bce49e..030759f376 100644 --- a/package/kf5/Config.in +++ b/package/kf5/Config.in @@ -1,11 +1,12 @@ menuconfig BR2_PACKAGE_KF5 bool "KF5" depends on BR2_PACKAGE_QT5 - depends on BR2_PACKAGE_QT5_VERSION_LATEST help This option enables the KF5 KDE Frameworks. Sub-options allow to select which modules should be built. + https://techbase.kde.org/KDE_Frameworks + if BR2_PACKAGE_KF5 source "package/kf5/kf5-extra-cmake-modules/Config.in" source "package/kf5/kf5-kcoreaddons/Config.in" diff --git a/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk b/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk index 7b96e1f1bb..3c4281b960 100644 --- a/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk +++ b/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk @@ -8,7 +8,7 @@ KF5_EXTRA_CMAKE_MODULES_VERSION = $(KF5_VERSION) KF5_EXTRA_CMAKE_MODULES_SITE = $(KF5_SITE) KF5_EXTRA_CMAKE_MODULES_SOURCE = extra-cmake-modules-$(KF5_EXTRA_CMAKE_MODULES_VERSION).tar.xz KF5_EXTRA_CMAKE_MODULES_LICENSE = BSD-3-Clause -KF5_EXTRA_CMAKE_MODULES_LICENSE_FILE = COPYING-CMAKE-SCRIPTS +KF5_EXTRA_CMAKE_MODULES_LICENSE_FILES = COPYING-CMAKE-SCRIPTS KF5_EXTRA_CMAKE_MODULES_DEPENDENCIES = host-pkgconf KF5_EXTRA_CMAKE_MODULES_INSTALL_STAGING = YES diff --git a/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk b/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk index 6cf7a3d107..76be8876cc 100644 --- a/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk +++ b/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk @@ -13,4 +13,17 @@ KF5_KCOREADDONS_LICENSE_FILES = COPYING.LIB KF5_KCOREADDONS_DEPENDENCIES = kf5-extra-cmake-modules qt5tools KF5_KCOREADDONS_INSTALL_STAGING = YES +KF5_KCOREADDONS_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +KF5_KCOREADDONS_CXXFLAGS += -latomic +endif + +KF5_KCOREADDONS_CONF_OPTS = -DCMAKE_CXX_FLAGS="$(KF5_KCOREADDONS_CXXFLAGS)" + +ifeq ($(BR2_microblaze),y) +# Microblaze ld emits warnings, make warnings not to be treated as errors +KF5_KCOREADDONS_CONF_OPTS += -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--no-fatal-warnings" +endif + $(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 20fbc102c6..2a782b35e1 100644 --- a/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk +++ b/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk @@ -8,7 +8,7 @@ KF5_MODEMMANAGER_QT_VERSION = $(KF5_VERSION) KF5_MODEMMANAGER_QT_SITE = $(KF5_SITE) KF5_MODEMMANAGER_QT_SOURCE = modemmanager-qt-$(KF5_MODEMMANAGER_QT_VERSION).tar.xz KF5_MODEMMANAGER_QT_LICENSE = LGPL-2.1+ -KF5_MODEMMANAGER_QT_LICENSE_FILE = COPYING.LIB +KF5_MODEMMANAGER_QT_LICENSE_FILES = COPYING.LIB KF5_MODEMMANAGER_QT_DEPENDENCIES = kf5-extra-cmake-modules modem-manager qt5base KF5_MODEMMANAGER_QT_INSTALL_STAGING = YES diff --git a/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk b/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk index 52e70e3c41..c383f98e9b 100644 --- a/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk +++ b/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk @@ -8,7 +8,7 @@ KF5_NETWORKMANAGER_QT_VERSION = $(KF5_VERSION) KF5_NETWORKMANAGER_QT_SITE = $(KF5_SITE) KF5_NETWORKMANAGER_QT_SOURCE = networkmanager-qt-$(KF5_NETWORKMANAGER_QT_VERSION).tar.xz KF5_NETWORKMANAGER_QT_LICENSE = LGPL-2.1+ -KF5_NETWORKMANAGER_QT_LICENSE_FILE = COPYING.LIB +KF5_NETWORKMANAGER_QT_LICENSE_FILES = COPYING.LIB KF5_NETWORKMANAGER_QT_DEPENDENCIES = kf5-extra-cmake-modules network-manager qt5base KF5_NETWORKMANAGER_QT_INSTALL_STAGING = YES diff --git a/package/kismet/kismet.hash b/package/kismet/kismet.hash index 913dffc9dd..30780b1cc3 100644 --- a/package/kismet/kismet.hash +++ b/package/kismet/kismet.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 bdb21f153311f1ff3b16621bf0d6740f66369bf0982b0a289c9a12af8847e237 kismet-2016-07-R1.tar.xz +sha256 bdb21f153311f1ff3b16621bf0d6740f66369bf0982b0a289c9a12af8847e237 kismet-2016-07-R1.tar.xz +sha256 92b9eae679d8efbcd7514f7ff1346e4c1d42d272cd10bcb724d1511d35e28cd1 debian/copyright diff --git a/package/kismet/kismet.mk b/package/kismet/kismet.mk index cee814b52b..d3946d65f3 100644 --- a/package/kismet/kismet.mk +++ b/package/kismet/kismet.mk @@ -15,6 +15,14 @@ KISMET_LICENSE_FILES = debian/copyright # We touch configure.in: KISMET_AUTORECONF = YES +KISMET_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +KISMET_CXXFLAGS += -O0 +endif + +KISMET_CONF_ENV += CXXFLAGS="$(KISMET_CXXFLAGS)" + ifeq ($(BR2_PACKAGE_LIBCAP),y) KISMET_DEPENDENCIES += libcap endif diff --git a/package/kmod/kmod.hash b/package/kmod/kmod.hash index 0e8f034e06..3cb60b2dd3 100644 --- a/package/kmod/kmod.hash +++ b/package/kmod/kmod.hash @@ -1,2 +1,6 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kmod/sha256sums.asc -sha256 7165e6496656159dcb909a91ed708a0fe273a4b128b4b1dc997ccb5189eef1cd kmod-25.tar.xz +sha256 c1d3fbf16ca24b95f334c1de1b46f17bbe5a10b0e81e72668bdc922ebffbbc0c kmod-27.tar.xz + +# Locally calculated +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 libkmod/COPYING +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk index ea5d291133..0a79b2cf4d 100644 --- a/package/kmod/kmod.mk +++ b/package/kmod/kmod.mk @@ -4,7 +4,7 @@ # ################################################################################ -KMOD_VERSION = 25 +KMOD_VERSION = 27 KMOD_SOURCE = kmod-$(KMOD_VERSION).tar.xz KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod KMOD_INSTALL_STAGING = YES @@ -42,6 +42,13 @@ KMOD_DEPENDENCIES += xz KMOD_CONF_OPTS += --with-xz endif +ifeq ($(BR2_PACKAGE_OPENSSL),y) +KMOD_DEPENDENCIES += openssl +KMOD_CONF_OPTS += --with-openssl +else +KMOD_CONF_OPTS += --without-openssl +endif + ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) KMOD_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3) KMOD_CONF_OPTS += --enable-python @@ -50,7 +57,7 @@ endif ifeq ($(BR2_PACKAGE_KMOD_TOOLS),y) # add license info for kmod tools -KMOD_LICENSE := $(KMOD_LICENSE), GPL-2.0+ (tools) +KMOD_LICENSE += , GPL-2.0+ (tools) KMOD_LICENSE_FILES += COPYING # /sbin is really /usr/sbin with merged /usr, so adjust relative symlink diff --git a/package/kmscube/Config.in b/package/kmscube/Config.in index b9fe627c87..b6ad305bfb 100644 --- a/package/kmscube/Config.in +++ b/package/kmscube/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_KMSCUBE help kmscube is an application to test kms/drm drivers. - https://cgit.freedesktop.org/mesa/kmscube/ + https://gitlab.freedesktop.org/mesa/kmscube diff --git a/package/kmscube/kmscube.hash b/package/kmscube/kmscube.hash index e306d0055e..6a4140c541 100644 --- a/package/kmscube/kmscube.hash +++ b/package/kmscube/kmscube.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 254d34209740731a557469030c960bbfd2299485a2ad0cbed2f7040b56a292a7 kmscube-6cbd03ab94066dddbba7bedfde87c7c4319c18d5.tar.gz +sha256 ec135069d8bee7f4fe38cb9dc96fbbd56e0057290fa25eff8b5b314ee473c502 kmscube-4660a7dca6512b6e658759d00cff7d4ad2a2059d.tar.gz diff --git a/package/kmscube/kmscube.mk b/package/kmscube/kmscube.mk index 37983b1a78..dc8c691864 100644 --- a/package/kmscube/kmscube.mk +++ b/package/kmscube/kmscube.mk @@ -4,10 +4,9 @@ # ################################################################################ -KMSCUBE_VERSION = 6cbd03ab94066dddbba7bedfde87c7c4319c18d5 -KMSCUBE_SITE = https://cgit.freedesktop.org/mesa/kmscube/snapshot +KMSCUBE_VERSION = 4660a7dca6512b6e658759d00cff7d4ad2a2059d +KMSCUBE_SITE = https://gitlab.freedesktop.org/mesa/kmscube/-/archive/$(KMSCUBE_VERSION) KMSCUBE_LICENSE = MIT KMSCUBE_DEPENDENCIES = host-pkgconf mesa3d libdrm -KMSCUBE_AUTORECONF = YES -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/kmsxx/kmsxx.hash b/package/kmsxx/kmsxx.hash index 94a9ea1eaa..b8d06ac478 100644 --- a/package/kmsxx/kmsxx.hash +++ b/package/kmsxx/kmsxx.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 28892e50c1d1c83fddff9ec683e3bdbd465f5032d0014ceeab43563b813807e1 kmsxx-cb0786049f960f2bd383617151b01318e02e9ff9.tar.gz +sha256 022b4d51da34a380d74dc24eea8e2c4e1a4c8776a52171f8d9e941cf56daf888 LICENSE diff --git a/package/kmsxx/kmsxx.mk b/package/kmsxx/kmsxx.mk index c664d52361..829beb1d68 100644 --- a/package/kmsxx/kmsxx.mk +++ b/package/kmsxx/kmsxx.mk @@ -12,6 +12,14 @@ KMSXX_INSTALL_STAGING = YES KMSXX_DEPENDENCIES = libdrm host-pkgconf KMSXX_CONF_OPTS = -DKMSXX_ENABLE_PYTHON=OFF +KMSXX_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +KMSXX_CXXFLAGS += -O0 +endif + +KMSXX_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(KMSXX_CXXFLAGS)" + ifeq ($(BR2_PACKAGE_KMSXX_INSTALL_TESTS),y) KMSXX_TESTS = \ fbtest kmsblank kmscapture \ diff --git a/package/knock/knock.hash b/package/knock/knock.hash index 3599e43da2..0b9a0918fc 100644 --- a/package/knock/knock.hash +++ b/package/knock/knock.hash @@ -1,2 +1,3 @@ # locally computed hash -sha256 940a8de61b4b3530560805c3b9310a077c28c99173c2ccb07ff96720b0e93c58 knock-258a27e5a47809f97c2b9f2751a88c2f94aae891.tar.gz +sha256 940a8de61b4b3530560805c3b9310a077c28c99173c2ccb07ff96720b0e93c58 knock-258a27e5a47809f97c2b9f2751a88c2f94aae891.tar.gz +sha256 d747e19206e41702e40822dd91d37cbf40edd86f364ea416d667a0e3013f7189 COPYING diff --git a/package/kodi-audiodecoder-modplug/Config.in b/package/kodi-audiodecoder-modplug/Config.in index 026997319e..856ca8beb1 100644 --- a/package/kodi-audiodecoder-modplug/Config.in +++ b/package/kodi-audiodecoder-modplug/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_KODI_AUDIODECODER_MODPLUG bool "kodi-audiodecoder-modplug" - select BR2_PACKAGE_KODI_PLATFORM select BR2_PACKAGE_LIBMODPLUG help Modplug decoder addon for Kodi - https://github.com/notspiff/audiodecoder.modplug + https://github.com/xbmc/audiodecoder.modplug diff --git a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash index 9b1c2114aa..6bc7bc9acf 100644 --- a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash +++ b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 8be4f8c6324bf790069e42c963e14733c53fcdc27548f21f4822b178f47b8177 kodi-audiodecoder-modplug-v1.1.0.tar.gz +sha256 6827f1ebefa5f281ace52bdf83b5ab95789c77b88a344524ead1b346668d57e7 kodi-audiodecoder-modplug-2.0.3-Leia.tar.gz +sha256 317f732723eb58745a9b22c234861dbd2d98972039543f6b549c7cb26eb2cb08 debian/copyright diff --git a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk index c5a6f32676..8e1031053e 100644 --- a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk +++ b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_MODPLUG_VERSION = v1.1.0 -KODI_AUDIODECODER_MODPLUG_SITE = $(call github,notspiff,audiodecoder.modplug,$(KODI_AUDIODECODER_MODPLUG_VERSION)) +KODI_AUDIODECODER_MODPLUG_VERSION = 2.0.3-Leia +KODI_AUDIODECODER_MODPLUG_SITE = $(call github,xbmc,audiodecoder.modplug,$(KODI_AUDIODECODER_MODPLUG_VERSION)) KODI_AUDIODECODER_MODPLUG_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_MODPLUG_LICENSE_FILES = src/ModplugCodec.cpp -KODI_AUDIODECODER_MODPLUG_DEPENDENCIES = kodi-platform libmodplug +KODI_AUDIODECODER_MODPLUG_LICENSE_FILES = debian/copyright +KODI_AUDIODECODER_MODPLUG_DEPENDENCIES = kodi libmodplug $(eval $(cmake-package)) diff --git a/package/kodi-audiodecoder-nosefart/Config.in b/package/kodi-audiodecoder-nosefart/Config.in index 96591aae5c..bb56a3d6d4 100644 --- a/package/kodi-audiodecoder-nosefart/Config.in +++ b/package/kodi-audiodecoder-nosefart/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_KODI_AUDIODECODER_NOSEFART bool "kodi-audiodecoder-nosefart" - select BR2_PACKAGE_KODI_PLATFORM help Nosefart decoder addon for Kodi - https://github.com/notspiff/audiodecoder.nosefart + https://github.com/xbmc/audiodecoder.nosefart diff --git a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash index df93b25c8e..ae6931ae63 100644 --- a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash +++ b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 444cc85f4618daa5147a63633db3f300123d5e33b1b5894e7036fa9243e8a535 kodi-audiodecoder-nosefart-v1.1.0.tar.gz +sha256 66305c9d654aed0b9efcf44b90acac0ab8db321dff57523d13faf67606cd78ce kodi-audiodecoder-nosefart-2.0.2-Leia.tar.gz +sha256 01a3f135925df23a5d8679ff633fe3d5021125224c9349acd2c35dd0cf3ea762 debian/copyright diff --git a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk index f56dc19158..8f437a7378 100644 --- a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk +++ b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_NOSEFART_VERSION = v1.1.0 -KODI_AUDIODECODER_NOSEFART_SITE = $(call github,notspiff,audiodecoder.nosefart,$(KODI_AUDIODECODER_NOSEFART_VERSION)) +KODI_AUDIODECODER_NOSEFART_VERSION = 2.0.2-Leia +KODI_AUDIODECODER_NOSEFART_SITE = $(call github,xbmc,audiodecoder.nosefart,$(KODI_AUDIODECODER_NOSEFART_VERSION)) KODI_AUDIODECODER_NOSEFART_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_NOSEFART_LICENSE_FILES = src/NSFCodec.cpp -KODI_AUDIODECODER_NOSEFART_DEPENDENCIES = kodi-platform +KODI_AUDIODECODER_NOSEFART_LICENSE_FILES = debian/copyright +KODI_AUDIODECODER_NOSEFART_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-audiodecoder-opus/Config.in b/package/kodi-audiodecoder-opus/Config.in deleted file mode 100644 index 12d7247d58..0000000000 --- a/package/kodi-audiodecoder-opus/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_KODI_AUDIODECODER_OPUS - bool "kodi-audiodecoder-opus" - select BR2_PACKAGE_KODI_PLATFORM - select BR2_PACKAGE_LIBOGG - select BR2_PACKAGE_OPUS - select BR2_PACKAGE_OPUSFILE - help - Opus audio decoder for Kodi - - https://github.com/notspiff/audiodecoder.opus diff --git a/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.hash b/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.hash deleted file mode 100644 index 117e9f8337..0000000000 --- a/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed -sha256 bb7037f903f0396da739005843264acd7227cf96eeeac78b0e36d82872c9acc4 kodi-audiodecoder-opus-d6eb25f0c08033f9a2b4d7402e8baf866ebc731c.tar.gz diff --git a/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.mk b/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.mk deleted file mode 100644 index d93c33ac51..0000000000 --- a/package/kodi-audiodecoder-opus/kodi-audiodecoder-opus.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# kodi-audiodecoder-opus -# -################################################################################ - -KODI_AUDIODECODER_OPUS_VERSION = d6eb25f0c08033f9a2b4d7402e8baf866ebc731c -KODI_AUDIODECODER_OPUS_SITE = $(call github,notspiff,audiodecoder.opus,$(KODI_AUDIODECODER_OPUS_VERSION)) -KODI_AUDIODECODER_OPUS_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_OPUS_LICENSE_FILES = src/OpusCodec.cpp -KODI_AUDIODECODER_OPUS_DEPENDENCIES = kodi-platform libogg opus opusfile - -$(eval $(cmake-package)) diff --git a/package/kodi-audiodecoder-sidplay/Config.in b/package/kodi-audiodecoder-sidplay/Config.in index ae99afa9e0..eca4160a90 100644 --- a/package/kodi-audiodecoder-sidplay/Config.in +++ b/package/kodi-audiodecoder-sidplay/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_KODI_AUDIODECODER_SIDPLAY bool "kodi-audiodecoder-sidplay" - select BR2_PACKAGE_KODI_PLATFORM select BR2_PACKAGE_LIBSIDPLAY2 help Sidplay decoder addon for Kodi - https://github.com/notspiff/audiodecoder.sidplay + https://github.com/xbmc/audiodecoder.sidplay diff --git a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash index b806956a75..5c6a644ff3 100644 --- a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash +++ b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 527b188679add8043e8cd691af9735b6fe8bd6935ad8ac8312b459d6f160cdac kodi-audiodecoder-sidplay-v1.1.0.tar.gz +sha256 271e513a3094b163f986eb5bb5cbc70c7a602f5764cef255cc161cc5094e5648 kodi-audiodecoder-sidplay-1.2.2-Leia.tar.gz +sha256 dc915100daec3589f59b47f3438e8ec5ccc11ec25ccb3d0e7e66639764f31584 debian/copyright diff --git a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk index 8eb425f443..079ae0b202 100644 --- a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk +++ b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_SIDPLAY_VERSION = v1.1.0 -KODI_AUDIODECODER_SIDPLAY_SITE = $(call github,notspiff,audiodecoder.sidplay,$(KODI_AUDIODECODER_SIDPLAY_VERSION)) +KODI_AUDIODECODER_SIDPLAY_VERSION = 1.2.2-Leia +KODI_AUDIODECODER_SIDPLAY_SITE = $(call github,xbmc,audiodecoder.sidplay,$(KODI_AUDIODECODER_SIDPLAY_VERSION)) KODI_AUDIODECODER_SIDPLAY_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_SIDPLAY_LICENSE_FILES = src/SIDCodec.cpp -KODI_AUDIODECODER_SIDPLAY_DEPENDENCIES = host-pkgconf kodi-platform libsidplay2 +KODI_AUDIODECODER_SIDPLAY_LICENSE_FILES = debian/copyright +KODI_AUDIODECODER_SIDPLAY_DEPENDENCIES = host-pkgconf kodi libsidplay2 $(eval $(cmake-package)) diff --git a/package/kodi-audiodecoder-snesapu/Config.in b/package/kodi-audiodecoder-snesapu/Config.in index 0cb572fec3..2c3bb15d2f 100644 --- a/package/kodi-audiodecoder-snesapu/Config.in +++ b/package/kodi-audiodecoder-snesapu/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_KODI_AUDIODECODER_SNESAPU bool "kodi-audiodecoder-snesapu" - select BR2_PACKAGE_KODI_PLATFORM help SPC decoder addon for Kodi - https://github.com/notspiff/audiodecoder.snesapu + https://github.com/xbmc/audiodecoder.snesapu diff --git a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash index 159d67ecdf..ad3bf9be90 100644 --- a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash +++ b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 20d85822d0c01223903b5e5472a1d029fa4931c2a9ac4d399345c4363fa8f905 kodi-audiodecoder-snesapu-v1.1.0.tar.gz +sha256 e059f84b04b8e92e5ecc2989303f6a736f37d6e3bda939ac765499e616c91580 kodi-audiodecoder-snesapu-2.0.2-Leia.tar.gz +sha256 b7e8b234fc40687d647d929fc554b91cdaa4011e5e656e68c5c6ee8c4cdf81d2 debian/copyright diff --git a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk index 6104de717f..57504a17bb 100644 --- a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk +++ b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_SNESAPU_VERSION = v1.1.0 -KODI_AUDIODECODER_SNESAPU_SITE = $(call github,notspiff,audiodecoder.snesapu,$(KODI_AUDIODECODER_SNESAPU_VERSION)) +KODI_AUDIODECODER_SNESAPU_VERSION = 2.0.2-Leia +KODI_AUDIODECODER_SNESAPU_SITE = $(call github,xbmc,audiodecoder.snesapu,$(KODI_AUDIODECODER_SNESAPU_VERSION)) KODI_AUDIODECODER_SNESAPU_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_SNESAPU_LICENSE_FILES = src/SPCCodec.cpp -KODI_AUDIODECODER_SNESAPU_DEPENDENCIES = kodi-platform +KODI_AUDIODECODER_SNESAPU_LICENSE_FILES = debian/copyright +KODI_AUDIODECODER_SNESAPU_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-audiodecoder-stsound/Config.in b/package/kodi-audiodecoder-stsound/Config.in index 6be216a2c7..2001e481cd 100644 --- a/package/kodi-audiodecoder-stsound/Config.in +++ b/package/kodi-audiodecoder-stsound/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_KODI_AUDIODECODER_STSOUND bool "kodi-audiodecoder-stsound" - select BR2_PACKAGE_KODI_PLATFORM help YM decoder addon for Kodi - https://github.com/notspiff/audiodecoder.stsound + https://github.com/xbmc/audiodecoder.stsound diff --git a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash index 133e645fa9..ae1c82e2d0 100644 --- a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash +++ b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 c9b6e98d544712f7cec3cf18f866ccaed2fbcd20410179259ae0455ffa967ca4 kodi-audiodecoder-stsound-v1.1.0.tar.gz +sha256 3e14a7da3822002a90bf7d31a9f98541ae9ec2137c764dc94ca5b4de4ac8de82 kodi-audiodecoder-stsound-2.0.2-Leia.tar.gz +sha256 417ded3464139990f7898ac17c9eacde85dc0fafd3b3ca0c497d945b1bd93af5 debian/copyright diff --git a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk index dd5b9da3f8..679be5a7ff 100644 --- a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk +++ b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_STSOUND_VERSION = v1.1.0 -KODI_AUDIODECODER_STSOUND_SITE = $(call github,notspiff,audiodecoder.stsound,$(KODI_AUDIODECODER_STSOUND_VERSION)) +KODI_AUDIODECODER_STSOUND_VERSION = 2.0.2-Leia +KODI_AUDIODECODER_STSOUND_SITE = $(call github,xbmc,audiodecoder.stsound,$(KODI_AUDIODECODER_STSOUND_VERSION)) KODI_AUDIODECODER_STSOUND_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_STSOUND_LICENSE_FILES = src/YMCodec.cpp -KODI_AUDIODECODER_STSOUND_DEPENDENCIES = kodi-platform +KODI_AUDIODECODER_STSOUND_LICENSE_FILES = debian/copyright +KODI_AUDIODECODER_STSOUND_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-audiodecoder-timidity/Config.in b/package/kodi-audiodecoder-timidity/Config.in index 3372dc5c05..ad3caf1e42 100644 --- a/package/kodi-audiodecoder-timidity/Config.in +++ b/package/kodi-audiodecoder-timidity/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_KODI_AUDIODECODER_TIMIDITY help Timidity decoder addon for Kodi - https://github.com/notspiff/audiodecoder.timidity + https://github.com/xbmc/audiodecoder.timidity diff --git a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash index 5711b87a6c..b4c9c36045 100644 --- a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash +++ b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 83a740010dc7fa01101da370c74e79287ebd67bd28d27125e4372abe2fb3bb47 kodi-audiodecoder-timidity-v1.1.1.tar.gz +sha256 b20a3a23056aaf76c216c755f36dff03e943d7c086d3e3fca4c920b93113e073 kodi-audiodecoder-timidity-2.0.5-Leia.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk index e4a97fa7f6..a4f0126c43 100644 --- a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk +++ b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_TIMIDITY_VERSION = v1.1.1 -KODI_AUDIODECODER_TIMIDITY_SITE = $(call github,notspiff,audiodecoder.timidity,$(KODI_AUDIODECODER_TIMIDITY_VERSION)) +KODI_AUDIODECODER_TIMIDITY_VERSION = 2.0.5-Leia +KODI_AUDIODECODER_TIMIDITY_SITE = $(call github,xbmc,audiodecoder.timidity,$(KODI_AUDIODECODER_TIMIDITY_VERSION)) KODI_AUDIODECODER_TIMIDITY_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_TIMIDITY_LICENSE_FILES = src/TimidityCodec.cpp +KODI_AUDIODECODER_TIMIDITY_LICENSE_FILES = LICENSE.md KODI_AUDIODECODER_TIMIDITY_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-audiodecoder-vgmstream/Config.in b/package/kodi-audiodecoder-vgmstream/Config.in index ebf83df23b..440edc7cf6 100644 --- a/package/kodi-audiodecoder-vgmstream/Config.in +++ b/package/kodi-audiodecoder-vgmstream/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_KODI_AUDIODECODER_VGMSTREAM bool "kodi-audiodecoder-vgmstream" - select BR2_PACKAGE_KODI_PLATFORM help VGM decoder addon for Kodi - https://github.com/notspiff/audiodecoder.vgmstream + https://github.com/xbmc/audiodecoder.vgmstream diff --git a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash index 28f4272e20..05d641b158 100644 --- a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash +++ b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 40cd4f7f143c9313a4437854e31c460046af47bd709364439f0e370ec464af0d kodi-audiodecoder-vgmstream-v1.1.0.tar.gz +sha256 28876be1e1317b3ec5c3a4fe415f20d92a4c5868912656c5e8ab9cdd7e3f32d8 kodi-audiodecoder-vgmstream-1.1.5-Leia.tar.gz +sha256 fc7c7ab8774d94fb2eccdf47e3b8052a3906e4b5ec8554191da321020c965d8e debian/copyright diff --git a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk index 8dc09fa7e4..4e3cdab584 100644 --- a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk +++ b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIODECODER_VGMSTREAM_VERSION = v1.1.0 -KODI_AUDIODECODER_VGMSTREAM_SITE = $(call github,notspiff,audiodecoder.vgmstream,$(KODI_AUDIODECODER_VGMSTREAM_VERSION)) +KODI_AUDIODECODER_VGMSTREAM_VERSION = 1.1.5-Leia +KODI_AUDIODECODER_VGMSTREAM_SITE = $(call github,xbmc,audiodecoder.vgmstream,$(KODI_AUDIODECODER_VGMSTREAM_VERSION)) KODI_AUDIODECODER_VGMSTREAM_LICENSE = GPL-2.0+ -KODI_AUDIODECODER_VGMSTREAM_LICENSE_FILES = src/VGMCodec.cpp -KODI_AUDIODECODER_VGMSTREAM_DEPENDENCIES = kodi-platform +KODI_AUDIODECODER_VGMSTREAM_LICENSE_FILES = debian/copyright +KODI_AUDIODECODER_VGMSTREAM_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash index 41ddeb4eea..187a038eed 100644 --- a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash +++ b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 811dac5766dc9ef1a3447c55637edde55c5ddca1d583124e9312328152015ae5 kodi-audioencoder-flac-v1.1.0.tar.gz +sha256 42e18fc2477ce5abc3efd89851a4bacc6b9436889a607a15f8232ef68b297f93 kodi-audioencoder-flac-2.0.6-Leia.tar.gz +sha256 21dc3eb9c75f1ed6367a4cf3f3999b299bc6c172da3730184edd2a5dd4d090aa debian/copyright diff --git a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk index d1c41ca36b..53c1f3debc 100644 --- a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk +++ b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIOENCODER_FLAC_VERSION = v1.1.0 +KODI_AUDIOENCODER_FLAC_VERSION = 2.0.6-Leia KODI_AUDIOENCODER_FLAC_SITE = $(call github,xbmc,audioencoder.flac,$(KODI_AUDIOENCODER_FLAC_VERSION)) KODI_AUDIOENCODER_FLAC_LICENSE = GPL-2.0+ -KODI_AUDIOENCODER_FLAC_LICENSE_FILES = src/EncoderFlac.cpp +KODI_AUDIOENCODER_FLAC_LICENSE_FILES = debian/copyright KODI_AUDIOENCODER_FLAC_DEPENDENCIES = flac kodi libogg host-pkgconf $(eval $(cmake-package)) diff --git a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash index b93ae02e21..ef86f90eaa 100644 --- a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash +++ b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 5118a2925bb0f7eca36b2d0f4d6822b45a8967c9fb91054bfaa8f83d21209c95 kodi-audioencoder-lame-v1.2.0.tar.gz +sha256 9df54cf5c5ae3882a2d89d745c1d1f8b749e71a7f9305a1b059ecfd356995a36 kodi-audioencoder-lame-2.0.4-Leia.tar.gz +sha256 68a06632cc80eea941b07e27777788dcd4f7c5ba9c006e24f467a9d4bf4d3582 debian/copyright diff --git a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk index 941604ae46..5d93e83ed6 100644 --- a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk +++ b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIOENCODER_LAME_VERSION = v1.2.0 +KODI_AUDIOENCODER_LAME_VERSION = 2.0.4-Leia KODI_AUDIOENCODER_LAME_SITE = $(call github,xbmc,audioencoder.lame,$(KODI_AUDIOENCODER_LAME_VERSION)) KODI_AUDIOENCODER_LAME_LICENSE = GPL-2.0+ -KODI_AUDIOENCODER_LAME_LICENSE_FILES = src/EncoderLame.cpp +KODI_AUDIOENCODER_LAME_LICENSE_FILES = debian/copyright KODI_AUDIOENCODER_LAME_DEPENDENCIES = kodi lame KODI_AUDIOENCODER_LAME_CONF_OPTS += \ -DLAME_INCLUDE_DIRS=$(STAGING_DIR)/usr/include diff --git a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash index 094b2fabc6..567b2d6f38 100644 --- a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash +++ b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 f00c74f010b465d43e8206bcbe155785e1f34660ca010acff3b890595ea2352c kodi-audioencoder-vorbis-v1.1.0.tar.gz +sha256 b4b2b1b7ae8bda35514f20ad0275b434f2b60fc93b1e17ca6e654ae145852b1f kodi-audioencoder-vorbis-2.0.4-Leia.tar.gz +sha256 706e890fc5c0496b72d3c36284abcc85f9c83b3f2b21db53a68439c538122a59 debian/copyright diff --git a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk index 198d3b1c64..b789d239bd 100644 --- a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk +++ b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIOENCODER_VORBIS_VERSION = v1.1.0 +KODI_AUDIOENCODER_VORBIS_VERSION = 2.0.4-Leia KODI_AUDIOENCODER_VORBIS_SITE = $(call github,xbmc,audioencoder.vorbis,$(KODI_AUDIOENCODER_VORBIS_VERSION)) KODI_AUDIOENCODER_VORBIS_LICENSE = GPL-2.0+ -KODI_AUDIOENCODER_VORBIS_LICENSE_FILES = src/EncoderVorbis.cpp +KODI_AUDIOENCODER_VORBIS_LICENSE_FILES = debian/copyright KODI_AUDIOENCODER_VORBIS_DEPENDENCIES = kodi libogg libvorbis host-pkgconf $(eval $(cmake-package)) diff --git a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash index c6bbe79e17..e779768812 100644 --- a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash +++ b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 f9b0f79c8364fb7ef584137031fceb8d2ab1af28e110cfe2a31932631cb8d36e kodi-audioencoder-wav-v1.1.0.tar.gz +sha256 03cb2810b2aa335fd308a5e2b6580d21ac840334c55fc891acc310633c3c49b4 kodi-audioencoder-wav-2.0.3-Leia.tar.gz +sha256 341a6317428fbc7c9d5b971d1c6162ea34be64649caa650ee0a05c06ae53a872 debian/copyright diff --git a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk index 1a9a6b7bbc..b597b1b13d 100644 --- a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk +++ b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_AUDIOENCODER_WAV_VERSION = v1.1.0 +KODI_AUDIOENCODER_WAV_VERSION = 2.0.3-Leia KODI_AUDIOENCODER_WAV_SITE = $(call github,xbmc,audioencoder.wav,$(KODI_AUDIOENCODER_WAV_VERSION)) KODI_AUDIOENCODER_WAV_LICENSE = GPL-2.0+ -KODI_AUDIOENCODER_WAV_LICENSE_FILES = src/EncoderWav.cpp +KODI_AUDIOENCODER_WAV_LICENSE_FILES = debian/copyright KODI_AUDIOENCODER_WAV_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-inputstream-adaptive/Config.in b/package/kodi-inputstream-adaptive/Config.in index cb5127363a..f9ba20adcf 100644 --- a/package/kodi-inputstream-adaptive/Config.in +++ b/package/kodi-inputstream-adaptive/Config.in @@ -3,8 +3,6 @@ config BR2_PACKAGE_KODI_INPUTSTREAM_ADAPTIVE # wvdecrypter/cdm/build/build_config.h depends on BR2_aarch64 || BR2_arm || BR2_i386 || BR2_mipsel \ || BR2_mips64el || BR2_x86_64 - select BR2_PACKAGE_LIBPLATFORM - select BR2_PACKAGE_KODI_PLATFORM help Kodi inputstream addon for several manifest types diff --git a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash index 15ecf494f1..ff520781ac 100644 --- a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash +++ b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 872a6ffefb90b6201a1e01fe5a52e05877e2040737e052b2f249725b9a8a44ff kodi-inputstream-adaptive-c51b9a9b58a645f820883e6d99982277fc58aac5.tar.gz +sha256 ec2264aa620faa547e589b705c0393dbbfe4a8f866215d9a9f3d5b3ceea6560e kodi-inputstream-adaptive-2.4.4-Leia.tar.gz +sha256 89931c1fb1f3716694175763cf3221cfcd63d6935031cf6b4512d17ffe5d9860 LICENSE.GPL diff --git a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk index ab810d3248..cd34047db4 100644 --- a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk +++ b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_INPUTSTREAM_ADAPTIVE_VERSION = c51b9a9b58a645f820883e6d99982277fc58aac5 +KODI_INPUTSTREAM_ADAPTIVE_VERSION = 2.4.4-Leia KODI_INPUTSTREAM_ADAPTIVE_SITE = $(call github,peak3d,inputstream.adaptive,$(KODI_INPUTSTREAM_ADAPTIVE_VERSION)) KODI_INPUTSTREAM_ADAPTIVE_LICENSE = GPL-2.0+ -KODI_INPUTSTREAM_ADAPTIVE_LICENSE_FILES = src/main.cpp -KODI_INPUTSTREAM_ADAPTIVE_DEPENDENCIES = libplatform kodi-platform +KODI_INPUTSTREAM_ADAPTIVE_LICENSE_FILES = LICENSE.GPL +KODI_INPUTSTREAM_ADAPTIVE_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-inputstream-rtmp/Config.in b/package/kodi-inputstream-rtmp/Config.in index c40bff2d7e..fa83926301 100644 --- a/package/kodi-inputstream-rtmp/Config.in +++ b/package/kodi-inputstream-rtmp/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_KODI_INPUTSTREAM_RTMP help RTMP input stream add-on for Kodi - https://github.com/notspiff/inputstream.rtmp + https://github.com/xbmc/inputstream.rtmp diff --git a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash index f5a82d2aae..ba6ae0d91d 100644 --- a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash +++ b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 75a3cc87243a7c92a0a2e3f16710a1e60d05cd8dbc8b7fd1852244fbc5da2ae8 kodi-inputstream-rtmp-v1.0.4.tar.gz +sha256 56dac63262fa736620863900d903616d4827d735992e6d8beda84e377a5599e5 kodi-inputstream-rtmp-2.0.9-Leia.tar.gz +sha256 ddba7d22c2586f13de40786c21f3b87c6913c9937f4862dc828d33cfff0395eb debian/copyright diff --git a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk index 80c4bccd67..e850be40ff 100644 --- a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk +++ b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_INPUTSTREAM_RTMP_VERSION = v1.0.4 -KODI_INPUTSTREAM_RTMP_SITE = $(call github,notspiff,inputstream.rtmp,$(KODI_INPUTSTREAM_RTMP_VERSION)) +KODI_INPUTSTREAM_RTMP_VERSION = 2.0.9-Leia +KODI_INPUTSTREAM_RTMP_SITE = $(call github,xbmc,inputstream.rtmp,$(KODI_INPUTSTREAM_RTMP_VERSION)) KODI_INPUTSTREAM_RTMP_LICENSE = GPL-2.0+ -KODI_INPUTSTREAM_RTMP_LICENSE_FILES = src/RTMPStream.cpp +KODI_INPUTSTREAM_RTMP_LICENSE_FILES = debian/copyright KODI_INPUTSTREAM_RTMP_DEPENDENCIES = kodi rtmpdump $(eval $(cmake-package)) diff --git a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk index fcf4888a9c..934392e916 100644 --- a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk +++ b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk @@ -6,11 +6,12 @@ # Not possible to directly refer to kodi variables, because of # first/second expansion trickery... -KODI_JSONSCHEMABUILDER_VERSION = 17.6-Krypton +KODI_JSONSCHEMABUILDER_VERSION = 18.6-Leia KODI_JSONSCHEMABUILDER_SITE = $(call github,xbmc,xbmc,$(KODI_JSONSCHEMABUILDER_VERSION)) KODI_JSONSCHEMABUILDER_SOURCE = kodi-$(KODI_JSONSCHEMABUILDER_VERSION).tar.gz +KODI_JSONSCHEMABUILDER_DL_SUBDIR = kodi KODI_JSONSCHEMABUILDER_LICENSE = GPL-2.0 -KODI_JSONSCHEMABUILDER_LICENSE_FILES = LICENSE.GPL +KODI_JSONSCHEMABUILDER_LICENSE_FILES = LICENSE.md HOST_KODI_JSONSCHEMABUILDER_SUBDIR = tools/depends/native/JsonSchemaBuilder HOST_KODI_JSONSCHEMABUILDER_CONF_OPTS = \ diff --git a/package/kodi-peripheral-joystick/Config.in b/package/kodi-peripheral-joystick/Config.in index f257710a88..d93e71b607 100644 --- a/package/kodi-peripheral-joystick/Config.in +++ b/package/kodi-peripheral-joystick/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_KODI_PERIPHERAL_JOYSTICK bool "kodi-peripheral-joystick" depends on BR2_PACKAGE_HAS_UDEV - select BR2_PACKAGE_KODI_PLATFORM + select BR2_PACKAGE_TINYXML help Kodi joystick support (drivers and button maps) diff --git a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash index 728c3cac53..15397c05cd 100644 --- a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash +++ b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 9a183e1f92ff2c68816bfa0056c65585a3e1129d924326359d7a5dfbcba6c56a kodi-peripheral-joystick-v1.3.4.tar.gz +sha256 e83c32380a51ea74bd5f0af74afc747ff5de99167934e2644bc2b3438cd998d0 kodi-peripheral-joystick-1.4.9-Leia.tar.gz +sha256 2bb807179053b1a7795f9952539a394664847f561a9ffa4ccc36d7bb3cddadf9 debian/copyright diff --git a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk index 2fadbcc210..9cce174da1 100644 --- a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk +++ b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PERIPHERAL_JOYSTICK_VERSION = v1.3.4 +KODI_PERIPHERAL_JOYSTICK_VERSION = 1.4.9-Leia KODI_PERIPHERAL_JOYSTICK_SITE = $(call github,xbmc,peripheral.joystick,$(KODI_PERIPHERAL_JOYSTICK_VERSION)) KODI_PERIPHERAL_JOYSTICK_LICENSE = GPL-2.0+ -KODI_PERIPHERAL_JOYSTICK_LICENSE_FILES = src/addon.cpp -KODI_PERIPHERAL_JOYSTICK_DEPENDENCIES = kodi-platform udev +KODI_PERIPHERAL_JOYSTICK_LICENSE_FILES = debian/copyright +KODI_PERIPHERAL_JOYSTICK_DEPENDENCIES = kodi tinyxml udev $(eval $(cmake-package)) diff --git a/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.hash b/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.hash index c0b3bf6e22..15706cb043 100644 --- a/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.hash +++ b/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 d5547b78ba84c9743c884a9377c398b540bfcf23e467e1edf8be2625d400c205 kodi-peripheral-steamcontroller-ef527cd81cfcd6c8342691f5c764e5c51df1fca2.tar.gz +sha256 aece8f4b4c4360ae6b8007c9a1d1ee39d90808053bc5b2e3e08e4c5c70a7f8db kodi-peripheral-steamcontroller-702fea828f9c5c94d0bd77dbb5fe78451edfa2ea.tar.gz +sha256 243622a4e1a2ba091ae1d433483ad8b34a7cc337048d5bef8072fbb324fbc79a debian/copyright diff --git a/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.mk b/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.mk index 98cccc8520..15607145b8 100644 --- a/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.mk +++ b/package/kodi-peripheral-steamcontroller/kodi-peripheral-steamcontroller.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PERIPHERAL_STEAMCONTROLLER_VERSION = ef527cd81cfcd6c8342691f5c764e5c51df1fca2 +KODI_PERIPHERAL_STEAMCONTROLLER_VERSION = 702fea828f9c5c94d0bd77dbb5fe78451edfa2ea KODI_PERIPHERAL_STEAMCONTROLLER_SITE = $(call github,kodi-game,peripheral.steamcontroller,$(KODI_PERIPHERAL_STEAMCONTROLLER_VERSION)) KODI_PERIPHERAL_STEAMCONTROLLER_LICENSE = GPL-2.0+ -KODI_PERIPHERAL_STEAMCONTROLLER_LICENSE_FILES = src/addon.cpp +KODI_PERIPHERAL_STEAMCONTROLLER_LICENSE_FILES = debian/copyright KODI_PERIPHERAL_STEAMCONTROLLER_DEPENDENCIES = kodi-platform libusb $(eval $(cmake-package)) diff --git a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash index 48dc5a0415..6ff1edf8b9 100644 --- a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash +++ b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 cd503e7f1413214693c28b59f19f3fffe0a54cff5c29d43b2eca9bb31c10edeb kodi-peripheral-xarcade-f1875ba4b7aa6ce85ec40fedf48ed5501c79e5fd.tar.gz +sha256 c1d755230b0f2fe943cf7297a6d187371088f39391944d422d2bf5969c8863c1 kodi-peripheral-xarcade-51e1a4550a6c7d7feeb01760a731af17bea6c524.tar.gz +sha256 848ad4f3a480c953b556467fb9a315dd352ec1d267e012144c46adc571e39efb debian/copyright diff --git a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk index c4ddba3eb5..42d7af8a02 100644 --- a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk +++ b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PERIPHERAL_XARCADE_VERSION = f1875ba4b7aa6ce85ec40fedf48ed5501c79e5fd +KODI_PERIPHERAL_XARCADE_VERSION = 51e1a4550a6c7d7feeb01760a731af17bea6c524 KODI_PERIPHERAL_XARCADE_SITE = $(call github,kodi-game,peripheral.xarcade,$(KODI_PERIPHERAL_XARCADE_VERSION)) KODI_PERIPHERAL_XARCADE_LICENSE = GPL-2.0+ -KODI_PERIPHERAL_XARCADE_LICENSE_FILES = src/addon.cpp +KODI_PERIPHERAL_XARCADE_LICENSE_FILES = debian/copyright KODI_PERIPHERAL_XARCADE_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-platform/kodi-platform.hash b/package/kodi-platform/kodi-platform.hash index d99c6225cb..2f1164cfb5 100644 --- a/package/kodi-platform/kodi-platform.hash +++ b/package/kodi-platform/kodi-platform.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 c53f37888d752e233f5adabc6ecfb8a1ea02728e010007200bbf671f6b9462de kodi-platform-36fb49371dbce49bf470a5bb1fc51b74b4a3612d.tar.gz +sha256 d5b9b61c1c22b471d948b2c8de50f77ccadbd908869b13b5d98c42f447268d56 kodi-platform-915da086fa7b4ea72796052a04ed6de95501b95c.tar.gz +sha256 2f4bc4c1244b679121749378ff1a2b4b4e318897dac3d346a236432948ebeea7 debian/copyright diff --git a/package/kodi-platform/kodi-platform.mk b/package/kodi-platform/kodi-platform.mk index 53f8ce956b..8c42bfd953 100644 --- a/package/kodi-platform/kodi-platform.mk +++ b/package/kodi-platform/kodi-platform.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_PLATFORM_VERSION = 36fb49371dbce49bf470a5bb1fc51b74b4a3612d +KODI_PLATFORM_VERSION = 915da086fa7b4ea72796052a04ed6de95501b95c KODI_PLATFORM_SITE = $(call github,xbmc,kodi-platform,$(KODI_PLATFORM_VERSION)) KODI_PLATFORM_LICENSE = GPL-2.0+ -KODI_PLATFORM_LICENSE_FILES = src/util/XMLUtils.h +KODI_PLATFORM_LICENSE_FILES = debian/copyright KODI_PLATFORM_INSTALL_STAGING = YES KODI_PLATFORM_DEPENDENCIES = libplatform kodi diff --git a/package/kodi-pvr-argustv/kodi-pvr-argustv.hash b/package/kodi-pvr-argustv/kodi-pvr-argustv.hash index 138efa1d05..e9d3684b2f 100644 --- a/package/kodi-pvr-argustv/kodi-pvr-argustv.hash +++ b/package/kodi-pvr-argustv/kodi-pvr-argustv.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 ba9e4d76b9e6d2d879e95eeda0d919ca5eabc0d6f59037f173cd9294b2ce8e4a kodi-pvr-argustv-2.5.6-Krypton.tar.gz +sha256 2d0fae3721715a17e1c1454dd7029eb8d18e7f761ed65e00f8c488c7c08433e8 kodi-pvr-argustv-3.5.4-Leia.tar.gz +sha256 17bc5450fff10fc46484886690adbf20c369f5baff021435feab1187b9943834 debian/copyright diff --git a/package/kodi-pvr-argustv/kodi-pvr-argustv.mk b/package/kodi-pvr-argustv/kodi-pvr-argustv.mk index 2cf4d75293..b82a6f52d0 100644 --- a/package/kodi-pvr-argustv/kodi-pvr-argustv.mk +++ b/package/kodi-pvr-argustv/kodi-pvr-argustv.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_ARGUSTV_VERSION = 2.5.6-Krypton +KODI_PVR_ARGUSTV_VERSION = 3.5.4-Leia KODI_PVR_ARGUSTV_SITE = $(call github,kodi-pvr,pvr.argustv,$(KODI_PVR_ARGUSTV_VERSION)) KODI_PVR_ARGUSTV_LICENSE = GPL-2.0+ -KODI_PVR_ARGUSTV_LICENSE_FILES = src/client.h +KODI_PVR_ARGUSTV_LICENSE_FILES = debian/copyright KODI_PVR_ARGUSTV_DEPENDENCIES = jsoncpp kodi-platform $(eval $(cmake-package)) diff --git a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash index e9b867318d..c07f227809 100644 --- a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash +++ b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 a45fff0c1fe6d91fd957e2a4e62e9c72a5c36d796c41caa6b1e5a4814f82a503 kodi-pvr-dvblink-3.4.5v2-Krypton.tar.gz +sha256 ad7586abfe7b3f9dd67b3a2225c442fc8d2a442e48bd7df75b11652286392c2f kodi-pvr-dvblink-4.7.2-Leia.tar.gz +sha256 4200fb35edb052f04dc43d267a1ad59468cb899e7b4931756b5830039b82716d debian/copyright diff --git a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk index 9860b63b2a..95bc7bbb4b 100644 --- a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk +++ b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_DVBLINK_VERSION = 3.4.5v2-Krypton +KODI_PVR_DVBLINK_VERSION = 4.7.2-Leia KODI_PVR_DVBLINK_SITE = $(call github,kodi-pvr,pvr.dvblink,$(KODI_PVR_DVBLINK_VERSION)) KODI_PVR_DVBLINK_LICENSE = GPL-2.0+ -KODI_PVR_DVBLINK_LICENSE_FILES = src/client.h +KODI_PVR_DVBLINK_LICENSE_FILES = debian/copyright KODI_PVR_DVBLINK_DEPENDENCIES = kodi-platform tinyxml2 $(eval $(cmake-package)) diff --git a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash index 017bd8360a..642f93f71c 100644 --- a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash +++ b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 f1cd26234e33a027d1ef2f3ea7b5f33be3a8aff9a7bf0117ee4bdfcf1e18fd9f kodi-pvr-dvbviewer-2.4.14-Krypton.tar.gz +sha256 8a3d167e652574caf30ba0ce9c22d278715e0237774b817e37826f1b2d647bff kodi-pvr-dvbviewer-3.7.11-Leia.tar.gz +sha256 5757dbd6a8731e9395508cd7ab9ca0ea0c2863a7aac7136299d40549c88c9c2c debian/copyright diff --git a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk index bc37de7545..b88d3d86cd 100644 --- a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk +++ b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_DVBVIEWER_VERSION = 2.4.14-Krypton +KODI_PVR_DVBVIEWER_VERSION = 3.7.11-Leia KODI_PVR_DVBVIEWER_SITE = $(call github,kodi-pvr,pvr.dvbviewer,$(KODI_PVR_DVBVIEWER_VERSION)) KODI_PVR_DVBVIEWER_LICENSE = GPL-2.0+ -KODI_PVR_DVBVIEWER_LICENSE_FILES = src/client.h +KODI_PVR_DVBVIEWER_LICENSE_FILES = debian/copyright KODI_PVR_DVBVIEWER_DEPENDENCIES = kodi-platform $(eval $(cmake-package)) diff --git a/package/kodi-pvr-filmon/kodi-pvr-filmon.hash b/package/kodi-pvr-filmon/kodi-pvr-filmon.hash index 7417b26723..947c81d2e6 100644 --- a/package/kodi-pvr-filmon/kodi-pvr-filmon.hash +++ b/package/kodi-pvr-filmon/kodi-pvr-filmon.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 0384db9cbcd8ab2e7b8b0eb8c22e8913e734e436234c43d357718c5273058605 kodi-pvr-filmon-1.4.8-Krypton.tar.gz +sha256 763500fb4a7210569f05dba8307d400e532dd0e72b24f1a1d2cd516695145190 kodi-pvr-filmon-2.4.4-Leia.tar.gz +sha256 081907693b03f27cb1b17e0a440ae05fd8c8b4631be6fe6fdba4e18a5d40fdc5 debian/copyright diff --git a/package/kodi-pvr-filmon/kodi-pvr-filmon.mk b/package/kodi-pvr-filmon/kodi-pvr-filmon.mk index daa3e39dfc..0ee910db9f 100644 --- a/package/kodi-pvr-filmon/kodi-pvr-filmon.mk +++ b/package/kodi-pvr-filmon/kodi-pvr-filmon.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_FILMON_VERSION = 1.4.8-Krypton +KODI_PVR_FILMON_VERSION = 2.4.4-Leia KODI_PVR_FILMON_SITE = $(call github,kodi-pvr,pvr.filmon,$(KODI_PVR_FILMON_VERSION)) KODI_PVR_FILMON_LICENSE = GPL-2.0+ -KODI_PVR_FILMON_LICENSE_FILES = src/client.h +KODI_PVR_FILMON_LICENSE_FILES = debian/copyright KODI_PVR_FILMON_DEPENDENCIES = jsoncpp kodi-platform $(eval $(cmake-package)) diff --git a/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.hash b/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.hash index 8262f4e111..3e76af00ed 100644 --- a/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.hash +++ b/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 3c000b3ebab2b12f5635451f6a71ad01c4f4d7043623cfeebfe6b7c662e026d9 kodi-pvr-hdhomerun-2.4.7-Krypton.tar.gz +sha256 815ba3dfbe6e1318226d41879057f0b8a4f0ac960d12ebc5d69f0a1ac28cfa09 kodi-pvr-hdhomerun-3.5.0-Leia.tar.gz +sha256 9e76c8ce9e201f75c50c755982b9e2f15821280dedc5e953f685086912e1e39d debian/copyright diff --git a/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.mk b/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.mk index 75fa48764a..ae42f5c33d 100644 --- a/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.mk +++ b/package/kodi-pvr-hdhomerun/kodi-pvr-hdhomerun.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_HDHOMERUN_VERSION = 2.4.7-Krypton +KODI_PVR_HDHOMERUN_VERSION = 3.5.0-Leia KODI_PVR_HDHOMERUN_SITE = $(call github,kodi-pvr,pvr.hdhomerun,$(KODI_PVR_HDHOMERUN_VERSION)) KODI_PVR_HDHOMERUN_LICENSE = GPL-2.0+ -KODI_PVR_HDHOMERUN_LICENSE_FILES = src/client.h +KODI_PVR_HDHOMERUN_LICENSE_FILES = debian/copyright KODI_PVR_HDHOMERUN_DEPENDENCIES = jsoncpp kodi-platform libhdhomerun $(eval $(cmake-package)) diff --git a/package/kodi-pvr-hts/kodi-pvr-hts.hash b/package/kodi-pvr-hts/kodi-pvr-hts.hash index 87eafac855..d5899f5119 100644 --- a/package/kodi-pvr-hts/kodi-pvr-hts.hash +++ b/package/kodi-pvr-hts/kodi-pvr-hts.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 96e949526ebf4af542da572e704c0c052ec807408dc0ea65603a15614b889dd1 kodi-pvr-hts-3211941dade740ad92581f488402146794798e74.tar.gz +sha256 6958b91ca616554e4c068bc303c66388e9a2c3a68b5979d8918b4e0d7b6bb95c kodi-pvr-hts-4.4.21-Leia.tar.gz +sha256 6d97c3d608a5d59565b567313bd3e53a1d0066ed59f4ae8e474c895d0c20e746 debian/copyright diff --git a/package/kodi-pvr-hts/kodi-pvr-hts.mk b/package/kodi-pvr-hts/kodi-pvr-hts.mk index 7f43b04853..6a25cda003 100644 --- a/package/kodi-pvr-hts/kodi-pvr-hts.mk +++ b/package/kodi-pvr-hts/kodi-pvr-hts.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_HTS_VERSION = 3211941dade740ad92581f488402146794798e74 +KODI_PVR_HTS_VERSION = 4.4.21-Leia KODI_PVR_HTS_SITE = $(call github,kodi-pvr,pvr.hts,$(KODI_PVR_HTS_VERSION)) KODI_PVR_HTS_LICENSE = GPL-2.0+ -KODI_PVR_HTS_LICENSE_FILES = src/client.h +KODI_PVR_HTS_LICENSE_FILES = debian/copyright KODI_PVR_HTS_DEPENDENCIES = kodi-platform $(eval $(cmake-package)) diff --git a/package/kodi-pvr-iptvsimple/Config.in b/package/kodi-pvr-iptvsimple/Config.in index b59674979f..94fc1f0602 100644 --- a/package/kodi-pvr-iptvsimple/Config.in +++ b/package/kodi-pvr-iptvsimple/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_KODI_PVR_IPTVSIMPLE bool "kodi-pvr-iptvsimple" select BR2_PACKAGE_KODI_PLATFORM + select BR2_PACKAGE_RAPIDXML help IPTV Live TV and Radio PVR client addon for Kodi diff --git a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash index 0b0406feb8..bd8caca76a 100644 --- a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash +++ b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 329bd71e5c786d7b037bf5fd103ee4abff892afc6e5186a5d0a797194a8c4c7c kodi-pvr-iptvsimple-2.4.14-Krypton.tar.gz +sha256 0812e359a943f4ffb763b47fc0440768a8aa09f12172ef8dff4440b0a48f9c96 kodi-pvr-iptvsimple-3.9.8-Leia.tar.gz +sha256 50e33ec3cddb75e6c5c5eb1b3d38cc0adee7dec71d7244925106d4a2c4d5e31d debian/copyright diff --git a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk index 0df509ea6a..f1a087100c 100644 --- a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk +++ b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_IPTVSIMPLE_VERSION = 2.4.14-Krypton +KODI_PVR_IPTVSIMPLE_VERSION = 3.9.8-Leia KODI_PVR_IPTVSIMPLE_SITE = $(call github,kodi-pvr,pvr.iptvsimple,$(KODI_PVR_IPTVSIMPLE_VERSION)) KODI_PVR_IPTVSIMPLE_LICENSE = GPL-2.0+ -KODI_PVR_IPTVSIMPLE_LICENSE_FILES = src/client.h -KODI_PVR_IPTVSIMPLE_DEPENDENCIES = kodi-platform +KODI_PVR_IPTVSIMPLE_LICENSE_FILES = debian/copyright +KODI_PVR_IPTVSIMPLE_DEPENDENCIES = kodi-platform rapidxml $(eval $(cmake-package)) diff --git a/package/kodi-pvr-mediaportal-tvserver/0001-live555-remove-xlocale.h-from-Locale.hh.patch b/package/kodi-pvr-mediaportal-tvserver/0001-live555-remove-xlocale.h-from-Locale.hh.patch deleted file mode 100644 index 7abb153b0e..0000000000 --- a/package/kodi-pvr-mediaportal-tvserver/0001-live555-remove-xlocale.h-from-Locale.hh.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 64b264d141fd80991ac071c5370802e2d7394f6d Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 3 Dec 2017 22:17:12 +0100 -Subject: [PATCH] live555: remove xlocale.h from Locale.hh - -Fixes build error with glibc 2.26: -https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27 - -Patch sent upstream: -https://github.com/kodi-pvr/pvr.mediaportal.tvserver/pull/79 - -Signed-off-by: Bernd Kuhls ---- - src/lib/live555/liveMedia/include/Locale.hh | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/src/lib/live555/liveMedia/include/Locale.hh b/src/lib/live555/liveMedia/include/Locale.hh -index b327948..c4b4f4a 100644 ---- a/src/lib/live555/liveMedia/include/Locale.hh -+++ b/src/lib/live555/liveMedia/include/Locale.hh -@@ -43,9 +43,6 @@ along with this library; if not, write to the Free Software Foundation, Inc., - - #ifndef LOCALE_NOT_USED - #include --#ifndef XLOCALE_NOT_USED --#include // because, on some systems, doesn't include ; this makes sure that we get both --#endif - #endif - - --- -2.11.0 - diff --git a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash index 6eb0abfbaf..84526b7461 100644 --- a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash +++ b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 3f5c022f83636b3739f26c1a07166b498eac82e8081ed7551980f4bb27c6b56e kodi-pvr-mediaportal-tvserver-2.4.19v2-Krypton.tar.gz +sha256 9c05578566f7448dc3a7677587c804596aa314afd493cb9c62cc65ea883645aa kodi-pvr-mediaportal-tvserver-3.5.18-Leia.tar.gz +sha256 f9df5b0c11a23b2d5ca84828c67412ecd8752df46527285aeff48f4d7988d367 debian/copyright diff --git a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk index 99a318911e..a00711c662 100644 --- a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk +++ b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION = 2.4.19v2-Krypton +KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION = 3.5.18-Leia KODI_PVR_MEDIAPORTAL_TVSERVER_SITE = $(call github,kodi-pvr,pvr.mediaportal.tvserver,$(KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION)) KODI_PVR_MEDIAPORTAL_TVSERVER_LICENSE = GPL-2.0+ -KODI_PVR_MEDIAPORTAL_TVSERVER_LICENSE_FILES = src/client.h +KODI_PVR_MEDIAPORTAL_TVSERVER_LICENSE_FILES = debian/copyright KODI_PVR_MEDIAPORTAL_TVSERVER_DEPENDENCIES = kodi-platform $(eval $(cmake-package)) diff --git a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash index 82923a89aa..c70e032289 100644 --- a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash +++ b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 fd60aba0dac25ab5885371495a5dfca53308c1fa23215299b0f62997c7391e1e kodi-pvr-mythtv-4.15.3.tar.gz +sha256 36d9142e0e19b904e1c4a6d8cd67063d291e63971f80a98a6f24b7f4554bb2e3 kodi-pvr-mythtv-5.10.15-Leia.tar.gz +sha256 0efb11009d447b39ec35d77dc265db3d1c3d261730bbc33b267587254d973ec8 debian/copyright diff --git a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk index 8099ffae3e..b89db3a455 100644 --- a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk +++ b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_MYTHTV_VERSION = 4.15.3 +KODI_PVR_MYTHTV_VERSION = 5.10.15-Leia KODI_PVR_MYTHTV_SITE = $(call github,janbar,pvr.mythtv,$(KODI_PVR_MYTHTV_VERSION)) KODI_PVR_MYTHTV_LICENSE = GPL-2.0+ -KODI_PVR_MYTHTV_LICENSE_FILES = src/client.h +KODI_PVR_MYTHTV_LICENSE_FILES = debian/copyright KODI_PVR_MYTHTV_DEPENDENCIES = kodi-platform $(eval $(cmake-package)) diff --git a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash index 3d10b5bbec..4d730deb85 100644 --- a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash +++ b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 b126943a6d48ea4d2df38951505f385c2a499e399201eccd798a34076d3c5842 kodi-pvr-nextpvr-2.4.13-Krypton.tar.gz +sha256 5f1b7fa00d7248fa840a0e7574bb7714867bff4ad81ceb8ed33cb3aa6d5ccbe9 kodi-pvr-nextpvr-3.3.19-Leia.tar.gz +sha256 0bd576badce05c6b4315c415dabd77d80c871e72026c399f7a7bb8582e0911fe debian/copyright diff --git a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk index d0a04991d9..94461f61d1 100644 --- a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk +++ b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_NEXTPVR_VERSION = 2.4.13-Krypton +KODI_PVR_NEXTPVR_VERSION = 3.3.19-Leia KODI_PVR_NEXTPVR_SITE = $(call github,kodi-pvr,pvr.nextpvr,$(KODI_PVR_NEXTPVR_VERSION)) KODI_PVR_NEXTPVR_LICENSE = GPL-2.0+ -KODI_PVR_NEXTPVR_LICENSE_FILES = src/client.h +KODI_PVR_NEXTPVR_LICENSE_FILES = debian/copyright KODI_PVR_NEXTPVR_DEPENDENCIES = kodi-platform $(eval $(cmake-package)) diff --git a/package/kodi-pvr-njoy/kodi-pvr-njoy.hash b/package/kodi-pvr-njoy/kodi-pvr-njoy.hash index 261558ee3f..cf23a3abaa 100644 --- a/package/kodi-pvr-njoy/kodi-pvr-njoy.hash +++ b/package/kodi-pvr-njoy/kodi-pvr-njoy.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 e4e0a6bb1bf0c6f8ae011eba58c5f0ae19a6574bb35fc6a7fbdbb99d20242a2c kodi-pvr-njoy-2.4.3-Krypton.tar.gz +sha256 8c42a3c3754d7a07de9682504c4883a584eb21a92b9af70f0129ffc2707c1554 kodi-pvr-njoy-3.4.2-Leia.tar.gz +sha256 9d42154eabd84ae131cc6384a3ea0fc622c3551595564bec7a6bec8df4a57fbd debian/copyright diff --git a/package/kodi-pvr-njoy/kodi-pvr-njoy.mk b/package/kodi-pvr-njoy/kodi-pvr-njoy.mk index e946e6783d..ca86d46d85 100644 --- a/package/kodi-pvr-njoy/kodi-pvr-njoy.mk +++ b/package/kodi-pvr-njoy/kodi-pvr-njoy.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_NJOY_VERSION = 2.4.3-Krypton +KODI_PVR_NJOY_VERSION = 3.4.2-Leia KODI_PVR_NJOY_SITE = $(call github,kodi-pvr,pvr.njoy,$(KODI_PVR_NJOY_VERSION)) KODI_PVR_NJOY_LICENSE = GPL-2.0+ -KODI_PVR_NJOY_LICENSE_FILES = src/client.h +KODI_PVR_NJOY_LICENSE_FILES = debian/copyright KODI_PVR_NJOY_DEPENDENCIES = kodi-platform $(eval $(cmake-package)) diff --git a/package/kodi-pvr-pctv/kodi-pvr-pctv.hash b/package/kodi-pvr-pctv/kodi-pvr-pctv.hash index 5044806761..f1bb8a4804 100644 --- a/package/kodi-pvr-pctv/kodi-pvr-pctv.hash +++ b/package/kodi-pvr-pctv/kodi-pvr-pctv.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 95f95f39739baf6013bb6c9188743f842f6ba3e1fa541907067f795e1a3c66a1 kodi-pvr-pctv-1.4.7-Krypton.tar.gz +sha256 a9f1c5596786cf4cfa279d0b4477839ef7f5bb7267c65152dbcf7ae0bda56679 kodi-pvr-pctv-2.4.5-Leia.tar.gz +sha256 43376e70ae80133530c8ce71a3b0dcde8529a8162d3b3956009eb8fc0f5c559c debian/copyright diff --git a/package/kodi-pvr-pctv/kodi-pvr-pctv.mk b/package/kodi-pvr-pctv/kodi-pvr-pctv.mk index 6c7a03049d..45c916df49 100644 --- a/package/kodi-pvr-pctv/kodi-pvr-pctv.mk +++ b/package/kodi-pvr-pctv/kodi-pvr-pctv.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_PCTV_VERSION = 1.4.7-Krypton +KODI_PVR_PCTV_VERSION = 2.4.5-Leia KODI_PVR_PCTV_SITE = $(call github,kodi-pvr,pvr.pctv,$(KODI_PVR_PCTV_VERSION)) KODI_PVR_PCTV_LICENSE = GPL-2.0+ -KODI_PVR_PCTV_LICENSE_FILES = src/client.h +KODI_PVR_PCTV_LICENSE_FILES = debian/copyright KODI_PVR_PCTV_DEPENDENCIES = jsoncpp kodi-platform $(eval $(cmake-package)) diff --git a/package/kodi-pvr-stalker/0001-src-CWatchdog.h-Fix-gcc7-build.patch b/package/kodi-pvr-stalker/0001-src-CWatchdog.h-Fix-gcc7-build.patch deleted file mode 100644 index 2d85f6bc6f..0000000000 --- a/package/kodi-pvr-stalker/0001-src-CWatchdog.h-Fix-gcc7-build.patch +++ /dev/null @@ -1,29 +0,0 @@ -From bb16ccd14deb3a01049daec37b6d2e7711ef4738 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sat, 13 May 2017 20:22:08 +0200 -Subject: [PATCH] src/CWatchdog.h: Fix gcc7 build - -Building with gcc7 is broken: - -src/CWatchdog.h:31:58: error: 'std::function' has not been declared - CWatchdog(unsigned int interval, SAPI *api, std::function errorCallback); - ^~~~~~~~ - -Submitted-upstream: https://github.com/kodi-pvr/pvr.stalker/pull/93 -Signed-off-by: Bernd Kuhls ---- - src/CWatchdog.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/CWatchdog.h b/src/CWatchdog.h -index c465e91..239d95d 100644 ---- a/src/CWatchdog.h -+++ b/src/CWatchdog.h -@@ -22,6 +22,7 @@ - */ - - #include -+#include - - #include "SAPI.h" - diff --git a/package/kodi-pvr-stalker/kodi-pvr-stalker.hash b/package/kodi-pvr-stalker/kodi-pvr-stalker.hash index 07c768f252..720689dc43 100644 --- a/package/kodi-pvr-stalker/kodi-pvr-stalker.hash +++ b/package/kodi-pvr-stalker/kodi-pvr-stalker.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 466cb3869927cdd245a746a32d92250e198befe577f7a847884eab1fd8eeb139 kodi-pvr-stalker-2.8.6-Krypton.tar.gz +sha256 03eb428f21d6b8526b6671278b60ac6dc5a761a515af27172d8ac5c814cc3f65 kodi-pvr-stalker-3.4.10-Leia.tar.gz +sha256 f9fa34b2caa07376a7a976c1f0b1b9761b37449afd4ceb1e7afa283492054237 debian/copyright diff --git a/package/kodi-pvr-stalker/kodi-pvr-stalker.mk b/package/kodi-pvr-stalker/kodi-pvr-stalker.mk index 32ac2cad0e..0ae41171a9 100644 --- a/package/kodi-pvr-stalker/kodi-pvr-stalker.mk +++ b/package/kodi-pvr-stalker/kodi-pvr-stalker.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_STALKER_VERSION = 2.8.6-Krypton +KODI_PVR_STALKER_VERSION = 3.4.10-Leia KODI_PVR_STALKER_SITE = $(call github,kodi-pvr,pvr.stalker,$(KODI_PVR_STALKER_VERSION)) KODI_PVR_STALKER_LICENSE = GPL-2.0+ -KODI_PVR_STALKER_LICENSE_FILES = src/client.h +KODI_PVR_STALKER_LICENSE_FILES = debian/copyright KODI_PVR_STALKER_DEPENDENCIES = jsoncpp kodi-platform libxml2 $(eval $(cmake-package)) diff --git a/package/kodi-pvr-vbox/kodi-pvr-vbox.hash b/package/kodi-pvr-vbox/kodi-pvr-vbox.hash index 5f2c78f0fa..a3c624526e 100644 --- a/package/kodi-pvr-vbox/kodi-pvr-vbox.hash +++ b/package/kodi-pvr-vbox/kodi-pvr-vbox.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 78065a46b95b3988b1e49fe05da249a1896f54a2c30116a9446f7c4f55db743b kodi-pvr-vbox-3.6.10-Krypton.tar.gz +sha256 98aadcf3d0109a7dc5f85b4e5473d595039b59c46b0686a2fbda88ff7631ee0c kodi-pvr-vbox-4.7.0-Leia.tar.gz +sha256 f535b79e33bdf4d270f8aed3fdcb92f807981f808d7f5e3c053c088e5ccf553b debian/copyright diff --git a/package/kodi-pvr-vbox/kodi-pvr-vbox.mk b/package/kodi-pvr-vbox/kodi-pvr-vbox.mk index 2c54e14937..b10bfc5b85 100644 --- a/package/kodi-pvr-vbox/kodi-pvr-vbox.mk +++ b/package/kodi-pvr-vbox/kodi-pvr-vbox.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_VBOX_VERSION = 3.6.10-Krypton +KODI_PVR_VBOX_VERSION = 4.7.0-Leia KODI_PVR_VBOX_SITE = $(call github,kodi-pvr,pvr.vbox,$(KODI_PVR_VBOX_VERSION)) KODI_PVR_VBOX_LICENSE = GPL-2.0+ -KODI_PVR_VBOX_LICENSE_FILES = src/client.h +KODI_PVR_VBOX_LICENSE_FILES = debian/copyright KODI_PVR_VBOX_DEPENDENCIES = kodi-platform $(eval $(cmake-package)) diff --git a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash index 6d42583a9b..d70a5c30b3 100644 --- a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash +++ b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 b65acb7ade6eaac395ea357158a4aae5ccd141612acfd834b72fbdf8db4e8b0e kodi-pvr-vdr-vnsi-4ed7d602924dbfcdd2770c0e13423092e829460d.tar.gz +sha256 f0ea8907e77ca014429bbe73d07c3410cc7be25a6db0df157863b87d2684affb kodi-pvr-vdr-vnsi-3.6.4-Leia.tar.gz +sha256 28266596fdf4162d4f15985e0108cd9ddb42531ddad2297011649c1af49f7fe2 debian/copyright diff --git a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk index e068641c0d..f467fa98f5 100644 --- a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk +++ b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_VDR_VNSI_VERSION = 4ed7d602924dbfcdd2770c0e13423092e829460d +KODI_PVR_VDR_VNSI_VERSION = 3.6.4-Leia KODI_PVR_VDR_VNSI_SITE = $(call github,kodi-pvr,pvr.vdr.vnsi,$(KODI_PVR_VDR_VNSI_VERSION)) KODI_PVR_VDR_VNSI_LICENSE = GPL-2.0+ -KODI_PVR_VDR_VNSI_LICENSE_FILES = src/client.h +KODI_PVR_VDR_VNSI_LICENSE_FILES = debian/copyright KODI_PVR_VDR_VNSI_DEPENDENCIES = kodi-platform $(eval $(cmake-package)) diff --git a/package/kodi-pvr-vuplus/Config.in b/package/kodi-pvr-vuplus/Config.in index a56c4ede93..b6a03e843f 100644 --- a/package/kodi-pvr-vuplus/Config.in +++ b/package/kodi-pvr-vuplus/Config.in @@ -1,7 +1,13 @@ config BR2_PACKAGE_KODI_PVR_VUPLUS bool "kodi-pvr-vuplus" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # json-for-modern-cpp + select BR2_PACKAGE_JSON_FOR_MODERN_CPP select BR2_PACKAGE_KODI_PLATFORM + select BR2_PACKAGE_TINYXML help VuPlus PVR client addon for Kodi https://github.com/kodi-pvr/pvr.vuplus + +comment "kodi-pvr-vuplus needs a toolchain w/ gcc >= 4.9" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash index f4f6756931..bd7f865486 100644 --- a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash +++ b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 a8c7345e4e2e415e29c21f14460b257dfbe08ed5ecf1cc2dc6bc393a10f95cf3 kodi-pvr-vuplus-2.4.12-Krypton.tar.gz +sha256 d7dd890e4491e211ff3781cdc043347ab7a4ef6e00619ac1b4641ed81b0c3626 kodi-pvr-vuplus-3.28.9-Leia.tar.gz +sha256 e98518889de8d38eaa6ddcb086b6e3b86efed98b501a5c666b9cf48f79e6df5d debian/copyright diff --git a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk index 581d884caa..bf1de1178d 100644 --- a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk +++ b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_VUPLUS_VERSION = 2.4.12-Krypton +KODI_PVR_VUPLUS_VERSION = 3.28.9-Leia KODI_PVR_VUPLUS_SITE = $(call github,kodi-pvr,pvr.vuplus,$(KODI_PVR_VUPLUS_VERSION)) KODI_PVR_VUPLUS_LICENSE = GPL-2.0+ -KODI_PVR_VUPLUS_LICENSE_FILES = src/client.h -KODI_PVR_VUPLUS_DEPENDENCIES = kodi-platform +KODI_PVR_VUPLUS_LICENSE_FILES = debian/copyright +KODI_PVR_VUPLUS_DEPENDENCIES = json-for-modern-cpp kodi-platform tinyxml $(eval $(cmake-package)) diff --git a/package/kodi-pvr-wmc/kodi-pvr-wmc.hash b/package/kodi-pvr-wmc/kodi-pvr-wmc.hash index 4c050fb654..e72e8d20a9 100644 --- a/package/kodi-pvr-wmc/kodi-pvr-wmc.hash +++ b/package/kodi-pvr-wmc/kodi-pvr-wmc.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 7f5dfb88f54d511d575b7aabd94e1a862afb7e8a0b89fa957db6a135c31846eb kodi-pvr-wmc-1.4.9v2-Krypton.tar.gz +sha256 4cb81f29cba23172d042e50bbab00cd64cd5670ad7350fd9d25301f63178e5f7 kodi-pvr-wmc-2.4.5-Leia.tar.gz +sha256 6d97c3d608a5d59565b567313bd3e53a1d0066ed59f4ae8e474c895d0c20e746 debian/copyright diff --git a/package/kodi-pvr-wmc/kodi-pvr-wmc.mk b/package/kodi-pvr-wmc/kodi-pvr-wmc.mk index b6e3d43256..d669768e7e 100644 --- a/package/kodi-pvr-wmc/kodi-pvr-wmc.mk +++ b/package/kodi-pvr-wmc/kodi-pvr-wmc.mk @@ -4,12 +4,10 @@ # ################################################################################ -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_WMC_VERSION = 1.4.9v2-Krypton +KODI_PVR_WMC_VERSION = 2.4.5-Leia KODI_PVR_WMC_SITE = $(call github,kodi-pvr,pvr.wmc,$(KODI_PVR_WMC_VERSION)) KODI_PVR_WMC_LICENSE = GPL-2.0+ -KODI_PVR_WMC_LICENSE_FILES = src/client.h +KODI_PVR_WMC_LICENSE_FILES = debian/copyright KODI_PVR_WMC_DEPENDENCIES = kodi-platform $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-asteroids/Config.in b/package/kodi-screensaver-asteroids/Config.in index ccc2aba6aa..3d66c3dcc3 100644 --- a/package/kodi-screensaver-asteroids/Config.in +++ b/package/kodi-screensaver-asteroids/Config.in @@ -1,10 +1,11 @@ config BR2_PACKAGE_KODI_SCREENSAVER_ASTEROIDS bool "kodi-screensaver-asteroids" depends on BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_GLM help Asteroids screensaver for Kodi - https://github.com/notspiff/screensaver.asteroids + https://github.com/xbmc/screensaver.asteroids comment "kodi-screensaver-asteroids needs OpenGL" depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash index 7d105beebe..00d40413b6 100644 --- a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash +++ b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 2e072e6aad12f707dec1e70b7df26c590bb41fed8880dcfdbe6c99949b7e287a kodi-screensaver-asteroids-v1.1.2.tar.gz +sha256 c359f8bb6a2e9b42dcfb063cdf965ce0b3fc95761816d98160000aea33894241 kodi-screensaver-asteroids-2.3.2-Leia.tar.gz +sha256 297a1d34e6000f1b1a924f5ab75c16c2270968bfa47357dd8fa3799c9dfc47d8 debian/copyright diff --git a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk index 46df2e76a0..278efb4eea 100644 --- a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk +++ b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_ASTEROIDS_VERSION = v1.1.2 -KODI_SCREENSAVER_ASTEROIDS_SITE = $(call github,notspiff,screensaver.asteroids,$(KODI_SCREENSAVER_ASTEROIDS_VERSION)) +KODI_SCREENSAVER_ASTEROIDS_VERSION = 2.3.2-Leia +KODI_SCREENSAVER_ASTEROIDS_SITE = $(call github,xbmc,screensaver.asteroids,$(KODI_SCREENSAVER_ASTEROIDS_VERSION)) KODI_SCREENSAVER_ASTEROIDS_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_ASTEROIDS_LICENSE_FILES = src/main.cpp -KODI_SCREENSAVER_ASTEROIDS_DEPENDENCIES = kodi +KODI_SCREENSAVER_ASTEROIDS_LICENSE_FILES = debian/copyright +KODI_SCREENSAVER_ASTEROIDS_DEPENDENCIES = glm kodi $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-asterwave/Config.in b/package/kodi-screensaver-asterwave/Config.in index bd5db738ca..b5e80cc535 100644 --- a/package/kodi-screensaver-asterwave/Config.in +++ b/package/kodi-screensaver-asterwave/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_ASTERWAVE help AsterWave screensaver for Kodi - https://github.com/notspiff/screensaver.asterwave + https://github.com/xbmc/screensaver.asterwave comment "kodi-screensaver-asterwave needs OpenGL" depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash index f8f6d7b2fb..c320215e54 100644 --- a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash +++ b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 48cd459b60b2407b8bae9107760a013d04ee29e00fddbce9550291896d42ef64 kodi-screensaver-asterwave-v1.1.0.tar.gz +sha256 44fb4189afefec6ab5cff04d205425bed26b127c02625ae176b409cb67207e5f kodi-screensaver-asterwave-3.0.4-Leia.tar.gz +sha256 a0268e081014f3a555be39f7eb0fff759424963324915ad2ea56bf26668685e7 debian/copyright diff --git a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk index b8c3a2adfa..794e772fb0 100644 --- a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk +++ b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk @@ -4,8 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_ASTERWAVE_VERSION = v1.1.0 -KODI_SCREENSAVER_ASTERWAVE_SITE = $(call github,notspiff,screensaver.asterwave,$(KODI_SCREENSAVER_ASTERWAVE_VERSION)) +KODI_SCREENSAVER_ASTERWAVE_VERSION = 3.0.4-Leia +KODI_SCREENSAVER_ASTERWAVE_SITE = $(call github,xbmc,screensaver.asterwave,$(KODI_SCREENSAVER_ASTERWAVE_VERSION)) +KODI_SCREENSAVER_ASTERWAVE_LICENSE = GPL-2.0+ +KODI_SCREENSAVER_ASTERWAVE_LICENSE_FILES = debian/copyright KODI_SCREENSAVER_ASTERWAVE_DEPENDENCIES = kodi libglu libsoil $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-biogenesis/Config.in b/package/kodi-screensaver-biogenesis/Config.in index cdc2d91951..9703e9091b 100644 --- a/package/kodi-screensaver-biogenesis/Config.in +++ b/package/kodi-screensaver-biogenesis/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_BIOGENESIS help BioGenesis screensaver for Kodi - https://github.com/notspiff/screensaver.biogenesis + https://github.com/xbmc/screensaver.biogenesis comment "kodi-screensaver-biogenesis needs OpenGL" depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash index 63b9d3c93a..df07f9fbc5 100644 --- a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash +++ b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 b97dc804261b19df725e0a9f1af3be6903226ae616fcac170f7b9c1a67bf811a kodi-screensaver-biogenesis-v1.1.0.tar.gz +sha256 b0f721d112282f633a769e7b077c5dd52e5045a8f1ae32c4e602b0e2e937acb0 kodi-screensaver-biogenesis-2.2.3-Leia.tar.gz +sha256 d38b9e2768b49acdedcb21a202d12753c8f1d7e85e5ee24ff1e4aee3c7601a65 debian/copyright diff --git a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk index c5ebd85596..562c279ec6 100644 --- a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk +++ b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_BIOGENESIS_VERSION = v1.1.0 -KODI_SCREENSAVER_BIOGENESIS_SITE = $(call github,notspiff,screensaver.biogenesis,$(KODI_SCREENSAVER_BIOGENESIS_VERSION)) +KODI_SCREENSAVER_BIOGENESIS_VERSION = 2.2.3-Leia +KODI_SCREENSAVER_BIOGENESIS_SITE = $(call github,xbmc,screensaver.biogenesis,$(KODI_SCREENSAVER_BIOGENESIS_VERSION)) KODI_SCREENSAVER_BIOGENESIS_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_BIOGENESIS_LICENSE_FILES = src/Life.cpp +KODI_SCREENSAVER_BIOGENESIS_LICENSE_FILES = debian/copyright KODI_SCREENSAVER_BIOGENESIS_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-cpblobs/Config.in b/package/kodi-screensaver-cpblobs/Config.in index e80ea0ebb3..4e0003bddc 100644 --- a/package/kodi-screensaver-cpblobs/Config.in +++ b/package/kodi-screensaver-cpblobs/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_CPBLOBS help CpBlobs screensaver for Kodi - https://github.com/notspiff/screensaver.cpblobs + https://github.com/xbmc/screensaver.cpblobs comment "kodi-screensaver-cpblobs needs OpenGL" depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash index 21443d82bf..f73932d269 100644 --- a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash +++ b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 1ca5e4de61251de7e420dc6ded3156960f9bb52ed7ff0243f305768147d470e3 kodi-screensaver-cpblobs-v1.1.0.tar.gz +sha256 8234240670c8cd0feb61536e08058a1ec2122dc638dcc4bf328fad8d70b3d4c6 kodi-screensaver-cpblobs-3.0.4-Leia.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk index 63a8dfa8cf..f64fe3e55d 100644 --- a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk +++ b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk @@ -4,8 +4,8 @@ # ################################################################################ -KODI_SCREENSAVER_CPBLOBS_VERSION = v1.1.0 -KODI_SCREENSAVER_CPBLOBS_SITE = $(call github,notspiff,screensaver.cpblobs,$(KODI_SCREENSAVER_CPBLOBS_VERSION)) +KODI_SCREENSAVER_CPBLOBS_VERSION = 3.0.4-Leia +KODI_SCREENSAVER_CPBLOBS_SITE = $(call github,xbmc,screensaver.cpblobs,$(KODI_SCREENSAVER_CPBLOBS_VERSION)) KODI_SCREENSAVER_CPBLOBS_LICENSE = GPL-2.0 KODI_SCREENSAVER_CPBLOBS_LICENSE_FILES = LICENSE KODI_SCREENSAVER_CPBLOBS_DEPENDENCIES = kodi libsoil diff --git a/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.hash b/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.hash index ff9d6d0244..407093f196 100644 --- a/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.hash +++ b/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 a8400c8d8be0fe0ba616ad1d0ef5fd798980a9dd4e38ef88bee9bf74a06975d5 kodi-screensaver-crystalmorph-1dc9bf3f57cc2c5345efec64d9499c3bf8f7bd6e.tar.gz +sha256 d8ed548222f1118964104fefc8ac3056dfe6c9d2ee35cd7c8355c9ea9fcaffc5 kodi-screensaver-crystalmorph-4439c84c38abf889e19a1863e745942c0d7f8203.tar.gz +sha256 febce1924ed772f22ec3fabec646b1401aad4f4a81a7f1baeb858f27ae4f5241 src/Fractal.cpp diff --git a/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.mk b/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.mk index 83629e41ca..35642d5580 100644 --- a/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.mk +++ b/package/kodi-screensaver-crystalmorph/kodi-screensaver-crystalmorph.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_SCREENSAVER_CRYSTALMORPH_VERSION = 1dc9bf3f57cc2c5345efec64d9499c3bf8f7bd6e +KODI_SCREENSAVER_CRYSTALMORPH_VERSION = 4439c84c38abf889e19a1863e745942c0d7f8203 KODI_SCREENSAVER_CRYSTALMORPH_SITE = $(call github,notspiff,screensaver.crystalmorph,$(KODI_SCREENSAVER_CRYSTALMORPH_VERSION)) KODI_SCREENSAVER_CRYSTALMORPH_LICENSE = GPL-2.0+ KODI_SCREENSAVER_CRYSTALMORPH_LICENSE_FILES = src/Fractal.cpp diff --git a/package/kodi-screensaver-greynetic/Config.in b/package/kodi-screensaver-greynetic/Config.in index ce636b8271..685feb8872 100644 --- a/package/kodi-screensaver-greynetic/Config.in +++ b/package/kodi-screensaver-greynetic/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_GREYNETIC help Greynetic screensaver for Kodi - https://github.com/notspiff/screensaver.greynetic + https://github.com/xbmc/screensaver.greynetic comment "kodi-screensaver-greynetic needs OpenGL" depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash index 212aee663c..814d139689 100644 --- a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash +++ b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 55a77487f02d282e8431e64de3cb263489037c2374a4b9cdd7aa189093e7621f kodi-screensaver-greynetic-v1.1.0.tar.gz +sha256 02114c9c7467cba26ce93090ee66c015dd74fc1f0d74b46e609e53d1fd8fd218 kodi-screensaver-greynetic-2.2.2-Leia.tar.gz +sha256 2905fdee5c68dc4944c42711d45f47794e8fb881bd67d66d0875d10f9a2156a0 debian/copyright diff --git a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk index 66435eb270..21cbe23a64 100644 --- a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk +++ b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_GREYNETIC_VERSION = v1.1.0 -KODI_SCREENSAVER_GREYNETIC_SITE = $(call github,notspiff,screensaver.greynetic,$(KODI_SCREENSAVER_GREYNETIC_VERSION)) +KODI_SCREENSAVER_GREYNETIC_VERSION = 2.2.2-Leia +KODI_SCREENSAVER_GREYNETIC_SITE = $(call github,xbmc,screensaver.greynetic,$(KODI_SCREENSAVER_GREYNETIC_VERSION)) KODI_SCREENSAVER_GREYNETIC_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_GREYNETIC_LICENSE_FILES = src/GreyNetic.cpp +KODI_SCREENSAVER_GREYNETIC_LICENSE_FILES = debian/copyright KODI_SCREENSAVER_GREYNETIC_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-matrixtrails/0001-Add-missing-stddef-include.patch b/package/kodi-screensaver-matrixtrails/0001-Add-missing-stddef-include.patch new file mode 100644 index 0000000000..75cadfcb1e --- /dev/null +++ b/package/kodi-screensaver-matrixtrails/0001-Add-missing-stddef-include.patch @@ -0,0 +1,25 @@ +From 404763f096a312e12c0dc4764834987797411745 Mon Sep 17 00:00:00 2001 +From: Rechi +Date: Sun, 24 Mar 2019 11:44:05 +0100 +Subject: [PATCH] [fix] add missing stddef.h include for offsetof macro + +Downloaded from upstream commit: +https://github.com/xbmc/screensaver.matrixtrails/commit/404763f096a312e12c0dc4764834987797411745 + +Signed-off-by: Bernd Kuhls +--- + src/matrixtrails.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/matrixtrails.cpp b/src/matrixtrails.cpp +index 220855a..2817dbe 100644 +--- a/src/matrixtrails.cpp ++++ b/src/matrixtrails.cpp +@@ -25,6 +25,7 @@ + #include "matrixtrails.h" + #include "SOIL2/SOIL2.h" + ++#include + #include + + //////////////////////////////////////////////////////////////////////////// diff --git a/package/kodi-screensaver-matrixtrails/Config.in b/package/kodi-screensaver-matrixtrails/Config.in index e2d3f71acf..270a51c9f4 100644 --- a/package/kodi-screensaver-matrixtrails/Config.in +++ b/package/kodi-screensaver-matrixtrails/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_MATRIXTRAILS help Matrix trails screensaver for Kodi - https://github.com/notspiff/screensaver.matrixtrails + https://github.com/xbmc/screensaver.matrixtrails comment "kodi-screensaver-matrixtrails needs OpenGL" depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash index 55deabea1e..9a657a10dd 100644 --- a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash +++ b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 2b531f51b86536df2a5268547e3d1b7fabc8a1dc930808b46685afcc455bb8fa kodi-screensaver-matrixtrails-v1.1.0.tar.gz +sha256 2d2c795853c5a72184bb6720247d79c48b1d9fbc97e9c2913003a707d612e3ac kodi-screensaver-matrixtrails-2.2.1-Leia.tar.gz +sha256 4cfbc2bc766d343a70ba0322bc7203332c232ba57b62fb57a0ee9189cca4ac27 debian/copyright diff --git a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk index 142e48dc76..937c43d8fc 100644 --- a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk +++ b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk @@ -4,11 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_MATRIXTRAILS_VERSION = v1.1.0 -KODI_SCREENSAVER_MATRIXTRAILS_SITE = $(call github,notspiff,screensaver.matrixtrails,$(KODI_SCREENSAVER_MATRIXTRAILS_VERSION)) +KODI_SCREENSAVER_MATRIXTRAILS_VERSION = 2.2.1-Leia +KODI_SCREENSAVER_MATRIXTRAILS_SITE = $(call github,xbmc,screensaver.matrixtrails,v$(KODI_SCREENSAVER_MATRIXTRAILS_VERSION)) KODI_SCREENSAVER_MATRIXTRAILS_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_MATRIXTRAILS_LICENSE_FILES = src/matrixtrails.cpp - +KODI_SCREENSAVER_MATRIXTRAILS_LICENSE_FILES = debian/copyright KODI_SCREENSAVER_MATRIXTRAILS_DEPENDENCIES = kodi libsoil $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-pingpong/Config.in b/package/kodi-screensaver-pingpong/Config.in index 3971052b94..bc76fffd6e 100644 --- a/package/kodi-screensaver-pingpong/Config.in +++ b/package/kodi-screensaver-pingpong/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_PINGPONG help Ping-pong screensaver for Kodi - https://github.com/notspiff/screensaver.pingpong + https://github.com/xbmc/screensaver.pingpong comment "kodi-screensaver-pingpong needs OpenGL" depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash index aad8314bdd..6374f3aff1 100644 --- a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash +++ b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 99e9cbc3815d4e3dad964b2d233dbf6acc4416121398f7fca75f3811cb04d88f kodi-screensaver-pingpong-v1.1.0.tar.gz +sha256 618a7dfc85961c803b6292cea9004bdb71566e10a32aec2870cd29775681a808 kodi-screensaver-pingpong-2.1.2-Leia.tar.gz +sha256 96e9b817ea6384e3d2c5241c8a0504df11d6f8bd0a2f58f25df7152da64f263c debian/copyright diff --git a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk index 8b6426dae4..12d9430651 100644 --- a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk +++ b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_PINGPONG_VERSION = v1.1.0 -KODI_SCREENSAVER_PINGPONG_SITE = $(call github,notspiff,screensaver.pingpong,$(KODI_SCREENSAVER_PINGPONG_VERSION)) +KODI_SCREENSAVER_PINGPONG_VERSION = 2.1.2-Leia +KODI_SCREENSAVER_PINGPONG_SITE = $(call github,xbmc,screensaver.pingpong,$(KODI_SCREENSAVER_PINGPONG_VERSION)) KODI_SCREENSAVER_PINGPONG_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_PINGPONG_LICENSE_FILES = src/readme.txt +KODI_SCREENSAVER_PINGPONG_LICENSE_FILES = debian/copyright KODI_SCREENSAVER_PINGPONG_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-planestate/Config.in b/package/kodi-screensaver-planestate/Config.in deleted file mode 100644 index b63d70e641..0000000000 --- a/package/kodi-screensaver-planestate/Config.in +++ /dev/null @@ -1,11 +0,0 @@ -config BR2_PACKAGE_KODI_SCREENSAVER_PLANESTATE - bool "kodi-screensaver-planestate" - depends on BR2_PACKAGE_HAS_LIBGL # libsoil - select BR2_PACKAGE_LIBSOIL - help - PlaneState screensaver for Kodi - - https://github.com/notspiff/screensaver.planestate - -comment "kodi-screensaver-planestate needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-planestate/kodi-screensaver-planestate.hash b/package/kodi-screensaver-planestate/kodi-screensaver-planestate.hash deleted file mode 100644 index de5f6cf5d3..0000000000 --- a/package/kodi-screensaver-planestate/kodi-screensaver-planestate.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed -sha256 6059630e56bd022a27f73fe7c94fcf6a66792e7bb10f54a7893f536c23b95b99 kodi-screensaver-planestate-5341406dd05439a1a0245ab3f6d1a8964461d0e5.tar.gz diff --git a/package/kodi-screensaver-planestate/kodi-screensaver-planestate.mk b/package/kodi-screensaver-planestate/kodi-screensaver-planestate.mk deleted file mode 100644 index 0e90ffc5d1..0000000000 --- a/package/kodi-screensaver-planestate/kodi-screensaver-planestate.mk +++ /dev/null @@ -1,11 +0,0 @@ -################################################################################ -# -# kodi-screensaver-planestate -# -################################################################################ - -KODI_SCREENSAVER_PLANESTATE_VERSION = 5341406dd05439a1a0245ab3f6d1a8964461d0e5 -KODI_SCREENSAVER_PLANESTATE_SITE = $(call github,notspiff,screensaver.planestate,$(KODI_SCREENSAVER_PLANESTATE_VERSION)) -KODI_SCREENSAVER_PLANESTATE_DEPENDENCIES = kodi libsoil - -$(eval $(cmake-package)) diff --git a/package/kodi-screensaver-pyro/Config.in b/package/kodi-screensaver-pyro/Config.in index 982542d5a3..e2d1988ec5 100644 --- a/package/kodi-screensaver-pyro/Config.in +++ b/package/kodi-screensaver-pyro/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_PYRO help Pyro screensaver for Kodi - https://github.com/notspiff/screensaver.pyro + https://github.com/xbmc/screensaver.pyro comment "kodi-screensaver-pyro needs OpenGL" depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash index a16ee8e092..f35a62a08d 100644 --- a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash +++ b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 0dcaed581ffe5595878338a8c9c55bd7acc87e03d30a4d3ca4a03c3f8db66ddc kodi-screensaver-pyro-v1.1.0.tar.gz +sha256 cf9ed582b70460682175366641e6a00eaea085a1d3477a02710ba8398a1d17bd kodi-screensaver-pyro-3.0.1-Leia.tar.gz +sha256 24354cf1e6058ba0a95c7652eab9f1be2224c835ce36d14e82c0f401f65a53b7 debian/copyright diff --git a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk index bc50118302..8a6ea93e83 100644 --- a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk +++ b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_PYRO_VERSION = v1.1.0 -KODI_SCREENSAVER_PYRO_SITE = $(call github,notspiff,screensaver.pyro,$(KODI_SCREENSAVER_PYRO_VERSION)) +KODI_SCREENSAVER_PYRO_VERSION = 3.0.1-Leia +KODI_SCREENSAVER_PYRO_SITE = $(call github,xbmc,screensaver.pyro,$(KODI_SCREENSAVER_PYRO_VERSION)) KODI_SCREENSAVER_PYRO_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_PYRO_LICENSE_FILES = src/Pyro.cpp +KODI_SCREENSAVER_PYRO_LICENSE_FILES = debian/copyright KODI_SCREENSAVER_PYRO_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-rsxs/0001-Disable-drempels.patch b/package/kodi-screensaver-rsxs/0001-Disable-drempels.patch new file mode 100644 index 0000000000..e76a9b9943 --- /dev/null +++ b/package/kodi-screensaver-rsxs/0001-Disable-drempels.patch @@ -0,0 +1,40 @@ +From 28c01686ba0d67d317e058776f01efba5e6471bd Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 13 Jul 2019 14:18:12 +0200 +Subject: [PATCH] Disable drempels + +Does not build with ImageMagick 7.x: + +src/drempels/TexMgr.cpp:31:10: fatal error: magick/api.h: + No such file or directory + +Signed-off-by: Bernd Kuhls +--- + CMakeLists.txt | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a86ccd0..b5ca03f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -40,8 +40,7 @@ include_directories(${KODI_INCLUDE_DIR}/.. # Hack way with "/..", need bigger Ko + if(ImageMagick_FOUND AND NOT ${OWN_IMAGE_MAGICK}) + message(STATUS "ImageMagick found in the system and is used") + else() +- message(STATUS "ImageMagick not found or forced and add custom created") +- add_subdirectory(lib/ImageMagick) ++ message(STATUS "ImageMagick not found") + endif() + add_subdirectory(lib/kodi/gui/gl) + add_subdirectory(lib/Implicit) +@@ -70,7 +69,6 @@ include(src/biof/CMakeLists.txt) + include(src/busyspheres/CMakeLists.txt) + include(src/colorfire/CMakeLists.txt) + include(src/cyclone/CMakeLists.txt) +-include(src/drempels/CMakeLists.txt) + include(src/euphoria/CMakeLists.txt) + include(src/feedback/CMakeLists.txt) + include(src/fieldlines/CMakeLists.txt) +-- +2.20.1 + diff --git a/package/kodi-screensaver-rsxs/0001-cross-compile.patch b/package/kodi-screensaver-rsxs/0001-cross-compile.patch deleted file mode 100644 index a7b2053d76..0000000000 --- a/package/kodi-screensaver-rsxs/0001-cross-compile.patch +++ /dev/null @@ -1,37 +0,0 @@ -Fix cross-compilation - -Use the cross-compiler and not the host version. - -Patch sent upstream: -https://github.com/notspiff/screensavers.rsxs/pull/5 - -Signed-off-by: Bernd Kuhls - -diff -uNr screensavers.rsxs-195e0ec3fbbcb2ee2012cd560e42d05167f0f259.org/CMakeLists.txt screensavers.rsxs-195e0ec3fbbcb2ee2012cd560e42d05167f0f259/CMakeLists.txt ---- screensavers.rsxs-195e0ec3fbbcb2ee2012cd560e42d05167f0f259.org/CMakeLists.txt 2015-03-19 12:20:23.000000000 +0100 -+++ screensavers.rsxs-195e0ec3fbbcb2ee2012cd560e42d05167f0f259/CMakeLists.txt 2015-07-19 20:26:16.660481032 +0200 -@@ -33,6 +33,11 @@ - ${PROJECT_SOURCE_DIR}/${rsxs_dir}/src/skyrocket - ${PROJECT_SOURCE_DIR}/${rsxs_dir}/src/solarwinds) - -+ -+get_filename_component( COMPILER_FILENAME "${CMAKE_C_COMPILER}" NAME ) -+string( REGEX REPLACE "-[^-]+$" "" -+ TOOLCHAIN_NAME "${COMPILER_FILENAME}" ) -+ - include(ExternalProject) - set(update_command "") - if(BOOTSTRAP_IN_TREE OR NOT DEFINED BOOTSTRAP_IN_TREE) -@@ -46,8 +51,11 @@ - endif() - endif() - externalproject_add(rsxs SOURCE_DIR ${PROJECT_SOURCE_DIR}/${rsxs_dir} -- CONFIGURE_COMMAND ${configure_start} -+ CONFIGURE_COMMAND gl_cv_func_gettimeofday_clobber=no ac_cv_type__Bool=yes -+ ac_cv_func_malloc_0_nonnull=yes -+ ${configure_start} - --prefix= -+ --host=${TOOLCHAIN_NAME} - --without-xscreensaver - --disable-cyclone - --disable-euphoria diff --git a/package/kodi-screensaver-rsxs/0002-fix-default-include-dir.patch b/package/kodi-screensaver-rsxs/0002-fix-default-include-dir.patch deleted file mode 100644 index a7e7c74b0f..0000000000 --- a/package/kodi-screensaver-rsxs/0002-fix-default-include-dir.patch +++ /dev/null @@ -1,28 +0,0 @@ -Fix X include path to prevent error during configure - -Downloaded from -https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/mediacenter/kodi-binary-addons/screensavers.rsxs/patches/screensavers.rsxs-0002-fix-default-include-dir.patch - -Signed-off-by: Bernd Kuhls - -diff -Naur screensavers.rsxs-3241d29.orig/CMakeLists.txt screensavers.rsxs-3241d29/CMakeLists.txt ---- screensavers.rsxs-3241d29.orig/CMakeLists.txt 2015-10-22 23:59:38.187280475 -0700 -+++ screensavers.rsxs-3241d29/CMakeLists.txt 2015-10-23 00:00:27.228113829 -0700 -@@ -17,7 +17,7 @@ - include_directories(${OpenGL_INCLUDE_DIR} - ${PNG_INCLUDE_DIR} - ${KODI_INCLUDE_DIR} -- ${X_INCLUDE_DIRS} -+ ${X_INCLUDE_DIR} - ${CMAKE_BINARY_DIR}/rsxs-prefix/src/rsxs-build - ${PROJECT_SOURCE_DIR}/${rsxs_dir}/src - ${PROJECT_SOURCE_DIR}/${rsxs_dir}/lib -@@ -67,7 +67,7 @@ - --disable-skyrocket - --disable-solarwinds - --disable-sound -- --x-includes=${X_INCLUDE_DIRS} -+ --x-includes=${X_INCLUDE_DIR} - --x-libraries=${X_LIBRARIES} - ${PNG_PATH} - ${EXTRA_FLAGS} diff --git a/package/kodi-screensaver-rsxs/Config.in b/package/kodi-screensaver-rsxs/Config.in index c523ce5a1c..076c7effa0 100644 --- a/package/kodi-screensaver-rsxs/Config.in +++ b/package/kodi-screensaver-rsxs/Config.in @@ -1,13 +1,17 @@ config BR2_PACKAGE_KODI_SCREENSAVER_RSXS bool "kodi-screensaver-rsxs" depends on BR2_PACKAGE_HAS_LIBGL # libglu - depends on BR2_PACKAGE_XORG7 # xlib_libXmu + select BR2_PACKAGE_BZIP2 + select BR2_PACKAGE_GLI + select BR2_PACKAGE_GLM + select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBPNG - select BR2_PACKAGE_XLIB_LIBXMU + select BR2_PACKAGE_LIBTOOL + select BR2_PACKAGE_TIFF help RSXS screensaver add-ons for Kodi - https://github.com/notspiff/screensavers.rsxs + https://github.com/xbmc/screensavers.rsxs -comment "kodi-screensaver-rsxs depends on X.org and needs OpenGL" - depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGL +comment "kodi-screensaver-rsxs needs an OpenGL backend" + depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash index 66d79a06f3..8f34b349e7 100644 --- a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash +++ b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 8436c29d2f42bc65ff6f1abc2f1d05a613cc2ebb16d793e02b1f2bee296952a6 kodi-screensaver-rsxs-v1.3.0.tar.gz +sha256 22ff3f0ca9679c59ce1a90b98d918dd10a8012b789729b2e44c04d4ce8c86ad8 kodi-screensaver-rsxs-7cb648507440d87948dec10d5bfdab3b722d37fe.tar.gz +sha256 fa0ff8b6a6267b9477be7d505aa384056633b4be17e0b9d308df9bd70d1c99f6 debian/copyright diff --git a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk index 8445bf88d8..aa881d0d59 100644 --- a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk +++ b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_RSXS_VERSION = v1.3.0 -KODI_SCREENSAVER_RSXS_SITE = $(call github,notspiff,screensavers.rsxs,$(KODI_SCREENSAVER_RSXS_VERSION)) -KODI_SCREENSAVER_RSXS_LICENSE = GPL-3.0 -KODI_SCREENSAVER_RSXS_LICENSE_FILES = lib/rsxs-1.0/COPYING -KODI_SCREENSAVER_RSXS_DEPENDENCIES = kodi libpng xlib_libXmu +KODI_SCREENSAVER_RSXS_VERSION = 7cb648507440d87948dec10d5bfdab3b722d37fe +KODI_SCREENSAVER_RSXS_SITE = $(call github,xbmc,screensavers.rsxs,$(KODI_SCREENSAVER_RSXS_VERSION)) +KODI_SCREENSAVER_RSXS_LICENSE = GPL-2.0+ +KODI_SCREENSAVER_RSXS_LICENSE_FILES = debian/copyright +KODI_SCREENSAVER_RSXS_DEPENDENCIES = bzip2 gli glm jpeg kodi libpng libtool tiff $(eval $(cmake-package)) diff --git a/package/kodi-screensaver-stars/Config.in b/package/kodi-screensaver-stars/Config.in index bcfb47b2cc..a2e435c0f6 100644 --- a/package/kodi-screensaver-stars/Config.in +++ b/package/kodi-screensaver-stars/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_KODI_SCREENSAVER_STARS help Starfield screensaver for Kodi - https://github.com/notspiff/screensaver.stars + https://github.com/xbmc/screensaver.stars comment "kodi-screensaver-stars needs OpenGL" depends on !BR2_PACKAGE_HAS_LIBGL diff --git a/package/kodi-screensaver-stars/kodi-screensaver-stars.hash b/package/kodi-screensaver-stars/kodi-screensaver-stars.hash index 7f8c9aefd0..9d6ce8aaf9 100644 --- a/package/kodi-screensaver-stars/kodi-screensaver-stars.hash +++ b/package/kodi-screensaver-stars/kodi-screensaver-stars.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 525caac94fd2bd858daf9fa7719eea4181c168e5c692bb896689625bf4437d32 kodi-screensaver-stars-v1.1.0.tar.gz +sha256 98972a9af45015d902ade50db822dbded52d4473acde6bc4b01a5ab8c4af4269 kodi-screensaver-stars-2.1.4-Leia.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-screensaver-stars/kodi-screensaver-stars.mk b/package/kodi-screensaver-stars/kodi-screensaver-stars.mk index e94670c6ff..ca51921b50 100644 --- a/package/kodi-screensaver-stars/kodi-screensaver-stars.mk +++ b/package/kodi-screensaver-stars/kodi-screensaver-stars.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_SCREENSAVER_STARS_VERSION = v1.1.0 -KODI_SCREENSAVER_STARS_SITE = $(call github,notspiff,screensaver.stars,$(KODI_SCREENSAVER_STARS_VERSION)) +KODI_SCREENSAVER_STARS_VERSION = 2.1.4-Leia +KODI_SCREENSAVER_STARS_SITE = $(call github,xbmc,screensaver.stars,$(KODI_SCREENSAVER_STARS_VERSION)) KODI_SCREENSAVER_STARS_LICENSE = GPL-2.0+ -KODI_SCREENSAVER_STARS_LICENSE_FILES = src/StarField.cpp +KODI_SCREENSAVER_STARS_LICENSE_FILES = LICENSE.md KODI_SCREENSAVER_STARS_DEPENDENCIES = kodi $(eval $(cmake-package)) diff --git a/package/kodi-skin-confluence/kodi-skin-confluence.hash b/package/kodi-skin-confluence/kodi-skin-confluence.hash index 2dabbbd4c2..113548bf64 100644 --- a/package/kodi-skin-confluence/kodi-skin-confluence.hash +++ b/package/kodi-skin-confluence/kodi-skin-confluence.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 1fa8ebeec269e678111f64bec373d98e34b4ba1b32e583a505431b2562910ba0 kodi-skin-confluence-37bba429adc16d49a07add08de406682e1cc673a.tar.gz +sha256 dc4a0abf05db50caf8e70e4904b8c2c445008ec3d6d23381c9c31dedaf6109de kodi-skin-confluence-cffcb8320003e6048abe4b26316e5d5f3d50eac9.tar.gz +sha256 89931c1fb1f3716694175763cf3221cfcd63d6935031cf6b4512d17ffe5d9860 LICENSE.txt diff --git a/package/kodi-skin-confluence/kodi-skin-confluence.mk b/package/kodi-skin-confluence/kodi-skin-confluence.mk index e9cdf3fbf7..d9bd10bdfa 100644 --- a/package/kodi-skin-confluence/kodi-skin-confluence.mk +++ b/package/kodi-skin-confluence/kodi-skin-confluence.mk @@ -4,9 +4,7 @@ # ################################################################################ -# This cset is on the branch 'krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_SKIN_CONFLUENCE_VERSION = 37bba429adc16d49a07add08de406682e1cc673a +KODI_SKIN_CONFLUENCE_VERSION = cffcb8320003e6048abe4b26316e5d5f3d50eac9 KODI_SKIN_CONFLUENCE_SITE = $(call github,xbmc,skin.confluence,$(KODI_SKIN_CONFLUENCE_VERSION)) KODI_SKIN_CONFLUENCE_LICENSE = GPL-2.0 KODI_SKIN_CONFLUENCE_LICENSE_FILES = LICENSE.txt diff --git a/package/kodi-texturepacker/0002-fix-texture-packer-cmake-source-dir.patch b/package/kodi-texturepacker/0002-fix-texture-packer-cmake-source-dir.patch new file mode 100644 index 0000000000..ddd82439fe --- /dev/null +++ b/package/kodi-texturepacker/0002-fix-texture-packer-cmake-source-dir.patch @@ -0,0 +1,27 @@ +Fix stand-alone build + +CMake Error at CMakeLists.txt:40 (add_executable): + Cannot find source file: + + /home/bernd/buildroot/output/build/host-kodi-texturepacker-18.4-Leia/tools/depends/native/TexturePacker/xbmc/guilib/XBTF.cpp + + Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm + .hpp .hxx .in .txx + +CMake Error at CMakeLists.txt:40 (add_executable): + No SOURCES given to target: TexturePacker + +Downloaded from +https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/mediacenter/kodi/patches/kodi-100.25-hack-fix-texture-packer-cmake-source-dir.patch + +Signed-off-by: Bernd Kuhls + +diff -Naur a/tools/depends/native/TexturePacker/CMakeLists.txt b/tools/depends/native/TexturePacker/CMakeLists.txt +--- a/tools/depends/native/TexturePacker/CMakeLists.txt 2016-12-23 17:10:28.593185862 +0000 ++++ b/tools/depends/native/TexturePacker/CMakeLists.txt 2016-12-23 17:10:39.469253011 +0000 +@@ -1,3 +1,5 @@ ++set(CMAKE_SOURCE_DIR ${CMAKE_SOURCE_DIR}/../../../..) ++ + list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules) + + if(APPLE) diff --git a/package/kodi-texturepacker/0002-fix_reallocarray.patch b/package/kodi-texturepacker/0002-fix_reallocarray.patch deleted file mode 100644 index e32d09ef53..0000000000 --- a/package/kodi-texturepacker/0002-fix_reallocarray.patch +++ /dev/null @@ -1,170 +0,0 @@ -From ebc5dfcad836936a14e6f18fd7faa377b3c804e7 Mon Sep 17 00:00:00 2001 -From: MilhouseVH -Date: Mon, 6 Nov 2017 11:47:28 +0000 -Subject: [PATCH] TexturePacker: use C++ headers - -Signed-off-by: Dagg Stompler ---- - tools/depends/native/TexturePacker/src/SimpleFS.h | 4 ++-- - tools/depends/native/TexturePacker/src/TexturePacker.cpp | 2 +- - tools/depends/native/TexturePacker/src/XBTFWriter.cpp | 6 +++--- - tools/depends/native/TexturePacker/src/XBTFWriter.h | 2 +- - tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp | 2 +- - tools/depends/native/TexturePacker/src/md5.h | 4 ++-- - 6 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/tools/depends/native/TexturePacker/src/SimpleFS.h b/tools/depends/native/TexturePacker/src/SimpleFS.h -index c48814c0ad..c2288cf8de 100644 ---- a/tools/depends/native/TexturePacker/src/SimpleFS.h -+++ b/tools/depends/native/TexturePacker/src/SimpleFS.h -@@ -20,9 +20,9 @@ - * - */ - --#include -+#include - #include --#include -+#include - - class CFile - { -diff --git a/tools/depends/native/TexturePacker/src/TexturePacker.cpp b/tools/depends/native/TexturePacker/src/TexturePacker.cpp -index ba618be574..045c5ce38d 100644 ---- a/tools/depends/native/TexturePacker/src/TexturePacker.cpp -+++ b/tools/depends/native/TexturePacker/src/TexturePacker.cpp -@@ -22,7 +22,7 @@ - #include - #include - #define __STDC_FORMAT_MACROS --#include -+#include - #define platform_stricmp _stricmp - #else - #define platform_stricmp stricmp -diff --git a/tools/depends/native/TexturePacker/src/XBTFWriter.cpp b/tools/depends/native/TexturePacker/src/XBTFWriter.cpp -index 9e2493369b..2e80ba674c 100644 ---- a/tools/depends/native/TexturePacker/src/XBTFWriter.cpp -+++ b/tools/depends/native/TexturePacker/src/XBTFWriter.cpp -@@ -19,14 +19,14 @@ - */ - - #define __STDC_FORMAT_MACROS --#include -+#include - #if defined(TARGET_FREEBSD) || defined(TARGET_DARWIN) --#include -+#include - #elif !defined(TARGET_DARWIN) - #include - #endif - #include --#include -+#include - - #include "XBTFWriter.h" - #include "guilib/XBTFReader.h" -diff --git a/tools/depends/native/TexturePacker/src/XBTFWriter.h b/tools/depends/native/TexturePacker/src/XBTFWriter.h -index 7509303a51..d5cf1a2965 100644 ---- a/tools/depends/native/TexturePacker/src/XBTFWriter.h -+++ b/tools/depends/native/TexturePacker/src/XBTFWriter.h -@@ -23,7 +23,7 @@ - - #include - #include --#include -+#include - - #include "guilib/XBTF.h" - -diff --git a/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp b/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp -index 56c22f7c3a..3ddb20fe88 100644 ---- a/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp -+++ b/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp -@@ -20,7 +20,7 @@ - - #include "GifHelper.h" - #include --#include -+#include - #include - - #define UNSIGNED_LITTLE_ENDIAN(lo, hi) ((lo) | ((hi) << 8)) -diff --git a/tools/depends/native/TexturePacker/src/md5.h b/tools/depends/native/TexturePacker/src/md5.h -index 456e5be17f..4bb48e0810 100644 ---- a/tools/depends/native/TexturePacker/src/md5.h -+++ b/tools/depends/native/TexturePacker/src/md5.h -@@ -23,8 +23,8 @@ - #ifndef MD5_H - #define MD5_H - --#include /* for memcpy() */ --#include -+#include /* for memcpy() */ -+#include - - struct MD5Context - { --- -2.16.0 - -From ff3e6dad5fdb7b9a2985b2547c8020c709af0340 Mon Sep 17 00:00:00 2001 -From: MilhouseVH -Date: Mon, 6 Nov 2017 18:05:17 +0000 -Subject: [PATCH] TexturePacker: drop unused variable - ---- - tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp b/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp -index 53f5e9beb7..b0f18bed68 100644 ---- a/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp -+++ b/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp -@@ -72,7 +72,6 @@ bool JPGDecoder::LoadFile(const std::string &filename, DecodedFrames &frames) - struct jpeg_decompress_struct cinfo; - struct jpeg_error_mgr jerr; - -- char *linha; - int ImageSize; - - cinfo.err = jpeg_std_error(&jerr); -@@ -89,7 +88,6 @@ bool JPGDecoder::LoadFile(const std::string &filename, DecodedFrames &frames) - DecodedFrame frame; - - frame.rgbaImage.pixels = (char *)new char[ImageSize]; -- linha = (char *)frame.rgbaImage.pixels; - - unsigned char *scanlinebuff = new unsigned char[3 * cinfo.image_width]; - unsigned char *dst = (unsigned char *)frame.rgbaImage.pixels; --- -2.16.0 - -From ee441543be07de1222bcff2587bfcdb5c1231989 Mon Sep 17 00:00:00 2001 -From: MilhouseVH -Date: Mon, 6 Nov 2017 21:02:06 +0000 -Subject: [PATCH] TexturePacker: include GifHelper after system headers - ---- - tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp b/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp -index 3ddb20fe88..9ced4ec5bc 100644 ---- a/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp -+++ b/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp -@@ -18,10 +18,10 @@ - * - */ - --#include "GifHelper.h" - #include - #include - #include -+#include "GifHelper.h" - - #define UNSIGNED_LITTLE_ENDIAN(lo, hi) ((lo) | ((hi) << 8)) - #define GIF_MAX_MEMORY 82944000U // about 79 MB, which is equivalent to 10 full hd frames. --- -2.16.0 - diff --git a/package/kodi-texturepacker/kodi-texturepacker.mk b/package/kodi-texturepacker/kodi-texturepacker.mk index 31e3580aed..dc5984cedc 100644 --- a/package/kodi-texturepacker/kodi-texturepacker.mk +++ b/package/kodi-texturepacker/kodi-texturepacker.mk @@ -6,11 +6,12 @@ # Not possible to directly refer to kodi variables, because of # first/second expansion trickery... -KODI_TEXTUREPACKER_VERSION = 17.6-Krypton +KODI_TEXTUREPACKER_VERSION = 18.6-Leia KODI_TEXTUREPACKER_SITE = $(call github,xbmc,xbmc,$(KODI_TEXTUREPACKER_VERSION)) KODI_TEXTUREPACKER_SOURCE = kodi-$(KODI_TEXTUREPACKER_VERSION).tar.gz +KODI_TEXTUREPACKER_DL_SUBDIR = kodi KODI_TEXTUREPACKER_LICENSE = GPL-2.0 -KODI_TEXTUREPACKER_LICENSE_FILES = LICENSE.GPL +KODI_TEXTUREPACKER_LICENSE_FILES = LICENSE.md HOST_KODI_TEXTUREPACKER_SUBDIR = tools/depends/native/TexturePacker HOST_KODI_TEXTUREPACKER_DEPENDENCIES = \ host-giflib \ @@ -28,8 +29,7 @@ HOST_KODI_TEXTUREPACKER_CXXFLAGS = \ HOST_KODI_TEXTUREPACKER_CONF_OPTS += \ -DCMAKE_CXX_FLAGS="$(HOST_KODI_TEXTUREPACKER_CXXFLAGS)" \ - -DCMAKE_MODULE_PATH=$(@D)/project/cmake/modules \ - -DCORE_SOURCE_DIR=$(@D) \ + -DCMAKE_MODULE_PATH=$(@D)/cmake/modules \ -Wno-dev define HOST_KODI_TEXTUREPACKER_INSTALL_CMDS diff --git a/package/kodi-vfs-rar/Config.in b/package/kodi-vfs-rar/Config.in new file mode 100644 index 0000000000..2d8b680572 --- /dev/null +++ b/package/kodi-vfs-rar/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_KODI_VFS_RAR + bool "kodi-vfs-rar" + select BR2_PACKAGE_TINYXML + help + RAR VFS addon for Kodi + + https://github.com/xbmc/vfs.rar diff --git a/package/kodi-vfs-rar/kodi-vfs-rar.hash b/package/kodi-vfs-rar/kodi-vfs-rar.hash new file mode 100644 index 0000000000..0fcf7f795b --- /dev/null +++ b/package/kodi-vfs-rar/kodi-vfs-rar.hash @@ -0,0 +1,5 @@ +# Locally computed +sha256 0ca45226b071d50595f2c06471761713765a83484bb2b9629c694d4b310007c1 kodi-vfs-rar-2.3.1-Leia.tar.gz +# License files +sha256 6ecc1687808b7d66b24f874755abfed7464d9751ed0001cd4e8e5d9bf397ff8a lib/UnrarXLib/license.txt +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-vfs-rar/kodi-vfs-rar.mk b/package/kodi-vfs-rar/kodi-vfs-rar.mk new file mode 100644 index 0000000000..315a77903e --- /dev/null +++ b/package/kodi-vfs-rar/kodi-vfs-rar.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# kodi-vfs-rar +# +################################################################################ + +KODI_VFS_RAR_VERSION = 2.3.1-Leia +KODI_VFS_RAR_SITE = $(call github,xbmc,vfs.rar,$(KODI_VFS_RAR_VERSION)) +KODI_VFS_RAR_LICENSE = unrar, GPL-2.0+ +KODI_VFS_RAR_LICENSE_FILES = lib/UnrarXLib/license.txt LICENSE.md +KODI_VFS_RAR_DEPENDENCIES = kodi tinyxml + +$(eval $(cmake-package)) diff --git a/package/kodi-vfs-sftp/Config.in b/package/kodi-vfs-sftp/Config.in new file mode 100644 index 0000000000..a939bd927d --- /dev/null +++ b/package/kodi-vfs-sftp/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_KODI_VFS_SFTP + bool "kodi-vfs-sftp" + select BR2_PACKAGE_KODI_PLATFORM + select BR2_PACKAGE_LIBPLATFORM + select BR2_PACKAGE_LIBSSH + help + SFTP VFS addon for Kodi + + https://github.com/xbmc/vfs.sftp diff --git a/package/kodi-vfs-sftp/kodi-vfs-sftp.hash b/package/kodi-vfs-sftp/kodi-vfs-sftp.hash new file mode 100644 index 0000000000..bc861627d3 --- /dev/null +++ b/package/kodi-vfs-sftp/kodi-vfs-sftp.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 dc3db18b6cef90cd518b741e5c9bc7b3f4412774ee60bf70b451a8d2fc88a091 kodi-vfs-sftp-1.0.6-Leia.tar.gz +sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-vfs-sftp/kodi-vfs-sftp.mk b/package/kodi-vfs-sftp/kodi-vfs-sftp.mk new file mode 100644 index 0000000000..3870ff9b5b --- /dev/null +++ b/package/kodi-vfs-sftp/kodi-vfs-sftp.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# kodi-vfs-sftp +# +################################################################################ + +KODI_VFS_SFTP_VERSION = 1.0.6-Leia +KODI_VFS_SFTP_SITE = $(call github,xbmc,vfs.sftp,$(KODI_VFS_SFTP_VERSION)) +KODI_VFS_SFTP_LICENSE = GPL-2.0+ +KODI_VFS_SFTP_LICENSE_FILES = LICENSE.md +KODI_VFS_SFTP_DEPENDENCIES = kodi-platform libplatform libssh + +$(eval $(cmake-package)) diff --git a/package/kodi-visualisation-fishbmc/Config.in b/package/kodi-visualisation-fishbmc/Config.in index 9e2eabbdbc..66c1565bd7 100644 --- a/package/kodi-visualisation-fishbmc/Config.in +++ b/package/kodi-visualisation-fishbmc/Config.in @@ -1,10 +1,6 @@ config BR2_PACKAGE_KODI_VISUALISATION_FISHBMC bool "kodi-visualisation-fishbmc" - depends on BR2_PACKAGE_HAS_LIBGL help Fische visualiser for Kodi - https://github.com/notspiff/visualization.fishbmc - -comment "kodi-visualisation-fishbmc needs OpenGL" - depends on !BR2_PACKAGE_HAS_LIBGL + https://github.com/xbmc/visualization.fishbmc diff --git a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash index c89ca9a618..e8b5c6cb59 100644 --- a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash +++ b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 cf42a21978578cb5ecb10c20fe09791183d8ef2998ff9d956a84142a7dda8f72 kodi-visualisation-fishbmc-v4.1.0.tar.gz +sha256 8142fe4a32c0c113945c5fc9745e54639ca73308371d292e3422730bfad1d064 kodi-visualisation-fishbmc-5.1.2-Leia.tar.gz +sha256 684792cea796ea39d086ffd6cf5cb7c70ab8188dcf493707ba90d081d28f787e visualization.fishbmc/LICENSE diff --git a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk index d08c215ee7..a89c559d26 100644 --- a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk +++ b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk @@ -4,8 +4,8 @@ # ################################################################################ -KODI_VISUALISATION_FISHBMC_VERSION = v4.1.0 -KODI_VISUALISATION_FISHBMC_SITE = $(call github,notspiff,visualization.fishbmc,$(KODI_VISUALISATION_FISHBMC_VERSION)) +KODI_VISUALISATION_FISHBMC_VERSION = 5.1.2-Leia +KODI_VISUALISATION_FISHBMC_SITE = $(call github,xbmc,visualization.fishbmc,$(KODI_VISUALISATION_FISHBMC_VERSION)) KODI_VISUALISATION_FISHBMC_LICENSE = GPL-2.0+ KODI_VISUALISATION_FISHBMC_LICENSE_FILES = visualization.fishbmc/LICENSE KODI_VISUALISATION_FISHBMC_DEPENDENCIES = kodi diff --git a/package/kodi-visualisation-goom/0001-cross-compile.patch b/package/kodi-visualisation-goom/0001-cross-compile.patch deleted file mode 100644 index 8dd0fe9109..0000000000 --- a/package/kodi-visualisation-goom/0001-cross-compile.patch +++ /dev/null @@ -1,32 +0,0 @@ -Fix cross-compilation - -Use the cross-compiler and not the host version. - -Patch sent upstream: -https://github.com/notspiff/visualization.goom/pull/4 - -Signed-off-by: Bernd Kuhls - -diff -uNr visualization.goom-fb5933ba5b2143d055cc7749dc60a82f6002b305.org/CMakeLists.txt visualization.goom-fb5933ba5b2143d055cc7749dc60a82f6002b305/CMakeLists.txt ---- visualization.goom-fb5933ba5b2143d055cc7749dc60a82f6002b305.org/CMakeLists.txt 2014-10-31 11:34:21.000000000 +0100 -+++ visualization.goom-fb5933ba5b2143d055cc7749dc60a82f6002b305/CMakeLists.txt 2015-07-19 19:49:43.340054342 +0200 -@@ -13,6 +13,10 @@ - ${KODI_INCLUDE_DIR} - ${PROJECT_SOURCE_DIR}/lib/goom2k4-0/src) - -+get_filename_component( COMPILER_FILENAME "${CMAKE_C_COMPILER}" NAME ) -+string( REGEX REPLACE "-[^-]+$" "" -+ TOOLCHAIN_NAME "${COMPILER_FILENAME}" ) -+ - include(ExternalProject) - set(update_command "") - if(BOOTSTRAP_IN_TREE OR NOT DEFINED BOOTSTRAP_IN_TREE) -@@ -20,7 +24,7 @@ - endif() - externalproject_add(libgoom SOURCE_DIR ${PROJECT_SOURCE_DIR}/lib/goom2k4-0 - "${update_command}" -- CONFIGURE_COMMAND ${PROJECT_SOURCE_DIR}/lib/goom2k4-0/configure --disable-shared --enable-static --with-pic --prefix= -+ CONFIGURE_COMMAND ${PROJECT_SOURCE_DIR}/lib/goom2k4-0/configure --disable-shared --enable-static --with-pic --prefix= --host=${TOOLCHAIN_NAME} - BUILD_COMMAND ${MAKE} - INSTALL_COMMAND "") - diff --git a/package/kodi-visualisation-goom/Config.in b/package/kodi-visualisation-goom/Config.in index de4d2ef2ff..065bc1d773 100644 --- a/package/kodi-visualisation-goom/Config.in +++ b/package/kodi-visualisation-goom/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_KODI_VISUALISATION_GOOM bool "kodi-visualisation-goom" depends on BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_GLM help GOOM visualiser for Kodi diff --git a/package/kodi-visualisation-goom/kodi-visualisation-goom.hash b/package/kodi-visualisation-goom/kodi-visualisation-goom.hash index fa5fbf6c37..a6f4e41796 100644 --- a/package/kodi-visualisation-goom/kodi-visualisation-goom.hash +++ b/package/kodi-visualisation-goom/kodi-visualisation-goom.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 501b8b1d5bd174ec71d57894293ae5eb0c1f41c3b725ab5e7b5a1c5eeea77a7f kodi-visualisation-goom-54da35870930acd1a3a36195dd2c1498ac336b90.tar.gz +sha256 a02dfd844cfd5ff24f735e614a2a4727771112ce15642957a2511061f724392a kodi-visualisation-goom-2.2.1-Leia.tar.gz +sha256 a6b36f495079206146ae0b11624a8db49a538f421ffe1341f8651c9e6b06f0b0 debian/copyright diff --git a/package/kodi-visualisation-goom/kodi-visualisation-goom.mk b/package/kodi-visualisation-goom/kodi-visualisation-goom.mk index a7503a97d8..29cd24df69 100644 --- a/package/kodi-visualisation-goom/kodi-visualisation-goom.mk +++ b/package/kodi-visualisation-goom/kodi-visualisation-goom.mk @@ -4,11 +4,14 @@ # ################################################################################ -KODI_VISUALISATION_GOOM_VERSION = 54da35870930acd1a3a36195dd2c1498ac336b90 -KODI_VISUALISATION_GOOM_SITE = $(call github,notspiff,visualization.goom,$(KODI_VISUALISATION_GOOM_VERSION)) +KODI_VISUALISATION_GOOM_VERSION = 2.2.1-Leia +KODI_VISUALISATION_GOOM_SITE = $(call github,xbmc,visualization.goom,$(KODI_VISUALISATION_GOOM_VERSION)) KODI_VISUALISATION_GOOM_LICENSE = GPL-2.0+ -KODI_VISUALISATION_GOOM_LICENSE_FILES = src/Main.cpp +KODI_VISUALISATION_GOOM_LICENSE_FILES = debian/copyright -KODI_VISUALISATION_GOOM_DEPENDENCIES = kodi +KODI_VISUALISATION_GOOM_DEPENDENCIES = glm kodi + +KODI_VISUALISATION_GOOM_CONF_OPTS += \ + -DCMAKE_C_FLAGS="-std=c11" $(eval $(cmake-package)) diff --git a/package/kodi-visualisation-shadertoy/0001-FindOpenGLES2-also-search-for-egl-with-pkg-config.patch b/package/kodi-visualisation-shadertoy/0001-FindOpenGLES2-also-search-for-egl-with-pkg-config.patch deleted file mode 100644 index 8de96a6de3..0000000000 --- a/package/kodi-visualisation-shadertoy/0001-FindOpenGLES2-also-search-for-egl-with-pkg-config.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 9c428c3c9f120a11468f98546bcc754d2c3302af Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 30 Jul 2015 10:02:15 +0200 -Subject: [PATCH] FindOpenGLES2: also search for egl with pkg-config - -The non-pkg-config path looks for both EGL *and* OpenGL ES, but not -the pkg-config path, which might lead to missing libraries/headers if -egl.pc has more header paths or libraries than glesv2.pc. - -Signed-off-by: Thomas Petazzoni ---- - CMakeLists.txt | 2 +- - FindOpenGLES2.cmake | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8b084cf..81bbe27 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -35,7 +35,7 @@ - endif() - endif() - -- include_directories(${OpenGL_INCLUDE_DIR} -+ include_directories(${OpenGL_INCLUDE_DIR} ${OpenGLES2_INCLUDE_DIRS} - ${KODI_INCLUDE_DIR} - ${p8-platform_INCLUDE_DIRS} - ${PROJECT_SOURCE_DIR}/lib/kissfft -diff --git a/FindOpenGLES2.cmake b/FindOpenGLES2.cmake -index e1b7d21..2a9ce0d 100644 ---- a/FindOpenGLES2.cmake -+++ b/FindOpenGLES2.cmake -@@ -7,7 +7,7 @@ - - find_package(PkgConfig) - if(PKG_CONFIG_FOUND) -- pkg_check_modules(OpenGLES2 glesv2) -+ pkg_check_modules(OpenGLES2 glesv2 egl) - endif(PKG_CONFIG_FOUND) - - if(NOT OPENGLES2_FOUND) --- -2.5.0 - diff --git a/package/kodi-visualisation-shadertoy/Config.in b/package/kodi-visualisation-shadertoy/Config.in index 3b981d0bf4..1fabba5ef5 100644 --- a/package/kodi-visualisation-shadertoy/Config.in +++ b/package/kodi-visualisation-shadertoy/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_KODI_VISUALISATION_SHADERTOY bool "kodi-visualisation-shadertoy" + select BR2_PACKAGE_GLM select BR2_PACKAGE_LIBPLATFORM help Shadertoy visualiser for Kodi diff --git a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash index a0df397e8e..c0a04759f9 100644 --- a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash +++ b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 4456e88bc94bcb3e2481286b27926a1f6d85d6f857de31a46d50f44fead01abd kodi-visualisation-shadertoy-v1.1.5.tar.gz +sha256 7b09de334ed3c96d2e2552e0594b8f76c11e36edfc10efd725851140132a4d4f kodi-visualisation-shadertoy-1.2.3-Leia.tar.gz +sha256 e33ac3ac6ca1bdd4a4a411481d43579d855622e7ecc207809b5f49ea617db480 debian/copyright diff --git a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk index 923891595b..f6e417bef3 100644 --- a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk +++ b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk @@ -4,10 +4,10 @@ # ################################################################################ -KODI_VISUALISATION_SHADERTOY_VERSION = v1.1.5 -KODI_VISUALISATION_SHADERTOY_SITE = $(call github,notspiff,visualization.shadertoy,$(KODI_VISUALISATION_SHADERTOY_VERSION)) +KODI_VISUALISATION_SHADERTOY_VERSION = 1.2.3-Leia +KODI_VISUALISATION_SHADERTOY_SITE = $(call github,xbmc,visualization.shadertoy,$(KODI_VISUALISATION_SHADERTOY_VERSION)) KODI_VISUALISATION_SHADERTOY_LICENSE = GPL-2.0+ -KODI_VISUALISATION_SHADERTOY_LICENSE_FILES = src/main.cpp -KODI_VISUALISATION_SHADERTOY_DEPENDENCIES = kodi libplatform +KODI_VISUALISATION_SHADERTOY_LICENSE_FILES = debian/copyright +KODI_VISUALISATION_SHADERTOY_DEPENDENCIES = glm kodi libplatform $(eval $(cmake-package)) diff --git a/package/kodi-visualisation-spectrum/0001-Backport-Add-missing-cstddef-include.patch b/package/kodi-visualisation-spectrum/0001-Backport-Add-missing-cstddef-include.patch new file mode 100644 index 0000000000..5b1bb0c47c --- /dev/null +++ b/package/kodi-visualisation-spectrum/0001-Backport-Add-missing-cstddef-include.patch @@ -0,0 +1,30 @@ +From b2c54c1043c2396678005b578e85db30bdf5ccb9 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 18 Jan 2020 20:22:41 +0100 +Subject: [PATCH] [Backport] Add missing cstddef include + +Backported from https://github.com/xbmc/visualization.spectrum/pull/37 + +Patch sent upstream: +https://github.com/xbmc/visualization.spectrum/pull/38 + +Signed-off-by: Bernd Kuhls +--- + src/opengl_spectrum.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/opengl_spectrum.cpp b/src/opengl_spectrum.cpp +index 05409ea..2441fd6 100644 +--- a/src/opengl_spectrum.cpp ++++ b/src/opengl_spectrum.cpp +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + + #include + #include +-- +2.20.1 + diff --git a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash index 6c892ed0ba..4064184a75 100644 --- a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash +++ b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 7ee78ff5c24e3f81b6e2a9208237f34667cb9faa5453d7bdb900ab65245973f1 kodi-visualisation-spectrum-v1.1.1.tar.gz +sha256 ec88defbb90fdb03f075abdba39c436906a8fbad8f034da3e3b31f75842206cc kodi-visualisation-spectrum-3.0.2-Leia.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk index 3ab2c9975d..c3d61c1ef4 100644 --- a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk +++ b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk @@ -4,8 +4,8 @@ # ################################################################################ -KODI_VISUALISATION_SPECTRUM_VERSION = v1.1.1 -KODI_VISUALISATION_SPECTRUM_SITE = $(call github,notspiff,visualization.spectrum,$(KODI_VISUALISATION_SPECTRUM_VERSION)) +KODI_VISUALISATION_SPECTRUM_VERSION = 3.0.2-Leia +KODI_VISUALISATION_SPECTRUM_SITE = $(call github,xbmc,visualization.spectrum,$(KODI_VISUALISATION_SPECTRUM_VERSION)) KODI_VISUALISATION_SPECTRUM_LICENSE = GPL-2.0+ KODI_VISUALISATION_SPECTRUM_LICENSE_FILES = COPYING KODI_VISUALISATION_SPECTRUM_DEPENDENCIES = kodi diff --git a/package/kodi-visualisation-starburst/Config.in b/package/kodi-visualisation-starburst/Config.in new file mode 100644 index 0000000000..af9eee7a47 --- /dev/null +++ b/package/kodi-visualisation-starburst/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_KODI_VISUALISATION_STARBURST + bool "kodi-visualisation-starburst" + select BR2_PACKAGE_GLM + help + StarBurst visualization for Kodi + + https://github.com/xbmc/visualization.starburst diff --git a/package/kodi-visualisation-starburst/kodi-visualisation-starburst.hash b/package/kodi-visualisation-starburst/kodi-visualisation-starburst.hash new file mode 100644 index 0000000000..354ff80cb0 --- /dev/null +++ b/package/kodi-visualisation-starburst/kodi-visualisation-starburst.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 8e2ee8b39fe1c0daa24b11a9c4a175a85fdbdf7dc1bc48a1ab4876edeb6f676f kodi-visualisation-starburst-2.0.2-Leia.tar.gz +sha256 2e668b3da2f061a6d6ecc3cb96bdfb0f8fc9cc98c9e9f95454bc45b88708690f debian/copyright diff --git a/package/kodi-visualisation-starburst/kodi-visualisation-starburst.mk b/package/kodi-visualisation-starburst/kodi-visualisation-starburst.mk new file mode 100644 index 0000000000..9f1137d12c --- /dev/null +++ b/package/kodi-visualisation-starburst/kodi-visualisation-starburst.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# kodi-visualisation-starburst +# +################################################################################ + +KODI_VISUALISATION_STARBURST_VERSION = 2.0.2-Leia +KODI_VISUALISATION_STARBURST_SITE = $(call github,xbmc,visualization.starburst,$(KODI_VISUALISATION_STARBURST_VERSION)) +KODI_VISUALISATION_STARBURST_LICENSE = GPL-2.0+ +KODI_VISUALISATION_STARBURST_LICENSE_FILES = debian/copyright +KODI_VISUALISATION_STARBURST_DEPENDENCIES = glm kodi + +$(eval $(cmake-package)) diff --git a/package/kodi-visualisation-waveforhue/Config.in b/package/kodi-visualisation-waveforhue/Config.in deleted file mode 100644 index 9694027d2a..0000000000 --- a/package/kodi-visualisation-waveforhue/Config.in +++ /dev/null @@ -1,6 +0,0 @@ -config BR2_PACKAGE_KODI_VISUALISATION_WAVEFORHUE - bool "kodi-visualisation-waveforhue" - help - WaveForHue visualiser for Kodi - - https://github.com/notspiff/visualization.waveforhue diff --git a/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.hash b/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.hash deleted file mode 100644 index e7e97f1d86..0000000000 --- a/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed -sha256 80c466c55aee97d01442892135d4785070333e39f45942da17b65239758e5ae9 kodi-visualisation-waveforhue-b1805dbdba07e5e5b62115490c703aca43e9065c.tar.gz diff --git a/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.mk b/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.mk deleted file mode 100644 index 3ff32e658e..0000000000 --- a/package/kodi-visualisation-waveforhue/kodi-visualisation-waveforhue.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# kodi-visualisation-waveforhue -# -################################################################################ - -KODI_VISUALISATION_WAVEFORHUE_VERSION = b1805dbdba07e5e5b62115490c703aca43e9065c -KODI_VISUALISATION_WAVEFORHUE_SITE = $(call github,hardyt,visualization.waveforhue,$(KODI_VISUALISATION_WAVEFORHUE_VERSION)) -KODI_VISUALISATION_WAVEFORHUE_LICENSE = GPL-2.0+ -KODI_VISUALISATION_WAVEFORHUE_LICENSE_FILES = COPYING -KODI_VISUALISATION_WAVEFORHUE_DEPENDENCIES = kodi - -$(eval $(cmake-package)) diff --git a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash index 1fdecbede5..80808663c1 100644 --- a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash +++ b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 cf10d8d78cb2bde4a0a21bb7e467445617b46593c093ef05f336f95a048f2d54 kodi-visualisation-waveform-v1.1.0.tar.gz +sha256 c5fbf48c2251b61d9abfcd679a750199f5efc78e63fded9a1482cfd9b41d0b5b kodi-visualisation-waveform-3.1.1-Leia.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk index d906c653c2..2d65df8538 100644 --- a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk +++ b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk @@ -4,8 +4,8 @@ # ################################################################################ -KODI_VISUALISATION_WAVEFORM_VERSION = v1.1.0 -KODI_VISUALISATION_WAVEFORM_SITE = $(call github,notspiff,visualization.waveform,$(KODI_VISUALISATION_WAVEFORM_VERSION)) +KODI_VISUALISATION_WAVEFORM_VERSION = 3.1.1-Leia +KODI_VISUALISATION_WAVEFORM_SITE = $(call github,xbmc,visualization.waveform,$(KODI_VISUALISATION_WAVEFORM_VERSION)) KODI_VISUALISATION_WAVEFORM_LICENSE = GPL-2.0+ KODI_VISUALISATION_WAVEFORM_LICENSE_FILES = COPYING KODI_VISUALISATION_WAVEFORM_DEPENDENCIES = kodi diff --git a/package/kodi/0001-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch b/package/kodi/0001-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch index 0b88ce9d27..5abb77e777 100644 --- a/package/kodi/0001-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch +++ b/package/kodi/0001-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch @@ -17,9 +17,9 @@ Signed-off-by: Bernd Kuhls diff --git a/project/cmake/KodiConfig.cmake.in b/project/cmake/KodiConfig.cmake.in index 76626ec..ffb8e1d 100644 ---- a/project/cmake/KodiConfig.cmake.in -+++ b/project/cmake/KodiConfig.cmake.in -@@ -7,7 +7,7 @@ if(NOT @APP_NAME_UC@_PREFIX) +--- a/cmake/KodiConfig.cmake.in ++++ b/cmake/KodiConfig.cmake.in +@@ -8,7 +8,7 @@ if(NOT @APP_NAME_UC@_PREFIX) set(@APP_NAME_UC@_PREFIX @APP_PREFIX@) endif() if(NOT @APP_NAME_UC@_INCLUDE_DIR) @@ -28,7 +28,7 @@ index 76626ec..ffb8e1d 100644 endif() if(NOT @APP_NAME_UC@_LIB_DIR) set(@APP_NAME_UC@_LIB_DIR @APP_LIB_DIR@) -@@ -18,7 +18,7 @@ endif() +@@ -20,7 +20,7 @@ endif() if(NOT WIN32) set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@") endif() diff --git a/package/kodi/0002-CMake-Remove-dependency-on-gmp-and-libintl-from-Find.patch b/package/kodi/0002-CMake-Remove-dependency-on-gmp-and-libintl-from-Find.patch deleted file mode 100644 index 80bf954d5e..0000000000 --- a/package/kodi/0002-CMake-Remove-dependency-on-gmp-and-libintl-from-Find.patch +++ /dev/null @@ -1,39 +0,0 @@ -CMake: Remove dependency on gmp and libintl from FindPython.cmake - -Downloaded from Openelec: -https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/mediacenter/kodi/patches/kodi-998.02-cmake-python.patch - -The dependency for libintl and gmp was introduced by this commit -https://github.com/xbmc/xbmc/commit/8558d672e98b62f3ea0126ba491376add8ed71cb -without further explanation and, apparently, without necessity. - -A question asking whether this is really needed was sent upstream: -https://github.com/xbmc/xbmc/pull/10973#pullrequestreview-34179550 - -Signed-off-by: Bernd Kuhls - -diff -Naur kodi-17.1-Krypton/project/cmake/modules/FindPython.cmake kodi-17.1-Krypton.patch/project/cmake/modules/FindPython.cmake ---- kodi-17.1-Krypton/project/cmake/modules/FindPython.cmake 2017-03-20 17:17:49.000000000 +0100 -+++ kodi-17.1-Krypton.patch/project/cmake/modules/FindPython.cmake 2017-03-30 11:10:01.065718667 +0200 -@@ -16,14 +16,12 @@ - if(KODI_DEPENDSBUILD) - find_library(FFI_LIBRARY ffi REQUIRED) - find_library(EXPAT_LIBRARY expat REQUIRED) -- find_library(INTL_LIBRARY intl REQUIRED) -- find_library(GMP_LIBRARY gmp REQUIRED) - - if(NOT CORE_SYSTEM_NAME STREQUAL android) - set(PYTHON_DEP_LIBRARIES pthread dl util) - endif() - -- set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${INTL_LIBRARY} ${GMP_LIBRARY} ${PYTHON_DEP_LIBRARIES}) -+ set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${PYTHON_DEP_LIBRARIES}) - else() - find_package(PythonLibs 2.7 REQUIRED) - list(APPEND PYTHON_LIBRARIES ${PC_PYTHON_STATIC_LIBRARIES}) -@@ -36,4 +34,4 @@ - set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR}) - endif() - --mark_as_advanced(PYTHON_EXECUTABLE PYTHON_INCLUDE_DIRS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES PYTHON_LDFLAGS FFI_LIBRARY EXPAT_LIBRARY INTL_LIBRARY GMP_LIBRARY) -+mark_as_advanced(PYTHON_EXECUTABLE PYTHON_INCLUDE_DIRS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES PYTHON_LDFLAGS FFI_LIBRARY EXPAT_LIBRARY) diff --git a/package/kodi/0002-Fix-crosscompiling-issues.patch b/package/kodi/0002-Fix-crosscompiling-issues.patch new file mode 100644 index 0000000000..12bb66dde0 --- /dev/null +++ b/package/kodi/0002-Fix-crosscompiling-issues.patch @@ -0,0 +1,76 @@ +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/cmake/modules/FindFFMPEG.cmake ++++ b/cmake/modules/FindFFMPEG.cmake +@@ -234,14 +234,12 @@ + -DENABLE_VAAPI=${ENABLE_VAAPI} + -DENABLE_VDPAU=${ENABLE_VDPAU}) + +- 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_AR=${CMAKE_AR}) +- endif() + set(LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS}) + list(APPEND LINKER_FLAGS ${SYSTEM_LDFLAGS}) + +@@ -280,12 +278,12 @@ + "#!${BASH_COMMAND} + if [[ $@ == *${APP_NAME_LC}.bin* || $@ == *${APP_NAME_LC}${APP_BINARY_SUFFIX}* || $@ == *${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 +@@ -13,7 +13,7 @@ + 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 --ar=${CMAKE_AR} --strip=${CMAKE_STRIP}) + message(STATUS "CROSS: ${ffmpeg_conf}") + endif() diff --git a/package/kodi/0003-cmake-iconv-is-a-required-dependency.patch b/package/kodi/0003-cmake-iconv-is-a-required-dependency.patch deleted file mode 100644 index b95771c525..0000000000 --- a/package/kodi/0003-cmake-iconv-is-a-required-dependency.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 70ab56d74aff8b2e3ac49fed6bdf3751c9b1457e Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 12 Feb 2017 14:24:18 +0100 -Subject: [PATCH] [cmake] iconv is a required dependency - -This patch adds support for libiconv currently only provided by the -autoconf-based build system: -https://github.com/xbmc/xbmc/blob/Krypton/configure.ac#L1172 - -This commit fixes an error during linking with an uClibc-based -buildroot toolchain: - -[100%] Linking CXX executable kodi.bin -/home/buildroot/br8_ffmpeg3_kodi17_github/output/host/usr/lib/gcc/i586-buildroot-linux-uclibc/6.3.0/../../../../i586-buildroot-linux-uclibc/bin/ld: build/utils/utils.a(CharsetConverter.cpp.o): undefined reference to symbol 'libiconv_open' -/home/buildroot/br8_ffmpeg3_kodi17_github/output/host/usr/i586-buildroot-linux-uclibc/sysroot/usr/lib32/libiconv.so.2: error adding symbols: DSO missing from command line - -Backported to Krypton from master branch commit: -https://github.com/xbmc/xbmc/commit/9a64537543e8dc8609ca8a98181ba17f30c53493 - -Signed-off-by: Bernd Kuhls ---- - project/cmake/CMakeLists.txt | 2 +- - project/cmake/modules/FindIconv.cmake | 44 +++++++++++++++++++++++++++++++++++ - 2 files changed, 45 insertions(+), 1 deletion(-) - create mode 100644 project/cmake/modules/FindIconv.cmake - -diff --git a/project/cmake/CMakeLists.txt b/project/cmake/CMakeLists.txt -index aeb1ff47c2..07c1d1a8d3 100644 ---- a/project/cmake/CMakeLists.txt -+++ b/project/cmake/CMakeLists.txt -@@ -103,7 +103,7 @@ list(APPEND DEPLIBS ${CMAKE_THREAD_LIBS_INIT}) - - # Required dependencies - set(required_deps Sqlite3 FreeType PCRE Cpluff LibDvd -- TinyXML Python Yajl Cdio -+ TinyXML Python Yajl Cdio Iconv - Lzo2 Fribidi TagLib FFMPEG CrossGUID) - if(NOT WIN32) - list(APPEND required_deps ZLIB) -diff --git a/project/cmake/modules/FindIconv.cmake b/project/cmake/modules/FindIconv.cmake -new file mode 100644 -index 0000000000..8ee01fb6b8 ---- /dev/null -+++ b/project/cmake/modules/FindIconv.cmake -@@ -0,0 +1,44 @@ -+#.rst: -+# FindICONV -+# -------- -+# Finds the ICONV library -+# -+# This will will define the following variables:: -+# -+# ICONV_FOUND - system has ICONV -+# ICONV_INCLUDE_DIRS - the ICONV include directory -+# ICONV_LIBRARIES - the ICONV libraries -+# -+# and the following imported targets:: -+# -+# ICONV::ICONV - The ICONV library -+ -+find_path(ICONV_INCLUDE_DIR NAMES iconv.h) -+ -+find_library(ICONV_LIBRARY NAMES iconv libiconv c) -+ -+set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY}) -+check_function_exists(iconv HAVE_ICONV_FUNCTION) -+if(NOT HAVE_ICONV_FUNCTION) -+ check_function_exists(libiconv HAVE_LIBICONV_FUNCTION2) -+ set(HAVE_ICONV_FUNCTION ${HAVE_LIBICONV_FUNCTION2}) -+ unset(HAVE_LIBICONV_FUNCTION2) -+endif() -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(Iconv -+ REQUIRED_VARS ICONV_LIBRARY ICONV_INCLUDE_DIR HAVE_ICONV_FUNCTION) -+ -+if(ICONV_FOUND) -+ set(ICONV_LIBRARIES ${ICONV_LIBRARY}) -+ set(ICONV_INCLUDE_DIRS ${ICONV_INCLUDE_DIR}) -+ -+ if(NOT TARGET ICONV::ICONV) -+ add_library(ICONV::ICONV UNKNOWN IMPORTED) -+ set_target_properties(ICONV::ICONV PROPERTIES -+ IMPORTED_LOCATION "${ICONV_LIBRARY}" -+ INTERFACE_INCLUDE_DIRECTORIES "${ICONV_INCLUDE_DIR}") -+ endif() -+endif() -+ -+mark_as_advanced(ICONV_INCLUDE_DIR ICONV_LIBRARY HAVE_ICONV_FUNCTION) --- -2.11.0 - diff --git a/package/kodi/0003-webserver-Compatibility-with-libmicrohttpd-0.9.71.patch b/package/kodi/0003-webserver-Compatibility-with-libmicrohttpd-0.9.71.patch new file mode 100644 index 0000000000..04f57b41fc --- /dev/null +++ b/package/kodi/0003-webserver-Compatibility-with-libmicrohttpd-0.9.71.patch @@ -0,0 +1,469 @@ +From 206f55e78f3a5ad39fad17526d01558677f9477a Mon Sep 17 00:00:00 2001 +From: Craig Andrews +Date: Sat, 4 Jul 2020 11:01:37 +0200 +Subject: [PATCH] [webserver] Compatibility with libmicrohttpd 0.9.71 + +From the libmicrohttpd 0.9.71 release notes: + +The release introduces an 'enum MHD_Result' instead of +for certain API misuse bugs by providing better types (not everything is +an 'int'). While this does NOT change the binary API, this change +_will_ cause compiler warnings for all legacy code -- until 'int' is +replaced with 'enum MHD_Result'. + +Signed-off-by: Bernd Kuhls +[downloaded from upstream PR 18134] +--- + xbmc/network/WebServer.cpp | 42 +++++++++---------- + xbmc/network/WebServer.h | 30 ++++++------- + .../httprequesthandler/HTTPFileHandler.cpp | 2 +- + .../httprequesthandler/HTTPFileHandler.h | 2 +- + .../HTTPImageTransformationHandler.cpp | 2 +- + .../HTTPImageTransformationHandler.h | 2 +- + .../httprequesthandler/HTTPJsonRpcHandler.cpp | 2 +- + .../httprequesthandler/HTTPJsonRpcHandler.h | 2 +- + .../httprequesthandler/HTTPPythonHandler.cpp | 2 +- + .../httprequesthandler/HTTPPythonHandler.h | 2 +- + .../HTTPRequestHandlerUtils.cpp | 4 +- + .../HTTPRequestHandlerUtils.h | 4 +- + .../HTTPWebinterfaceAddonsHandler.cpp | 2 +- + .../HTTPWebinterfaceAddonsHandler.h | 2 +- + .../httprequesthandler/IHTTPRequestHandler.h | 10 ++++- + 15 files changed, 59 insertions(+), 51 deletions(-) + +diff --git a/xbmc/network/WebServer.cpp b/xbmc/network/WebServer.cpp +index 783404227785..be507131092b 100644 +--- a/xbmc/network/WebServer.cpp ++++ b/xbmc/network/WebServer.cpp +@@ -86,7 +86,7 @@ static MHD_Response* create_response(size_t size, const void* data, int free, in + return MHD_create_response_from_buffer(size, const_cast(data), mode); + } + +-int CWebServer::AskForAuthentication(const HTTPRequest& request) const ++MHD_RESULT CWebServer::AskForAuthentication(const HTTPRequest& request) const + { + struct MHD_Response *response = create_response(0, nullptr, MHD_NO, MHD_NO); + if (!response) +@@ -95,7 +95,7 @@ int CWebServer::AskForAuthentication(const HTTPRequest& request) const + return MHD_NO; + } + +- int ret = AddHeader(response, MHD_HTTP_HEADER_CONNECTION, "close"); ++ MHD_RESULT ret = AddHeader(response, MHD_HTTP_HEADER_CONNECTION, "close"); + if (!ret) + { + CLog::Log(LOGERROR, "CWebServer[%hu]: unable to prepare HTTP Unauthorized response", m_port); +@@ -105,7 +105,7 @@ int CWebServer::AskForAuthentication(const HTTPRequest& request) const + + LogResponse(request, MHD_HTTP_UNAUTHORIZED); + +- ret = MHD_queue_basic_auth_fail_response(request.connection, "XBMC", response); ++ ret = (MHD_RESULT) MHD_queue_basic_auth_fail_response(request.connection, "XBMC", response); + MHD_destroy_response(response); + + return ret; +@@ -135,7 +135,7 @@ bool CWebServer::IsAuthenticated(const HTTPRequest& request) const + return authenticated; + } + +-int CWebServer::AnswerToConnection(void *cls, struct MHD_Connection *connection, ++MHD_RESULT CWebServer::AnswerToConnection(void *cls, struct MHD_Connection *connection, + const char *url, const char *method, + const char *version, const char *upload_data, + size_t *upload_data_size, void **con_cls) +@@ -163,7 +163,7 @@ int CWebServer::AnswerToConnection(void *cls, struct MHD_Connection *connection, + return webServer->HandlePartialRequest(connection, connectionHandler, request, upload_data, upload_data_size, con_cls); + } + +-int CWebServer::HandlePartialRequest(struct MHD_Connection *connection, ConnectionHandler* connectionHandler, const HTTPRequest& request, const char *upload_data, size_t *upload_data_size, void **con_cls) ++MHD_RESULT CWebServer::HandlePartialRequest(struct MHD_Connection *connection, ConnectionHandler* connectionHandler, const HTTPRequest& request, const char *upload_data, size_t *upload_data_size, void **con_cls) + { + std::unique_ptr conHandler(connectionHandler); + +@@ -276,7 +276,7 @@ int CWebServer::HandlePartialRequest(struct MHD_Connection *connection, Connecti + return SendErrorResponse(request, MHD_HTTP_NOT_FOUND, request.method); + } + +-int CWebServer::HandlePostField(void *cls, enum MHD_ValueKind kind, const char *key, ++MHD_RESULT CWebServer::HandlePostField(void *cls, enum MHD_ValueKind kind, const char *key, + const char *filename, const char *content_type, + const char *transfer_encoding, const char *data, uint64_t off, + size_t size) +@@ -294,13 +294,13 @@ int CWebServer::HandlePostField(void *cls, enum MHD_ValueKind kind, const char * + return MHD_YES; + } + +-int CWebServer::HandleRequest(const std::shared_ptr& handler) ++MHD_RESULT CWebServer::HandleRequest(const std::shared_ptr& handler) + { + if (handler == nullptr) + return MHD_NO; + + HTTPRequest request = handler->GetRequest(); +- int ret = handler->HandleRequest(); ++ MHD_RESULT ret = handler->HandleRequest(); + if (ret == MHD_NO) + { + CLog::Log(LOGERROR, "CWebServer[%hu]: failed to handle HTTP request for %s", m_port, request.pathUrl.c_str()); +@@ -348,7 +348,7 @@ int CWebServer::HandleRequest(const std::shared_ptr& handle + return FinalizeRequest(handler, responseDetails.status, response); + } + +-int CWebServer::FinalizeRequest(const std::shared_ptr& handler, int responseStatus, struct MHD_Response *response) ++MHD_RESULT CWebServer::FinalizeRequest(const std::shared_ptr& handler, int responseStatus, struct MHD_Response *response) + { + if (handler == nullptr || response == nullptr) + return MHD_NO; +@@ -562,7 +562,7 @@ void CWebServer::FinalizePostDataProcessing(ConnectionHandler *connectionHandler + MHD_destroy_post_processor(connectionHandler->postprocessor); + } + +-int CWebServer::CreateMemoryDownloadResponse(const std::shared_ptr& handler, struct MHD_Response *&response) const ++MHD_RESULT CWebServer::CreateMemoryDownloadResponse(const std::shared_ptr& handler, struct MHD_Response *&response) const + { + if (handler == nullptr) + return MHD_NO; +@@ -620,7 +620,7 @@ int CWebServer::CreateMemoryDownloadResponse(const std::shared_ptr& handler, struct MHD_Response *&response) const ++MHD_RESULT CWebServer::CreateRangedMemoryDownloadResponse(const std::shared_ptr& handler, struct MHD_Response *&response) const + { + if (handler == nullptr) + return MHD_NO; +@@ -700,7 +700,7 @@ int CWebServer::CreateRangedMemoryDownloadResponse(const std::shared_ptr& handler, struct MHD_Response *&response) const ++MHD_RESULT CWebServer::CreateFileDownloadResponse(const std::shared_ptr& handler, struct MHD_Response *&response) const + { + if (handler == nullptr) + return MHD_NO; +@@ -850,7 +850,7 @@ int CWebServer::CreateFileDownloadResponse(const std::shared_ptr(data), free ? MHD_YES : MHD_NO, copy ? MHD_YES : MHD_NO); + if (response == nullptr) +@@ -893,20 +893,20 @@ int CWebServer::CreateMemoryDownloadResponse(struct MHD_Connection *connection, + return MHD_YES; + } + +-int CWebServer::SendResponse(const HTTPRequest& request, int responseStatus, MHD_Response *response) const ++MHD_RESULT CWebServer::SendResponse(const HTTPRequest& request, int responseStatus, MHD_Response *response) const + { + LogResponse(request, responseStatus); + +- int ret = MHD_queue_response(request.connection, responseStatus, response); ++ MHD_RESULT ret = MHD_queue_response(request.connection, responseStatus, response); + MHD_destroy_response(response); + + return ret; + } + +-int CWebServer::SendErrorResponse(const HTTPRequest& request, int errorType, HTTPMethod method) const ++MHD_RESULT CWebServer::SendErrorResponse(const HTTPRequest& request, int errorType, HTTPMethod method) const + { + struct MHD_Response *response = nullptr; +- int ret = CreateErrorResponse(request.connection, errorType, method, response); ++ MHD_RESULT ret = CreateErrorResponse(request.connection, errorType, method, response); + if (ret == MHD_NO) + return MHD_NO; + +@@ -1296,10 +1296,10 @@ std::string CWebServer::CreateMimeTypeFromExtension(const char *ext) + return CMime::GetMimeType(ext); + } + +-int CWebServer::AddHeader(struct MHD_Response *response, const std::string &name, const std::string &value) const ++MHD_RESULT CWebServer::AddHeader(struct MHD_Response *response, const std::string &name, const std::string &value) const + { + if (response == nullptr || name.empty()) +- return 0; ++ return MHD_NO; + + CLog::Log(LOGDEBUG, LOGWEBSERVER, "CWebServer[%hu] [OUT] %s: %s", m_port, name.c_str(), value.c_str()); + +diff --git a/xbmc/network/WebServer.h b/xbmc/network/WebServer.h +index c7a909304a21..1274a2e0ed40 100644 +--- a/xbmc/network/WebServer.h ++++ b/xbmc/network/WebServer.h +@@ -56,17 +56,17 @@ class CWebServer + + virtual void LogRequest(const char* uri) const; + +- virtual int HandlePartialRequest(struct MHD_Connection *connection, ConnectionHandler* connectionHandler, const HTTPRequest& request, ++ virtual MHD_RESULT HandlePartialRequest(struct MHD_Connection *connection, ConnectionHandler* connectionHandler, const HTTPRequest& request, + const char *upload_data, size_t *upload_data_size, void **con_cls); +- virtual int HandleRequest(const std::shared_ptr& handler); +- virtual int FinalizeRequest(const std::shared_ptr& handler, int responseStatus, struct MHD_Response *response); ++ virtual MHD_RESULT HandleRequest(const std::shared_ptr& handler); ++ virtual MHD_RESULT FinalizeRequest(const std::shared_ptr& handler, int responseStatus, struct MHD_Response *response); + + private: + struct MHD_Daemon* StartMHD(unsigned int flags, int port); + + std::shared_ptr FindRequestHandler(const HTTPRequest& request) const; + +- int AskForAuthentication(const HTTPRequest& request) const; ++ MHD_RESULT AskForAuthentication(const HTTPRequest& request) const; + bool IsAuthenticated(const HTTPRequest& request) const; + + bool IsRequestCacheable(const HTTPRequest& request) const; +@@ -76,18 +76,18 @@ class CWebServer + bool ProcessPostData(const HTTPRequest& request, ConnectionHandler *connectionHandler, const char *upload_data, size_t *upload_data_size, void **con_cls) const; + void FinalizePostDataProcessing(ConnectionHandler *connectionHandler) const; + +- int CreateMemoryDownloadResponse(const std::shared_ptr& handler, struct MHD_Response *&response) const; +- int CreateRangedMemoryDownloadResponse(const std::shared_ptr& handler, struct MHD_Response *&response) const; ++ MHD_RESULT CreateMemoryDownloadResponse(const std::shared_ptr& handler, struct MHD_Response *&response) const; ++ MHD_RESULT CreateRangedMemoryDownloadResponse(const std::shared_ptr& handler, struct MHD_Response *&response) const; + +- int CreateRedirect(struct MHD_Connection *connection, const std::string &strURL, struct MHD_Response *&response) const; +- int CreateFileDownloadResponse(const std::shared_ptr& handler, struct MHD_Response *&response) const; +- int CreateErrorResponse(struct MHD_Connection *connection, int responseType, HTTPMethod method, struct MHD_Response *&response) const; +- int CreateMemoryDownloadResponse(struct MHD_Connection *connection, const void *data, size_t size, bool free, bool copy, struct MHD_Response *&response) const; ++ MHD_RESULT CreateRedirect(struct MHD_Connection *connection, const std::string &strURL, struct MHD_Response *&response) const; ++ MHD_RESULT CreateFileDownloadResponse(const std::shared_ptr& handler, struct MHD_Response *&response) const; ++ MHD_RESULT CreateErrorResponse(struct MHD_Connection *connection, int responseType, HTTPMethod method, struct MHD_Response *&response) const; ++ MHD_RESULT CreateMemoryDownloadResponse(struct MHD_Connection *connection, const void *data, size_t size, bool free, bool copy, struct MHD_Response *&response) const; + +- int SendResponse(const HTTPRequest& request, int responseStatus, MHD_Response *response) const; +- int SendErrorResponse(const HTTPRequest& request, int errorType, HTTPMethod method) const; ++ MHD_RESULT SendResponse(const HTTPRequest& request, int responseStatus, MHD_Response *response) const; ++ MHD_RESULT SendErrorResponse(const HTTPRequest& request, int errorType, HTTPMethod method) const; + +- int AddHeader(struct MHD_Response *response, const std::string &name, const std::string &value) const; ++ MHD_RESULT AddHeader(struct MHD_Response *response, const std::string &name, const std::string &value) const; + + void LogRequest(const HTTPRequest& request) const; + void LogResponse(const HTTPRequest& request, int responseStatus) const; +@@ -100,11 +100,11 @@ class CWebServer + static ssize_t ContentReaderCallback (void *cls, uint64_t pos, char *buf, size_t max); + static void ContentReaderFreeCallback(void *cls); + +- static int AnswerToConnection (void *cls, struct MHD_Connection *connection, ++ static MHD_RESULT AnswerToConnection (void *cls, struct MHD_Connection *connection, + const char *url, const char *method, + const char *version, const char *upload_data, + size_t *upload_data_size, void **con_cls); +- static int HandlePostField(void *cls, enum MHD_ValueKind kind, const char *key, ++ static MHD_RESULT HandlePostField(void *cls, enum MHD_ValueKind kind, const char *key, + const char *filename, const char *content_type, + const char *transfer_encoding, const char *data, uint64_t off, + size_t size); +diff --git a/xbmc/network/httprequesthandler/HTTPFileHandler.cpp b/xbmc/network/httprequesthandler/HTTPFileHandler.cpp +index 2101d49f0911..26e53901dbfa 100644 +--- a/xbmc/network/httprequesthandler/HTTPFileHandler.cpp ++++ b/xbmc/network/httprequesthandler/HTTPFileHandler.cpp +@@ -23,7 +23,7 @@ CHTTPFileHandler::CHTTPFileHandler(const HTTPRequest &request) + m_lastModified() + { } + +-int CHTTPFileHandler::HandleRequest() ++MHD_RESULT CHTTPFileHandler::HandleRequest() + { + return !m_url.empty() ? MHD_YES : MHD_NO; + } +diff --git a/xbmc/network/httprequesthandler/HTTPFileHandler.h b/xbmc/network/httprequesthandler/HTTPFileHandler.h +index 3c74b5275092..6121315c6f5f 100644 +--- a/xbmc/network/httprequesthandler/HTTPFileHandler.h ++++ b/xbmc/network/httprequesthandler/HTTPFileHandler.h +@@ -19,7 +19,7 @@ class CHTTPFileHandler : public IHTTPRequestHandler + public: + ~CHTTPFileHandler() override = default; + +- int HandleRequest() override; ++ MHD_RESULT HandleRequest() override; + + bool CanHandleRanges() const override { return m_canHandleRanges; } + bool CanBeCached() const override { return m_canBeCached; } +diff --git a/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.cpp b/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.cpp +index de42e7fd3017..6902be012532 100644 +--- a/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.cpp ++++ b/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.cpp +@@ -104,7 +104,7 @@ bool CHTTPImageTransformationHandler::CanHandleRequest(const HTTPRequest &reques + options.find(TRANSFORMATION_OPTION_HEIGHT) != options.end()); + } + +-int CHTTPImageTransformationHandler::HandleRequest() ++MHD_RESULT CHTTPImageTransformationHandler::HandleRequest() + { + if (m_response.type == HTTPError) + return MHD_YES; +diff --git a/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.h b/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.h +index c55015ec4eb0..0d17afc3250a 100644 +--- a/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.h ++++ b/xbmc/network/httprequesthandler/HTTPImageTransformationHandler.h +@@ -23,7 +23,7 @@ class CHTTPImageTransformationHandler : public IHTTPRequestHandler + IHTTPRequestHandler* Create(const HTTPRequest &request) const override { return new CHTTPImageTransformationHandler(request); } + bool CanHandleRequest(const HTTPRequest &request)const override; + +- int HandleRequest() override; ++ MHD_RESULT HandleRequest() override; + + bool CanHandleRanges() const override { return true; } + bool CanBeCached() const override { return true; } +diff --git a/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.cpp b/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.cpp +index e8e2fa36924b..a4c3c198eba3 100644 +--- a/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.cpp ++++ b/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.cpp +@@ -25,7 +25,7 @@ bool CHTTPJsonRpcHandler::CanHandleRequest(const HTTPRequest &request) const + return (request.pathUrl.compare("/jsonrpc") == 0); + } + +-int CHTTPJsonRpcHandler::HandleRequest() ++MHD_RESULT CHTTPJsonRpcHandler::HandleRequest() + { + CHTTPClient client(m_request.method); + bool isRequest = false; +diff --git a/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.h b/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.h +index 67c14b666ef6..2659fd549c25 100644 +--- a/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.h ++++ b/xbmc/network/httprequesthandler/HTTPJsonRpcHandler.h +@@ -24,7 +24,7 @@ class CHTTPJsonRpcHandler : public IHTTPRequestHandler + IHTTPRequestHandler* Create(const HTTPRequest &request) const override { return new CHTTPJsonRpcHandler(request); } + bool CanHandleRequest(const HTTPRequest &request) const override; + +- int HandleRequest() override; ++ MHD_RESULT HandleRequest() override; + + HttpResponseRanges GetResponseData() const override; + +diff --git a/xbmc/network/httprequesthandler/HTTPPythonHandler.cpp b/xbmc/network/httprequesthandler/HTTPPythonHandler.cpp +index 5f9aeef10f2e..a07ef0d3ac31 100644 +--- a/xbmc/network/httprequesthandler/HTTPPythonHandler.cpp ++++ b/xbmc/network/httprequesthandler/HTTPPythonHandler.cpp +@@ -112,7 +112,7 @@ bool CHTTPPythonHandler::CanHandleRequest(const HTTPRequest &request) const + return true; + } + +-int CHTTPPythonHandler::HandleRequest() ++MHD_RESULT CHTTPPythonHandler::HandleRequest() + { + if (m_response.type == HTTPError || m_response.type == HTTPRedirect) + return MHD_YES; +diff --git a/xbmc/network/httprequesthandler/HTTPPythonHandler.h b/xbmc/network/httprequesthandler/HTTPPythonHandler.h +index 03c150693ff4..166430e68d51 100644 +--- a/xbmc/network/httprequesthandler/HTTPPythonHandler.h ++++ b/xbmc/network/httprequesthandler/HTTPPythonHandler.h +@@ -25,7 +25,7 @@ class CHTTPPythonHandler : public IHTTPRequestHandler + bool CanBeCached() const override { return false; } + bool GetLastModifiedDate(CDateTime &lastModified) const override; + +- int HandleRequest() override; ++ MHD_RESULT HandleRequest() override; + + HttpResponseRanges GetResponseData() const override { return m_responseRanges; } + +diff --git a/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.cpp b/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.cpp +index 80d1d6733475..f2ea1f2e51ed 100644 +--- a/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.cpp ++++ b/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.cpp +@@ -61,7 +61,7 @@ bool HTTPRequestHandlerUtils::GetRequestedRanges(struct MHD_Connection *connecti + return ranges.Parse(GetRequestHeaderValue(connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_RANGE), totalLength); + } + +-int HTTPRequestHandlerUtils::FillArgumentMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value) ++MHD_RESULT HTTPRequestHandlerUtils::FillArgumentMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value) + { + if (cls == nullptr || key == nullptr) + return MHD_NO; +@@ -72,7 +72,7 @@ int HTTPRequestHandlerUtils::FillArgumentMap(void *cls, enum MHD_ValueKind kind, + return MHD_YES; + } + +-int HTTPRequestHandlerUtils::FillArgumentMultiMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value) ++MHD_RESULT HTTPRequestHandlerUtils::FillArgumentMultiMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value) + { + if (cls == nullptr || key == nullptr) + return MHD_NO; +diff --git a/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.h b/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.h +index 9a07801914e4..0ec5ed1bf706 100644 +--- a/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.h ++++ b/xbmc/network/httprequesthandler/HTTPRequestHandlerUtils.h +@@ -25,6 +25,6 @@ class HTTPRequestHandlerUtils + private: + HTTPRequestHandlerUtils() = delete; + +- static int FillArgumentMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value); +- static int FillArgumentMultiMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value); ++ static MHD_RESULT FillArgumentMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value); ++ static MHD_RESULT FillArgumentMultiMap(void *cls, enum MHD_ValueKind kind, const char *key, const char *value); + }; +diff --git a/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.cpp b/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.cpp +index 01a6b503bdf6..0716a5df96ca 100644 +--- a/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.cpp ++++ b/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.cpp +@@ -18,7 +18,7 @@ bool CHTTPWebinterfaceAddonsHandler::CanHandleRequest(const HTTPRequest &request + return (request.pathUrl.compare("/addons") == 0 || request.pathUrl.compare("/addons/") == 0); + } + +-int CHTTPWebinterfaceAddonsHandler::HandleRequest() ++MHD_RESULT CHTTPWebinterfaceAddonsHandler::HandleRequest() + { + m_responseData = ADDON_HEADER; + ADDON::VECADDONS addons; +diff --git a/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.h b/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.h +index e9b1c6d29a41..23cea36d1436 100644 +--- a/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.h ++++ b/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.h +@@ -21,7 +21,7 @@ class CHTTPWebinterfaceAddonsHandler : public IHTTPRequestHandler + IHTTPRequestHandler* Create(const HTTPRequest &request) const override { return new CHTTPWebinterfaceAddonsHandler(request); } + bool CanHandleRequest(const HTTPRequest &request) const override; + +- int HandleRequest() override; ++ MHD_RESULT HandleRequest() override; + + HttpResponseRanges GetResponseData() const override; + +diff --git a/xbmc/network/httprequesthandler/IHTTPRequestHandler.h b/xbmc/network/httprequesthandler/IHTTPRequestHandler.h +index 4b1e40a587a7..b3e19f34d3dd 100644 +--- a/xbmc/network/httprequesthandler/IHTTPRequestHandler.h ++++ b/xbmc/network/httprequesthandler/IHTTPRequestHandler.h +@@ -22,6 +22,14 @@ + + #include "utils/HttpRangeUtils.h" + ++#include ++ ++#if MHD_VERSION >= 0x00097002 ++#define MHD_RESULT enum MHD_Result ++#else ++#define MHD_RESULT int ++#endif ++ + class CDateTime; + class CWebServer; + +@@ -114,7 +122,7 @@ class IHTTPRequestHandler + * + * \return MHD_NO if a severe error has occurred otherwise MHD_YES. + */ +- virtual int HandleRequest() = 0; ++ virtual MHD_RESULT HandleRequest() = 0; + + /*! + * \brief Whether the HTTP response could also be provided in ranges. diff --git a/package/kodi/0004-Fix-ffmpeg-build-for-mips.patch b/package/kodi/0004-Fix-ffmpeg-build-for-mips.patch deleted file mode 100644 index 709a2d39da..0000000000 --- a/package/kodi/0004-Fix-ffmpeg-build-for-mips.patch +++ /dev/null @@ -1,43 +0,0 @@ -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 deleted file mode 100644 index 63f71cabe1..0000000000 --- a/package/kodi/0005-Fix-crosscompiling-issues.patch +++ /dev/null @@ -1,81 +0,0 @@ -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 279b4ead0d..f5b37cf7d2 100644 --- a/package/kodi/Config.in +++ b/package/kodi/Config.in @@ -5,11 +5,10 @@ config BR2_PACKAGE_KODI_ARCH_SUPPORTS depends on !(BR2_i386 && !BR2_X86_CPU_HAS_SSE) depends on BR2_USE_MMU # libcdio, and others -comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.8, host gcc >= 4.6" +comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.8" depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ || !BR2_USE_WCHAR || BR2_STATIC_LIBS \ - || !BR2_HOST_GCC_AT_LEAST_4_6 \ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ || BR2_TOOLCHAIN_USES_MUSL \ || !BR2_PACKAGE_PYTHON \ @@ -18,13 +17,6 @@ comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, t config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS bool -config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_AML - bool - default y - depends on BR2_PACKAGE_LIBAMCODEC - depends on BR2_PACKAGE_ODROID_MALI - select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS - config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_RBPI bool default y @@ -32,6 +24,27 @@ config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_RBPI # 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 + depends on BR2_PACKAGE_HAS_UDEV # libinput + select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS + +config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GL + bool + default y + depends on BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # waylandpp + depends on BR2_HOST_GCC_AT_LEAST_4_9 # waylandpp + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # waylandpp + depends on BR2_PACKAGE_WAYLAND # waylandpp + select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS + +config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GLES + bool + default y + depends on BR2_PACKAGE_HAS_LIBGLES + depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # waylandpp + depends on BR2_HOST_GCC_AT_LEAST_4_9 # waylandpp + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # waylandpp + depends on BR2_PACKAGE_WAYLAND # waylandpp select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL @@ -48,7 +61,6 @@ comment "kodi needs an OpenGL EGL backend with OpenGL support" menuconfig BR2_PACKAGE_KODI bool "kodi" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_HOST_GCC_AT_LEAST_4_6 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_USES_MUSL @@ -59,10 +71,12 @@ menuconfig BR2_PACKAGE_KODI 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_FLATBUFFERS + select BR2_PACKAGE_FMT select BR2_PACKAGE_FONTCONFIG select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_FSTRCMP select BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBASS select BR2_PACKAGE_LIBCDIO @@ -70,6 +84,7 @@ menuconfig BR2_PACKAGE_KODI select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBFRIBIDI select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_PACKAGE_LIBICONV_EXTRA_ENCODINGS if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBPLIST select BR2_PACKAGE_LIBSAMPLERATE select BR2_PACKAGE_LZO @@ -77,20 +92,18 @@ menuconfig BR2_PACKAGE_KODI select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_PCRE select BR2_PACKAGE_PCRE_UCP + select BR2_PACKAGE_PYTHON_2TO3 select BR2_PACKAGE_PYTHON_BSDDB - select BR2_PACKAGE_PYTHON_BZIP2 select BR2_PACKAGE_PYTHON_CURSES select BR2_PACKAGE_PYTHON_PYEXPAT - select BR2_PACKAGE_PYTHON_READLINE select BR2_PACKAGE_PYTHON_SQLITE select BR2_PACKAGE_PYTHON_SSL select BR2_PACKAGE_PYTHON_UNICODEDATA select BR2_PACKAGE_PYTHON_ZLIB - select BR2_PACKAGE_READLINE + select BR2_PACKAGE_RAPIDJSON select BR2_PACKAGE_SQLITE select BR2_PACKAGE_TAGLIB select BR2_PACKAGE_TINYXML - select BR2_PACKAGE_YAJL select BR2_PACKAGE_ZLIB select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support help @@ -120,7 +133,6 @@ config BR2_PACKAGE_KODI_AVAHI config BR2_PACKAGE_KODI_BLUEZ bool "bluetooth" depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5_utils - depends on !BR2_PACKAGE_BLUEZ_UTILS # bluez5_utils depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5_utils select BR2_PACKAGE_BLUEZ5_UTILS help @@ -148,29 +160,19 @@ config BR2_PACKAGE_KODI_LIBBLURAY config BR2_PACKAGE_KODI_LIBCEC bool "hdmi cec" - depends on BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_LIBCEC help Enable CEC (Consumer Electronics Control) support. Select this if you want Kodi to support HDMI CEC. -comment "hdmi cec support needs udev /dev management" - depends on !BR2_PACKAGE_HAS_UDEV - config BR2_PACKAGE_KODI_LCMS2 bool "lcms2" select BR2_PACKAGE_LCMS2 help Enable color management support. -config BR2_PACKAGE_KODI_LIRC - bool "lirc" - help - Enable lirc support - config BR2_PACKAGE_KODI_LIBMICROHTTPD bool "web server" - depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt, libmicrohttpd select BR2_PACKAGE_LIBMICROHTTPD help Enable webserver feature @@ -192,23 +194,28 @@ config BR2_PACKAGE_KODI_MYSQL help Enable MySQL support -config BR2_PACKAGE_KODI_NONFREE - bool "nonfree components" - help - 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 + select BR2_PACKAGE_LIBINPUT + select BR2_PACKAGE_LIBXKBCOMMON + +config BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL + bool "Wayland/OpenGL" + depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GL + select BR2_PACKAGE_LIBGLU + select BR2_PACKAGE_LIBXKBCOMMON + select BR2_PACKAGE_WAYLANDPP + +config BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES + bool "Wayland/GLES" + depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GLES + select BR2_PACKAGE_LIBXKBCOMMON + select BR2_PACKAGE_WAYLANDPP config BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL bool "X11/OpenGL" @@ -244,19 +251,6 @@ config BR2_PACKAGE_KODI_LIBSMBCLIENT help Enable Samba support -config BR2_PACKAGE_KODI_LIBSSH - bool "ssh" - select BR2_PACKAGE_LIBSSH - help - Enable sftp virtual filesystem using libssh. - -config BR2_PACKAGE_KODI_LIBTHEORA - bool "theora" - select BR2_PACKAGE_LIBTHEORA - help - Enable Theora input support. - Select this if you want to play back OGG/OGV files (Video). - config BR2_PACKAGE_KODI_LIBUSB bool "usb" # https://github.com/xbmc/xbmc/blob/Jarvis/configure.ac#L1554 @@ -269,13 +263,19 @@ config BR2_PACKAGE_KODI_LIBUSB config BR2_PACKAGE_KODI_LIBVA bool "va" - depends on BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL + depends on \ + BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL || \ + BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES || \ + BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL select BR2_PACKAGE_LIBVA help Enable libva support. -comment "libva support needs platform 'X11/OpenGL'" - depends on !BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL +comment "libva support needs platform 'Wayland' or 'X11/OpenGL'" + depends on \ + !BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL && \ + !BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES && \ + !BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL config BR2_PACKAGE_KODI_LIBVDPAU bool "vdpau" @@ -300,7 +300,6 @@ config BR2_PACKAGE_KODI_OPTICALDRIVE menu "Audio decoder addons" source "package/kodi-audiodecoder-modplug/Config.in" source "package/kodi-audiodecoder-nosefart/Config.in" - source "package/kodi-audiodecoder-opus/Config.in" source "package/kodi-audiodecoder-sidplay/Config.in" source "package/kodi-audiodecoder-snesapu/Config.in" source "package/kodi-audiodecoder-stsound/Config.in" @@ -355,7 +354,6 @@ menu "Screensavers" source "package/kodi-screensaver-greynetic/Config.in" source "package/kodi-screensaver-matrixtrails/Config.in" source "package/kodi-screensaver-pingpong/Config.in" - source "package/kodi-screensaver-planestate/Config.in" source "package/kodi-screensaver-pyro/Config.in" source "package/kodi-screensaver-rsxs/Config.in" source "package/kodi-screensaver-stars/Config.in" @@ -365,12 +363,17 @@ menu "Skins" source "package/kodi-skin-confluence/Config.in" endmenu +menu "Virtual file systems" + source "package/kodi-vfs-rar/Config.in" + source "package/kodi-vfs-sftp/Config.in" +endmenu + menu "Visualisations" source "package/kodi-visualisation-fishbmc/Config.in" source "package/kodi-visualisation-goom/Config.in" source "package/kodi-visualisation-shadertoy/Config.in" source "package/kodi-visualisation-spectrum/Config.in" - source "package/kodi-visualisation-waveforhue/Config.in" + source "package/kodi-visualisation-starburst/Config.in" source "package/kodi-visualisation-waveform/Config.in" endmenu diff --git a/package/kodi/kodi.hash b/package/kodi/kodi.hash index 8018c67a3a..357cd55c7b 100644 --- a/package/kodi/kodi.hash +++ b/package/kodi/kodi.hash @@ -1,10 +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 -sha256 312b3d15bc448d24e92f4b2e7248409525eccc4e75776026d805478e51c5ef3d 981488f.tar.gz -# Locally computed - libdvdread -sha256 e7179b2054163652596a56301c9f025515cb08c6d6310b42b897c3ad11c0199b 17d99db.tar.gz +sha256 47e6d7d4e01dbda92ff83a3e141ac43003e918133e78b3a4b79faff65184711c kodi-18.6-Leia.tar.gz +sha256 e11e7594af35f36ab2711252c3d6bb106908f26605498aef4a9be2d7bc001db2 kodi-ffmpeg-4.0.4-Leia-18.4.tar.gz +sha256 38816f8373e243bc5950449b4f3b18938c4e1c59348e3411e23f31db4072e40d kodi-libdvdcss-1.4.2-Leia-Beta-5.tar.gz +sha256 071e414e61b795f2ff9015b21a85fc009dde967f27780d23092643916538a57a kodi-libdvdnav-6.0.0-Leia-Alpha-3.tar.gz +sha256 a30b6aa0aad0f2c505bc77948af2d5531a80b6e68112addb4c123fca24d5d3bf kodi-libdvdread-6.0.0-Leia-Alpha-3.tar.gz +sha256 9d2396ef3e091d3b82bc84143e070700412984e8589513570f54e0675d1e8851 LICENSE.md diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk index 590af15b7c..0c4704ea84 100644 --- a/package/kodi/kodi.mk +++ b/package/kodi/kodi.mk @@ -6,26 +6,31 @@ # When updating the version, please also update kodi-jsonschemabuilder # and kodi-texturepacker -KODI_VERSION = 17.6-Krypton +KODI_VERSION = 18.6-Leia KODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION)) KODI_LICENSE = GPL-2.0 -KODI_LICENSE_FILES = LICENSE.GPL +KODI_LICENSE_FILES = LICENSE.md # needed for binary addons KODI_INSTALL_STAGING = YES +# kodi recommends building out-of-source +KODI_SUPPORTS_IN_SOURCE_BUILD = NO KODI_DEPENDENCIES = \ - bzip2 \ expat \ + flatbuffers \ + fmt \ fontconfig \ freetype \ + fstrcmp \ gnutls \ + host-flatbuffers \ host-gawk \ + host-gettext \ host-gperf \ host-kodi-jsonschemabuilder \ host-kodi-texturepacker \ host-nasm \ host-swig \ host-xmlstarlet \ - host-zip \ libass \ libcdio \ libcrossguid \ @@ -38,45 +43,48 @@ KODI_DEPENDENCIES = \ openssl \ pcre \ python \ - readline \ + rapidjson \ sqlite \ taglib \ tinyxml \ - yajl \ zlib -KODI_SUBDIR = project/cmake - -# taken from tools/depends/target/ffmpeg/FFMPEG-VERSION -KODI_FFMPEG_VERSION = 3.1.11-Krypton-17.5 +# taken from tools/depends/target/*/*-VERSION +KODI_FFMPEG_VERSION = 4.0.4-Leia-18.4 +KODI_LIBDVDCSS_VERSION = 1.4.2-Leia-Beta-5 +KODI_LIBDVDNAV_VERSION = 6.0.0-Leia-Alpha-3 +KODI_LIBDVDREAD_VERSION = 6.0.0-Leia-Alpha-3 KODI_EXTRA_DOWNLOADS += \ - https://github.com/xbmc/FFmpeg/archive/$(KODI_FFMPEG_VERSION).tar.gz + $(call github,xbmc,FFmpeg,$(KODI_FFMPEG_VERSION))/kodi-ffmpeg-$(KODI_FFMPEG_VERSION).tar.gz \ + $(call github,xbmc,libdvdcss,$(KODI_LIBDVDCSS_VERSION))/kodi-libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.gz \ + $(call github,xbmc,libdvdnav,$(KODI_LIBDVDNAV_VERSION))/kodi-libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.gz \ + $(call github,xbmc,libdvdread,$(KODI_LIBDVDREAD_VERSION))/kodi-libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.gz -KODI_LIBDVDCSS_VERSION = 2f12236 -KODI_LIBDVDNAV_VERSION = 981488f -KODI_LIBDVDREAD_VERSION = 17d99db -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 +define KODI_CPLUFF_AUTOCONF + cd $(KODI_SRCDIR)/lib/cpluff && ./autogen.sh +endef +KODI_PRE_CONFIGURE_HOOKS += KODI_CPLUFF_AUTOCONF +KODI_DEPENDENCIES += host-automake host-autoconf host-libtool KODI_CONF_OPTS += \ -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) $(KODI_C_FLAGS)" \ -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(KODI_CXX_FLAGS)" \ + -DENABLE_APP_AUTONAME=OFF \ -DENABLE_CCACHE=OFF \ -DENABLE_DVDCSS=ON \ -DENABLE_INTERNAL_CROSSGUID=OFF \ -DENABLE_INTERNAL_FFMPEG=ON \ - -DFFMPEG_URL=$(KODI_DL_DIR)/$(KODI_FFMPEG_VERSION).tar.gz \ + -DENABLE_INTERNAL_FLATBUFFERS=OFF \ + -DFFMPEG_URL=$(KODI_DL_DIR)/kodi-ffmpeg-$(KODI_FFMPEG_VERSION).tar.gz \ -DKODI_DEPENDSBUILD=OFF \ - -DENABLE_OPENSSL=ON \ + -DENABLE_LDGOLD=OFF \ -DNATIVEPREFIX=$(HOST_DIR) \ -DDEPENDS_PATH=$(STAGING_DIR)/usr \ + -DWITH_JSONSCHEMABUILDER=$(HOST_DIR)/bin/JsonSchemaBuilder \ -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 \ - -DLIBDVDREAD_URL=$(KODI_DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz \ - -DENABLE_IMX=OFF + -DLIBDVDCSS_URL=$(KODI_DL_DIR)/kodi-libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.gz \ + -DLIBDVDNAV_URL=$(KODI_DL_DIR)/kodi-libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.gz \ + -DLIBDVDREAD_URL=$(KODI_DL_DIR)/kodi-libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.gz ifeq ($(BR2_ENABLE_LOCALE),) KODI_DEPENDENCIES += libiconv @@ -88,8 +96,7 @@ ifeq ($(BR2_PACKAGE_KODI_PLATFORM_RBPI),y) ifeq ($(BR2_arm1176jzf_s)$(BR2_cortex_a7)$(BR2_cortex_a53),y) KODI_CONF_OPTS += -DWITH_CPU="$(GCC_TARGET_CPU)" endif -else -ifeq ($(BR2_arceb)$(BR2_arcle),y) +else ifeq ($(BR2_arceb)$(BR2_arcle),y) KODI_CONF_OPTS += -DWITH_ARCH=arc -DWITH_CPU=arc else ifeq ($(BR2_armeb),y) KODI_CONF_OPTS += -DWITH_ARCH=arm -DWITH_CPU=arm @@ -108,7 +115,6 @@ else # see project/cmake/scripts/linux/ArchSetup.cmake KODI_CONF_OPTS += -DWITH_CPU=$(BR2_ARCH) endif -endif ifeq ($(BR2_X86_CPU_HAS_SSE),y) KODI_CONF_OPTS += -D_SSE_OK=ON -D_SSE_TRUE=ON @@ -163,37 +169,31 @@ 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 +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_RBPI),y) +KODI_CONF_OPTS += -DCORE_PLATFORM_NAME=rbpi +KODI_DEPENDENCIES += libinput libxkbcommon rpi-userland 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 +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL),y) +KODI_CONF_OPTS += \ + -DCORE_PLATFORM_NAME=wayland \ + -DWAYLAND_RENDER_SYSTEM=gl +KODI_DEPENDENCIES += libegl libgl libglu libxkbcommon waylandpp +endif + +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES),y) +KODI_CONF_OPTS += \ + -DCORE_PLATFORM_NAME=wayland \ + -DWAYLAND_RENDER_SYSTEM=gles +KODI_C_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl` +KODI_CXX_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl` +KODI_DEPENDENCIES += libegl libgles libxkbcommon waylandpp endif ifeq ($(BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL),y) -KODI_CONF_OPTS += \ - -DENABLE_OPENGL=ON \ - -DENABLE_OPENGLES=OFF \ - -DENABLE_X11=ON +KODI_CONF_OPTS += -DCORE_PLATFORM_NAME=x11 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) @@ -203,14 +203,6 @@ else KODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=OFF endif -ifeq ($(BR2_PACKAGE_KODI_NONFREE),y) -KODI_CONF_OPTS += -DENABLE_NONFREE=ON -KODI_LICENSE := $(KODI_LICENSE), unrar -KODI_LICENSE_FILES += lib/UnrarXLib/license.txt -else -KODI_CONF_OPTS += -DENABLE_NONFREE=OFF -endif - ifeq ($(BR2_PACKAGE_HAS_UDEV),y) KODI_CONF_OPTS += -DENABLE_UDEV=ON KODI_DEPENDENCIES += udev @@ -298,13 +290,6 @@ else KODI_CONF_OPTS += -DENABLE_AIRTUNES=OFF endif -ifeq ($(BR2_PACKAGE_KODI_LIBSSH),y) -KODI_DEPENDENCIES += libssh -KODI_CONF_OPTS += -DENABLE_SSH=ON -else -KODI_CONF_OPTS += -DENABLE_SSH=OFF -endif - ifeq ($(BR2_PACKAGE_KODI_AVAHI),y) KODI_DEPENDENCIES += avahi KODI_CONF_OPTS += -DENABLE_AVAHI=ON @@ -326,14 +311,8 @@ else KODI_CONF_OPTS += -DENABLE_LCMS2=OFF endif -ifeq ($(BR2_PACKAGE_KODI_LIRC),y) -KODI_CONF_OPTS += -DENABLE_LIRC=ON -else -KODI_CONF_OPTS += -DENABLE_LIRC=OFF -endif - -ifeq ($(BR2_PACKAGE_KODI_LIBTHEORA),y) -KODI_DEPENDENCIES += libtheora +ifeq ($(BR2_PACKAGE_LIRC_TOOLS),y) +KODI_DEPENDENCIES += lirc-tools endif # kodi needs libva & libva-glx @@ -408,11 +387,6 @@ endef define KODI_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/kodi/kodi.service \ $(TARGET_DIR)/usr/lib/systemd/system/kodi.service - - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - - ln -fs ../../../../usr/lib/systemd/system/kodi.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/kodi.service endef $(eval $(cmake-package)) diff --git a/package/kompexsqlite/kompexsqlite.hash b/package/kompexsqlite/kompexsqlite.hash index 3c94adf091..8869e9b7d9 100644 --- a/package/kompexsqlite/kompexsqlite.hash +++ b/package/kompexsqlite/kompexsqlite.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 73bec94fe5dd3a24bd8668b3a131a84dbe39a992579eebab1236aa0e73b2c9cc v1.10.12-1.tar.gz +sha256 73bec94fe5dd3a24bd8668b3a131a84dbe39a992579eebab1236aa0e73b2c9cc kompexsqlite-1.10.12-1.tar.gz +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.txt diff --git a/package/kompexsqlite/kompexsqlite.mk b/package/kompexsqlite/kompexsqlite.mk index 51b80aa86b..a40088fa2d 100644 --- a/package/kompexsqlite/kompexsqlite.mk +++ b/package/kompexsqlite/kompexsqlite.mk @@ -4,9 +4,9 @@ # ################################################################################ -KOMPEXSQLITE_VERSION = v1.10.12-1 -KOMPEXSQLITE_SOURCE = $(KOMPEXSQLITE_VERSION).tar.gz -KOMPEXSQLITE_SITE = https://github.com/Aethelflaed/kompex-sqlite-wrapper/archive +KOMPEXSQLITE_VERSION = 1.10.12-1 +KOMPEXSQLITE_SITE = \ + $(call github,Aethelflaed,kompex-sqlite-wrapper,v$(KOMPEXSQLITE_VERSION)) KOMPEXSQLITE_INSTALL_STAGING = YES KOMPEXSQLITE_LICENSE = LGPL-3.0+ (wrapper), Public Domain (bundled sqlite) KOMPEXSQLITE_LICENSE_FILES = LICENSE.txt diff --git a/package/ktap/ktap.mk b/package/ktap/ktap.mk index 3b9134da65..09daba5c53 100644 --- a/package/ktap/ktap.mk +++ b/package/ktap/ktap.mk @@ -25,5 +25,12 @@ endef KTAP_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED) +define KTAP_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS) + $(call KCONFIG_ENABLE_OPT,CONFIG_ENABLE_DEFAULT_TRACERS) + $(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS) + $(call KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER) +endef + $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/package/kvazaar/kvazaar.hash b/package/kvazaar/kvazaar.hash index aa746ca17e..fe3255a6c7 100644 --- a/package/kvazaar/kvazaar.hash +++ b/package/kvazaar/kvazaar.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 480ecfd9b4d2b7d21b355e4a35fcf47b4db7a3b0315b6219d93733db42392bd9 kvazaar-v1.2.0.tar.gz +sha256 480ecfd9b4d2b7d21b355e4a35fcf47b4db7a3b0315b6219d93733db42392bd9 kvazaar-1.2.0.tar.gz sha256 531712277c3543b9ee86c4c4e0e424f531b893a44cc021c74a24b038d8de4d2a COPYING diff --git a/package/kvazaar/kvazaar.mk b/package/kvazaar/kvazaar.mk index 0cf965dd86..29433d6eb3 100644 --- a/package/kvazaar/kvazaar.mk +++ b/package/kvazaar/kvazaar.mk @@ -4,8 +4,8 @@ # ################################################################################ -KVAZAAR_VERSION = v1.2.0 -KVAZAAR_SITE = $(call github,ultravideo,kvazaar,$(KVAZAAR_VERSION)) +KVAZAAR_VERSION = 1.2.0 +KVAZAAR_SITE = $(call github,ultravideo,kvazaar,v$(KVAZAAR_VERSION)) KVAZAAR_LICENSE = LGPL-2.1+ KVAZAAR_LICENSE_FILES = COPYING KVAZAAR_AUTORECONF = YES diff --git a/package/kvm-unit-tests/0003-Makefile-fix-stack-protector-tests.patch b/package/kvm-unit-tests/0003-Makefile-fix-stack-protector-tests.patch new file mode 100644 index 0000000000..be819f27c6 --- /dev/null +++ b/package/kvm-unit-tests/0003-Makefile-fix-stack-protector-tests.patch @@ -0,0 +1,36 @@ +From 9bf9155804652c0b3a94af9723c79b6de430187b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 24 Feb 2020 00:04:06 +0100 +Subject: [PATCH] Makefile: fix stack-protector tests + +Rename fnostack_protector into fno_stack_protector and +fnostack_protector_all into fnostack_protector_all otherwise build will +fail if -fstack-protector is passed by the toolchain + +Fixes: + - http://autobuild.buildroot.org/results/ad689b08173548af21dd1fb0e827fd561de6dfef + +Signed-off-by: Fabrice Fontaine +[Upstream status: sent to kvm@vger.kernel.org] +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 767b6c6..754ed65 100644 +--- a/Makefile ++++ b/Makefile +@@ -55,8 +55,8 @@ COMMON_CFLAGS += -Wignored-qualifiers -Werror + + frame-pointer-flag=-f$(if $(KEEP_FRAME_POINTER),no-,)omit-frame-pointer + fomit_frame_pointer := $(call cc-option, $(frame-pointer-flag), "") +-fnostack_protector := $(call cc-option, -fno-stack-protector, "") +-fnostack_protector_all := $(call cc-option, -fno-stack-protector-all, "") ++fno_stack_protector := $(call cc-option, -fno-stack-protector, "") ++fno_stack_protector_all := $(call cc-option, -fno-stack-protector-all, "") + wno_frame_address := $(call cc-option, -Wno-frame-address, "") + fno_pic := $(call cc-option, -fno-pic, "") + no_pie := $(call cc-option, -no-pie, "") +-- +2.25.0 + diff --git a/package/kvm-unit-tests/Config.in b/package/kvm-unit-tests/Config.in index 8b7908eee9..e470dd6157 100644 --- a/package/kvm-unit-tests/Config.in +++ b/package/kvm-unit-tests/Config.in @@ -14,7 +14,6 @@ config BR2_PACKAGE_KVM_UNIT_TESTS # gcc 4.5 at least. on i386, we use the target gcc, while on # x86-64 we use the host gcc (see .mk file for details) depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || !BR2_i386 - depends on BR2_HOST_GCC_AT_LEAST_4_5 || !BR2_x86_64 depends on BR2_HOSTARCH = "x86_64" || !BR2_x86_64 select BR2_HOSTARCH_NEEDS_IA32_COMPILER if BR2_x86_64=y help @@ -38,7 +37,3 @@ config BR2_PACKAGE_KVM_UNIT_TESTS comment "kvm-unit-tests needs a toolchain w/ gcc >= 4.5" depends on BR2_i386 depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 - -comment "kvm-unit-tests needs a host gcc >= 4.5" - depends on BR2_x86_64 - depends on !BR2_HOST_GCC_AT_LEAST_4_5 diff --git a/package/kvm-unit-tests/kvm-unit-tests.hash b/package/kvm-unit-tests/kvm-unit-tests.hash index bb827de939..3458778937 100644 --- a/package/kvm-unit-tests/kvm-unit-tests.hash +++ b/package/kvm-unit-tests/kvm-unit-tests.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 346c543de9e953db283072e1c591cab9d0eb775f7fb1fff3d7560f38bdf6bdf2 kvm-unit-tests-kvm-unit-tests-20171020.tar.gz +sha256 346c543de9e953db283072e1c591cab9d0eb775f7fb1fff3d7560f38bdf6bdf2 kvm-unit-tests-kvm-unit-tests-20171020.tar.gz +sha256 d9bbb60891710d248f01c8bdac50ef7ad39188de512610437872e83112b38a1b COPYRIGHT diff --git a/package/kvm-unit-tests/kvm-unit-tests.mk b/package/kvm-unit-tests/kvm-unit-tests.mk index 92d67fb34b..a972602fb9 100644 --- a/package/kvm-unit-tests/kvm-unit-tests.mk +++ b/package/kvm-unit-tests/kvm-unit-tests.mk @@ -5,7 +5,7 @@ ################################################################################ KVM_UNIT_TESTS_VERSION = kvm-unit-tests-20171020 -KVM_UNIT_TESTS_SITE = $(BR2_KERNEL_MIRROR)/scm/virt/kvm/kvm-unit-tests.git +KVM_UNIT_TESTS_SITE = https://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git KVM_UNIT_TESTS_SITE_METHOD = git KVM_UNIT_TESTS_LICENSE = LGPL-2.0 KVM_UNIT_TESTS_LICENSE_FILES = COPYRIGHT @@ -35,7 +35,7 @@ KVM_UNIT_TESTS_CONF_OPTS =\ # compiler. However, for x86-64, we use the host compiler, as # kvm-unit-tests builds 32 bit code, which Buildroot toolchains for # x86-64 cannot do. -ifneq ($(BR2_x86_64),y) +ifeq ($(BR2_x86_64),) KVM_UNIT_TESTS_CONF_OPTS += --cross-prefix="$(TARGET_CROSS)" endif @@ -44,11 +44,12 @@ define KVM_UNIT_TESTS_CONFIGURE_CMDS endef define KVM_UNIT_TESTS_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) standalone + $(TARGET_MAKE_ENV) $(MAKE) $(KVM_UNIT_TESTS_MAKE_OPTS) -C $(@D) \ + standalone endef define KVM_UNIT_TESTS_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + $(TARGET_MAKE_ENV) $(MAKE) $(KVM_UNIT_TESTS_MAKE_OPTS) -C $(@D) \ DESTDIR=$(TARGET_DIR)/usr/share/kvm-unit-tests/ \ install endef diff --git a/package/kvmtool/kvmtool.hash b/package/kvmtool/kvmtool.hash index 428277354d..fd841c354c 100644 --- a/package/kvmtool/kvmtool.hash +++ b/package/kvmtool/kvmtool.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 2d55e4521ac040b870db015e1f075d69b89f940242d7ce5708f7d7060d62c0cc kvmtool-f77d646ba01d04be5aad9449ac00719c043fe36e.tar.gz +sha256 2d55e4521ac040b870db015e1f075d69b89f940242d7ce5708f7d7060d62c0cc kvmtool-f77d646ba01d04be5aad9449ac00719c043fe36e.tar.gz +sha256 0d5bf346df9e635a29dcdddf832dc5b002ca6cdc1c5c9c6c567d2a61bb0c5c15 COPYING diff --git a/package/kvmtool/kvmtool.mk b/package/kvmtool/kvmtool.mk index 5894e4771d..2984817c7e 100644 --- a/package/kvmtool/kvmtool.mk +++ b/package/kvmtool/kvmtool.mk @@ -5,7 +5,7 @@ ################################################################################ KVMTOOL_VERSION = f77d646ba01d04be5aad9449ac00719c043fe36e -KVMTOOL_SITE = $(BR2_KERNEL_MIRROR)/scm/linux/kernel/git/will/kvmtool.git +KVMTOOL_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git KVMTOOL_SITE_METHOD = git KVMTOOL_DEPENDENCIES = \ $(if $(BR2_PACKAGE_BINUTILS),binutils) \ diff --git a/package/kyua/kyua.hash b/package/kyua/kyua.hash index 298d0d85c6..66681692fc 100644 --- a/package/kyua/kyua.hash +++ b/package/kyua/kyua.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 2b8b64a458b642df75086eeb73e8073d105b8d9cff04c9b1a905b68bc8502560 kyua-0.11.tar.gz +sha256 db6e5d341d5cf7e49e50aa361243e19087a00ba33742b0855d2685c0b8e721d6 kyua-0.13.tar.gz +sha256 a6a8f43f6d2ed9b801978cc012cc816c4a9421a6dcea0579d3a40eab4b349674 LICENSE diff --git a/package/kyua/kyua.mk b/package/kyua/kyua.mk index 9e1c810ac4..5caa203917 100644 --- a/package/kyua/kyua.mk +++ b/package/kyua/kyua.mk @@ -4,12 +4,12 @@ # ################################################################################ -KYUA_VERSION = 0.11 +KYUA_VERSION = 0.13 KYUA_SITE = https://github.com/jmmv/kyua/releases/download/kyua-$(KYUA_VERSION) KYUA_DEPENDENCIES = host-pkgconf atf lutok sqlite KYUA_CONF_OPTS = --without-doxygen --without-atf KYUA_LICENSE = BSD-3-Clause -KYUA_LICENSE_FILES = COPYING +KYUA_LICENSE_FILES = LICENSE KYUA_CONF_ENV = \ kyua_cv_attribute_noreturn=yes \ kyua_cv_getcwd_dyn=yes \ diff --git a/package/lapack/Config.in b/package/lapack/Config.in index 9687ace82d..6cd0810cb1 100644 --- a/package/lapack/Config.in +++ b/package/lapack/Config.in @@ -5,6 +5,7 @@ comment "lapack/blas needs a toolchain w/ fortran" config BR2_PACKAGE_LAPACK bool "lapack/blas" depends on BR2_TOOLCHAIN_HAS_FORTRAN + depends on !BR2_PACKAGE_CLAPACK # _fpu_control is used on PowerPC, but not available with uClibc depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC) help diff --git a/package/lapack/lapack.hash b/package/lapack/lapack.hash index fd3feef554..bac7210c29 100644 --- a/package/lapack/lapack.hash +++ b/package/lapack/lapack.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 f6c53fd9f56932f3ddb3d5e24c1c07e4cd9b3b08e7f89de9c867125eecc9a1c8 lapack-3.7.1.tgz +sha256 106087f1bb5f46afdfba7f569d0cbe23dacb9a07cd24733765a0e89dbe1ad573 lapack-3.9.0.tar.gz +sha256 d56bd4441b999b80c88df04faf0d8b3d7d3b2bd781cf91242c4188e8a6d0f8be LICENSE diff --git a/package/lapack/lapack.mk b/package/lapack/lapack.mk index 4e74bbd659..41774f6167 100644 --- a/package/lapack/lapack.mk +++ b/package/lapack/lapack.mk @@ -4,11 +4,10 @@ # ################################################################################ -LAPACK_VERSION = 3.7.1 -LAPACK_SOURCE = lapack-$(LAPACK_VERSION).tgz +LAPACK_VERSION = 3.9.0 LAPACK_LICENSE = BSD-3-Clause LAPACK_LICENSE_FILES = LICENSE -LAPACK_SITE = http://www.netlib.org/lapack +LAPACK_SITE = $(call github,Reference-LAPACK,lapack,v$(LAPACK_VERSION)) LAPACK_INSTALL_STAGING = YES LAPACK_SUPPORTS_IN_SOURCE_BUILD = NO LAPACK_CONF_OPTS = -DLAPACKE=ON -DCBLAS=ON diff --git a/package/latencytop/latencytop.hash b/package/latencytop/latencytop.hash index 4be004cafc..74b8a03a23 100644 --- a/package/latencytop/latencytop.hash +++ b/package/latencytop/latencytop.hash @@ -1,2 +1,3 @@ # locally computed sha256 9e7f72fbea7bd918e71212a1eabaad8488d2c602205d2e3c95d62cd57e9203ef latencytop-0.5.tar.gz +sha256 34d1db30ab21eaedb2c191b2787632a960090a0c63da9f5b481d84b23b98c438 latencytop.c diff --git a/package/lbase64/lbase64.hash b/package/lbase64/lbase64.hash index d835d40b25..34ef21324c 100644 --- a/package/lbase64/lbase64.hash +++ b/package/lbase64/lbase64.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 b83dbc87330a322e5222cd891a6e258b533f5b6c46e8f3c18fc0265e4c991aaa lbase64.tar.gz +sha256 b83dbc87330a322e5222cd891a6e258b533f5b6c46e8f3c18fc0265e4c991aaa lbase64.tar.gz +sha256 a2b4f2d25b56c40801ce4f403541cbc301313048acfaa59c9509024bec57b662 README diff --git a/package/lbreakout2/lbreakout2.hash b/package/lbreakout2/lbreakout2.hash index 0d305dcd73..56d0a9501f 100644 --- a/package/lbreakout2/lbreakout2.hash +++ b/package/lbreakout2/lbreakout2.hash @@ -2,4 +2,5 @@ md5 1a9238b83f9f13f09b7a4d53e00b4e84 lbreakout2-2.6.5.tar.gz sha1 d92326499165fd368be04378d633e13d42b4d2d7 lbreakout2-2.6.5.tar.gz # Locally computed: -sha256 9104d6175553da3442dc6a5fc407a669e2f5aff3eedc5d30409eb003b7a78d6f lbreakout2-2.6.5.tar.gz +sha256 9104d6175553da3442dc6a5fc407a669e2f5aff3eedc5d30409eb003b7a78d6f lbreakout2-2.6.5.tar.gz +sha256 67f82e045cf7acfef853ea0f426575a8359161a0a325e19f02b529a87c4b6c34 COPYING diff --git a/package/lcdapi/lcdapi.hash b/package/lcdapi/lcdapi.hash index c04ea021f7..fc86b66d0e 100644 --- a/package/lcdapi/lcdapi.hash +++ b/package/lcdapi/lcdapi.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 6afdd4238af1fa7ea5f10378601381fc3f535a10504dc7d4ea8eab56e0dda091 lcdapi-v0.11.tar.gz +sha256 6afdd4238af1fa7ea5f10378601381fc3f535a10504dc7d4ea8eab56e0dda091 lcdapi-0.11.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/lcdapi/lcdapi.mk b/package/lcdapi/lcdapi.mk index b27abcdbf2..f6b14cd2c9 100644 --- a/package/lcdapi/lcdapi.mk +++ b/package/lcdapi/lcdapi.mk @@ -4,17 +4,11 @@ # ################################################################################ -LCDAPI_VERSION = v0.11 -LCDAPI_SITE = $(call github,spdawson,lcdapi,$(LCDAPI_VERSION)) +LCDAPI_VERSION = 0.11 +LCDAPI_SITE = $(call github,spdawson,lcdapi,v$(LCDAPI_VERSION)) LCDAPI_LICENSE = LGPL-2.1+ LCDAPI_LICENSE_FILES = COPYING LCDAPI_AUTORECONF = YES LCDAPI_INSTALL_STAGING = YES -define LCDAPI_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef - -LCDAPI_POST_PATCH_HOOKS += LCDAPI_CREATE_M4_DIR - $(eval $(autotools-package)) diff --git a/package/lcdproc/lcdproc.hash b/package/lcdproc/lcdproc.hash index 00f685448d..a90d43c1f2 100644 --- a/package/lcdproc/lcdproc.hash +++ b/package/lcdproc/lcdproc.hash @@ -1,3 +1,4 @@ # Locally computed: sha256 843007d377adc856529ed0c7c42c9a7563043f06b1b73add0372bba3a3029804 lcdproc-0.5.7.tar.gz sha256 d48a915496c96ff775b377d2222de3150ae5172bfb84a6ec9f9ceab962f97b83 lcdproc-0.5.9.tar.gz +sha256 1b2a567f289f66a143c56353e7b3d4fa5862514a5e3c5cfdf8b02ee5e5aaa953 COPYING diff --git a/package/leafnode2/Config.in b/package/leafnode2/Config.in index 93d3090a00..e244bdc45b 100644 --- a/package/leafnode2/Config.in +++ b/package/leafnode2/Config.in @@ -9,9 +9,9 @@ config BR2_PACKAGE_LEAFNODE2 Leafnode-2 needs inetd, check chapter 14 of the documentation at: - http://www.dt.e-technik.uni-dortmund.de/~ma/leafnode/beta/leafnode-readme.txt + http://krusty.dt.e-technik.tu-dortmund.de/~ma/leafnode/beta/leafnode-readme.txt For example, you can add this line to inetd.conf: nntp stream tcp nowait news /usr/sbin/leafnode - http://www.dt.e-technik.tu-dortmund.de/~ma/leafnode/beta + http://krusty.dt.e-technik.tu-dortmund.de/~ma/leafnode/beta diff --git a/package/leafnode2/leafnode2.hash b/package/leafnode2/leafnode2.hash index 9c94fb9ec4..7dfa7cce8d 100644 --- a/package/leafnode2/leafnode2.hash +++ b/package/leafnode2/leafnode2.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 34eba2cbbb871b724c8d5dd402d1c358aeb21ba426beb5658e155ed0d7461075 leafnode-2.0.0.alpha20140727b.tar.bz2 +sha256 34eba2cbbb871b724c8d5dd402d1c358aeb21ba426beb5658e155ed0d7461075 leafnode-2.0.0.alpha20140727b.tar.bz2 +sha256 59d37f745dc5a2d63a51dff344f4ad89f72e76f8c7b7d877f20880d838b1bec9 COPYING +sha256 0c92246a9d3636e0aa6a244f6c481639b2e530fbbb25bc048ce7acd83e1fc5f6 COPYING.LGPL diff --git a/package/leafpad/leafpad.hash b/package/leafpad/leafpad.hash index be56d41454..e21c07ad2c 100644 --- a/package/leafpad/leafpad.hash +++ b/package/leafpad/leafpad.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 959d22ae07f22803bc66ff40d373a854532a6e4732680bf8a96a3fbcb9f80a2c leafpad-0.8.18.1.tar.gz +sha256 959d22ae07f22803bc66ff40d373a854532a6e4732680bf8a96a3fbcb9f80a2c leafpad-0.8.18.1.tar.gz +# Locally computed +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/lensfun/lensfun.hash b/package/lensfun/lensfun.hash index a60f8f4613..1a27373f23 100644 --- a/package/lensfun/lensfun.hash +++ b/package/lensfun/lensfun.hash @@ -2,4 +2,6 @@ sha1 1d978b15aa7304d66a4931fa37ca9f8f89396c16 lensfun-0.3.2.tar.gz md5 247e59a0812ec451f6cd0d20b3379cb5 lensfun-0.3.2.tar.gz # Locally calculated -sha256 ae8bcad46614ca47f5bda65b00af4a257a9564a61725df9c74cb260da544d331 lensfun-0.3.2.tar.gz +sha256 ae8bcad46614ca47f5bda65b00af4a257a9564a61725df9c74cb260da544d331 lensfun-0.3.2.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 docs/gpl-3.0.txt +sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c docs/lgpl-3.0.txt diff --git a/package/leptonica/leptonica.hash b/package/leptonica/leptonica.hash index 14c750c2c2..56f8643355 100644 --- a/package/leptonica/leptonica.hash +++ b/package/leptonica/leptonica.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 dd7990ab6b6824b0cfed70920824d37b47184240f98db4085f7dbf1250cd4899 leptonica-1.77.0.tar.gz +sha256 e2ed2e81e7a22ddf45d2c05f0bc8b9ae7450545d995bfe28517ba408d14a5a88 leptonica-1.78.0.tar.gz sha256 ca0ac11c7c0acad9599d54990942cc11c9f6d9b569f1a360d774a628819c3518 leptonica-license.txt diff --git a/package/leptonica/leptonica.mk b/package/leptonica/leptonica.mk index 7c6fa12bbe..309c65052b 100644 --- a/package/leptonica/leptonica.mk +++ b/package/leptonica/leptonica.mk @@ -4,7 +4,7 @@ # ################################################################################ -LEPTONICA_VERSION = 1.77.0 +LEPTONICA_VERSION = 1.78.0 LEPTONICA_SITE = http://www.leptonica.org/source LEPTONICA_LICENSE = BSD-2-Clause LEPTONICA_LICENSE_FILES = leptonica-license.txt diff --git a/package/less/less.hash b/package/less/less.hash index 3a6c799aae..57a857efe4 100644 --- a/package/less/less.hash +++ b/package/less/less.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature -sha256 f3dc8455cb0b2b66e0c6b816c00197a71bf6d1787078adeee0bcf2aea4b12706 less-487.tar.gz +# using DSA key F153A7C833235259 +# http://www.greenwoodsoftware.com/less/less-551.sig +sha256 ff165275859381a63f19135a8f1f6c5a194d53ec3187f94121ecd8ef0795fe3d less-551.tar.gz +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/less/less.mk b/package/less/less.mk index ef3643c0aa..3e58d39ca5 100644 --- a/package/less/less.mk +++ b/package/less/less.mk @@ -4,8 +4,8 @@ # ################################################################################ -LESS_VERSION = 487 -LESS_SITE = $(BR2_GNU_MIRROR)/less +LESS_VERSION = 551 +LESS_SITE = http://www.greenwoodsoftware.com/less LESS_LICENSE = GPL-3.0+ LESS_LICENSE_FILES = COPYING LESS_DEPENDENCIES = ncurses diff --git a/package/lesstif/lesstif.hash b/package/lesstif/lesstif.hash index c2ede8b6a8..31a394dbbc 100644 --- a/package/lesstif/lesstif.hash +++ b/package/lesstif/lesstif.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 eb4aa38858c29a4a3bcf605cfe7d91ca41f4522d78d770f69721e6e3a4ecf7e3 lesstif-0.95.2.tar.bz2 +sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 COPYING.LIB diff --git a/package/let-me-create/let-me-create.hash b/package/let-me-create/let-me-create.hash index 45b5e55bcf..899761786a 100644 --- a/package/let-me-create/let-me-create.hash +++ b/package/let-me-create/let-me-create.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 5f42858a2062f34d2578e9cb1aed3ccb8d2409d908aa4c41a924418666d5f2bd let-me-create-v1.5.2.tar.gz +sha256 5f42858a2062f34d2578e9cb1aed3ccb8d2409d908aa4c41a924418666d5f2bd let-me-create-1.5.2.tar.gz +sha256 8ffc162e1435e810845b09a4c0d534df057a030f4c107778677b6621dc203426 LICENSE diff --git a/package/let-me-create/let-me-create.mk b/package/let-me-create/let-me-create.mk index 2dd07ef48a..faa5e14d96 100644 --- a/package/let-me-create/let-me-create.mk +++ b/package/let-me-create/let-me-create.mk @@ -4,8 +4,8 @@ # ################################################################################ -LET_ME_CREATE_VERSION = v1.5.2 -LET_ME_CREATE_SITE = $(call github,CreatorDev,LetMeCreate,$(LET_ME_CREATE_VERSION)) +LET_ME_CREATE_VERSION = 1.5.2 +LET_ME_CREATE_SITE = $(call github,CreatorDev,LetMeCreate,v$(LET_ME_CREATE_VERSION)) LET_ME_CREATE_INSTALL_STAGING = YES LET_ME_CREATE_LICENSE = BSD-3-Clause LET_ME_CREATE_LICENSE_FILES = LICENSE diff --git a/package/leveldb/0002-Add-install-recipe.patch b/package/leveldb/0002-Add-install-recipe.patch deleted file mode 100644 index 29bf4a4831..0000000000 --- a/package/leveldb/0002-Add-install-recipe.patch +++ /dev/null @@ -1,42 +0,0 @@ -From bf646b73391d3d2d0b9780a399dd24880c66b9ab Mon Sep 17 00:00:00 2001 -From: Steve James -Date: Sun, 5 Apr 2015 16:30:46 +0200 -Subject: [PATCH 2/2] Add install recipe - -Upstream-Status: Rejected [https://github.com/google/leveldb/pull/276] - -Signed-off-by: Steve James -Signed-off-by: Thomas Petazzoni -[baruch: update for v1.19] -Signed-off-by: Baruch Siach -[Bernd: update for v1.20] -Signed-off-by: Bernd Kuhls ---- - Makefile | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/Makefile b/Makefile -index 07a5a1ead6fd..c87023db527a 100644 ---- a/Makefile -+++ b/Makefile -@@ -412,3 +412,17 @@ $(SHARED_OUTDIR)/%.o: %.cc - - $(SHARED_OUTDIR)/port/port_posix_sse.o: port/port_posix_sse.cc - $(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(PLATFORM_SSEFLAGS) -c $< -o $@ -+ -+INSTALL_ROOT = / -+INSTALL_PREFIX= usr/local -+ -+install: all -+ install -d -m 0755 $(INSTALL_ROOT)$(INSTALL_PREFIX)/include/leveldb -+ install -D -m 0644 include/leveldb/*.h $(INSTALL_ROOT)$(INSTALL_PREFIX)/include/leveldb -+ install -d -m 0755 $(INSTALL_ROOT)$(INSTALL_PREFIX)/lib -+ install -m 0644 $(STATIC_OUTDIR)/libleveldb.a $(INSTALL_ROOT)$(INSTALL_PREFIX)/lib -+ifneq (,$(SHARED_LIBS)) -+ install -m 0755 $(SHARED_OUTDIR)/$(SHARED_LIB3) $(INSTALL_ROOT)$(INSTALL_PREFIX)/lib -+ ln -sf $(SHARED_LIB3) $(INSTALL_ROOT)$(INSTALL_PREFIX)/lib/$(SHARED_LIB1) -+ ln -sf $(SHARED_LIB3) $(INSTALL_ROOT)$(INSTALL_PREFIX)/lib/$(SHARED_LIB2) -+endif --- -2.1.0 - diff --git a/package/leveldb/0002-CMake-install-libmemenv.a.patch b/package/leveldb/0002-CMake-install-libmemenv.a.patch new file mode 100644 index 0000000000..ab23a1881a --- /dev/null +++ b/package/leveldb/0002-CMake-install-libmemenv.a.patch @@ -0,0 +1,74 @@ +From 2fa960098e5b6f9daa9f7d6cab27188566859be8 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 12 Oct 2019 14:43:46 +0200 +Subject: [PATCH] CMake: install libmemenv.a + +Needed for qt5webkit +https://git.busybox.net/buildroot/commit/?id=8a10d9ce311c6cb0490d76921cae55618c258354 +https://git.busybox.net/buildroot/commit/?id=16f847340d07dce620e4c3fc0a099aa79898d86a + +Signed-off-by: Bernd Kuhls +--- + CMakeLists.txt | 26 +++++++++++++++++++++++++- + 1 file changed, 25 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a65afbf..83b2425 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -187,6 +187,30 @@ target_sources(leveldb + "${LEVELDB_PUBLIC_INCLUDE_DIR}/write_batch.h" + ) + ++set(libmemenv_a_sources ++ "${PROJECT_SOURCE_DIR}/helpers/memenv/memenv.cc" ++ "${PROJECT_SOURCE_DIR}/helpers/memenv/memenv.h" ++ ) ++add_library(memenv STATIC ${libmemenv_a_sources}) ++target_compile_definitions(memenv ++ PRIVATE ++ # Used by include/export.h when building shared libraries. ++ LEVELDB_COMPILE_LIBRARY ++ # Used by port/port.h. ++ ${LEVELDB_PLATFORM_NAME}=1 ++) ++if (NOT HAVE_CXX17_HAS_INCLUDE) ++ target_compile_definitions(memenv ++ PRIVATE ++ LEVELDB_HAS_PORT_CONFIG_H=1 ++ ) ++endif(NOT HAVE_CXX17_HAS_INCLUDE) ++target_include_directories(memenv ++ PUBLIC ++ $ ++ $ ++) ++ + if (WIN32) + target_sources(leveldb + PRIVATE +@@ -418,7 +436,7 @@ endif(LEVELDB_BUILD_BENCHMARKS) + + if(LEVELDB_INSTALL) + include(GNUInstallDirs) +- install(TARGETS leveldb ++ install(TARGETS leveldb memenv + EXPORT leveldbTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +@@ -444,6 +462,12 @@ if(LEVELDB_INSTALL) + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/leveldb + ) + ++ install( ++ FILES ++ "${PROJECT_SOURCE_DIR}/helpers/memenv/memenv.h" ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/helpers/memenv ++ ) ++ + include(CMakePackageConfigHelpers) + write_basic_package_version_file( + "${PROJECT_BINARY_DIR}/leveldbConfigVersion.cmake" +-- +2.20.1 + diff --git a/package/leveldb/0003-CMakeLists.txt-check-for-atomic-library.patch b/package/leveldb/0003-CMakeLists.txt-check-for-atomic-library.patch new file mode 100644 index 0000000000..98609b6b93 --- /dev/null +++ b/package/leveldb/0003-CMakeLists.txt-check-for-atomic-library.patch @@ -0,0 +1,49 @@ +From 9e82eb57870ec7c01734b44ed4bb994362004df3 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 27 Dec 2019 10:20:53 +0100 +Subject: [PATCH] CMakeLists.txt: check for atomic library + +On some architectures, atomic binutils are provided by the libatomic +library from gcc. Linking with libatomic is therefore necessary, +otherwise the build fails with: + +[100%] Linking CXX executable leveldbutil +/home/fabrice/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/7.4.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: libleveldb.a(env_posix.cc.o): in function `leveldb::(anonymous namespace)::Limiter::Acquire()': +env_posix.cc:(.text+0x124): undefined reference to `__atomic_fetch_sub_4' + +This is often for example the case on sparcv8 32 bit. + +Fixes: + - http://autobuild.buildroot.org/results/01d5a50581ac9e9b46f40e6f9665f74897db5e6f + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/google/leveldb/pull/765] +--- + CMakeLists.txt | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index be41ba4..9d6773f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -41,6 +41,7 @@ include(CheckIncludeFile) + check_include_file("unistd.h" HAVE_UNISTD_H) + + include(CheckLibraryExists) ++check_library_exists(atomic __atomic_fetch_add_4 "" HAVE_ATOMIC) + check_library_exists(crc32c crc32c_value "" HAVE_CRC32C) + check_library_exists(snappy snappy_compress "" HAVE_SNAPPY) + check_library_exists(tcmalloc malloc "" HAVE_TCMALLOC) +@@ -270,6 +271,9 @@ if(HAVE_CLANG_THREAD_SAFETY) + -Werror -Wthread-safety) + endif(HAVE_CLANG_THREAD_SAFETY) + ++if(HAVE_ATOMIC) ++ target_link_libraries(leveldb atomic) ++endif(HAVE_ATOMIC) + if(HAVE_CRC32C) + target_link_libraries(leveldb crc32c) + endif(HAVE_CRC32C) +-- +2.24.0 + 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 deleted file mode 100644 index dce06ec725..0000000000 --- a/package/leveldb/0003-Generate-position-independant-code-for-static-librar.patch +++ /dev/null @@ -1,52 +0,0 @@ -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/0004-cmake-Use-find_package-to-find-Snappy.patch b/package/leveldb/0004-cmake-Use-find_package-to-find-Snappy.patch new file mode 100644 index 0000000000..2626e88652 --- /dev/null +++ b/package/leveldb/0004-cmake-Use-find_package-to-find-Snappy.patch @@ -0,0 +1,98 @@ +From 450c1d88b3e1af34614294830b4dc0612d198d26 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Pawe=C5=82=20Bylica?= +Date: Wed, 8 May 2019 10:42:03 +0200 +Subject: [PATCH] cmake: Use find_package() to find Snappy + +Upstream: https://github.com/google/leveldb/pull/686/commits/3e73a396a082efc76e065ae974fe18c3bb27219d +[Thomas: this commit allows to fix the detection of the snappy library +in static link configurations] +Signed-off-by: Thomas Petazzoni +--- + CMakeLists.txt | 12 ++++++++---- + cmake/FindSnappy.cmake | 31 +++++++++++++++++++++++++++++++ + 2 files changed, 39 insertions(+), 4 deletions(-) + create mode 100644 cmake/FindSnappy.cmake + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 78fead6..2efccda 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,6 +6,9 @@ cmake_minimum_required(VERSION 3.9) + # Keep the version below in sync with the one in db.h + project(leveldb VERSION 1.22.0 LANGUAGES C CXX) + ++# Include local CMake modules. ++list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) ++ + # This project can use C11, but will gracefully decay down to C89. + set(CMAKE_C_STANDARD 11) + set(CMAKE_C_STANDARD_REQUIRED OFF) +@@ -31,13 +34,14 @@ option(LEVELDB_INSTALL "Install LevelDB's header and library" ON) + include(TestBigEndian) + test_big_endian(LEVELDB_IS_BIG_ENDIAN) + ++find_package(Snappy) ++ + include(CheckIncludeFile) + check_include_file("unistd.h" HAVE_UNISTD_H) + + include(CheckLibraryExists) + check_library_exists(atomic __atomic_fetch_add_4 "" HAVE_ATOMIC) + check_library_exists(crc32c crc32c_value "" HAVE_CRC32C) +-check_library_exists(snappy snappy_compress "" HAVE_SNAPPY) + check_library_exists(tcmalloc malloc "" HAVE_TCMALLOC) + + include(CheckCXXSymbolExists) +@@ -276,9 +280,9 @@ endif(HAVE_ATOMIC) + if(HAVE_CRC32C) + target_link_libraries(leveldb crc32c) + endif(HAVE_CRC32C) +-if(HAVE_SNAPPY) +- target_link_libraries(leveldb snappy) +-endif(HAVE_SNAPPY) ++if(TARGET Snappy::snappy) ++ target_link_libraries(leveldb Snappy::snappy) ++endif() + if(HAVE_TCMALLOC) + target_link_libraries(leveldb tcmalloc) + endif(HAVE_TCMALLOC) +diff --git a/cmake/FindSnappy.cmake b/cmake/FindSnappy.cmake +new file mode 100644 +index 0000000..88c1de9 +--- /dev/null ++++ b/cmake/FindSnappy.cmake +@@ -0,0 +1,31 @@ ++# Copyright 2019 The LevelDB Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. See the AUTHORS file for names of contributors. ++ ++find_library(SNAPPY_LIBRARY ++ NAMES snappy ++ HINTS ${SNAPPY_ROOT_DIR}/lib ++) ++ ++find_path(SNAPPY_INCLUDE_DIR ++ NAMES snappy.h ++ HINTS ${SNAPPY_ROOT_DIR}/include ++) ++ ++include(FindPackageHandleStandardArgs) ++find_package_handle_standard_args(Snappy DEFAULT_MSG SNAPPY_LIBRARY SNAPPY_INCLUDE_DIR) ++ ++mark_as_advanced(SNAPPY_LIBRARY SNAPPY_INCLUDE_DIR) ++ ++if(SNAPPY_FOUND) ++ set(HAVE_SNAPPY TRUE) # For compatibity with generating port_config.h. ++ ++ # Add imported targets. ++ # Follow the package naming convetion 'Snappy::' from ++ # https://github.com/google/snappy/blob/master/CMakeLists.txt#L211. ++ add_library(Snappy::snappy UNKNOWN IMPORTED) ++ set_target_properties(Snappy::snappy PROPERTIES ++ IMPORTED_LOCATION ${SNAPPY_LIBRARY} ++ INTERFACE_INCLUDE_DIRECTORIES ${SNAPPY_INCLUDE_DIR} ++ ) ++endif() +-- +2.26.2 + diff --git a/package/leveldb/Config.in b/package/leveldb/Config.in index 163a75e8f2..c4279fcb64 100644 --- a/package/leveldb/Config.in +++ b/package/leveldb/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_LEVELDB bool "leveldb" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_SNAPPY help LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string @@ -10,5 +10,6 @@ config BR2_PACKAGE_LEVELDB https://github.com/google/leveldb -comment "leveldb needs a toolchain w/ C++, threads" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS +comment "leveldb needs a toolchain w/ C++, threads, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/leveldb/leveldb.hash b/package/leveldb/leveldb.hash index a5300d7cd3..c4a8499dec 100644 --- a/package/leveldb/leveldb.hash +++ b/package/leveldb/leveldb.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 f5abe8b5b209c2f36560b75f32ce61412f39a2922f7045ae764a2c23335b6664 leveldb-v1.20.tar.gz +sha256 55423cac9e3306f4a9502c738a001e4a339d1a38ffbee7572d4a07d5d63949b2 leveldb-1.22.tar.gz +sha256 ccc19f1da0798ed666609b65a5b44dd8b3abe6fc08b9c0592eb76e82e174db19 LICENSE diff --git a/package/leveldb/leveldb.mk b/package/leveldb/leveldb.mk index 6078cd496c..684b618679 100644 --- a/package/leveldb/leveldb.mk +++ b/package/leveldb/leveldb.mk @@ -4,35 +4,17 @@ # ################################################################################ -LEVELDB_VERSION = v1.20 +LEVELDB_VERSION = 1.22 LEVELDB_SITE = $(call github,google,leveldb,$(LEVELDB_VERSION)) LEVELDB_LICENSE = BSD-3-Clause LEVELDB_LICENSE_FILES = LICENSE LEVELDB_INSTALL_STAGING = YES -LEVELDB_DEPENDENCIES = snappy +LEVELDB_CONF_OPTS = \ + -DLEVELDB_BUILD_BENCHMARKS=OFF \ + -DLEVELDB_BUILD_TESTS=OFF -# Disable the shared library for static only build -ifeq ($(BR2_STATIC_LIBS),y) -LEVELDB_MAKE_ARGS += SHARED_LIBS= SHARED_PROGRAMS= +ifeq ($(BR2_PACKAGE_SNAPPY),y) +LEVELDB_DEPENDENCIES += snappy endif -define LEVELDB_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE1) \ - $(LEVELDB_MAKE_ARGS) -C $(@D) -endef - -define LEVELDB_INSTALL_STAGING_CMDS - $(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) $(MAKE1) \ - INSTALL_ROOT=$(TARGET_DIR) INSTALL_PREFIX=/usr \ - $(LEVELDB_MAKE_ARGS) -C $(@D) install -endef - -$(eval $(generic-package)) +$(eval $(cmake-package)) diff --git a/package/lft/lft.hash b/package/lft/lft.hash index 1b0454cf5d..91a1fb0659 100644 --- a/package/lft/lft.hash +++ b/package/lft/lft.hash @@ -1,4 +1,5 @@ # From http://pwhois.org/lft/ -md5 746dc08f2e20d0e0240f28873b3bb244 lft-3.79.tar.gz +md5 31b15aabc619707427a73657512560f8 lft-3.8.tar.gz # Locally calculated -sha256 08e5c7973551b529c850bffbc7152c4e5f0bcb1f07ebbb39151a7dc9a3bf9de0 lft-3.79.tar.gz +sha256 10f427e77b0f8207817329bd8ef0310078434612620073369264d15e6f97e990 lft-3.8.tar.gz +sha256 e3b7634630e6800eccca6ecafb5d40153d4f8f7a20e2b2399bf3c0ea92f44614 COPYING diff --git a/package/lft/lft.mk b/package/lft/lft.mk index 0555ab9a1a..5154c83fef 100644 --- a/package/lft/lft.mk +++ b/package/lft/lft.mk @@ -4,7 +4,7 @@ # ################################################################################ -LFT_VERSION = 3.79 +LFT_VERSION = 3.8 LFT_SITE = http://pwhois.org/get LFT_DEPENDENCIES = libpcap LFT_LICENSE = VOSTROM Public License for Open Source diff --git a/package/lftp/0001-fix-static-link-with-readline.patch b/package/lftp/0001-fix-static-link-with-readline.patch deleted file mode 100644 index 339239668e..0000000000 --- a/package/lftp/0001-fix-static-link-with-readline.patch +++ /dev/null @@ -1,40 +0,0 @@ -fix static link with readline - -When readline is static library, we need to link against ncurses -because readline needs ncurses. It is because, dependent library's -symbols are not resolved when static library is built. Those symbols -are resolved program tries to link with static library. - -We can't pass linker flags for ncurses by setting LIBS environment -variable via _CONF_ENV because it looks like build system is not -taking that into account and even though it would have been, order of -linking is important. - -We can't also pass linker flags for ncurses via --with-readline-libs -conf options because it causes lftp_LIB_READLINE macro to take readline -headers from host machine if available. To use --with-readline-libs -we need to set --with-readline=yes and --with-readline-inc to include -dir. But when --with-readline=yes, readline_prefix is computed based -on if headers can be found in /usr/local or /usr. If readline is -installed on host machine, then configure fails since we are using -headers for host machine. If headers are not found in /usr/local or /usr -then only path specified --with-readline-inc is taken into account. -So specifying linker flags for ncurses via --with-readline-libs will -not work in all cases. - -So it looks like, updating linker flags directly is only option to fix -static link issue against readline. - -Signed-off-by: Rahul Bedarkar - ---- lftp-4.7.3/m4/lftp_lib_readline.m4.old 2016-08-08 19:49:12.217596470 +0530 -+++ lftp-4.7.3/m4/lftp_lib_readline.m4 2016-08-08 19:49:46.265596398 +0530 -@@ -108,7 +108,7 @@ AC_DEFUN([lftp_LIB_READLINE], - readline_include_dir="$readline_include_dir/readline" - fi - readline_ld_flags="-L$readline_prefix/lib" -- readline_lib_flags="-lreadline" -+ readline_lib_flags="-lreadline -lncurses" - run_readline_test="yes" - elif test "$readline_requested" = "yes"; then - if test -n "$readline_include_dir" -a -n "$readline_lib_flags"; then diff --git a/package/lftp/0002-fix-gcc-6-conflicts-signbit.patch b/package/lftp/0002-fix-gcc-6-conflicts-signbit.patch deleted file mode 100644 index e906c7ac80..0000000000 --- a/package/lftp/0002-fix-gcc-6-conflicts-signbit.patch +++ /dev/null @@ -1,57 +0,0 @@ -Use instead of to fix gcc 6.x build - -This patch fixes the following build issue: - -../lib/math.h:2577:1: error: ‘int signbit(float)’ conflicts with a previous declaration - -that occurs with gcc 6.x. - -Patch taken from -https://raw.githubusercontent.com/openembedded/meta-openembedded/master/meta-networking/recipes-connectivity/lftp/files/fix-gcc-6-conflicts-signbit.patch - -Signed-off-by: Thomas Petazzoni - ---- lftp-4.6.3a/src/NetAccess.cc.orig 2016-06-18 10:25:51.063358981 -0400 -+++ lftp-4.6.3a/src/NetAccess.cc 2016-06-18 10:26:04.143359209 -0400 -@@ -21,7 +21,7 @@ - - #include - #include --#include -+#include - #include - - #include "NetAccess.h" ---- lftp-4.6.3a/src/Speedometer.cc.orig 2016-06-18 10:24:58.895358073 -0400 -+++ lftp-4.6.3a/src/Speedometer.cc 2016-06-18 10:25:10.879358281 -0400 -@@ -18,7 +18,7 @@ - */ - - #include --#include -+#include - #include - #include "Speedometer.h" - #include "misc.h" ---- lftp-4.6.3a/src/FileCopy.cc.orig 2016-06-18 10:24:15.939357325 -0400 -+++ lftp-4.6.3a/src/FileCopy.cc 2016-06-18 10:24:24.583357475 -0400 -@@ -36,7 +36,7 @@ - #include - #include - #include --#include -+#include - #include - #include "FileCopy.h" - #include "url.h" ---- lftp-4.6.3a/src/ResMgr.cc.orig 2016-06-18 10:23:31.387356549 -0400 -+++ lftp-4.6.3a/src/ResMgr.cc 2016-06-18 10:23:41.771356729 -0400 -@@ -23,7 +23,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include diff --git a/package/lftp/lftp.hash b/package/lftp/lftp.hash index 64aba12b24..a2f60f95b0 100644 --- a/package/lftp/lftp.hash +++ b/package/lftp/lftp.hash @@ -1,7 +1,7 @@ -# From http://lftp.yar.ru/ftp/lftp-4.8.4.md5sum -md5 b75c43797e817529d486be640232d708 lftp-4.8.4.tar.xz +# From http://lftp.yar.ru/ftp/lftp-4.9.1.md5sum +md5 3da57b1960b1416e89a532c54a67a936 lftp-4.9.1.tar.xz # Locally calculated after checking gpg signature -sha256 4ebc271e9e5cea84a683375a0f7e91086e5dac90c5d51bb3f169f75386107a62 lftp-4.8.4.tar.xz +sha256 5969fcaefd102955dd882f3bcd8962198bc537224749ed92f206f415207a024b lftp-4.9.1.tar.xz # Hash for license file: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/lftp/lftp.mk b/package/lftp/lftp.mk index 93a0bf5c32..9c568da677 100644 --- a/package/lftp/lftp.mk +++ b/package/lftp/lftp.mk @@ -4,19 +4,17 @@ # ################################################################################ -LFTP_VERSION = 4.8.4 +LFTP_VERSION = 4.9.1 LFTP_SOURCE = lftp-$(LFTP_VERSION).tar.xz LFTP_SITE = http://lftp.yar.ru/ftp LFTP_LICENSE = GPL-3.0+ LFTP_LICENSE_FILES = COPYING -# Needed so that our libtool patch applies properly, and for patch -# 0001-fix-static-link-with-readline.patch. -LFTP_AUTORECONF = YES LFTP_DEPENDENCIES = readline zlib host-pkgconf # Help lftp finding readline and zlib LFTP_CONF_OPTS = \ --with-readline=$(STAGING_DIR)/usr \ + --with-readline-lib="`$(PKG_CONFIG_HOST_BINARY) --libs readline`" \ --with-zlib=$(STAGING_DIR)/usr ifneq ($(BR2_STATIC_LIBS),y) @@ -25,6 +23,9 @@ endif ifeq ($(BR2_PACKAGE_EXPAT)$(BR2_PACKAGE_LFTP_PROTO_HTTP),yy) LFTP_DEPENDENCIES += expat +LFTP_CONF_OPTS += --with-expat=$(STAGING_DIR)/usr +else +LFTP_CONF_OPTS += --without-expat endif ifeq ($(BR2_PACKAGE_GNUTLS),y) diff --git a/package/libamcodec/Config.in b/package/libamcodec/Config.in deleted file mode 100644 index 45846e6d29..0000000000 --- a/package/libamcodec/Config.in +++ /dev/null @@ -1,14 +0,0 @@ -comment "libamcodec needs a toolchain w/ threads, dynamic library" - depends on BR2_arm || BR2_aarch64 - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS - -config BR2_PACKAGE_LIBAMCODEC - bool "libamcodec" - depends on BR2_arm || BR2_aarch64 - depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib - depends on !BR2_STATIC_LIBS # dlfcn.h - select BR2_PACKAGE_ALSA_LIB - help - Interface library for Amlogic media codecs - - https://github.com/mdrjr/c2_aml_libs.git diff --git a/package/libamcodec/libamcodec.hash b/package/libamcodec/libamcodec.hash deleted file mode 100644 index a76d20a953..0000000000 --- a/package/libamcodec/libamcodec.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed hash -sha256 2c9812154b6dfd6a6c9c43aa334d0d03f299379fdf83c20121ad3f3d3f97c666 libamcodec-296f39bc6fc47ddf5d88b9fd3cfb82a5b39048ca.tar.gz diff --git a/package/libamcodec/libamcodec.mk b/package/libamcodec/libamcodec.mk deleted file mode 100644 index 3fab228fd4..0000000000 --- a/package/libamcodec/libamcodec.mk +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# -# libamcodec -# -################################################################################ - -LIBAMCODEC_VERSION = 296f39bc6fc47ddf5d88b9fd3cfb82a5b39048ca -LIBAMCODEC_SITE = $(call github,mdrjr,c2_aml_libs,$(LIBAMCODEC_VERSION)) -LIBAMCODEC_DEPENDENCIES = alsa-lib -LIBAMCODEC_LICENSE = Unclear -LIBAMCODEC_INSTALL_STAGING = YES - -# This package uses the AML_LIBS_STAGING_DIR variable to construct the -# header and library paths used when compiling -define LIBAMCODEC_BUILD_CMDS - $(foreach d,amavutils amadec amcodec,\ - $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ - -C $(@D)/$(d) AML_LIBS_STAGING_DIR=$(STAGING_DIR) - ) -endef - -define LIBAMCODEC_INSTALL_STAGING_CMDS - $(INSTALL) -D -m 0755 $(@D)/amavutils/libamavutils.so $(STAGING_DIR)/usr/lib/libamavutils.so - $(INSTALL) -D -m 0555 $(@D)/amadec/libamadec.so $(STAGING_DIR)/usr/lib/libamadec.so - $(INSTALL) -D -m 0555 $(@D)/amcodec/libamcodec.so $(STAGING_DIR)/usr/lib/libamcodec.so - mkdir -p $(STAGING_DIR)/usr/include/amcodec - cp -rf $(@D)/amcodec/include/* $(STAGING_DIR)/usr/include/amcodec -endef - -define LIBAMCODEC_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/amavutils/libamavutils.so $(TARGET_DIR)/usr/lib/libamavutils.so - $(INSTALL) -D -m 0555 $(@D)/amadec/libamadec.so $(TARGET_DIR)/usr/lib/libamadec.so - $(INSTALL) -D -m 0555 $(@D)/amcodec/libamcodec.so $(TARGET_DIR)/usr/lib/libamcodec.so -endef - -$(eval $(generic-package)) diff --git a/package/libapparmor/0001-m4-ac_python_devel-fixing-for-crosscompiling-environ.patch b/package/libapparmor/0001-m4-ac_python_devel-fixing-for-crosscompiling-environ.patch new file mode 100644 index 0000000000..ecd8d6c163 --- /dev/null +++ b/package/libapparmor/0001-m4-ac_python_devel-fixing-for-crosscompiling-environ.patch @@ -0,0 +1,91 @@ +From 64e5c6b23de9c147881680f3daccb995263c34a3 Mon Sep 17 00:00:00 2001 +From: Angelo Compagnucci +Date: Tue, 24 Mar 2020 22:53:37 +0100 +Subject: [PATCH] m4: ac_python_devel: fixing for crosscompiling environments + +In a crosscompiling environment it's common to have a python executable +running for the host system with a python-config reporting the host +configuration and a second python-config reporting the target configuration. +In such cases, relying on the default oython-config is wrong and breaks +the cross compilation. + +This patch adds a PYTHON_CONFIG variable that can be pointed to the second +python-config and fixes the rest of the m4 accordingly. + +Signed-off-by: Angelo Compagnucci +--- + libraries/libapparmor/m4/ac_python_devel.m4 | 23 ++++++++++++++++----- + 1 file changed, 18 insertions(+), 5 deletions(-) + +diff --git a/libraries/libapparmor/m4/ac_python_devel.m4 b/libraries/libapparmor/m4/ac_python_devel.m4 +index 29cf090d..6454e2d8 100644 +--- a/libraries/libapparmor/m4/ac_python_devel.m4 ++++ b/libraries/libapparmor/m4/ac_python_devel.m4 +@@ -13,6 +13,11 @@ AC_DEFUN([AC_PYTHON_DEVEL],[ + PYTHON_VERSION="" + fi + ++ AC_PATH_PROG([PYTHON_CONFIG],[`basename [$PYTHON]-config`]) ++ if test -z "$PYTHON_CONFIG"; then ++ AC_MSG_ERROR([Cannot find python$PYTHON_VERSION-config in your system path]) ++ fi ++ + # + # Check for a version of Python >= 2.1.0 + # +@@ -79,8 +84,8 @@ $ac_distutils_result]) + # Check for Python include path + # + AC_MSG_CHECKING([for Python include path]) +- if type $PYTHON-config; then +- PYTHON_CPPFLAGS=`$PYTHON-config --includes` ++ if type $PYTHON_CONFIG; then ++ PYTHON_CPPFLAGS=`$PYTHON_CONFIG --includes` + fi + if test -z "$PYTHON_CPPFLAGS"; then + python_path=`$PYTHON -c "import sys; import distutils.sysconfig;\ +@@ -97,8 +102,8 @@ sys.stdout.write('%s\n' % distutils.sysconfig.get_python_inc());"` + # Check for Python library path + # + AC_MSG_CHECKING([for Python library path]) +- if type $PYTHON-config; then +- PYTHON_LDFLAGS=`$PYTHON-config --ldflags` ++ if type $PYTHON_CONFIG; then ++ PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags` + fi + if test -z "$PYTHON_LDFLAGS"; then + # (makes two attempts to ensure we've got a version number +@@ -136,6 +141,10 @@ sys.stdout.write('%s\n' % distutils.sysconfig.get_python_lib(0,0));"` + # libraries which must be linked in when embedding + # + AC_MSG_CHECKING(python extra libraries) ++ if type $PYTHON_CONFIG; then ++ PYTHON_EXTRA_LIBS=`$PYTHON_CONFIG --libs --embed` || \ ++ PYTHON_EXTRA_LIBS='' ++ fi + if test -z "$PYTHON_EXTRA_LIBS"; then + PYTHON_EXTRA_LIBS=`$PYTHON -c "import sys; import distutils.sysconfig; \ + conf = distutils.sysconfig.get_config_var; \ +@@ -148,6 +157,10 @@ sys.stdout.write('%s %s %s\n' % (conf('BLDLIBRARY'), conf('LOCALMODLIBS'), conf( + # linking flags needed when embedding + # + AC_MSG_CHECKING(python extra linking flags) ++ if type $PYTHON_CONFIG; then ++ PYTHON_EXTRA_LDFLAGS=`$PYTHON_CONFIG --ldflags --embed` || \ ++ PYTHON_EXTRA_LDFLAGS='' ++ fi + if test -z "$PYTHON_EXTRA_LDFLAGS"; then + PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import sys; import distutils.sysconfig; \ + conf = distutils.sysconfig.get_config_var; \ +@@ -164,7 +177,7 @@ sys.stdout.write('%s\n' % conf('LINKFORSHARED'))"` + # save current global flags + ac_save_LIBS="$LIBS" + ac_save_CPPFLAGS="$CPPFLAGS" +- LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LIBS" ++ LIBS="$ac_save_LIBS $PYTHON_EXTRA_LIBS $PYTHON_LDFLAGS" + CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS" + AC_TRY_LINK([ + #include +-- +2.25.1 + diff --git a/package/libapparmor/0002-libapparmor-fixing-setup.py-call-when-crosscompiling.patch b/package/libapparmor/0002-libapparmor-fixing-setup.py-call-when-crosscompiling.patch new file mode 100644 index 0000000000..8d6ca86e47 --- /dev/null +++ b/package/libapparmor/0002-libapparmor-fixing-setup.py-call-when-crosscompiling.patch @@ -0,0 +1,30 @@ +From cf61d1257b9a5f12fdf6f4dd6a2746f77b23a8a0 Mon Sep 17 00:00:00 2001 +From: Angelo Compagnucci +Date: Tue, 24 Mar 2020 23:02:08 +0100 +Subject: [PATCH] libapparmor: fixing setup.py call when crosscompiling + +When crosscompiling, setupy.py should be called passing the settings +discovered by ac_python_devel.m4 and not using the default system +settings. + +Signed-off-by: Angelo Compagnucci +--- + libraries/libapparmor/swig/python/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libraries/libapparmor/swig/python/Makefile.am b/libraries/libapparmor/swig/python/Makefile.am +index 421acba9..6c60181e 100644 +--- a/libraries/libapparmor/swig/python/Makefile.am ++++ b/libraries/libapparmor/swig/python/Makefile.am +@@ -11,7 +11,7 @@ MOSTLYCLEANFILES=libapparmor_wrap.c LibAppArmor.py + + all-local: libapparmor_wrap.c setup.py + if test ! -f libapparmor_wrap.c; then cp $(srcdir)/libapparmor_wrap.c . ; fi +- $(PYTHON) setup.py build ++ CC="$(CC)" CFLAGS="$(PYTHON_CPPFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(PYTHON_LDFLAGS)" $(PYTHON) setup.py build + + install-exec-local: + $(PYTHON) setup.py install --root="/$(DESTDIR)" --prefix="$(prefix)" +-- +2.17.1 + diff --git a/package/libapparmor/Config.in b/package/libapparmor/Config.in new file mode 100644 index 0000000000..dbfd2dc4a7 --- /dev/null +++ b/package/libapparmor/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_LIBAPPARMOR + bool "libapparmor" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 + help + AppArmor is an effective and easy-to-use Linux application + security system. AppArmor proactively protects the operating + system and applications from external or internal threats, + even zero-day attacks, by enforcing good behavior and + preventing even unknown application flaws from being + exploited. + + This package installs only the library. + + http://wiki.apparmor.net + +comment "libapparmor needs a toolchain w/ headers >= 3.16, threads" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 diff --git a/package/libapparmor/libapparmor.hash b/package/libapparmor/libapparmor.hash new file mode 100644 index 0000000000..a0ff221914 --- /dev/null +++ b/package/libapparmor/libapparmor.hash @@ -0,0 +1,4 @@ +# locally computed +sha256 90bf86c07ffbe2c22be46d75c7345fad12d5911653c59750a37d59c63ad5d10e apparmor-2.13.4.tar.gz +sha256 a7e0cdcbea5c14927cedfc600d46526bdcbb1eb0a4d951e2ea53c2a6de159cb4 LICENSE +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 libraries/libapparmor/COPYING.LGPL diff --git a/package/libapparmor/libapparmor.mk b/package/libapparmor/libapparmor.mk new file mode 100644 index 0000000000..9562cd105f --- /dev/null +++ b/package/libapparmor/libapparmor.mk @@ -0,0 +1,48 @@ +################################################################################ +# +# libapparmor +# +################################################################################ + +# When updating the version here, please also update the apparmor package +LIBAPPARMOR_VERSION_MAJOR = 2.13 +LIBAPPARMOR_VERSION = $(LIBAPPARMOR_VERSION_MAJOR).4 +LIBAPPARMOR_SOURCE = apparmor-$(LIBAPPARMOR_VERSION).tar.gz +LIBAPPARMOR_SITE = https://launchpad.net/apparmor/$(LIBAPPARMOR_VERSION_MAJOR)/$(LIBAPPARMOR_VERSION)/+download +LIBAPPARMOR_LICENSE = LGPL-2.1 +LIBAPPARMOR_LICENSE_FILES = LICENSE libraries/libapparmor/COPYING.LGPL + +LIBAPPARMOR_DEPENDENCIES = host-bison host-flex host-pkgconf +LIBAPPARMOR_SUBDIR = libraries/libapparmor +LIBAPPARMOR_INSTALL_STAGING = YES + +# Patches 0001 and 0002 touch Makefile.am and an m4 file +LIBAPPARMOR_AUTORECONF = YES + +# Most AppArmor tools will want to link to the static lib. +# ac_cv_prog_cc_c99 is required for BR2_USE_WCHAR=n because the C99 test +# provided by autoconf relies on wchar_t. +LIBAPPARMOR_CONF_OPTS = \ + ac_cv_prog_cc_c99=-std=gnu99 \ + --enable-static \ + --disable-man-pages + +ifeq ($(BR2_PACKAGE_PYTHON3),y) +LIBAPPARMOR_DEPENDENCIES += host-python3 host-swig python3 +LIBAPPARMOR_CONF_OPTS += \ + --with-python \ + PYTHON=$(HOST_DIR)/usr/bin/python3 \ + PYTHON_CONFIG=$(STAGING_DIR)/usr/bin/python3-config \ + SWIG=$(SWIG) +else +LIBAPPARMOR_CONF_OPTS += --without-python +endif + +define LIBAPPARMOR_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_AUDIT) + $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY) + $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_APPARMOR) + $(call KCONFIG_ENABLE_OPT,CONFIG_DEFAULT_SECURITY_APPARMOR) +endef + +$(eval $(autotools-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 deleted file mode 100644 index 76096f7a45..0000000000 --- a/package/libarchive/0001-Avoid-a-double-free-when-a-window-size-of-0-is-speci.patch +++ /dev/null @@ -1,40 +0,0 @@ -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 deleted file mode 100644 index 4bf68d61d3..0000000000 --- a/package/libarchive/0002-rar-file-split-across-multi-part-archives-must-match.patch +++ /dev/null @@ -1,81 +0,0 @@ -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 deleted file mode 100644 index 796bfbdeb6..0000000000 --- a/package/libarchive/0003-Skip-0-length-ACL-fields.patch +++ /dev/null @@ -1,52 +0,0 @@ -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 deleted file mode 100644 index f07d6c08ca..0000000000 --- a/package/libarchive/0004-warc-consume-data-once-read.patch +++ /dev/null @@ -1,46 +0,0 @@ -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 deleted file mode 100644 index bd36ce4b53..0000000000 --- a/package/libarchive/0005-iso9660-Fail-when-expected-Rockridge-extensions-is-m.patch +++ /dev/null @@ -1,62 +0,0 @@ -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 deleted file mode 100644 index bad33d9526..0000000000 --- a/package/libarchive/0006-7zip-fix-crash-when-parsing-certain-archives.patch +++ /dev/null @@ -1,62 +0,0 @@ -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/libarchive/libarchive.hash b/package/libarchive/libarchive.hash index cde48c8423..9da4eb3baa 100644 --- a/package/libarchive/libarchive.hash +++ b/package/libarchive/libarchive.hash @@ -1,4 +1,4 @@ -# From http://www.libarchive.org/downloads/libarchive-3.3.3.sha512.txt -sha512 9d12b47d6976efa9f98e62c25d8b85fd745d4e9ca7b7e6d36bfe095dfe5c4db017d4e785d110f3758f5938dad6f1a1b009267fd7e82cb7212e93e1aea237bab7 libarchive-3.3.3.tar.gz +# From https://www.libarchive.de/downloads/sha256sums +sha256 b60d58d12632ecf1e8fad7316dc82c6b9738a35625746b47ecdcaf4aed176176 libarchive-3.4.2.tar.gz # Locally computed: -sha256 ae6f35cc1979beb316e4d6431fc34c6fc59f0dd126b425c8552bb41c86e4825d COPYING +sha256 e1e3d4ba9d0b0ccba333b5f5539f7c6c9a3ef3d57a96cd165d2c45eaa1cd026d COPYING diff --git a/package/libarchive/libarchive.mk b/package/libarchive/libarchive.mk index b7619b03db..4aabbea560 100644 --- a/package/libarchive/libarchive.mk +++ b/package/libarchive/libarchive.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIBARCHIVE_VERSION = 3.3.3 -LIBARCHIVE_SITE = http://www.libarchive.org/downloads +LIBARCHIVE_VERSION = 3.4.2 +LIBARCHIVE_SITE = https://www.libarchive.de/downloads LIBARCHIVE_INSTALL_STAGING = YES -LIBARCHIVE_LICENSE = BSD-2-Clause, BSD-3-Clause +LIBARCHIVE_LICENSE = BSD-2-Clause, BSD-3-Clause, CC0-1.0, OpenSSL, Apache-2.0 LIBARCHIVE_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_LIBARCHIVE_BSDTAR),y) @@ -78,14 +78,29 @@ else LIBARCHIVE_CONF_OPTS += --without-xml2 endif +ifeq ($(BR2_PACKAGE_LZ4),y) +LIBARCHIVE_CONF_OPTS += --with-lz4 +LIBARCHIVE_DEPENDENCIES += lz4 +else +LIBARCHIVE_CONF_OPTS += --without-lz4 +endif + ifeq ($(BR2_PACKAGE_LZO),y) LIBARCHIVE_DEPENDENCIES += lzo else LIBARCHIVE_CONF_OPTS += --without-lzo2 endif +ifeq ($(BR2_PACKAGE_MBEDTLS),y) +LIBARCHIVE_DEPENDENCIES += mbedtls +LIBARCHIVE_CONF_OPTS += --with-mbedtls +else +LIBARCHIVE_CONF_OPTS += --without-mbedtls +endif + ifeq ($(BR2_PACKAGE_NETTLE),y) LIBARCHIVE_DEPENDENCIES += nettle +LIBARCHIVE_CONF_OPTS += --with-nettle else LIBARCHIVE_CONF_OPTS += --without-nettle endif @@ -110,6 +125,13 @@ else LIBARCHIVE_CONF_OPTS += --without-lzma endif +ifeq ($(BR2_PACKAGE_ZSTD),y) +LIBARCHIVE_DEPENDENCIES += zstd +LIBARCHIVE_CONF_OPTS += --with-zstd +else +LIBARCHIVE_CONF_OPTS += --without-zstd +endif + # The only user of host-libarchive needs zlib support HOST_LIBARCHIVE_DEPENDENCIES = host-zlib HOST_LIBARCHIVE_CONF_OPTS = \ @@ -122,10 +144,13 @@ HOST_LIBARCHIVE_CONF_OPTS = \ --without-expat \ --without-libiconv-prefix \ --without-xml2 \ + --without-lz4 \ --without-lzo2 \ + --without-mbedtls \ --without-nettle \ --without-openssl \ - --without-lzma + --without-lzma \ + --without-zstd $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/libargon2/0001-libargon2-dont-fail-on-existing-symlink.patch b/package/libargon2/0001-libargon2-dont-fail-on-existing-symlink.patch new file mode 100644 index 0000000000..43a6deb9f5 --- /dev/null +++ b/package/libargon2/0001-libargon2-dont-fail-on-existing-symlink.patch @@ -0,0 +1,23 @@ +From b997b9e7d4744020409223afddc7299a771eb52d Mon Sep 17 00:00:00 2001 +From: Pascal de Bruijn +Date: Thu, 7 Nov 2019 09:55:32 +0100 +Subject: [PATCH] Don't fail on existing symlink + +Signed-off-by: Pascal de Bruijn +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 837e7f7..7c116c9 100644 +--- a/Makefile ++++ b/Makefile +@@ -238,7 +238,7 @@ install: $(RUN) libs + $(INSTALL) -d $(INST_LIBRARY) + $(INSTALL) -m 0644 $(LIBRARIES) $(INST_LIBRARY) + ifdef LINKED_LIB_SH +- cd $(INST_LIBRARY) && ln -s $(notdir $(LIB_SH) $(LINKED_LIB_SH)) ++ cd $(INST_LIBRARY) && ln -sf $(notdir $(LIB_SH) $(LINKED_LIB_SH)) + endif + $(INSTALL) -d $(INST_BINARY) + $(INSTALL) $(RUN) $(INST_BINARY) diff --git a/package/libargon2/Config.in b/package/libargon2/Config.in new file mode 100644 index 0000000000..6bba74cfb2 --- /dev/null +++ b/package/libargon2/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBARGON2 + bool "libargon2" + depends on BR2_USE_MMU + depends on !BR2_STATIC_LIBS + help + A modern password hashing algorithm + + https://password-hashing.net/#argon2 + +comment "libargon needs a toolchain w/ dynamic library" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS diff --git a/package/libargon2/libargon2.hash b/package/libargon2/libargon2.hash new file mode 100644 index 0000000000..331eea99f4 --- /dev/null +++ b/package/libargon2/libargon2.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e830442c libargon2-20190702.tar.gz +sha256 220f8736a89ff51c92ef3d497f413b48e6cf1df3d6278bc909c6308c78e1718e LICENSE diff --git a/package/libargon2/libargon2.mk b/package/libargon2/libargon2.mk new file mode 100644 index 0000000000..b3f6e1b216 --- /dev/null +++ b/package/libargon2/libargon2.mk @@ -0,0 +1,41 @@ +################################################################################ +# +# libargon2 +# +################################################################################ + +LIBARGON2_VERSION = 20190702 +LIBARGON2_SITE = $(call github,P-H-C,phc-winner-argon2,$(LIBARGON2_VERSION)) +LIBARGON2_LICENSE = CC0-1.0 or Apache-2.0 +LIBARGON2_LICENSE_FILES = LICENSE +LIBARGON2_INSTALL_STAGING = YES + +LIBARGON2_OPTS = LIBRARY_REL=lib + +# GCC_TARGET_ARCH is not defined for all architectures, but libargon2 +# only uses it to detect if some x86 optimizations can be used, and +# GCC_TARGET_ARCH is defined on x86. +ifneq ($(GCC_TARGET_ARCH),) +LIBARGON2_OPTS += OPTTARGET=$(GCC_TARGET_ARCH) +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) +LIBARGON2_OPTS += NO_THREADS=1 +endif + +define LIBARGON2_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(LIBARGON2_OPTS) +endef + +define LIBARGON2_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(LIBARGON2_OPTS) DESTDIR=$(STAGING_DIR) install +endef + +define LIBARGON2_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(LIBARGON2_OPTS) DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package)) diff --git a/package/libass/Config.in b/package/libass/Config.in index 7690685187..c654d8212a 100644 --- a/package/libass/Config.in +++ b/package/libass/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_LIBASS libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format - http://code.google.com/p/libass/ + https://github.com/libass/libass diff --git a/package/libassuan/libassuan.hash b/package/libassuan/libassuan.hash index 4878a692cf..bb008d6ed4 100644 --- a/package/libassuan/libassuan.hash +++ b/package/libassuan/libassuan.hash @@ -1,8 +1,8 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 fb66bc1e8971d48ac9dbacd1cdaf6487a3e77375 libassuan-2.5.2.tar.bz2 +sha1 6d81bf42fa91ed2894df8b65764ce899e39776f8 libassuan-2.5.3.tar.bz2 # Locally calculated after checking signature -# https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.2.tar.bz2.sig +# https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.3.tar.bz2.sig # using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 986b1bf277e375f7a960450fbb8ffbd45294d06598916ad4ebf79aee0cb788e7 libassuan-2.5.2.tar.bz2 +sha256 91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702 libassuan-2.5.3.tar.bz2 sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/libassuan/libassuan.mk b/package/libassuan/libassuan.mk index 1e4467b36d..034a9bfdfe 100644 --- a/package/libassuan/libassuan.mk +++ b/package/libassuan/libassuan.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBASSUAN_VERSION = 2.5.2 +LIBASSUAN_VERSION = 2.5.3 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) diff --git a/package/libatomic_ops/libatomic_ops.hash b/package/libatomic_ops/libatomic_ops.hash index a913023e21..3fca4a8c5e 100644 --- a/package/libatomic_ops/libatomic_ops.hash +++ b/package/libatomic_ops/libatomic_ops.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 61754aa60bb8052ea64175794df2afae8baacca5420e06eb150230681e71ff5e libatomic_ops-v7.6.6.tar.gz +sha256 e6b0909cf4e63cec693fe6c48191ce864c32c5113e16c3f517aa2a244b46992f libatomic_ops-7.6.10.tar.gz sha256 f0e630c0ca489767033da5a0c869fb4231db522c5ff479ce55a853a923a00f69 doc/LICENSING.txt sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/libatomic_ops/libatomic_ops.mk b/package/libatomic_ops/libatomic_ops.mk index 100ad70257..cc890a7f28 100644 --- a/package/libatomic_ops/libatomic_ops.mk +++ b/package/libatomic_ops/libatomic_ops.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBATOMIC_OPS_VERSION = v7.6.6 -LIBATOMIC_OPS_SITE = $(call github,ivmai,libatomic_ops,$(LIBATOMIC_OPS_VERSION)) +LIBATOMIC_OPS_VERSION = 7.6.10 +LIBATOMIC_OPS_SITE = $(call github,ivmai,libatomic_ops,v$(LIBATOMIC_OPS_VERSION)) LIBATOMIC_OPS_AUTORECONF = YES # From doc/LICENSING.txt: "Our intent is to make it easy to use diff --git a/package/libavl/0001-fix-makefile.patch b/package/libavl/0001-fix-makefile.patch new file mode 100644 index 0000000000..6cc96e5f74 --- /dev/null +++ b/package/libavl/0001-fix-makefile.patch @@ -0,0 +1,49 @@ +makefile: fix compilation and installation + +This was originally taken from: +https://sources.debian.org/data/main/liba/libavl/0.3.5-4/debian/patches/fix-makefile + +Unfortunately, the URL does not end in ".patch", therefore we cannot +use it in the FOO_PATCH variable directly. + +Signed-off-by: Michael Walle + +--- a/GNUmakefile ++++ b/GNUmakefile +@@ -6,7 +6,8 @@ + LDCONFIG ?= /sbin/ldconfig + + # Some suggestions: (-mcpu= generates i386 compatible code) +-CFLAGS ?= -O2 -fomit-frame-pointer -pipe -mcpu=i686 -w ++CFLAGS ?= -O2 -pipe -Wall -Werror ++CFLAGS += -fPIC + #CFLAGS = -O2 -fomit-frame-pointer -pipe -march=i586 -Wall -g + #CFLAGS = -O6 -fomit-frame-pointer -pipe -march=i586 -Wall -ansi -pedantic + #CFLAGS = -O6 -fomit-frame-pointer -pipe -march=i686 -Wall -ansi -pedantic +@@ -34,20 +35,21 @@ + $(CC) $(LDFLAGS) $^ -o $@ $(LIBS) + + $(LIBRARY): avl.o +- $(CC) -nostdlib -shared -Wl,-soname,libavl.so.1 $^ -o $@ -lc ++ $(CC) $(LDFLAGS) -shared -Wl,-soname,libavl.so.1 $^ -o $@ -lc + + clean: + $(RM) *.o $(PROGRAMS) libavl.* + + install: all + $(INSTALL) -d $(DESTDIR)$(libdir) +- $(INSTALL) avl.h $(DESTDIR)$(includedir) +- $(INSTALL) $(LIBRARIES) $(DESTDIR)$(libdir) +- for i in $(LIBRARIES); do\ ++ $(INSTALL) -d $(DESTDIR)$(includedir) ++ $(INSTALL) -m 644 avl.h $(DESTDIR)$(includedir) ++ $(INSTALL) -m 644 $(LIBRARY) $(DESTDIR)$(libdir) ++ for i in $(LIBRARY); do\ + $(LN) -sf $$i $(DESTDIR)$(libdir)/$${i%.*};\ + $(LN) -sf $${i%.*} $(DESTDIR)$(libdir)/$${i%.*.*};\ + done +- -$(LDCONFIG) ++ #-$(LDCONFIG) + + .PHONY: clean install all + .PRECIOUS: %.h %.c diff --git a/package/libavl/Config.in b/package/libavl/Config.in new file mode 100644 index 0000000000..20d3c5ef7d --- /dev/null +++ b/package/libavl/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_LIBAVL + bool "libavl" + depends on !BR2_STATIC_LIBS + help + AVLTree is a small implementation of AVL trees for the C + programming language. + + https://packages.debian.org/buster/libavl1 + + This is not the GNU AVL library by Ben Pfaff. + +comment "libavl needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/libavl/libavl.hash b/package/libavl/libavl.hash new file mode 100644 index 0000000000..4d70f0cca9 --- /dev/null +++ b/package/libavl/libavl.hash @@ -0,0 +1,5 @@ +# From http://snapshot.debian.org/archive/debian/20160621T164030Z/pool/main/liba/libavl/libavl_0.3.5-4.dsc +sha256 4497b9e22cdd61ae2fa893b9d5fd6213dc306726d7c4be08c29e173622dca8a0 libavl_0.3.5.orig.tar.gz + +# Locally computed +sha256 767a9accfe3b110153b567983b98889469dfaae02899a632aeadbb81ad611293 COPYING diff --git a/package/libavl/libavl.mk b/package/libavl/libavl.mk new file mode 100644 index 0000000000..75ada32765 --- /dev/null +++ b/package/libavl/libavl.mk @@ -0,0 +1,43 @@ +################################################################################ +# +# libavl +# +################################################################################ + +LIBAVL_VERSION = 0.3.5 +LIBAVL_SITE = http://snapshot.debian.org/archive/debian/20050312T000000Z/pool/main/liba/libavl +LIBAVL_SOURCE = libavl_$(LIBAVL_VERSION).orig.tar.gz +LIBAVL_LICENSE = LGPL-2.0+ +LIBAVL_LICENSE_FILES = COPYING +LIBAVL_INSTALL_STAGING = YES + +LIBAVL_CFLAGS = $(TARGET_CFLAGS) -fPIC +HOST_LIBAVL_CFLAGS = $(HOST_CFLAGS) -fPIC + +define LIBAVL_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + CFLAGS="$(LIBAVL_CFLAGS)" +endef + +define LIBAVL_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) install \ + prefix=/usr DESTDIR=$(STAGING_DIR) +endef + +define LIBAVL_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) install \ + prefix=/usr DESTDIR=$(TARGET_DIR) +endef + +define HOST_LIBAVL_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) \ + CFLAGS="$(HOST_LIBAVL_CFLAGS)" +endef + +define HOST_LIBAVL_INSTALL_CMDS + $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) install \ + prefix=$(HOST_DIR) +endef + +$(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/libbluray/libbluray.hash b/package/libbluray/libbluray.hash index 9a35c5dafb..c92d9f9549 100644 --- a/package/libbluray/libbluray.hash +++ b/package/libbluray/libbluray.hash @@ -1,3 +1,4 @@ -# From http://get.videolan.org/libbluray/1.0.2/libbluray-1.0.2.tar.bz2.sha512 -sha512 e1360ad08aa6cc67a80efa81a09004faebbe31105f1961494f82f655e3e7378b198ee3bc534b0d0c2bfec726939b11b545cc8bbfa30794fc647432dadf71089b libbluray-1.0.2.tar.bz2 +# From http://download.videolan.org/pub/videolan/libbluray/1.2.0/libbluray-1.2.0.tar.bz2.sha512 +sha512 d10413b6b86ff2d2e7c4b0103546f2142727cc5209ddb7b227aa74e27384f2e0b9abee37bf8ccc5b0cdfcaeebfb0669cf20903a247df278a8ad6dbd27469d324 libbluray-1.2.0.tar.bz2 +# Locally computed sha256 b3aa400aca6d2ba1f0bd03bd98d03d1fe7489a3bbb26969d72016360af8a5c9d COPYING diff --git a/package/libbluray/libbluray.mk b/package/libbluray/libbluray.mk index 3d7ce351c1..67ea139d58 100644 --- a/package/libbluray/libbluray.mk +++ b/package/libbluray/libbluray.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBBLURAY_VERSION = 1.0.2 -LIBBLURAY_SITE = http://get.videolan.org/libbluray/$(LIBBLURAY_VERSION) +LIBBLURAY_VERSION = 1.2.0 +LIBBLURAY_SITE = http://download.videolan.org/pub/videolan/libbluray/$(LIBBLURAY_VERSION) LIBBLURAY_SOURCE = libbluray-$(LIBBLURAY_VERSION).tar.bz2 LIBBLURAY_INSTALL_STAGING = YES LIBBLURAY_LICENSE = LGPL-2.1+ diff --git a/package/libbsd/0001-flopen-fix-build-with-musl-libc.patch b/package/libbsd/0001-flopen-fix-build-with-musl-libc.patch deleted file mode 100644 index 6f0aeffed7..0000000000 --- a/package/libbsd/0001-flopen-fix-build-with-musl-libc.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8575450b9c1226fc38196b29e33c67f2b58cacf5 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 5 Jun 2018 19:18:47 +0300 -Subject: [PATCH] flopen: fix build with musl libc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Commit 993828d84ee (Add flopenat() function from FreeBSD) dropped the -fcntl.h header. This breaks the build with musl libc: - -flopen.c: In function ‘vflopenat’: -flopen.c:60:14: error: ‘O_CREAT’ undeclared (first use in this function) - if (flags & O_CREAT) { - ^~~~~~~ - -Restore the fcntl.h header include to fix the build. - -Signed-off-by: Baruch Siach ---- -Upstream status: sent to libbsd@lists.freedesktop.org - - src/flopen.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/flopen.c b/src/flopen.c -index b9972c94ec90..ff20d074445b 100644 ---- a/src/flopen.c -+++ b/src/flopen.c -@@ -32,6 +32,7 @@ - #include - - #include -+#include - #include - #include - --- -2.17.1 - diff --git a/package/libbsd/Config.in b/package/libbsd/Config.in index 0f320302b9..e54f5e6f23 100644 --- a/package/libbsd/Config.in +++ b/package/libbsd/Config.in @@ -5,8 +5,7 @@ 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) + depends on !BR2_nds32 config BR2_PACKAGE_LIBBSD bool "libbsd" diff --git a/package/libbsd/libbsd.hash b/package/libbsd/libbsd.hash index 93af3944ae..95887bd607 100644 --- a/package/libbsd/libbsd.hash +++ b/package/libbsd/libbsd.hash @@ -1,3 +1,3 @@ -# From https://lists.freedesktop.org/archives/libbsd/2018-May/000190.html -sha256 56d835742327d69faccd16955a60b6dcf30684a8da518c4eca0ac713b9e0a7a4 libbsd-0.9.1.tar.xz -sha256 df6d8e1b5b3a5b06376c658c8ad3afc82687f1c0e0404cec4738ad14b2675708 COPYING +# From https://lists.freedesktop.org/archives/libbsd/2019-August/000229.html +sha256 34b8adc726883d0e85b3118fa13605e179a62b31ba51f676136ecb2d0bc1a887 libbsd-0.10.0.tar.xz +sha256 933d14a6bc89ee1fd7adbf5b6ec97f6ff0e002549d0b0c164f8a8895371d78f8 COPYING diff --git a/package/libbsd/libbsd.mk b/package/libbsd/libbsd.mk index 2d78b8c5f3..27bac6838a 100644 --- a/package/libbsd/libbsd.mk +++ b/package/libbsd/libbsd.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBBSD_VERSION = 0.9.1 +LIBBSD_VERSION = 0.10.0 LIBBSD_SOURCE = libbsd-$(LIBBSD_VERSION).tar.xz -LIBBSD_SITE = https://archive.hadrons.org/software/libbsd +LIBBSD_SITE = https://libbsd.freedesktop.org/releases LIBBSD_LICENSE = BSD-2-Clause, BSD-3-Clause, BSD-4-Clause, BSD-5-Clause, \ MIT, ISC, Beerware LIBBSD_LICENSE_FILES = COPYING diff --git a/package/libbson/Config.in b/package/libbson/Config.in index 4305ca9037..95f224e29e 100644 --- a/package/libbson/Config.in +++ b/package/libbson/Config.in @@ -5,5 +5,7 @@ config BR2_PACKAGE_LIBBSON libbson is a library providing useful routines related to building, parsing, and iterating BSON documents. + http://mongoc.org/libbson/ + comment "libbson needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libbson/libbson.hash b/package/libbson/libbson.hash index b20a0cd8d4..568459900a 100644 --- a/package/libbson/libbson.hash +++ b/package/libbson/libbson.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 c3cc230a3451bf7fedc5bb34c3191fd23d841e65ec415301f6c77e531924b769 libbson-1.9.4.tar.gz +sha256 6bb51b863a4641d6d7729e4b55df8f4389ed534c34eb3a1cda906a53df11072c libbson-1.9.5.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING sha256 8dc5cb3146b026715e6c145621c7732f36c295d825b7b3a03076ad3f238db48e THIRD_PARTY_NOTICES diff --git a/package/libbson/libbson.mk b/package/libbson/libbson.mk index 2c9cbc7fe0..931df333ca 100644 --- a/package/libbson/libbson.mk +++ b/package/libbson/libbson.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBBSON_VERSION = 1.9.4 +LIBBSON_VERSION = 1.9.5 LIBBSON_SITE = https://github.com/mongodb/libbson/releases/download/$(LIBBSON_VERSION) LIBBSON_LICENSE = Apache-2.0, MIT (jsonl), ISC (b64), Zlib (md5) LIBBSON_LICENSE_FILES = COPYING THIRD_PARTY_NOTICES diff --git a/package/libcamera/Config.in b/package/libcamera/Config.in new file mode 100644 index 0000000000..0b3540a657 --- /dev/null +++ b/package/libcamera/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_LIBCAMERA + bool "libcamera" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + # C++11 + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54316 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 + depends on BR2_PACKAGE_HAS_UDEV + help + libcamera provides a software stack to support + complex devices that need heavy hardware image + processing operations. + + http://www.libcamera.org/ + +comment "libcamera needs udev and a toolchain w/ C++, threads, gcc >= 5" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_PACKAGE_HAS_UDEV diff --git a/package/libcamera/libcamera.hash b/package/libcamera/libcamera.hash new file mode 100644 index 0000000000..6f721d87ee --- /dev/null +++ b/package/libcamera/libcamera.hash @@ -0,0 +1,3 @@ +sha256 cbaa7e06059717f71b57f9c20135c86d5f121d9aab10bfc20513ba5d04478756 libcamera-448393f77ec9e37cb807e8e8d35c1a4877d253d4.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 licenses/gnu-gpl-2.0.txt +sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c licenses/gnu-lgpl-2.1.txt diff --git a/package/libcamera/libcamera.mk b/package/libcamera/libcamera.mk new file mode 100644 index 0000000000..2be344899e --- /dev/null +++ b/package/libcamera/libcamera.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# libcamera +# +################################################################################ + +LIBCAMERA_SITE = https://git.linuxtv.org/libcamera.git +LIBCAMERA_VERSION = 448393f77ec9e37cb807e8e8d35c1a4877d253d4 +LIBCAMERA_SITE_METHOD = git +LIBCAMERA_DEPENDENCIES = udev +LIBCAMERA_CONF_OPTS = -Dtest=false -Ddocumentation=false +LIBCAMERA_INSTALL_STAGING = YES +LIBCAMERA_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (utils) +LIBCAMERA_LICENSE_FILES = \ + licenses/gnu-gpl-2.0.txt \ + licenses/gnu-lgpl-2.1.txt + +$(eval $(meson-package)) diff --git a/package/libcap/libcap.hash b/package/libcap/libcap.hash index 2d3aee591d..cbef0dc86d 100644 --- a/package/libcap/libcap.hash +++ b/package/libcap/libcap.hash @@ -1,5 +1,5 @@ # https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/sha256sums.asc -sha256 693c8ac51e983ee678205571ef272439d83afe62dd8e424ea14ad9790bc35162 libcap-2.25.tar.xz +sha256 dac1792d0118bee6aae6ba7fb93ff1602c6a9bda812fd63916eee1435b9c486a libcap-2.27.tar.xz # Hash for license file: sha256 088cabde4662b4121258d298b0b2967bc1abffa134457ed9bc4a359685ab92bc License diff --git a/package/libcap/libcap.mk b/package/libcap/libcap.mk index a947fa0686..4919a4adca 100644 --- a/package/libcap/libcap.mk +++ b/package/libcap/libcap.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCAP_VERSION = 2.25 +LIBCAP_VERSION = 2.27 LIBCAP_SITE = https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2 LIBCAP_SOURCE = libcap-$(LIBCAP_VERSION).tar.xz LIBCAP_LICENSE = GPL-2.0 or BSD-3-Clause diff --git a/package/libcdaudio/0001-libcdaudio-enable-autoreconf.patch b/package/libcdaudio/0001-libcdaudio-enable-autoreconf.patch new file mode 100644 index 0000000000..ab2296c042 --- /dev/null +++ b/package/libcdaudio/0001-libcdaudio-enable-autoreconf.patch @@ -0,0 +1,43 @@ +From 9c2873b1d9292bcf43c862b6777d41c40521424c Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sun, 13 Jan 2019 22:27:42 +0100 +Subject: [PATCH] libcdaudio: enable autoreconf + +Fixes the following two autoreconf errors (by simple removing of the +two offending lines): + + configure.ac:20: error: automatic de-ANSI-fication support has been removed + + Makefile.am:2: error: automatic de-ANSI-fication support has been removed + +Signed-off-by: Peter Seiderer +--- + Makefile.am | 1 - + configure.ac | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index f639dd8..a32cfe6 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,5 +1,4 @@ + ## Process this file with automake to produce Makefile.in +-AUTOMAKE_OPTIONS = ansi2knr + SUBDIRS = src + + bin_SCRIPTS = libcdaudio-config +diff --git a/configure.ac b/configure.ac +index bbdd42d..6699ceb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -17,7 +17,6 @@ AM_CONFIG_HEADER(config.h) + AC_PROG_AWK + AC_PROG_CC + AC_PROG_CPP +-AM_C_PROTOTYPES + AM_PROG_CC_STDC + AC_PROG_INSTALL + AC_PROG_LN_S +-- +2.20.1 + diff --git a/package/libcdaudio/libcdaudio.mk b/package/libcdaudio/libcdaudio.mk index 5d421eba7a..651289d7e4 100644 --- a/package/libcdaudio/libcdaudio.mk +++ b/package/libcdaudio/libcdaudio.mk @@ -11,4 +11,7 @@ LIBCDAUDIO_CONFIG_SCRIPTS = libcdaudio-config LIBCDAUDIO_LICENSE = GPL-2.0+ LIBCDAUDIO_LICENSE_FILES = COPYING +# fix configure failure when the toolchain doesn't have C++ support +LIBCDAUDIO_AUTORECONF = YES + $(eval $(autotools-package)) diff --git a/package/libcdio-paranoia/libcdio-paranoia.hash b/package/libcdio-paranoia/libcdio-paranoia.hash index 33e59ba704..18e6f33dff 100644 --- a/package/libcdio-paranoia/libcdio-paranoia.hash +++ b/package/libcdio-paranoia/libcdio-paranoia.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 d60f82ece97eeb92407a9ee03f3499c8983206672c28ae5e4e22179063c81941 libcdio-paranoia-10.2+0.94+2.tar.gz +sha256 33b1cf305ccfbfd03b43936975615000ce538b119989c4bec469577570b60e8a libcdio-paranoia-10.2+2.0.1.tar.bz2 sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/libcdio-paranoia/libcdio-paranoia.mk b/package/libcdio-paranoia/libcdio-paranoia.mk index 3281aa0145..944bb14d77 100644 --- a/package/libcdio-paranoia/libcdio-paranoia.mk +++ b/package/libcdio-paranoia/libcdio-paranoia.mk @@ -4,7 +4,8 @@ # ################################################################################ -LIBCDIO_PARANOIA_VERSION = 10.2+0.94+2 +LIBCDIO_PARANOIA_VERSION = 10.2+2.0.1 +LIBCDIO_PARANOIA_SOURCE = libcdio-paranoia-$(LIBCDIO_PARANOIA_VERSION).tar.bz2 LIBCDIO_PARANOIA_SITE = $(BR2_GNU_MIRROR)/libcdio LIBCDIO_PARANOIA_LICENSE = GPL-3.0+ LIBCDIO_PARANOIA_LICENSE_FILES = COPYING diff --git a/package/libcdio/libcdio.hash b/package/libcdio/libcdio.hash index 2b6f832cbe..07bd85ff16 100644 --- a/package/libcdio/libcdio.hash +++ b/package/libcdio/libcdio.hash @@ -1,5 +1,5 @@ # Locally calculated after checking signature -sha256 1b481b5da009bea31db875805665974e2fc568e2b2afa516f4036733657cf958 libcdio-2.0.0.tar.gz +sha256 8550e9589dbd594bfac93b81ecf129b1dc9d0d51e90f9696f1b2f9b2af32712b libcdio-2.1.0.tar.bz2 # Hash for license file: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/libcdio/libcdio.mk b/package/libcdio/libcdio.mk index f4a5591722..4bf55d3344 100644 --- a/package/libcdio/libcdio.mk +++ b/package/libcdio/libcdio.mk @@ -4,7 +4,8 @@ # ################################################################################ -LIBCDIO_VERSION = 2.0.0 +LIBCDIO_VERSION = 2.1.0 +LIBCDIO_SOURCE = libcdio-$(LIBCDIO_VERSION).tar.bz2 LIBCDIO_SITE = $(BR2_GNU_MIRROR)/libcdio LIBCDIO_INSTALL_STAGING = YES LIBCDIO_LICENSE = GPL-3.0+ diff --git a/package/libcec/libcec.hash b/package/libcec/libcec.hash index e7264b40ca..aa09b36bd8 100644 --- a/package/libcec/libcec.hash +++ b/package/libcec/libcec.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b8b8dd31f3ebdd5472f03ab7d401600ea0d959b1288b9ca24bf457ef60e2ba27 libcec-4.0.2.tar.gz -sha256 3618005b3db4eb8ede7292d233e6c41605cb8dcbd33e8790eff6e29c1e4f3789 COPYING +sha256 e4d749430ebcf3a35ec3a3f6675afcc5755afc1e5801c12121e54d80eb187743 libcec-4.0.5.tar.gz +sha256 0137261d24ce001fc5237aacddd267533e0f150ac23cf21acffea599f7358f7a COPYING diff --git a/package/libcec/libcec.mk b/package/libcec/libcec.mk index 99d1c8b2ba..d5f1caf7c5 100644 --- a/package/libcec/libcec.mk +++ b/package/libcec/libcec.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCEC_VERSION = 4.0.2 +LIBCEC_VERSION = 4.0.5 LIBCEC_SITE = $(call github,Pulse-Eight,libcec,libcec-$(LIBCEC_VERSION)) LIBCEC_LICENSE = GPL-2.0+ LIBCEC_LICENSE_FILES = COPYING diff --git a/package/libcgi/0001-CMakeLists.txt-libcgi-is-in-C.patch b/package/libcgi/0001-CMakeLists.txt-libcgi-is-in-C.patch deleted file mode 100644 index 682bfe5d52..0000000000 --- a/package/libcgi/0001-CMakeLists.txt-libcgi-is-in-C.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 043f7a470e32c036f0fe933ec5cd2003087d6b2e Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 2 Sep 2017 23:50:42 +0200 -Subject: [PATCH] CMakeLists.txt: libcgi is in C - -By default, CMake checks that both C and C++ compilers are -available. However, since libcgi is only C, there's no need for a C++ -compiler check. Therefore, this commit adjusts the project() variable -definition to only require C language support. - -Signed-off-by: Thomas Petazzoni -Submitted-upstream: https://github.com/rafaelsteil/libcgi/pull/38 ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f98a99d..c599ca9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -3,7 +3,7 @@ - # - cmake_minimum_required(VERSION 2.8.8) - --project(cgi) -+project(cgi C) - string(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC) - string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LC) - set(LIBPREFIX ${PROJECT_NAME}) --- -2.13.5 - diff --git a/package/libcgi/0002-CMakeLists.txt-don-t-force-the-build-of-a-shared-lib.patch b/package/libcgi/0002-CMakeLists.txt-don-t-force-the-build-of-a-shared-lib.patch deleted file mode 100644 index ebf91b0a62..0000000000 --- a/package/libcgi/0002-CMakeLists.txt-don-t-force-the-build-of-a-shared-lib.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 9bb9d67da0e4faf4bb3a47786dee127e66a49ed0 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 3 Sep 2017 15:22:30 +0200 -Subject: [PATCH] CMakeLists.txt: don't force the build of a shared library - -Building a shared library doesn't work on all platforms, so instead, -let CMake rely on the standard BUILD_SHARED_LIBS variable to decide -whether a static or shared library should be built. - -Signed-off-by: Thomas Petazzoni -Submitted-upstream: https://github.com/rafaelsteil/libcgi/pull/39 ---- - src/CMakeLists.txt | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index f32d22e..3bde408 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -23,17 +23,18 @@ set(CGI_SRC - ) - - # create binary --add_library(${PROJECT_NAME}-shared SHARED ${CGI_SRC}) --set_target_properties(${PROJECT_NAME}-shared PROPERTIES -+add_library(${PROJECT_NAME} ${CGI_SRC}) -+set_target_properties(${PROJECT_NAME} PROPERTIES - OUTPUT_NAME ${PROJECT_NAME} - SOVERSION ${PROJECT_VERSION_MAJOR} - VERSION ${PROJECT_VERSION} - ) - - # install binary --install(TARGETS ${PROJECT_NAME}-shared -+install(TARGETS ${PROJECT_NAME} - EXPORT ${PROJECT_NAME}-targets - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" -+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - ) - - # install cmake targets --- -2.13.5 - diff --git a/package/libcgi/libcgi.hash b/package/libcgi/libcgi.hash index f071cc0aea..8760f91cf5 100644 --- a/package/libcgi/libcgi.hash +++ b/package/libcgi/libcgi.hash @@ -1,5 +1,8 @@ -# From https://github.com/rafaelsteil/libcgi/releases/download/v1.1/libcgi-1.1.tar.gz.sha256sum -sha256 128445f2f828e84905d51bd53d11e2e08c489df3a07225ff9f198c1318092fe6 libcgi-1.1.tar.gz +# From https://github.com/rafaelsteil/libcgi/releases/download/v1.3.0/libcgi-1.3.0.tar.gz.md5 +md5 6efdc968bdf986832b7e220d1b914e57 libcgi-1.3.0.tar.gz +# From https://github.com/rafaelsteil/libcgi/releases/download/v1.3.0/libcgi-1.3.0.tar.gz.sha256 +sha256 d932f380b1a5dbfbddffaa76fac71bf505a9585d441c9ae86bfbf76033d9d8df libcgi-1.3.0.tar.gz # Hash for license file: -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSES/LGPL-2.1.txt +sha256 f32c31e26ec840753a8cd47cd2681e48be4cee853212d16a4b1d85ac4d677669 LICENSES/MIT.txt diff --git a/package/libcgi/libcgi.mk b/package/libcgi/libcgi.mk index d1e403fdf1..22163310d3 100644 --- a/package/libcgi/libcgi.mk +++ b/package/libcgi/libcgi.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBCGI_VERSION = 1.1 +LIBCGI_VERSION = 1.3.0 LIBCGI_SITE = https://github.com/rafaelsteil/libcgi/releases/download/v$(LIBCGI_VERSION) LIBCGI_INSTALL_STAGING = YES -LIBCGI_LICENSE = LGPL-2.1+ -LIBCGI_LICENSE_FILES = COPYING +LIBCGI_LICENSE = LGPL-2.1+, MIT (base64.c) +LIBCGI_LICENSE_FILES = LICENSES/LGPL-2.1.txt LICENSES/MIT.txt $(eval $(cmake-package)) diff --git a/package/libcgroup/0001-cgrulesengd-remove-umask-0.patch b/package/libcgroup/0001-cgrulesengd-remove-umask-0.patch new file mode 100644 index 0000000000..1d9077a2d6 --- /dev/null +++ b/package/libcgroup/0001-cgrulesengd-remove-umask-0.patch @@ -0,0 +1,33 @@ +From 0d88b73d189ea3440ccaab00418d6469f76fa590 Mon Sep 17 00:00:00 2001 +From: Michal Hocko +Date: Wed, 18 Jul 2018 11:24:29 +0200 +Subject: [PATCH] cgrulesengd: remove umask(0) + +One of our partners has noticed that cgred daemon is creating a log file +(/var/log/cgred) with too wide permissions (0666) and that is seen as +a security bug because an untrusted user can write to otherwise +restricted area. CVE-2018-14348 has been assigned to this issue. + +Signed-off-by: Michal Hocko +Acked-by: Balbir Singh +[Retrieved from: +https://github.com/libcgroup/libcgroup/commit/0d88b73d189ea3440ccaab00418d6469f76fa590] +Signed-off-by: Fabrice Fontaine +--- + src/daemon/cgrulesengd.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/src/daemon/cgrulesengd.c b/src/daemon/cgrulesengd.c +index ea51f11..0d288f3 100644 +--- a/src/daemon/cgrulesengd.c ++++ b/src/daemon/cgrulesengd.c +@@ -889,9 +889,6 @@ int cgre_start_daemon(const char *logp, const int logf, + } else if (pid > 0) { + exit(EXIT_SUCCESS); + } +- +- /* Change the file mode mask. */ +- umask(0); + } else { + flog(LOG_DEBUG, "Not using daemon mode\n"); + pid = getpid(); diff --git a/package/libcgroup/libcgroup.mk b/package/libcgroup/libcgroup.mk index 3845627d48..a26d5f2ddf 100644 --- a/package/libcgroup/libcgroup.mk +++ b/package/libcgroup/libcgroup.mk @@ -12,6 +12,9 @@ LIBCGROUP_LICENSE_FILES = COPYING LIBCGROUP_DEPENDENCIES = host-bison host-flex LIBCGROUP_INSTALL_STAGING = YES +# 0001-cgrulesengd-remove-umask-0.patch +LIBCGROUP_IGNORE_CVES += CVE-2018-14348 + # Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h # large file support. See https://bugzilla.redhat.com/show_bug.cgi?id=574992 # for more information. diff --git a/package/libclc/Config.in b/package/libclc/Config.in index 4bba6a9175..797f090bfc 100644 --- a/package/libclc/Config.in +++ b/package/libclc/Config.in @@ -1,7 +1,6 @@ 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, diff --git a/package/libclc/libclc.hash b/package/libclc/libclc.hash index 6c06648fcf..29728fbc76 100644 --- a/package/libclc/libclc.hash +++ b/package/libclc/libclc.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 8d7b42fba6db4a124c74f0ac475c1bc515761cbf3d559820b4cbe5b33e94f26c libclc-dabae5a2afb78cba0320a86e3f5f0b5dc83e077c.tar.gz -sha256 45187a46f0637e4e92decb51d8dc3c9e4957b349d0283dfbd6647e8000d9ac7f LICENSE.TXT +sha256 5ea2cd2fa7fa1474d3e0580064e7a22014ef8d64dbbd7c546277fa4beb5acf86 libclc-d1cbc92e2ceee59963f5c3a576382e5bba31f060.tar.gz +sha256 3c536c052db9afd997809e38785c9f2a9e54e2892330fa7c5b438e18a7413479 LICENSE.TXT diff --git a/package/libclc/libclc.mk b/package/libclc/libclc.mk index 17903c05d4..630616905c 100644 --- a/package/libclc/libclc.mk +++ b/package/libclc/libclc.mk @@ -4,12 +4,11 @@ # ################################################################################ -# 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 +# Use the latest commit from release_90 branch. +LIBCLC_VERSION = d1cbc92e2ceee59963f5c3a576382e5bba31f060 LIBCLC_SITE = https://git.llvm.org/git/libclc LIBCLC_SITE_METHOD = git -LIBCLC_LICENSE = NCSA or MIT +LIBCLC_LICENSE = Apache-2.0 with exceptions or MIT LIBCLC_LICENSE_FILES = LICENSE.TXT LIBCLC_DEPENDENCIES = host-clang host-llvm @@ -26,7 +25,7 @@ LIBCLC_CONF_OPTS = \ --prefix=/usr \ --includedir=/usr/share \ --pkgconfigdir=/usr/lib/pkgconfig \ - --with-cxx-compiler=$(HOSTCXX) + --with-cxx-compiler=$(HOSTCXX_NOCCACHE) define LIBCLC_CONFIGURE_CMDS (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure.py $(LIBCLC_CONF_OPTS)) diff --git a/package/libcli/libcli.hash b/package/libcli/libcli.hash index 729c636960..ce4373e92b 100644 --- a/package/libcli/libcli.hash +++ b/package/libcli/libcli.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3c801cb0112b6b5e07bdc3b98c034b36df6f33a8ed95ce74520b704bdbc0f36d libcli-c63c9d35144939c8b4fa3c5394aed2e29ff517b0.tar.gz -sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f COPYING +sha256 190f0a315dbc291400e9d33f701f9a66894102a6c29e1aebb63f01239bb164d0 libcli-1.10.2.tar.gz +sha256 376b54d4c5f4aa99421823fa4da93e3ab73096fce2400e89858632aa7da24a14 COPYING diff --git a/package/libcli/libcli.mk b/package/libcli/libcli.mk index 0fef008a4f..bc46082546 100644 --- a/package/libcli/libcli.mk +++ b/package/libcli/libcli.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBCLI_VERSION = c63c9d35144939c8b4fa3c5394aed2e29ff517b0 -LIBCLI_SITE = $(call github,dparrish,libcli,$(LIBCLI_VERSION)) +LIBCLI_VERSION = 1.10.2 +LIBCLI_SITE = $(call github,dparrish,libcli,V$(LIBCLI_VERSION)) LIBCLI_LICENSE = LGPL-2.1 LIBCLI_LICENSE_FILES = COPYING LIBCLI_INSTALL_STAGING = YES diff --git a/package/libcoap/libcoap.hash b/package/libcoap/libcoap.hash index deb94ecd6d..579a052c8d 100644 --- a/package/libcoap/libcoap.hash +++ b/package/libcoap/libcoap.hash @@ -1,5 +1,4 @@ # Locally calculated -sha256 f7e26dc232c177336474a14487771037a8fb32e311f5ccd076a00dc04b6d7b7a libcoap-v4.1.2.tar.gz -sha256 28b61fbf3c5477611d7f6ead97d15348934496d27dca815b34d45e622730e72e COPYING -sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 LICENSE.GPL -sha256 9d5aeec17bdf82369bbe6e89efb07b7b35abefa044ea1d25cb2feeb70df1c208 LICENSE.BSD +sha256 9523e38da6ee8b2a8f5ce83ded64107dd1e514c7ad00cd74ccfe3454b679c271 libcoap-4.2.0.tar.gz +sha256 09dd86a017bad210527085008cbf706609c58210897b69845af14099577e7eb7 COPYING +sha256 3821a9f881344ad53c543c84675ad4b6a29e913ca500cfa160ab52e4e6965b15 LICENSE diff --git a/package/libcoap/libcoap.mk b/package/libcoap/libcoap.mk index 4f87886ba0..bea0e68889 100644 --- a/package/libcoap/libcoap.mk +++ b/package/libcoap/libcoap.mk @@ -4,13 +4,23 @@ # ################################################################################ -LIBCOAP_VERSION = v4.1.2 -LIBCOAP_SITE = $(call github,obgm,libcoap,$(LIBCOAP_VERSION)) +LIBCOAP_VERSION = 4.2.0 +LIBCOAP_SITE = $(call github,obgm,libcoap,v$(LIBCOAP_VERSION)) LIBCOAP_INSTALL_STAGING = YES -LIBCOAP_LICENSE = GPL-2.0+ or BSD-2-Clause -LIBCOAP_LICENSE_FILES = COPYING LICENSE.GPL LICENSE.BSD +LIBCOAP_LICENSE = BSD-2-Clause +LIBCOAP_LICENSE_FILES = COPYING LICENSE LIBCOAP_DEPENDENCIES = host-pkgconf -LIBCOAP_CONF_OPTS = --disable-examples +LIBCOAP_CONF_OPTS = --disable-examples --without-tinydtls LIBCOAP_AUTORECONF = YES +ifeq ($(BR2_PACKAGE_GNUTLS),y) +LIBCOAP_DEPENDENCIES += gnutls +LIBCOAP_CONF_OPTS += --enable-dtls --with-gnutls --without-openssl +else ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBCOAP_DEPENDENCIES += openssl +LIBCOAP_CONF_OPTS += --enable-dtls --without-gnutls --with-openssl +else +LIBCOAP_CONF_OPTS += --disable-dtls +endif + $(eval $(autotools-package)) diff --git a/package/libcodec2/0001-fix-codec2-pc-in.patch b/package/libcodec2/0001-fix-codec2-pc-in.patch deleted file mode 100644 index 5950219de2..0000000000 --- a/package/libcodec2/0001-fix-codec2-pc-in.patch +++ /dev/null @@ -1,20 +0,0 @@ -Fix includedir in codec2.pc.in - -The template file codec2.pc.in contains the wrong path to the header -files: they are installed in /usr/include/codec2 and not /usr/include/ -directly. - -Signed-off-by: Thomas Petazzoni - -Index: b/codec2.pc.in -=================================================================== ---- a/codec2.pc.in -+++ b/codec2.pc.in -@@ -1,6 +1,6 @@ - prefix=@CMAKE_INSTALL_PREFIX@ - libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ --includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/ -+includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/codec2 - - Name: codec2 - Description: A speech codec for 2400 bit/s and below diff --git a/package/libcodec2/libcodec2.hash b/package/libcodec2/libcodec2.hash index e401e9d30e..ec4f1f1a32 100644 --- a/package/libcodec2/libcodec2.hash +++ b/package/libcodec2/libcodec2.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 0695bb93cd985dd39f02f0db35ebc28a98b9b88747318f90774aba5f374eadb2 codec2-0.7.tar.xz +sha256 19181a446f4df3e6d616b50cabdac4485abb9cd3242cf312a0785f892ed4c76c libcodec2-0.9.2.tar.gz sha256 9ebb6f82b7380a62ac74c5f0322c88e6744dedf2ebe1f54d6f088282b39844bf COPYING diff --git a/package/libcodec2/libcodec2.mk b/package/libcodec2/libcodec2.mk index 3253a35956..8410ffc90a 100644 --- a/package/libcodec2/libcodec2.mk +++ b/package/libcodec2/libcodec2.mk @@ -4,9 +4,8 @@ # ################################################################################ -LIBCODEC2_VERSION = 0.7 -LIBCODEC2_SITE = https://freedv.com/wp-content/uploads/sites/8/2017/10 -LIBCODEC2_SOURCE = codec2-$(LIBCODEC2_VERSION).tar.xz +LIBCODEC2_VERSION = 0.9.2 +LIBCODEC2_SITE = $(call github,drowe67,codec2,v$(LIBCODEC2_VERSION)) LIBCODEC2_LICENSE = LGPL-2.1 LIBCODEC2_LICENSE_FILES = COPYING LIBCODEC2_INSTALL_STAGING = YES diff --git a/package/libcofi/libcofi.hash b/package/libcofi/libcofi.hash index 1baaece4cb..c5f6bb4416 100644 --- a/package/libcofi/libcofi.hash +++ b/package/libcofi/libcofi.hash @@ -1,2 +1,3 @@ # locally computed sha256 72ec89c19267612b316ec9c5835c07212b8f0a377c5b4c20b6e46e69a6e4a5e5 libcofi-7313fbe12b0593034d0a1b606bf33c7cf4ababce.tar.gz +sha256 1a8203e5d11f0841235cf30265b1ffb19c0d9c4a6d2889554cbeccaf9f09b327 README.md diff --git a/package/libconfig/libconfig.hash b/package/libconfig/libconfig.hash index 7a77034e68..e056a17de3 100644 --- a/package/libconfig/libconfig.hash +++ b/package/libconfig/libconfig.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 f67ac44099916ae260a6c9e290a90809e7d782d96cdd462cac656ebc5b685726 libconfig-v1.7.2.tar.gz +sha256 f67ac44099916ae260a6c9e290a90809e7d782d96cdd462cac656ebc5b685726 libconfig-1.7.2.tar.gz sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f COPYING.LIB diff --git a/package/libconfig/libconfig.mk b/package/libconfig/libconfig.mk index 699f593385..a127f9bcc8 100644 --- a/package/libconfig/libconfig.mk +++ b/package/libconfig/libconfig.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBCONFIG_VERSION = v1.7.2 -LIBCONFIG_SITE = $(call github,hyperrealm,libconfig,$(LIBCONFIG_VERSION)) +LIBCONFIG_VERSION = 1.7.2 +LIBCONFIG_SITE = $(call github,hyperrealm,libconfig,v$(LIBCONFIG_VERSION)) LIBCONFIG_LICENSE = LGPL-2.1+ LIBCONFIG_LICENSE_FILES = COPYING.LIB LIBCONFIG_INSTALL_STAGING = YES diff --git a/package/libconfuse/libconfuse.hash b/package/libconfuse/libconfuse.hash index adc93f99a3..bb968f7a52 100644 --- a/package/libconfuse/libconfuse.hash +++ b/package/libconfuse/libconfuse.hash @@ -1,5 +1,5 @@ -# From https://github.com/martinh/libconfuse/releases/download/v3.2.2/confuse-3.2.2.tar.xz.md5 -md5 978996e421e5005e6a9f6f84948fac44 confuse-3.2.2.tar.xz +# From https://github.com/martinh/libconfuse/releases/download/v3.3/confuse-3.3.tar.xz.md5 +md5 a183cef2cecdd3783436ff8de500d274 confuse-3.3.tar.xz # Locally computed -sha256 a9240b653d02e8cfc52db48e8c4224426e528e1faa09b65e8ca08a197fad210b confuse-3.2.2.tar.xz +sha256 1dd50a0320e135a55025b23fcdbb3f0a81913b6d0b0a9df8cc2fdf3b3dc67010 confuse-3.3.tar.xz sha256 dc3ff4b62f851dd2e94a151061ffeb7d28ddfc880a442068dc5283dbaa927306 LICENSE diff --git a/package/libconfuse/libconfuse.mk b/package/libconfuse/libconfuse.mk index b16bc9b7a7..516c0056d1 100644 --- a/package/libconfuse/libconfuse.mk +++ b/package/libconfuse/libconfuse.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCONFUSE_VERSION = 3.2.2 +LIBCONFUSE_VERSION = 3.3 LIBCONFUSE_SOURCE = confuse-$(LIBCONFUSE_VERSION).tar.xz LIBCONFUSE_SITE = https://github.com/martinh/libconfuse/releases/download/v$(LIBCONFUSE_VERSION) LIBCONFUSE_INSTALL_STAGING = YES diff --git a/package/libcpprestsdk/Config.in b/package/libcpprestsdk/Config.in index a07159b124..af97509d1b 100644 --- a/package/libcpprestsdk/Config.in +++ b/package/libcpprestsdk/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBCPPRESTSDK bool "libcpprestsdk" + depends on BR2_ENABLE_LOCALE depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # boost depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr @@ -13,7 +14,6 @@ config BR2_PACKAGE_LIBCPPRESTSDK select BR2_PACKAGE_BOOST_REGEX select BR2_PACKAGE_BOOST_THREAD select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_ZLIB help The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern @@ -22,10 +22,10 @@ config BR2_PACKAGE_LIBCPPRESTSDK https://github.com/Microsoft/cpprestsdk -comment "libcpprestsdk needs a toolchain w/ NPTL, C++, wchar" +comment "libcpprestsdk needs a toolchain w/ NPTL, C++, wchar, locale" depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_INSTALL_LIBSTDCPP || \ - !BR2_USE_WCHAR + !BR2_USE_WCHAR || !BR2_ENABLE_LOCALE comment "libcpprestsdk needs exception_ptr" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/libcpprestsdk/libcpprestsdk.hash b/package/libcpprestsdk/libcpprestsdk.hash index 331db664b3..1f79a4ad95 100644 --- a/package/libcpprestsdk/libcpprestsdk.hash +++ b/package/libcpprestsdk/libcpprestsdk.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 55e1521fb7b7c9b2f4f2065c5fb47e249227f15299257ee6f1a0c942a4057f4f libcpprestsdk-v2.10.10.tar.gz -sha256 5c191789f502ac87df83b57008d2fc3e47fbf31315381b5bc4309f6602d0fe97 license.txt +sha256 1c027a53457e87b0b3a475e5c8045b94400c475898c8bd51b0fbd218b99a7f7b libcpprestsdk-2.10.15.tar.gz +sha256 5c191789f502ac87df83b57008d2fc3e47fbf31315381b5bc4309f6602d0fe97 license.txt diff --git a/package/libcpprestsdk/libcpprestsdk.mk b/package/libcpprestsdk/libcpprestsdk.mk index a03e6d250b..69ff9f17cc 100644 --- a/package/libcpprestsdk/libcpprestsdk.mk +++ b/package/libcpprestsdk/libcpprestsdk.mk @@ -4,16 +4,52 @@ # ################################################################################ -LIBCPPRESTSDK_VERSION = v2.10.10 -LIBCPPRESTSDK_SITE = $(call github,Microsoft,cpprestsdk,$(LIBCPPRESTSDK_VERSION)) +LIBCPPRESTSDK_VERSION = 2.10.15 +LIBCPPRESTSDK_SITE = $(call github,Microsoft,cpprestsdk,v$(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 -DCPPREST_EXCLUDE_WEBSOCKETS=ON -DBUILD_SAMPLES=OFF +LIBCPPRESTSDK_INSTALL_STAGING = YES +LIBCPPRESTSDK_DEPENDENCIES += host-pkgconf boost openssl +LIBCPPRESTSDK_CONF_OPTS = -DWERROR=OFF -DBUILD_SAMPLES=OFF -ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -LIBCPPRESTSDK_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +ifeq ($(BR2_STATIC_LIBS),y) +LIBCPPRESTSDK_CONF_OPTS += \ + -DBoost_USE_STATIC_LIBS=ON \ + -DBoost_USE_STATIC_RUNTIME=ON endif +LIBCPPRESTSDK_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LIBCPPRESTSDK_CXXFLAGS += -latomic +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +LIBCPPRESTSDK_DEPENDENCIES += zlib +LIBCPPRESTSDK_CONF_OPTS += -DCPPREST_EXCLUDE_COMPRESSION=OFF +# brotli needs compression +ifeq ($(BR2_PACKAGE_BROTLI),y) +LIBCPPRESTSDK_DEPENDENCIES += brotli +LIBCPPRESTSDK_CONF_OPTS += -DCPPREST_EXCLUDE_BROTLI=OFF +else +LIBCPPRESTSDK_CONF_OPTS += -DCPPREST_EXCLUDE_BROTLI=ON +endif +else +LIBCPPRESTSDK_CONF_OPTS += -DCPPREST_EXCLUDE_COMPRESSION=ON +endif + +ifeq ($(BR2_PACKAGE_WEBSOCKETPP),y) +LIBCPPRESTSDK_DEPENDENCIES += websocketpp +LIBCPPRESTSDK_CONF_OPTS += -DCPPREST_EXCLUDE_WEBSOCKETS=OFF +else +LIBCPPRESTSDK_CONF_OPTS += -DCPPREST_EXCLUDE_WEBSOCKETS=ON +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +LIBCPPRESTSDK_CXXFLAGS += -O0 +endif + +LIBCPPRESTSDK_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(LIBCPPRESTSDK_CXXFLAGS)" + $(eval $(cmake-package)) diff --git a/package/libcroco/0001-input-check-end-of-input-before-reading-a-byte.patch b/package/libcroco/0001-input-check-end-of-input-before-reading-a-byte.patch deleted file mode 100644 index 831b1a7454..0000000000 --- a/package/libcroco/0001-input-check-end-of-input-before-reading-a-byte.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 898e3a8c8c0314d2e6b106809a8e3e93cf9d4394 Mon Sep 17 00:00:00 2001 -From: Ignacio Casal Quinteiro -Date: Sun, 16 Apr 2017 13:13:43 +0200 -Subject: [PATCH] input: check end of input before reading a byte - -Fixes CVE-2017-7960 - -When reading bytes we weren't check that the index wasn't -out of bound and this could produce an invalid read which -could deal to a security bug. - -Signed-off-by: Peter Korsgaard ---- - src/cr-input.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/src/cr-input.c b/src/cr-input.c -index 49000b1..3b63a88 100644 ---- a/src/cr-input.c -+++ b/src/cr-input.c -@@ -256,7 +256,7 @@ cr_input_new_from_uri (const gchar * a_file_uri, enum CREncoding a_enc) - *we should free buf here because it's own by CRInput. - *(see the last parameter of cr_input_new_from_buf(). - */ -- buf = NULL ; -+ buf = NULL; - } - - cleanup: -@@ -404,6 +404,8 @@ cr_input_get_nb_bytes_left (CRInput const * a_this) - enum CRStatus - cr_input_read_byte (CRInput * a_this, guchar * a_byte) - { -+ gulong nb_bytes_left = 0; -+ - g_return_val_if_fail (a_this && PRIVATE (a_this) - && a_byte, CR_BAD_PARAM_ERROR); - -@@ -413,6 +415,12 @@ cr_input_read_byte (CRInput * a_this, guchar * a_byte) - if (PRIVATE (a_this)->end_of_input == TRUE) - return CR_END_OF_INPUT_ERROR; - -+ nb_bytes_left = cr_input_get_nb_bytes_left (a_this); -+ -+ if (nb_bytes_left < 1) { -+ return CR_END_OF_INPUT_ERROR; -+ } -+ - *a_byte = PRIVATE (a_this)->in_buf[PRIVATE (a_this)->next_byte_index]; - - if (PRIVATE (a_this)->nb_bytes - -@@ -477,7 +485,6 @@ cr_input_read_char (CRInput * a_this, guint32 * a_char) - if (*a_char == '\n') { - PRIVATE (a_this)->end_of_line = TRUE; - } -- - } - - return status; --- -2.11.0 - diff --git a/package/libcroco/0002-tknzr-support-only-max-long-rgb-values.patch b/package/libcroco/0002-tknzr-support-only-max-long-rgb-values.patch deleted file mode 100644 index 1a9bcd947a..0000000000 --- a/package/libcroco/0002-tknzr-support-only-max-long-rgb-values.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 9ad72875e9f08e4c519ef63d44cdbd94aa9504f7 Mon Sep 17 00:00:00 2001 -From: Ignacio Casal Quinteiro -Date: Sun, 16 Apr 2017 13:56:09 +0200 -Subject: [PATCH] tknzr: support only max long rgb values - -Fixes CVE-2017-7961 - -This fixes a possible out of bound when reading rgbs which -are longer than the support MAXLONG - -Signed-off-by: Peter Korsgaard ---- - src/cr-tknzr.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/src/cr-tknzr.c b/src/cr-tknzr.c -index 1a7cfeb..1548c35 100644 ---- a/src/cr-tknzr.c -+++ b/src/cr-tknzr.c -@@ -1279,6 +1279,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb) - status = cr_tknzr_parse_num (a_this, &num); - ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL)); - -+ if (num->val > G_MAXLONG) { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ - red = num->val; - cr_num_destroy (num); - num = NULL; -@@ -1298,6 +1303,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb) - status = cr_tknzr_parse_num (a_this, &num); - ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL)); - -+ if (num->val > G_MAXLONG) { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ - PEEK_BYTE (a_this, 1, &next_bytes[0]); - if (next_bytes[0] == '%') { - SKIP_CHARS (a_this, 1); --- -2.11.0 - diff --git a/package/libcroco/libcroco.hash b/package/libcroco/libcroco.hash index 809671c5ee..b998206422 100644 --- a/package/libcroco/libcroco.hash +++ b/package/libcroco/libcroco.hash @@ -1,5 +1,5 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/libcroco/0.6/libcroco-0.6.12.sha256sum -sha256 ddc4b5546c9fb4280a5017e2707fbd4839034ed1aba5b7d4372212f34f84f860 libcroco-0.6.12.tar.xz +# From http://ftp.acc.umu.se/pub/gnome/sources/libcroco/0.6/libcroco-0.6.13.sha256sum +sha256 767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4 libcroco-0.6.13.tar.xz # Hash for license file: sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 COPYING.LIB diff --git a/package/libcroco/libcroco.mk b/package/libcroco/libcroco.mk index 612fd1f471..c717c9a212 100644 --- a/package/libcroco/libcroco.mk +++ b/package/libcroco/libcroco.mk @@ -5,7 +5,7 @@ ################################################################################ LIBCROCO_VERSION_MAJOR = 0.6 -LIBCROCO_VERSION = $(LIBCROCO_VERSION_MAJOR).12 +LIBCROCO_VERSION = $(LIBCROCO_VERSION_MAJOR).13 LIBCROCO_SITE = http://ftp.gnome.org/pub/gnome/sources/libcroco/$(LIBCROCO_VERSION_MAJOR) LIBCROCO_SOURCE = libcroco-$(LIBCROCO_VERSION).tar.xz LIBCROCO_INSTALL_STAGING = YES diff --git a/package/libcrossguid/libcrossguid.hash b/package/libcrossguid/libcrossguid.hash index a991da56a0..17dbe35c71 100644 --- a/package/libcrossguid/libcrossguid.hash +++ b/package/libcrossguid/libcrossguid.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 022c9f02cc36e865cd8fd0111a597ff2bd91988deeb348dbe2aba64aed1abd99 libcrossguid-8f399e8bd4252be9952f3dfa8199924cc8487ca4.tar.gz +sha256 022c9f02cc36e865cd8fd0111a597ff2bd91988deeb348dbe2aba64aed1abd99 libcrossguid-8f399e8bd4252be9952f3dfa8199924cc8487ca4.tar.gz +sha256 779e58787f966a1552f68d5ec041513cef68785dae4a519dbda7bc0b86eda20e LICENSE diff --git a/package/libcue/libcue.hash b/package/libcue/libcue.hash index 357807f0c8..b69fb7fa2b 100644 --- a/package/libcue/libcue.hash +++ b/package/libcue/libcue.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 f27bc3ebb2e892cd9d32a7bee6d84576a60f955f29f748b9b487b173712f1200 libcue-v2.2.1.tar.gz +sha256 f27bc3ebb2e892cd9d32a7bee6d84576a60f955f29f748b9b487b173712f1200 libcue-2.2.1.tar.gz sha256 c388d36583fa54e13b6d73ad924d0b68d073ed8a5771e17cb49104705df4504f LICENSE diff --git a/package/libcue/libcue.mk b/package/libcue/libcue.mk index f2d64439fe..3edb4f3b69 100644 --- a/package/libcue/libcue.mk +++ b/package/libcue/libcue.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBCUE_VERSION = v2.2.1 -LIBCUE_SITE = $(call github,lipnitsk,libcue,$(LIBCUE_VERSION)) +LIBCUE_VERSION = 2.2.1 +LIBCUE_SITE = $(call github,lipnitsk,libcue,v$(LIBCUE_VERSION)) LIBCUE_LICENSE = GPL-2.0, BSD-2-Clause (rem.c) LIBCUE_LICENSE_FILES = LICENSE LIBCUE_DEPENDENCIES = host-bison host-flex flex diff --git a/package/libcuefile/libcuefile.mk b/package/libcuefile/libcuefile.mk index 66b589b193..891c1eec37 100644 --- a/package/libcuefile/libcuefile.mk +++ b/package/libcuefile/libcuefile.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBCUEFILE_VERSION = r475 +LIBCUEFILE_VERSION = 475 LIBCUEFILE_SITE = http://files.musepack.net/source -LIBCUEFILE_SOURCE = libcuefile_$(LIBCUEFILE_VERSION).tar.gz +LIBCUEFILE_SOURCE = libcuefile_r$(LIBCUEFILE_VERSION).tar.gz LIBCUEFILE_INSTALL_STAGING = YES LIBCUEFILE_LICENSE = GPL-2.0+ LIBCUEFILE_LICENSE_FILES = COPYING diff --git a/package/libcurl/0001-bearssl-fix-build-with-disabled-proxy-support.patch b/package/libcurl/0001-bearssl-fix-build-with-disabled-proxy-support.patch new file mode 100644 index 0000000000..b6d89859b9 --- /dev/null +++ b/package/libcurl/0001-bearssl-fix-build-with-disabled-proxy-support.patch @@ -0,0 +1,50 @@ +From 3a46be47cad5a3498b5f6d6007b7d1fe5b8dff78 Mon Sep 17 00:00:00 2001 +Message-Id: <3a46be47cad5a3498b5f6d6007b7d1fe5b8dff78.1594274321.git.baruch@tkos.co.il> +From: Baruch Siach +Date: Thu, 9 Jul 2020 08:14:49 +0300 +Subject: [PATCH] bearssl: fix build with disabled proxy support + +Avoid reference to fields that do not exist when CURL_DISABLE_PROXY is +defined. + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/curl/curl/pull/5666 + + lib/vtls/bearssl.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/lib/vtls/bearssl.c b/lib/vtls/bearssl.c +index 628e16a124a9..44e7406e8e39 100644 +--- a/lib/vtls/bearssl.c ++++ b/lib/vtls/bearssl.c +@@ -300,8 +300,12 @@ static CURLcode bearssl_connect_step1(struct connectdata *conn, int sockindex) + struct ssl_connect_data *connssl = &conn->ssl[sockindex]; + struct ssl_backend_data *backend = connssl->backend; + const char * const ssl_cafile = SSL_CONN_CONFIG(CAfile); ++#ifndef CURL_DISABLE_PROXY + const char *hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : + conn->host.name; ++#else ++ const char *hostname = conn->host.name; ++#endif + const bool verifypeer = SSL_CONN_CONFIG(verifypeer); + const bool verifyhost = SSL_CONN_CONFIG(verifyhost); + CURLcode ret; +@@ -386,8 +390,11 @@ static CURLcode bearssl_connect_step1(struct connectdata *conn, int sockindex) + */ + + #ifdef USE_NGHTTP2 +- if(data->set.httpversion >= CURL_HTTP_VERSION_2 && +- (!SSL_IS_PROXY() || !conn->bits.tunnel_proxy)) { ++ if(data->set.httpversion >= CURL_HTTP_VERSION_2 ++#ifndef CURL_DISABLE_PROXY ++ && (!SSL_IS_PROXY() || !conn->bits.tunnel_proxy) ++#endif ++ ) { + backend->protocols[cur++] = NGHTTP2_PROTO_VERSION_ID; + infof(data, "ALPN, offering %s\n", NGHTTP2_PROTO_VERSION_ID); + } +-- +2.27.0 + diff --git a/package/libcurl/0002-nss-fix-build-with-disabled-proxy-support.patch b/package/libcurl/0002-nss-fix-build-with-disabled-proxy-support.patch new file mode 100644 index 0000000000..0d1286338e --- /dev/null +++ b/package/libcurl/0002-nss-fix-build-with-disabled-proxy-support.patch @@ -0,0 +1,159 @@ +From d040da28f57d0b3fcd6f63809a8c85a600f87a62 Mon Sep 17 00:00:00 2001 +Message-Id: +From: Baruch Siach +Date: Thu, 9 Jul 2020 08:14:49 +0300 +Subject: [PATCH] nss: fix build with disabled proxy support + +Avoid reference to fields that do not exist when CURL_DISABLE_PROXY is +defined. + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/curl/curl/pull/5667 + + lib/vtls/nss.c | 44 +++++++++++++++++++++++++++++++++++--------- + 1 file changed, 35 insertions(+), 9 deletions(-) + +diff --git a/lib/vtls/nss.c b/lib/vtls/nss.c +index fca292613815..0f0d1ee6c80f 100644 +--- a/lib/vtls/nss.c ++++ b/lib/vtls/nss.c +@@ -1027,9 +1027,11 @@ static SECStatus BadCertHandler(void *arg, PRFileDesc *sock) + CERTCertificate *cert; + + /* remember the cert verification result */ ++#ifndef CURL_DISABLE_PROXY + if(SSL_IS_PROXY()) + data->set.proxy_ssl.certverifyresult = err; + else ++#endif + data->set.ssl.certverifyresult = err; + + if(err == SSL_ERROR_BAD_CERT_DOMAIN && !SSL_CONN_CONFIG(verifyhost)) +@@ -1553,24 +1555,32 @@ static void nss_close(struct ssl_connect_data *connssl) + static void Curl_nss_close(struct connectdata *conn, int sockindex) + { + struct ssl_connect_data *connssl = &conn->ssl[sockindex]; ++#ifndef CURL_DISABLE_PROXY + struct ssl_connect_data *connssl_proxy = &conn->proxy_ssl[sockindex]; ++#endif + struct ssl_backend_data *backend = connssl->backend; + +- if(backend->handle || connssl_proxy->backend->handle) { ++ if(backend->handle ++#ifndef CURL_DISABLE_PROXY ++ || connssl_proxy->backend->handle ++#endif ++ ) { + /* NSS closes the socket we previously handed to it, so we must mark it + as closed to avoid double close */ + fake_sclose(conn->sock[sockindex]); + conn->sock[sockindex] = CURL_SOCKET_BAD; + } + ++#ifndef CURL_DISABLE_PROXY + if(backend->handle) + /* nss_close(connssl) will transitively close also + connssl_proxy->backend->handle if both are used. Clear it to avoid + a double close leading to crash. */ + connssl_proxy->backend->handle = NULL; + +- nss_close(connssl); + nss_close(connssl_proxy); ++#endif ++ nss_close(connssl); + } + + /* return true if NSS can provide error code (and possibly msg) for the +@@ -1828,6 +1838,12 @@ static CURLcode nss_setup_connect(struct connectdata *conn, int sockindex) + CURLcode result; + bool second_layer = FALSE; + SSLVersionRange sslver_supported; ++#ifndef CURL_DISABLE_PROXY ++ const char *hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : ++ conn->host.name; ++#else ++ const char *hostname = conn->host.name; ++#endif + + SSLVersionRange sslver = { + SSL_LIBRARY_VERSION_TLS_1_0, /* min */ +@@ -1932,9 +1948,11 @@ static CURLcode nss_setup_connect(struct connectdata *conn, int sockindex) + goto error; + + /* not checked yet */ ++#ifndef CURL_DISABLE_PROXY + if(SSL_IS_PROXY()) + data->set.proxy_ssl.certverifyresult = 0; + else ++#endif + data->set.ssl.certverifyresult = 0; + + if(SSL_BadCertHook(model, BadCertHandler, conn) != SECSuccess) +@@ -1991,12 +2009,14 @@ static CURLcode nss_setup_connect(struct connectdata *conn, int sockindex) + goto error; + } + ++#ifndef CURL_DISABLE_PROXY + if(conn->proxy_ssl[sockindex].use) { + DEBUGASSERT(ssl_connection_complete == conn->proxy_ssl[sockindex].state); + DEBUGASSERT(conn->proxy_ssl[sockindex].backend->handle != NULL); + nspr_io = conn->proxy_ssl[sockindex].backend->handle; + second_layer = TRUE; + } ++#endif + else { + /* wrap OS file descriptor by NSPR's file descriptor abstraction */ + nspr_io = PR_ImportTCPSocket(sockfd); +@@ -2077,8 +2097,11 @@ static CURLcode nss_setup_connect(struct connectdata *conn, int sockindex) + unsigned char protocols[128]; + + #ifdef USE_NGHTTP2 +- if(data->set.httpversion >= CURL_HTTP_VERSION_2 && +- (!SSL_IS_PROXY() || !conn->bits.tunnel_proxy)) { ++ if(data->set.httpversion >= CURL_HTTP_VERSION_2 ++#ifndef CURL_DISABLE_PROXY ++ && (!SSL_IS_PROXY() || !conn->bits.tunnel_proxy) ++#endif ++ ) { + protocols[cur++] = NGHTTP2_PROTO_VERSION_ID_LEN; + memcpy(&protocols[cur], NGHTTP2_PROTO_VERSION_ID, + NGHTTP2_PROTO_VERSION_ID_LEN); +@@ -2101,14 +2124,11 @@ static CURLcode nss_setup_connect(struct connectdata *conn, int sockindex) + goto error; + + /* propagate hostname to the TLS layer */ +- if(SSL_SetURL(backend->handle, SSL_IS_PROXY() ? conn->http_proxy.host.name : +- conn->host.name) != SECSuccess) ++ if(SSL_SetURL(backend->handle, hostname) != SECSuccess) + goto error; + + /* prevent NSS from re-using the session for a different hostname */ +- if(SSL_SetSockPeerID(backend->handle, SSL_IS_PROXY() ? +- conn->http_proxy.host.name : conn->host.name) +- != SECSuccess) ++ if(SSL_SetSockPeerID(backend->handle, hostname) != SECSuccess) + goto error; + + return CURLE_OK; +@@ -2127,11 +2147,17 @@ static CURLcode nss_do_connect(struct connectdata *conn, int sockindex) + struct Curl_easy *data = conn->data; + CURLcode result = CURLE_SSL_CONNECT_ERROR; + PRUint32 timeout; ++#ifndef CURL_DISABLE_PROXY + long * const certverifyresult = SSL_IS_PROXY() ? + &data->set.proxy_ssl.certverifyresult : &data->set.ssl.certverifyresult; + const char * const pinnedpubkey = SSL_IS_PROXY() ? + data->set.str[STRING_SSL_PINNEDPUBLICKEY_PROXY] : + data->set.str[STRING_SSL_PINNEDPUBLICKEY_ORIG]; ++#else ++ long * const certverifyresult = &data->set.ssl.certverifyresult; ++ const char * const pinnedpubkey = ++ data->set.str[STRING_SSL_PINNEDPUBLICKEY_ORIG]; ++#endif + + + /* check timeout situation */ +-- +2.27.0 + diff --git a/package/libcurl/Config.in b/package/libcurl/Config.in index 9c62539e4d..b89c46f5ef 100644 --- a/package/libcurl/Config.in +++ b/package/libcurl/Config.in @@ -9,31 +9,53 @@ config BR2_PACKAGE_LIBCURL if BR2_PACKAGE_LIBCURL -config BR2_PACKAGE_CURL +config BR2_PACKAGE_LIBCURL_CURL bool "curl binary" help Install curl binary as well config BR2_PACKAGE_LIBCURL_VERBOSE - bool "enable verbose strings" + bool "verbose strings" 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 +config BR2_PACKAGE_LIBCURL_PROXY_SUPPORT + bool "proxy support" + default y + help + Enable proxy support. + +config BR2_PACKAGE_LIBCURL_COOKIES_SUPPORT + bool "cookies support" + default y + help + Enable support for cookies. + +config BR2_PACKAGE_LIBCURL_EXTRA_PROTOCOLS_FEATURES + bool "enable extra protocols and features" + default y + help + Enable the following extra protocols and features: + - LDAP / LDAPS + - POP3 / IMAP / SMTP + - Telnet + - TFTP + - RTSP + - SMB / CIFS + - DICT + - Gopher 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_BEARSSL + bool "BearSSL" + depends on BR2_PACKAGE_BEARSSL + config BR2_PACKAGE_LIBCURL_GNUTLS bool "GnuTLS" depends on BR2_PACKAGE_GNUTLS @@ -46,9 +68,13 @@ config BR2_PACKAGE_LIBCURL_MBEDTLS bool "mbed TLS" depends on BR2_PACKAGE_MBEDTLS +config BR2_PACKAGE_LIBCURL_WOLFSSL + bool "WolfSSL" + depends on BR2_PACKAGE_WOLFSSL + +config BR2_PACKAGE_LIBCURL_TLS_NONE + bool "None" + 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 d321adcd62..46f72c1eaf 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.64.1.tar.xz.asc -# with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 -sha256 9252332a7f871ce37bfa7f78bdd0a0e3924d8187cc27cb57c76c9474a7168fb3 curl-7.64.1.tar.xz -sha256 8c8824f50e73a021f5dde1fccbf69685939247399a33a32abab1fa448c9ddabb COPYING +# https://curl.haxx.se/download/curl-7.71.1.tar.xz.asc +# signed with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 +sha256 40f83eda27cdbeb25cd4da48cefb639af1b9395d6026d2da1825bf059239658c curl-7.71.1.tar.xz +sha256 db3c4a3b3695a0f317a0c5176acd2f656d18abc45b3ee78e50935a78eb1e132e COPYING diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk index 852054a4bd..6f053f00a8 100644 --- a/package/libcurl/libcurl.mk +++ b/package/libcurl/libcurl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCURL_VERSION = 7.64.1 +LIBCURL_VERSION = 7.71.1 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz LIBCURL_SITE = https://curl.haxx.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ @@ -18,9 +18,11 @@ LIBCURL_INSTALL_STAGING = YES # on non-MMU platforms. Moreover, this authentication method is # probably almost never used. See # http://curl.haxx.se/docs/manpage.html#--ntlm. +# Likewise, there is no compiler on the target, so libcurl-option (to +# generate C code) isn't very useful LIBCURL_CONF_OPTS = --disable-manual --disable-ntlm-wb \ --enable-hidden-symbols --with-random=/dev/urandom --disable-curldebug \ - --without-polarssl + --disable-libcurl-option ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) LIBCURL_CONF_OPTS += --enable-threaded-resolver @@ -49,6 +51,13 @@ else LIBCURL_CONF_OPTS += --without-ssl endif +ifeq ($(BR2_PACKAGE_LIBCURL_BEARSSL),y) +LIBCURL_CONF_OPTS += --with-bearssl=$(STAGING_DIR)/usr +LIBCURL_DEPENDENCIES += bearssl +else +LIBCURL_CONF_OPTS += --without-bearssl +endif + ifeq ($(BR2_PACKAGE_LIBCURL_GNUTLS),y) LIBCURL_CONF_OPTS += --with-gnutls=$(STAGING_DIR)/usr \ --with-ca-fallback @@ -72,6 +81,13 @@ else LIBCURL_CONF_OPTS += --without-mbedtls endif +ifeq ($(BR2_PACKAGE_LIBCURL_WOLFSSL),y) +LIBCURL_CONF_OPTS += --with-wolfssl=$(STAGING_DIR)/usr +LIBCURL_DEPENDENCIES += wolfssl +else +LIBCURL_CONF_OPTS += --without-wolfssl +endif + ifeq ($(BR2_PACKAGE_C_ARES),y) LIBCURL_DEPENDENCIES += c-ares LIBCURL_CONF_OPTS += --enable-ares @@ -108,12 +124,52 @@ else LIBCURL_CONF_OPTS += --without-nghttp2 endif +ifeq ($(BR2_PACKAGE_LIBCURL_COOKIES_SUPPORT),y) +LIBCURL_CONF_OPTS += --enable-cookies +else +LIBCURL_CONF_OPTS += --disable-cookies +endif + +ifeq ($(BR2_PACKAGE_LIBCURL_PROXY_SUPPORT),y) +LIBCURL_CONF_OPTS += --enable-proxy +else +LIBCURL_CONF_OPTS += --disable-proxy +endif + +ifeq ($(BR2_PACKAGE_LIBCURL_EXTRA_PROTOCOLS_FEATURES),y) +LIBCURL_CONF_OPTS += \ + --enable-dict \ + --enable-gopher \ + --enable-imap \ + --enable-ldap \ + --enable-ldaps \ + --enable-pop3 \ + --enable-rtsp \ + --enable-smb \ + --enable-smtp \ + --enable-telnet \ + --enable-tftp +else +LIBCURL_CONF_OPTS += \ + --disable-dict \ + --disable-gopher \ + --disable-imap \ + --disable-ldap \ + --disable-ldaps \ + --disable-pop3 \ + --disable-rtsp \ + --disable-smb \ + --disable-smtp \ + --disable-telnet \ + --disable-tftp +endif + define LIBCURL_FIX_DOT_PC printf 'Requires: openssl\n' >>$(@D)/libcurl.pc.in endef LIBCURL_POST_PATCH_HOOKS += $(if $(BR2_PACKAGE_LIBCURL_OPENSSL),LIBCURL_FIX_DOT_PC) -ifeq ($(BR2_PACKAGE_CURL),) +ifeq ($(BR2_PACKAGE_LIBCURL_CURL),) define LIBCURL_TARGET_CLEANUP rm -rf $(TARGET_DIR)/usr/bin/curl endef @@ -128,7 +184,6 @@ HOST_LIBCURL_CONF_OPTS = \ --with-ssl \ --without-gnutls \ --without-mbedtls \ - --without-polarssl \ --without-nss HOST_LIBCURL_POST_PATCH_HOOKS += LIBCURL_FIX_DOT_PC diff --git a/package/libdcadec/libdcadec.hash b/package/libdcadec/libdcadec.hash index e2b68cd70f..d3a9ae7d4c 100644 --- a/package/libdcadec/libdcadec.hash +++ b/package/libdcadec/libdcadec.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ed9d207fde3e8d576f3af8b0d1235b3371e315175757173689104efcaebf0d44 libdcadec-v0.2.0.tar.gz +sha256 ed9d207fde3e8d576f3af8b0d1235b3371e315175757173689104efcaebf0d44 libdcadec-0.2.0.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPLv2.1 diff --git a/package/libdcadec/libdcadec.mk b/package/libdcadec/libdcadec.mk index a5a98bedc4..a3579ad632 100644 --- a/package/libdcadec/libdcadec.mk +++ b/package/libdcadec/libdcadec.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBDCADEC_VERSION = v0.2.0 -LIBDCADEC_SITE = $(call github,foo86,dcadec,$(LIBDCADEC_VERSION)) +LIBDCADEC_VERSION = 0.2.0 +LIBDCADEC_SITE = $(call github,foo86,dcadec,v$(LIBDCADEC_VERSION)) LIBDCADEC_LICENSE = LGPL-2.1+ LIBDCADEC_LICENSE_FILES = COPYING.LGPLv2.1 LIBDCADEC_INSTALL_STAGING = YES diff --git a/package/libdmtx/Config.in b/package/libdmtx/Config.in index b81b99c423..20f469148c 100644 --- a/package/libdmtx/Config.in +++ b/package/libdmtx/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_LIBDMTX libdmtx is a software library that enables programs to read and write Data Matrix barcodes of the modern ECC200 variety. - http://www.libdmtx.org/ + https://github.com/dmtx/libdmtx diff --git a/package/libdmtx/libdmtx.hash b/package/libdmtx/libdmtx.hash index 01e4ba4910..98eef9aeeb 100644 --- a/package/libdmtx/libdmtx.hash +++ b/package/libdmtx/libdmtx.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 686bcfb44e50b96345aa53f41e285f2118a2cf87a333b69b74165a2e7ddca492 libdmtx-0.7.4.tar.gz -sha256 fe6959a664a7abb7d19bf125fa58a045d8757fe3cb3dc41975a54da0e627313d LICENSE +sha256 be0c5275695a732a5f434ded1fcc232aa63b1a6015c00044fe87f3a689b75f2e libdmtx-0.7.5.tar.gz +sha256 fcc277b7302645322c63de22b9b0bdae2df3dfa7d6cbc0d5bed7a4d3f1a9af79 LICENSE diff --git a/package/libdmtx/libdmtx.mk b/package/libdmtx/libdmtx.mk index f718b137b5..04e089f1f7 100644 --- a/package/libdmtx/libdmtx.mk +++ b/package/libdmtx/libdmtx.mk @@ -4,10 +4,12 @@ # ################################################################################ -LIBDMTX_VERSION = 0.7.4 -LIBDMTX_SITE = http://downloads.sourceforge.net/project/libdmtx/libdmtx/$(LIBDMTX_VERSION) +LIBDMTX_VERSION = 0.7.5 +LIBDMTX_SITE = $(call github,dmtx,libdmtx,v$(LIBDMTX_VERSION)) LIBDMTX_LICENSE = BSD-2-Clause or Special Permission LIBDMTX_LICENSE_FILES = LICENSE LIBDMTX_INSTALL_STAGING = YES +# github tarball does not include configure +LIBDMTX_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/libdnet/libdnet.mk b/package/libdnet/libdnet.mk index 00d9c4fd40..d1cc0bf150 100644 --- a/package/libdnet/libdnet.mk +++ b/package/libdnet/libdnet.mk @@ -13,6 +13,7 @@ LIBDNET_AUTORECONF = YES LIBDNET_CONF_OPTS = \ --with-gnu-ld \ --with-check=no +LIBDNET_CONFIG_SCRIPTS = dnet-config ifneq ($(BR2_PACKAGE_LIBDNET_PYTHON),) LIBDNET_DEPENDENCIES = python diff --git a/package/libdrm/0001-Add-ARM-support-into-xf86drm.h.patch b/package/libdrm/0001-Add-ARM-support-into-xf86drm.h.patch deleted file mode 100644 index 3c00e9c73a..0000000000 --- a/package/libdrm/0001-Add-ARM-support-into-xf86drm.h.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 2e3dd0040e676530f7e735fab335ff449b9b3f4d Mon Sep 17 00:00:00 2001 -From: Lauren Post -Date: Tue, 22 Mar 2016 22:08:25 +0100 -Subject: [PATCH] Add ARM support into xf86drm.h - -This provides support for Xorg interface. Without this the vivante -samples will hang during close requiring a reboot - -[Adapted from yocto project] -Upstream-Status: Pending -Signed-off-by: Lauren Post -Signed-off-by: Evan Kotara -[Thomas: change CAS code to only be used on ARMv6/ARMv7, and not -ARMv4/ARMv5, which don't support ldrex/strex. If no CAS implementation -is provided libdrm falls back to a system call for locking/unlocking.] -Signed-off-by: Thomas Petazzoni ---- - xf86drm.h | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/xf86drm.h b/xf86drm.h -index 481d882..72341f6 100644 ---- a/xf86drm.h -+++ b/xf86drm.h -@@ -469,6 +469,28 @@ do { register unsigned int __old __asm("o0"); \ - : "cr0", "memory"); \ - } while (0) - -+# elif defined (__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \ -+ || defined (__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) \ -+ || defined (__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) \ -+ || defined (__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ -+ || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \ -+ || defined(__ARM_ARCH_7EM__) -+ #undef DRM_DEV_MODE -+ #define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) -+ -+ #define DRM_CAS(lock,old,new,__ret) \ -+ do { \ -+ __asm__ __volatile__ ( \ -+ "1: ldrex %0, [%1]\n" \ -+ " teq %0, %2\n" \ -+ " ite eq\n" \ -+ " strexeq %0, %3, [%1]\n" \ -+ " movne %0, #1\n" \ -+ : "=&r" (__ret) \ -+ : "r" (lock), "r" (old), "r" (new) \ -+ : "cc","memory"); \ -+ } while (0) -+ - #endif /* architecture */ - #endif /* __GNUC__ >= 2 */ - --- -2.6.4 - diff --git a/package/libdrm/0001-meson.build-enable-static-build.patch b/package/libdrm/0001-meson.build-enable-static-build.patch new file mode 100644 index 0000000000..28da702559 --- /dev/null +++ b/package/libdrm/0001-meson.build-enable-static-build.patch @@ -0,0 +1,169 @@ +From d58a32776e08e193c24f7bb192daf72b66fbe550 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Wed, 18 Jul 2018 21:35:18 +0200 +Subject: [PATCH] meson.build: enable static build + +Use meson library instead of shared_library to enable static build. + +Upstream suggested: https://lists.freedesktop.org/archives/dri-devel/2018-July/183886.html +Signed-off-by: Peter Seiderer +--- + amdgpu/meson.build | 2 +- + etnaviv/meson.build | 2 +- + exynos/meson.build | 2 +- + freedreno/meson.build | 2 +- + intel/meson.build | 2 +- + libkms/meson.build | 2 +- + meson.build | 2 +- + nouveau/meson.build | 2 +- + omap/meson.build | 2 +- + radeon/meson.build | 2 +- + tegra/meson.build | 2 +- + 11 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/amdgpu/meson.build b/amdgpu/meson.build +index f39d7bf..1b4b0be 100644 +--- a/amdgpu/meson.build ++++ b/amdgpu/meson.build +@@ -21,7 +21,7 @@ + + datadir_amdgpu = join_paths(get_option('prefix'), get_option('datadir'), 'libdrm') + +-libdrm_amdgpu = shared_library( ++libdrm_amdgpu = library( + 'drm_amdgpu', + [ + files( +diff --git a/etnaviv/meson.build b/etnaviv/meson.build +index ca2aa54..a0d994e 100644 +--- a/etnaviv/meson.build ++++ b/etnaviv/meson.build +@@ -19,7 +19,7 @@ + # SOFTWARE. + + +-libdrm_etnaviv = shared_library( ++libdrm_etnaviv = library( + 'drm_etnaviv', + [ + files( +diff --git a/exynos/meson.build b/exynos/meson.build +index 30d3640..fd14f3a 100644 +--- a/exynos/meson.build ++++ b/exynos/meson.build +@@ -18,7 +18,7 @@ + # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + # SOFTWARE. + +-libdrm_exynos = shared_library( ++libdrm_exynos = library( + 'drm_exynos', + [files('exynos_drm.c', 'exynos_fimg2d.c'), config_file], + c_args : warn_c_args, +diff --git a/freedreno/meson.build b/freedreno/meson.build +index 015b7fb..6c8a6a7 100644 +--- a/freedreno/meson.build ++++ b/freedreno/meson.build +@@ -39,7 +39,7 @@ if with_freedreno_kgsl + ) + endif + +-libdrm_freedreno = shared_library( ++libdrm_freedreno = library( + 'drm_freedreno', + [files_freedreno, config_file], + c_args : warn_c_args, +diff --git a/intel/meson.build b/intel/meson.build +index 53c7fce..14cabd3 100644 +--- a/intel/meson.build ++++ b/intel/meson.build +@@ -18,7 +18,7 @@ + # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + # SOFTWARE. + +-libdrm_intel = shared_library( ++libdrm_intel = library( + 'drm_intel', + [ + files( +diff --git a/libkms/meson.build b/libkms/meson.build +index 86d1a4e..9d21e4c 100644 +--- a/libkms/meson.build ++++ b/libkms/meson.build +@@ -41,7 +41,7 @@ if with_exynos + libkms_include += include_directories('../exynos') + endif + +-libkms = shared_library( ++libkms = library( + 'kms', + [files_libkms, config_file], + c_args : warn_c_args, +diff --git a/meson.build b/meson.build +index 3c8afb6..7aa5f8c 100644 +--- a/meson.build ++++ b/meson.build +@@ -279,7 +279,7 @@ add_project_arguments('-include', 'config.h', language : 'c') + inc_root = include_directories('.') + inc_drm = include_directories('include/drm') + +-libdrm = shared_library( ++libdrm = library( + 'drm', + [files( + 'xf86drm.c', 'xf86drmHash.c', 'xf86drmRandom.c', 'xf86drmSL.c', +diff --git a/nouveau/meson.build b/nouveau/meson.build +index 51c9a71..acba048 100644 +--- a/nouveau/meson.build ++++ b/nouveau/meson.build +@@ -19,7 +19,7 @@ + # SOFTWARE. + + +-libdrm_nouveau = shared_library( ++libdrm_nouveau = library( + 'drm_nouveau', + [files( 'nouveau.c', 'pushbuf.c', 'bufctx.c', 'abi16.c'), config_file], + c_args : warn_c_args, +diff --git a/omap/meson.build b/omap/meson.build +index e57b8f5..6cffb99 100644 +--- a/omap/meson.build ++++ b/omap/meson.build +@@ -18,7 +18,7 @@ + # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + # SOFTWARE. + +-libdrm_omap = shared_library( ++libdrm_omap = library( + 'drm_omap', + [files('omap_drm.c'), config_file], + include_directories : [inc_root, inc_drm], +diff --git a/radeon/meson.build b/radeon/meson.build +index b08c744..2f45ff7 100644 +--- a/radeon/meson.build ++++ b/radeon/meson.build +@@ -19,7 +19,7 @@ + # SOFTWARE. + + +-libdrm_radeon = shared_library( ++libdrm_radeon = library( + 'drm_radeon', + [ + files( +diff --git a/tegra/meson.build b/tegra/meson.build +index 1f5c74b..8d0cfa9 100644 +--- a/tegra/meson.build ++++ b/tegra/meson.build +@@ -18,7 +18,7 @@ + # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + # SOFTWARE. + +-libdrm_tegra = shared_library( ++libdrm_tegra = library( + 'drm_tegra', + [files('tegra.c'), config_file], + include_directories : [inc_root, inc_drm], +-- +2.18.0 + diff --git a/package/libdrm/0002-tests-meson.build-disable-nouveau-tests-for-static-b.patch b/package/libdrm/0002-tests-meson.build-disable-nouveau-tests-for-static-b.patch new file mode 100644 index 0000000000..e2e18e122b --- /dev/null +++ b/package/libdrm/0002-tests-meson.build-disable-nouveau-tests-for-static-b.patch @@ -0,0 +1,43 @@ +From c9036706b9f724f09ac6288f82b53f2e76264ec7 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Mon, 25 Nov 2019 15:59:15 +0100 +Subject: [PATCH] tests/meson.build: disable nouveau tests for static build + +Signed-off-by: Peter Seiderer +--- +Notes: + + - the existing test/check for static build in meson.build does not + catch this case because e.g. the buildroot toolchain + br-arm-full-static-2019.05.1 provides an empty libdl.a + + 169 # Among others FreeBSD does not have a separate dl library. + 170 if not cc.has_function('dlsym') + 171 dep_dl = cc.find_library('dl', required : with_nouveau) + 172 else + 173 dep_dl = [] + 174 endif +--- + tests/meson.build | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/tests/meson.build b/tests/meson.build +index 6c8ddd9..f7cb5f0 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -44,8 +44,11 @@ endif + if with_etnaviv + subdir('etnaviv') + endif ++lib_type = get_option('default_library') + if with_nouveau +- subdir('nouveau') ++ if lib_type != 'static' ++ subdir('nouveau') ++ endif + endif + + drmsl = executable( +-- +2.24.0 + diff --git a/package/libdrm/0002-xf86atomic-require-CAS-support-in-libatomic_ops.patch b/package/libdrm/0002-xf86atomic-require-CAS-support-in-libatomic_ops.patch deleted file mode 100644 index ff920fb5a7..0000000000 --- a/package/libdrm/0002-xf86atomic-require-CAS-support-in-libatomic_ops.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 7384f79f69fdb7b691cc5b0c28c301b3fe8b633e Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 26 May 2016 10:46:57 +0200 -Subject: [PATCH] xf86atomic: require CAS support in libatomic_ops - -Since AO_compare_and_swap_full() is used by libdrm, AO_REQUIRE_CAS -must be defined before including so that we are sure -that CAS support will be provided. This is necessary to make sure that -the AO_compare_and_swap_full() function will be provided on all -architectures, including the ones that don't have built-in CAS support -such as SPARCv8. - -Signed-off-by: Thomas Petazzoni ---- - xf86atomic.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/xf86atomic.h b/xf86atomic.h -index 922b37d..d7017a5 100644 ---- a/xf86atomic.h -+++ b/xf86atomic.h -@@ -58,6 +58,7 @@ typedef struct { - #endif - - #if HAVE_LIB_ATOMIC_OPS -+#define AO_REQUIRE_CAS - #include - - #define HAS_ATOMIC_OPS 1 --- -2.7.4 - diff --git a/package/libdrm/0003-configure-Makefile.am-use-pkg-config-to-discover-lib.patch b/package/libdrm/0003-configure-Makefile.am-use-pkg-config-to-discover-lib.patch deleted file mode 100644 index 0fbe77ef7c..0000000000 --- a/package/libdrm/0003-configure-Makefile.am-use-pkg-config-to-discover-lib.patch +++ /dev/null @@ -1,162 +0,0 @@ -From 57d544ff2f96a26cac07d5be00ff7b67678ae7b8 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 18 Dec 2017 13:08:39 +0100 -Subject: [PATCH] configure/Makefile.am: use pkg-config to discover - libatomic_ops - -The configure script currently tests the availability of libatomic_ops -by checking the presence of atomic_ops.h. While this is good enough as -an availability test, it is not sufficient as on some platforms, -libatomic_ops provides an actual shared library against which we -should be linked to access libatomic_ops functionality. - -Therefore, we instead use PKG_CHECK_MODULES() to test the availability -of libatomic_ops. Besides testing its availability, this also fills in -the ATOMIC_OPS_LIBS variable with the list of libraries we need to -link with to use libatomic_ops. - -All Mesa drivers that include xf86atomic.h have been updated to link -against ATOMIC_OPS_LIBS. - -Of course, if we're not using libatomic_ops, ATOMIC_OPS_LIBS is empty, -and we don't link against it. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Peter Seiderer -[Bernd: PKG_CHECK_MODULES should not fail when libatomic_ops is missing] -Signed-off-by: Bernd Kuhls ---- - amdgpu/Makefile.am | 2 +- - configure.ac | 2 +- - etnaviv/Makefile.am | 3 ++- - freedreno/Makefile.am | 3 ++- - intel/Makefile.am | 3 ++- - nouveau/Makefile.am | 2 +- - omap/Makefile.am | 2 +- - radeon/Makefile.am | 2 +- - tegra/Makefile.am | 2 +- - 9 files changed, 12 insertions(+), 9 deletions(-) - -diff --git a/amdgpu/Makefile.am b/amdgpu/Makefile.am -index a1b0d05c..b2bcceff 100644 ---- a/amdgpu/Makefile.am -+++ b/amdgpu/Makefile.am -@@ -36,7 +36,7 @@ AM_CPPFLAGS = -DAMDGPU_ASIC_ID_TABLE=\"${libdrmdatadir}/amdgpu.ids\" - libdrm_amdgpu_la_LTLIBRARIES = libdrm_amdgpu.la - libdrm_amdgpu_ladir = $(libdir) - libdrm_amdgpu_la_LDFLAGS = -version-number 1:0:0 -no-undefined --libdrm_amdgpu_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ -+libdrm_amdgpu_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ @ATOMIC_OPS_LIBS@ - - libdrm_amdgpu_la_SOURCES = $(LIBDRM_AMDGPU_FILES) - amdgpu_asic_id.lo: $(top_srcdir)/data/amdgpu.ids -diff --git a/configure.ac b/configure.ac -index 35378b33..501d0871 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -247,7 +247,7 @@ AC_CACHE_CHECK([for native atomic primitives], drm_cv_atomic_primitives, [ - ]],[[]])], [drm_cv_atomic_primitives="Intel"],[]) - - if test "x$drm_cv_atomic_primitives" = "xnone"; then -- AC_CHECK_HEADER([atomic_ops.h], drm_cv_atomic_primitives="libatomic-ops") -+ PKG_CHECK_MODULES(ATOMIC_OPS, [atomic_ops], drm_cv_atomic_primitives="libatomic-ops", true) - fi - - # atomic functions defined in & libc on Solaris -diff --git a/etnaviv/Makefile.am b/etnaviv/Makefile.am -index be96ba86..669cf14f 100644 ---- a/etnaviv/Makefile.am -+++ b/etnaviv/Makefile.am -@@ -12,7 +12,8 @@ libdrm_etnaviv_la_LDFLAGS = -version-number 1:0:0 -no-undefined - libdrm_etnaviv_la_LIBADD = \ - ../libdrm.la \ - @PTHREADSTUBS_LIBS@ \ -- @CLOCK_LIB@ -+ @CLOCK_LIB@ \ -+ @ATOMIC_OPS_LIBS@ - - libdrm_etnaviv_la_SOURCES = $(LIBDRM_ETNAVIV_FILES) - -diff --git a/freedreno/Makefile.am b/freedreno/Makefile.am -index cbb0d031..238407e3 100644 ---- a/freedreno/Makefile.am -+++ b/freedreno/Makefile.am -@@ -14,7 +14,8 @@ libdrm_freedreno_la_LDFLAGS = -version-number 1:0:0 -no-undefined - libdrm_freedreno_la_LIBADD = \ - ../libdrm.la \ - @PTHREADSTUBS_LIBS@ \ -- @CLOCK_LIB@ -+ @CLOCK_LIB@ \ -+ @ATOMIC_OPS_LIBS@ - - libdrm_freedreno_la_SOURCES = $(LIBDRM_FREEDRENO_FILES) - if HAVE_FREEDRENO_KGSL -diff --git a/intel/Makefile.am b/intel/Makefile.am -index c52e8c08..f3635a64 100644 ---- a/intel/Makefile.am -+++ b/intel/Makefile.am -@@ -38,7 +38,8 @@ libdrm_intel_la_LDFLAGS = -version-number 1:0:0 -no-undefined - libdrm_intel_la_LIBADD = ../libdrm.la \ - @PTHREADSTUBS_LIBS@ \ - @PCIACCESS_LIBS@ \ -- @CLOCK_LIB@ -+ @CLOCK_LIB@ \ -+ @ATOMIC_OPS_LIBS@ - - libdrm_intel_la_SOURCES = $(LIBDRM_INTEL_FILES) - -diff --git a/nouveau/Makefile.am b/nouveau/Makefile.am -index 344a8445..a4e6a78b 100644 ---- a/nouveau/Makefile.am -+++ b/nouveau/Makefile.am -@@ -10,7 +10,7 @@ AM_CFLAGS = \ - libdrm_nouveau_la_LTLIBRARIES = libdrm_nouveau.la - libdrm_nouveau_ladir = $(libdir) - libdrm_nouveau_la_LDFLAGS = -version-number 2:0:0 -no-undefined --libdrm_nouveau_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ -+libdrm_nouveau_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ @ATOMIC_OPS_LIBS@ - - libdrm_nouveau_la_SOURCES = $(LIBDRM_NOUVEAU_FILES) - -diff --git a/omap/Makefile.am b/omap/Makefile.am -index 599bb9de..524afee3 100644 ---- a/omap/Makefile.am -+++ b/omap/Makefile.am -@@ -7,7 +7,7 @@ AM_CFLAGS = \ - libdrm_omap_la_LTLIBRARIES = libdrm_omap.la - libdrm_omap_ladir = $(libdir) - libdrm_omap_la_LDFLAGS = -version-number 1:0:0 -no-undefined --libdrm_omap_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ -+libdrm_omap_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ @ATOMIC_OPS_LIBS@ - - libdrm_omap_la_SOURCES = omap_drm.c - -diff --git a/radeon/Makefile.am b/radeon/Makefile.am -index e2415314..c27d3c75 100644 ---- a/radeon/Makefile.am -+++ b/radeon/Makefile.am -@@ -33,7 +33,7 @@ AM_CFLAGS = \ - libdrm_radeon_la_LTLIBRARIES = libdrm_radeon.la - libdrm_radeon_ladir = $(libdir) - libdrm_radeon_la_LDFLAGS = -version-number 1:0:1 -no-undefined --libdrm_radeon_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ -+libdrm_radeon_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ @ATOMIC_OPS_LIBS@ - - libdrm_radeon_la_SOURCES = $(LIBDRM_RADEON_FILES) - -diff --git a/tegra/Makefile.am b/tegra/Makefile.am -index fb40be55..12abe8c4 100644 ---- a/tegra/Makefile.am -+++ b/tegra/Makefile.am -@@ -9,7 +9,7 @@ AM_CFLAGS = \ - libdrm_tegra_ladir = $(libdir) - libdrm_tegra_la_LTLIBRARIES = libdrm_tegra.la - libdrm_tegra_la_LDFLAGS = -version-number 0:0:0 -no-undefined --libdrm_tegra_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ -+libdrm_tegra_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ @ATOMIC_OPS_LIBS@ - - libdrm_tegra_la_SOURCES = \ - private.h \ --- -2.14.3 - diff --git a/package/libdrm/0003-tests-amdgpu-needs-atomic_ops.patch b/package/libdrm/0003-tests-amdgpu-needs-atomic_ops.patch new file mode 100644 index 0000000000..9c06675daf --- /dev/null +++ b/package/libdrm/0003-tests-amdgpu-needs-atomic_ops.patch @@ -0,0 +1,27 @@ +From f0adb08424e624aeee340291343281256b7a98e8 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sat, 7 Mar 2020 12:23:09 +0100 +Subject: [PATCH] tests/amdgpu: needs atomic_ops + +[Upstream: https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/50] +Signed-off-by: Peter Seiderer +--- + tests/amdgpu/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/amdgpu/meson.build b/tests/amdgpu/meson.build +index 1726cb43..4dfa5c83 100644 +--- a/tests/amdgpu/meson.build ++++ b/tests/amdgpu/meson.build +@@ -26,7 +26,7 @@ if dep_cunit.found() + 'vce_tests.c', 'uvd_enc_tests.c', 'vcn_tests.c', 'deadlock_tests.c', + 'vm_tests.c', 'ras_tests.c', 'syncobj_tests.c', + ), +- dependencies : [dep_cunit, dep_threads], ++ dependencies : [dep_cunit, dep_threads, dep_atomic_ops], + include_directories : [inc_root, inc_drm, include_directories('../../amdgpu')], + link_with : [libdrm, libdrm_amdgpu], + install : with_install_tests, +-- +2.25.1 + diff --git a/package/libdrm/libdrm.hash b/package/libdrm/libdrm.hash index 301866c8b0..4c9c4c4fed 100644 --- a/package/libdrm/libdrm.hash +++ b/package/libdrm/libdrm.hash @@ -1,5 +1,3 @@ -# 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 +# From https://lists.freedesktop.org/archives/dri-devel/2020-April/261067.html +sha256 ddf31baa8e49473624860bd166ce654dc349873f7a6c7b3305964249315c78a7 libdrm-2.4.101.tar.xz +sha512 658cfc6f478b674b77b4613e1af9ce8f4fd2ace8a18e75729de254d14b7c1f5d67d4bfdb58744aea74abca0f6521326225f4156bd5cbeeed79ca3e025f657e8c libdrm-2.4.101.tar.xz diff --git a/package/libdrm/libdrm.mk b/package/libdrm/libdrm.mk index cc7350c10e..4217fcc84c 100644 --- a/package/libdrm/libdrm.mk +++ b/package/libdrm/libdrm.mk @@ -4,120 +4,113 @@ # ################################################################################ -LIBDRM_VERSION = 2.4.97 -LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.bz2 +LIBDRM_VERSION = 2.4.101 +LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.xz LIBDRM_SITE = https://dri.freedesktop.org/libdrm LIBDRM_LICENSE = MIT LIBDRM_INSTALL_STAGING = YES -# patch 0003-configure-Makefile.am-use-pkg-config-to-discover-lib.patch -# touching configure.ac/Makefile.am (and host-xutil_util-macros dependency) -LIBDRM_AUTORECONF = YES - LIBDRM_DEPENDENCIES = \ libpthread-stubs \ - host-pkgconf \ - host-xutil_util-macros + host-pkgconf LIBDRM_CONF_OPTS = \ - --disable-cairo-tests \ - --disable-manpages - -LIBDRM_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' + -Dcairo-tests=false \ + -Dmanpages=false ifeq ($(BR2_PACKAGE_LIBATOMIC_OPS),y) LIBDRM_DEPENDENCIES += libatomic_ops ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y) -LIBDRM_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -DAO_NO_SPARC_V9" +LIBDRM_CFLAGS = $(TARGET_CFLAGS) -DAO_NO_SPARC_V9 endif endif ifeq ($(BR2_PACKAGE_LIBDRM_INTEL),y) -LIBDRM_CONF_OPTS += --enable-intel +LIBDRM_CONF_OPTS += -Dintel=true LIBDRM_DEPENDENCIES += libpciaccess else -LIBDRM_CONF_OPTS += --disable-intel +LIBDRM_CONF_OPTS += -Dintel=false endif ifeq ($(BR2_PACKAGE_LIBDRM_RADEON),y) -LIBDRM_CONF_OPTS += --enable-radeon +LIBDRM_CONF_OPTS += -Dradeon=true else -LIBDRM_CONF_OPTS += --disable-radeon +LIBDRM_CONF_OPTS += -Dradeon=false endif ifeq ($(BR2_PACKAGE_LIBDRM_AMDGPU),y) -LIBDRM_CONF_OPTS += --enable-amdgpu +LIBDRM_CONF_OPTS += -Damdgpu=true else -LIBDRM_CONF_OPTS += --disable-amdgpu +LIBDRM_CONF_OPTS += -Damdgpu=false endif ifeq ($(BR2_PACKAGE_LIBDRM_NOUVEAU),y) -LIBDRM_CONF_OPTS += --enable-nouveau +LIBDRM_CONF_OPTS += -Dnouveau=true else -LIBDRM_CONF_OPTS += --disable-nouveau +LIBDRM_CONF_OPTS += -Dnouveau=false endif ifeq ($(BR2_PACKAGE_LIBDRM_VMWGFX),y) -LIBDRM_CONF_OPTS += --enable-vmwgfx +LIBDRM_CONF_OPTS += -Dvmwgfx=true else -LIBDRM_CONF_OPTS += --disable-vmwgfx +LIBDRM_CONF_OPTS += -Dvmwgfx=false endif ifeq ($(BR2_PACKAGE_LIBDRM_OMAP),y) -LIBDRM_CONF_OPTS += --enable-omap-experimental-api +LIBDRM_CONF_OPTS += -Domap=true else -LIBDRM_CONF_OPTS += --disable-omap-experimental-api +LIBDRM_CONF_OPTS += -Domap=false endif ifeq ($(BR2_PACKAGE_LIBDRM_ETNAVIV),y) -LIBDRM_CONF_OPTS += --enable-etnaviv-experimental-api +LIBDRM_CONF_OPTS += -Detnaviv=true else -LIBDRM_CONF_OPTS += --disable-etnaviv-experimental-api +LIBDRM_CONF_OPTS += -Detnaviv=false endif ifeq ($(BR2_PACKAGE_LIBDRM_EXYNOS),y) -LIBDRM_CONF_OPTS += --enable-exynos-experimental-api +LIBDRM_CONF_OPTS += -Dexynos=true else -LIBDRM_CONF_OPTS += --disable-exynos-experimental-api +LIBDRM_CONF_OPTS += -Dexynos=false endif ifeq ($(BR2_PACKAGE_LIBDRM_FREEDRENO),y) -LIBDRM_CONF_OPTS += --enable-freedreno +LIBDRM_CONF_OPTS += -Dfreedreno=true else -LIBDRM_CONF_OPTS += --disable-freedreno +LIBDRM_CONF_OPTS += -Dfreedreno=false endif ifeq ($(BR2_PACKAGE_LIBDRM_TEGRA),y) -LIBDRM_CONF_OPTS += --enable-tegra-experimental-api +LIBDRM_CONF_OPTS += -Dtegra=true else -LIBDRM_CONF_OPTS += --disable-tegra-experimental-api +LIBDRM_CONF_OPTS += -Dtegra=false endif ifeq ($(BR2_PACKAGE_LIBDRM_VC4),y) -LIBDRM_CONF_OPTS += --enable-vc4 +LIBDRM_CONF_OPTS += -Dvc4=true else -LIBDRM_CONF_OPTS += --disable-vc4 +LIBDRM_CONF_OPTS += -Dvc4=false endif ifeq ($(BR2_PACKAGE_HAS_UDEV),y) -LIBDRM_CONF_OPTS += --enable-udev +LIBDRM_CONF_OPTS += -Dudev=true LIBDRM_DEPENDENCIES += udev else -LIBDRM_CONF_OPTS += --disable-udev +LIBDRM_CONF_OPTS += -Dudev=false endif ifeq ($(BR2_PACKAGE_VALGRIND),y) -LIBDRM_CONF_OPTS += --enable-valgrind +LIBDRM_CONF_OPTS += -Dvalgrind=true LIBDRM_DEPENDENCIES += valgrind else -LIBDRM_CONF_OPTS += --disable-valgrind +LIBDRM_CONF_OPTS += -Dvalgrind=false endif ifeq ($(BR2_PACKAGE_LIBDRM_INSTALL_TESTS),y) -LIBDRM_CONF_OPTS += --enable-install-test-programs +LIBDRM_CONF_OPTS += -Dinstall-test-programs=true ifeq ($(BR2_PACKAGE_CUNIT),y) LIBDRM_DEPENDENCIES += cunit endif endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/libdvbpsi/libdvbpsi.hash b/package/libdvbpsi/libdvbpsi.hash index 5623250dd3..727b1cf497 100644 --- a/package/libdvbpsi/libdvbpsi.hash +++ b/package/libdvbpsi/libdvbpsi.hash @@ -1,7 +1,6 @@ -# From http://download.videolan.org/pub/libdvbpsi/1.3.2/libdvbpsi-1.3.2.tar.bz2.md5 -md5 be7398560955c69d318439fce3a2d84f libdvbpsi-1.3.2.tar.bz2 -# From http://download.videolan.org/pub/libdvbpsi/1.3.2/libdvbpsi-1.3.2.tar.bz2.sha256 -sha256 ac4e39f2b9b1e15706ad261fa175a9430344d650a940be9aaf502d4cb683c5fe libdvbpsi-1.3.2.tar.bz2 - +# From http://download.videolan.org/pub/libdvbpsi/1.3.3/libdvbpsi-1.3.3.tar.bz2.md5 +md5 9b556ab08bb62a8bec61f5c1649bc9a8 libdvbpsi-1.3.3.tar.bz2 +# From http://download.videolan.org/pub/libdvbpsi/1.3.3/libdvbpsi-1.3.3.tar.bz2.sha256 +sha256 02b5998bcf289cdfbd8757bedd5987e681309b0a25b3ffe6cebae599f7a00112 libdvbpsi-1.3.3.tar.bz2 # Hash for license file: sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libdvbpsi/libdvbpsi.mk b/package/libdvbpsi/libdvbpsi.mk index c4118b2652..5a07ad0cbe 100644 --- a/package/libdvbpsi/libdvbpsi.mk +++ b/package/libdvbpsi/libdvbpsi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDVBPSI_VERSION = 1.3.2 +LIBDVBPSI_VERSION = 1.3.3 LIBDVBPSI_SITE = http://download.videolan.org/pub/libdvbpsi/$(LIBDVBPSI_VERSION) LIBDVBPSI_SOURCE = libdvbpsi-$(LIBDVBPSI_VERSION).tar.bz2 LIBDVBPSI_LICENSE = LGPL-2.1+ diff --git a/package/libdvbsi/libdvbsi.hash b/package/libdvbsi/libdvbsi.hash index 3628fdbdbe..184da52866 100644 --- a/package/libdvbsi/libdvbsi.hash +++ b/package/libdvbsi/libdvbsi.hash @@ -1,5 +1,8 @@ -# From http://www.saftware.de/libdvbsi++/libdvbsi++-0.3.7.tar.bz2.md5 -md5 7eb50352c06b17c499a6d51e18e99ec5 libdvbsi++-0.3.7.tar.bz2 +# From http://www.saftware.de/libdvbsi++/libdvbsi++-0.3.8.tar.bz2.md5 +md5 c8e6ef55ef4b96dacdee250779219d2a libdvbsi++-0.3.8.tar.bz2 + +# Locally calculated +sha256 a5b3fa767aa45267178c169268df886b3e79431f335a24d779edf610e8372f89 libdvbsi++-0.3.8.tar.bz2 # Hash for license file: sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/libdvbsi/libdvbsi.mk b/package/libdvbsi/libdvbsi.mk index bfddd647e1..d1646c0efd 100644 --- a/package/libdvbsi/libdvbsi.mk +++ b/package/libdvbsi/libdvbsi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDVBSI_VERSION = 0.3.7 +LIBDVBSI_VERSION = 0.3.8 LIBDVBSI_SOURCE = libdvbsi++-$(LIBDVBSI_VERSION).tar.bz2 LIBDVBSI_SITE = http://www.saftware.de/libdvbsi++ LIBDVBSI_INSTALL_STAGING = YES diff --git a/package/libdvdnav/0001-do-not-match-nios2-as-os2.patch b/package/libdvdnav/0001-do-not-match-nios2-as-os2.patch deleted file mode 100644 index 27030bb239..0000000000 --- a/package/libdvdnav/0001-do-not-match-nios2-as-os2.patch +++ /dev/null @@ -1,16 +0,0 @@ -Fix misdetection while nios2 cross-compile - -Signed-off-bye: Waldemar Brodkorb - -diff -Nur libdvdnav-5.0.3.orig/configure.ac libdvdnav-5.0.3/configure.ac ---- libdvdnav-5.0.3.orig/configure.ac 2015-01-27 16:57:43.000000000 +0100 -+++ libdvdnav-5.0.3/configure.ac 2016-07-31 11:48:09.312947473 +0200 -@@ -73,7 +73,7 @@ - [*mingw32* | *cygwin*], [AC_CHECK_FUNCS(gettimeofday)]) - - AS_CASE([$host], -- [*os2*], [LDFLAGS="$LDFLAGS -no-undefined"]) -+ [*-os2*], [LDFLAGS="$LDFLAGS -no-undefined"]) - - dnl --------------------------------------------- - dnl threads diff --git a/package/libdvdnav/Config.in b/package/libdvdnav/Config.in index 8cfcb4a6de..77cba5f135 100644 --- a/package/libdvdnav/Config.in +++ b/package/libdvdnav/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_LIBDVDNAV DVD navigation features such as DVD menus, multiangle playback and even interactive DVD games. - http://www.mplayerhq.hu + https://www.videolan.org/developers/libdvdnav.html comment "libdvdnav needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libdvdnav/libdvdnav.hash b/package/libdvdnav/libdvdnav.hash index c251d0af27..04706b0bb9 100644 --- a/package/libdvdnav/libdvdnav.hash +++ b/package/libdvdnav/libdvdnav.hash @@ -1,5 +1,9 @@ -# From http://download.videolan.org/pub/videolan/libdvdnav/6.0.0/libdvdnav-6.0.0.tar.bz2.sha256 -sha256 f0a2711b08a021759792f8eb14bb82ff8a3c929bf88c33b64ffcddaa27935618 libdvdnav-6.0.0.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdnav/6.1.0/libdvdnav-6.1.0.tar.bz2.md5 +md5 8817ac12c13644df6ba2091c2dcaeed3 libdvdnav-6.1.0.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdnav/6.1.0/libdvdnav-6.1.0.tar.bz2.sha1 +sha1 b0597e9d11393e17b57f784c0dcba33a499e80b0 libdvdnav-6.1.0.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdnav/6.1.0/libdvdnav-6.1.0.tar.bz2.sha256 +sha256 f697b15ea9f75e9f36bdf6ec3726308169f154e2b1e99865d0bbe823720cee5b libdvdnav-6.1.0.tar.bz2 # Hash for license file: sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/libdvdnav/libdvdnav.mk b/package/libdvdnav/libdvdnav.mk index 549a31829f..c5bebd4926 100644 --- a/package/libdvdnav/libdvdnav.mk +++ b/package/libdvdnav/libdvdnav.mk @@ -4,14 +4,13 @@ # ################################################################################ -LIBDVDNAV_VERSION = 6.0.0 +LIBDVDNAV_VERSION = 6.1.0 LIBDVDNAV_SOURCE = libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2 LIBDVDNAV_SITE = http://www.videolan.org/pub/videolan/libdvdnav/$(LIBDVDNAV_VERSION) LIBDVDNAV_INSTALL_STAGING = YES +LIBDVDNAV_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=gnu99" LIBDVDNAV_DEPENDENCIES = libdvdread host-pkgconf LIBDVDNAV_LICENSE = GPL-2.0+ LIBDVDNAV_LICENSE_FILES = COPYING -# 0001-do-not-match-nios2-as-os2.patch -LIBDVDNAV_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/libdvdread/Config.in b/package/libdvdread/Config.in index 91bec83a40..3579054158 100644 --- a/package/libdvdread/Config.in +++ b/package/libdvdread/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_LIBDVDREAD libdvdread provides a simple foundation for reading DVD-Video images. - http://www.mplayerhq.hu/MPlayer/releases/dvdnav/ + https://www.videolan.org/developers/libdvdnav.html diff --git a/package/libdvdread/libdvdread.hash b/package/libdvdread/libdvdread.hash index 44a3f98468..00066619ce 100644 --- a/package/libdvdread/libdvdread.hash +++ b/package/libdvdread/libdvdread.hash @@ -1,5 +1,9 @@ -# From http://download.videolan.org/pub/videolan/libdvdread/6.0.0/libdvdread-6.0.0.tar.bz2.sha256 -sha256 b33b1953b4860545b75f6efc06e01d9849e2ea4f797652263b0b4af6dd10f935 libdvdread-6.0.0.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdread/6.1.1/libdvdread-6.1.1.tar.bz2.md5 +md5 09c7423568fb679279fd2a2bc6b10b6e libdvdread-6.1.1.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdread/6.1.1/libdvdread-6.1.1.tar.bz2.sha1 +sha1 d2e5056de89fb5fed478c0af5a72e8b781d0c396 libdvdread-6.1.1.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdread/6.1.1/libdvdread-6.1.1.tar.bz2.sha256 +sha256 3e357309a17c5be3731385b9eabda6b7e3fa010f46022a06f104553bf8e21796 libdvdread-6.1.1.tar.bz2 # Hash for license file: sha256 d6cb0e9e560f51085556949a84af12b79a00f10ab8b66c752537faf7cd665572 COPYING diff --git a/package/libdvdread/libdvdread.mk b/package/libdvdread/libdvdread.mk index f41a188f8e..aa91d3162a 100644 --- a/package/libdvdread/libdvdread.mk +++ b/package/libdvdread/libdvdread.mk @@ -4,12 +4,13 @@ # ################################################################################ -LIBDVDREAD_VERSION = 6.0.0 +LIBDVDREAD_VERSION = 6.1.1 LIBDVDREAD_SOURCE = libdvdread-$(LIBDVDREAD_VERSION).tar.bz2 LIBDVDREAD_SITE = http://www.videolan.org/pub/videolan/libdvdread/$(LIBDVDREAD_VERSION) LIBDVDREAD_INSTALL_STAGING = YES LIBDVDREAD_LICENSE = GPL-2.0+ LIBDVDREAD_LICENSE_FILES = COPYING +LIBDVDREAD_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=gnu99" LIBDVDREAD_CONF_OPTS = --with-libdvdcss LIBDVDREAD_DEPENDENCIES = libdvdcss host-pkgconf diff --git a/package/libeXosip2/0001-fix-fix-OSIP_MONOTHREAD-compilation-error-introduced-with-epoll.patch b/package/libeXosip2/0001-fix-fix-OSIP_MONOTHREAD-compilation-error-introduced-with-epoll.patch new file mode 100644 index 0000000000..b69455bd7a --- /dev/null +++ b/package/libeXosip2/0001-fix-fix-OSIP_MONOTHREAD-compilation-error-introduced-with-epoll.patch @@ -0,0 +1,44 @@ +From 0e0e95dbc380c5eede3a2fc1631294a98078e30f Mon Sep 17 00:00:00 2001 +From: Aymeric Moizard +Date: Fri, 13 Mar 2020 16:34:41 +0100 +Subject: fix: fix OSIP_MONOTHREAD compilation error introduced with epoll + implementation + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +http://git.savannah.nongnu.org/cgit/exosip.git/patch/?id=0e0e95dbc380c5eede3a2fc1631294a98078e30f] +--- + src/eXconf.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/eXconf.c b/src/eXconf.c +index baf90be..6165eb3 100644 +--- a/src/eXconf.c ++++ b/src/eXconf.c +@@ -801,12 +801,15 @@ eXosip_init (struct eXosip_t *excontext) + } + + if (excontext->poll_method == EXOSIP_USE_EPOLL_LT) { ++#ifndef OSIP_MONOTHREAD + struct epoll_event ev; ++#endif + excontext->epfdctl = epoll_create (1); + if (excontext->epfdctl < 0) { + return OSIP_UNDEFINED_ERROR; + } + ++#ifndef OSIP_MONOTHREAD + memset(&ev, 0, sizeof(struct epoll_event)); + ev.events = EPOLLIN; + ev.data.fd = jpipe_get_read_descr (excontext->j_socketctl_event); +@@ -815,6 +818,7 @@ eXosip_init (struct eXosip_t *excontext) + _eXosip_closesocket (excontext->epfdctl); + return OSIP_UNDEFINED_ERROR; + } ++#endif + } + #endif + +-- +cgit v1.2.1 + diff --git a/package/libeXosip2/0001-use-pkg-config-to-detect-openssl.patch b/package/libeXosip2/0001-use-pkg-config-to-detect-openssl.patch deleted file mode 100644 index 69e349f205..0000000000 --- a/package/libeXosip2/0001-use-pkg-config-to-detect-openssl.patch +++ /dev/null @@ -1,62 +0,0 @@ -configure: use pkg-config to find openssl - -The current check is broken for static linking, since the openssl -libs need to be linked against libz, which is missing in the link -command when doing a static build: - http://autobuild.buildroot.net/results/787/787cd9992b00d8008641af208f5fb7c4afb40b06/build-end.log - -Instead of trying convoluted tests to decide what additional libs -are required, just delegate this job to pkg-config. - -At the same time, fix a few legacy, deprecated constructs in favour -of their new counterparts. - -Signed-off-by: "Yann E. MORIN" - ---- -Upstream status: submitted, but no public mailing list (sent to the -mail documented in: http://www.antisip.com/doc/exosip2/index.html ) - -diff -durN libeXosip2-3.6.0.orig/configure.in libeXosip2-3.6.0/configure.in ---- libeXosip2-3.6.0.orig/configure.in 2014-06-22 23:58:26.549487427 +0200 -+++ libeXosip2-3.6.0/configure.in 2014-06-22 23:59:12.822008499 +0200 -@@ -44,7 +44,7 @@ - AC_CONFIG_AUX_DIR(scripts) - AC_CONFIG_HEADERS(config.h) - AM_INIT_AUTOMAKE($PACKAGE, $VERSION) --AM_ACLOCAL_INCLUDE(scripts) -+AC_CONFIG_MACRO_DIR([scripts]) - - AC_CANONICAL_HOST - -@@ -371,13 +371,15 @@ - - AC_ARG_ENABLE(openssl, - [ --enable-openssl enable support for openssl], -- enable_openssl=$enableval,enable_openssl="yes") -+ enable_openssl=$enableval,enable_openssl="auto") - --if test "$enable_openssl" = "yes" ; then -- AC_CHECK_HEADERS(openssl/ssl.h) -- AC_CHECK_LIB(ssl,SSL_CTX_new,[EXOSIP_LIB="$EXOSIP_LIB -lssl"]) -- AC_CHECK_LIB(crypto,X509_get_issuer_name,[EXOSIP_LIB="$EXOSIP_LIB -lcrypto"]) --fi -+AS_IF([test "$enable_openssl" = "yes" -o "$enable_openssl" = "auto"], -+ [PKG_CHECK_MODULES([SSL], [openssl], -+ [EXOSIP_LIB="$EXOSIP_LIB $SSL_LIBS"], -+ [AS_IF([test "$enable_openssl" = "yes"], -+ [AC_MSG_ERROR([can not find openssl])]) -+ ]) -+ ]) - - AC_ARG_ENABLE(srvrec, - [ --enable-srvrec enable support for SRV records DNS queries (yes) ], -diff -durN build/libeXosip2-3.6.0.orig/Makefile.am build/libeXosip2-3.6.0/Makefile.am ---- libeXosip2-3.6.0.orig/Makefile.am 2014-06-23 00:14:25.328226745 +0200 -+++ libeXosip2-3.6.0/Makefile.am 2014-06-23 00:14:38.296371236 +0200 -@@ -1,4 +1,4 @@ -- -+ACLOCAL_AMFLAGS = -I scripts - EXTRA_DIST = README autogen.sh - - SUBDIRS = scripts platform src include tools help diff --git a/package/libeXosip2/libeXosip2.hash b/package/libeXosip2/libeXosip2.hash index 86335a3c47..a7d3c56d00 100644 --- a/package/libeXosip2/libeXosip2.hash +++ b/package/libeXosip2/libeXosip2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 91da1a084c9ab663afe04b493342e075ad59ac54a1af011c7f2ba4543a923564 libeXosip2-3.6.0.tar.gz +sha256 21420c00bf8e0895ff36161766beec12b7e6f1d371030c389dba845e271272e2 libexosip2-5.1.1.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/libeXosip2/libeXosip2.mk b/package/libeXosip2/libeXosip2.mk index 04f8672c40..4bd8922b41 100644 --- a/package/libeXosip2/libeXosip2.mk +++ b/package/libeXosip2/libeXosip2.mk @@ -4,7 +4,9 @@ # ################################################################################ -LIBEXOSIP2_VERSION = 3.6.0 +LIBEXOSIP2_VERSION = 5.1.1 +# Since version 5.0, letter 'X' in library's name is in lower case +LIBEXOSIP2_SOURCE = libexosip2-$(LIBEXOSIP2_VERSION).tar.gz LIBEXOSIP2_SITE = http://download.savannah.gnu.org/releases/exosip LIBEXOSIP2_INSTALL_STAGING = YES LIBEXOSIP2_LICENSE = GPL-2.0+ @@ -12,9 +14,6 @@ LIBEXOSIP2_LICENSE_FILES = COPYING LIBEXOSIP2_DEPENDENCIES = host-pkgconf libosip2 -# We are touching configure.in and Makefile.am with one of our patches -LIBEXOSIP2_AUTORECONF = YES - ifeq ($(BR2_arc),y) # toolchain __arc__ define conflicts with libeXosip2 source LIBEXOSIP2_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -U__arc__" diff --git a/package/libebml/0001-EbmlSInteger-Use-limits-instead-of-climits.patch b/package/libebml/0001-EbmlSInteger-Use-limits-instead-of-climits.patch deleted file mode 100644 index d6e906fe7b..0000000000 --- a/package/libebml/0001-EbmlSInteger-Use-limits-instead-of-climits.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e46906b80e7662fb78d305f576412f9fa4a22218 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Hugo=20Beauz=C3=A9e-Luyssen?= -Date: Mon, 23 Apr 2018 12:05:42 +0200 -Subject: [PATCH] EbmlSInteger: Use instead of - -The former is the proper header to use for std::numerical_limits - -Retrieved from: -https://github.com/Matroska-Org/libebml/commit/e46906b80e7662fb78d305f576412f9fa4a22218 - -Signed-off-by: Fabrice Fontaine ---- - src/EbmlSInteger.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/EbmlSInteger.cpp b/src/EbmlSInteger.cpp -index 33f3637..b930f7d 100644 ---- a/src/EbmlSInteger.cpp -+++ b/src/EbmlSInteger.cpp -@@ -33,7 +33,7 @@ - \author Moritz Bunkus - */ - #include --#include -+#include - - #include "ebml/EbmlSInteger.h" - diff --git a/package/libebml/libebml.hash b/package/libebml/libebml.hash index 6daa4746c2..88511f7b93 100644 --- a/package/libebml/libebml.hash +++ b/package/libebml/libebml.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1e5a7a7820c493aa62b0f35e15b4233c792cc03458c55ebdfa7a6521e4b43e9e libebml-1.3.6.tar.xz +sha256 c6a792f4127b8059bc446fb32391e6633811f45748d7d7ba873d7028362f5e3e libebml-1.3.10.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL diff --git a/package/libebml/libebml.mk b/package/libebml/libebml.mk index 3c34462738..549d2f8e6f 100644 --- a/package/libebml/libebml.mk +++ b/package/libebml/libebml.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEBML_VERSION = 1.3.6 +LIBEBML_VERSION = 1.3.10 LIBEBML_SOURCE = libebml-$(LIBEBML_VERSION).tar.xz LIBEBML_SITE = http://dl.matroska.org/downloads/libebml LIBEBML_INSTALL_STAGING = YES diff --git a/package/libebur128/libebur128.hash b/package/libebur128/libebur128.hash index 2b0d3e34c2..e2285bc7cf 100644 --- a/package/libebur128/libebur128.hash +++ b/package/libebur128/libebur128.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 1d0d7e855da04010a2432e11fbc596502caf11b61c3b571ccbcb10095fe44b43 libebur128-v1.2.2.tar.gz +sha256 2ee41a3a5ae3891601ae975d5ec2642b997d276ef647cf5c5b363b6127f7add8 libebur128-1.2.4.tar.gz sha256 d6b4754bb67bdd08b97d5d11b2d7434997a371585a78fe77007149df3af8d09c COPYING diff --git a/package/libebur128/libebur128.mk b/package/libebur128/libebur128.mk index 24c2f2429a..97c1bdbbd9 100644 --- a/package/libebur128/libebur128.mk +++ b/package/libebur128/libebur128.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBEBUR128_VERSION = v1.2.2 -LIBEBUR128_SITE = $(call github,jiixyj,libebur128,$(LIBEBUR128_VERSION)) +LIBEBUR128_VERSION = 1.2.4 +LIBEBUR128_SITE = $(call github,jiixyj,libebur128,v$(LIBEBUR128_VERSION)) LIBEBUR128_LICENSE = MIT LIBEBUR128_LICENSE_FILES = COPYING LIBEBUR128_INSTALL_STAGING = YES diff --git a/package/libedit/libedit.hash b/package/libedit/libedit.hash index 3a5cdbac95..7b84909d8b 100644 --- a/package/libedit/libedit.hash +++ b/package/libedit/libedit.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c41bea8fd140fb57ba67a98ec1d8ae0b8ffa82f4aba9c35a87e5a9499e653116 libedit-20180525-3.1.tar.gz +sha256 ac8f0f51c1cf65492e4d1e3ed2be360bda41e54633444666422fbf393bba1bae libedit-20190324-3.1.tar.gz sha256 9da6c9c74987a36c84302982799d17d2f748ba1c1c0c471425716173c1d07649 COPYING diff --git a/package/libedit/libedit.mk b/package/libedit/libedit.mk index a4b32e05eb..0a9b28afa7 100644 --- a/package/libedit/libedit.mk +++ b/package/libedit/libedit.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEDIT_VERSION = 20180525-3.1 +LIBEDIT_VERSION = 20190324-3.1 LIBEDIT_SITE = http://www.thrysoee.dk/editline LIBEDIT_INSTALL_STAGING = YES LIBEDIT_DEPENDENCIES = ncurses diff --git a/package/libepoxy/libepoxy.hash b/package/libepoxy/libepoxy.hash index dd1b13487b..a37e3949a6 100644 --- a/package/libepoxy/libepoxy.hash +++ b/package/libepoxy/libepoxy.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/libepoxy/1.5/libepoxy-1.5.2.sha256sum -sha256 a9562386519eb3fd7f03209f279f697a8cba520d3c155d6e253c3e138beca7d8 libepoxy-1.5.2.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/libepoxy/1.5/libepoxy-1.5.4.sha256sum +sha256 0bd2cc681dfeffdef739cb29913f8c3caa47a88a451fd2bc6e606c02997289d2 libepoxy-1.5.4.tar.xz # Hashes for license files: sha256 8d5144666f9c4df9bbd69b8900086d5979259152a1060421cdcc0fb9061a1c12 COPYING diff --git a/package/libepoxy/libepoxy.mk b/package/libepoxy/libepoxy.mk index b1731a22c5..efc23a7636 100644 --- a/package/libepoxy/libepoxy.mk +++ b/package/libepoxy/libepoxy.mk @@ -5,26 +5,27 @@ ################################################################################ LIBEPOXY_VERSION_MAJOR = 1.5 -LIBEPOXY_VERSION = $(LIBEPOXY_VERSION_MAJOR).2 +LIBEPOXY_VERSION = $(LIBEPOXY_VERSION_MAJOR).4 LIBEPOXY_SITE = http://ftp.gnome.org/pub/gnome/sources/libepoxy/$(LIBEPOXY_VERSION_MAJOR) LIBEPOXY_SOURCE = libepoxy-$(LIBEPOXY_VERSION).tar.xz LIBEPOXY_INSTALL_STAGING = YES LIBEPOXY_DEPENDENCIES = host-pkgconf xutil_util-macros LIBEPOXY_LICENSE = MIT LIBEPOXY_LICENSE_FILES = COPYING +LIBEPOXY_CONF_OPTS += -Ddocs=false -Dtests=false ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y) -LIBEPOXY_CONF_OPTS += --enable-egl +LIBEPOXY_CONF_OPTS += -Degl=yes LIBEPOXY_DEPENDENCIES += libegl else -LIBEPOXY_CONF_OPTS += --disable-egl +LIBEPOXY_CONF_OPTS += -Degl=no endif ifeq ($(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_XLIB_LIBX11),yy) -LIBEPOXY_CONF_OPTS += --enable-glx +LIBEPOXY_CONF_OPTS += -Dglx=yes -Dx11=true LIBEPOXY_DEPENDENCIES += libgl xlib_libX11 else -LIBEPOXY_CONF_OPTS += --disable-glx +LIBEPOXY_CONF_OPTS += -Dglx=no -Dx11=false endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/liberation/Config.in b/package/liberation/Config.in index b68166f638..8d6b3e78d9 100644 --- a/package/liberation/Config.in +++ b/package/liberation/Config.in @@ -5,6 +5,8 @@ config BR2_PACKAGE_LIBERATION three most commonly used fonts on Microsoft systems: Times New Roman, Arial, and Courier New. + https://github.com/liberationfonts/liberation-fonts + if BR2_PACKAGE_LIBERATION config BR2_PACKAGE_LIBERATION_MONO diff --git a/package/liberation/liberation.hash b/package/liberation/liberation.hash index 5ae4034dea..a15dc23511 100644 --- a/package/liberation/liberation.hash +++ b/package/liberation/liberation.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504 liberation-fonts-ttf-2.00.1.tar.gz +sha256 f14ff0a0be87b5aeb672e669363b5a699db76feb1144b06798261c0fdcd2b24d liberation-fonts-ttf-2.00.5.tar.gz sha256 93fed46019c38bbe566b479d22148e2e8a1e85ada614accb0211c37b2c61c19b LICENSE diff --git a/package/liberation/liberation.mk b/package/liberation/liberation.mk index cabee17202..495a1ffa63 100644 --- a/package/liberation/liberation.mk +++ b/package/liberation/liberation.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBERATION_VERSION = 2.00.1 -LIBERATION_SITE = https://releases.pagure.org/liberation-fonts +LIBERATION_VERSION = 2.00.5 +LIBERATION_SITE = https://github.com/liberationfonts/liberation-fonts/files/2926169 LIBERATION_SOURCE = liberation-fonts-ttf-$(LIBERATION_VERSION).tar.gz LIBERATION_TARGET_DIR = $(TARGET_DIR)/usr/share/fonts/liberation LIBERATION_LICENSE = OFL-1.1 diff --git a/package/libestr/libestr.hash b/package/libestr/libestr.hash index dcb504d3e1..6445d01081 100644 --- a/package/libestr/libestr.hash +++ b/package/libestr/libestr.hash @@ -1,5 +1,5 @@ -# From http://libestr.adiscon.com/download/libestr-0-1-10/ -sha256 bd655e126e750edd18544b88eb1568d200a424a0c23f665eb14bbece07ac703c libestr-0.1.10.tar.gz +# From http://libestr.adiscon.com/download/libestr-0-1-11/ +sha256 46632b2785ff4a231dcf241eeb0dcb5fc0c7d4da8ee49cf5687722cdbe8b2024 libestr-0.1.11.tar.gz # Hash for license file: sha256 835b4793da5cbb8965fbd63905b55a4cb4310b7d1b882077d23066b08f901ff8 COPYING diff --git a/package/libestr/libestr.mk b/package/libestr/libestr.mk index dcd209474c..30960f7257 100644 --- a/package/libestr/libestr.mk +++ b/package/libestr/libestr.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBESTR_VERSION = 0.1.10 +LIBESTR_VERSION = 0.1.11 LIBESTR_SITE = http://libestr.adiscon.com/files/download LIBESTR_LICENSE = LGPL-2.1+ LIBESTR_LICENSE_FILES = COPYING diff --git a/package/libev/libev.hash b/package/libev/libev.hash index ba9d654bee..9ab341dedd 100644 --- a/package/libev/libev.hash +++ b/package/libev/libev.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 973593d3479abdf657674a55afe5f78624b0e440614e2b8cb3a07f16d4d7f821 libev-4.24.tar.gz +sha256 2d5526fc8da4f072dd5c73e18fbb1666f5ef8ed78b73bba12e195cfdd810344e libev-4.27.tar.gz sha256 c4dd1a5bc38b041a320b93c5d6c08f5c41a63f2ce718ee16cfcb757fad448199 LICENSE diff --git a/package/libev/libev.mk b/package/libev/libev.mk index 5d9020cd52..38b0530f62 100644 --- a/package/libev/libev.mk +++ b/package/libev/libev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEV_VERSION = 4.24 +LIBEV_VERSION = 4.27 LIBEV_SITE = http://dist.schmorp.de/libev/Attic LIBEV_INSTALL_STAGING = YES LIBEV_LICENSE = BSD-2-Clause or GPL-2.0+ @@ -18,3 +18,4 @@ endef LIBEV_POST_PATCH_HOOKS += LIBEV_DISABLE_EVENT_H_INSTALL $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/libevdev/0001-configure-add-disable-runtime-tests-option.patch b/package/libevdev/0001-configure-add-disable-runtime-tests-option.patch deleted file mode 100644 index 745903178c..0000000000 --- a/package/libevdev/0001-configure-add-disable-runtime-tests-option.patch +++ /dev/null @@ -1,44 +0,0 @@ -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 | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5161d93..2b3bb26 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -76,7 +76,14 @@ else - AC_MSG_WARN([check not found - skipping building unit tests]) - fi - AM_CONDITIONAL(HAVE_VALGRIND, [test "x$VALGRIND" != "x"]) --AM_CONDITIONAL(ENABLE_RUNTIME_TESTS, [test "x$HAVE_CHECK" = "xyes"]) -+ -+AC_ARG_ENABLE([runtime-tests], -+ AS_HELP_STRING([--disable-runtime-tests], [Disable runtime tests])) -+AS_IF([test "x$enable_runtime_tests" != "xno"], -+ [enable_runtime_tests=yes], -+ [enable_runtime_tests=no]) -+ -+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"]) - - with_cflags="" -@@ -162,7 +169,7 @@ AC_MSG_RESULT([ - Libdir ${libdir} - - Build documentation ${have_doxygen} -- Enable unit-tests ${HAVE_CHECK} -+ Enable unit-tests ${HAVE_CHECK} (runtime-tests: ${enable_runtime_tests}) - Enable profiling ${enable_gcov} - Static library symbol check ${static_symbol_leaks_test} - ]) --- -2.19.1 - diff --git a/package/libevdev/libevdev.hash b/package/libevdev/libevdev.hash index 4a750e0ac9..c4ce252ef1 100644 --- a/package/libevdev/libevdev.hash +++ b/package/libevdev/libevdev.hash @@ -1,8 +1,8 @@ -# 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 +# From https://lists.freedesktop.org/archives/input-tools/2020-July/001541.html +md5 58286a834ae14536caf9cab8633419cf libevdev-1.9.1.tar.xz +sha1 b61c6a09446d717edc4971f7bc3ce9ffa2f05306 libevdev-1.9.1.tar.xz +sha256 f5603c48c5afd76b14df7a5124e0a94a102f8da0d45826192325069d1bbc7acb libevdev-1.9.1.tar.xz +sha512 7d845ce2279d2e2ef12437f6218550265ea0c85e5b6c0d116aff09787b73626b338fe3084baff060085d393688b5ae3d33772689e0581684eff257af01c4c645 libevdev-1.9.1.tar.xz # Hash for license files: -sha256 f063d1279b31e73007e1c54493391818b4cb5f9162d590120397e0347b932137 COPYING +sha256 f063d1279b31e73007e1c54493391818b4cb5f9162d590120397e0347b932137 COPYING diff --git a/package/libevdev/libevdev.mk b/package/libevdev/libevdev.mk index d8361028da..8505346b33 100644 --- a/package/libevdev/libevdev.mk +++ b/package/libevdev/libevdev.mk @@ -4,20 +4,19 @@ # ################################################################################ -LIBEVDEV_VERSION = 1.6.0 +LIBEVDEV_VERSION = 1.9.1 LIBEVDEV_SITE = http://www.freedesktop.org/software/libevdev LIBEVDEV_SOURCE = libevdev-$(LIBEVDEV_VERSION).tar.xz LIBEVDEV_LICENSE = X11 LIBEVDEV_LICENSE_FILES = COPYING -# patch touches configure.ac -LIBEVDEV_AUTORECONF = YES - -# Uses PKG_CHECK_MODULES() in configure.ac -LIBEVDEV_DEPENDENCIES = host-pkgconf +LIBEVDEV_DEPENDENCIES = $(BR2_PYTHON3_HOST_DEPENDENCY) LIBEVDEV_INSTALL_STAGING = YES -LIBEVDEV_CONF_OPTS += --disable-runtime-tests +LIBEVDEV_CONF_OPTS += \ + -Dtests=disabled \ + -Ddocumentation=disabled \ + -Dcoverity=false -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/libevent/0001-Disable-building-test-programs.patch b/package/libevent/0001-Disable-building-test-programs.patch deleted file mode 100644 index a1ce774640..0000000000 --- a/package/libevent/0001-Disable-building-test-programs.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 4b5a135fa681e85eb6988a379f59f3c7a41cc48c Mon Sep 17 00:00:00 2001 -From: Gilles Talis -Date: Fri, 21 Jun 2013 15:25:11 -0700 -Subject: [PATCH 1/2] Disable building test programs - -We are not really interested in building test programs. -Moreover, these programs use fork() function that is -not available on MMU-less architectures. - -Signed-off-by: Gilles Talis -[aduskett@gmail.com: Updated for 2.1.8] -Signed-off-by: Adam Duskett ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 42879a3..dc90359 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -144,7 +144,6 @@ - BUILT_SOURCES = - include include/include.am - include sample/include.am --include test/include.am - - if BUILD_WIN32 - --- -2.1.1 - diff --git a/package/libevent/libevent.hash b/package/libevent/libevent.hash index aa0358bcfe..7bcb381dd3 100644 --- a/package/libevent/libevent.hash +++ b/package/libevent/libevent.hash @@ -1,4 +1,4 @@ # locally computed -md5 f3eeaed018542963b7d2416ef1135ecc libevent-2.1.8-stable.tar.gz -sha1 2a1b8bb7a262d3fd0ed6a080a20991a6eed675ec libevent-2.1.8-stable.tar.gz +md5 7f35cfe69b82d879111ec0d7b7b1c531 libevent-2.1.11-stable.tar.gz +sha1 a76bba0a281da9384d4be5b40f3907c07e21428c libevent-2.1.11-stable.tar.gz sha256 ff02effc9b331edcdac387d198691bfa3e575e7d244ad10cb826aa51ef085670 LICENSE diff --git a/package/libevent/libevent.mk b/package/libevent/libevent.mk index f0c989afa1..d604559313 100644 --- a/package/libevent/libevent.mk +++ b/package/libevent/libevent.mk @@ -4,15 +4,19 @@ # ################################################################################ -LIBEVENT_VERSION = 2.1.8-stable -LIBEVENT_SITE = https://github.com/libevent/libevent/releases/download/release-$(LIBEVENT_VERSION) +LIBEVENT_VERSION = 2.1.11 +LIBEVENT_SITE = https://github.com/libevent/libevent/releases/download/release-$(LIBEVENT_VERSION)-stable +LIBEVENT_SOURCE = libevent-$(LIBEVENT_VERSION)-stable.tar.gz LIBEVENT_INSTALL_STAGING = YES LIBEVENT_LICENSE = BSD-3-Clause, OpenBSD LIBEVENT_LICENSE_FILES = LICENSE -# For 0001-Disable-building-test-programs.patch -LIBEVENT_AUTORECONF = YES -LIBEVENT_CONF_OPTS = --disable-samples -HOST_LIBEVENT_CONF_OPTS = --disable-samples --disable-openssl +LIBEVENT_CONF_OPTS = \ + --disable-libevent-regress \ + --disable-samples +HOST_LIBEVENT_CONF_OPTS = \ + --disable-libevent-regress \ + --disable-samples \ + --disable-openssl define LIBEVENT_REMOVE_PYSCRIPT rm $(TARGET_DIR)/usr/bin/event_rpcgen.py @@ -20,7 +24,7 @@ endef # libevent installs a python script to target - get rid of it if we # don't have python support enabled -ifneq ($(BR2_PACKAGE_PYTHON),y) +ifneq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) LIBEVENT_POST_INSTALL_TARGET_HOOKS += LIBEVENT_REMOVE_PYSCRIPT endif diff --git a/package/libexif/Config.in b/package/libexif/Config.in index 8a38b477b8..8064c2e9f9 100644 --- a/package/libexif/Config.in +++ b/package/libexif/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_LIBEXIF image. The EXIF library allows you to parse an EXIF file and read the data from those tags. - http://libexif.sf.net + https://libexif.github.io diff --git a/package/libexif/libexif.hash b/package/libexif/libexif.hash index aa9fcc8d89..1a2157b3f5 100644 --- a/package/libexif/libexif.hash +++ b/package/libexif/libexif.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 16cdaeb62eb3e6dfab2435f7d7bccd2f37438d21c5218ec4e58efa9157d4d41a libexif-0.6.21.tar.bz2 +sha256 5048f1c8fc509cc636c2f97f4b40c293338b6041a5652082d5ee2cf54b530c56 libexif-0.6.22.tar.xz sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING diff --git a/package/libexif/libexif.mk b/package/libexif/libexif.mk index a4ec5ed3cb..c945c275a7 100644 --- a/package/libexif/libexif.mk +++ b/package/libexif/libexif.mk @@ -4,9 +4,10 @@ # ################################################################################ -LIBEXIF_VERSION = 0.6.21 -LIBEXIF_SOURCE = libexif-$(LIBEXIF_VERSION).tar.bz2 -LIBEXIF_SITE = http://downloads.sourceforge.net/project/libexif/libexif/$(LIBEXIF_VERSION) +LIBEXIF_VERSION = 0.6.22 +LIBEXIF_SOURCE = libexif-$(LIBEXIF_VERSION).tar.xz +LIBEXIF_SITE = \ + https://github.com/libexif/libexif/releases/download/libexif-$(subst .,_,$(LIBEXIF_VERSION))-release LIBEXIF_INSTALL_STAGING = YES LIBEXIF_DEPENDENCIES = host-pkgconf LIBEXIF_LICENSE = LGPL-2.1+ diff --git a/package/libfastjson/libfastjson.hash b/package/libfastjson/libfastjson.hash index 72fb9856a0..07ea88f11e 100644 --- a/package/libfastjson/libfastjson.hash +++ b/package/libfastjson/libfastjson.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7e49057b26a5a9e3c6623e024f95f9fd9a14b571b9150aeb89d6d475fc3633e3 libfastjson-v0.99.8.tar.gz +sha256 7e49057b26a5a9e3c6623e024f95f9fd9a14b571b9150aeb89d6d475fc3633e3 libfastjson-0.99.8.tar.gz sha256 b29370bbfa98816e1fca0901f18149d920736771bfd68b4ee0eb00c78b38d245 COPYING diff --git a/package/libfastjson/libfastjson.mk b/package/libfastjson/libfastjson.mk index 565cdd0ec8..ecca72f56c 100644 --- a/package/libfastjson/libfastjson.mk +++ b/package/libfastjson/libfastjson.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBFASTJSON_VERSION = v0.99.8 -LIBFASTJSON_SITE = $(call github,rsyslog,libfastjson,$(LIBFASTJSON_VERSION)) +LIBFASTJSON_VERSION = 0.99.8 +LIBFASTJSON_SITE = $(call github,rsyslog,libfastjson,v$(LIBFASTJSON_VERSION)) LIBFASTJSON_INSTALL_STAGING = YES LIBFASTJSON_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' # From git diff --git a/package/libfcgi/0001-eof.patch b/package/libfcgi/0001-eof.patch deleted file mode 100644 index e7314265a2..0000000000 --- a/package/libfcgi/0001-eof.patch +++ /dev/null @@ -1,24 +0,0 @@ -[PATCH] fix build with C++ support and gcc >= 4.4 - -EOF is defined in stdio, so ensure it is included. - -Based on similar patch by Markus Rothe: -http://comments.gmane.org/gmane.comp.web.fastcgi.devel/3205 - -Signed-off-by: Peter Korsgaard ---- - libfcgi/fcgio.cpp | 1 + - 1 file changed, 1 insertion(+) - -Index: fcgi-2.4.0/libfcgi/fcgio.cpp -=================================================================== ---- fcgi-2.4.0.orig/libfcgi/fcgio.cpp -+++ fcgi-2.4.0/libfcgi/fcgio.cpp -@@ -22,6 +22,7 @@ - #define DLLAPI __declspec(dllexport) - #endif - -+#include - #include - #include "fcgio.h" - diff --git a/package/libfcgi/0001-link-against-math.patch b/package/libfcgi/0001-link-against-math.patch new file mode 100644 index 0000000000..efba67123e --- /dev/null +++ b/package/libfcgi/0001-link-against-math.patch @@ -0,0 +1,18 @@ +Link libfcgi against the math library. + +Signed-off-by: Thomas Claveirole +[Louis: rebase on top of 2.4.2] +Signed-off-by: Louis Rannou + +Index: b/libfcgi/Makefile.am +=================================================================== +--- a/libfcgi/Makefile.am ++++ b/libfcgi/Makefile.am +@@ -18,4 +18,5 @@ + os_@SYSTEM@.c + libfcgi_la_CC = @PTHREAD_CC@ + libfcgi_la_CFLAGS = @PTHREAD_CFLAGS@ ++libfcgi_la_LIBADD = -lm + libfcgi_la_LDFLAGS = @EXTRA_LIBS@ -no-undefined + + libfcgi___la_SOURCES = $(INCLUDE_FILES) \ diff --git a/package/libfcgi/0005-disable-examples.patch b/package/libfcgi/0002-disable-examples.patch similarity index 100% rename from package/libfcgi/0005-disable-examples.patch rename to package/libfcgi/0002-disable-examples.patch diff --git a/package/libfcgi/0002-link-against-libfcgi-la.patch b/package/libfcgi/0002-link-against-libfcgi-la.patch deleted file mode 100644 index 8a5973ac5b..0000000000 --- a/package/libfcgi/0002-link-against-libfcgi-la.patch +++ /dev/null @@ -1,20 +0,0 @@ -Properly link libfcgi++ against libfcgi - -We cannot directly use -lfcgi to link libfcgi++ against libfcgi, -because libfcgi is not installed at this time. Instead, we should rely -on libtool doing the right thing, by specifying libfcgi.la in -libfcgi++ LIBADD variable. - -Signed-off-by: Thomas Petazzoni - -Index: b/libfcgi/Makefile.am -=================================================================== ---- a/libfcgi/Makefile.am -+++ b/libfcgi/Makefile.am -@@ -23,5 +23,6 @@ - $(INCLUDEDIR)/fcgio.h \ - fcgio.cpp - libfcgi___la_CFLAGS = @PTHREAD_CFLAGS@ --libfcgi___la_LDFLAGS = -lfcgi -rpath @libdir@ -+libfcgi___la_LIBADD = libfcgi.la -+libfcgi___la_LDFLAGS = -rpath @libdir@ diff --git a/package/libfcgi/0003-link-against-math.patch b/package/libfcgi/0003-link-against-math.patch deleted file mode 100644 index c60c6d50ce..0000000000 --- a/package/libfcgi/0003-link-against-math.patch +++ /dev/null @@ -1,16 +0,0 @@ -Link libfcgi against the math library. - -Signed-off-by: Thomas Claveirole - -Index: b/libfcgi/Makefile.am -=================================================================== ---- a/libfcgi/Makefile.am -+++ b/libfcgi/Makefile.am -@@ -18,6 +18,7 @@ - os_@SYSTEM@.c - libfcgi_la_CC = @PTHREAD_CC@ - libfcgi_la_CFLAGS = @PTHREAD_CFLAGS@ -+libfcgi_la_LIBADD = -lm - - libfcgi___la_SOURCES = $(INCLUDE_FILES) \ - $(INCLUDEDIR)/fcgio.h \ diff --git a/package/libfcgi/0004-make-autoreconfable.patch b/package/libfcgi/0004-make-autoreconfable.patch deleted file mode 100644 index e255fc6d3b..0000000000 --- a/package/libfcgi/0004-make-autoreconfable.patch +++ /dev/null @@ -1,67 +0,0 @@ -Make the package autoreconfigurable - -Adjust minor details in Makefile.am and configure.in in order to make -the package compatible with the autoconf/automake versions we are -using in Buildroot. - -Signed-off-by: Thomas Petazzoni - -Index: b/cgi-fcgi/Makefile.am -=================================================================== ---- a/cgi-fcgi/Makefile.am -+++ b/cgi-fcgi/Makefile.am -@@ -2,7 +2,7 @@ - bin_PROGRAMS = cgi-fcgi - - INCLUDEDIR = ../include --CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include -+AM_CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include - - INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.h \ - $(INCLUDEDIR)/fcgiapp.h \ -Index: b/configure.in -=================================================================== ---- a/configure.in -+++ b/configure.in -@@ -4,12 +4,13 @@ - dnl generate the file "configure", which is run during the build - dnl to configure the system for the local environment. - --AC_INIT --AM_INIT_AUTOMAKE(fcgi, 2.4.0) -+AC_INIT([fcgi], [2.4.0]) -+AM_INIT_AUTOMAKE([foreign]) - - AM_CONFIG_HEADER(fcgi_config.h) - - AC_PROG_CC -+AC_PROG_CC_C_O - AC_PROG_CPP - AC_PROG_INSTALL - AC_PROG_LIBTOOL -Index: b/examples/Makefile.am -=================================================================== ---- a/examples/Makefile.am -+++ b/examples/Makefile.am -@@ -11,7 +11,7 @@ - EXTRA_PROGRAMS = threaded echo-cpp - - INCLUDEDIR = ../include --CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include -+AM_CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include - - INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.h \ - $(INCLUDEDIR)/fcgiapp.h \ -Index: b/libfcgi/Makefile.am -=================================================================== ---- a/libfcgi/Makefile.am -+++ b/libfcgi/Makefile.am -@@ -1,7 +1,7 @@ - # $Id: Makefile.am,v 1.9 2001/12/22 03:16:20 robs Exp $ - - INCLUDEDIR = ../include --CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include -+AM_CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include - - INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.h \ - $(INCLUDEDIR)/fcgiapp.h \ diff --git a/package/libfcgi/0006-fix-CVE-2012-6687.patch b/package/libfcgi/0006-fix-CVE-2012-6687.patch deleted file mode 100644 index 10d33ed58d..0000000000 --- a/package/libfcgi/0006-fix-CVE-2012-6687.patch +++ /dev/null @@ -1,104 +0,0 @@ -libfcgi:add security patch for CVE-2012-6687 -CVE-2012-6687 - remote attackers cause a denial of service (crash) via a large number -of connections (http://www.cvedetails.com/cve/CVE-2012-6687/). -Fix:use poll in os_unix.c instead of select to avoid problem with > 1024 connections. -This patch libfcgi_2.4.0-8.3.debian.tar.xz is pulled from the below link: -(https://launchpad.net/ubuntu/+source/libfcgi/2.4.0-8.3) -The next release of libfcgi is 2.4.1 which may have this fix is yet to be released -officially. - -Signed-off-by: Anton Kortunov -Signed-off-by: Niranjan Reddy - -Index: b/libfcgi/os_unix.c -=================================================================== ---- a/libfcgi/os_unix.c -+++ b/libfcgi/os_unix.c -@@ -42,6 +42,7 @@ - #include - #include - #include -+#include - - #ifdef HAVE_NETDB_H - #include -@@ -103,6 +104,9 @@ - static int shutdownPending = FALSE; - static int shutdownNow = FALSE; - -+static int libfcgiOsClosePollTimeout = 2000; -+static int libfcgiIsAfUnixKeeperPollTimeout = 2000; -+ - void OS_ShutdownPending() - { - shutdownPending = TRUE; -@@ -168,6 +172,16 @@ - if(libInitialized) - return 0; - -+ char *libfcgiOsClosePollTimeoutStr = getenv( "LIBFCGI_OS_CLOSE_POLL_TIMEOUT" ); -+ if(libfcgiOsClosePollTimeoutStr) { -+ libfcgiOsClosePollTimeout = atoi(libfcgiOsClosePollTimeoutStr); -+ } -+ -+ char *libfcgiIsAfUnixKeeperPollTimeoutStr = getenv( "LIBFCGI_IS_AF_UNIX_KEEPER_POLL_TIMEOUT" ); -+ if(libfcgiIsAfUnixKeeperPollTimeoutStr) { -+ libfcgiIsAfUnixKeeperPollTimeout = atoi(libfcgiIsAfUnixKeeperPollTimeoutStr); -+ } -+ - asyncIoTable = (AioInfo *)malloc(asyncIoTableSize * sizeof(AioInfo)); - if(asyncIoTable == NULL) { - errno = ENOMEM; -@@ -755,19 +769,16 @@ - - if (shutdown(fd, 1) == 0) - { -- struct timeval tv; -- fd_set rfds; -+ struct pollfd pfd; - int rv; - char trash[1024]; - -- FD_ZERO(&rfds); -+ pfd.fd = fd; -+ pfd.events = POLLIN; - - do - { -- FD_SET(fd, &rfds); -- tv.tv_sec = 2; -- tv.tv_usec = 0; -- rv = select(fd + 1, &rfds, NULL, NULL, &tv); -+ rv = poll(&pfd, 1, libfcgiOsClosePollTimeout); - } - while (rv > 0 && read(fd, trash, sizeof(trash)) > 0); - } -@@ -1116,13 +1127,11 @@ - */ - static int is_af_unix_keeper(const int fd) - { -- struct timeval tval = { READABLE_UNIX_FD_DROP_DEAD_TIMEVAL }; -- fd_set read_fds; -- -- FD_ZERO(&read_fds); -- FD_SET(fd, &read_fds); -+ struct pollfd pfd; -+ pfd.fd = fd; -+ pfd.events = POLLIN; - -- return select(fd + 1, &read_fds, NULL, NULL, &tval) >= 0 && FD_ISSET(fd, &read_fds); -+ return poll(&pfd, 1, libfcgiIsAfUnixKeeperPollTimeout) >= 0 && (pfd.revents & POLLIN); - } - - /* - -Index: b/examples/Makefile.am -=================================================================== ---- a/examples/Makefile.am -+++ b/examples/Makefile.am -@@ -34,5 +34,5 @@ threaded_CFLAGS = @PTHREAD_CFLAGS@ - threaded_LDFLAGS = @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ - - echo_cpp_SOURCES = $(INCLUDE_FILES) $(INCLUDEDIR)/fcgio.h echo-cpp.cpp --echo_cpp_LDADD = $(LIBDIR)/libfcgi++.la -+echo_cpp_LDADD = $(LIBDIR)/libfcgi++.la $(LIBDIR)/libfcgi.la diff --git a/package/libfcgi/Config.in b/package/libfcgi/Config.in index 47ff8a2d13..aceea3e897 100644 --- a/package/libfcgi/Config.in +++ b/package/libfcgi/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_LIBFCGI help FCGI, a fastcgi developer library for C/C++ - http://www.fastcgi.com/ + https://fastcgi-archives.github.io/ diff --git a/package/libfcgi/libfcgi.hash b/package/libfcgi/libfcgi.hash index 98aa2ecf8f..110461235f 100644 --- a/package/libfcgi/libfcgi.hash +++ b/package/libfcgi/libfcgi.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 66fc45c6b36a21bf2fbbb68e90f780cc21a9da1fffbae75e76d2b4402d3f05b9 fcgi-2.4.0.tar.gz +sha256 1fe83501edfc3a7ec96bb1e69db3fd5ea1730135bd73ab152186fd0b437013bc libfcgi-2.4.2.tar.gz sha256 f0a8fe4513a43e8eebb24cdcf9d2e7efc52e4d8259178c6d76d3d84418397d81 LICENSE.TERMS diff --git a/package/libfcgi/libfcgi.mk b/package/libfcgi/libfcgi.mk index 78da772916..c158df2395 100644 --- a/package/libfcgi/libfcgi.mk +++ b/package/libfcgi/libfcgi.mk @@ -4,9 +4,8 @@ # ################################################################################ -LIBFCGI_VERSION = 2.4.0 -LIBFCGI_SOURCE = fcgi-$(LIBFCGI_VERSION).tar.gz -LIBFCGI_SITE = http://www.fastcgi.com/dist +LIBFCGI_VERSION = 2.4.2 +LIBFCGI_SITE = $(call github,FastCGI-Archives,fcgi2,$(LIBFCGI_VERSION)) LIBFCGI_LICENSE = OML LIBFCGI_LICENSE_FILES = LICENSE.TERMS LIBFCGI_INSTALL_STAGING = YES diff --git a/package/libffi/0004-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch b/package/libffi/0004-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch new file mode 100644 index 0000000000..7ee1f1029e --- /dev/null +++ b/package/libffi/0004-ffi_powerpc.h-fix-build-failure-with-powerpc7.patch @@ -0,0 +1,51 @@ +From f9d8f11d60cdc656a801e0d8116101beb22e117b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 24 Nov 2019 09:52:01 +0100 +Subject: [PATCH] ffi_powerpc.h: fix build failure with powerpc7 + +Sicne commit 73dd43afc8a447ba98ea02e9aad4c6898dc77fb0, build on powerpc7 +fails on: + +In file included from ../src/powerpc/ffi.c:33:0: +../src/powerpc/ffi_powerpc.h:61:9: error: '_Float128' is not supported on this target + typedef _Float128 float128; + ^~~~~~~~~ + +Fix this build failure by checking for __HAVE_FLOAT128 before using +_Float128, as _Float128 is enabled only on specific conditions, see +output/host/powerpc64-buildroot-linux-gnu/sysroot/usr/include/bits/floatn.h: + + /* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this glibc + includes corresponding *f128 interfaces for it. */ + #if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \ + && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH + # define __HAVE_FLOAT128 1 + #else + # define __HAVE_FLOAT128 0 + #endif + +Fixes: + - http://autobuild.buildroot.org/results/5c9dd8fb3b6a128882b6250f197c80232d8a3b53 + +Signed-off-by: Fabrice Fontaine +--- + src/powerpc/ffi_powerpc.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/powerpc/ffi_powerpc.h b/src/powerpc/ffi_powerpc.h +index 5ee2a70..a5a786b 100644 +--- a/src/powerpc/ffi_powerpc.h ++++ b/src/powerpc/ffi_powerpc.h +@@ -57,7 +57,7 @@ typedef union + double d; + } ffi_dblfl; + +-#if defined(__FLOAT128_TYPE__) ++#if defined(__FLOAT128_TYPE__) && defined(__HAVE_FLOAT128) + typedef _Float128 float128; + #elif defined(__FLOAT128__) + typedef __float128 float128; +-- +2.24.0 + diff --git a/package/libffi/0005-powerpc-fix-build-failure-on-power7-and-older.patch b/package/libffi/0005-powerpc-fix-build-failure-on-power7-and-older.patch new file mode 100644 index 0000000000..d0b91dda68 --- /dev/null +++ b/package/libffi/0005-powerpc-fix-build-failure-on-power7-and-older.patch @@ -0,0 +1,39 @@ +From 01a75ed76ea7e57f1b7a5c183e2b1e890e6aa0fd Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Thu, 28 Nov 2019 12:42:41 +0000 +Subject: [PATCH] powerpc: fix build failure on power7 and older (#532) + +Build failure looks as: +``` +libtool: compile: powerpc-unknown-linux-gnu-gcc \ + -O2 -mcpu=powerpc -mtune=powerpc -pipe ... -c src/powerpc/ffi.c ... +In file included from src/powerpc/ffi.c:33: +src/powerpc/ffi_powerpc.h:65:9: error: '__int128' is not supported on this target + 65 | typedef __int128 float128; + | ^~~~~~~~ +``` + +The fix avoids using __int128 in favour of aligned char[16]. + +Closes: https://github.com/libffi/libffi/issues/531 +Signed-off-by: Sergei Trofimovich +[Retrieved from: +https://github.com/libffi/libffi/commit/01a75ed76ea7e57f1b7a5c183e2b1e890e6aa0fd] +Signed-off-by: Fabrice Fontaine +--- + src/powerpc/ffi_powerpc.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/powerpc/ffi_powerpc.h b/src/powerpc/ffi_powerpc.h +index 5ee2a709..8e2f2f0e 100644 +--- a/src/powerpc/ffi_powerpc.h ++++ b/src/powerpc/ffi_powerpc.h +@@ -62,7 +62,7 @@ typedef _Float128 float128; + #elif defined(__FLOAT128__) + typedef __float128 float128; + #else +-typedef __int128 float128; ++typedef char float128[16] __attribute__((aligned(16))); + #endif + + void FFI_HIDDEN ffi_closure_SYSV (void); diff --git a/package/libffi/0006-Address-platforms-with-no-__int128.patch b/package/libffi/0006-Address-platforms-with-no-__int128.patch new file mode 100644 index 0000000000..012c6f0dae --- /dev/null +++ b/package/libffi/0006-Address-platforms-with-no-__int128.patch @@ -0,0 +1,28 @@ +From 6663047f56c2932a6b10a790f4ac6666dd181326 Mon Sep 17 00:00:00 2001 +From: Anthony Green +Date: Fri, 29 Nov 2019 07:00:35 -0500 +Subject: [PATCH] Address platforms with no __int128. + +[Retrieved from: +https://github.com/libffi/libffi/commit/6663047f56c2932a6b10a790f4ac6666dd181326] +Signed-off-by: Fabrice Fontaine +--- + src/powerpc/ffi_linux64.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/powerpc/ffi_linux64.c b/src/powerpc/ffi_linux64.c +index de0d0337..73647701 100644 +--- a/src/powerpc/ffi_linux64.c ++++ b/src/powerpc/ffi_linux64.c +@@ -547,9 +547,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack) + if (next_arg.ul == gpr_end.ul) + next_arg.ul = rest.ul; + if (vecarg_count < NUM_VEC_ARG_REGISTERS64 && i < nfixedargs) +- *vec_base.f128++ = **p_argv.f128; ++ memcpy (vec_base.f128++, *p_argv.f128, sizeof (float128)); + else +- *next_arg.f128 = **p_argv.f128; ++ memcpy (next_arg.f128, *p_argv.f128, sizeof (float128)); + if (++next_arg.f128 == gpr_end.f128) + next_arg.f128 = rest.f128; + vecarg_count++; diff --git a/package/libffi/0007-powerpc64-Use-memcpy-to-help-platforms-with-no-__int128.patch b/package/libffi/0007-powerpc64-Use-memcpy-to-help-platforms-with-no-__int128.patch new file mode 100644 index 0000000000..53036707d2 --- /dev/null +++ b/package/libffi/0007-powerpc64-Use-memcpy-to-help-platforms-with-no-__int128.patch @@ -0,0 +1,42 @@ +From e50b9ef8b910fa642ef158f6642e60d54d7ad740 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 7 Dec 2019 02:34:14 -0800 +Subject: [PATCH] powerpc64: Use memcpy to help platforms with no __int128. + (#534) + +Signed-off-by: Khem Raj +[Retrieved from: +https://github.com/libffi/libffi/commit/e50b9ef8b910fa642ef158f6642e60d54d7ad740] +Signed-off-by: Fabrice Fontaine +--- + src/powerpc/ffi_linux64.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/powerpc/ffi_linux64.c b/src/powerpc/ffi_linux64.c +index 73647701..4d50878e 100644 +--- a/src/powerpc/ffi_linux64.c ++++ b/src/powerpc/ffi_linux64.c +@@ -680,9 +680,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack) + { + if (vecarg_count < NUM_VEC_ARG_REGISTERS64 + && i < nfixedargs) +- *vec_base.f128++ = *arg.f128++; ++ memcpy (vec_base.f128++, arg.f128, sizeof (float128)); + else +- *next_arg.f128 = *arg.f128++; ++ memcpy (next_arg.f128, arg.f128++, sizeof (float128)); + if (++next_arg.f128 == gpr_end.f128) + next_arg.f128 = rest.f128; + vecarg_count++; +@@ -986,9 +986,9 @@ ffi_closure_helper_LINUX64 (ffi_cif *cif, + do + { + if (pvec < end_pvec && i < nfixedargs) +- *to.f128 = *pvec++; ++ memcpy (to.f128, pvec++, sizeof (float128)); + else +- *to.f128 = *from.f128; ++ memcpy (to.f128, from.f128, sizeof (float128)); + to.f128++; + from.f128++; + } diff --git a/package/libffi/libffi.hash b/package/libffi/libffi.hash index 97deb988e6..496ae0d904 100644 --- a/package/libffi/libffi.hash +++ b/package/libffi/libffi.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 db41cfb9ec8052fcd116a94c12237303c4447af4844d50e4fea7163661e31743 libffi-v3.3-rc0.tar.gz +sha256 3f2f86094f5cf4c36cfe850d2fe029d01f5c2c2296619407c8ba0d8207da9a6b libffi-3.3.tar.gz # License files, locally calculated -sha256 0f4d7a0bfb83c37465d42dc305f124189196cc0cc2cc8d6f8461103682aebbc5 LICENSE +sha256 deaf3a42effb551a5b140fa9afefed183a27f1341c6d1bf430d106a5e6931fc0 LICENSE diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk index b21d12cbd4..722a03dca0 100644 --- a/package/libffi/libffi.mk +++ b/package/libffi/libffi.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBFFI_VERSION = v3.3-rc0 -LIBFFI_SITE = $(call github,libffi,libffi,$(LIBFFI_VERSION)) +LIBFFI_VERSION = 3.3 +LIBFFI_SITE = $(call github,libffi,libffi,v$(LIBFFI_VERSION)) LIBFFI_LICENSE = MIT LIBFFI_LICENSE_FILES = LICENSE LIBFFI_INSTALL_STAGING = YES diff --git a/package/libfm-extra/Config.in b/package/libfm-extra/Config.in index eefc022c4e..60e6fda30f 100644 --- a/package/libfm-extra/Config.in +++ b/package/libfm-extra/Config.in @@ -10,6 +10,6 @@ config BR2_PACKAGE_LIBFM_EXTRA http://wiki.lxde.org/en/Libfm -comment "libfm-extra needs a toolchain w/ wchar, threads, C++" +comment "libfm-extra needs a toolchain w/ wchar, threads" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libfm-extra/libfm-extra.hash b/package/libfm-extra/libfm-extra.hash index 233abe7d75..e78fbab0de 100644 --- a/package/libfm-extra/libfm-extra.hash +++ b/package/libfm-extra/libfm-extra.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/LibFM/ -md5 02a024714d51e0d37afc7bd596a44f3b libfm-1.3.0.2.tar.xz -sha1 aa7f73987866e557b74b8a28d0fea339d53899b6 libfm-1.3.0.2.tar.xz +md5 c15ecd2c9317e2c385cd3f046d0b61ba libfm-1.3.1.tar.xz +sha1 29539f50acd5c00a00362adffd532053b0688e66 libfm-1.3.1.tar.xz # Hash for license files: sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 COPYING diff --git a/package/libfm-extra/libfm-extra.mk b/package/libfm-extra/libfm-extra.mk index 7802b88631..b41e8654b0 100644 --- a/package/libfm-extra/libfm-extra.mk +++ b/package/libfm-extra/libfm-extra.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFM_EXTRA_VERSION = 1.3.0.2 +LIBFM_EXTRA_VERSION = 1.3.1 LIBFM_EXTRA_SOURCE = libfm-$(LIBFM_EXTRA_VERSION).tar.xz LIBFM_EXTRA_SITE = http://sourceforge.net/projects/pcmanfm/files LIBFM_EXTRA_DEPENDENCIES = libglib2 host-intltool diff --git a/package/libfm/Config.in b/package/libfm/Config.in index 81f2e10043..16676fbf25 100644 --- a/package/libfm/Config.in +++ b/package/libfm/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_LIBFM depends on BR2_USE_MMU # libglib2 depends on BR2_INSTALL_LIBSTDCPP # libgtk2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # libgtk2 -> pango -> harfbuzz select BR2_PACKAGE_CAIRO select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11 @@ -21,8 +22,9 @@ config BR2_PACKAGE_LIBFM http://wiki.lxde.org/en/Libfm -comment "libfm needs X.org and a toolchain w/ wchar, threads, C++" +comment "libfm needs X.org and 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_GCC_AT_LEAST_4_8 || \ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_XORG7 diff --git a/package/libfm/libfm.hash b/package/libfm/libfm.hash index 71befc355e..d63a436119 100644 --- a/package/libfm/libfm.hash +++ b/package/libfm/libfm.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/LibFM/ -md5 02a024714d51e0d37afc7bd596a44f3b libfm-1.3.0.2.tar.xz -sha1 aa7f73987866e557b74b8a28d0fea339d53899b6 libfm-1.3.0.2.tar.xz +md5 c15ecd2c9317e2c385cd3f046d0b61ba libfm-1.3.1.tar.xz +sha1 29539f50acd5c00a00362adffd532053b0688e66 libfm-1.3.1.tar.xz # Hash for license files: sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 COPYING diff --git a/package/libfm/libfm.mk b/package/libfm/libfm.mk index 292a0ab5d8..47f01b17cb 100644 --- a/package/libfm/libfm.mk +++ b/package/libfm/libfm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFM_VERSION = 1.3.0.2 +LIBFM_VERSION = 1.3.1 LIBFM_SOURCE = libfm-$(LIBFM_VERSION).tar.xz LIBFM_SITE = http://sourceforge.net/projects/pcmanfm/files LIBFM_DEPENDENCIES = menu-cache libglib2 cairo diff --git a/package/libfreeglut/libfreeglut.hash b/package/libfreeglut/libfreeglut.hash index cc7a286616..2771cbde2f 100644 --- a/package/libfreeglut/libfreeglut.hash +++ b/package/libfreeglut/libfreeglut.hash @@ -1,5 +1,6 @@ -# From http://sourceforge.net/projects/freeglut/files/freeglut/3.0.0/ -sha1 fca52242f9344627a30f11487ee42002e6b0dacd freeglut-3.0.0.tar.gz - -# Hash for license file: +# From http://sourceforge.net/projects/freeglut/files/freeglut/3.2.1/ +md5 cd5c670c1086358598a6d4a9d166949d freeglut-3.2.1.tar.gz +sha1 7a62e0d2caad92ff745bc5037592b2753f0b2f20 freeglut-3.2.1.tar.gz +# Locally computed +sha256 d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68 freeglut-3.2.1.tar.gz sha256 b6593d5ec4c113a274abb85b10e8615895cb0ddb89f7912af5fe5aa8df38a275 COPYING diff --git a/package/libfreeglut/libfreeglut.mk b/package/libfreeglut/libfreeglut.mk index 507cb523ab..379de3121b 100644 --- a/package/libfreeglut/libfreeglut.mk +++ b/package/libfreeglut/libfreeglut.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFREEGLUT_VERSION = 3.0.0 +LIBFREEGLUT_VERSION = 3.2.1 LIBFREEGLUT_SOURCE = freeglut-$(LIBFREEGLUT_VERSION).tar.gz LIBFREEGLUT_SITE = http://downloads.sourceforge.net/freeglut LIBFREEGLUT_LICENSE = MIT diff --git a/package/libfreeimage/0003-LibWebP-fix-compilation-issue-with-GCC-5.x-C-11.patch b/package/libfreeimage/0003-LibWebP-fix-compilation-issue-with-GCC-5.x-C-11.patch deleted file mode 100644 index 6964827cca..0000000000 --- a/package/libfreeimage/0003-LibWebP-fix-compilation-issue-with-GCC-5.x-C-11.patch +++ /dev/null @@ -1,1172 +0,0 @@ -From 44bce1b66c1cdd5308ac3ac773ea0a53d83790fd Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Tue, 24 Nov 2015 21:16:39 +0100 -Subject: [PATCH] LibWebP: fix compilation issue with GCC 5.x / C++11 - -GCC 5.1 / C++11 gets confused about the "#" in the inline assembly -code, and dies with errors like: - -Source/LibWebP/./src/dsp/dsp.upsampling_mips_dsp_r2.c:37:34: error: invalid -character ' ' in raw string delimiter - -Fix it by introducting white space around the string literals like it has -been done in upstream webp: - -https://chromium.googlesource.com/webm/libwebp/+/eebaf97f5a1cb713d81d311308d8a48c124e5aef - -Discussed upstream: -http://sourceforge.net/p/freeimage/discussion/36110/thread/605ef8e4/ - -[Scripted by sed -i 's/"\(#[A-Z0-9]*\)"/" \1 "/g' *.c] -Signed-off-by: Peter Korsgaard ---- - Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c | 28 +- - Source/LibWebP/src/dsp/dsp.enc_mips32.c | 314 ++++++++++----------- - Source/LibWebP/src/dsp/dsp.enc_mips_dsp_r2.c | 288 +++++++++---------- - Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c | 10 +- - Source/LibWebP/src/dsp/dsp.lossless_mips32.c | 34 +-- - Source/LibWebP/src/dsp/dsp.lossless_mips_dsp_r2.c | 8 +- - .../LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c | 18 +- - Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c | 10 +- - 8 files changed, 355 insertions(+), 355 deletions(-) - -diff --git a/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c b/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c -index dac2c93..aaa8111 100644 ---- a/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c -+++ b/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c -@@ -548,10 +548,10 @@ static void SimpleVFilter16(uint8_t* p, int stride, int thresh) { - // TEMP3 = SRC[D + D1 * BPS] - #define LOAD_4_BYTES(TEMP0, TEMP1, TEMP2, TEMP3, \ - A, A1, B, B1, C, C1, D, D1, SRC) \ -- "lbu %["#TEMP0"], "#A"+"#A1"*"XSTR(BPS)"(%["#SRC"]) \n\t" \ -- "lbu %["#TEMP1"], "#B"+"#B1"*"XSTR(BPS)"(%["#SRC"]) \n\t" \ -- "lbu %["#TEMP2"], "#C"+"#C1"*"XSTR(BPS)"(%["#SRC"]) \n\t" \ -- "lbu %["#TEMP3"], "#D"+"#D1"*"XSTR(BPS)"(%["#SRC"]) \n\t" \ -+ "lbu %[" #TEMP0 "], " #A "+" #A1 "*"XSTR(BPS)"(%[" #SRC "]) \n\t" \ -+ "lbu %[" #TEMP1 "], " #B "+" #B1 "*"XSTR(BPS)"(%[" #SRC "]) \n\t" \ -+ "lbu %[" #TEMP2 "], " #C "+" #C1 "*"XSTR(BPS)"(%[" #SRC "]) \n\t" \ -+ "lbu %[" #TEMP3 "], " #D "+" #D1 "*"XSTR(BPS)"(%[" #SRC "]) \n\t" \ - - static void SimpleHFilter16(uint8_t* p, int stride, int thresh) { - int i; -@@ -623,8 +623,8 @@ static void SimpleHFilter16i(uint8_t* p, int stride, int thresh) { - // DST[A * BPS] = TEMP0 - // DST[B + C * BPS] = TEMP1 - #define STORE_8_BYTES(TEMP0, TEMP1, A, B, C, DST) \ -- "usw %["#TEMP0"], "#A"*"XSTR(BPS)"(%["#DST"]) \n\t" \ -- "usw %["#TEMP1"], "#B"+"#C"*"XSTR(BPS)"(%["#DST"]) \n\t" -+ "usw %[" #TEMP0 "], " #A "*"XSTR(BPS)"(%[" #DST "]) \n\t" \ -+ "usw %[" #TEMP1 "], " #B "+" #C "*"XSTR(BPS)"(%[" #DST "]) \n\t" - - static void VE4(uint8_t* dst) { // vertical - const uint8_t* top = dst - BPS; -@@ -725,8 +725,8 @@ static void RD4(uint8_t* dst) { // Down-right - // TEMP0 = SRC[A * BPS] - // TEMP1 = SRC[B + C * BPS] - #define LOAD_8_BYTES(TEMP0, TEMP1, A, B, C, SRC) \ -- "ulw %["#TEMP0"], "#A"*"XSTR(BPS)"(%["#SRC"]) \n\t" \ -- "ulw %["#TEMP1"], "#B"+"#C"*"XSTR(BPS)"(%["#SRC"]) \n\t" -+ "ulw %[" #TEMP0 "], " #A "*"XSTR(BPS)"(%[" #SRC "]) \n\t" \ -+ "ulw %[" #TEMP1 "], " #B "+" #C "*"XSTR(BPS)"(%[" #SRC "]) \n\t" - - static void LD4(uint8_t* dst) { // Down-Left - int temp0, temp1, temp2, temp3, temp4; -@@ -873,24 +873,24 @@ static void DC8uvNoTop(uint8_t* dst) { // DC with no top samples - #define CLIPPING(SIZE) \ - "preceu.ph.qbl %[temp2], %[temp0] \n\t" \ - "preceu.ph.qbr %[temp0], %[temp0] \n\t" \ --".if "#SIZE" == 8 \n\t" \ -+".if " #SIZE " == 8 \n\t" \ - "preceu.ph.qbl %[temp3], %[temp1] \n\t" \ - "preceu.ph.qbr %[temp1], %[temp1] \n\t" \ - ".endif \n\t" \ - "addu.ph %[temp2], %[temp2], %[dst_1] \n\t" \ - "addu.ph %[temp0], %[temp0], %[dst_1] \n\t" \ --".if "#SIZE" == 8 \n\t" \ -+".if " #SIZE " == 8 \n\t" \ - "addu.ph %[temp3], %[temp3], %[dst_1] \n\t" \ - "addu.ph %[temp1], %[temp1], %[dst_1] \n\t" \ - ".endif \n\t" \ - "shll_s.ph %[temp2], %[temp2], 7 \n\t" \ - "shll_s.ph %[temp0], %[temp0], 7 \n\t" \ --".if "#SIZE" == 8 \n\t" \ -+".if " #SIZE " == 8 \n\t" \ - "shll_s.ph %[temp3], %[temp3], 7 \n\t" \ - "shll_s.ph %[temp1], %[temp1], 7 \n\t" \ - ".endif \n\t" \ - "precrqu_s.qb.ph %[temp0], %[temp2], %[temp0] \n\t" \ --".if "#SIZE" == 8 \n\t" \ -+".if " #SIZE " == 8 \n\t" \ - "precrqu_s.qb.ph %[temp1], %[temp3], %[temp1] \n\t" \ - ".endif \n\t" - -@@ -899,7 +899,7 @@ static void DC8uvNoTop(uint8_t* dst) { // DC with no top samples - int dst_1 = ((int)(DST)[-1] << 16) + (DST)[-1]; \ - int temp0, temp1, temp2, temp3; \ - __asm__ volatile ( \ -- ".if "#SIZE" < 8 \n\t" \ -+ ".if " #SIZE " < 8 \n\t" \ - "ulw %[temp0], 0(%[top]) \n\t" \ - "subu.ph %[dst_1], %[dst_1], %[top_1] \n\t" \ - CLIPPING(4) \ -@@ -911,7 +911,7 @@ static void DC8uvNoTop(uint8_t* dst) { // DC with no top samples - CLIPPING(8) \ - "usw %[temp0], 0(%[dst]) \n\t" \ - "usw %[temp1], 4(%[dst]) \n\t" \ -- ".if "#SIZE" == 16 \n\t" \ -+ ".if " #SIZE " == 16 \n\t" \ - "ulw %[temp0], 8(%[top]) \n\t" \ - "ulw %[temp1], 12(%[top]) \n\t" \ - CLIPPING(8) \ -diff --git a/Source/LibWebP/src/dsp/dsp.enc_mips32.c b/Source/LibWebP/src/dsp/dsp.enc_mips32.c -index 545aa3a..bf1c16d 100644 ---- a/Source/LibWebP/src/dsp/dsp.enc_mips32.c -+++ b/Source/LibWebP/src/dsp/dsp.enc_mips32.c -@@ -31,26 +31,26 @@ static const int kC2 = 35468; - // TEMP0..TEMP3 - registers for corresponding tmp elements - // TEMP4..TEMP5 - temporary registers - #define VERTICAL_PASS(A, B, C, D, TEMP4, TEMP0, TEMP1, TEMP2, TEMP3) \ -- "lh %[temp16], "#A"(%[temp20]) \n\t" \ -- "lh %[temp18], "#B"(%[temp20]) \n\t" \ -- "lh %[temp17], "#C"(%[temp20]) \n\t" \ -- "lh %[temp19], "#D"(%[temp20]) \n\t" \ -- "addu %["#TEMP4"], %[temp16], %[temp18] \n\t" \ -+ "lh %[temp16], " #A "(%[temp20]) \n\t" \ -+ "lh %[temp18], " #B "(%[temp20]) \n\t" \ -+ "lh %[temp17], " #C "(%[temp20]) \n\t" \ -+ "lh %[temp19], " #D "(%[temp20]) \n\t" \ -+ "addu %[" #TEMP4 "], %[temp16], %[temp18] \n\t" \ - "subu %[temp16], %[temp16], %[temp18] \n\t" \ -- "mul %["#TEMP0"], %[temp17], %[kC2] \n\t" \ -+ "mul %[" #TEMP0 "], %[temp17], %[kC2] \n\t" \ - "mul %[temp18], %[temp19], %[kC1] \n\t" \ - "mul %[temp17], %[temp17], %[kC1] \n\t" \ - "mul %[temp19], %[temp19], %[kC2] \n\t" \ -- "sra %["#TEMP0"], %["#TEMP0"], 16 \n\n" \ -+ "sra %[" #TEMP0 "], %[" #TEMP0 "], 16 \n\n" \ - "sra %[temp18], %[temp18], 16 \n\n" \ - "sra %[temp17], %[temp17], 16 \n\n" \ - "sra %[temp19], %[temp19], 16 \n\n" \ -- "subu %["#TEMP2"], %["#TEMP0"], %[temp18] \n\t" \ -- "addu %["#TEMP3"], %[temp17], %[temp19] \n\t" \ -- "addu %["#TEMP0"], %["#TEMP4"], %["#TEMP3"] \n\t" \ -- "addu %["#TEMP1"], %[temp16], %["#TEMP2"] \n\t" \ -- "subu %["#TEMP2"], %[temp16], %["#TEMP2"] \n\t" \ -- "subu %["#TEMP3"], %["#TEMP4"], %["#TEMP3"] \n\t" -+ "subu %[" #TEMP2 "], %[" #TEMP0 "], %[temp18] \n\t" \ -+ "addu %[" #TEMP3 "], %[temp17], %[temp19] \n\t" \ -+ "addu %[" #TEMP0 "], %[" #TEMP4 "], %[" #TEMP3 "] \n\t" \ -+ "addu %[" #TEMP1 "], %[temp16], %[" #TEMP2 "] \n\t" \ -+ "subu %[" #TEMP2 "], %[temp16], %[" #TEMP2 "] \n\t" \ -+ "subu %[" #TEMP3 "], %[" #TEMP4 "], %[" #TEMP3 "] \n\t" - - // macro for one horizontal pass in ITransformOne - // MUL and STORE macros inlined -@@ -59,58 +59,58 @@ static const int kC2 = 35468; - // A - offset in bytes to load from ref and store to dst buffer - // TEMP0, TEMP4, TEMP8 and TEMP12 - registers for corresponding tmp elements - #define HORIZONTAL_PASS(A, TEMP0, TEMP4, TEMP8, TEMP12) \ -- "addiu %["#TEMP0"], %["#TEMP0"], 4 \n\t" \ -- "addu %[temp16], %["#TEMP0"], %["#TEMP8"] \n\t" \ -- "subu %[temp17], %["#TEMP0"], %["#TEMP8"] \n\t" \ -- "mul %["#TEMP0"], %["#TEMP4"], %[kC2] \n\t" \ -- "mul %["#TEMP8"], %["#TEMP12"], %[kC1] \n\t" \ -- "mul %["#TEMP4"], %["#TEMP4"], %[kC1] \n\t" \ -- "mul %["#TEMP12"], %["#TEMP12"], %[kC2] \n\t" \ -- "sra %["#TEMP0"], %["#TEMP0"], 16 \n\t" \ -- "sra %["#TEMP8"], %["#TEMP8"], 16 \n\t" \ -- "sra %["#TEMP4"], %["#TEMP4"], 16 \n\t" \ -- "sra %["#TEMP12"], %["#TEMP12"], 16 \n\t" \ -- "subu %[temp18], %["#TEMP0"], %["#TEMP8"] \n\t" \ -- "addu %[temp19], %["#TEMP4"], %["#TEMP12"] \n\t" \ -- "addu %["#TEMP0"], %[temp16], %[temp19] \n\t" \ -- "addu %["#TEMP4"], %[temp17], %[temp18] \n\t" \ -- "subu %["#TEMP8"], %[temp17], %[temp18] \n\t" \ -- "subu %["#TEMP12"], %[temp16], %[temp19] \n\t" \ -+ "addiu %[" #TEMP0 "], %[" #TEMP0 "], 4 \n\t" \ -+ "addu %[temp16], %[" #TEMP0 "], %[" #TEMP8 "] \n\t" \ -+ "subu %[temp17], %[" #TEMP0 "], %[" #TEMP8 "] \n\t" \ -+ "mul %[" #TEMP0 "], %[" #TEMP4 "], %[kC2] \n\t" \ -+ "mul %[" #TEMP8 "], %[" #TEMP12 "], %[kC1] \n\t" \ -+ "mul %[" #TEMP4 "], %[" #TEMP4 "], %[kC1] \n\t" \ -+ "mul %[" #TEMP12 "], %[" #TEMP12 "], %[kC2] \n\t" \ -+ "sra %[" #TEMP0 "], %[" #TEMP0 "], 16 \n\t" \ -+ "sra %[" #TEMP8 "], %[" #TEMP8 "], 16 \n\t" \ -+ "sra %[" #TEMP4 "], %[" #TEMP4 "], 16 \n\t" \ -+ "sra %[" #TEMP12 "], %[" #TEMP12 "], 16 \n\t" \ -+ "subu %[temp18], %[" #TEMP0 "], %[" #TEMP8 "] \n\t" \ -+ "addu %[temp19], %[" #TEMP4 "], %[" #TEMP12 "] \n\t" \ -+ "addu %[" #TEMP0 "], %[temp16], %[temp19] \n\t" \ -+ "addu %[" #TEMP4 "], %[temp17], %[temp18] \n\t" \ -+ "subu %[" #TEMP8 "], %[temp17], %[temp18] \n\t" \ -+ "subu %[" #TEMP12 "], %[temp16], %[temp19] \n\t" \ - "lw %[temp20], 0(%[args]) \n\t" \ -- "sra %["#TEMP0"], %["#TEMP0"], 3 \n\t" \ -- "sra %["#TEMP4"], %["#TEMP4"], 3 \n\t" \ -- "sra %["#TEMP8"], %["#TEMP8"], 3 \n\t" \ -- "sra %["#TEMP12"], %["#TEMP12"], 3 \n\t" \ -- "lbu %[temp16], 0+"XSTR(BPS)"*"#A"(%[temp20]) \n\t" \ -- "lbu %[temp17], 1+"XSTR(BPS)"*"#A"(%[temp20]) \n\t" \ -- "lbu %[temp18], 2+"XSTR(BPS)"*"#A"(%[temp20]) \n\t" \ -- "lbu %[temp19], 3+"XSTR(BPS)"*"#A"(%[temp20]) \n\t" \ -- "addu %["#TEMP0"], %[temp16], %["#TEMP0"] \n\t" \ -- "addu %["#TEMP4"], %[temp17], %["#TEMP4"] \n\t" \ -- "addu %["#TEMP8"], %[temp18], %["#TEMP8"] \n\t" \ -- "addu %["#TEMP12"], %[temp19], %["#TEMP12"] \n\t" \ -- "slt %[temp16], %["#TEMP0"], $zero \n\t" \ -- "slt %[temp17], %["#TEMP4"], $zero \n\t" \ -- "slt %[temp18], %["#TEMP8"], $zero \n\t" \ -- "slt %[temp19], %["#TEMP12"], $zero \n\t" \ -- "movn %["#TEMP0"], $zero, %[temp16] \n\t" \ -- "movn %["#TEMP4"], $zero, %[temp17] \n\t" \ -- "movn %["#TEMP8"], $zero, %[temp18] \n\t" \ -- "movn %["#TEMP12"], $zero, %[temp19] \n\t" \ -+ "sra %[" #TEMP0 "], %[" #TEMP0 "], 3 \n\t" \ -+ "sra %[" #TEMP4 "], %[" #TEMP4 "], 3 \n\t" \ -+ "sra %[" #TEMP8 "], %[" #TEMP8 "], 3 \n\t" \ -+ "sra %[" #TEMP12 "], %[" #TEMP12 "], 3 \n\t" \ -+ "lbu %[temp16], 0+"XSTR(BPS)"*" #A "(%[temp20]) \n\t" \ -+ "lbu %[temp17], 1+"XSTR(BPS)"*" #A "(%[temp20]) \n\t" \ -+ "lbu %[temp18], 2+"XSTR(BPS)"*" #A "(%[temp20]) \n\t" \ -+ "lbu %[temp19], 3+"XSTR(BPS)"*" #A "(%[temp20]) \n\t" \ -+ "addu %[" #TEMP0 "], %[temp16], %[" #TEMP0 "] \n\t" \ -+ "addu %[" #TEMP4 "], %[temp17], %[" #TEMP4 "] \n\t" \ -+ "addu %[" #TEMP8 "], %[temp18], %[" #TEMP8 "] \n\t" \ -+ "addu %[" #TEMP12 "], %[temp19], %[" #TEMP12 "] \n\t" \ -+ "slt %[temp16], %[" #TEMP0 "], $zero \n\t" \ -+ "slt %[temp17], %[" #TEMP4 "], $zero \n\t" \ -+ "slt %[temp18], %[" #TEMP8 "], $zero \n\t" \ -+ "slt %[temp19], %[" #TEMP12 "], $zero \n\t" \ -+ "movn %[" #TEMP0 "], $zero, %[temp16] \n\t" \ -+ "movn %[" #TEMP4 "], $zero, %[temp17] \n\t" \ -+ "movn %[" #TEMP8 "], $zero, %[temp18] \n\t" \ -+ "movn %[" #TEMP12 "], $zero, %[temp19] \n\t" \ - "addiu %[temp20], $zero, 255 \n\t" \ -- "slt %[temp16], %["#TEMP0"], %[temp20] \n\t" \ -- "slt %[temp17], %["#TEMP4"], %[temp20] \n\t" \ -- "slt %[temp18], %["#TEMP8"], %[temp20] \n\t" \ -- "slt %[temp19], %["#TEMP12"], %[temp20] \n\t" \ -- "movz %["#TEMP0"], %[temp20], %[temp16] \n\t" \ -- "movz %["#TEMP4"], %[temp20], %[temp17] \n\t" \ -+ "slt %[temp16], %[" #TEMP0 "], %[temp20] \n\t" \ -+ "slt %[temp17], %[" #TEMP4 "], %[temp20] \n\t" \ -+ "slt %[temp18], %[" #TEMP8 "], %[temp20] \n\t" \ -+ "slt %[temp19], %[" #TEMP12 "], %[temp20] \n\t" \ -+ "movz %[" #TEMP0 "], %[temp20], %[temp16] \n\t" \ -+ "movz %[" #TEMP4 "], %[temp20], %[temp17] \n\t" \ - "lw %[temp16], 8(%[args]) \n\t" \ -- "movz %["#TEMP8"], %[temp20], %[temp18] \n\t" \ -- "movz %["#TEMP12"], %[temp20], %[temp19] \n\t" \ -- "sb %["#TEMP0"], 0+"XSTR(BPS)"*"#A"(%[temp16]) \n\t" \ -- "sb %["#TEMP4"], 1+"XSTR(BPS)"*"#A"(%[temp16]) \n\t" \ -- "sb %["#TEMP8"], 2+"XSTR(BPS)"*"#A"(%[temp16]) \n\t" \ -- "sb %["#TEMP12"], 3+"XSTR(BPS)"*"#A"(%[temp16]) \n\t" -+ "movz %[" #TEMP8 "], %[temp20], %[temp18] \n\t" \ -+ "movz %[" #TEMP12 "], %[temp20], %[temp19] \n\t" \ -+ "sb %[" #TEMP0 "], 0+"XSTR(BPS)"*" #A "(%[temp16]) \n\t" \ -+ "sb %[" #TEMP4 "], 1+"XSTR(BPS)"*" #A "(%[temp16]) \n\t" \ -+ "sb %[" #TEMP8 "], 2+"XSTR(BPS)"*" #A "(%[temp16]) \n\t" \ -+ "sb %[" #TEMP12 "], 3+"XSTR(BPS)"*" #A "(%[temp16]) \n\t" - - // Does one or two inverse transforms. - static WEBP_INLINE void ITransformOne(const uint8_t* ref, const int16_t* in, -@@ -161,9 +161,9 @@ static void ITransform(const uint8_t* ref, const int16_t* in, - // K - offset in bytes (kZigzag[n] * 4) - // N - offset in bytes (n * 2) - #define QUANTIZE_ONE(J, K, N) \ -- "lh %[temp0], "#J"(%[ppin]) \n\t" \ -- "lhu %[temp1], "#J"(%[ppsharpen]) \n\t" \ -- "lw %[temp2], "#K"(%[ppzthresh]) \n\t" \ -+ "lh %[temp0], " #J "(%[ppin]) \n\t" \ -+ "lhu %[temp1], " #J "(%[ppsharpen]) \n\t" \ -+ "lw %[temp2], " #K "(%[ppzthresh]) \n\t" \ - "sra %[sign], %[temp0], 15 \n\t" \ - "xor %[coeff], %[temp0], %[sign] \n\t" \ - "subu %[coeff], %[coeff], %[sign] \n\t" \ -@@ -172,9 +172,9 @@ static void ITransform(const uint8_t* ref, const int16_t* in, - "addiu %[temp5], $zero, 0 \n\t" \ - "addiu %[level], $zero, 0 \n\t" \ - "beqz %[temp4], 2f \n\t" \ -- "lhu %[temp1], "#J"(%[ppiq]) \n\t" \ -- "lw %[temp2], "#K"(%[ppbias]) \n\t" \ -- "lhu %[temp3], "#J"(%[ppq]) \n\t" \ -+ "lhu %[temp1], " #J "(%[ppiq]) \n\t" \ -+ "lw %[temp2], " #K "(%[ppbias]) \n\t" \ -+ "lhu %[temp3], " #J "(%[ppq]) \n\t" \ - "mul %[level], %[coeff], %[temp1] \n\t" \ - "addu %[level], %[level], %[temp2] \n\t" \ - "sra %[level], %[level], 17 \n\t" \ -@@ -184,8 +184,8 @@ static void ITransform(const uint8_t* ref, const int16_t* in, - "subu %[level], %[level], %[sign] \n\t" \ - "mul %[temp5], %[level], %[temp3] \n\t" \ - "2: \n\t" \ -- "sh %[temp5], "#J"(%[ppin]) \n\t" \ -- "sh %[level], "#N"(%[pout]) \n\t" -+ "sh %[temp5], " #J "(%[ppin]) \n\t" \ -+ "sh %[level], " #N "(%[pout]) \n\t" - - static int QuantizeBlock(int16_t in[16], int16_t out[16], - const VP8Matrix* const mtx) { -@@ -254,14 +254,14 @@ static int Quantize2Blocks(int16_t in[32], int16_t out[32], - // E..H - offsets in bytes to store first results to tmp buffer - // E1..H1 - offsets in bytes to store second results to tmp buffer - #define HORIZONTAL_PASS(A, E, F, G, H, E1, F1, G1, H1) \ -- "lbu %[temp0], 0+"XSTR(BPS)"*"#A"(%[a]) \n\t" \ -- "lbu %[temp1], 1+"XSTR(BPS)"*"#A"(%[a]) \n\t" \ -- "lbu %[temp2], 2+"XSTR(BPS)"*"#A"(%[a]) \n\t" \ -- "lbu %[temp3], 3+"XSTR(BPS)"*"#A"(%[a]) \n\t" \ -- "lbu %[temp4], 0+"XSTR(BPS)"*"#A"(%[b]) \n\t" \ -- "lbu %[temp5], 1+"XSTR(BPS)"*"#A"(%[b]) \n\t" \ -- "lbu %[temp6], 2+"XSTR(BPS)"*"#A"(%[b]) \n\t" \ -- "lbu %[temp7], 3+"XSTR(BPS)"*"#A"(%[b]) \n\t" \ -+ "lbu %[temp0], 0+"XSTR(BPS)"*" #A "(%[a]) \n\t" \ -+ "lbu %[temp1], 1+"XSTR(BPS)"*" #A "(%[a]) \n\t" \ -+ "lbu %[temp2], 2+"XSTR(BPS)"*" #A "(%[a]) \n\t" \ -+ "lbu %[temp3], 3+"XSTR(BPS)"*" #A "(%[a]) \n\t" \ -+ "lbu %[temp4], 0+"XSTR(BPS)"*" #A "(%[b]) \n\t" \ -+ "lbu %[temp5], 1+"XSTR(BPS)"*" #A "(%[b]) \n\t" \ -+ "lbu %[temp6], 2+"XSTR(BPS)"*" #A "(%[b]) \n\t" \ -+ "lbu %[temp7], 3+"XSTR(BPS)"*" #A "(%[b]) \n\t" \ - "addu %[temp8], %[temp0], %[temp2] \n\t" \ - "subu %[temp0], %[temp0], %[temp2] \n\t" \ - "addu %[temp2], %[temp1], %[temp3] \n\t" \ -@@ -278,14 +278,14 @@ static int Quantize2Blocks(int16_t in[32], int16_t out[32], - "subu %[temp3], %[temp3], %[temp6] \n\t" \ - "addu %[temp6], %[temp4], %[temp5] \n\t" \ - "subu %[temp4], %[temp4], %[temp5] \n\t" \ -- "sw %[temp7], "#E"(%[tmp]) \n\t" \ -- "sw %[temp2], "#H"(%[tmp]) \n\t" \ -- "sw %[temp8], "#F"(%[tmp]) \n\t" \ -- "sw %[temp0], "#G"(%[tmp]) \n\t" \ -- "sw %[temp1], "#E1"(%[tmp]) \n\t" \ -- "sw %[temp3], "#H1"(%[tmp]) \n\t" \ -- "sw %[temp6], "#F1"(%[tmp]) \n\t" \ -- "sw %[temp4], "#G1"(%[tmp]) \n\t" -+ "sw %[temp7], " #E "(%[tmp]) \n\t" \ -+ "sw %[temp2], " #H "(%[tmp]) \n\t" \ -+ "sw %[temp8], " #F "(%[tmp]) \n\t" \ -+ "sw %[temp0], " #G "(%[tmp]) \n\t" \ -+ "sw %[temp1], " #E1 "(%[tmp]) \n\t" \ -+ "sw %[temp3], " #H1 "(%[tmp]) \n\t" \ -+ "sw %[temp6], " #F1 "(%[tmp]) \n\t" \ -+ "sw %[temp4], " #G1 "(%[tmp]) \n\t" - - // macro for one vertical pass in Disto4x4 (TTransform) - // two calls of function TTransform are merged into single one -@@ -300,10 +300,10 @@ static int Quantize2Blocks(int16_t in[32], int16_t out[32], - // A1..D1 - offsets in bytes to load second results from tmp buffer - // E..H - offsets in bytes to load from w buffer - #define VERTICAL_PASS(A, B, C, D, A1, B1, C1, D1, E, F, G, H) \ -- "lw %[temp0], "#A1"(%[tmp]) \n\t" \ -- "lw %[temp1], "#C1"(%[tmp]) \n\t" \ -- "lw %[temp2], "#B1"(%[tmp]) \n\t" \ -- "lw %[temp3], "#D1"(%[tmp]) \n\t" \ -+ "lw %[temp0], " #A1 "(%[tmp]) \n\t" \ -+ "lw %[temp1], " #C1 "(%[tmp]) \n\t" \ -+ "lw %[temp2], " #B1 "(%[tmp]) \n\t" \ -+ "lw %[temp3], " #D1 "(%[tmp]) \n\t" \ - "addu %[temp8], %[temp0], %[temp1] \n\t" \ - "subu %[temp0], %[temp0], %[temp1] \n\t" \ - "addu %[temp1], %[temp2], %[temp3] \n\t" \ -@@ -324,18 +324,18 @@ static int Quantize2Blocks(int16_t in[32], int16_t out[32], - "subu %[temp1], %[temp1], %[temp5] \n\t" \ - "subu %[temp0], %[temp0], %[temp6] \n\t" \ - "subu %[temp8], %[temp8], %[temp7] \n\t" \ -- "lhu %[temp4], "#E"(%[w]) \n\t" \ -- "lhu %[temp5], "#F"(%[w]) \n\t" \ -- "lhu %[temp6], "#G"(%[w]) \n\t" \ -- "lhu %[temp7], "#H"(%[w]) \n\t" \ -+ "lhu %[temp4], " #E "(%[w]) \n\t" \ -+ "lhu %[temp5], " #F "(%[w]) \n\t" \ -+ "lhu %[temp6], " #G "(%[w]) \n\t" \ -+ "lhu %[temp7], " #H "(%[w]) \n\t" \ - "madd %[temp4], %[temp3] \n\t" \ - "madd %[temp5], %[temp1] \n\t" \ - "madd %[temp6], %[temp0] \n\t" \ - "madd %[temp7], %[temp8] \n\t" \ -- "lw %[temp0], "#A"(%[tmp]) \n\t" \ -- "lw %[temp1], "#C"(%[tmp]) \n\t" \ -- "lw %[temp2], "#B"(%[tmp]) \n\t" \ -- "lw %[temp3], "#D"(%[tmp]) \n\t" \ -+ "lw %[temp0], " #A "(%[tmp]) \n\t" \ -+ "lw %[temp1], " #C "(%[tmp]) \n\t" \ -+ "lw %[temp2], " #B "(%[tmp]) \n\t" \ -+ "lw %[temp3], " #D "(%[tmp]) \n\t" \ - "addu %[temp8], %[temp0], %[temp1] \n\t" \ - "subu %[temp0], %[temp0], %[temp1] \n\t" \ - "addu %[temp1], %[temp2], %[temp3] \n\t" \ -@@ -413,70 +413,70 @@ static int Disto16x16(const uint8_t* const a, const uint8_t* const b, - // A - offset in bytes to load from src and ref buffers - // TEMP0..TEMP3 - registers for corresponding tmp elements - #define HORIZONTAL_PASS(A, TEMP0, TEMP1, TEMP2, TEMP3) \ -- "lw %["#TEMP1"], 0(%[args]) \n\t" \ -- "lw %["#TEMP2"], 4(%[args]) \n\t" \ -- "lbu %[temp16], 0+"XSTR(BPS)"*"#A"(%["#TEMP1"]) \n\t" \ -- "lbu %[temp17], 0+"XSTR(BPS)"*"#A"(%["#TEMP2"]) \n\t" \ -- "lbu %[temp18], 1+"XSTR(BPS)"*"#A"(%["#TEMP1"]) \n\t" \ -- "lbu %[temp19], 1+"XSTR(BPS)"*"#A"(%["#TEMP2"]) \n\t" \ -+ "lw %[" #TEMP1 "], 0(%[args]) \n\t" \ -+ "lw %[" #TEMP2 "], 4(%[args]) \n\t" \ -+ "lbu %[temp16], 0+"XSTR(BPS)"*" #A "(%[" #TEMP1 "]) \n\t" \ -+ "lbu %[temp17], 0+"XSTR(BPS)"*" #A "(%[" #TEMP2 "]) \n\t" \ -+ "lbu %[temp18], 1+"XSTR(BPS)"*" #A "(%[" #TEMP1 "]) \n\t" \ -+ "lbu %[temp19], 1+"XSTR(BPS)"*" #A "(%[" #TEMP2 "]) \n\t" \ - "subu %[temp20], %[temp16], %[temp17] \n\t" \ -- "lbu %[temp16], 2+"XSTR(BPS)"*"#A"(%["#TEMP1"]) \n\t" \ -- "lbu %[temp17], 2+"XSTR(BPS)"*"#A"(%["#TEMP2"]) \n\t" \ -- "subu %["#TEMP0"], %[temp18], %[temp19] \n\t" \ -- "lbu %[temp18], 3+"XSTR(BPS)"*"#A"(%["#TEMP1"]) \n\t" \ -- "lbu %[temp19], 3+"XSTR(BPS)"*"#A"(%["#TEMP2"]) \n\t" \ -- "subu %["#TEMP1"], %[temp16], %[temp17] \n\t" \ -- "subu %["#TEMP2"], %[temp18], %[temp19] \n\t" \ -- "addu %["#TEMP3"], %[temp20], %["#TEMP2"] \n\t" \ -- "subu %["#TEMP2"], %[temp20], %["#TEMP2"] \n\t" \ -- "addu %[temp20], %["#TEMP0"], %["#TEMP1"] \n\t" \ -- "subu %["#TEMP0"], %["#TEMP0"], %["#TEMP1"] \n\t" \ -- "mul %[temp16], %["#TEMP2"], %[c5352] \n\t" \ -- "mul %[temp17], %["#TEMP2"], %[c2217] \n\t" \ -- "mul %[temp18], %["#TEMP0"], %[c5352] \n\t" \ -- "mul %[temp19], %["#TEMP0"], %[c2217] \n\t" \ -- "addu %["#TEMP1"], %["#TEMP3"], %[temp20] \n\t" \ -- "subu %[temp20], %["#TEMP3"], %[temp20] \n\t" \ -- "sll %["#TEMP0"], %["#TEMP1"], 3 \n\t" \ -- "sll %["#TEMP2"], %[temp20], 3 \n\t" \ -+ "lbu %[temp16], 2+"XSTR(BPS)"*" #A "(%[" #TEMP1 "]) \n\t" \ -+ "lbu %[temp17], 2+"XSTR(BPS)"*" #A "(%[" #TEMP2 "]) \n\t" \ -+ "subu %[" #TEMP0 "], %[temp18], %[temp19] \n\t" \ -+ "lbu %[temp18], 3+"XSTR(BPS)"*" #A "(%[" #TEMP1 "]) \n\t" \ -+ "lbu %[temp19], 3+"XSTR(BPS)"*" #A "(%[" #TEMP2 "]) \n\t" \ -+ "subu %[" #TEMP1 "], %[temp16], %[temp17] \n\t" \ -+ "subu %[" #TEMP2 "], %[temp18], %[temp19] \n\t" \ -+ "addu %[" #TEMP3 "], %[temp20], %[" #TEMP2 "] \n\t" \ -+ "subu %[" #TEMP2 "], %[temp20], %[" #TEMP2 "] \n\t" \ -+ "addu %[temp20], %[" #TEMP0 "], %[" #TEMP1 "] \n\t" \ -+ "subu %[" #TEMP0 "], %[" #TEMP0 "], %[" #TEMP1 "] \n\t" \ -+ "mul %[temp16], %[" #TEMP2 "], %[c5352] \n\t" \ -+ "mul %[temp17], %[" #TEMP2 "], %[c2217] \n\t" \ -+ "mul %[temp18], %[" #TEMP0 "], %[c5352] \n\t" \ -+ "mul %[temp19], %[" #TEMP0 "], %[c2217] \n\t" \ -+ "addu %[" #TEMP1 "], %[" #TEMP3 "], %[temp20] \n\t" \ -+ "subu %[temp20], %[" #TEMP3 "], %[temp20] \n\t" \ -+ "sll %[" #TEMP0 "], %[" #TEMP1 "], 3 \n\t" \ -+ "sll %[" #TEMP2 "], %[temp20], 3 \n\t" \ - "addiu %[temp16], %[temp16], 1812 \n\t" \ - "addiu %[temp17], %[temp17], 937 \n\t" \ - "addu %[temp16], %[temp16], %[temp19] \n\t" \ - "subu %[temp17], %[temp17], %[temp18] \n\t" \ -- "sra %["#TEMP1"], %[temp16], 9 \n\t" \ -- "sra %["#TEMP3"], %[temp17], 9 \n\t" -+ "sra %[" #TEMP1 "], %[temp16], 9 \n\t" \ -+ "sra %[" #TEMP3 "], %[temp17], 9 \n\t" - - // macro for one vertical pass in FTransform - // temp0..temp15 holds tmp[0]..tmp[15] - // A..D - offsets in bytes to store to out buffer - // TEMP0, TEMP4, TEMP8 and TEMP12 - registers for corresponding tmp elements - #define VERTICAL_PASS(A, B, C, D, TEMP0, TEMP4, TEMP8, TEMP12) \ -- "addu %[temp16], %["#TEMP0"], %["#TEMP12"] \n\t" \ -- "subu %[temp19], %["#TEMP0"], %["#TEMP12"] \n\t" \ -- "addu %[temp17], %["#TEMP4"], %["#TEMP8"] \n\t" \ -- "subu %[temp18], %["#TEMP4"], %["#TEMP8"] \n\t" \ -- "mul %["#TEMP8"], %[temp19], %[c2217] \n\t" \ -- "mul %["#TEMP12"], %[temp18], %[c2217] \n\t" \ -- "mul %["#TEMP4"], %[temp19], %[c5352] \n\t" \ -+ "addu %[temp16], %[" #TEMP0 "], %[" #TEMP12 "] \n\t" \ -+ "subu %[temp19], %[" #TEMP0 "], %[" #TEMP12 "] \n\t" \ -+ "addu %[temp17], %[" #TEMP4 "], %[" #TEMP8 "] \n\t" \ -+ "subu %[temp18], %[" #TEMP4 "], %[" #TEMP8 "] \n\t" \ -+ "mul %[" #TEMP8 "], %[temp19], %[c2217] \n\t" \ -+ "mul %[" #TEMP12 "], %[temp18], %[c2217] \n\t" \ -+ "mul %[" #TEMP4 "], %[temp19], %[c5352] \n\t" \ - "mul %[temp18], %[temp18], %[c5352] \n\t" \ - "addiu %[temp16], %[temp16], 7 \n\t" \ -- "addu %["#TEMP0"], %[temp16], %[temp17] \n\t" \ -- "sra %["#TEMP0"], %["#TEMP0"], 4 \n\t" \ -- "addu %["#TEMP12"], %["#TEMP12"], %["#TEMP4"] \n\t" \ -- "subu %["#TEMP4"], %[temp16], %[temp17] \n\t" \ -- "sra %["#TEMP4"], %["#TEMP4"], 4 \n\t" \ -- "addiu %["#TEMP8"], %["#TEMP8"], 30000 \n\t" \ -- "addiu %["#TEMP12"], %["#TEMP12"], 12000 \n\t" \ -- "addiu %["#TEMP8"], %["#TEMP8"], 21000 \n\t" \ -- "subu %["#TEMP8"], %["#TEMP8"], %[temp18] \n\t" \ -- "sra %["#TEMP12"], %["#TEMP12"], 16 \n\t" \ -- "sra %["#TEMP8"], %["#TEMP8"], 16 \n\t" \ -- "addiu %[temp16], %["#TEMP12"], 1 \n\t" \ -- "movn %["#TEMP12"], %[temp16], %[temp19] \n\t" \ -- "sh %["#TEMP0"], "#A"(%[temp20]) \n\t" \ -- "sh %["#TEMP4"], "#C"(%[temp20]) \n\t" \ -- "sh %["#TEMP8"], "#D"(%[temp20]) \n\t" \ -- "sh %["#TEMP12"], "#B"(%[temp20]) \n\t" -+ "addu %[" #TEMP0 "], %[temp16], %[temp17] \n\t" \ -+ "sra %[" #TEMP0 "], %[" #TEMP0 "], 4 \n\t" \ -+ "addu %[" #TEMP12 "], %[" #TEMP12 "], %[" #TEMP4 "] \n\t" \ -+ "subu %[" #TEMP4 "], %[temp16], %[temp17] \n\t" \ -+ "sra %[" #TEMP4 "], %[" #TEMP4 "], 4 \n\t" \ -+ "addiu %[" #TEMP8 "], %[" #TEMP8 "], 30000 \n\t" \ -+ "addiu %[" #TEMP12 "], %[" #TEMP12 "], 12000 \n\t" \ -+ "addiu %[" #TEMP8 "], %[" #TEMP8 "], 21000 \n\t" \ -+ "subu %[" #TEMP8 "], %[" #TEMP8 "], %[temp18] \n\t" \ -+ "sra %[" #TEMP12 "], %[" #TEMP12 "], 16 \n\t" \ -+ "sra %[" #TEMP8 "], %[" #TEMP8 "], 16 \n\t" \ -+ "addiu %[temp16], %[" #TEMP12 "], 1 \n\t" \ -+ "movn %[" #TEMP12 "], %[temp16], %[temp19] \n\t" \ -+ "sh %[" #TEMP0 "], " #A "(%[temp20]) \n\t" \ -+ "sh %[" #TEMP4 "], " #C "(%[temp20]) \n\t" \ -+ "sh %[" #TEMP8 "], " #D "(%[temp20]) \n\t" \ -+ "sh %[" #TEMP12 "], " #B "(%[temp20]) \n\t" - - static void FTransform(const uint8_t* src, const uint8_t* ref, int16_t* out) { - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8; -@@ -516,14 +516,14 @@ static void FTransform(const uint8_t* src, const uint8_t* ref, int16_t* out) { - #if !defined(WORK_AROUND_GCC) - - #define GET_SSE_INNER(A, B, C, D) \ -- "lbu %[temp0], "#A"(%[a]) \n\t" \ -- "lbu %[temp1], "#A"(%[b]) \n\t" \ -- "lbu %[temp2], "#B"(%[a]) \n\t" \ -- "lbu %[temp3], "#B"(%[b]) \n\t" \ -- "lbu %[temp4], "#C"(%[a]) \n\t" \ -- "lbu %[temp5], "#C"(%[b]) \n\t" \ -- "lbu %[temp6], "#D"(%[a]) \n\t" \ -- "lbu %[temp7], "#D"(%[b]) \n\t" \ -+ "lbu %[temp0], " #A "(%[a]) \n\t" \ -+ "lbu %[temp1], " #A "(%[b]) \n\t" \ -+ "lbu %[temp2], " #B "(%[a]) \n\t" \ -+ "lbu %[temp3], " #B "(%[b]) \n\t" \ -+ "lbu %[temp4], " #C "(%[a]) \n\t" \ -+ "lbu %[temp5], " #C "(%[b]) \n\t" \ -+ "lbu %[temp6], " #D "(%[a]) \n\t" \ -+ "lbu %[temp7], " #D "(%[b]) \n\t" \ - "subu %[temp0], %[temp0], %[temp1] \n\t" \ - "subu %[temp2], %[temp2], %[temp3] \n\t" \ - "subu %[temp4], %[temp4], %[temp5] \n\t" \ -diff --git a/Source/LibWebP/src/dsp/dsp.enc_mips_dsp_r2.c b/Source/LibWebP/src/dsp/dsp.enc_mips_dsp_r2.c -index ec58efe..1a3f968 100644 ---- a/Source/LibWebP/src/dsp/dsp.enc_mips_dsp_r2.c -+++ b/Source/LibWebP/src/dsp/dsp.enc_mips_dsp_r2.c -@@ -27,25 +27,25 @@ static const int kC2 = 35468; - // I - input (macro doesn't change it) - #define ADD_SUB_HALVES_X4(O0, O1, O2, O3, O4, O5, O6, O7, \ - I0, I1, I2, I3, I4, I5, I6, I7) \ -- "addq.ph %["#O0"], %["#I0"], %["#I1"] \n\t" \ -- "subq.ph %["#O1"], %["#I0"], %["#I1"] \n\t" \ -- "addq.ph %["#O2"], %["#I2"], %["#I3"] \n\t" \ -- "subq.ph %["#O3"], %["#I2"], %["#I3"] \n\t" \ -- "addq.ph %["#O4"], %["#I4"], %["#I5"] \n\t" \ -- "subq.ph %["#O5"], %["#I4"], %["#I5"] \n\t" \ -- "addq.ph %["#O6"], %["#I6"], %["#I7"] \n\t" \ -- "subq.ph %["#O7"], %["#I6"], %["#I7"] \n\t" -+ "addq.ph %[" #O0 "], %[" #I0 "], %[" #I1 "] \n\t" \ -+ "subq.ph %[" #O1 "], %[" #I0 "], %[" #I1 "] \n\t" \ -+ "addq.ph %[" #O2 "], %[" #I2 "], %[" #I3 "] \n\t" \ -+ "subq.ph %[" #O3 "], %[" #I2 "], %[" #I3 "] \n\t" \ -+ "addq.ph %[" #O4 "], %[" #I4 "], %[" #I5 "] \n\t" \ -+ "subq.ph %[" #O5 "], %[" #I4 "], %[" #I5 "] \n\t" \ -+ "addq.ph %[" #O6 "], %[" #I6 "], %[" #I7 "] \n\t" \ -+ "subq.ph %[" #O7 "], %[" #I6 "], %[" #I7 "] \n\t" - - // IO - input/output - #define ABS_X8(IO0, IO1, IO2, IO3, IO4, IO5, IO6, IO7) \ -- "absq_s.ph %["#IO0"], %["#IO0"] \n\t" \ -- "absq_s.ph %["#IO1"], %["#IO1"] \n\t" \ -- "absq_s.ph %["#IO2"], %["#IO2"] \n\t" \ -- "absq_s.ph %["#IO3"], %["#IO3"] \n\t" \ -- "absq_s.ph %["#IO4"], %["#IO4"] \n\t" \ -- "absq_s.ph %["#IO5"], %["#IO5"] \n\t" \ -- "absq_s.ph %["#IO6"], %["#IO6"] \n\t" \ -- "absq_s.ph %["#IO7"], %["#IO7"] \n\t" -+ "absq_s.ph %[" #IO0 "], %[" #IO0 "] \n\t" \ -+ "absq_s.ph %[" #IO1 "], %[" #IO1 "] \n\t" \ -+ "absq_s.ph %[" #IO2 "], %[" #IO2 "] \n\t" \ -+ "absq_s.ph %[" #IO3 "], %[" #IO3 "] \n\t" \ -+ "absq_s.ph %[" #IO4 "], %[" #IO4 "] \n\t" \ -+ "absq_s.ph %[" #IO5 "], %[" #IO5 "] \n\t" \ -+ "absq_s.ph %[" #IO6 "], %[" #IO6 "] \n\t" \ -+ "absq_s.ph %[" #IO7 "], %[" #IO7 "] \n\t" - - // dpa.w.ph $ac0 temp0 ,temp1 - // $ac += temp0[31..16] * temp1[31..16] + temp0[15..0] * temp1[15..0] -@@ -56,15 +56,15 @@ static const int kC2 = 35468; - #define MUL_HALF(O0, I0, I1, I2, I3, I4, I5, I6, I7, \ - I8, I9, I10, I11, I12, I13, I14, I15) \ - "mult $ac0, $zero, $zero \n\t" \ -- "dpa.w.ph $ac0, %["#I2"], %["#I0"] \n\t" \ -- "dpax.w.ph $ac0, %["#I5"], %["#I6"] \n\t" \ -- "dpa.w.ph $ac0, %["#I8"], %["#I9"] \n\t" \ -- "dpax.w.ph $ac0, %["#I11"], %["#I4"] \n\t" \ -- "dpa.w.ph $ac0, %["#I12"], %["#I7"] \n\t" \ -- "dpax.w.ph $ac0, %["#I13"], %["#I1"] \n\t" \ -- "dpa.w.ph $ac0, %["#I14"], %["#I3"] \n\t" \ -- "dpax.w.ph $ac0, %["#I15"], %["#I10"] \n\t" \ -- "mflo %["#O0"], $ac0 \n\t" -+ "dpa.w.ph $ac0, %[" #I2 "], %[" #I0 "] \n\t" \ -+ "dpax.w.ph $ac0, %[" #I5 "], %[" #I6 "] \n\t" \ -+ "dpa.w.ph $ac0, %[" #I8 "], %[" #I9 "] \n\t" \ -+ "dpax.w.ph $ac0, %[" #I11 "], %[" #I4 "] \n\t" \ -+ "dpa.w.ph $ac0, %[" #I12 "], %[" #I7 "] \n\t" \ -+ "dpax.w.ph $ac0, %[" #I13 "], %[" #I1 "] \n\t" \ -+ "dpa.w.ph $ac0, %[" #I14 "], %[" #I3 "] \n\t" \ -+ "dpax.w.ph $ac0, %[" #I15 "], %[" #I10 "] \n\t" \ -+ "mflo %[" #O0 "], $ac0 \n\t" - - #define OUTPUT_EARLY_CLOBBER_REGS_17() \ - OUTPUT_EARLY_CLOBBER_REGS_10(), \ -@@ -77,69 +77,69 @@ static const int kC2 = 35468; - // A - offset in bytes to load from src and ref buffers - // TEMP0..TEMP3 - registers for corresponding tmp elements - #define HORIZONTAL_PASS(A, TEMP0, TEMP1, TEMP2, TEMP3) \ -- "lw %["#TEMP0"], 0(%[args]) \n\t" \ -- "lw %["#TEMP1"], 4(%[args]) \n\t" \ -- "lw %["#TEMP2"], "XSTR(BPS)"*"#A"(%["#TEMP0"]) \n\t" \ -- "lw %["#TEMP3"], "XSTR(BPS)"*"#A"(%["#TEMP1"]) \n\t" \ -- "preceu.ph.qbl %["#TEMP0"], %["#TEMP2"] \n\t" \ -- "preceu.ph.qbl %["#TEMP1"], %["#TEMP3"] \n\t" \ -- "preceu.ph.qbr %["#TEMP2"], %["#TEMP2"] \n\t" \ -- "preceu.ph.qbr %["#TEMP3"], %["#TEMP3"] \n\t" \ -- "subq.ph %["#TEMP0"], %["#TEMP0"], %["#TEMP1"] \n\t" \ -- "subq.ph %["#TEMP2"], %["#TEMP2"], %["#TEMP3"] \n\t" \ -- "rotr %["#TEMP0"], %["#TEMP0"], 16 \n\t" \ -- "addq.ph %["#TEMP1"], %["#TEMP2"], %["#TEMP0"] \n\t" \ -- "subq.ph %["#TEMP3"], %["#TEMP2"], %["#TEMP0"] \n\t" \ -- "seh %["#TEMP0"], %["#TEMP1"] \n\t" \ -- "sra %[temp16], %["#TEMP1"], 16 \n\t" \ -- "seh %[temp19], %["#TEMP3"] \n\t" \ -- "sra %["#TEMP3"], %["#TEMP3"], 16 \n\t" \ -- "subu %["#TEMP2"], %["#TEMP0"], %[temp16] \n\t" \ -- "addu %["#TEMP0"], %["#TEMP0"], %[temp16] \n\t" \ -+ "lw %[" #TEMP0 "], 0(%[args]) \n\t" \ -+ "lw %[" #TEMP1 "], 4(%[args]) \n\t" \ -+ "lw %[" #TEMP2 "], "XSTR(BPS)"*" #A "(%[" #TEMP0 "]) \n\t" \ -+ "lw %[" #TEMP3 "], "XSTR(BPS)"*" #A "(%[" #TEMP1 "]) \n\t" \ -+ "preceu.ph.qbl %[" #TEMP0 "], %[" #TEMP2 "] \n\t" \ -+ "preceu.ph.qbl %[" #TEMP1 "], %[" #TEMP3 "] \n\t" \ -+ "preceu.ph.qbr %[" #TEMP2 "], %[" #TEMP2 "] \n\t" \ -+ "preceu.ph.qbr %[" #TEMP3 "], %[" #TEMP3 "] \n\t" \ -+ "subq.ph %[" #TEMP0 "], %[" #TEMP0 "], %[" #TEMP1 "] \n\t" \ -+ "subq.ph %[" #TEMP2 "], %[" #TEMP2 "], %[" #TEMP3 "] \n\t" \ -+ "rotr %[" #TEMP0 "], %[" #TEMP0 "], 16 \n\t" \ -+ "addq.ph %[" #TEMP1 "], %[" #TEMP2 "], %[" #TEMP0 "] \n\t" \ -+ "subq.ph %[" #TEMP3 "], %[" #TEMP2 "], %[" #TEMP0 "] \n\t" \ -+ "seh %[" #TEMP0 "], %[" #TEMP1 "] \n\t" \ -+ "sra %[temp16], %[" #TEMP1 "], 16 \n\t" \ -+ "seh %[temp19], %[" #TEMP3 "] \n\t" \ -+ "sra %[" #TEMP3 "], %[" #TEMP3 "], 16 \n\t" \ -+ "subu %[" #TEMP2 "], %[" #TEMP0 "], %[temp16] \n\t" \ -+ "addu %[" #TEMP0 "], %[" #TEMP0 "], %[temp16] \n\t" \ - "mul %[temp17], %[temp19], %[c2217] \n\t" \ -- "mul %[temp18], %["#TEMP3"], %[c5352] \n\t" \ -- "mul %["#TEMP1"], %[temp19], %[c5352] \n\t" \ -- "mul %[temp16], %["#TEMP3"], %[c2217] \n\t" \ -- "sll %["#TEMP2"], %["#TEMP2"], 3 \n\t" \ -- "sll %["#TEMP0"], %["#TEMP0"], 3 \n\t" \ -- "subu %["#TEMP3"], %[temp17], %[temp18] \n\t" \ -- "addu %["#TEMP1"], %[temp16], %["#TEMP1"] \n\t" \ -- "addiu %["#TEMP3"], %["#TEMP3"], 937 \n\t" \ -- "addiu %["#TEMP1"], %["#TEMP1"], 1812 \n\t" \ -- "sra %["#TEMP3"], %["#TEMP3"], 9 \n\t" \ -- "sra %["#TEMP1"], %["#TEMP1"], 9 \n\t" -+ "mul %[temp18], %[" #TEMP3 "], %[c5352] \n\t" \ -+ "mul %[" #TEMP1 "], %[temp19], %[c5352] \n\t" \ -+ "mul %[temp16], %[" #TEMP3 "], %[c2217] \n\t" \ -+ "sll %[" #TEMP2 "], %[" #TEMP2 "], 3 \n\t" \ -+ "sll %[" #TEMP0 "], %[" #TEMP0 "], 3 \n\t" \ -+ "subu %[" #TEMP3 "], %[temp17], %[temp18] \n\t" \ -+ "addu %[" #TEMP1 "], %[temp16], %[" #TEMP1 "] \n\t" \ -+ "addiu %[" #TEMP3 "], %[" #TEMP3 "], 937 \n\t" \ -+ "addiu %[" #TEMP1 "], %[" #TEMP1 "], 1812 \n\t" \ -+ "sra %[" #TEMP3 "], %[" #TEMP3 "], 9 \n\t" \ -+ "sra %[" #TEMP1 "], %[" #TEMP1 "], 9 \n\t" - - // macro for one vertical pass in FTransform - // temp0..temp15 holds tmp[0]..tmp[15] - // A..D - offsets in bytes to store to out buffer - // TEMP0, TEMP4, TEMP8 and TEMP12 - registers for corresponding tmp elements - #define VERTICAL_PASS(A, B, C, D, TEMP0, TEMP4, TEMP8, TEMP12) \ -- "addu %[temp16], %["#TEMP0"], %["#TEMP12"] \n\t" \ -- "subu %[temp19], %["#TEMP0"], %["#TEMP12"] \n\t" \ -- "addu %[temp17], %["#TEMP4"], %["#TEMP8"] \n\t" \ -- "subu %[temp18], %["#TEMP4"], %["#TEMP8"] \n\t" \ -- "mul %["#TEMP8"], %[temp19], %[c2217] \n\t" \ -- "mul %["#TEMP12"], %[temp18], %[c2217] \n\t" \ -- "mul %["#TEMP4"], %[temp19], %[c5352] \n\t" \ -+ "addu %[temp16], %[" #TEMP0 "], %[" #TEMP12 "] \n\t" \ -+ "subu %[temp19], %[" #TEMP0 "], %[" #TEMP12 "] \n\t" \ -+ "addu %[temp17], %[" #TEMP4 "], %[" #TEMP8 "] \n\t" \ -+ "subu %[temp18], %[" #TEMP4 "], %[" #TEMP8 "] \n\t" \ -+ "mul %[" #TEMP8 "], %[temp19], %[c2217] \n\t" \ -+ "mul %[" #TEMP12 "], %[temp18], %[c2217] \n\t" \ -+ "mul %[" #TEMP4 "], %[temp19], %[c5352] \n\t" \ - "mul %[temp18], %[temp18], %[c5352] \n\t" \ - "addiu %[temp16], %[temp16], 7 \n\t" \ -- "addu %["#TEMP0"], %[temp16], %[temp17] \n\t" \ -- "sra %["#TEMP0"], %["#TEMP0"], 4 \n\t" \ -- "addu %["#TEMP12"], %["#TEMP12"], %["#TEMP4"] \n\t" \ -- "subu %["#TEMP4"], %[temp16], %[temp17] \n\t" \ -- "sra %["#TEMP4"], %["#TEMP4"], 4 \n\t" \ -- "addiu %["#TEMP8"], %["#TEMP8"], 30000 \n\t" \ -- "addiu %["#TEMP12"], %["#TEMP12"], 12000 \n\t" \ -- "addiu %["#TEMP8"], %["#TEMP8"], 21000 \n\t" \ -- "subu %["#TEMP8"], %["#TEMP8"], %[temp18] \n\t" \ -- "sra %["#TEMP12"], %["#TEMP12"], 16 \n\t" \ -- "sra %["#TEMP8"], %["#TEMP8"], 16 \n\t" \ -- "addiu %[temp16], %["#TEMP12"], 1 \n\t" \ -- "movn %["#TEMP12"], %[temp16], %[temp19] \n\t" \ -- "sh %["#TEMP0"], "#A"(%[temp20]) \n\t" \ -- "sh %["#TEMP4"], "#C"(%[temp20]) \n\t" \ -- "sh %["#TEMP8"], "#D"(%[temp20]) \n\t" \ -- "sh %["#TEMP12"], "#B"(%[temp20]) \n\t" -+ "addu %[" #TEMP0 "], %[temp16], %[temp17] \n\t" \ -+ "sra %[" #TEMP0 "], %[" #TEMP0 "], 4 \n\t" \ -+ "addu %[" #TEMP12 "], %[" #TEMP12 "], %[" #TEMP4 "] \n\t" \ -+ "subu %[" #TEMP4 "], %[temp16], %[temp17] \n\t" \ -+ "sra %[" #TEMP4 "], %[" #TEMP4 "], 4 \n\t" \ -+ "addiu %[" #TEMP8 "], %[" #TEMP8 "], 30000 \n\t" \ -+ "addiu %[" #TEMP12 "], %[" #TEMP12 "], 12000 \n\t" \ -+ "addiu %[" #TEMP8 "], %[" #TEMP8 "], 21000 \n\t" \ -+ "subu %[" #TEMP8 "], %[" #TEMP8 "], %[temp18] \n\t" \ -+ "sra %[" #TEMP12 "], %[" #TEMP12 "], 16 \n\t" \ -+ "sra %[" #TEMP8 "], %[" #TEMP8 "], 16 \n\t" \ -+ "addiu %[temp16], %[" #TEMP12 "], 1 \n\t" \ -+ "movn %[" #TEMP12 "], %[temp16], %[temp19] \n\t" \ -+ "sh %[" #TEMP0 "], " #A "(%[temp20]) \n\t" \ -+ "sh %[" #TEMP4 "], " #C "(%[temp20]) \n\t" \ -+ "sh %[" #TEMP8 "], " #D "(%[temp20]) \n\t" \ -+ "sh %[" #TEMP12 "], " #B "(%[temp20]) \n\t" - - static void FTransform(const uint8_t* src, const uint8_t* ref, int16_t* out) { - const int c2217 = 2217; -@@ -329,11 +329,11 @@ static int Disto16x16(const uint8_t* const a, const uint8_t* const b, - // Intra predictions - - #define FILL_PART(J, SIZE) \ -- "usw %[value], 0+"#J"*"XSTR(BPS)"(%[dst]) \n\t" \ -- "usw %[value], 4+"#J"*"XSTR(BPS)"(%[dst]) \n\t" \ -- ".if "#SIZE" == 16 \n\t" \ -- "usw %[value], 8+"#J"*"XSTR(BPS)"(%[dst]) \n\t" \ -- "usw %[value], 12+"#J"*"XSTR(BPS)"(%[dst]) \n\t" \ -+ "usw %[value], 0+" #J "*"XSTR(BPS)"(%[dst]) \n\t" \ -+ "usw %[value], 4+" #J "*"XSTR(BPS)"(%[dst]) \n\t" \ -+ ".if " #SIZE " == 16 \n\t" \ -+ "usw %[value], 8+" #J "*"XSTR(BPS)"(%[dst]) \n\t" \ -+ "usw %[value], 12+" #J "*"XSTR(BPS)"(%[dst]) \n\t" \ - ".endif \n\t" - - #define FILL_8_OR_16(DST, VALUE, SIZE) do { \ -@@ -348,7 +348,7 @@ static int Disto16x16(const uint8_t* const a, const uint8_t* const b, - FILL_PART( 5, SIZE) \ - FILL_PART( 6, SIZE) \ - FILL_PART( 7, SIZE) \ -- ".if "#SIZE" == 16 \n\t" \ -+ ".if " #SIZE " == 16 \n\t" \ - FILL_PART( 8, 16) \ - FILL_PART( 9, 16) \ - FILL_PART(10, 16) \ -@@ -425,7 +425,7 @@ HORIZONTAL_PRED(dst, left, 16) - CLIPPING() \ - "usw %[temp0], 0(%[dst]) \n\t" \ - "usw %[temp1], 4(%[dst]) \n\t" \ -- ".if "#SIZE" == 16 \n\t" \ -+ ".if " #SIZE " == 16 \n\t" \ - "ulw %[temp0], 8(%[top]) \n\t" \ - "ulw %[temp1], 12(%[top]) \n\t" \ - CLIPPING() \ -@@ -1060,8 +1060,8 @@ static void Intra4Preds(uint8_t* dst, const uint8_t* top) { - #if !defined(WORK_AROUND_GCC) - - #define GET_SSE_INNER(A) \ -- "lw %[temp0], "#A"(%[a]) \n\t" \ -- "lw %[temp1], "#A"(%[b]) \n\t" \ -+ "lw %[temp0], " #A "(%[a]) \n\t" \ -+ "lw %[temp1], " #A "(%[b]) \n\t" \ - "preceu.ph.qbr %[temp2], %[temp0] \n\t" \ - "preceu.ph.qbl %[temp0], %[temp0] \n\t" \ - "preceu.ph.qbr %[temp3], %[temp1] \n\t" \ -@@ -1185,28 +1185,28 @@ static int SSE4x4(const uint8_t* a, const uint8_t* b) { - // N - offset in bytes (n * 2) - // N1 - offset in bytes ((n + 1) * 2) - #define QUANTIZE_ONE(J, K, N, N1) \ -- "ulw %[temp1], "#J"(%[ppin]) \n\t" \ -- "ulw %[temp2], "#J"(%[ppsharpen]) \n\t" \ -- "lhu %[temp3], "#K"(%[ppzthresh]) \n\t" \ -- "lhu %[temp6], "#K"+4(%[ppzthresh]) \n\t" \ -+ "ulw %[temp1], " #J "(%[ppin]) \n\t" \ -+ "ulw %[temp2], " #J "(%[ppsharpen]) \n\t" \ -+ "lhu %[temp3], " #K "(%[ppzthresh]) \n\t" \ -+ "lhu %[temp6], " #K "+4(%[ppzthresh]) \n\t" \ - "absq_s.ph %[temp4], %[temp1] \n\t" \ - "ins %[temp3], %[temp6], 16, 16 \n\t" \ - "addu.ph %[coeff], %[temp4], %[temp2] \n\t" \ - "shra.ph %[sign], %[temp1], 15 \n\t" \ - "li %[level], 0x10001 \n\t" \ - "cmp.lt.ph %[temp3], %[coeff] \n\t" \ -- "lhu %[temp1], "#J"(%[ppiq]) \n\t" \ -+ "lhu %[temp1], " #J "(%[ppiq]) \n\t" \ - "pick.ph %[temp5], %[level], $0 \n\t" \ -- "lw %[temp2], "#K"(%[ppbias]) \n\t" \ -+ "lw %[temp2], " #K "(%[ppbias]) \n\t" \ - "beqz %[temp5], 0f \n\t" \ -- "lhu %[temp3], "#J"(%[ppq]) \n\t" \ -+ "lhu %[temp3], " #J "(%[ppq]) \n\t" \ - "beq %[temp5], %[level], 1f \n\t" \ - "andi %[temp5], %[temp5], 0x1 \n\t" \ - "andi %[temp4], %[coeff], 0xffff \n\t" \ - "beqz %[temp5], 2f \n\t" \ - "mul %[level], %[temp4], %[temp1] \n\t" \ -- "sh $0, "#J"+2(%[ppin]) \n\t" \ -- "sh $0, "#N1"(%[pout]) \n\t" \ -+ "sh $0, " #J "+2(%[ppin]) \n\t" \ -+ "sh $0, " #N1 "(%[pout]) \n\t" \ - "addu %[level], %[level], %[temp2] \n\t" \ - "sra %[level], %[level], 17 \n\t" \ - "slt %[temp4], %[max_level], %[level] \n\t" \ -@@ -1216,15 +1216,15 @@ static int SSE4x4(const uint8_t* a, const uint8_t* b) { - "subu %[level], %[level], %[temp6] \n\t" \ - "mul %[temp5], %[level], %[temp3] \n\t" \ - "or %[ret], %[ret], %[level] \n\t" \ -- "sh %[level], "#N"(%[pout]) \n\t" \ -- "sh %[temp5], "#J"(%[ppin]) \n\t" \ -+ "sh %[level], " #N "(%[pout]) \n\t" \ -+ "sh %[temp5], " #J "(%[ppin]) \n\t" \ - "j 3f \n\t" \ - "2: \n\t" \ -- "lhu %[temp1], "#J"+2(%[ppiq]) \n\t" \ -+ "lhu %[temp1], " #J "+2(%[ppiq]) \n\t" \ - "srl %[temp5], %[coeff], 16 \n\t" \ - "mul %[level], %[temp5], %[temp1] \n\t" \ -- "lw %[temp2], "#K"+4(%[ppbias]) \n\t" \ -- "lhu %[temp3], "#J"+2(%[ppq]) \n\t" \ -+ "lw %[temp2], " #K "+4(%[ppbias]) \n\t" \ -+ "lhu %[temp3], " #J "+2(%[ppq]) \n\t" \ - "addu %[level], %[level], %[temp2] \n\t" \ - "sra %[level], %[level], 17 \n\t" \ - "srl %[temp6], %[sign], 16 \n\t" \ -@@ -1233,20 +1233,20 @@ static int SSE4x4(const uint8_t* a, const uint8_t* b) { - "xor %[level], %[level], %[temp6] \n\t" \ - "subu %[level], %[level], %[temp6] \n\t" \ - "mul %[temp5], %[level], %[temp3] \n\t" \ -- "sh $0, "#J"(%[ppin]) \n\t" \ -- "sh $0, "#N"(%[pout]) \n\t" \ -+ "sh $0, " #J "(%[ppin]) \n\t" \ -+ "sh $0, " #N "(%[pout]) \n\t" \ - "or %[ret], %[ret], %[level] \n\t" \ -- "sh %[temp5], "#J"+2(%[ppin]) \n\t" \ -- "sh %[level], "#N1"(%[pout]) \n\t" \ -+ "sh %[temp5], " #J "+2(%[ppin]) \n\t" \ -+ "sh %[level], " #N1 "(%[pout]) \n\t" \ - "j 3f \n\t" \ - "1: \n\t" \ -- "lhu %[temp1], "#J"(%[ppiq]) \n\t" \ -- "lw %[temp2], "#K"(%[ppbias]) \n\t" \ -- "ulw %[temp3], "#J"(%[ppq]) \n\t" \ -+ "lhu %[temp1], " #J "(%[ppiq]) \n\t" \ -+ "lw %[temp2], " #K "(%[ppbias]) \n\t" \ -+ "ulw %[temp3], " #J "(%[ppq]) \n\t" \ - "andi %[temp5], %[coeff], 0xffff \n\t" \ - "srl %[temp0], %[coeff], 16 \n\t" \ -- "lhu %[temp6], "#J"+2(%[ppiq]) \n\t" \ -- "lw %[coeff], "#K"+4(%[ppbias]) \n\t" \ -+ "lhu %[temp6], " #J "+2(%[ppiq]) \n\t" \ -+ "lw %[coeff], " #K "+4(%[ppbias]) \n\t" \ - "mul %[level], %[temp5], %[temp1] \n\t" \ - "mul %[temp4], %[temp0], %[temp6] \n\t" \ - "addu %[level], %[level], %[temp2] \n\t" \ -@@ -1259,15 +1259,15 @@ static int SSE4x4(const uint8_t* a, const uint8_t* b) { - "subu.ph %[level], %[level], %[sign] \n\t" \ - "mul.ph %[temp3], %[level], %[temp3] \n\t" \ - "or %[ret], %[ret], %[level] \n\t" \ -- "sh %[level], "#N"(%[pout]) \n\t" \ -+ "sh %[level], " #N "(%[pout]) \n\t" \ - "srl %[level], %[level], 16 \n\t" \ -- "sh %[level], "#N1"(%[pout]) \n\t" \ -- "usw %[temp3], "#J"(%[ppin]) \n\t" \ -+ "sh %[level], " #N1 "(%[pout]) \n\t" \ -+ "usw %[temp3], " #J "(%[ppin]) \n\t" \ - "j 3f \n\t" \ - "0: \n\t" \ -- "sh $0, "#N"(%[pout]) \n\t" \ -- "sh $0, "#N1"(%[pout]) \n\t" \ -- "usw $0, "#J"(%[ppin]) \n\t" \ -+ "sh $0, " #N "(%[pout]) \n\t" \ -+ "sh $0, " #N1 "(%[pout]) \n\t" \ -+ "usw $0, " #J "(%[ppin]) \n\t" \ - "3: \n\t" - - static int QuantizeBlock(int16_t in[16], int16_t out[16], -@@ -1326,37 +1326,37 @@ static int Quantize2Blocks(int16_t in[32], int16_t out[32], - // A, B, C, D - offset in bytes to load from in buffer - // TEMP0, TEMP1 - registers for corresponding tmp elements - #define HORIZONTAL_PASS_WHT(A, B, C, D, TEMP0, TEMP1) \ -- "lh %["#TEMP0"], "#A"(%[in]) \n\t" \ -- "lh %["#TEMP1"], "#B"(%[in]) \n\t" \ -- "lh %[temp8], "#C"(%[in]) \n\t" \ -- "lh %[temp9], "#D"(%[in]) \n\t" \ -- "ins %["#TEMP1"], %["#TEMP0"], 16, 16 \n\t" \ -+ "lh %[" #TEMP0 "], " #A "(%[in]) \n\t" \ -+ "lh %[" #TEMP1 "], " #B "(%[in]) \n\t" \ -+ "lh %[temp8], " #C "(%[in]) \n\t" \ -+ "lh %[temp9], " #D "(%[in]) \n\t" \ -+ "ins %[" #TEMP1 "], %[" #TEMP0 "], 16, 16 \n\t" \ - "ins %[temp9], %[temp8], 16, 16 \n\t" \ -- "subq.ph %[temp8], %["#TEMP1"], %[temp9] \n\t" \ -- "addq.ph %[temp9], %["#TEMP1"], %[temp9] \n\t" \ -- "precrq.ph.w %["#TEMP0"], %[temp8], %[temp9] \n\t" \ -+ "subq.ph %[temp8], %[" #TEMP1 "], %[temp9] \n\t" \ -+ "addq.ph %[temp9], %[" #TEMP1 "], %[temp9] \n\t" \ -+ "precrq.ph.w %[" #TEMP0 "], %[temp8], %[temp9] \n\t" \ - "append %[temp8], %[temp9], 16 \n\t" \ -- "subq.ph %["#TEMP1"], %["#TEMP0"], %[temp8] \n\t" \ -- "addq.ph %["#TEMP0"], %["#TEMP0"], %[temp8] \n\t" \ -- "rotr %["#TEMP1"], %["#TEMP1"], 16 \n\t" -+ "subq.ph %[" #TEMP1 "], %[" #TEMP0 "], %[temp8] \n\t" \ -+ "addq.ph %[" #TEMP0 "], %[" #TEMP0 "], %[temp8] \n\t" \ -+ "rotr %[" #TEMP1 "], %[" #TEMP1 "], 16 \n\t" - - // macro for one vertical pass in FTransformWHT - // temp0..temp7 holds tmp[0]..tmp[15] - // A, B, C, D - offsets in bytes to store to out buffer - // TEMP0, TEMP2, TEMP4 and TEMP6 - registers for corresponding tmp elements - #define VERTICAL_PASS_WHT(A, B, C, D, TEMP0, TEMP2, TEMP4, TEMP6) \ -- "addq.ph %[temp8], %["#TEMP0"], %["#TEMP4"] \n\t" \ -- "addq.ph %[temp9], %["#TEMP2"], %["#TEMP6"] \n\t" \ -- "subq.ph %["#TEMP2"], %["#TEMP2"], %["#TEMP6"] \n\t" \ -- "subq.ph %["#TEMP6"], %["#TEMP0"], %["#TEMP4"] \n\t" \ -- "addqh.ph %["#TEMP0"], %[temp8], %[temp9] \n\t" \ -- "subqh.ph %["#TEMP4"], %["#TEMP6"], %["#TEMP2"] \n\t" \ -- "addqh.ph %["#TEMP2"], %["#TEMP2"], %["#TEMP6"] \n\t" \ -- "subqh.ph %["#TEMP6"], %[temp8], %[temp9] \n\t" \ -- "usw %["#TEMP0"], "#A"(%[out]) \n\t" \ -- "usw %["#TEMP2"], "#B"(%[out]) \n\t" \ -- "usw %["#TEMP4"], "#C"(%[out]) \n\t" \ -- "usw %["#TEMP6"], "#D"(%[out]) \n\t" -+ "addq.ph %[temp8], %[" #TEMP0 "], %[" #TEMP4 "] \n\t" \ -+ "addq.ph %[temp9], %[" #TEMP2 "], %[" #TEMP6 "] \n\t" \ -+ "subq.ph %[" #TEMP2 "], %[" #TEMP2 "], %[" #TEMP6 "] \n\t" \ -+ "subq.ph %[" #TEMP6 "], %[" #TEMP0 "], %[" #TEMP4 "] \n\t" \ -+ "addqh.ph %[" #TEMP0 "], %[temp8], %[temp9] \n\t" \ -+ "subqh.ph %[" #TEMP4 "], %[" #TEMP6 "], %[" #TEMP2 "] \n\t" \ -+ "addqh.ph %[" #TEMP2 "], %[" #TEMP2 "], %[" #TEMP6 "] \n\t" \ -+ "subqh.ph %[" #TEMP6 "], %[temp8], %[temp9] \n\t" \ -+ "usw %[" #TEMP0 "], " #A "(%[out]) \n\t" \ -+ "usw %[" #TEMP2 "], " #B "(%[out]) \n\t" \ -+ "usw %[" #TEMP4 "], " #C "(%[out]) \n\t" \ -+ "usw %[" #TEMP6 "], " #D "(%[out]) \n\t" - - static void FTransformWHT(const int16_t* in, int16_t* out) { - int temp0, temp1, temp2, temp3, temp4; -@@ -1385,10 +1385,10 @@ static void FTransformWHT(const int16_t* in, int16_t* out) { - // convert 8 coeffs at time - // A, B, C, D - offsets in bytes to load from out buffer - #define CONVERT_COEFFS_TO_BIN(A, B, C, D) \ -- "ulw %[temp0], "#A"(%[out]) \n\t" \ -- "ulw %[temp1], "#B"(%[out]) \n\t" \ -- "ulw %[temp2], "#C"(%[out]) \n\t" \ -- "ulw %[temp3], "#D"(%[out]) \n\t" \ -+ "ulw %[temp0], " #A "(%[out]) \n\t" \ -+ "ulw %[temp1], " #B "(%[out]) \n\t" \ -+ "ulw %[temp2], " #C "(%[out]) \n\t" \ -+ "ulw %[temp3], " #D "(%[out]) \n\t" \ - "absq_s.ph %[temp0], %[temp0] \n\t" \ - "absq_s.ph %[temp1], %[temp1] \n\t" \ - "absq_s.ph %[temp2], %[temp2] \n\t" \ -diff --git a/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c b/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c -index 6c34efb..6a1f8f4 100644 ---- a/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c -+++ b/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c -@@ -48,7 +48,7 @@ - "srl %[temp0], %[length], 0x2 \n\t" \ - "beqz %[temp0], 4f \n\t" \ - " andi %[temp6], %[length], 0x3 \n\t" \ -- ".if "#INVERSE" \n\t" \ -+ ".if " #INVERSE " \n\t" \ - "lbu %[temp1], -1(%[src]) \n\t" \ - "1: \n\t" \ - "lbu %[temp2], 0(%[src]) \n\t" \ -@@ -84,7 +84,7 @@ - "lbu %[temp1], -1(%[src]) \n\t" \ - "lbu %[temp2], 0(%[src]) \n\t" \ - "addiu %[src], %[src], 1 \n\t" \ -- ".if "#INVERSE" \n\t" \ -+ ".if " #INVERSE " \n\t" \ - "addu %[temp3], %[temp1], %[temp2] \n\t" \ - "sb %[temp3], -1(%[src]) \n\t" \ - ".else \n\t" \ -@@ -131,7 +131,7 @@ static WEBP_INLINE void PredictLine(const uint8_t* src, uint8_t* dst, - "ulw %[temp3], 4(%[src]) \n\t" \ - "ulw %[temp4], 4(%[pred]) \n\t" \ - "addiu %[src], %[src], 8 \n\t" \ -- ".if "#INVERSE" \n\t" \ -+ ".if " #INVERSE " \n\t" \ - "addu.qb %[temp5], %[temp1], %[temp2] \n\t" \ - "addu.qb %[temp6], %[temp3], %[temp4] \n\t" \ - ".else \n\t" \ -@@ -152,7 +152,7 @@ static WEBP_INLINE void PredictLine(const uint8_t* src, uint8_t* dst, - "lbu %[temp2], 0(%[pred]) \n\t" \ - "addiu %[src], %[src], 1 \n\t" \ - "addiu %[pred], %[pred], 1 \n\t" \ -- ".if "#INVERSE" \n\t" \ -+ ".if " #INVERSE " \n\t" \ - "addu %[temp3], %[temp1], %[temp2] \n\t" \ - ".else \n\t" \ - "subu %[temp3], %[temp1], %[temp2] \n\t" \ -@@ -177,7 +177,7 @@ static WEBP_INLINE void PredictLine(const uint8_t* src, uint8_t* dst, - __asm__ volatile ( \ - "lbu %[temp1], 0(%[src]) \n\t" \ - "lbu %[temp2], 0(%[pred]) \n\t" \ -- ".if "#INVERSE" \n\t" \ -+ ".if " #INVERSE " \n\t" \ - "addu %[temp3], %[temp1], %[temp2] \n\t" \ - ".else \n\t" \ - "subu %[temp3], %[temp1], %[temp2] \n\t" \ -diff --git a/Source/LibWebP/src/dsp/dsp.lossless_mips32.c b/Source/LibWebP/src/dsp/dsp.lossless_mips32.c -index 68fbe85..abe97c1 100644 ---- a/Source/LibWebP/src/dsp/dsp.lossless_mips32.c -+++ b/Source/LibWebP/src/dsp/dsp.lossless_mips32.c -@@ -285,28 +285,28 @@ static VP8LStreaks HuffmanCostCombinedCount(const uint32_t* X, - // literal_ and successive histograms could be unaligned - // so we must use ulw and usw - #define ADD_TO_OUT(A, B, C, D, E, P0, P1, P2) \ -- "ulw %[temp0], "#A"(%["#P0"]) \n\t" \ -- "ulw %[temp1], "#B"(%["#P0"]) \n\t" \ -- "ulw %[temp2], "#C"(%["#P0"]) \n\t" \ -- "ulw %[temp3], "#D"(%["#P0"]) \n\t" \ -- "ulw %[temp4], "#A"(%["#P1"]) \n\t" \ -- "ulw %[temp5], "#B"(%["#P1"]) \n\t" \ -- "ulw %[temp6], "#C"(%["#P1"]) \n\t" \ -- "ulw %[temp7], "#D"(%["#P1"]) \n\t" \ -+ "ulw %[temp0], " #A "(%[" #P0 "]) \n\t" \ -+ "ulw %[temp1], " #B "(%[" #P0 "]) \n\t" \ -+ "ulw %[temp2], " #C "(%[" #P0 "]) \n\t" \ -+ "ulw %[temp3], " #D "(%[" #P0 "]) \n\t" \ -+ "ulw %[temp4], " #A "(%[" #P1 "]) \n\t" \ -+ "ulw %[temp5], " #B "(%[" #P1 "]) \n\t" \ -+ "ulw %[temp6], " #C "(%[" #P1 "]) \n\t" \ -+ "ulw %[temp7], " #D "(%[" #P1 "]) \n\t" \ - "addu %[temp4], %[temp4], %[temp0] \n\t" \ - "addu %[temp5], %[temp5], %[temp1] \n\t" \ - "addu %[temp6], %[temp6], %[temp2] \n\t" \ - "addu %[temp7], %[temp7], %[temp3] \n\t" \ -- "addiu %["#P0"], %["#P0"], 16 \n\t" \ -- ".if "#E" == 1 \n\t" \ -- "addiu %["#P1"], %["#P1"], 16 \n\t" \ -+ "addiu %[" #P0 "], %[" #P0 "], 16 \n\t" \ -+ ".if " #E " == 1 \n\t" \ -+ "addiu %[" #P1 "], %[" #P1 "], 16 \n\t" \ - ".endif \n\t" \ -- "usw %[temp4], "#A"(%["#P2"]) \n\t" \ -- "usw %[temp5], "#B"(%["#P2"]) \n\t" \ -- "usw %[temp6], "#C"(%["#P2"]) \n\t" \ -- "usw %[temp7], "#D"(%["#P2"]) \n\t" \ -- "addiu %["#P2"], %["#P2"], 16 \n\t" \ -- "bne %["#P0"], %[LoopEnd], 1b \n\t" \ -+ "usw %[temp4], " #A "(%[" #P2 "]) \n\t" \ -+ "usw %[temp5], " #B "(%[" #P2 "]) \n\t" \ -+ "usw %[temp6], " #C "(%[" #P2 "]) \n\t" \ -+ "usw %[temp7], " #D "(%[" #P2 "]) \n\t" \ -+ "addiu %[" #P2 "], %[" #P2 "], 16 \n\t" \ -+ "bne %[" #P0 "], %[LoopEnd], 1b \n\t" \ - ".set pop \n\t" \ - - #define ASM_END_COMMON_0 \ -diff --git a/Source/LibWebP/src/dsp/dsp.lossless_mips_dsp_r2.c b/Source/LibWebP/src/dsp/dsp.lossless_mips_dsp_r2.c -index 821cda9..31ac181 100644 ---- a/Source/LibWebP/src/dsp/dsp.lossless_mips_dsp_r2.c -+++ b/Source/LibWebP/src/dsp/dsp.lossless_mips_dsp_r2.c -@@ -29,14 +29,14 @@ static void FUNC_NAME(const TYPE* src, \ - for (x = 0; x < (width >> 2); ++x) { \ - int tmp1, tmp2, tmp3, tmp4; \ - __asm__ volatile ( \ -- ".ifc "#TYPE", uint8_t \n\t" \ -+ ".ifc " #TYPE ", uint8_t \n\t" \ - "lbu %[tmp1], 0(%[src]) \n\t" \ - "lbu %[tmp2], 1(%[src]) \n\t" \ - "lbu %[tmp3], 2(%[src]) \n\t" \ - "lbu %[tmp4], 3(%[src]) \n\t" \ - "addiu %[src], %[src], 4 \n\t" \ - ".endif \n\t" \ -- ".ifc "#TYPE", uint32_t \n\t" \ -+ ".ifc " #TYPE ", uint32_t \n\t" \ - "lw %[tmp1], 0(%[src]) \n\t" \ - "lw %[tmp2], 4(%[src]) \n\t" \ - "lw %[tmp3], 8(%[src]) \n\t" \ -@@ -55,7 +55,7 @@ static void FUNC_NAME(const TYPE* src, \ - "lwx %[tmp2], %[tmp2](%[color_map]) \n\t" \ - "lwx %[tmp3], %[tmp3](%[color_map]) \n\t" \ - "lwx %[tmp4], %[tmp4](%[color_map]) \n\t" \ -- ".ifc "#TYPE", uint8_t \n\t" \ -+ ".ifc " #TYPE ", uint8_t \n\t" \ - "ext %[tmp1], %[tmp1], 8, 8 \n\t" \ - "ext %[tmp2], %[tmp2], 8, 8 \n\t" \ - "ext %[tmp3], %[tmp3], 8, 8 \n\t" \ -@@ -66,7 +66,7 @@ static void FUNC_NAME(const TYPE* src, \ - "sb %[tmp4], 3(%[dst]) \n\t" \ - "addiu %[dst], %[dst], 4 \n\t" \ - ".endif \n\t" \ -- ".ifc "#TYPE", uint32_t \n\t" \ -+ ".ifc " #TYPE ", uint32_t \n\t" \ - "sw %[tmp1], 0(%[dst]) \n\t" \ - "sw %[tmp2], 4(%[dst]) \n\t" \ - "sw %[tmp3], 8(%[dst]) \n\t" \ -diff --git a/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c b/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c -index a7864a0..cb3adfe 100644 ---- a/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c -+++ b/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c -@@ -34,15 +34,15 @@ - G = G - t2 + kGCst; \ - B = B + kBCst; \ - __asm__ volatile ( \ -- "shll_s.w %["#R"], %["#R"], 9 \n\t" \ -- "shll_s.w %["#G"], %["#G"], 9 \n\t" \ -- "shll_s.w %["#B"], %["#B"], 9 \n\t" \ -- "precrqu_s.qb.ph %["#R"], %["#R"], $zero \n\t" \ -- "precrqu_s.qb.ph %["#G"], %["#G"], $zero \n\t" \ -- "precrqu_s.qb.ph %["#B"], %["#B"], $zero \n\t" \ -- "srl %["#R"], %["#R"], 24 \n\t" \ -- "srl %["#G"], %["#G"], 24 \n\t" \ -- "srl %["#B"], %["#B"], 24 \n\t" \ -+ "shll_s.w %[" #R "], %[" #R "], 9 \n\t" \ -+ "shll_s.w %[" #G "], %[" #G "], 9 \n\t" \ -+ "shll_s.w %[" #B "], %[" #B "], 9 \n\t" \ -+ "precrqu_s.qb.ph %[" #R "], %[" #R "], $zero \n\t" \ -+ "precrqu_s.qb.ph %[" #G "], %[" #G "], $zero \n\t" \ -+ "precrqu_s.qb.ph %[" #B "], %[" #B "], $zero \n\t" \ -+ "srl %[" #R "], %[" #R "], 24 \n\t" \ -+ "srl %[" #G "], %[" #G "], 24 \n\t" \ -+ "srl %[" #B "], %[" #B "], 24 \n\t" \ - : [R]"+r"(R), [G]"+r"(G), [B]"+r"(B) \ - : \ - ); \ -diff --git a/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c b/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c -index 66adde5..51cbe9e 100644 ---- a/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c -+++ b/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c -@@ -39,12 +39,12 @@ - "addu %[temp5], %[temp0], %[temp1] \n\t" \ - "subu %[temp6], %[temp0], %[temp2] \n\t" \ - "addu %[temp7], %[temp0], %[temp4] \n\t" \ --".if "#K" \n\t" \ -+".if " #K " \n\t" \ - "lbu %[temp0], 1(%[y]) \n\t" \ - ".endif \n\t" \ - "shll_s.w %[temp5], %[temp5], 9 \n\t" \ - "shll_s.w %[temp6], %[temp6], 9 \n\t" \ --".if "#K" \n\t" \ -+".if " #K " \n\t" \ - "mul %[temp0], %[t_con_5], %[temp0] \n\t" \ - ".endif \n\t" \ - "shll_s.w %[temp7], %[temp7], 9 \n\t" \ -@@ -54,9 +54,9 @@ - "srl %[temp5], %[temp5], 24 \n\t" \ - "srl %[temp6], %[temp6], 24 \n\t" \ - "srl %[temp7], %[temp7], 24 \n\t" \ -- "sb %[temp5], "#R"(%[dst]) \n\t" \ -- "sb %[temp6], "#G"(%[dst]) \n\t" \ -- "sb %[temp7], "#B"(%[dst]) \n\t" \ -+ "sb %[temp5], " #R "(%[dst]) \n\t" \ -+ "sb %[temp6], " #G "(%[dst]) \n\t" \ -+ "sb %[temp7], " #B "(%[dst]) \n\t" \ - - #define ASM_CLOBBER_LIST() \ - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), \ --- -2.1.4 - diff --git a/package/libfreeimage/0003-fix-big-endian-os.patch b/package/libfreeimage/0003-fix-big-endian-os.patch new file mode 100644 index 0000000000..e0d4e921ca --- /dev/null +++ b/package/libfreeimage/0003-fix-big-endian-os.patch @@ -0,0 +1,64 @@ +fixed PluginBMP, PluginDDS for compilation under Big Endian OS + +Downloaded from upstream commit: +https://sourceforge.net/p/freeimage/svn/1809/ + +Signed-off-by: Bernd Kuhls + +diff -uNr FreeImage.orig/Source/FreeImage/PluginBMP.cpp FreeImage/Source/FreeImage/PluginBMP.cpp +--- FreeImage.orig/Source/FreeImage/PluginBMP.cpp 2016-06-15 12:35:30.000000000 +0200 ++++ FreeImage/Source/FreeImage/PluginBMP.cpp 2019-08-31 16:00:27.813378612 +0200 +@@ -518,7 +518,7 @@ + io->read_proc(FreeImage_GetPalette(dib), used_colors * sizeof(RGBQUAD), 1, handle); + #if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_RGB + RGBQUAD *pal = FreeImage_GetPalette(dib); +- for(int i = 0; i < used_colors; i++) { ++ for(unsigned int i = 0; i < used_colors; i++) { + INPLACESWAP(pal[i].rgbRed, pal[i].rgbBlue); + } + #endif +@@ -1419,7 +1419,7 @@ + + free(buffer); + #ifdef FREEIMAGE_BIGENDIAN +- } else if (bpp == 16) { ++ } else if (dst_bpp == 16) { + int padding = dst_pitch - dst_width * sizeof(WORD); + WORD pad = 0; + WORD pixel; +@@ -1440,7 +1440,7 @@ + } + #endif + #if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_RGB +- } else if (bpp == 24) { ++ } else if (dst_bpp == 24) { + int padding = dst_pitch - dst_width * sizeof(FILE_BGR); + DWORD pad = 0; + FILE_BGR bgr; +@@ -1461,7 +1461,7 @@ + } + } + } +- } else if (bpp == 32) { ++ } else if (dst_bpp == 32) { + FILE_BGRA bgra; + for(unsigned y = 0; y < dst_height; y++) { + BYTE *line = FreeImage_GetScanLine(dib, y); +diff -uNr FreeImage.orig/Source/FreeImage/PluginDDS.cpp FreeImage/Source/FreeImage/PluginDDS.cpp +--- FreeImage.orig/Source/FreeImage/PluginDDS.cpp 2018-07-31 17:04:58.000000000 +0200 ++++ FreeImage/Source/FreeImage/PluginDDS.cpp 2019-08-31 16:00:39.213465120 +0200 +@@ -356,14 +356,6 @@ + for(int i=0; i<11; i++) { + SwapLong(&header->surfaceDesc.dwReserved1[i]); + } +- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwSize); +- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFlags); +- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFourCC); +- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBBitCount); +- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRBitMask); +- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwGBitMask); +- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwBBitMask); +- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBAlphaBitMask); + SwapLong(&header->surfaceDesc.ddsCaps.dwCaps1); + SwapLong(&header->surfaceDesc.ddsCaps.dwCaps2); + SwapLong(&header->surfaceDesc.ddsCaps.dwReserved[0]); diff --git a/package/libfreeimage/0004-fix-gcc-6.patch b/package/libfreeimage/0004-fix-gcc-6.patch deleted file mode 100644 index 0f10dec715..0000000000 --- a/package/libfreeimage/0004-fix-gcc-6.patch +++ /dev/null @@ -1,31 +0,0 @@ -libraw/dc_raw: fix gcc-6 failures - -With gcc-6, it is no longer allowed to narrow the type of constants in -a constant array declaration. - -Fixes: - http://autobuild.buildroot.org/results/081/0811531872f69f9febbdc482dfbdd7fb5c35d1c8/build-end.log - -Signed-off-by: "Yann E. MORIN" - -diff -durN a/Source/LibRawLite/internal/dcraw_common.cpp b/Source/LibRawLite/internal/dcraw_common.cpp ---- a/Source/LibRawLite/internal/dcraw_common.cpp -+++ b/Source/LibRawLite/internal/dcraw_common.cpp -@@ -2479,7 +2479,7 @@ - - void CLASS kodak_radc_load_raw() - { -- static const char src[] = { -+ static const signed char src[] = { - 1,1, 2,3, 3,4, 4,2, 5,7, 6,5, 7,6, 7,8, - 1,0, 2,1, 3,3, 4,4, 5,2, 6,7, 7,6, 8,5, 8,8, - 2,1, 2,3, 3,0, 3,2, 3,4, 4,6, 5,5, 6,7, 6,8, -@@ -4519,7 +4519,7 @@ - */ - void CLASS vng_interpolate() - { -- static const signed char *cp, terms[] = { -+ static const int *cp, terms[] = { - -2,-2,+0,-1,0,0x01, -2,-2,+0,+0,1,0x01, -2,-1,-1,+0,0,0x01, - -2,-1,+0,-1,0,0x02, -2,-1,+0,+0,0,0x03, -2,-1,+0,+1,1,0x01, - -2,+0,+0,-1,0,0x06, -2,+0,+0,+0,1,0x02, -2,+0,+0,+1,0,0x03, diff --git a/package/libfreeimage/0005-Manage-powf64-with-glibc.patch b/package/libfreeimage/0005-Manage-powf64-with-glibc.patch deleted file mode 100644 index 948ba06eb9..0000000000 --- a/package/libfreeimage/0005-Manage-powf64-with-glibc.patch +++ /dev/null @@ -1,725 +0,0 @@ -From d8f40eabb25953bff5d90017478dc59d586346d1 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 3 May 2018 15:44:14 +0200 -Subject: [PATCH] Manage powf64 with glibc - -powf64 is now included in latest version of glibc so rename powf64 into -powf_64 - -Signed-off-by: Fabrice Fontaine ---- - Source/LibRawLite/dcraw/dcraw.c | 108 ++++++++++++++-------------- - Source/LibRawLite/internal/dcraw_common.cpp | 108 ++++++++++++++-------------- - 2 files changed, 108 insertions(+), 108 deletions(-) - -diff --git a/Source/LibRawLite/dcraw/dcraw.c b/Source/LibRawLite/dcraw/dcraw.c -index 6bf607d..3e52cec 100644 ---- a/Source/LibRawLite/dcraw/dcraw.c -+++ b/Source/LibRawLite/dcraw/dcraw.c -@@ -6727,7 +6727,7 @@ static float powf_lim(float a, float b, float limup) - { - return (b>limup || b < -limup)?0.f:powf(a,b); - } --static float powf64(float a, float b) -+static float powf_64(float a, float b) - { - return powf_lim(a,b,64.f); - } -@@ -6764,7 +6764,7 @@ static float _CanonConvert2EV(short in) - static float _CanonConvertAperture(short in) - { - if (in == (short)0xffe0) return 0.0f; -- else return powf64(2.0f, _CanonConvert2EV(in) / 2.0f); -+ else return powf_64(2.0f, _CanonConvert2EV(in) / 2.0f); - } - - void CLASS setCanonBodyFeatures (unsigned id) -@@ -7046,15 +7046,15 @@ void CLASS processNikonLensData (uchar *LensData, unsigned len) - imgdata.lens.nikon.NikonLensIDNumber = LensData[i]; - imgdata.lens.nikon.NikonLensFStops = LensData[i + 1]; - imgdata.lens.makernotes.LensFStops = (float)imgdata.lens.nikon.NikonLensFStops /12.0f; -- imgdata.lens.makernotes.MinFocal = 5.0f * powf64(2.0f, (float)LensData[i + 2] / 24.0f); -- imgdata.lens.makernotes.MaxFocal = 5.0f * powf64(2.0f, (float)LensData[i + 3] / 24.0f); -- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(2.0f, (float)LensData[i + 4] / 24.0f); -- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(2.0f, (float)LensData[i + 5] / 24.0f); -+ imgdata.lens.makernotes.MinFocal = 5.0f * powf_64(2.0f, (float)LensData[i + 2] / 24.0f); -+ imgdata.lens.makernotes.MaxFocal = 5.0f * powf_64(2.0f, (float)LensData[i + 3] / 24.0f); -+ imgdata.lens.makernotes.MaxAp4MinFocal = powf_64(2.0f, (float)LensData[i + 4] / 24.0f); -+ imgdata.lens.makernotes.MaxAp4MaxFocal = powf_64(2.0f, (float)LensData[i + 5] / 24.0f); - imgdata.lens.nikon.NikonMCUVersion = LensData[i + 6]; - if (i != 2) - { -- imgdata.lens.makernotes.CurFocal = 5.0f * powf64(2.0f, (float)LensData[i - 1] / 24.0f); -- imgdata.lens.nikon.NikonEffectiveMaxAp = powf64(2.0f, (float)LensData[i + 7] / 24.0f); -+ imgdata.lens.makernotes.CurFocal = 5.0f * powf_64(2.0f, (float)LensData[i - 1] / 24.0f); -+ imgdata.lens.nikon.NikonEffectiveMaxAp = powf_64(2.0f, (float)LensData[i + 7] / 24.0f); - } - imgdata.lens.makernotes.LensID = - (unsigned long long) LensData[i] << 56 | -@@ -7563,11 +7563,11 @@ void CLASS process_Sony_0x9050 (uchar * buf, unsigned id) - { - if (buf[0]) - imgdata.lens.makernotes.MaxAp = -- my_roundf(powf64(2.0f, ((float)SonySubstitution[buf[0]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; -+ my_roundf(powf_64(2.0f, ((float)SonySubstitution[buf[0]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; - - if (buf[1]) - imgdata.lens.makernotes.MinAp = -- my_roundf(powf64(2.0f, ((float)SonySubstitution[buf[1]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; -+ my_roundf(powf_64(2.0f, ((float)SonySubstitution[buf[1]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; - } - - if (imgdata.lens.makernotes.CameraMount != LIBRAW_MOUNT_FixedLens) -@@ -7577,7 +7577,7 @@ void CLASS process_Sony_0x9050 (uchar * buf, unsigned id) - lid = SonySubstitution[buf[0x3d]] << 8 | - SonySubstitution[buf[0x3c]]; - imgdata.lens.makernotes.CurAp = -- powf64(2.0f, ((float)lid/256.0f - 16.0f) / 2.0f); -+ powf_64(2.0f, ((float)lid/256.0f - 16.0f) / 2.0f); - } - if (buf[0x105] && (imgdata.lens.makernotes.LensMount != LIBRAW_MOUNT_Canon_EF)) - imgdata.lens.makernotes.LensMount = -@@ -7957,7 +7957,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - { - unsigned char cc; - fread(&cc, 1, 1, ifp); -- iso_speed = (int)(100.0 * powf64(2.0, (double)(cc) / 12.0 - 5.0)); -+ iso_speed = (int)(100.0 * powf_64(2.0, (double)(cc) / 12.0 - 5.0)); - break; - } - } -@@ -7989,7 +7989,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - } - break; - case 0x1002: -- imgdata.lens.makernotes.CurAp = powf64(2.0f, getreal(type)/2); -+ imgdata.lens.makernotes.CurAp = powf_64(2.0f, getreal(type)/2); - break; - case 0x20100201: - imgdata.lens.makernotes.LensID = -@@ -8009,10 +8009,10 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - fread(imgdata.lens.makernotes.Lens, len, 1, ifp); - break; - case 0x20100205: -- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4MinFocal = powf_64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100206: -- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4MaxFocal = powf_64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100207: - imgdata.lens.makernotes.MinFocal = (float)get2(); -@@ -8023,7 +8023,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - imgdata.lens.makernotes.MaxFocal = imgdata.lens.makernotes.MinFocal; - break; - case 0x2010020a: -- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100301: - imgdata.lens.makernotes.TeleconverterID = fgetc(ifp) << 8; -@@ -8121,13 +8121,13 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - if (table_buf[iLensData+9] && - (fabs(imgdata.lens.makernotes.CurFocal) < 0.1f)) - imgdata.lens.makernotes.CurFocal = -- 10*(table_buf[iLensData+9]>>2) * powf64(4, (table_buf[iLensData+9] & 0x03)-2); -+ 10*(table_buf[iLensData+9]>>2) * powf_64(4, (table_buf[iLensData+9] & 0x03)-2); - if (table_buf[iLensData+10] & 0xf0) - imgdata.lens.makernotes.MaxAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); - if (table_buf[iLensData+10] & 0x0f) - imgdata.lens.makernotes.MinAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); - if ( - (imgdata.lens.makernotes.CamID != 0x12e6c) && // K-r - (imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 -@@ -8148,14 +8148,14 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - if ((table_buf[iLensData+14] > 1) && - (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) - imgdata.lens.makernotes.MaxAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); - } - else if ((imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 - (table_buf[iLensData+15] > 1) && - (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) - { - imgdata.lens.makernotes.MaxAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); - } - } - free(table_buf); -@@ -8321,7 +8321,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - lid = (((ushort)table_buf[2])<<8) | - ((ushort)table_buf[3]); - imgdata.lens.makernotes.CurAp = -- powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); -+ powf_64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); - } - break; - case 1536: -@@ -8801,7 +8801,7 @@ void CLASS parse_makernote (int base, int uptag) - } - break; - case 0x1002: -- imgdata.lens.makernotes.CurAp = powf64(2.0f, getreal(type)/2); -+ imgdata.lens.makernotes.CurAp = powf_64(2.0f, getreal(type)/2); - break; - case 0x20100201: - imgdata.lens.makernotes.LensID = -@@ -8821,10 +8821,10 @@ void CLASS parse_makernote (int base, int uptag) - fread(imgdata.lens.makernotes.Lens, len, 1, ifp); - break; - case 0x20100205: -- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4MinFocal = powf_64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100206: -- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4MaxFocal = powf_64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100207: - imgdata.lens.makernotes.MinFocal = (float)get2(); -@@ -8835,7 +8835,7 @@ void CLASS parse_makernote (int base, int uptag) - imgdata.lens.makernotes.MaxFocal = imgdata.lens.makernotes.MinFocal; - break; - case 0x2010020a: -- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100301: - imgdata.lens.makernotes.TeleconverterID = fgetc(ifp) << 8; -@@ -8993,13 +8993,13 @@ void CLASS parse_makernote (int base, int uptag) - { - if (table_buf[iLensData+9] && (fabs(imgdata.lens.makernotes.CurFocal) < 0.1f)) - imgdata.lens.makernotes.CurFocal = -- 10*(table_buf[iLensData+9]>>2) * powf64(4, (table_buf[iLensData+9] & 0x03)-2); -+ 10*(table_buf[iLensData+9]>>2) * powf_64(4, (table_buf[iLensData+9] & 0x03)-2); - if (table_buf[iLensData+10] & 0xf0) - imgdata.lens.makernotes.MaxAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); - if (table_buf[iLensData+10] & 0x0f) - imgdata.lens.makernotes.MinAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); - if ( - (imgdata.lens.makernotes.CamID != 0x12e6c) && // K-r - (imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 -@@ -9020,14 +9020,14 @@ void CLASS parse_makernote (int base, int uptag) - if ((table_buf[iLensData+14] > 1) && - (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) - imgdata.lens.makernotes.MaxAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); - } - else if ((imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 - (table_buf[iLensData+15] > 1) && - (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) - { - imgdata.lens.makernotes.MaxAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); - } - } - free(table_buf); -@@ -9188,7 +9188,7 @@ void CLASS parse_makernote (int base, int uptag) - lid = (((ushort)table_buf[2])<<8) | - ((ushort)table_buf[3]); - imgdata.lens.makernotes.CurAp = -- powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); -+ powf_64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); - } - break; - case 1536: -@@ -9273,15 +9273,15 @@ void CLASS parse_makernote (int base, int uptag) - { - unsigned char cc; - fread(&cc,1,1,ifp); -- iso_speed = int(100.0 * powf64(2.0f,float(cc)/12.0-5.0)); -+ iso_speed = int(100.0 * powf_64(2.0f,float(cc)/12.0-5.0)); - } - if (tag == 4 && len > 26 && len < 35) { - if ((i=(get4(),get2())) != 0x7fff && (!iso_speed || iso_speed == 65535)) -- iso_speed = 50 * powf64(2.0, i/32.0 - 4); -+ iso_speed = 50 * powf_64(2.0, i/32.0 - 4); - if ((i=(get2(),get2())) != 0x7fff && !aperture) -- aperture = powf64(2.0, i/64.0); -+ aperture = powf_64(2.0, i/64.0); - if ((i=get2()) != 0xffff && !shutter) -- shutter = powf64(2.0, (short) i/-32.0); -+ shutter = powf_64(2.0, (short) i/-32.0); - wbi = (get2(),get2()); - shot_order = (get2(),get2()); - } -@@ -9732,7 +9732,7 @@ void CLASS parse_exif (int base) - imgdata.lens.Lens[0] = 0; - break; - case 0x9205: -- imgdata.lens.EXIF_MaxAp = powf64(2.0f, (getreal(type) / 2.0f)); -+ imgdata.lens.EXIF_MaxAp = powf_64(2.0f, (getreal(type) / 2.0f)); - break; - #endif - case 33434: shutter = getreal(type); break; -@@ -9745,10 +9745,10 @@ void CLASS parse_exif (int base) - case 36867: - case 36868: get_timestamp(0); break; - case 37377: if ((expo = -getreal(type)) < 128 && shutter == 0.) -- shutter = powf64(2.0, expo); break; -+ shutter = powf_64(2.0, expo); break; - case 37378: - if (fabs(ape = getreal(type))<256.0) -- aperture = powf64(2.0, ape/2); -+ aperture = powf_64(2.0, ape/2); - break; - case 37385: flash_used = getreal(type); break; - case 37386: focal_len = getreal(type); break; -@@ -10361,7 +10361,7 @@ int CLASS parse_tiff_ifd (int base) - imgdata.lens.Lens[0] = 0; - break; - case 0x9205: -- imgdata.lens.EXIF_MaxAp = powf64(2.0f, (getreal(type) / 2.0f)); -+ imgdata.lens.EXIF_MaxAp = powf_64(2.0f, (getreal(type) / 2.0f)); - break; - // IB end - #endif -@@ -11130,22 +11130,22 @@ void CLASS parse_ciff (int offset, int length, int depth) - thumb_length = len; - } - if (type == 0x1818) { -- shutter = powf64(2.0f, -int_to_float((get4(),get4()))); -- aperture = powf64(2.0f, int_to_float(get4())/2); -+ shutter = powf_64(2.0f, -int_to_float((get4(),get4()))); -+ aperture = powf_64(2.0f, int_to_float(get4())/2); - #ifdef LIBRAW_LIBRARY_BUILD - imgdata.lens.makernotes.CurAp = aperture; - #endif - } - if (type == 0x102a) { - // iso_speed = pow (2.0, (get4(),get2())/32.0 - 4) * 50; -- iso_speed = powf64(2.0f, ((get2(),get2()) + get2())/32.0f - 5.0f) * 100.0f; -+ iso_speed = powf_64(2.0f, ((get2(),get2()) + get2())/32.0f - 5.0f) * 100.0f; - #ifdef LIBRAW_LIBRARY_BUILD - aperture = _CanonConvertAperture((get2(),get2())); - imgdata.lens.makernotes.CurAp = aperture; - #else -- aperture = powf64(2.0, (get2(),(short)get2())/64.0); -+ aperture = powf_64(2.0, (get2(),(short)get2())/64.0); - #endif -- shutter = powf64(2.0,-((short)get2())/32.0); -+ shutter = powf_64(2.0,-((short)get2())/32.0); - wbi = (get2(),get2()); - if (wbi > 17) wbi = 0; - fseek (ifp, 32, SEEK_CUR); -@@ -11349,8 +11349,8 @@ void CLASS parse_phase_one (int base) - setPhaseOneFeatures(unique_id); - break; - case 0x0401: -- if (type == 4) imgdata.lens.makernotes.CurAp = powf64(2.0f, (int_to_float(data)/2.0f)); -- else imgdata.lens.makernotes.CurAp = powf64(2.0f, (getreal(type)/2.0f)); -+ if (type == 4) imgdata.lens.makernotes.CurAp = powf_64(2.0f, (int_to_float(data)/2.0f)); -+ else imgdata.lens.makernotes.CurAp = powf_64(2.0f, (getreal(type)/2.0f)); - break; - case 0x0403: - if (type == 4) imgdata.lens.makernotes.CurFocal = int_to_float(data); -@@ -11364,16 +11364,16 @@ void CLASS parse_phase_one (int base) - break; - case 0x0414: - if (type == 4) { -- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, (int_to_float(data)/2.0f)); -+ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(2.0f, (int_to_float(data)/2.0f)); - } else { -- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, (getreal(type) / 2.0f)); -+ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(2.0f, (getreal(type) / 2.0f)); - } - break; - case 0x0415: - if (type == 4) { -- imgdata.lens.makernotes.MinAp4CurFocal = powf64(2.0f, (int_to_float(data)/2.0f)); -+ imgdata.lens.makernotes.MinAp4CurFocal = powf_64(2.0f, (int_to_float(data)/2.0f)); - } else { -- imgdata.lens.makernotes.MinAp4CurFocal = powf64(2.0f, (getreal(type) / 2.0f)); -+ imgdata.lens.makernotes.MinAp4CurFocal = powf_64(2.0f, (getreal(type) / 2.0f)); - } - break; - case 0x0416: -@@ -13324,15 +13324,15 @@ void CLASS identify() - case 18: iso_speed = 320; break; - case 19: iso_speed = 400; break; - } -- shutter = powf64(2.0f, (((float)get4())/8.0f)) / 16000.0f; -+ shutter = powf_64(2.0f, (((float)get4())/8.0f)) / 16000.0f; - FORC4 cam_mul[c ^ (c >> 1)] = get4(); - fseek (ifp, 88, SEEK_SET); -- aperture = powf64(2.0f, ((float)get4())/16.0f); -+ aperture = powf_64(2.0f, ((float)get4())/16.0f); - fseek (ifp, 112, SEEK_SET); - focal_len = get4(); - #ifdef LIBRAW_LIBRARY_BUILD - fseek (ifp, 104, SEEK_SET); -- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, ((float)get4())/16.0f); -+ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(2.0f, ((float)get4())/16.0f); - fseek (ifp, 124, SEEK_SET); - fread(imgdata.lens.makernotes.Lens, 32, 1, ifp); - imgdata.lens.makernotes.CameraMount = LIBRAW_MOUNT_Contax_N; -diff --git a/Source/LibRawLite/internal/dcraw_common.cpp b/Source/LibRawLite/internal/dcraw_common.cpp -index a936a93..0fc4d81 100644 ---- a/Source/LibRawLite/internal/dcraw_common.cpp -+++ b/Source/LibRawLite/internal/dcraw_common.cpp -@@ -5543,7 +5543,7 @@ static float powf_lim(float a, float b, float limup) - { - return (b>limup || b < -limup)?0.f:powf(a,b); - } --static float powf64(float a, float b) -+static float powf_64(float a, float b) - { - return powf_lim(a,b,64.f); - } -@@ -5580,7 +5580,7 @@ static float _CanonConvert2EV(short in) - static float _CanonConvertAperture(short in) - { - if (in == (short)0xffe0) return 0.0f; -- else return powf64(2.0f, _CanonConvert2EV(in) / 2.0f); -+ else return powf_64(2.0f, _CanonConvert2EV(in) / 2.0f); - } - - void CLASS setCanonBodyFeatures (unsigned id) -@@ -5862,15 +5862,15 @@ void CLASS processNikonLensData (uchar *LensData, unsigned len) - imgdata.lens.nikon.NikonLensIDNumber = LensData[i]; - imgdata.lens.nikon.NikonLensFStops = LensData[i + 1]; - imgdata.lens.makernotes.LensFStops = (float)imgdata.lens.nikon.NikonLensFStops /12.0f; -- imgdata.lens.makernotes.MinFocal = 5.0f * powf64(2.0f, (float)LensData[i + 2] / 24.0f); -- imgdata.lens.makernotes.MaxFocal = 5.0f * powf64(2.0f, (float)LensData[i + 3] / 24.0f); -- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(2.0f, (float)LensData[i + 4] / 24.0f); -- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(2.0f, (float)LensData[i + 5] / 24.0f); -+ imgdata.lens.makernotes.MinFocal = 5.0f * powf_64(2.0f, (float)LensData[i + 2] / 24.0f); -+ imgdata.lens.makernotes.MaxFocal = 5.0f * powf_64(2.0f, (float)LensData[i + 3] / 24.0f); -+ imgdata.lens.makernotes.MaxAp4MinFocal = powf_64(2.0f, (float)LensData[i + 4] / 24.0f); -+ imgdata.lens.makernotes.MaxAp4MaxFocal = powf_64(2.0f, (float)LensData[i + 5] / 24.0f); - imgdata.lens.nikon.NikonMCUVersion = LensData[i + 6]; - if (i != 2) - { -- imgdata.lens.makernotes.CurFocal = 5.0f * powf64(2.0f, (float)LensData[i - 1] / 24.0f); -- imgdata.lens.nikon.NikonEffectiveMaxAp = powf64(2.0f, (float)LensData[i + 7] / 24.0f); -+ imgdata.lens.makernotes.CurFocal = 5.0f * powf_64(2.0f, (float)LensData[i - 1] / 24.0f); -+ imgdata.lens.nikon.NikonEffectiveMaxAp = powf_64(2.0f, (float)LensData[i + 7] / 24.0f); - } - imgdata.lens.makernotes.LensID = - (unsigned long long) LensData[i] << 56 | -@@ -6379,11 +6379,11 @@ void CLASS process_Sony_0x9050 (uchar * buf, unsigned id) - { - if (buf[0]) - imgdata.lens.makernotes.MaxAp = -- my_roundf(powf64(2.0f, ((float)SonySubstitution[buf[0]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; -+ my_roundf(powf_64(2.0f, ((float)SonySubstitution[buf[0]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; - - if (buf[1]) - imgdata.lens.makernotes.MinAp = -- my_roundf(powf64(2.0f, ((float)SonySubstitution[buf[1]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; -+ my_roundf(powf_64(2.0f, ((float)SonySubstitution[buf[1]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; - } - - if (imgdata.lens.makernotes.CameraMount != LIBRAW_MOUNT_FixedLens) -@@ -6393,7 +6393,7 @@ void CLASS process_Sony_0x9050 (uchar * buf, unsigned id) - lid = SonySubstitution[buf[0x3d]] << 8 | - SonySubstitution[buf[0x3c]]; - imgdata.lens.makernotes.CurAp = -- powf64(2.0f, ((float)lid/256.0f - 16.0f) / 2.0f); -+ powf_64(2.0f, ((float)lid/256.0f - 16.0f) / 2.0f); - } - if (buf[0x105] && (imgdata.lens.makernotes.LensMount != LIBRAW_MOUNT_Canon_EF)) - imgdata.lens.makernotes.LensMount = -@@ -6773,7 +6773,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - { - unsigned char cc; - fread(&cc, 1, 1, ifp); -- iso_speed = (int)(100.0 * powf64(2.0, (double)(cc) / 12.0 - 5.0)); -+ iso_speed = (int)(100.0 * powf_64(2.0, (double)(cc) / 12.0 - 5.0)); - break; - } - } -@@ -6805,7 +6805,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - } - break; - case 0x1002: -- imgdata.lens.makernotes.CurAp = powf64(2.0f, getreal(type)/2); -+ imgdata.lens.makernotes.CurAp = powf_64(2.0f, getreal(type)/2); - break; - case 0x20100201: - imgdata.lens.makernotes.LensID = -@@ -6825,10 +6825,10 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - fread(imgdata.lens.makernotes.Lens, len, 1, ifp); - break; - case 0x20100205: -- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4MinFocal = powf_64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100206: -- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4MaxFocal = powf_64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100207: - imgdata.lens.makernotes.MinFocal = (float)get2(); -@@ -6839,7 +6839,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - imgdata.lens.makernotes.MaxFocal = imgdata.lens.makernotes.MinFocal; - break; - case 0x2010020a: -- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100301: - imgdata.lens.makernotes.TeleconverterID = fgetc(ifp) << 8; -@@ -6937,13 +6937,13 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - if (table_buf[iLensData+9] && - (fabs(imgdata.lens.makernotes.CurFocal) < 0.1f)) - imgdata.lens.makernotes.CurFocal = -- 10*(table_buf[iLensData+9]>>2) * powf64(4, (table_buf[iLensData+9] & 0x03)-2); -+ 10*(table_buf[iLensData+9]>>2) * powf_64(4, (table_buf[iLensData+9] & 0x03)-2); - if (table_buf[iLensData+10] & 0xf0) - imgdata.lens.makernotes.MaxAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); - if (table_buf[iLensData+10] & 0x0f) - imgdata.lens.makernotes.MinAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); - if ( - (imgdata.lens.makernotes.CamID != 0x12e6c) && // K-r - (imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 -@@ -6964,14 +6964,14 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - if ((table_buf[iLensData+14] > 1) && - (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) - imgdata.lens.makernotes.MaxAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); - } - else if ((imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 - (table_buf[iLensData+15] > 1) && - (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) - { - imgdata.lens.makernotes.MaxAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); - } - } - free(table_buf); -@@ -7137,7 +7137,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - lid = (((ushort)table_buf[2])<<8) | - ((ushort)table_buf[3]); - imgdata.lens.makernotes.CurAp = -- powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); -+ powf_64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); - } - break; - case 1536: -@@ -7617,7 +7617,7 @@ void CLASS parse_makernote (int base, int uptag) - } - break; - case 0x1002: -- imgdata.lens.makernotes.CurAp = powf64(2.0f, getreal(type)/2); -+ imgdata.lens.makernotes.CurAp = powf_64(2.0f, getreal(type)/2); - break; - case 0x20100201: - imgdata.lens.makernotes.LensID = -@@ -7637,10 +7637,10 @@ void CLASS parse_makernote (int base, int uptag) - fread(imgdata.lens.makernotes.Lens, len, 1, ifp); - break; - case 0x20100205: -- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4MinFocal = powf_64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100206: -- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4MaxFocal = powf_64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100207: - imgdata.lens.makernotes.MinFocal = (float)get2(); -@@ -7651,7 +7651,7 @@ void CLASS parse_makernote (int base, int uptag) - imgdata.lens.makernotes.MaxFocal = imgdata.lens.makernotes.MinFocal; - break; - case 0x2010020a: -- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100301: - imgdata.lens.makernotes.TeleconverterID = fgetc(ifp) << 8; -@@ -7809,13 +7809,13 @@ void CLASS parse_makernote (int base, int uptag) - { - if (table_buf[iLensData+9] && (fabs(imgdata.lens.makernotes.CurFocal) < 0.1f)) - imgdata.lens.makernotes.CurFocal = -- 10*(table_buf[iLensData+9]>>2) * powf64(4, (table_buf[iLensData+9] & 0x03)-2); -+ 10*(table_buf[iLensData+9]>>2) * powf_64(4, (table_buf[iLensData+9] & 0x03)-2); - if (table_buf[iLensData+10] & 0xf0) - imgdata.lens.makernotes.MaxAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); - if (table_buf[iLensData+10] & 0x0f) - imgdata.lens.makernotes.MinAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); - if ( - (imgdata.lens.makernotes.CamID != 0x12e6c) && // K-r - (imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 -@@ -7836,14 +7836,14 @@ void CLASS parse_makernote (int base, int uptag) - if ((table_buf[iLensData+14] > 1) && - (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) - imgdata.lens.makernotes.MaxAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); - } - else if ((imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 - (table_buf[iLensData+15] > 1) && - (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) - { - imgdata.lens.makernotes.MaxAp4CurFocal = -- powf64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); -+ powf_64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); - } - } - free(table_buf); -@@ -8004,7 +8004,7 @@ void CLASS parse_makernote (int base, int uptag) - lid = (((ushort)table_buf[2])<<8) | - ((ushort)table_buf[3]); - imgdata.lens.makernotes.CurAp = -- powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); -+ powf_64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); - } - break; - case 1536: -@@ -8089,15 +8089,15 @@ void CLASS parse_makernote (int base, int uptag) - { - unsigned char cc; - fread(&cc,1,1,ifp); -- iso_speed = int(100.0 * powf64(2.0f,float(cc)/12.0-5.0)); -+ iso_speed = int(100.0 * powf_64(2.0f,float(cc)/12.0-5.0)); - } - if (tag == 4 && len > 26 && len < 35) { - if ((i=(get4(),get2())) != 0x7fff && (!iso_speed || iso_speed == 65535)) -- iso_speed = 50 * powf64(2.0, i/32.0 - 4); -+ iso_speed = 50 * powf_64(2.0, i/32.0 - 4); - if ((i=(get2(),get2())) != 0x7fff && !aperture) -- aperture = powf64(2.0, i/64.0); -+ aperture = powf_64(2.0, i/64.0); - if ((i=get2()) != 0xffff && !shutter) -- shutter = powf64(2.0, (short) i/-32.0); -+ shutter = powf_64(2.0, (short) i/-32.0); - wbi = (get2(),get2()); - shot_order = (get2(),get2()); - } -@@ -8548,7 +8548,7 @@ void CLASS parse_exif (int base) - imgdata.lens.Lens[0] = 0; - break; - case 0x9205: -- imgdata.lens.EXIF_MaxAp = powf64(2.0f, (getreal(type) / 2.0f)); -+ imgdata.lens.EXIF_MaxAp = powf_64(2.0f, (getreal(type) / 2.0f)); - break; - #endif - case 33434: shutter = getreal(type); break; -@@ -8561,10 +8561,10 @@ void CLASS parse_exif (int base) - case 36867: - case 36868: get_timestamp(0); break; - case 37377: if ((expo = -getreal(type)) < 128 && shutter == 0.) -- shutter = powf64(2.0, expo); break; -+ shutter = powf_64(2.0, expo); break; - case 37378: - if (fabs(ape = getreal(type))<256.0) -- aperture = powf64(2.0, ape/2); -+ aperture = powf_64(2.0, ape/2); - break; - case 37385: flash_used = getreal(type); break; - case 37386: focal_len = getreal(type); break; -@@ -9171,7 +9171,7 @@ int CLASS parse_tiff_ifd (int base) - imgdata.lens.Lens[0] = 0; - break; - case 0x9205: -- imgdata.lens.EXIF_MaxAp = powf64(2.0f, (getreal(type) / 2.0f)); -+ imgdata.lens.EXIF_MaxAp = powf_64(2.0f, (getreal(type) / 2.0f)); - break; - // IB end - #endif -@@ -9940,22 +9940,22 @@ void CLASS parse_ciff (int offset, int length, int depth) - thumb_length = len; - } - if (type == 0x1818) { -- shutter = powf64(2.0f, -int_to_float((get4(),get4()))); -- aperture = powf64(2.0f, int_to_float(get4())/2); -+ shutter = powf_64(2.0f, -int_to_float((get4(),get4()))); -+ aperture = powf_64(2.0f, int_to_float(get4())/2); - #ifdef LIBRAW_LIBRARY_BUILD - imgdata.lens.makernotes.CurAp = aperture; - #endif - } - if (type == 0x102a) { - // iso_speed = pow (2.0, (get4(),get2())/32.0 - 4) * 50; -- iso_speed = powf64(2.0f, ((get2(),get2()) + get2())/32.0f - 5.0f) * 100.0f; -+ iso_speed = powf_64(2.0f, ((get2(),get2()) + get2())/32.0f - 5.0f) * 100.0f; - #ifdef LIBRAW_LIBRARY_BUILD - aperture = _CanonConvertAperture((get2(),get2())); - imgdata.lens.makernotes.CurAp = aperture; - #else -- aperture = powf64(2.0, (get2(),(short)get2())/64.0); -+ aperture = powf_64(2.0, (get2(),(short)get2())/64.0); - #endif -- shutter = powf64(2.0,-((short)get2())/32.0); -+ shutter = powf_64(2.0,-((short)get2())/32.0); - wbi = (get2(),get2()); - if (wbi > 17) wbi = 0; - fseek (ifp, 32, SEEK_CUR); -@@ -10159,8 +10159,8 @@ void CLASS parse_phase_one (int base) - setPhaseOneFeatures(unique_id); - break; - case 0x0401: -- if (type == 4) imgdata.lens.makernotes.CurAp = powf64(2.0f, (int_to_float(data)/2.0f)); -- else imgdata.lens.makernotes.CurAp = powf64(2.0f, (getreal(type)/2.0f)); -+ if (type == 4) imgdata.lens.makernotes.CurAp = powf_64(2.0f, (int_to_float(data)/2.0f)); -+ else imgdata.lens.makernotes.CurAp = powf_64(2.0f, (getreal(type)/2.0f)); - break; - case 0x0403: - if (type == 4) imgdata.lens.makernotes.CurFocal = int_to_float(data); -@@ -10174,16 +10174,16 @@ void CLASS parse_phase_one (int base) - break; - case 0x0414: - if (type == 4) { -- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, (int_to_float(data)/2.0f)); -+ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(2.0f, (int_to_float(data)/2.0f)); - } else { -- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, (getreal(type) / 2.0f)); -+ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(2.0f, (getreal(type) / 2.0f)); - } - break; - case 0x0415: - if (type == 4) { -- imgdata.lens.makernotes.MinAp4CurFocal = powf64(2.0f, (int_to_float(data)/2.0f)); -+ imgdata.lens.makernotes.MinAp4CurFocal = powf_64(2.0f, (int_to_float(data)/2.0f)); - } else { -- imgdata.lens.makernotes.MinAp4CurFocal = powf64(2.0f, (getreal(type) / 2.0f)); -+ imgdata.lens.makernotes.MinAp4CurFocal = powf_64(2.0f, (getreal(type) / 2.0f)); - } - break; - case 0x0416: -@@ -11996,15 +11996,15 @@ void CLASS identify() - case 18: iso_speed = 320; break; - case 19: iso_speed = 400; break; - } -- shutter = powf64(2.0f, (((float)get4())/8.0f)) / 16000.0f; -+ shutter = powf_64(2.0f, (((float)get4())/8.0f)) / 16000.0f; - FORC4 cam_mul[c ^ (c >> 1)] = get4(); - fseek (ifp, 88, SEEK_SET); -- aperture = powf64(2.0f, ((float)get4())/16.0f); -+ aperture = powf_64(2.0f, ((float)get4())/16.0f); - fseek (ifp, 112, SEEK_SET); - focal_len = get4(); - #ifdef LIBRAW_LIBRARY_BUILD - fseek (ifp, 104, SEEK_SET); -- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, ((float)get4())/16.0f); -+ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(2.0f, ((float)get4())/16.0f); - fseek (ifp, 124, SEEK_SET); - fread(imgdata.lens.makernotes.Lens, 32, 1, ifp); - imgdata.lens.makernotes.CameraMount = LIBRAW_MOUNT_Contax_N; --- -2.14.1 - diff --git a/package/libfreeimage/libfreeimage.hash b/package/libfreeimage/libfreeimage.hash index eded0297ec..6d8ba20409 100644 --- a/package/libfreeimage/libfreeimage.hash +++ b/package/libfreeimage/libfreeimage.hash @@ -1,5 +1,9 @@ +# From https://sourceforge.net/projects/freeimage/files/Source%20Distribution/3.18.0/ +md5 f8ba138a3be233a3eed9c456e42e2578 FreeImage3180.zip +sha1 38daa9d8f1bca2330a2eaa42ec66fbe6ede7dce9 FreeImage3180.zip + # Locally computed -sha256 fbfc65e39b3d4e2cb108c4ffa8c41fd02c07d4d436c594fff8dab1a6d5297f89 FreeImage3170.zip +sha256 f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd FreeImage3180.zip sha256 d51615a1a47f1ddbb027920d60d3fc30a00e1284c795a47857883e641349fadf license-gplv2.txt sha256 084be110e3e8757d8e6945cda1fbc7e5073bbe688dc19b92c0d8440155d8e282 license-gplv3.txt sha256 0bb9a3123297c73ae6e19c70459fb0e58f313f67ca63176fd43f8e77668b8243 license-fi.txt diff --git a/package/libfreeimage/libfreeimage.mk b/package/libfreeimage/libfreeimage.mk index e0aa1f0ae8..b254fa8846 100644 --- a/package/libfreeimage/libfreeimage.mk +++ b/package/libfreeimage/libfreeimage.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFREEIMAGE_VERSION = 3.17.0 +LIBFREEIMAGE_VERSION = 3.18.0 LIBFREEIMAGE_SITE = http://downloads.sourceforge.net/freeimage LIBFREEIMAGE_SOURCE = FreeImage$(subst .,,$(LIBFREEIMAGE_VERSION)).zip LIBFREEIMAGE_LICENSE = GPL-2.0 or GPL-3.0 or FreeImage Public License diff --git a/package/libfribidi/0001-Truncate-isolate_level-to-FRIBIDI_BIDI_MAX_EXPLICIT_.patch b/package/libfribidi/0001-Truncate-isolate_level-to-FRIBIDI_BIDI_MAX_EXPLICIT_.patch new file mode 100644 index 0000000000..b78f9b2111 --- /dev/null +++ b/package/libfribidi/0001-Truncate-isolate_level-to-FRIBIDI_BIDI_MAX_EXPLICIT_.patch @@ -0,0 +1,30 @@ +From 034c6e9a1d296286305f4cfd1e0072b879f52568 Mon Sep 17 00:00:00 2001 +From: Dov Grobgeld +Date: Thu, 24 Oct 2019 09:37:29 +0300 +Subject: [PATCH] Truncate isolate_level to FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL + +CVE-2019-18397 + +Signed-off-by: Peter Korsgaard +--- + lib/fribidi-bidi.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lib/fribidi-bidi.c b/lib/fribidi-bidi.c +index 6c84392..d384878 100644 +--- a/lib/fribidi-bidi.c ++++ b/lib/fribidi-bidi.c +@@ -747,7 +747,9 @@ fribidi_get_par_embedding_levels_ex ( + } + + RL_LEVEL (pp) = level; +- RL_ISOLATE_LEVEL (pp) = isolate_level++; ++ RL_ISOLATE_LEVEL (pp) = isolate_level; ++ if (isolate_level < FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL-1) ++ isolate_level++; + base_level_per_iso_level[isolate_level] = new_level; + + if (!FRIBIDI_IS_NEUTRAL (override)) +-- +2.20.1 + diff --git a/package/libfribidi/libfribidi.hash b/package/libfribidi/libfribidi.hash index 79b5dd3185..eba767668d 100644 --- a/package/libfribidi/libfribidi.hash +++ b/package/libfribidi/libfribidi.hash @@ -1,2 +1,3 @@ -# From http://www.fribidi.org/download/fribidi-0.19.7.tar.bz2.sha256 -sha256 08222a6212bbc2276a2d55c3bf370109ae4a35b689acbc66571ad2a670595a8e fribidi-0.19.7.tar.bz2 +# Locally computed +sha256 5ab5f21e9f2fc57b4b40f8ea8f14dba78a5cc46d9cf94bc5e00a58e6886a935d fribidi-1.0.7.tar.bz2 +sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING diff --git a/package/libfribidi/libfribidi.mk b/package/libfribidi/libfribidi.mk index a7a8519181..0e17be6db0 100644 --- a/package/libfribidi/libfribidi.mk +++ b/package/libfribidi/libfribidi.mk @@ -4,19 +4,13 @@ # ################################################################################ -LIBFRIBIDI_VERSION = 0.19.7 +LIBFRIBIDI_VERSION = 1.0.7 LIBFRIBIDI_SOURCE = fribidi-$(LIBFRIBIDI_VERSION).tar.bz2 -LIBFRIBIDI_SITE = http://www.fribidi.org/download +LIBFRIBIDI_SITE = https://github.com/fribidi/fribidi/releases/download/v$(LIBFRIBIDI_VERSION) LIBFRIBIDI_LICENSE = LGPL-2.1+ LIBFRIBIDI_LICENSE_FILES = COPYING LIBFRIBIDI_INSTALL_STAGING = YES -# Ships a beta libtool version hence our patch doesn't apply. -# Run autoreconf to regenerate ltmain.sh. -LIBFRIBIDI_AUTORECONF = YES LIBFRIBIDI_DEPENDENCIES = host-pkgconf -# libglib2 dependency causes a build failure, and this optional -# dependency is going to be removed upstream, see -# https://github.com/behdad/fribidi/pull/14 -LIBFRIBIDI_CONF_OPTS = --with-glib=no $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/libftdi/libftdi.hash b/package/libftdi/libftdi.hash index 5d9f8765db..8271ab277a 100644 --- a/package/libftdi/libftdi.hash +++ b/package/libftdi/libftdi.hash @@ -1,2 +1,7 @@ # Locally computed (after checking the signature from http://www.intra2net.com/en/developer/libftdi/download.php) sha256 3176d5b5986438f33f5208e690a8bfe90941be501cc0a72118ce3d338d4b838e libftdi-0.20.tar.gz + +# Hash for license files: +sha256 6bd354f4b9beca001b1b5395be48cef1d749a3ed27dddb8114bf09eb0ab2d88c LICENSE +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.GPL +sha256 c340cbee4974bb96019e782f2279df016c92fb1e7f5299347e779d9acedbb991 COPYING.LIB diff --git a/package/libftdi/libftdi.mk b/package/libftdi/libftdi.mk index cdd77c2e68..257342622f 100644 --- a/package/libftdi/libftdi.mk +++ b/package/libftdi/libftdi.mk @@ -6,6 +6,8 @@ LIBFTDI_VERSION = 0.20 LIBFTDI_SITE = http://www.intra2net.com/en/developer/libftdi/download +LIBFTDI_LICENSE = LGPL-2.1 (libftdi) +LIBFTDI_LICENSE_FILES = LICENSE COPYING.LIB LIBFTDI_DEPENDENCIES = libusb-compat libusb HOST_LIBFTDI_DEPENDENCIES = host-libusb-compat host-libusb LIBFTDI_INSTALL_STAGING = YES @@ -16,6 +18,8 @@ LIBFTDI_CONF_OPTS = --without-examples # configure detect it automaticaly so we need to force it ifeq ($(BR2_PACKAGE_LIBFTDI_CPP),y) +LIBFTDI_LICENSE += , GPL-2.0 with exception (ftdipp) +LIBFTDI_LICENSE_FILES += COPYING.GPL LIBFTDI_DEPENDENCIES += boost LIBFTDI_CONF_OPTS += --enable-libftdipp else diff --git a/package/libftdi1/0003-cmake-do-not-check-for-g-when-FTDIPP-is-disabled.patch b/package/libftdi1/0002-cmake-do-not-check-for-g-when-FTDIPP-is-disabled.patch similarity index 100% rename from package/libftdi1/0003-cmake-do-not-check-for-g-when-FTDIPP-is-disabled.patch rename to package/libftdi1/0002-cmake-do-not-check-for-g-when-FTDIPP-is-disabled.patch diff --git a/package/libftdi1/0002-cmake-fix-FindUSB1.cmake.patch b/package/libftdi1/0002-cmake-fix-FindUSB1.cmake.patch deleted file mode 100644 index 5619a0ceec..0000000000 --- a/package/libftdi1/0002-cmake-fix-FindUSB1.cmake.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 81275d75ae88fe8ab1915d3ba260ea935e63c362 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sun, 25 Jan 2015 10:01:17 +0100 -Subject: [PATCH 2/2] cmake: fix FindUSB1.cmake - -Make sure all ldflags are correctly set, especially for static build. - -Signed-off-by: Samuel Martin ---- - cmake/FindUSB1.cmake | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/cmake/FindUSB1.cmake b/cmake/FindUSB1.cmake -index b90e297..e7f1b3c 100644 ---- a/cmake/FindUSB1.cmake -+++ b/cmake/FindUSB1.cmake -@@ -26,8 +26,12 @@ else (LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES) - PATH_SUFFIXES libusb-1.0 - PATHS ${PC_LIBUSB_INCLUDEDIR} ${PC_LIBUSB_INCLUDE_DIRS}) - -- FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb-1.0 -- PATHS ${PC_LIBUSB_LIBDIR} ${PC_LIBUSB_LIBRARY_DIRS}) -+ set(LIBUSB_LIBRARIES ${PC_LIBUSB_STATIC_LDFLAGS} ${PC_LIBUSB_STATIC_LDFLAGS_OTHER}) -+ foreach(libname ${PC_LIBUSB_STATIC_LIBRARIES}) -+ FIND_LIBRARY(lib NAMES ${libname} -+ PATHS ${PC_LIBUSB_LIBDIR} ${PC_LIBUSB_LIBRARY_DIRS}) -+ list(APPEND LIBUSB_LIBRARIES ${lib}) -+ endforeach() - - include(FindPackageHandleStandardArgs) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBUSB DEFAULT_MSG LIBUSB_LIBRARIES LIBUSB_INCLUDE_DIR) --- -2.2.2 - diff --git a/package/libftdi1/0004-cmake-find-swig.patch b/package/libftdi1/0003-cmake-find-swig.patch similarity index 100% rename from package/libftdi1/0004-cmake-find-swig.patch rename to package/libftdi1/0003-cmake-find-swig.patch diff --git a/package/libftdi1/0004-CMake-reorder-Python-detection.patch b/package/libftdi1/0004-CMake-reorder-Python-detection.patch new file mode 100644 index 0000000000..c6c2b28c46 --- /dev/null +++ b/package/libftdi1/0004-CMake-reorder-Python-detection.patch @@ -0,0 +1,32 @@ +From 640c2b3c0c72d5194d422ff7dda086c4533fba00 Mon Sep 17 00:00:00 2001 +From: Yegor Yefremov +Date: Mon, 13 Jan 2020 14:08:44 +0100 +Subject: [PATCH] CMake: reorder Python detection + +PythonInterp should be detected before PythonLibs otherwise +CMake exits with the following message: + +Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS) + +Signed-off-by: Yegor Yefremov +--- + python/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt +index 90811ca..368bb7e 100644 +--- a/python/CMakeLists.txt ++++ b/python/CMakeLists.txt +@@ -12,8 +12,8 @@ if ( PYTHON_BINDINGS ) + set ( SWIG_FOUND TRUE ) + endif () + endif () +- find_package ( PythonLibs ) + find_package ( PythonInterp ) ++ find_package ( PythonLibs ) + endif () + + if ( SWIG_FOUND AND PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND ) +-- +2.17.0 + diff --git a/package/libftdi1/0005-swig-python-fix-unresolved-symbol-issue.patch b/package/libftdi1/0005-swig-python-fix-unresolved-symbol-issue.patch new file mode 100644 index 0000000000..bd13d24d21 --- /dev/null +++ b/package/libftdi1/0005-swig-python-fix-unresolved-symbol-issue.patch @@ -0,0 +1,31 @@ +From e12e592e982fe71b2761da0de7b19e93f67ed22c Mon Sep 17 00:00:00 2001 +From: Yegor Yefremov +Date: Tue, 6 Aug 2019 13:42:06 +0200 +Subject: [PATCH] swig: python: fix unresolved symbol issue + +GCC later than 5.x produce _fdti1.so file with an undefined +symbol str2charp_size due to C99 inline semantics change. So +remove this keyword. + +Signed-off-by: Yegor Yefremov +[Backport from upstream 3eca5150db07262c1c6eb737e12149201f631d47] +--- + python/ftdi1.i | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/python/ftdi1.i b/python/ftdi1.i +index 93793f8..0d150cb 100644 +--- a/python/ftdi1.i ++++ b/python/ftdi1.i +@@ -19,7 +19,7 @@ inline PyObject* charp2str(const char *v_, long len) + #endif + } + +-inline char * str2charp_size(PyObject* pyObj, int * size) ++char * str2charp_size(PyObject* pyObj, int * size) + { + char * v_ = 0; + #if PY_MAJOR_VERSION >= 3 +-- +2.17.0 + diff --git a/package/libftdi1/libftdi1.mk b/package/libftdi1/libftdi1.mk index 014dd8401e..9c3bafdbc0 100644 --- a/package/libftdi1/libftdi1.mk +++ b/package/libftdi1/libftdi1.mk @@ -9,12 +9,14 @@ LIBFTDI1_SOURCE = libftdi1-$(LIBFTDI1_VERSION).tar.bz2 LIBFTDI1_SITE = http://www.intra2net.com/en/developer/libftdi/download 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_LICENSE = LGPL-2.1 (libftdi1), MIT (libftdi1) +LIBFTDI1_LICENSE_FILES = LICENSE COPYING.LIB LIBFTDI1_CONFIG_SCRIPTS = libftdi1-config LIBFTDI1_CONF_OPTS = -DDOCUMENTATION=OFF -DEXAMPLES=OFF ifeq ($(BR2_PACKAGE_LIBFTDI1_LIBFTDIPP1),y) +LIBFTDI1_LICENSE += , GPL-2.0 with exception (libftdipp1) +LIBFTDI1_LICENSE_FILES += COPYING.GPL LIBFTDI1_DEPENDENCIES += boost LIBFTDI1_CONF_OPTS += -DFTDIPP=ON else @@ -30,6 +32,8 @@ endif ifeq ($(BR2_PACKAGE_LIBFTDI1_FDTI_EEPROM),y) # ftdi_eeprom optionally depends on libintl +LIBFTDI1_LICENSE += , GPL-2.0 (ftdi_eeprom) +LIBFTDI1_LICENSE_FILES += COPYING.GPL LIBFTDI1_DEPENDENCIES += libconfuse $(TARGET_NLS_DEPENDENCIES) LIBFTDI1_CONF_OPTS += -DFTDI_EEPROM=ON else diff --git a/package/libfuse3/0001-meson.build-libfuse-is-a-C-only-project.patch b/package/libfuse3/0001-meson.build-libfuse-is-a-C-only-project.patch new file mode 100644 index 0000000000..279f590ce9 --- /dev/null +++ b/package/libfuse3/0001-meson.build-libfuse-is-a-C-only-project.patch @@ -0,0 +1,39 @@ +From fc25c5002cae23151309fce6059e230545fd4d82 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 20 Apr 2020 21:20:19 +0200 +Subject: [PATCH] Do not require C++ compiler for building + +Fixes: + - http://autobuild.buildroot.org/results/a6e64213f2910b2b81e79cb1e96e558413d7f70a + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/libfuse/libfuse/commit/fc25c5002cae23151309fce6059e230545fd4d82] +--- + example/meson.build | 2 +- + meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/example/meson.build b/example/meson.build +index 3edddea9..2342df9c 100644 +--- a/example/meson.build ++++ b/example/meson.build +@@ -31,7 +31,7 @@ foreach ex : threaded_examples + install: false) + endforeach + +-if not platform.endswith('bsd') and platform != 'dragonfly' ++if not platform.endswith('bsd') and platform != 'dragonfly' and add_languages('cpp', required : false) + executable('passthrough_hp', 'passthrough_hp.cc', + dependencies: [ thread_dep, libfuse_dep ], + install: false) +diff --git a/meson.build b/meson.build +index 69b3630d..4428bdb9 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,4 +1,4 @@ +-project('libfuse3', ['cpp', 'c'], version: '3.9.1', ++project('libfuse3', ['c'], version: '3.9.1', + meson_version: '>= 0.42', + default_options: [ 'buildtype=debugoptimized' ]) + diff --git a/package/libfuse3/Config.in b/package/libfuse3/Config.in new file mode 100644 index 0000000000..584d3bf132 --- /dev/null +++ b/package/libfuse3/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_LIBFUSE3 + bool "libfuse3" + depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU # fork() + help + The reference implementation of the Linux FUSE + (Filesystem in Userspace) interface. + + https://github.com/libfuse/libfuse + +comment "libfuse3 needs a toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/libfuse3/libfuse3.hash b/package/libfuse3/libfuse3.hash new file mode 100644 index 0000000000..bc09da4cf8 --- /dev/null +++ b/package/libfuse3/libfuse3.hash @@ -0,0 +1,3 @@ +# Locally calculated sha256 checksums +sha256 4f3dea4979c30fbd85f46b8812bee5945bd6bb4487165eb01ecde57bbfbb332f libfuse3-3.9.1.tar.gz +sha256 b8832d9caaa075bbbd2aef24efa09f8b7ab66a832812d88c602da0c7b4397fad LICENSE diff --git a/package/libfuse3/libfuse3.mk b/package/libfuse3/libfuse3.mk new file mode 100644 index 0000000000..d23d8d9a43 --- /dev/null +++ b/package/libfuse3/libfuse3.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# libfuse3 +# +################################################################################ + +LIBFUSE3_VERSION = 3.9.1 +LIBFUSE3_SITE = $(call github,libfuse,libfuse,fuse-$(LIBFUSE3_VERSION)) +LIBFUSE3_LICENSE = LGPL-2.1 +LIBFUSE3_LICENSE_FILES = LICENSE +LIBFUSE3_INSTALL_STAGING = YES +LIBFUSE3_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) +LIBFUSE3_CONF_OPTS = \ + -Dexamples=false \ + -Dudevrulesdir=/lib/udev/rules.d \ + -Duseroot=false + +define LIBFUSE3_DEVICES + /dev/fuse c 666 0 0 10 229 0 0 - +endef + +define LIBFUSE3_PERMISSIONS + /usr/bin/fusermount3 f 4755 0 0 - - - - - +endef + +$(eval $(meson-package)) diff --git a/package/libgcrypt/0001-build-Don-t-default-to-underscore-yes-for-cross-buil.patch b/package/libgcrypt/0001-build-Don-t-default-to-underscore-yes-for-cross-buil.patch new file mode 100644 index 0000000000..032cb7c84c --- /dev/null +++ b/package/libgcrypt/0001-build-Don-t-default-to-underscore-yes-for-cross-buil.patch @@ -0,0 +1,48 @@ +From 7fec3ac22efb86fce90a9edc5696e16ee88a65c7 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Wed, 24 Oct 2018 14:29:45 +0900 +Subject: [PATCH] build: Don't default to underscore=yes for cross-build. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* acinclude.m4: Don't set ac_cv_sys_symbol_underscore +for cross build. + +-- + +It made sense in the past when cross compile were basically for a.out +system, but nowadays, it's better not to assume that. + +Fetched from: 0f4545b441b6fbdd6e9c4e95f5f2a367483e78ad + +Signed-off-by: NIIBE Yutaka +Signed-off-by: Jörg Krause +--- + acinclude.m4 | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index fc208c53..6f7789d0 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -111,14 +111,10 @@ case "${host}" in + 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 ++ if test "$cross_compiling" != yes; then + tmp_do_check="yes" + fi +- ;; ++ ;; + esac + if test "$tmp_do_check" = "yes"; then + AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) +-- +2.22.0 + diff --git a/package/libgcrypt/0001-reconfigure.patch b/package/libgcrypt/0001-reconfigure.patch deleted file mode 100644 index 87d29a298b..0000000000 --- a/package/libgcrypt/0001-reconfigure.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/configure b/configure -index 70a6d50..8f55d95 100755 ---- a/configure -+++ b/configure -@@ -22306,14 +22306,15 @@ case "${host}" in - i386-emx-os2 | i345686-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 -+ *)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 -- else -- tmp_do_check="yes" -- fi - ;; - esac - if test "$tmp_do_check" = "yes"; then diff --git a/package/libgcrypt/0002-configure.ac-add-an-option-to-disable-tests.patch b/package/libgcrypt/0002-configure.ac-add-an-option-to-disable-tests.patch new file mode 100644 index 0000000000..21ff20a473 --- /dev/null +++ b/package/libgcrypt/0002-configure.ac-add-an-option-to-disable-tests.patch @@ -0,0 +1,66 @@ +From 7fe1b8a53cc8c865c2a10dcd8f6cb4e51ccc6300 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 29 Jul 2019 12:19:10 +0200 +Subject: [PATCH] configure.ac: add an option to disable tests + +Add an option to allow the user to disable tests, this can be useful for +example when the toolchain does not provide thread. Indeed, in this +case, libgcrypt fails to build t-lock: + +t-lock.c: In function 'run_test': +t-lock.c:359:3: error: unknown type name 'pthread_t' + pthread_t rthread; + +Fixes: + - http://autobuild.buildroot.org/results/50a8ba572e3fafd3c6a39bd54bcfcaf78b5ad325 + +Signed-off-by: Fabrice Fontaine +--- + Makefile.am | 7 ++++++- + configure.ac | 10 ++++++++++ + 2 files changed, 16 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 7fa4fa4d..f0bd90e4 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -39,9 +39,14 @@ else + doc = + endif + ++if BUILD_TESTS ++tests = tests ++else ++tests = ++endif + + DIST_SUBDIRS = m4 compat mpi cipher random src doc tests +-SUBDIRS = compat mpi cipher random src $(doc) tests ++SUBDIRS = compat mpi cipher random src $(doc) $(tests) + + EXTRA_DIST = autogen.sh autogen.rc README.GIT LICENSES \ + ChangeLog-2011 build-aux/ChangeLog-2011 doc/ChangeLog-2011 \ +diff --git a/configure.ac b/configure.ac +index e8c8cd39..1a6b61e5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2710,6 +2710,16 @@ AC_ARG_ENABLE([doc], AC_HELP_STRING([--disable-doc], + AM_CONDITIONAL([BUILD_DOC], [test "x$build_doc" != xno]) + + ++# ++# Option to disable building of tests ++# ++build_tests=yes ++AC_ARG_ENABLE([tests], AC_HELP_STRING([--disable-tests], ++ [do not build tests]), ++ build_tests=$enableval, build_tests=yes) ++AM_CONDITIONAL([BUILD_TESTS], [test "x$build_tests" != xno]) ++ ++ + # + # Provide information about the build. + # +-- +2.20.1 + diff --git a/package/libgcrypt/libgcrypt.hash b/package/libgcrypt/libgcrypt.hash index 000f26dd2d..580bdf331f 100644 --- a/package/libgcrypt/libgcrypt.hash +++ b/package/libgcrypt/libgcrypt.hash @@ -1,7 +1,7 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q4/000431.html -sha1 4a8ef9db6922f3a31992aca5640b4198a69b58fc libgcrypt-1.8.4.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2019q3/000440.html +sha1 2d8781e92f88706707a1e76fb628b499ad538a30 libgcrypt-1.8.5.tar.bz2 # Locally calculated after checking signature -# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.4.tar.bz2.sig +# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.5.tar.bz2.sig # using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 f638143a0672628fde0cad745e9b14deb85dffb175709cacc1f4fe24b93f2227 libgcrypt-1.8.4.tar.bz2 +sha256 3b4a2a94cb637eff5bdebbcaf46f4d95c4f25206f459809339cdada0eb577ac3 libgcrypt-1.8.5.tar.bz2 sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LIB diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk index 452cf17ce1..d21513bd39 100644 --- a/package/libgcrypt/libgcrypt.mk +++ b/package/libgcrypt/libgcrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGCRYPT_VERSION = 1.8.4 +LIBGCRYPT_VERSION = 1.8.5 LIBGCRYPT_SOURCE = libgcrypt-$(LIBGCRYPT_VERSION).tar.bz2 LIBGCRYPT_LICENSE = LGPL-2.1+ LIBGCRYPT_LICENSE_FILES = COPYING.LIB @@ -13,9 +13,11 @@ LIBGCRYPT_INSTALL_STAGING = YES LIBGCRYPT_DEPENDENCIES = libgpg-error LIBGCRYPT_CONFIG_SCRIPTS = libgcrypt-config -LIBGCRYPT_CONF_ENV = \ - ac_cv_sys_symbol_underscore=no +# Patching acinclude.m4 in 0001 +# Patching configure.ac and Makefile.am in 0002 +LIBGCRYPT_AUTORECONF = YES LIBGCRYPT_CONF_OPTS = \ + --disable-tests \ --with-gpg-error-prefix=$(STAGING_DIR)/usr # Libgcrypt doesn't support assembly for coldfire diff --git a/package/libgdiplus/0003-gifcodec.c-Include-copy-of-GifQuantizeBuffer-functio.patch b/package/libgdiplus/0003-gifcodec.c-Include-copy-of-GifQuantizeBuffer-functio.patch new file mode 100644 index 0000000000..80e944f07c --- /dev/null +++ b/package/libgdiplus/0003-gifcodec.c-Include-copy-of-GifQuantizeBuffer-functio.patch @@ -0,0 +1,414 @@ +From afde9145030ff4989f0d7933389c20244eaf8039 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= +Date: Thu, 1 Aug 2019 17:08:36 +0200 +Subject: [PATCH] gifcodec.c: Include copy of GifQuantizeBuffer function from + giflib (#575) + +It was removed upstream so we need to include a copy of it. +The upstream code is licensed as MIT. + +Fixes https://github.com/mono/libgdiplus/issues/546 + +Signed-off-by: Heiko Thiery +--- + src/gifcodec.c | 377 +++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 369 insertions(+), 8 deletions(-) + +diff --git a/src/gifcodec.c b/src/gifcodec.c +index 6f8dedb..29a9899 100644 +--- a/src/gifcodec.c ++++ b/src/gifcodec.c +@@ -40,6 +40,374 @@ GUID gdip_gif_image_format_guid = {0xb96b3cb0U, 0x0728U, 0x11d3U, {0x9d, 0x7b, 0 + #include "gifcodec.h" + + ++/* START GifQuantizeBuffer copy from giflib ++ ++The giflib 5.2.0 release notes mention: ++ ++> The undocumented and deprecated GifQuantizeBuffer() entry point ++> has been moved to the util library to reduce libgif size and attack ++> surface. Applications needing this function are couraged to link the ++> util library or make their own copy. ++ ++Since the util library doesn't get installed in most distros we can't ++link against it and need to make our own copy called LibgdiplusGifQuantizeBuffer. ++This is taken from giflib 52b62de83d5facbbbde042b85bf3f61182e3bebd. ++ ++> The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond ++> ++> 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. ++ ++*/ ++ ++/***************************************************************************** ++ ++ quantize.c - quantize a high resolution image into lower one ++ ++ Based on: "Color Image Quantization for frame buffer Display", by ++ Paul Heckbert SIGGRAPH 1982 page 297-307. ++ ++ This doesn't really belong in the core library, was undocumented, ++ and was removed in 4.2. Then it turned out some client apps were ++ actually using it, so it was restored in 5.0. ++ ++SPDX-License-Identifier: MIT ++ ++******************************************************************************/ ++ ++#include ++#include ++#include "gif_lib.h" ++//#include "gif_lib_private.h" ++ ++//#define ABS(x) ((x) > 0 ? (x) : (-(x))) ++ ++#define COLOR_ARRAY_SIZE 32768 ++#define BITS_PER_PRIM_COLOR 5 ++#define MAX_PRIM_COLOR 0x1f ++ ++static int SortRGBAxis; ++ ++typedef struct QuantizedColorType { ++ GifByteType RGB[3]; ++ GifByteType NewColorIndex; ++ long Count; ++ struct QuantizedColorType *Pnext; ++} QuantizedColorType; ++ ++typedef struct NewColorMapType { ++ GifByteType RGBMin[3], RGBWidth[3]; ++ unsigned int NumEntries; /* # of QuantizedColorType in linked list below */ ++ unsigned long Count; /* Total number of pixels in all the entries */ ++ QuantizedColorType *QuantizedColors; ++} NewColorMapType; ++ ++static int SubdivColorMap(NewColorMapType * NewColorSubdiv, ++ unsigned int ColorMapSize, ++ unsigned int *NewColorMapSize); ++static int SortCmpRtn(const void *Entry1, const void *Entry2); ++ ++/****************************************************************************** ++ Quantize high resolution image into lower one. Input image consists of a ++ 2D array for each of the RGB colors with size Width by Height. There is no ++ Color map for the input. Output is a quantized image with 2D array of ++ indexes into the output color map. ++ Note input image can be 24 bits at the most (8 for red/green/blue) and ++ the output has 256 colors at the most (256 entries in the color map.). ++ ColorMapSize specifies size of color map up to 256 and will be updated to ++ real size before returning. ++ Also non of the parameter are allocated by this routine. ++ This function returns GIF_OK if successful, GIF_ERROR otherwise. ++******************************************************************************/ ++int ++LibgdiplusGifQuantizeBuffer(unsigned int Width, ++ unsigned int Height, ++ int *ColorMapSize, ++ GifByteType * RedInput, ++ GifByteType * GreenInput, ++ GifByteType * BlueInput, ++ GifByteType * OutputBuffer, ++ GifColorType * OutputColorMap) { ++ ++ unsigned int Index, NumOfEntries; ++ int i, j, MaxRGBError[3]; ++ unsigned int NewColorMapSize; ++ long Red, Green, Blue; ++ NewColorMapType NewColorSubdiv[256]; ++ QuantizedColorType *ColorArrayEntries, *QuantizedColor; ++ ++ ColorArrayEntries = (QuantizedColorType *)malloc( ++ sizeof(QuantizedColorType) * COLOR_ARRAY_SIZE); ++ if (ColorArrayEntries == NULL) { ++ return GIF_ERROR; ++ } ++ ++ for (i = 0; i < COLOR_ARRAY_SIZE; i++) { ++ ColorArrayEntries[i].RGB[0] = i >> (2 * BITS_PER_PRIM_COLOR); ++ ColorArrayEntries[i].RGB[1] = (i >> BITS_PER_PRIM_COLOR) & ++ MAX_PRIM_COLOR; ++ ColorArrayEntries[i].RGB[2] = i & MAX_PRIM_COLOR; ++ ColorArrayEntries[i].Count = 0; ++ } ++ ++ /* Sample the colors and their distribution: */ ++ for (i = 0; i < (int)(Width * Height); i++) { ++ Index = ((RedInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ (2 * BITS_PER_PRIM_COLOR)) + ++ ((GreenInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ BITS_PER_PRIM_COLOR) + ++ (BlueInput[i] >> (8 - BITS_PER_PRIM_COLOR)); ++ ColorArrayEntries[Index].Count++; ++ } ++ ++ /* Put all the colors in the first entry of the color map, and call the ++ * recursive subdivision process. */ ++ for (i = 0; i < 256; i++) { ++ NewColorSubdiv[i].QuantizedColors = NULL; ++ NewColorSubdiv[i].Count = NewColorSubdiv[i].NumEntries = 0; ++ for (j = 0; j < 3; j++) { ++ NewColorSubdiv[i].RGBMin[j] = 0; ++ NewColorSubdiv[i].RGBWidth[j] = 255; ++ } ++ } ++ ++ /* Find the non empty entries in the color table and chain them: */ ++ for (i = 0; i < COLOR_ARRAY_SIZE; i++) ++ if (ColorArrayEntries[i].Count > 0) ++ break; ++ QuantizedColor = NewColorSubdiv[0].QuantizedColors = &ColorArrayEntries[i]; ++ NumOfEntries = 1; ++ while (++i < COLOR_ARRAY_SIZE) ++ if (ColorArrayEntries[i].Count > 0) { ++ QuantizedColor->Pnext = &ColorArrayEntries[i]; ++ QuantizedColor = &ColorArrayEntries[i]; ++ NumOfEntries++; ++ } ++ QuantizedColor->Pnext = NULL; ++ ++ NewColorSubdiv[0].NumEntries = NumOfEntries; /* Different sampled colors */ ++ NewColorSubdiv[0].Count = ((long)Width) * Height; /* Pixels */ ++ NewColorMapSize = 1; ++ if (SubdivColorMap(NewColorSubdiv, *ColorMapSize, &NewColorMapSize) != ++ GIF_OK) { ++ free((char *)ColorArrayEntries); ++ return GIF_ERROR; ++ } ++ if (NewColorMapSize < *ColorMapSize) { ++ /* And clear rest of color map: */ ++ for (i = NewColorMapSize; i < *ColorMapSize; i++) ++ OutputColorMap[i].Red = OutputColorMap[i].Green = ++ OutputColorMap[i].Blue = 0; ++ } ++ ++ /* Average the colors in each entry to be the color to be used in the ++ * output color map, and plug it into the output color map itself. */ ++ for (i = 0; i < NewColorMapSize; i++) { ++ if ((j = NewColorSubdiv[i].NumEntries) > 0) { ++ QuantizedColor = NewColorSubdiv[i].QuantizedColors; ++ Red = Green = Blue = 0; ++ while (QuantizedColor) { ++ QuantizedColor->NewColorIndex = i; ++ Red += QuantizedColor->RGB[0]; ++ Green += QuantizedColor->RGB[1]; ++ Blue += QuantizedColor->RGB[2]; ++ QuantizedColor = QuantizedColor->Pnext; ++ } ++ OutputColorMap[i].Red = (Red << (8 - BITS_PER_PRIM_COLOR)) / j; ++ OutputColorMap[i].Green = (Green << (8 - BITS_PER_PRIM_COLOR)) / j; ++ OutputColorMap[i].Blue = (Blue << (8 - BITS_PER_PRIM_COLOR)) / j; ++ } ++ } ++ ++ /* Finally scan the input buffer again and put the mapped index in the ++ * output buffer. */ ++ MaxRGBError[0] = MaxRGBError[1] = MaxRGBError[2] = 0; ++ for (i = 0; i < (int)(Width * Height); i++) { ++ Index = ((RedInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ (2 * BITS_PER_PRIM_COLOR)) + ++ ((GreenInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ BITS_PER_PRIM_COLOR) + ++ (BlueInput[i] >> (8 - BITS_PER_PRIM_COLOR)); ++ Index = ColorArrayEntries[Index].NewColorIndex; ++ OutputBuffer[i] = Index; ++ if (MaxRGBError[0] < ABS(OutputColorMap[Index].Red - RedInput[i])) ++ MaxRGBError[0] = ABS(OutputColorMap[Index].Red - RedInput[i]); ++ if (MaxRGBError[1] < ABS(OutputColorMap[Index].Green - GreenInput[i])) ++ MaxRGBError[1] = ABS(OutputColorMap[Index].Green - GreenInput[i]); ++ if (MaxRGBError[2] < ABS(OutputColorMap[Index].Blue - BlueInput[i])) ++ MaxRGBError[2] = ABS(OutputColorMap[Index].Blue - BlueInput[i]); ++ } ++ ++#ifdef DEBUG ++ fprintf(stderr, ++ "Quantization L(0) errors: Red = %d, Green = %d, Blue = %d.\n", ++ MaxRGBError[0], MaxRGBError[1], MaxRGBError[2]); ++#endif /* DEBUG */ ++ ++ free((char *)ColorArrayEntries); ++ ++ *ColorMapSize = NewColorMapSize; ++ ++ return GIF_OK; ++} ++ ++/****************************************************************************** ++ Routine to subdivide the RGB space recursively using median cut in each ++ axes alternatingly until ColorMapSize different cubes exists. ++ The biggest cube in one dimension is subdivide unless it has only one entry. ++ Returns GIF_ERROR if failed, otherwise GIF_OK. ++*******************************************************************************/ ++static int ++SubdivColorMap(NewColorMapType * NewColorSubdiv, ++ unsigned int ColorMapSize, ++ unsigned int *NewColorMapSize) { ++ ++ unsigned int i, j, Index = 0; ++ QuantizedColorType *QuantizedColor, **SortArray; ++ ++ while (ColorMapSize > *NewColorMapSize) { ++ /* Find candidate for subdivision: */ ++ long Sum, Count; ++ int MaxSize = -1; ++ unsigned int NumEntries, MinColor, MaxColor; ++ for (i = 0; i < *NewColorMapSize; i++) { ++ for (j = 0; j < 3; j++) { ++ if ((((int)NewColorSubdiv[i].RGBWidth[j]) > MaxSize) && ++ (NewColorSubdiv[i].NumEntries > 1)) { ++ MaxSize = NewColorSubdiv[i].RGBWidth[j]; ++ Index = i; ++ SortRGBAxis = j; ++ } ++ } ++ } ++ ++ if (MaxSize == -1) ++ return GIF_OK; ++ ++ /* Split the entry Index into two along the axis SortRGBAxis: */ ++ ++ /* Sort all elements in that entry along the given axis and split at ++ * the median. */ ++ SortArray = (QuantizedColorType **)malloc( ++ sizeof(QuantizedColorType *) * ++ NewColorSubdiv[Index].NumEntries); ++ if (SortArray == NULL) ++ return GIF_ERROR; ++ for (j = 0, QuantizedColor = NewColorSubdiv[Index].QuantizedColors; ++ j < NewColorSubdiv[Index].NumEntries && QuantizedColor != NULL; ++ j++, QuantizedColor = QuantizedColor->Pnext) ++ SortArray[j] = QuantizedColor; ++ ++ /* ++ * Because qsort isn't stable, this can produce differing ++ * results for the order of tuples depending on platform ++ * details of how qsort() is implemented. ++ * ++ * We mitigate this problem by sorting on all three axes rather ++ * than only the one specied by SortRGBAxis; that way the instability ++ * can only become an issue if there are multiple color indices ++ * referring to identical RGB tuples. Older versions of this ++ * sorted on only the one axis. ++ */ ++ qsort(SortArray, NewColorSubdiv[Index].NumEntries, ++ sizeof(QuantizedColorType *), SortCmpRtn); ++ ++ /* Relink the sorted list into one: */ ++ for (j = 0; j < NewColorSubdiv[Index].NumEntries - 1; j++) ++ SortArray[j]->Pnext = SortArray[j + 1]; ++ SortArray[NewColorSubdiv[Index].NumEntries - 1]->Pnext = NULL; ++ NewColorSubdiv[Index].QuantizedColors = QuantizedColor = SortArray[0]; ++ free((char *)SortArray); ++ ++ /* Now simply add the Counts until we have half of the Count: */ ++ Sum = NewColorSubdiv[Index].Count / 2 - QuantizedColor->Count; ++ NumEntries = 1; ++ Count = QuantizedColor->Count; ++ while (QuantizedColor->Pnext != NULL && ++ (Sum -= QuantizedColor->Pnext->Count) >= 0 && ++ QuantizedColor->Pnext->Pnext != NULL) { ++ QuantizedColor = QuantizedColor->Pnext; ++ NumEntries++; ++ Count += QuantizedColor->Count; ++ } ++ /* Save the values of the last color of the first half, and first ++ * of the second half so we can update the Bounding Boxes later. ++ * Also as the colors are quantized and the BBoxes are full 0..255, ++ * they need to be rescaled. ++ */ ++ MaxColor = QuantizedColor->RGB[SortRGBAxis]; /* Max. of first half */ ++ /* coverity[var_deref_op] */ ++ MinColor = QuantizedColor->Pnext->RGB[SortRGBAxis]; /* of second */ ++ MaxColor <<= (8 - BITS_PER_PRIM_COLOR); ++ MinColor <<= (8 - BITS_PER_PRIM_COLOR); ++ ++ /* Partition right here: */ ++ NewColorSubdiv[*NewColorMapSize].QuantizedColors = ++ QuantizedColor->Pnext; ++ QuantizedColor->Pnext = NULL; ++ NewColorSubdiv[*NewColorMapSize].Count = Count; ++ NewColorSubdiv[Index].Count -= Count; ++ NewColorSubdiv[*NewColorMapSize].NumEntries = ++ NewColorSubdiv[Index].NumEntries - NumEntries; ++ NewColorSubdiv[Index].NumEntries = NumEntries; ++ for (j = 0; j < 3; j++) { ++ NewColorSubdiv[*NewColorMapSize].RGBMin[j] = ++ NewColorSubdiv[Index].RGBMin[j]; ++ NewColorSubdiv[*NewColorMapSize].RGBWidth[j] = ++ NewColorSubdiv[Index].RGBWidth[j]; ++ } ++ NewColorSubdiv[*NewColorMapSize].RGBWidth[SortRGBAxis] = ++ NewColorSubdiv[*NewColorMapSize].RGBMin[SortRGBAxis] + ++ NewColorSubdiv[*NewColorMapSize].RGBWidth[SortRGBAxis] - MinColor; ++ NewColorSubdiv[*NewColorMapSize].RGBMin[SortRGBAxis] = MinColor; ++ ++ NewColorSubdiv[Index].RGBWidth[SortRGBAxis] = ++ MaxColor - NewColorSubdiv[Index].RGBMin[SortRGBAxis]; ++ ++ (*NewColorMapSize)++; ++ } ++ ++ return GIF_OK; ++} ++ ++/**************************************************************************** ++ Routine called by qsort to compare two entries. ++*****************************************************************************/ ++ ++static int ++SortCmpRtn(const void *Entry1, ++ const void *Entry2) { ++ QuantizedColorType *entry1 = (*((QuantizedColorType **) Entry1)); ++ QuantizedColorType *entry2 = (*((QuantizedColorType **) Entry2)); ++ ++ /* sort on all axes of the color space! */ ++ int hash1 = entry1->RGB[SortRGBAxis] * 256 * 256 ++ + entry1->RGB[(SortRGBAxis+1) % 3] * 256 ++ + entry1->RGB[(SortRGBAxis+2) % 3]; ++ int hash2 = entry2->RGB[SortRGBAxis] * 256 * 256 ++ + entry2->RGB[(SortRGBAxis+1) % 3] * 256 ++ + entry2->RGB[(SortRGBAxis+2) % 3]; ++ ++ return hash1 - hash2; ++} ++ ++/* END GifQuantizeBuffer copy from giflib */ ++ + /* Data structure used for callback */ + typedef struct + { +@@ -851,14 +1219,7 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL from_file) + v += 4; + } + } +- if ( +-#if GIFLIB_MAJOR >= 5 +- GifQuantizeBuffer( +-#else +- QuantizeBuffer( +-#endif +- bitmap_data->width, bitmap_data->height, &cmap_size, +- red, green, blue, pixbuf, cmap->Colors) == GIF_ERROR) { ++ if (LibgdiplusGifQuantizeBuffer(bitmap_data->width, bitmap_data->height, &cmap_size, red, green, blue, pixbuf, cmap->Colors) == GIF_ERROR) { + goto error; + } + } +-- +2.20.1 + diff --git a/package/libgee/libgee.hash b/package/libgee/libgee.hash index 77f39d6b69..c82651c68a 100644 --- a/package/libgee/libgee.hash +++ b/package/libgee/libgee.hash @@ -1,5 +1,5 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/libgee/0.20/libgee-0.20.1.sha256sum -sha256 bb2802d29a518e8c6d2992884691f06ccfcc25792a5686178575c7111fea4630 libgee-0.20.1.tar.xz +# From http://ftp.acc.umu.se/pub/gnome/sources/libgee/0.20/libgee-0.20.3.sha256sum +sha256 d0b5edefc88cbca5f1709d19fa62aef490922c6577a14ac4e7b085507911a5de libgee-0.20.3.tar.xz # Hash for license file: -sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/libgee/libgee.mk b/package/libgee/libgee.mk index 264ba98946..4b2581e171 100644 --- a/package/libgee/libgee.mk +++ b/package/libgee/libgee.mk @@ -5,7 +5,7 @@ ################################################################################ LIBGEE_VERSION_MAJOR = 0.20 -LIBGEE_VERSION = $(LIBGEE_VERSION_MAJOR).1 +LIBGEE_VERSION = $(LIBGEE_VERSION_MAJOR).3 LIBGEE_SITE = http://ftp.gnome.org/pub/gnome/sources/libgee/$(LIBGEE_VERSION_MAJOR) LIBGEE_SOURCE = libgee-$(LIBGEE_VERSION).tar.xz LIBGEE_DEPENDENCIES = host-pkgconf host-vala libglib2 @@ -13,4 +13,11 @@ LIBGEE_INSTALL_STAGING = YES LIBGEE_LICENSE = LGPL-2.1+ LIBGEE_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +LIBGEE_CONF_OPTS += --enable-introspection +LIBGEE_DEPENDENCIES += gobject-introspection +else +LIBGEE_CONF_OPTS += --disable-introspection +endif + $(eval $(autotools-package)) diff --git a/package/libgeotiff/0001-use-pkg-config.patch b/package/libgeotiff/0001-use-pkg-config.patch deleted file mode 100644 index a4b11f1523..0000000000 --- a/package/libgeotiff/0001-use-pkg-config.patch +++ /dev/null @@ -1,79 +0,0 @@ -Use pkg-config for libtiff detection - -Using pkg-config allows proper behavior in static-only contexts: the -libtiff library might depend on libz and libjpeg. - -This patch also fixes a few other issues in the configure.ac script -that prevents autoreconf to work, or proper detection of the proj -library. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -196,39 +196,12 @@ - - TIFF_CONFIG="no" - --AC_ARG_WITH(libtiff, [ --with-libtiff=dir Use libtiff in directory dir],,) -- --if test "$with_libtiff" != "" ; then -- if test -f $with_libtiff/include/tiffio.h -a -d $with_libtiff/lib ; then -- LIBS="-L$with_libtiff/lib -ltiff $LIBS" -- TIFF_INC=-I$with_libtiff/include -- else -- LIBS="-L$with_libtiff -ltiff $LIBS" -- TIFF_INC=-I$with_libtiff -- fi -- LIBS_SAVED="$LIBS" -- AC_CHECK_LIB(tiff,TIFFOpen,[TIFF_CONFIG=yes], -- AC_MSG_ERROR([failed to link with -ltiff to find TIFFOpen]),-lm) -- AC_CHECK_LIB(tiff,TIFFMergeFieldInfo,[TIFF_CONFIG=yes], -- AC_MSG_ERROR([Libtiff 3.6.0 Beta or later required for this version of --libgeotiff. Please upgrade or use an older version of libgeotiff.]),-lm) -- LIBS="$LIBS_SAVED" --else -- AC_CHECK_LIB(tiff,TIFFOpen,[TIFF_CONFIG=yes], -- AC_MSG_ERROR([You will need to substantially rewrite libxtiff to --build libgeotiff without libtiff]),-lm) -- LIBS_SAVED="$LIBS" -- AC_CHECK_LIB(tiff,TIFFMergeFieldInfo,[TIFF_CONFIG=yes], -- AC_MSG_ERROR([Libtiff 3.6.0 Beta or later required for this version of --libgeotiff. Please upgrade libtiff or use an older version of libgeotiff.]),-lm) -- LIBS="$LIBS -ltiff" -- TIFF_INC= -- TIFF_CONFIG="yes" --fi -- -+PKG_CHECK_MODULES(LIBTIFF, libtiff-4) -+TIFF_INC="$LIBTIFF_CFLAGS" -+LIBS="$LIBS $LIBTIFF_LIBS" -+TIFF_CONFIG="yes" - - AC_SUBST([TIFF_INC]) --AC_SUBST([TIFF_PREFIX]) - AM_CONDITIONAL([TIFF_IS_CONFIG], [test ! x$TIFF_CONFIG = xno]) - - dnl -@@ -280,15 +253,16 @@ - PROJ_INC=-I$PROJ_INC - - AC_SUBST(PROJ_INC,$PROJ_INC) -- AC_DEFINE(HAVE_PROJECTS_H) -+ AC_DEFINE([HAVE_PROJECTS_H], [], [Whether proj library header is available]) - AC_DEFINE(HAVE_LIBPROJ) - AC_SUBST([HAVE_LIBPROJ]) - PROJ_CONFIG="yes" -- - else - AC_CHECK_LIB(proj,pj_init,,,-lm) - AC_CHECK_HEADERS(proj_api.h,,) -- PROJ_CONFIG="yes" -+ if "$ac_cv_lib_proj_pj_init" = "yes" -a "$ac_cv_header_proj_api_h" = "yes"; then -+ PROJ_CONFIG="yes" -+ fi - fi - - AM_CONDITIONAL([PROJ_IS_CONFIG], [test ! x$PROJ_CONFIG = xno]) diff --git a/package/libgeotiff/0002-fix-GEO_NORMALIZE_DISABLE_TOWGS84-define.patch b/package/libgeotiff/0002-fix-GEO_NORMALIZE_DISABLE_TOWGS84-define.patch deleted file mode 100644 index a8a2d257cb..0000000000 --- a/package/libgeotiff/0002-fix-GEO_NORMALIZE_DISABLE_TOWGS84-define.patch +++ /dev/null @@ -1,20 +0,0 @@ -Fix GEO_NORMALIZE_DISABLE_TOWGS84 definition - -Fix "missing template: GEO_NORMALIZE_DISABLE_TOWGS84" error by adding -a non-empty description of GEO_NORMALIZE_DISABLE_TOWGS84 in AC_DEFINE - -Signed-off-by: Fabrice Fontaine - -Index: libgeotiff/configure.ac -=================================================================== ---- libgeotiff/configure.ac (révision 2818) -+++ libgeotiff/configure.ac (copie de travail) -@@ -317,7 +317,7 @@ - AM_CONDITIONAL([CSV_IS_CONFIG], [test ! x$CSV_CONFIG = xno]) - - --AC_ARG_ENABLE(towgs84, [ --disable-towgs84 Disable WGS84 parameters for binary compatibility with pre-1.4.1], AC_DEFINE(GEO_NORMALIZE_DISABLE_TOWGS84)) -+AC_ARG_ENABLE(towgs84, [ --disable-towgs84 Disable WGS84 parameters for binary compatibility with pre-1.4.1], AC_DEFINE(GEO_NORMALIZE_DISABLE_TOWGS84, [], [Disable WGS84 parameters])) - - dnl ######################################################################### - dnl Doxygen settings diff --git a/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 deleted file mode 100644 index 68082dd023..0000000000 --- a/package/libgeotiff/0003-libgeotiff-configure.ac-do-not-check-for-C.patch +++ /dev/null @@ -1,65 +0,0 @@ -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/Config.in b/package/libgeotiff/Config.in index 530cd450b4..7ed296fb25 100644 --- a/package/libgeotiff/Config.in +++ b/package/libgeotiff/Config.in @@ -1,8 +1,18 @@ config BR2_PACKAGE_LIBGEOTIFF bool "libgeotiff" + depends on BR2_INSTALL_LIBSTDCPP # proj + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # proj + depends on BR2_TOOLCHAIN_HAS_THREADS # proj + depends on BR2_USE_WCHAR # proj + select BR2_PACKAGE_PROJ select BR2_PACKAGE_TIFF help Libgeotiff is an open source library normally hosted on top of libtiff for reading, and writing GeoTIFF information tags. - http://geotiff.osgeo.org + https://github.com/OSGeo/libgeotiff + +comment "libgeotiff needs a toolchain w/ C++, gcc >= 4.7, threads, wchar" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR diff --git a/package/libgeotiff/libgeotiff.hash b/package/libgeotiff/libgeotiff.hash index 08e8e06788..51adcc2843 100644 --- a/package/libgeotiff/libgeotiff.hash +++ b/package/libgeotiff/libgeotiff.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b8510d9b968b5ee899282cdd5bef13fd02d5a4c19f664553f81e31127bc47265 libgeotiff-1.4.3.tar.gz -sha256 16b83cf7c3bbfd20bffa768b9bfdb16506ca50f5c140a9f3431e740b155359c1 LICENSE +sha256 9311017e5284cffb86f2c7b7a9df1fb5ebcdc61c30468fb2e6bca36e4272ebca libgeotiff-1.6.0.tar.gz +sha256 6a22340b8293c50a34ce8e95589489bd3ec65bcb8b93e61cbda3daaafe498375 LICENSE diff --git a/package/libgeotiff/libgeotiff.mk b/package/libgeotiff/libgeotiff.mk index a4606bc30c..c6fb61b4a2 100644 --- a/package/libgeotiff/libgeotiff.mk +++ b/package/libgeotiff/libgeotiff.mk @@ -4,13 +4,12 @@ # ################################################################################ -LIBGEOTIFF_VERSION = 1.4.3 +LIBGEOTIFF_VERSION = 1.6.0 LIBGEOTIFF_SITE = http://download.osgeo.org/geotiff/libgeotiff LIBGEOTIFF_LICENSE = X11-style, public domain LIBGEOTIFF_LICENSE_FILES = LICENSE -LIBGEOTIFF_DEPENDENCIES = tiff host-pkgconf +LIBGEOTIFF_DEPENDENCIES = proj tiff host-pkgconf LIBGEOTIFF_INSTALL_STAGING = YES -LIBGEOTIFF_AUTORECONF = YES ifeq ($(BR2_PACKAGE_ZLIB),y) LIBGEOTIFF_DEPENDENCIES += zlib @@ -26,11 +25,4 @@ 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/libgit2/Config.in b/package/libgit2/Config.in index 53ba4d4245..a6a9728ff0 100644 --- a/package/libgit2/Config.in +++ b/package/libgit2/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_LIBGIT2 bool "libgit2" + depends on !BR2_STATIC_LIBS # libhttpparser + select BR2_PACKAGE_LIBHTTPPARSER select BR2_PACKAGE_ZLIB help libgit2 is a portable, pure C implementation of the Git core @@ -7,3 +9,6 @@ config BR2_PACKAGE_LIBGIT2 allowing to build Git functionality into your application. https://github.com/libgit2/libgit2 + +comment "libgit2 needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/libgit2/libgit2.hash b/package/libgit2/libgit2.hash index 41ab87bf4d..6e977a97e0 100644 --- a/package/libgit2/libgit2.hash +++ b/package/libgit2/libgit2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0b7ca31cb959ff1b22afa0da8621782afe61f99242bf716c403802ffbdb21d51 libgit2-v0.27.4.tar.gz -sha256 d9a8038088df84fde493fa33a0f1e537252eeb9642122aa4b862690197152813 COPYING +sha256 6a1fa16a7f6335ce8b2630fbdbb5e57c4027929ebc56fcd1ac55edb141b409b4 libgit2-1.0.0.tar.gz +sha256 afc8bde99ba630012107c25d3c42dde628ec5f0cd3f428131f7e3a0f7d58ff42 COPYING diff --git a/package/libgit2/libgit2.mk b/package/libgit2/libgit2.mk index 551e3dea62..46cc4286c6 100644 --- a/package/libgit2/libgit2.mk +++ b/package/libgit2/libgit2.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBGIT2_VERSION = v0.27.4 -LIBGIT2_SITE = $(call github,libgit2,libgit2,$(LIBGIT2_VERSION)) -LIBGIT2_LICENSE = GPL-2.0 with linking exception +LIBGIT2_VERSION = 1.0.0 +LIBGIT2_SITE = https://github.com/libgit2/libgit2/releases/download/v$(LIBGIT2_VERSION) +LIBGIT2_LICENSE = GPL-2.0 with linking exception, MIT (sha1), wildmatch license (wildmatch) LIBGIT2_LICENSE_FILES = COPYING LIBGIT2_INSTALL_STAGING = YES @@ -14,9 +14,11 @@ LIBGIT2_CONF_OPTS = \ -DUSE_GSSAPI=OFF \ -DBUILD_CLAR=OFF \ -DUSE_ICONV=ON \ + -DREGEX_BACKEND=regcomp \ + -DUSE_HTTP_PARSER=system \ -DTHREADSAFE=$(if $(BR2_TOOLCHAIN_HAS_THREADS),ON,OFF) -LIBGIT2_DEPENDENCIES = zlib +LIBGIT2_DEPENDENCIES = zlib libhttpparser # If libiconv is available (for !locale toolchains), then we can use # it for iconv support. Note that USE_ICONV=ON is still correct even @@ -41,11 +43,4 @@ else LIBGIT2_CONF_OPTS += -DUSE_HTTPS=OFF endif -ifeq ($(BR2_PACKAGE_LIBCURL),y) -LIBGIT2_DEPENDENCIES += libcurl -LIBGIT2_CONF_OPTS += -DCURL=ON -else -LIBGIT2_CONF_OPTS += -DCURL=OFF -endif - $(eval $(cmake-package)) diff --git a/package/libglew/libglew.hash b/package/libglew/libglew.hash index 44684ffc83..2e1b1f3c3c 100644 --- a/package/libglew/libglew.hash +++ b/package/libglew/libglew.hash @@ -1,5 +1,6 @@ -# From https://sourceforge.net/projects/glew/files/glew/2.0.0/ -sha1 6e15c84f7e1fad34cd3679f784a233744ddf048f glew-2.0.0.tgz -md5 2a2cd7c98f13854d2fcddae0d2b20411 glew-2.0.0.tgz +# From https://sourceforge.net/projects/glew/files/glew/2.1.0/ +sha1 18eca05460d0b61709fc115e632b6fe320718b44 glew-2.1.0.tgz +md5 b2ab12331033ddfaa50dc39345343980 glew-2.1.0.tgz # Locally computed: -sha256 c572c30a4e64689c342ba1624130ac98936d7af90c3103f9ce12b8a0c5736764 glew-2.0.0.tgz +sha256 04de91e7e6763039bc11940095cd9c7f880baba82196a7765f727ac05a993c95 glew-2.1.0.tgz +sha256 8991cd11befec7c6a63662700f03c0cc42e864b6e77c7e70b80297c951a7f0ff LICENSE.txt diff --git a/package/libglew/libglew.mk b/package/libglew/libglew.mk index 277a171b14..fa26292567 100644 --- a/package/libglew/libglew.mk +++ b/package/libglew/libglew.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGLEW_VERSION = 2.0.0 +LIBGLEW_VERSION = 2.1.0 LIBGLEW_SOURCE = glew-$(LIBGLEW_VERSION).tgz LIBGLEW_SITE = http://sourceforge.net/projects/glew/files/glew/$(LIBGLEW_VERSION) LIBGLEW_LICENSE = BSD-3-Clause, MIT @@ -15,6 +15,7 @@ LIBGLEW_DEPENDENCIES = libgl xlib_libX11 xlib_libXext xlib_libXi xlib_libXmu # using $TARGET_CONFIGURE_OPTS breaks compilation define LIBGLEW_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + GLEW_NO_GLU="-DGLEW_NO_GLU" \ GLEW_DEST="/usr" LIBDIR="/usr/lib" \ AR="$(TARGET_AR)" CC="$(TARGET_CC)" \ LD="$(TARGET_CC)" STRIP="$(TARGET_STRIP)" \ @@ -23,12 +24,14 @@ endef define LIBGLEW_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + GLEW_NO_GLU="-DGLEW_NO_GLU" \ GLEW_DEST="$(STAGING_DIR)/usr" LIBDIR="$(STAGING_DIR)/usr/lib" \ $(TARGET_CONFIGURE_OPTS) install endef define LIBGLEW_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + GLEW_NO_GLU="-DGLEW_NO_GLU" \ GLEW_DEST="$(TARGET_DIR)/usr" LIBDIR="$(TARGET_DIR)/usr/lib" \ $(TARGET_CONFIGURE_OPTS) install endef diff --git a/package/libglfw/Config.in b/package/libglfw/Config.in index 045bd269e4..06f4376453 100644 --- a/package/libglfw/Config.in +++ b/package/libglfw/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_LIBGLFW depends on BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_XLIB_LIBXCURSOR select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_LIBXI select BR2_PACKAGE_XLIB_LIBXINERAMA select BR2_PACKAGE_XLIB_LIBXRANDR help diff --git a/package/libglfw/libglfw.hash b/package/libglfw/libglfw.hash index 39d6c26139..c21a595bbc 100644 --- a/package/libglfw/libglfw.hash +++ b/package/libglfw/libglfw.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e10f0de1384d75e6fc210c53e91843f6110d6c4f3afbfb588130713c2f9d8fe8 libglfw-3.2.1.tar.gz -sha256 8d85c2fc8de8f3b8c0906e317a2d6423268ef4291a3682d94ac910f65389a441 COPYING.txt +sha256 98768e12e615fbe9f3386f5bbfeb91b5a3b45a8c4c77159cef06b1f6ff749537 libglfw-3.3.2.tar.gz +sha256 149704059b5d0bf551637e50042dd4de9c2cae921021f6636298911e3a5f9462 LICENSE.md diff --git a/package/libglfw/libglfw.mk b/package/libglfw/libglfw.mk index b6dde2e9d6..63d2a88bf8 100644 --- a/package/libglfw/libglfw.mk +++ b/package/libglfw/libglfw.mk @@ -4,23 +4,19 @@ # ################################################################################ -LIBGLFW_VERSION = 3.2.1 +LIBGLFW_VERSION = 3.3.2 LIBGLFW_SITE = $(call github,glfw,glfw,$(LIBGLFW_VERSION)) LIBGLFW_INSTALL_STAGING = YES LIBGLFW_DEPENDENCIES = libgl xlib_libXcursor xlib_libXext \ - xlib_libXinerama xlib_libXrandr + xlib_libXi xlib_libXinerama xlib_libXrandr LIBGLFW_LICENSE = Zlib -LIBGLFW_LICENSE_FILES = COPYING.txt +LIBGLFW_LICENSE_FILES = LICENSE.md LIBGLFW_CONF_OPTS += \ -DGLFW_BUILD_EXAMPLES=OFF \ -DGLFW_BUILD_TESTS=OFF \ -DGLFW_BUILD_DOCS=OFF -ifeq ($(BR2_PACKAGE_XLIB_LIBXI),y) -LIBGLFW_DEPENDENCIES += xlib_libXi -endif - ifeq ($(BR2_PACKAGE_XLIB_LIBXXF86VM),y) LIBGLFW_DEPENDENCIES += xlib_libXxf86vm endif diff --git a/package/libglib2/0001-fix-compile-time-atomic-detection.patch b/package/libglib2/0001-fix-compile-time-atomic-detection.patch index 708188b2c1..9d2381bb35 100644 --- a/package/libglib2/0001-fix-compile-time-atomic-detection.patch +++ b/package/libglib2/0001-fix-compile-time-atomic-detection.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Fix compile time atomic detection Improved compile-time detection of atomic support in the compiler. -Upstream-Status: submitted -See : https://bugzilla.gnome.org/show_bug.cgi?id=752731 +Upstream-Status: Merged +See : https://gitlab.gnome.org/GNOME/glib/issues/1063 Signed-off-by: Brendan Heading -Signed-off-by: Adam Duskett +Signed-off-by: Adam Duskett --- glib/gthread-posix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -18,7 +18,7 @@ diff --git a/glib/gthread-posix.c b/glib/gthread-posix.c index 71a6b7b..d09d029 100644 --- a/glib/gthread-posix.c +++ b/glib/gthread-posix.c -@@ -65,7 +65,7 @@ +@@ -73,7 +73,7 @@ #endif /* clang defines __ATOMIC_SEQ_CST but doesn't support the GCC extension */ diff --git a/package/libglib2/0002-allow-explicit-disabling-of-tests.patch b/package/libglib2/0002-allow-explicit-disabling-of-tests.patch new file mode 100644 index 0000000000..c865c04e03 --- /dev/null +++ b/package/libglib2/0002-allow-explicit-disabling-of-tests.patch @@ -0,0 +1,37 @@ +From cdccbc6ec36243463613cb32d7058c26c3c51e16 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Wed, 18 Sep 2019 09:50:00 -0700 +Subject: [PATCH] allow explicit disabling of tests + +Upstream won't build tests when cross-compiling. However; this means still +building the tests during a host build. Building the tests causes build +failures on older distributions such as CentOS 6 and Debian 7 because the +command `objcopy --add-symbol` is used when building the test +"test_resources2," which is not available with the older version of objcopy +provided by the distributions. + +Instead, remove the conditional checks which set build_tests and only check if +installed_tests_enabled is passed. + +Signed-off-by: Adam Duskett +Refresh for 2.62.2 +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 99806d0..3206603 100644 +--- a/meson.build ++++ b/meson.build +@@ -84,7 +84,7 @@ installed_tests_template = files('template.test.in') + installed_tests_template_tap = files('template-tap.test.in') + + # Don’t build the tests unless we can run them (either natively, in an exe wrapper, or by installing them for later use) +-build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper()) or installed_tests_enabled ++build_tests = installed_tests_enabled + + add_project_arguments('-D_GNU_SOURCE', language: 'c') + +-- +2.23.0 + diff --git a/package/libglib2/0002-disable-tests.patch b/package/libglib2/0002-disable-tests.patch deleted file mode 100644 index 523ebb35ac..0000000000 --- a/package/libglib2/0002-disable-tests.patch +++ /dev/null @@ -1,60 +0,0 @@ -From ee2d6609bce808ac72afdbf86db1a6e27c78171e Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Wed, 21 Jun 2017 16:37:54 -0400 -Subject: [PATCH] disable tests - -Disable tests, some of them need python and sometimes host-python -gets mixed with distro python leading to build failures. - -Signed-off-by: Gustavo Zacarias -Signed-off-by: Adam Duskett ---- - Makefile.am | 2 +- - gio/Makefile.am | 2 +- - glib/Makefile.am | 4 ++-- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 008ad58..007332d 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -6,7 +6,7 @@ include $(top_srcdir)/glib.mk - - ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS} - --SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs tests -+SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs - DIST_SUBDIRS = $(SUBDIRS) build win32 - - bin_SCRIPTS = glib-gettextize -diff --git a/gio/Makefile.am b/gio/Makefile.am -index 67db1b7..78309b5 100644 ---- a/gio/Makefile.am -+++ b/gio/Makefile.am -@@ -244,7 +244,7 @@ platform_libadd += win32/libgiowin32.la - platform_deps += win32/libgiowin32.la - endif - --SUBDIRS += . tests -+SUBDIRS += . - - if HAVE_FAM - SUBDIRS += fam -diff --git a/glib/Makefile.am b/glib/Makefile.am -index d755853..61166e5 100644 ---- a/glib/Makefile.am -+++ b/glib/Makefile.am -@@ -33,8 +33,8 @@ else - MAYBE_PCRE = pcre - endif - --SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . tests --DIST_SUBDIRS = libcharset gnulib pcre update-pcre tests -+SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . -+DIST_SUBDIRS = libcharset gnulib pcre update-pcre - - AM_CPPFLAGS = \ - $(glib_INCLUDES) \ --- -2.9.4 - diff --git a/package/libglib2/0003-remove-cpp-requirement.patch b/package/libglib2/0003-remove-cpp-requirement.patch new file mode 100644 index 0000000000..6d267e464e --- /dev/null +++ b/package/libglib2/0003-remove-cpp-requirement.patch @@ -0,0 +1,96 @@ +From 2f168951df1feebeac549ada1ea44ea092484c54 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 16 Sep 2019 10:12:38 -0700 +Subject: [PATCH] remove cpp requirement + +The c++ test is necessary to ensure libglib doesn't accidentally use C++ +reserved keywords in public headers. Because this is just a test, it isn't +necessary to have a C++ compiler to build libglib2. + +Signed-off-by: Adam Duskett +Upstream status: Denied (Buildroot specific) +https://gitlab.gnome.org/GNOME/glib/issues/1748 +--- + glib/glibconfig.h.in | 1 - + meson.build | 18 +----------------- + tests/meson.build | 5 ----- + 3 files changed, 1 insertion(+), 23 deletions(-) + +diff --git a/glib/glibconfig.h.in b/glib/glibconfig.h.in +index 7ef8c48..128e65d 100644 +--- a/glib/glibconfig.h.in ++++ b/glib/glibconfig.h.in +@@ -117,7 +117,6 @@ typedef unsigned @glib_intptr_type_define@ guintptr; + @glib_vacopy@ + + @g_have_iso_c_varargs@ +-@g_have_iso_cxx_varargs@ + + /* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi + * is passed ISO vararg support is turned off, and there is no work +diff --git a/meson.build b/meson.build +index 4bbf4c2..ac59f4e 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,4 +1,4 @@ +-project('glib', 'c', 'cpp', ++project('glib', 'c', + version : '2.64.2', + # NOTE: We keep this pinned at 0.49 because that's what Debian 10 ships + meson_version : '>= 0.49.2', +@@ -10,7 +10,6 @@ project('glib', 'c', 'cpp', + ) + + cc = meson.get_compiler('c') +-cxx = meson.get_compiler('cpp') + + cc_can_run = not meson.is_cross_build() or meson.has_exe_wrapper() + +@@ -1548,20 +1547,6 @@ if g_have_iso_c_varargs + #endif''') + endif + +-g_have_iso_cxx_varargs = cxx.compiles(''' +- void some_func (void) { +- int a(int p1, int p2, int p3); +- #define call_a(...) a(1,__VA_ARGS__) +- call_a(2,3); +- }''', name : 'ISO C99 varargs macros in C++') +- +-if g_have_iso_cxx_varargs +- glibconfig_conf.set('g_have_iso_cxx_varargs', ''' +-#ifdef __cplusplus +-# define G_HAVE_ISO_VARARGS 1 +-#endif''') +-endif +- + g_have_gnuc_varargs = cc.compiles(''' + void some_func (void) { + int a(int p1, int p2, int p3); +@@ -2167,7 +2152,6 @@ subdir('gobject') + subdir('gthread') + subdir('gmodule') + subdir('gio') +-subdir('fuzzing') + if build_tests + subdir('tests') + endif +diff --git a/tests/meson.build b/tests/meson.build +index e4ea226..7fd974c 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -55,11 +55,6 @@ tests = { + 'source': 'module-test.c', + 'c_args': ['-DMODULE_TYPE="plugin"'], + }, +- 'cxx-test' : { +- 'source' : 'cxx-test.cpp', +- 'include_directories' : gmoduleinc, +- 'dependencies' : [libgio_dep], +- }, + } + + test_extra_programs = { +-- +2.23.0 + diff --git a/package/libglib2/0004-Add-Wno-format-nonliteral-to-compiler-arguments.patch b/package/libglib2/0004-Add-Wno-format-nonliteral-to-compiler-arguments.patch new file mode 100644 index 0000000000..f792ceba3f --- /dev/null +++ b/package/libglib2/0004-Add-Wno-format-nonliteral-to-compiler-arguments.patch @@ -0,0 +1,28 @@ +From 9e0f11a4981737f98bac93a22b6f2ff1a3887b63 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Tue, 9 Apr 2019 13:03:51 -0400 +Subject: [PATCH] Add '-Wno-format-nonliteral' to compiler arguments. + +This warning is a false positive on older versions of gcc. +See https://gitlab.gnome.org/GNOME/glib/issues/1744 for more details. + +Signed-off-by: Adam Duskett +--- + meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/meson.build b/meson.build +index 3c615b7..7cae4e8 100644 +--- a/meson.build ++++ b/meson.build +@@ -372,6 +372,7 @@ if cc.get_id() == 'gcc' or cc.get_id() == 'clang' + '-Wno-cast-function-type', ++ '-Wno-format-nonliteral', + # Due to function casts through (void*) we cannot support -Wpedantic: + # https://wiki.gnome.org/Projects/GLib/CompilerRequirements#Function_pointer_conversions. + '-Wno-pedantic', + '-Werror=declaration-after-statement', + '-Werror=format=2', +-- +2.20.1 + diff --git a/package/libglib2/0004-Do-not-hardcode-python-path-into-various-tools.patch b/package/libglib2/0004-Do-not-hardcode-python-path-into-various-tools.patch deleted file mode 100644 index fa558e6dbf..0000000000 --- a/package/libglib2/0004-Do-not-hardcode-python-path-into-various-tools.patch +++ /dev/null @@ -1,48 +0,0 @@ -From b9160d951b9af647b97766c57295ca4f45cf9521 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Tue, 3 Oct 2017 10:45:55 +0300 -Subject: [PATCH] Do not hardcode python path into various tools - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin -Fetch from: http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch?id=eef7883587acc933d6f34b559ec03ff84d18573b -Signed-off-by: David Owens ---- - gio/gdbus-2.0/codegen/gdbus-codegen.in | 2 +- - gobject/glib-genmarshal.in | 2 +- - gobject/glib-mkenums.in | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in -index 8050981..e693ef3 100644 ---- a/gio/gdbus-2.0/codegen/gdbus-codegen.in -+++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in -@@ -1,4 +1,4 @@ --#!/usr/bin/env @PYTHON@ -+#!/usr/bin/env python - - # GDBus - GLib D-Bus Library - # -diff --git a/gobject/glib-genmarshal.in b/gobject/glib-genmarshal.in -index 09e8408..b2f9d99 100755 ---- a/gobject/glib-genmarshal.in -+++ b/gobject/glib-genmarshal.in -@@ -1,4 +1,4 @@ --#!/usr/bin/env @PYTHON@ -+#!/usr/bin/env python - - # pylint: disable=too-many-lines, missing-docstring, invalid-name - -diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in -index d4bfd11..051fce4 100755 ---- a/gobject/glib-mkenums.in -+++ b/gobject/glib-mkenums.in -@@ -1,4 +1,4 @@ --#!/usr/bin/env @PYTHON@ -+#!/usr/bin/env python - - # If the code below looks horrible and unpythonic, do not panic. - # --- -2.14.1 - diff --git a/package/libglib2/Config.in b/package/libglib2/Config.in index ea946ba05e..31f3649c75 100644 --- a/package/libglib2/Config.in +++ b/package/libglib2/Config.in @@ -7,8 +7,6 @@ config BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBFFI select BR2_PACKAGE_PCRE select BR2_PACKAGE_PCRE_UCP - select BR2_PACKAGE_UTIL_LINUX - select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT select BR2_PACKAGE_ZLIB help Low-level core library that forms the basis of GTK+ and GNOME. diff --git a/package/libglib2/libglib2.hash b/package/libglib2/libglib2.hash index 57403a2154..c275f1f86b 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.3.sha256sum -sha256 a9a4c5b4c81b6c75bc140bdf5e32120ef3ce841b7413214ecf5f987acec74cb2 glib-2.56.3.tar.xz +# https://download.gnome.org/sources/glib/2.64/glib-2.64.2.sha256sum +sha256 9a2f21ed8f13b9303399de13a0252b7cbcede593d26971378ec6cb90e87f2277 glib-2.64.2.tar.xz # License files, locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk index 44c0591109..7106124d72 100644 --- a/package/libglib2/libglib2.mk +++ b/package/libglib2/libglib2.mk @@ -4,105 +4,35 @@ # ################################################################################ -LIBGLIB2_VERSION_MAJOR = 2.56 -LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).3 +LIBGLIB2_VERSION_MAJOR = 2.64 +LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).2 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+ LIBGLIB2_LICENSE_FILES = COPYING -# 0002-disable-tests.patch -LIBGLIB2_AUTORECONF = YES - LIBGLIB2_INSTALL_STAGING = YES -LIBGLIB2_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install -LIBGLIB2_CONF_ENV = \ - ac_cv_func_posix_getpwuid_r=yes \ - glib_cv_stack_grows=no \ - glib_cv_uscore=no \ - ac_cv_func_strtod=yes \ - ac_fsusage_space=yes \ - fu_cv_sys_stat_statfs2_bsize=yes \ - ac_cv_func_closedir_void=no \ - ac_cv_func_getloadavg=no \ - ac_cv_lib_util_getloadavg=no \ - ac_cv_lib_getloadavg_getloadavg=no \ - ac_cv_func_getgroups=yes \ - ac_cv_func_getgroups_works=yes \ - ac_cv_func_chown_works=yes \ - ac_cv_have_decl_euidaccess=no \ - ac_cv_func_euidaccess=no \ - ac_cv_have_decl_strnlen=yes \ - ac_cv_func_strnlen_working=yes \ - ac_cv_func_lstat_dereferences_slashed_symlink=yes \ - ac_cv_func_lstat_empty_string_bug=no \ - ac_cv_func_stat_empty_string_bug=no \ - vb_cv_func_rename_trailing_slash_bug=no \ - ac_cv_have_decl_nanosleep=yes \ - jm_cv_func_nanosleep_works=yes \ - gl_cv_func_working_utimes=yes \ - ac_cv_func_utime_null=yes \ - jm_cv_func_svid_putenv=yes \ - ac_cv_func_getcwd_null=yes \ - ac_cv_func_getdelim=yes \ - ac_cv_func_mkstemp=yes \ - utils_cv_func_mkstemp_limitations=no \ - utils_cv_func_mkdir_trailing_slash_bug=no \ - jm_cv_func_gettimeofday_clobber=no \ - gl_cv_func_working_readdir=yes \ - jm_ac_cv_func_link_follows_symlink=no \ - utils_cv_localtime_cache=no \ - ac_cv_struct_st_mtim_nsec=no \ - gl_cv_func_tzset_clobber=no \ - gl_cv_func_getcwd_null=yes \ - gl_cv_func_getcwd_path_max=yes \ - ac_cv_func_fnmatch_gnu=yes \ - am_getline_needs_run_time_check=no \ - am_cv_func_working_getline=yes \ - gl_cv_func_mkdir_trailing_slash_bug=no \ - gl_cv_func_mkstemp_limitations=no \ - ac_cv_func_working_mktime=yes \ - jm_cv_func_working_re_compile_pattern=yes \ - ac_use_included_regex=no \ - gl_cv_c_restrict=no \ - ac_cv_path_GLIB_GENMARSHAL=$(HOST_DIR)/bin/glib-genmarshal \ - ac_cv_prog_F77=no \ - ac_cv_func_posix_getgrgid_r=no \ - glib_cv_long_long_format=ll \ - ac_cv_func_printf_unix98=yes \ - ac_cv_func_vsnprintf_c99=yes \ - ac_cv_func_newlocale=no \ - ac_cv_func_uselocale=no \ - ac_cv_func_strtod_l=no \ - ac_cv_func_strtoll_l=no \ - ac_cv_func_strtoull_l=no \ - gt_cv_c_wchar_t=$(if $(BR2_USE_WCHAR),yes,no) - -# old uClibc versions don't provide qsort_r -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y) -LIBGLIB2_CONF_ENV += glib_cv_have_qsort_r=no -else -LIBGLIB2_CONF_ENV += glib_cv_have_qsort_r=yes -endif +LIBGLIB2_CFLAGS = $(TARGET_CFLAGS) +LIBGLIB2_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) # glib/valgrind.h contains inline asm not compatible with thumb1 ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) -LIBGLIB2_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" +LIBGLIB2_CFLAGS += -marm endif HOST_LIBGLIB2_CONF_OPTS = \ - --disable-coverage \ - --disable-dtrace \ - --disable-fam \ - --disable-libelf \ - --disable-selinux \ - --disable-systemtap \ - --disable-xattr \ - --with-pcre=system + -Ddtrace=false \ + -Dfam=false \ + -Dselinux=disabled \ + -Dsystemtap=false \ + -Dxattr=false \ + -Dinternal_pcre=false \ + -Dinstalled_tests=false \ + -Doss_fuzz=disabled LIBGLIB2_DEPENDENCIES = \ host-pkgconf host-libglib2 \ - libffi pcre util-linux zlib $(TARGET_NLS_DEPENDENCIES) + libffi pcre zlib $(TARGET_NLS_DEPENDENCIES) HOST_LIBGLIB2_DEPENDENCIES = \ host-gettext \ @@ -117,31 +47,34 @@ HOST_LIBGLIB2_DEPENDENCIES = \ # ${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 \ - --with-gio-module-dir=/usr/lib/gio/modules + -Dinternal_pcre=false \ + -Dgio_module_dir=/usr/lib/gio/modules \ + -Dinstalled_tests=false \ + -Doss_fuzz=disabled + +LIBGLIB2_MESON_EXTRA_PROPERTIES = \ + have_c99_vsnprintf=true \ + have_c99_snprintf=true \ + have_unix98_printf=true ifneq ($(BR2_ENABLE_LOCALE),y) LIBGLIB2_DEPENDENCIES += libiconv endif ifeq ($(BR2_PACKAGE_ELFUTILS),y) -LIBGLIB2_CONF_OPTS += --enable-libelf LIBGLIB2_DEPENDENCIES += elfutils -else -LIBGLIB2_CONF_OPTS += --disable-libelf endif ifeq ($(BR2_PACKAGE_LIBICONV),y) -LIBGLIB2_CONF_OPTS += --with-libiconv=gnu +LIBGLIB2_CONF_OPTS += -Diconv=external LIBGLIB2_DEPENDENCIES += libiconv endif ifeq ($(BR2_PACKAGE_LIBSELINUX),y) -LIBGLIB2_CONF_OPTS += --enable-selinux +LIBGLIB2_CONF_OPTS += -Dselinux=enabled LIBGLIB2_DEPENDENCIES += libselinux else -LIBGLIB2_CONF_OPTS += --disable-selinux +LIBGLIB2_CONF_OPTS += -Dselinux=disabled endif # Purge gdb-related files @@ -151,6 +84,13 @@ define LIBGLIB2_REMOVE_GDB_FILES endef endif +ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),y) +LIBGLIB2_CONF_OPTS += -Dlibmount=enabled +LIBGLIB2_DEPENDENCIES += util-linux +else +LIBGLIB2_CONF_OPTS += -Dlibmount=disabled +endif + # Purge useless binaries from target define LIBGLIB2_REMOVE_DEV_FILES rm -rf $(TARGET_DIR)/usr/lib/glib-2.0 @@ -161,6 +101,17 @@ endef LIBGLIB2_POST_INSTALL_TARGET_HOOKS += LIBGLIB2_REMOVE_DEV_FILES +# Newer versions of libglib2 prefix glib-genmarshal, gobject-query, +# glib-mkenums, glib_compile_schemas, glib_compile_resources and gdbus-codegen +# with ${bindir}. Unfortunately, this will resolve to the host systems /bin/ +# directory, which will cause compilation issues if the host does not have these +# programs. By removing the ${bindir}/ prefix, these programs are resolved in +# PATH instead. +define LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE + $(SED) 's%$${bindir}/%%g' $(addprefix $(STAGING_DIR)/usr/lib/pkgconfig/, glib-2.0.pc gio-2.0.pc) +endef +LIBGLIB2_POST_INSTALL_TARGET_HOOKS += LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE + # Remove schema sources/DTDs, we use staging ones to compile them. # Do so at target finalization since other packages install additional # ones and we want to deal with it in a single place. @@ -181,7 +132,7 @@ endef LIBGLIB2_TARGET_FINALIZE_HOOKS += LIBGLIB2_REMOVE_TARGET_SCHEMAS LIBGLIB2_TARGET_FINALIZE_HOOKS += LIBGLIB2_COMPILE_SCHEMAS -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) +$(eval $(meson-package)) +$(eval $(host-meson-package)) LIBGLIB2_HOST_BINARY = $(HOST_DIR)/bin/glib-genmarshal diff --git a/package/libglob/Config.in b/package/libglob/Config.in index 029ed6a1d3..7ae2bfd250 100644 --- a/package/libglob/Config.in +++ b/package/libglob/Config.in @@ -2,3 +2,5 @@ config BR2_PACKAGE_LIBGLOB bool "libglob" help OpenBSD implementation of glob(3). + + https://github.com/void-linux/libglob diff --git a/package/libglu/libglu.hash b/package/libglu/libglu.hash index 468787864e..b0202a1334 100644 --- a/package/libglu/libglu.hash +++ b/package/libglu/libglu.hash @@ -1,3 +1,7 @@ +# From https://lists.freedesktop.org/archives/mesa-announce/2019-July/000530.html +md5 151aef599b8259efe9acd599c96ea2a3 glu-9.0.1.tar.xz +sha1 b6ffef562ba55d3f80146d4238589cb9b1de66f5 glu-9.0.1.tar.xz +sha256 fb5a4c2dd6ba6d1c21ab7c05129b0769544e1d68e1e3b0ffecb18e73c93055bc glu-9.0.1.tar.xz +sha512 8a6dae5b4bd63efb96d15f23ccda4ad9c2ffaa964897e5fa63d1e58360d8d4e6732c5efd2109dba04155d5fc457ab1718a65cf9b544ce0d452679ba988d04018 glu-9.0.1.tar.xz # locally computed -sha256 3d19cca9b26ec4048dd22e3d294acd43e080a3205a29ff47765bd514571ea8f9 glu-9.0.0.tar.gz sha256 84187ce0fd0153769675cb7f3301583eb27393f66b57c5604999a1d805a9184c include/GL/glu.h diff --git a/package/libglu/libglu.mk b/package/libglu/libglu.mk index 0e5242f85e..e18c7f1494 100644 --- a/package/libglu/libglu.mk +++ b/package/libglu/libglu.mk @@ -4,14 +4,12 @@ # ################################################################################ -LIBGLU_VERSION = 9.0.0 -LIBGLU_SITE = http://cgit.freedesktop.org/mesa/glu/snapshot -LIBGLU_SOURCE = glu-$(LIBGLU_VERSION).tar.gz +LIBGLU_VERSION = 9.0.1 +LIBGLU_SITE = https://mesa.freedesktop.org/archive/glu +LIBGLU_SOURCE = glu-$(LIBGLU_VERSION).tar.xz LIBGLU_LICENSE = SGI-B-2.0 LIBGLU_LICENSE_FILES = include/GL/glu.h LIBGLU_INSTALL_STAGING = YES -# upstream does not distribute a autoconf´ed configure script -LIBGLU_AUTORECONF = YES LIBGLU_DEPENDENCIES = libgl host-pkgconf $(eval $(autotools-package)) diff --git a/package/libgpg-error/Config.in b/package/libgpg-error/Config.in index dbb554989e..415cd015cf 100644 --- a/package/libgpg-error/Config.in +++ b/package/libgpg-error/Config.in @@ -7,9 +7,9 @@ config BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS BR2_mipsel || BR2_mips64 || BR2_mips64el || \ BR2_m68k || BR2_nios2 || BR2_powerpc || \ BR2_powerpc64 || BR2_powerpc64le || BR2_RISCV_64 || \ - BR2_sh4 || BR2_sh4eb || BR2_sh4a || \ - BR2_sh4aeb || BR2_sparc || BR2_sparc64 || \ - BR2_x86_64 + BR2_RISCV_32 || BR2_sh4 || BR2_sh4eb || \ + BR2_sh4a || BR2_sh4aeb || BR2_sparc || \ + BR2_sparc64 || BR2_x86_64 config BR2_PACKAGE_LIBGPG_ERROR bool "libgpg-error" @@ -40,6 +40,8 @@ config BR2_PACKAGE_LIBGPG_ERROR_SYSCFG if BR2_powerpc default "powerpc64-unknown-linux-gnu" \ if BR2_powerpc64 || BR2_powerpc64le + default "riscv32-unknown-linux-gnu" \ + if BR2_RISCV_32 default "riscv64-unknown-linux-gnu" \ if BR2_RISCV_64 default "sh4-unknown-linux-gnu" \ diff --git a/package/libgpg-error/libgpg-error.hash b/package/libgpg-error/libgpg-error.hash index b18ab7e6b6..05c46d6d43 100644 --- a/package/libgpg-error/libgpg-error.hash +++ b/package/libgpg-error/libgpg-error.hash @@ -1,7 +1,7 @@ # Locally calculated after checking pgp signature -# https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.33.tar.bz2.sig +# https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.37.tar.bz2.sig # using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 5d38826656e746c936e7742d9cde072b50baa3c4c49daa168a56813612bf03ff libgpg-error-1.33.tar.bz2 +sha256 b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763 libgpg-error-1.37.tar.bz2 # Locally calculated -sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk index d26d92fb05..6281faa662 100644 --- a/package/libgpg-error/libgpg-error.mk +++ b/package/libgpg-error/libgpg-error.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPG_ERROR_VERSION = 1.33 +LIBGPG_ERROR_VERSION = 1.37 LIBGPG_ERROR_SITE = https://www.gnupg.org/ftp/gcrypt/libgpg-error LIBGPG_ERROR_SOURCE = libgpg-error-$(LIBGPG_ERROR_VERSION).tar.bz2 LIBGPG_ERROR_LICENSE = GPL-2.0+, LGPL-2.1+ diff --git a/package/libgpgme/libgpgme.hash b/package/libgpgme/libgpgme.hash index 1e61fbd833..6ed6a3625d 100644 --- a/package/libgpgme/libgpgme.hash +++ b/package/libgpgme/libgpgme.hash @@ -1,8 +1,6 @@ -# 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.12.0.tar.bz2.sig +# https://gnupg.org/ftp/gcrypt/gpgme/gpgme-1.13.1.tar.bz2.sig # using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 b4dc951c3743a60e2e120a77892e9e864fb936b2e58e7c77e8581f4d050e8cd8 gpgme-1.12.0.tar.bz2 +sha256 c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46 gpgme-1.13.1.tar.bz2 # Locally calculated sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LESSER diff --git a/package/libgpgme/libgpgme.mk b/package/libgpgme/libgpgme.mk index 85450c83d2..1951cc6675 100644 --- a/package/libgpgme/libgpgme.mk +++ b/package/libgpgme/libgpgme.mk @@ -4,16 +4,21 @@ # ################################################################################ -LIBGPGME_VERSION = 1.12.0 +LIBGPGME_VERSION = 1.13.1 LIBGPGME_SITE = https://gnupg.org/ftp/gcrypt/gpgme LIBGPGME_SOURCE = gpgme-$(LIBGPGME_VERSION).tar.bz2 LIBGPGME_LICENSE = LGPL-2.1+ LIBGPGME_LICENSE_FILES = COPYING.LESSER LIBGPGME_INSTALL_STAGING = YES LIBGPGME_DEPENDENCIES = libassuan libgpg-error -LIBGPGME_LANGUAGE_BINDINGS = cl LIBGPGME_CONFIG_SCRIPTS = gpgme-config +LIBGPGME_LANGUAGE_BINDINGS = cl +# C++ bindings require a C++11 capable gcc, and -Wsuggest-override support +ifeq ($(BR2_INSTALL_LIBSTDCPP)$(BR2_TOOLCHAIN_GCC_AT_LEAST_5),yy) +LIBGPGME_LANGUAGE_BINDINGS += cpp +endif + LIBGPGME_CONF_OPTS = \ --with-gpg-error-prefix=$(STAGING_DIR)/usr \ --with-libassuan-prefix=$(STAGING_DIR)/usr \ @@ -21,12 +26,7 @@ LIBGPGME_CONF_OPTS = \ --disable-gpgconf-test \ --disable-g13-test \ --disable-gpg-test \ - --enable-languages=$(LIBGPGME_LANGUAGE_BINDINGS) - -# C++ bindings require a C++11 capable gcc -ifeq ($(BR2_INSTALL_LIBSTDCPP)$(BR2_TOOLCHAIN_GCC_AT_LEAST_4_8),yy) -LIBGPGME_LANGUAGE_BINDINGS := $(LIBGPGME_LANGUAGE_BINDINGS),cpp -endif + --enable-languages=$(subst $(space),$(comma),$(LIBGPGME_LANGUAGE_BINDINGS)) # Handle argp-standalone or it errors out during build ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) diff --git a/package/libgphoto2/libgphoto2.hash b/package/libgphoto2/libgphoto2.hash index e0590df89b..0d965da0f1 100644 --- a/package/libgphoto2/libgphoto2.hash +++ b/package/libgphoto2/libgphoto2.hash @@ -1,7 +1,7 @@ -# https://sourceforge.net/projects/gphoto/files/libgphoto/2.5.17/ -md5 ae78e7a7936a6962c3a22b256bee1869 libgphoto2-2.5.17.tar.bz2 -sha1 b55167bbb73518c5b7f67f90e619c46d05005c7d libgphoto2-2.5.17.tar.bz2 +# https://sourceforge.net/projects/gphoto/files/libgphoto/2.5.23/ +md5 bf052ce815e607dc781c5b0f3c5ca5c0 libgphoto2-2.5.23.tar.bz2 +sha1 01f91d2b5d2aef7e80ab846fea4d5eb5cc67ed79 libgphoto2-2.5.23.tar.bz2 # Locally calculated hash -sha256 417464f0a313fa937e8a71cdf18a371cf01e750830195cd63ae31da0d092b555 libgphoto2-2.5.17.tar.bz2 +sha256 d8af23364aa40fd8607f7e073df74e7ace05582f4ba13f1724d12d3c97e8852d libgphoto2-2.5.23.tar.bz2 sha256 ebc385a0b1d477be5177ed6d9129557aa59a3ad0f26ebe7dd97ee942a0fb68ee COPYING diff --git a/package/libgphoto2/libgphoto2.mk b/package/libgphoto2/libgphoto2.mk index 2828fcb36f..63e6a8775f 100644 --- a/package/libgphoto2/libgphoto2.mk +++ b/package/libgphoto2/libgphoto2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPHOTO2_VERSION = 2.5.17 +LIBGPHOTO2_VERSION = 2.5.23 LIBGPHOTO2_SOURCE = libgphoto2-$(LIBGPHOTO2_VERSION).tar.bz2 # Project is maintained on github but github tarball doesn't have # configure, so use tarballs from SourceForge diff --git a/package/libgpiod/libgpiod.hash b/package/libgpiod/libgpiod.hash index e68ebdb8c7..f0009a7510 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 736d8b511ad247c2acb01b592f2bbe5e757e14e1d8347b2d80683081ab4b31b8 libgpiod-1.2.1.tar.xz +sha256 21ae8fd1f8dafc2eb2ba50e652390cf533d21351419a7426255895cb52e21b1c libgpiod-1.4.1.tar.xz # Hash for license file sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING diff --git a/package/libgpiod/libgpiod.mk b/package/libgpiod/libgpiod.mk index c46ffa871c..2474ab90a2 100644 --- a/package/libgpiod/libgpiod.mk +++ b/package/libgpiod/libgpiod.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPIOD_VERSION = 1.2.1 +LIBGPIOD_VERSION = 1.4.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/libgsm/libgsm.hash b/package/libgsm/libgsm.hash index 523e629dc4..32e20c8f48 100644 --- a/package/libgsm/libgsm.hash +++ b/package/libgsm/libgsm.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 855a57d1694941ddf3c73cb79b8d0b3891e9c9e7870b4981613b734e1ad07601 gsm-1.0.17.tar.gz +sha256 04f68087c3348bf156b78d59f4d8aff545da7f6e14f33be8f47d33f4efae2a10 gsm-1.0.18.tar.gz sha256 81c68a3374937ed9b5e4929c709e81a2c4b35b5d1f450ecf8c473e2daea46ff6 COPYRIGHT diff --git a/package/libgsm/libgsm.mk b/package/libgsm/libgsm.mk index 0add45c5e7..b9ae7d3eeb 100644 --- a/package/libgsm/libgsm.mk +++ b/package/libgsm/libgsm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGSM_VERSION = 1.0.17 +LIBGSM_VERSION = 1.0.18 LIBGSM_SOURCE = gsm-$(LIBGSM_VERSION).tar.gz LIBGSM_SITE = http://www.quut.com/gsm LIBGSM_LICENSE = gsm diff --git a/package/libgtk2/Config.in b/package/libgtk2/Config.in index aa297d71ef..7c5762a585 100644 --- a/package/libgtk2/Config.in +++ b/package/libgtk2/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_LIBGTK2 depends on BR2_USE_MMU # glib2 depends on BR2_INSTALL_LIBSTDCPP # pango depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # pango -> harfbuzz select BR2_PACKAGE_ATK select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PS @@ -33,9 +34,10 @@ config BR2_PACKAGE_LIBGTK2_DEMO endif -comment "libgtk2 needs a toolchain w/ wchar, threads, C++" +comment "libgtk2 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_PACKAGE_XORG7 depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libgtk2/libgtk2.mk b/package/libgtk2/libgtk2.mk index 8f60573a5e..9b7d39a532 100644 --- a/package/libgtk2/libgtk2.mk +++ b/package/libgtk2/libgtk2.mk @@ -21,7 +21,10 @@ LIBGTK2_CONF_ENV = \ LIBGTK2_CONF_OPTS = --disable-glibtest --enable-explicit-deps=no -LIBGTK2_DEPENDENCIES = host-pkgconf host-libgtk2 libglib2 cairo pango atk gdk-pixbuf +LIBGTK2_DEPENDENCIES = host-pkgconf host-libgtk2 libglib2 cairo pango atk \ + gdk-pixbuf $(TARGET_NLS_DEPENDENCIES) + +LIBGTK2_MAKE_OPTS = LIBS=$(TARGET_NLS_LIBS) # Xorg dependencies LIBGTK2_CONF_OPTS += \ @@ -32,6 +35,13 @@ LIBGTK2_CONF_OPTS += \ LIBGTK2_DEPENDENCIES += \ fontconfig xlib_libX11 xlib_libXext xlib_libXrender +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +LIBGTK2_CONF_OPTS += --enable-introspection +LIBGTK2_DEPENDENCIES += gobject-introspection +else +LIBGTK2_CONF_OPTS += --disable-introspection +endif + ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y) LIBGTK2_CONF_OPTS += --enable-xinerama LIBGTK2_DEPENDENCIES += xlib_libXinerama diff --git a/package/libgtk3/Config.in b/package/libgtk3/Config.in index 12e64707bd..6b8f5abff6 100644 --- a/package/libgtk3/Config.in +++ b/package/libgtk3/Config.in @@ -1,7 +1,8 @@ -comment "libgtk3 needs a toolchain w/ wchar, threads, C++" +comment "libgtk3 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_GCC_AT_LEAST_4_8 || \ !BR2_TOOLCHAIN_HAS_THREADS comment "libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend" @@ -17,6 +18,7 @@ config BR2_PACKAGE_LIBGTK3 depends on BR2_USE_MMU # glib2 depends on BR2_INSTALL_LIBSTDCPP # pango depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # pango -> harfbuzz depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_ATK diff --git a/package/libgtk3/libgtk3.hash b/package/libgtk3/libgtk3.hash index b7a89901dd..dd902624cf 100644 --- a/package/libgtk3/libgtk3.hash +++ b/package/libgtk3/libgtk3.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.30.sha256sum -sha256 a1a4a5c12703d4e1ccda28333b87ff462741dc365131fbc94c218ae81d9a6567 gtk+-3.22.30.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/gtk+/3.24/gtk+-3.24.12.sha256sum +sha256 1384eba5614fed160044ae0d32369e3df7b4f517b03f4b1f24d383e528f4be83 gtk+-3.24.12.tar.xz # Hash for license file: sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk index bdf820de37..dbb975dbfd 100644 --- a/package/libgtk3/libgtk3.mk +++ b/package/libgtk3/libgtk3.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBGTK3_VERSION_MAJOR = 3.22 -LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).30 +LIBGTK3_VERSION_MAJOR = 3.24 +LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).12 LIBGTK3_SOURCE = gtk+-$(LIBGTK3_VERSION).tar.xz LIBGTK3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK3_VERSION_MAJOR) LIBGTK3_LICENSE = LGPL-2.0+ @@ -21,12 +21,15 @@ LIBGTK3_CONF_ENV = \ LIBGTK3_CONF_OPTS = \ --disable-glibtest \ --enable-explicit-deps=no +HOST_LIBGTK3_CONF_OPTS = --disable-introspection # Override pkg-config pkgdatadir variable, it needs the prefix LIBGTK3_MAKE_OPTS = \ - WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols + WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols \ + LIBS=$(TARGET_NLS_LIBS) -LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy +LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango \ + gdk-pixbuf libepoxy $(TARGET_NLS_DEPENDENCIES) ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi @@ -39,6 +42,13 @@ else LIBGTK3_CONF_OPTS += --disable-x11-backend endif +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +LIBGTK3_CONF_OPTS += --enable-introspection +LIBGTK3_DEPENDENCIES += gobject-introspection +else +LIBGTK3_CONF_OPTS += --disable-introspection +endif + ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y) LIBGTK3_DEPENDENCIES += wayland wayland-protocols libxkbcommon LIBGTK3_CONF_OPTS += --enable-wayland-backend diff --git a/package/libgudev/libgudev.hash b/package/libgudev/libgudev.hash index 138ae93d71..bee394601e 100644 --- a/package/libgudev/libgudev.hash +++ b/package/libgudev/libgudev.hash @@ -1,5 +1,5 @@ -# From: http://ftp.gnome.org/pub/GNOME/sources/libgudev/232/libgudev-232.sha256sum -sha256 ee4cb2b9c573cdf354f6ed744f01b111d4b5bed3503ffa956cefff50489c7860 libgudev-232.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/libgudev/233/libgudev-233.sha256sum +sha256 587c4970eb23f4e2deee2cb1fb7838c94a78c578f41ce12cac0a3f4a80dabb03 libgudev-233.tar.xz # Hash for license file: sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libgudev/libgudev.mk b/package/libgudev/libgudev.mk index 50432c461e..63d592f9ac 100644 --- a/package/libgudev/libgudev.mk +++ b/package/libgudev/libgudev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGUDEV_VERSION = 232 +LIBGUDEV_VERSION = 233 LIBGUDEV_SOURCE = libgudev-$(LIBGUDEV_VERSION).tar.xz LIBGUDEV_SITE = http://ftp.gnome.org/pub/GNOME/sources/libgudev/$(LIBGUDEV_VERSION) LIBGUDEV_INSTALL_STAGING = YES diff --git a/package/libhdhomerun/libhdhomerun.hash b/package/libhdhomerun/libhdhomerun.hash index b7ad5b52e3..6dd3719ff2 100644 --- a/package/libhdhomerun/libhdhomerun.hash +++ b/package/libhdhomerun/libhdhomerun.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 437888b27206f526827ee7a4c57c1c167a36483b0445232e07fb7bb7ee854b42 libhdhomerun_20180817.tgz +sha256 f6493e4a643a4ba9c3b2424b7f491186efc2ba5fd93d2285d65b7c5aca676cf9 libhdhomerun_20200225.tgz sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 LICENSE diff --git a/package/libhdhomerun/libhdhomerun.mk b/package/libhdhomerun/libhdhomerun.mk index 96be54a782..f7e96ddd26 100644 --- a/package/libhdhomerun/libhdhomerun.mk +++ b/package/libhdhomerun/libhdhomerun.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBHDHOMERUN_VERSION = 20180817 +LIBHDHOMERUN_VERSION = 20200225 LIBHDHOMERUN_SOURCE = libhdhomerun_$(LIBHDHOMERUN_VERSION).tgz LIBHDHOMERUN_SITE = http://download.silicondust.com/hdhomerun LIBHDHOMERUN_LICENSE = LGPL-2.1+ diff --git a/package/libhid/Config.in b/package/libhid/Config.in index e6f2012860..ec66308061 100644 --- a/package/libhid/Config.in +++ b/package/libhid/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_LIBHID help Userspace library for accessing USB HID devices - http://libhid.alioth.debian.org + https://directory.fsf.org/wiki/Libhid comment "libhid needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libhtp/0001-htp.pc.in-add-lz-to-Libs.private.patch b/package/libhtp/0001-htp.pc.in-add-lz-to-Libs.private.patch new file mode 100644 index 0000000000..b21ea6053a --- /dev/null +++ b/package/libhtp/0001-htp.pc.in-add-lz-to-Libs.private.patch @@ -0,0 +1,29 @@ +From 39e534ab696157b244ec226d649c789dcf423e42 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 24 Apr 2019 20:48:57 +0200 +Subject: [PATCH] htp.pc.in: add -lz to Libs.private + +zlib is a mandatory dependency so add it to Libs.private otherwise +static linking of packages linking with htp (e.g. suricata) will fail. + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/OISF/libhtp/pull/294] +--- + htp.pc.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/htp.pc.in b/htp.pc.in +index 2fec995..9b1a6cc 100644 +--- a/htp.pc.in ++++ b/htp.pc.in +@@ -7,6 +7,6 @@ Name: @PACKAGE_NAME@ + Description: A security-aware HTTP parser, designed for use in IDS/IPS and WAF products. + Version: @PACKAGE_VERSION@ + Libs: -L${libdir} -lhtp +-Libs.private: @LIBICONV@ ++Libs.private: -lz @LIBICONV@ + Cflags: -I${includedir} -I${libdir}/htp/include + +-- +2.20.1 + diff --git a/package/libhtp/Config.in b/package/libhtp/Config.in new file mode 100644 index 0000000000..98b9e2adea --- /dev/null +++ b/package/libhtp/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBHTP + bool "libhtp" + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_PACKAGE_ZLIB + help + LibHTP is a security-aware parser for the HTTP protocol and + the related bits and pieces. + + https://github.com/OISF/libhtp diff --git a/package/libhtp/libhtp.hash b/package/libhtp/libhtp.hash new file mode 100644 index 0000000000..765acd5bf9 --- /dev/null +++ b/package/libhtp/libhtp.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 953651fdfe828805bb82dc1aa8b56187b0e2f80781727343e68ccf8afd6a9122 libhtp-0.5.33.tar.gz +sha256 87c93904e5434c81622ea690c2b90097b9f162aaa92a96542649a157dbf98d15 LICENSE diff --git a/package/libhtp/libhtp.mk b/package/libhtp/libhtp.mk new file mode 100644 index 0000000000..b77d8715f9 --- /dev/null +++ b/package/libhtp/libhtp.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# libhtp +# +################################################################################ + +LIBHTP_VERSION = 0.5.33 +LIBHTP_SITE = $(call github,OISF,libhtp,$(LIBHTP_VERSION)) +LIBHTP_LICENSE = BSD-3-Clause +LIBHTP_LICENSE_FILES = LICENSE +LIBHTP_DEPENDENCIES = \ + $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ + zlib +LIBHTP_INSTALL_STAGING = YES +# From git +LIBHTP_AUTORECONF = YES + +# Let our gcc/wrapper handle SSP +LIBHTP_CONF_ENV = NO_STACK_PROTECTOR=true + +$(eval $(autotools-package)) diff --git a/package/libhttpparser/0001-Use-f-option-when-calling-ln-at-install-time.patch b/package/libhttpparser/0001-Use-f-option-when-calling-ln-at-install-time.patch deleted file mode 100644 index 70f16f662f..0000000000 --- a/package/libhttpparser/0001-Use-f-option-when-calling-ln-at-install-time.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 384917321c45e492b0ca7aaa94d4b15324aef95d Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 28 Aug 2015 19:02:11 +0200 -Subject: [PATCH] Use -f option when calling ln at install time - -This allows "make install; make install" to work properly. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Renaud AUBIN ---- - Makefile | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Makefile b/Makefile -index 6cf63bd..c182e5c 100644 ---- a/Makefile -+++ b/Makefile -@@ -133,14 +133,14 @@ tags: http_parser.c http_parser.h test.c - install: library - $(INSTALL) -D http_parser.h $(DESTDIR)$(INCLUDEDIR)/http_parser.h - $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME) -- ln -s $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) -- ln -s $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SOLIBNAME).$(SOEXT) -+ ln -sf $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) -+ ln -sf $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SOLIBNAME).$(SOEXT) - - install-strip: library - $(INSTALL) -D http_parser.h $(DESTDIR)$(INCLUDEDIR)/http_parser.h - $(INSTALL) -D -s $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME) -- ln -s $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) -- ln -s $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SOLIBNAME).$(SOEXT) -+ ln -sf $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) -+ ln -sf $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SOLIBNAME).$(SOEXT) - - uninstall: - rm $(DESTDIR)$(INCLUDEDIR)/http_parser.h --- -2.6.2 - diff --git a/package/libhttpparser/libhttpparser.hash b/package/libhttpparser/libhttpparser.hash index b7df9ca602..6ab63e8209 100644 --- a/package/libhttpparser/libhttpparser.hash +++ b/package/libhttpparser/libhttpparser.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 ef26268c54c8084d17654ba2ed5140bffeffd2a040a895ffb22a6cca3f6c613f libhttpparser-v2.9.0.tar.gz -sha256 79e6ba8b687cb54786207342b9b6fcee0ac10218453ed9009b84d949b2233cc0 LICENSE-MIT +sha256 467b9e30fd0979ee301065e70f637d525c28193449e1b13fbcb1b1fab3ad224f libhttpparser-2.9.4.tar.gz +sha256 79e6ba8b687cb54786207342b9b6fcee0ac10218453ed9009b84d949b2233cc0 LICENSE-MIT diff --git a/package/libhttpparser/libhttpparser.mk b/package/libhttpparser/libhttpparser.mk index 8c0afe2807..5cf7f77391 100644 --- a/package/libhttpparser/libhttpparser.mk +++ b/package/libhttpparser/libhttpparser.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBHTTPPARSER_VERSION = v2.9.0 -LIBHTTPPARSER_SITE = $(call github,nodejs,http-parser,$(LIBHTTPPARSER_VERSION)) +LIBHTTPPARSER_VERSION = 2.9.4 +LIBHTTPPARSER_SITE = $(call github,nodejs,http-parser,v$(LIBHTTPPARSER_VERSION)) LIBHTTPPARSER_INSTALL_STAGING = YES LIBHTTPPARSER_LICENSE = MIT LIBHTTPPARSER_LICENSE_FILES = LICENSE-MIT diff --git a/package/libhttpserver/0001-Fix-lib-expectations-in-libhttpserver.pc.in.patch b/package/libhttpserver/0001-Fix-lib-expectations-in-libhttpserver.pc.in.patch new file mode 100644 index 0000000000..74ca58bb31 --- /dev/null +++ b/package/libhttpserver/0001-Fix-lib-expectations-in-libhttpserver.pc.in.patch @@ -0,0 +1,27 @@ +From 2bc7cf0beb6b8a124c1c7360c4fb5279e8763f07 Mon Sep 17 00:00:00 2001 +From: Sebastiano Merlino +Date: Sat, 8 Jun 2019 15:36:06 -0700 +Subject: [PATCH] Fix lib expectations in libhttpserver.pc.in + +Signed-off-by: Stephan Hoffmann +--- +Patch status: upstream commit 458d16b922304006fe418897044e14 + + libhttpserver.pc.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libhttpserver.pc.in b/libhttpserver.pc.in +index 36355ee..55f7c0e 100644 +--- a/libhttpserver.pc.in ++++ b/libhttpserver.pc.in +@@ -8,6 +8,6 @@ Description: A C++ library for creating an embedded Rest HTTP server + Version: @VERSION@ + Requires: libmicrohttpd >= 0.9.37 + Conflicts: +-Libs: -L${libdir} -lmicrohttpd ++Libs: -L${libdir} -lhttpserver + Libs.private: @LHT_LIBDEPS@ + Cflags: -I${includedir} -I${includedir}/httpserver +-- +2.17.1 + diff --git a/package/libhttpserver/0002-Compatibility-with-libmicrohttpd-0.9.71-199.patch b/package/libhttpserver/0002-Compatibility-with-libmicrohttpd-0.9.71-199.patch new file mode 100644 index 0000000000..118b3df398 --- /dev/null +++ b/package/libhttpserver/0002-Compatibility-with-libmicrohttpd-0.9.71-199.patch @@ -0,0 +1,254 @@ +From 056df008ecb8ab354191b7515199267eb6b84124 Mon Sep 17 00:00:00 2001 +From: bkuhls +Date: Mon, 6 Jul 2020 04:23:21 +0200 +Subject: [PATCH] Compatibility with libmicrohttpd 0.9.71 (#199) + +From the libmicrohttpd 0.9.71 release notes: + +The release introduces an 'enum MHD_Result' instead of +for certain API misuse bugs by providing better types (not everything is +an 'int'). While this does NOT change the binary API, this change +_will_ cause compiler warnings for all legacy code -- until 'int' is +replaced with 'enum MHD_Result'. + +(cherry picked from commit 51b343c6b05dd13cbde0db04984fbf392e9f6df6) +[Peter: backported to 0.17.5] +Signed-off-by: Peter Korsgaard +--- + src/http_request.cpp | 6 +++--- + src/httpserver/http_request.hpp | 6 +++--- + src/httpserver/http_utils.hpp | 4 ++++ + src/httpserver/webserver.hpp | 16 ++++++++-------- + src/webserver.cpp | 24 ++++++++++++++---------- + 5 files changed, 32 insertions(+), 24 deletions(-) + +diff --git a/src/http_request.cpp b/src/http_request.cpp +index 973ab33..37035b2 100644 +--- a/src/http_request.cpp ++++ b/src/http_request.cpp +@@ -86,7 +86,7 @@ const std::string http_request::get_connection_value(const std::string& key, enu + return header_c; + } + +-int http_request::build_request_header( ++MHD_Result http_request::build_request_header( + void *cls, + enum MHD_ValueKind kind, + const char *key, +@@ -187,7 +187,7 @@ const std::string http_request::get_querystring() const + return querystring; + } + +-int http_request::build_request_args( ++MHD_Result http_request::build_request_args( + void *cls, + enum MHD_ValueKind kind, + const char *key, +@@ -202,7 +202,7 @@ int http_request::build_request_args( + return MHD_YES; + } + +-int http_request::build_request_querystring( ++MHD_Result http_request::build_request_querystring( + void *cls, + enum MHD_ValueKind kind, + const char *key, +diff --git a/src/httpserver/http_request.hpp b/src/httpserver/http_request.hpp +index 21f2176..6bd371c 100644 +--- a/src/httpserver/http_request.hpp ++++ b/src/httpserver/http_request.hpp +@@ -304,15 +304,15 @@ class http_request + + unescaper_ptr unescaper; + +- static int build_request_header(void *cls, enum MHD_ValueKind kind, ++ static MHD_Result build_request_header(void *cls, enum MHD_ValueKind kind, + const char *key, const char *value + ); + +- static int build_request_args(void *cls, enum MHD_ValueKind kind, ++ static MHD_Result build_request_args(void *cls, enum MHD_ValueKind kind, + const char *key, const char *value + ); + +- static int build_request_querystring(void *cls, enum MHD_ValueKind kind, ++ static MHD_Result build_request_querystring(void *cls, enum MHD_ValueKind kind, + const char *key, const char *value + ); + +diff --git a/src/httpserver/http_utils.hpp b/src/httpserver/http_utils.hpp +index bd3df17..cf18360 100644 +--- a/src/httpserver/http_utils.hpp ++++ b/src/httpserver/http_utils.hpp +@@ -39,6 +39,10 @@ + + #define DEFAULT_MASK_VALUE 0xFFFF + ++#if MHD_VERSION < 0x00097002 ++typedef int MHD_Result; ++#endif ++ + namespace httpserver { + + typedef void(*unescaper_ptr)(std::string&); +diff --git a/src/httpserver/webserver.hpp b/src/httpserver/webserver.hpp +index 2660c70..3c915a1 100644 +--- a/src/httpserver/webserver.hpp ++++ b/src/httpserver/webserver.hpp +@@ -201,14 +201,14 @@ class webserver + enum MHD_RequestTerminationCode toe + ); + +- static int answer_to_connection ++ static MHD_Result answer_to_connection + ( + void* cls, MHD_Connection* connection, + const char* url, const char* method, + const char* version, const char* upload_data, + size_t* upload_data_size, void** con_cls + ); +- static int post_iterator ++ static MHD_Result post_iterator + ( + void *cls, + enum MHD_ValueKind kind, +@@ -225,30 +225,30 @@ class webserver + void **con_cls, int upgrade_socket + ); + +- int bodyless_requests_answer(MHD_Connection* connection, ++ MHD_Result bodyless_requests_answer(MHD_Connection* connection, + const char* method, const char* version, + struct details::modded_request* mr + ); + +- int bodyfull_requests_answer_first_step(MHD_Connection* connection, ++ MHD_Result bodyfull_requests_answer_first_step(MHD_Connection* connection, + struct details::modded_request* mr + ); + +- int bodyfull_requests_answer_second_step(MHD_Connection* connection, ++ MHD_Result bodyfull_requests_answer_second_step(MHD_Connection* connection, + const char* method, const char* version, const char* upload_data, + size_t* upload_data_size, struct details::modded_request* mr + ); + +- int finalize_answer(MHD_Connection* connection, ++ MHD_Result finalize_answer(MHD_Connection* connection, + struct details::modded_request* mr, const char* method + ); + +- int complete_request(MHD_Connection* connection, ++ MHD_Result complete_request(MHD_Connection* connection, + struct details::modded_request* mr, + const char* version, const char* method + ); + +- friend int policy_callback (void *cls, ++ friend MHD_Result policy_callback (void *cls, + const struct sockaddr* addr, socklen_t addrlen + ); + friend void error_log(void* cls, const char* fmt, va_list ap); +diff --git a/src/webserver.cpp b/src/webserver.cpp +index e71c364..ab6b530 100644 +--- a/src/webserver.cpp ++++ b/src/webserver.cpp +@@ -61,6 +61,10 @@ + #define SOCK_CLOEXEC 02000000 + #endif + ++#if MHD_VERSION < 0x00097002 ++typedef int MHD_Result; ++#endif ++ + using namespace std; + + namespace httpserver +@@ -68,7 +72,7 @@ namespace httpserver + + using namespace http; + +-int policy_callback (void *, const struct sockaddr*, socklen_t); ++MHD_Result policy_callback (void *, const struct sockaddr*, socklen_t); + void error_log(void*, const char*, va_list); + void* uri_log(void*, const char*); + void access_log(webserver*, string); +@@ -408,7 +412,7 @@ void webserver::disallow_ip(const string& ip) + this->allowances.erase(ip); + } + +-int policy_callback (void *cls, const struct sockaddr* addr, socklen_t addrlen) ++MHD_Result policy_callback (void *cls, const struct sockaddr* addr, socklen_t addrlen) + { + if(!(static_cast(cls))->ban_system_enabled) return MHD_YES; + +@@ -455,7 +459,7 @@ size_t unescaper_func(void * cls, struct MHD_Connection *c, char *s) + return std::string(s).size(); + } + +-int webserver::post_iterator (void *cls, enum MHD_ValueKind kind, ++MHD_Result webserver::post_iterator (void *cls, enum MHD_ValueKind kind, + const char *key, + const char *filename, + const char *content_type, +@@ -509,7 +513,7 @@ const std::shared_ptr webserver::internal_error_page(details::mod + } + } + +-int webserver::bodyless_requests_answer( ++MHD_Result webserver::bodyless_requests_answer( + MHD_Connection* connection, const char* method, + const char* version, struct details::modded_request* mr + ) +@@ -519,7 +523,7 @@ int webserver::bodyless_requests_answer( + return complete_request(connection, mr, version, method); + } + +-int webserver::bodyfull_requests_answer_first_step( ++MHD_Result webserver::bodyfull_requests_answer_first_step( + MHD_Connection* connection, + struct details::modded_request* mr + ) +@@ -565,7 +569,7 @@ int webserver::bodyfull_requests_answer_first_step( + return MHD_YES; + } + +-int webserver::bodyfull_requests_answer_second_step( ++MHD_Result webserver::bodyfull_requests_answer_second_step( + MHD_Connection* connection, const char* method, + const char* version, const char* upload_data, + size_t* upload_data_size, struct details::modded_request* mr +@@ -583,7 +587,7 @@ int webserver::bodyfull_requests_answer_second_step( + return MHD_YES; + } + +-int webserver::finalize_answer( ++MHD_Result webserver::finalize_answer( + MHD_Connection* connection, + struct details::modded_request* mr, + const char* method +@@ -717,10 +721,10 @@ int webserver::finalize_answer( + mr->dhrs->decorate_response(raw_response); + to_ret = mr->dhrs->enqueue_response(connection, raw_response); + MHD_destroy_response(raw_response); +- return to_ret; ++ return (MHD_Result) to_ret; + } + +-int webserver::complete_request( ++MHD_Result webserver::complete_request( + MHD_Connection* connection, + struct details::modded_request* mr, + const char* version, +@@ -736,7 +740,7 @@ int webserver::complete_request( + return finalize_answer(connection, mr, method); + } + +-int webserver::answer_to_connection(void* cls, MHD_Connection* connection, ++MHD_Result webserver::answer_to_connection(void* cls, MHD_Connection* connection, + const char* url, const char* method, + const char* version, const char* upload_data, + size_t* upload_data_size, void** con_cls +-- +2.20.1 + diff --git a/package/libhttpserver/Config.in b/package/libhttpserver/Config.in new file mode 100644 index 0000000000..03715d0569 --- /dev/null +++ b/package/libhttpserver/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_LIBHTTPSERVER + bool "libhttpserver" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBMICROHTTPD + help + libhttpserver is a C++ library for building high performance + RESTfuls web servers. libhttpserver is built upon + libmicrohttpd to provide a simple API for developers to + create HTTP services in C++. + + https://github.com/etr/libhttpserver + +comment "libhttpserver needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libhttpserver/libhttpserver.hash b/package/libhttpserver/libhttpserver.hash new file mode 100644 index 0000000000..0333aabbae --- /dev/null +++ b/package/libhttpserver/libhttpserver.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 778fa0aec199bf8737b2d540c2563a694c18957329f9885e372f7aaafb838351 libhttpserver-0.17.5.tar.gz +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LESSER diff --git a/package/libhttpserver/libhttpserver.mk b/package/libhttpserver/libhttpserver.mk new file mode 100644 index 0000000000..2c536cf012 --- /dev/null +++ b/package/libhttpserver/libhttpserver.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# libhttpserver +# +################################################################################ + +LIBHTTPSERVER_VERSION = 0.17.5 +LIBHTTPSERVER_SITE = $(call github,etr,libhttpserver,$(LIBHTTPSERVER_VERSION)) +LIBHTTPSERVER_LICENSE = LGPL-2.1+ +LIBHTTPSERVER_LICENSE_FILES = COPYING.LESSER +LIBHTTPSERVER_INSTALL_STAGING = YES +LIBHTTPSERVER_CONF_OPTS = \ + --disable-examples \ + --enable-same-directory-build +LIBHTTPSERVER_AUTORECONF = YES +LIBHTTPSERVER_DEPENDENCIES = libmicrohttpd + +$(eval $(autotools-package)) diff --git a/package/libiberty/libiberty.hash b/package/libiberty/libiberty.hash new file mode 100644 index 0000000000..0dafcea520 --- /dev/null +++ b/package/libiberty/libiberty.hash @@ -0,0 +1,5 @@ +# From ftp://gcc.gnu.org/pub/binutils/releases/sha512.sum +sha512 d326408f12a03d9a61a9de56584c2af12f81c2e50d2d7e835d51565df8314df01575724afa1e43bd0db45cfc9916b41519b67dfce03232aa4978704492a6994a binutils-2.32.tar.xz + +# Locally computed, same as binutils.hash +sha256 56bdea73b6145ef6ac5259b3da390b981d840c24cb03b8e1cbc678de7ecfa18d COPYING.LIB diff --git a/package/libiberty/libiberty.mk b/package/libiberty/libiberty.mk new file mode 100644 index 0000000000..6235a8b956 --- /dev/null +++ b/package/libiberty/libiberty.mk @@ -0,0 +1,32 @@ +################################################################################ +# +# libiberty +# +################################################################################ + +LIBIBERTY_VERSION = 2.32 +LIBIBERTY_SOURCE = binutils-$(LIBIBERTY_VERSION).tar.xz +LIBIBERTY_SITE = $(BR2_GNU_MIRROR)/binutils +HOST_LIBIBERTY_DL_SUBDIR = binutils + +# We're only building libiberty here, not the full binutils suite +LIBIBERTY_LICENSE = LGPL-2.1+ +LIBIBERTY_LICENSE_FILES = COPYING.LIB + +LIBIBERTY_SUBDIR = libiberty + +# We explicitly disable multilib, as we do in binutils. +# By default, libiberty installs nothing, so we must force it. +HOST_LIBIBERTY_CONF_OPTS = \ + --disable-multilib \ + --enable-install-libiberty + +# Some packages (e.g. host-gdb) will pick this library and build shared +# objects with it. But libiberty does not honour the --enable-shared and +# --disable-static flags; it only ever builds a static library no matter +# what. So we must force -fPIC in build flags. +HOST_LIBIBERTY_CONF_ENV = \ + CFLAGS="$(HOST_CFLAGS) -fPIC" \ + LDFLAGS="$(HOST_LDFLAGS) -fPIC" + +$(eval $(host-autotools-package)) diff --git a/package/libical/0002-icaltypes-c-icalreqstattype_from_string-copy-the-reqstattype.patch b/package/libical/0002-icaltypes-c-icalreqstattype_from_string-copy-the-reqstattype.patch new file mode 100644 index 0000000000..0d74835e44 --- /dev/null +++ b/package/libical/0002-icaltypes-c-icalreqstattype_from_string-copy-the-reqstattype.patch @@ -0,0 +1,27 @@ +From 6b9438d746cec6e4e632d78c5244f4be6314d1c9 Mon Sep 17 00:00:00 2001 +From: Allen Winter +Date: Sun, 28 May 2017 12:51:10 -0400 +Subject: [PATCH] icaltypes.c - icalreqstattype_from_string(), copy the + reqstattype's debug string into its own memory in the ring buffer. + +Issue#253 +Signed-off-by: Fabrice Fontaine +[Retrieved (and backported) from: +https://github.com/libical/libical/commit/6b9438d746cec6e4e632d78c5244f4be6314d1c9] +--- + src/libical/icaltypes.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libical/icaltypes.c b/src/libical/icaltypes.c +index 70c50d29..85c33545 100644 +--- a/src/libical/icaltypes.c ++++ b/src/libical/icaltypes.c +@@ -140,7 +140,7 @@ struct icalreqstattype icalreqstattype_from_string(const char *str) + + p2 = strchr(p1+1,';'); + if (p2 != 0 && *p2 != 0){ +- stat.debug = p2+1; ++ stat.debug = icalmemory_tmp_copy(p2+1); + } + + return stat; diff --git a/package/libical/libical.mk b/package/libical/libical.mk index 7125aa8b19..f9a266026e 100644 --- a/package/libical/libical.mk +++ b/package/libical/libical.mk @@ -10,6 +10,9 @@ LIBICAL_INSTALL_STAGING = YES LIBICAL_LICENSE = MPL-1.0 or LGPL-2.1 LIBICAL_LICENSE_FILES = LICENSE +# 0002-icaltypes-c-icalreqstattype_from_string-copy-the-reqstattype.patch +LIBICAL_IGNORE_CVES += CVE-2016-9584 + # building without this option is broken, it is used by # Gentoo/alpinelinux as well LIBICAL_CONF_OPTS = -DSHARED_ONLY=true diff --git a/package/libiconv/Config.in b/package/libiconv/Config.in index ee4fd62011..c08a844b0f 100644 --- a/package/libiconv/Config.in +++ b/package/libiconv/Config.in @@ -5,3 +5,25 @@ config BR2_PACKAGE_LIBICONV unicode conversion library http://ftp.gnu.org/pub/gnu/libiconv + +if BR2_PACKAGE_LIBICONV + +config BR2_PACKAGE_LIBICONV_EXTRA_ENCODINGS + bool "extra encodings" + help + Provide support for a few extra encodings: + + European languages + CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125} + Semitic languages + CP864 + Japanese + EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3 + Chinese + BIG5-2003 (experimental) + Turkmen + TDS565 + Platform specifics + ATARIST, RISCOS-LATIN1 + +endif diff --git a/package/libiconv/libiconv.mk b/package/libiconv/libiconv.mk index 9a8133612b..ec79a5d735 100644 --- a/package/libiconv/libiconv.mk +++ b/package/libiconv/libiconv.mk @@ -10,6 +10,10 @@ LIBICONV_INSTALL_STAGING = YES LIBICONV_LICENSE = GPL-3.0+ (iconv program), LGPL-2.0+ (library) LIBICONV_LICENSE_FILES = COPYING COPYING.LIB +ifeq ($(BR2_PACKAGE_LIBICONV_EXTRA_ENCODINGS),y) +LIBICONV_CONF_OPTS = --enable-extra-encodings +endif + # Don't build the preloadable library, as we don't need it (it's only # for LD_PRELOAD to replace glibc's iconv, but we never build libiconv # when glibc is used). And it causes problems for static only builds. diff --git a/package/libid3tag/0001-configure-automake-foreign.patch b/package/libid3tag/0001-configure-automake-foreign.patch deleted file mode 100644 index 8521d559f2..0000000000 --- a/package/libid3tag/0001-configure-automake-foreign.patch +++ /dev/null @@ -1,16 +0,0 @@ -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/libid3tag.hash b/package/libid3tag/libid3tag.hash index 82ad59d9ac..9aa1d00270 100644 --- a/package/libid3tag/libid3tag.hash +++ b/package/libid3tag/libid3tag.hash @@ -1,4 +1,7 @@ -# Locally computed: -sha256 63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151 libid3tag-0.15.1b.tar.gz +# From http://snapshot.debian.org/archive/debian/20190310T213528Z/pool/main/libi/libid3tag/libid3tag_0.15.1b-14.dsc +sha256 63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151 libid3tag_0.15.1b.orig.tar.gz +sha256 f174cafe02bef25a9ad8cb7f9ce80119147297a7036f50878e85ac0d7ae09c62 libid3tag_0.15.1b-14.debian.tar.xz + +# Hash for license files: sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING sha256 7f12ad28dc075763e91b91bfa60fad04062380011ddad8f6bac21dd7b1f44367 COPYRIGHT diff --git a/package/libid3tag/libid3tag.mk b/package/libid3tag/libid3tag.mk index 3ec145725f..5d7b219bb1 100644 --- a/package/libid3tag/libid3tag.mk +++ b/package/libid3tag/libid3tag.mk @@ -5,11 +5,20 @@ ################################################################################ LIBID3TAG_VERSION = 0.15.1b -LIBID3TAG_SITE = http://downloads.sourceforge.net/project/mad/libid3tag/$(LIBID3TAG_VERSION) +LIBID3TAG_PATCH = libid3tag_$(LIBID3TAG_VERSION)-14.debian.tar.xz +LIBID3TAG_SOURCE = libid3tag_$(LIBID3TAG_VERSION).orig.tar.gz +LIBID3TAG_SITE = \ + http://snapshot.debian.org/archive/debian/20190310T213528Z/pool/main/libi/libid3tag LIBID3TAG_LICENSE = GPL-2.0+ LIBID3TAG_LICENSE_FILES = COPYING COPYRIGHT LIBID3TAG_INSTALL_STAGING = YES -LIBID3TAG_DEPENDENCIES = zlib +LIBID3TAG_DEPENDENCIES = host-gperf zlib + +# debian/patches/10_utf16.dpatch +LIBID3TAG_IGNORE_CVES += CVE-2004-2779 CVE-2017-11551 + +# debian/patches/11_unknown_encoding.dpatch +LIBID3TAG_IGNORE_CVES += CVE-2017-11550 # 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. diff --git a/package/libidn2/libidn2.hash b/package/libidn2/libidn2.hash index 300cedb479..2d2fcdfd15 100644 --- a/package/libidn2/libidn2.hash +++ b/package/libidn2/libidn2.hash @@ -1,5 +1,5 @@ # Calculated locally after checking signature -sha256 032398dbaa9537af43f51a8d94e967e3718848547b1b2a4eb3138b20cad11d32 libidn2-2.1.0.tar.gz +sha256 e1cb1db3d2e249a6a3eb6f0946777c2e892d5c5dc7bd91c74394fc3a01cab8b5 libidn2-2.3.0.tar.gz # Hash for license files: sha256 73483f797a83373fca1b968c11785b98c4fc4803cdc7d3210811ca8b075d6d76 COPYING diff --git a/package/libidn2/libidn2.mk b/package/libidn2/libidn2.mk index 7112553fea..3f87b9bb8c 100644 --- a/package/libidn2/libidn2.mk +++ b/package/libidn2/libidn2.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBIDN2_VERSION = 2.1.0 +LIBIDN2_VERSION = 2.3.0 LIBIDN2_SITE = $(BR2_GNU_MIRROR)/libidn -LIBIDN2_LICENSE := GPL-2.0+ or LGPL-3.0+ (library) +LIBIDN2_LICENSE = GPL-2.0+ or LGPL-3.0+ (library) LIBIDN2_LICENSE_FILES = COPYING COPYINGv2 COPYING.LESSERv3 COPYING.unicode LIBIDN2_DEPENDENCIES = \ host-pkgconf \ @@ -24,7 +24,7 @@ define LIBIDN2_REMOVE_BINARY endef LIBIDN2_POST_INSTALL_TARGET_HOOKS += LIBIDN2_REMOVE_BINARY else -LIBIDN2_LICENSE := $(LIBIDN2_LICENSE), GPL-3.0+ (program) +LIBIDN2_LICENSE += , GPL-3.0+ (program) endif $(eval $(autotools-package)) diff --git a/package/libiio/libiio.hash b/package/libiio/libiio.hash index 800b2ee8f4..dd85ffa695 100644 --- a/package/libiio/libiio.hash +++ b/package/libiio/libiio.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a729f8ff48137ad271a3e2951f322b35c1bf2ec075b488d75c8bd071c693fd19 libiio-0.15.tar.gz +sha256 81c414d5c47b715d9bc9275b9fabbfd9e9483e60c035f3001b5977932049595d libiio-0.19.tar.gz sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b COPYING.txt diff --git a/package/libiio/libiio.mk b/package/libiio/libiio.mk index 2371a71063..af5b27ba5f 100644 --- a/package/libiio/libiio.mk +++ b/package/libiio/libiio.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBIIO_VERSION = 0.15 +LIBIIO_VERSION = 0.19 LIBIIO_SITE = $(call github,analogdevicesinc,libiio,v$(LIBIIO_VERSION)) LIBIIO_INSTALL_STAGING = YES LIBIIO_LICENSE = LGPL-2.1+ @@ -72,7 +72,6 @@ endif ifeq ($(BR2_PACKAGE_LIBIIO_BINDINGS_CSHARP),y) define LIBIIO_INSTALL_CSHARP_BINDINGS_TO_TARGET - rm $(TARGET_DIR)/usr/lib/cli/libiio-sharp-$(LIBIIO_VERSION)/libiio-sharp.dll.mdb $(HOST_DIR)/bin/gacutil -root $(TARGET_DIR)/usr/lib -i \ $(TARGET_DIR)/usr/lib/cli/libiio-sharp-$(LIBIIO_VERSION)/libiio-sharp.dll endef diff --git a/package/libimxvpuapi/libimxvpuapi.mk b/package/libimxvpuapi/libimxvpuapi.mk index bcabbf3877..a2a3b21105 100644 --- a/package/libimxvpuapi/libimxvpuapi.mk +++ b/package/libimxvpuapi/libimxvpuapi.mk @@ -10,5 +10,6 @@ LIBIMXVPUAPI_LICENSE = LGPL-2.1+ LIBIMXVPUAPI_LICENSE_FILES = LICENSE LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu LIBIMXVPUAPI_INSTALL_STAGING = YES +LIBIMXVPUAPI_NEEDS_EXTERNAL_WAF = YES $(eval $(waf-package)) 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 deleted file mode 100644 index c9a0652e40..0000000000 --- a/package/libinput/0001-meson.build-enable-CPP-include-check-only-in-case-CP.patch +++ /dev/null @@ -1,49 +0,0 @@ -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/Config.in b/package/libinput/Config.in index f7793df84f..14e4e70f96 100644 --- a/package/libinput/Config.in +++ b/package/libinput/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LIBINPUT bool "libinput" - depends on BR2_ENABLE_LOCALE depends on BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_LIBEVDEV select BR2_PACKAGE_MTDEV @@ -14,5 +13,5 @@ config BR2_PACKAGE_LIBINPUT http://freedesktop.org/wiki/Software/libinput/ -comment "libinput needs udev /dev management and a toolchain w/ locale" - depends on !BR2_PACKAGE_HAS_UDEV || !BR2_ENABLE_LOCALE +comment "libinput needs udev /dev management" + depends on !BR2_PACKAGE_HAS_UDEV diff --git a/package/libinput/libinput.hash b/package/libinput/libinput.hash index 3ca3fd6771..0edbca5082 100644 --- a/package/libinput/libinput.hash +++ b/package/libinput/libinput.hash @@ -1,8 +1,8 @@ -# 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 +# From https://lists.freedesktop.org/archives/wayland-devel/2020-April/041400.html +md5 c9a1b15bb932eaf22f840efe4c3f84eb libinput-1.15.5.tar.xz +sha1 644b1c6936cfff8a4547da71fbcd7ebd28618426 libinput-1.15.5.tar.xz +sha256 a90efc8f423c3094f2f9f372fb92381b2f3aad62e8b5882a8abe333aa8249c97 libinput-1.15.5.tar.xz +sha512 a0a3a325048841fc017e19d3bc5f5490605972ab9e2730dc5678bda7efb7a5b1fa6f531f3c8abd8393899ec383d8d2bcfd586eacee04fc1fbda0e02ba2af956a libinput-1.15.5.tar.xz # License files -sha256 70d5b1dfe5a9c50a1f2ea91b1c2b1c85d876c5c92339585edbb85cf69e945e14 COPYING +sha256 70d5b1dfe5a9c50a1f2ea91b1c2b1c85d876c5c92339585edbb85cf69e945e14 COPYING diff --git a/package/libinput/libinput.mk b/package/libinput/libinput.mk index bc4cc89825..bf58e70822 100644 --- a/package/libinput/libinput.mk +++ b/package/libinput/libinput.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBINPUT_VERSION = 1.12.5 +LIBINPUT_VERSION = 1.15.5 LIBINPUT_SOURCE = libinput-$(LIBINPUT_VERSION).tar.xz LIBINPUT_SITE = http://www.freedesktop.org/software/libinput LIBINPUT_DEPENDENCIES = host-pkgconf libevdev mtdev udev diff --git a/package/libiqrf/libiqrf.hash b/package/libiqrf/libiqrf.hash index 12d526c83c..b7f3b9bf2c 100644 --- a/package/libiqrf/libiqrf.hash +++ b/package/libiqrf/libiqrf.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 8111031dd9dd6093a1927eb32dd7476fe22cfee9190043aa8e4c88003c104b16 libiqrf-v0.1.2.tar.gz +sha256 8111031dd9dd6093a1927eb32dd7476fe22cfee9190043aa8e4c88003c104b16 libiqrf-0.1.2.tar.gz diff --git a/package/libiqrf/libiqrf.mk b/package/libiqrf/libiqrf.mk index f403a5e364..cd03373dec 100644 --- a/package/libiqrf/libiqrf.mk +++ b/package/libiqrf/libiqrf.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBIQRF_VERSION = v0.1.2 -LIBIQRF_SITE = $(call github,nandra,libiqrf,$(LIBIQRF_VERSION)) +LIBIQRF_VERSION = 0.1.2 +LIBIQRF_SITE = $(call github,nandra,libiqrf,v$(LIBIQRF_VERSION)) LIBIQRF_INSTALL_STAGING = YES LIBIQRF_DEPENDENCIES = libusb LIBIQRF_LICENSE = LGPL-2.1+ diff --git a/package/libiscsi/0001-Do-not-use-I-usr-include.-This-is-unsafe-when-cross-compiling.patch b/package/libiscsi/0001-Do-not-use-I-usr-include.-This-is-unsafe-when-cross-compiling.patch deleted file mode 100644 index dc047ef49c..0000000000 --- a/package/libiscsi/0001-Do-not-use-I-usr-include.-This-is-unsafe-when-cross-compiling.patch +++ /dev/null @@ -1,67 +0,0 @@ -From f27bdf64f0c375352ca42928071a9178a5a04c46 Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Sun, 16 Oct 2016 10:53:13 +0100 -Subject: [PATCH] Do not use -I/usr/include. This is unsafe when cross-compiling. - -Upstream status: PR sent (https://github.com/sahlberg/libiscsi/pull/219) - -Signed-off-by: Vicente Olivert Riera ---- - examples/Makefile.am | 2 +- - lib/Makefile.am | 2 +- - tests/Makefile.am | 2 +- - utils/Makefile.am | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/examples/Makefile.am b/examples/Makefile.am -index 0de0b1f..42ad818 100644 ---- a/examples/Makefile.am -+++ b/examples/Makefile.am -@@ -1,6 +1,6 @@ - AM_CPPFLAGS=-I. -I${srcdir}/../include "-D_U_=__attribute__((unused))" \ - "-D_R_(A,B)=__attribute__((format(printf,A,B)))" --AM_CFLAGS=$(WARN_CFLAGS) -I/usr/include -+AM_CFLAGS=$(WARN_CFLAGS) - LDADD = ../lib/libiscsi.la - - noinst_PROGRAMS = iscsiclient iscsi-dd -diff --git a/lib/Makefile.am b/lib/Makefile.am -index d612fb7..47ffc33 100644 ---- a/lib/Makefile.am -+++ b/lib/Makefile.am -@@ -29,7 +29,7 @@ libiscsi_la_CPPFLAGS = -I${srcdir}/../include -I$(srcdir)/include \ - "-D_U_=__attribute__((unused))" \ - "-D_R_(A,B)=__attribute__((format(printf,A,B)))" - --AM_CFLAGS=$(WARN_CFLAGS) -I/usr/include -+AM_CFLAGS=$(WARN_CFLAGS) - - dist_noinst_DATA = libiscsi.syms libiscsi.def - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 9d699fc..b4cbf21 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -1,6 +1,6 @@ - AM_CPPFLAGS = -I../include "-D_U_=__attribute__((unused))" \ - "-D_R_(A,B)=__attribute__((format(printf,A,B)))" --AM_CFLAGS = $(WARN_CFLAGS) -I/usr/include -+AM_CFLAGS = $(WARN_CFLAGS) - LDADD = ../lib/libiscsi.la - - noinst_PROGRAMS = prog_reconnect prog_reconnect_timeout prog_noop_reply \ -diff --git a/utils/Makefile.am b/utils/Makefile.am -index 657ca9d..bde1c81 100644 ---- a/utils/Makefile.am -+++ b/utils/Makefile.am -@@ -1,6 +1,6 @@ - AM_CPPFLAGS = -I${srcdir}/../include "-D_U_=__attribute__((unused))" \ - "-D_R_(A,B)=__attribute__((format(printf,A,B)))" --AM_CFLAGS = $(WARN_CFLAGS) -I/usr/include -+AM_CFLAGS = $(WARN_CFLAGS) - LDADD = ../lib/libiscsi.la - - bin_PROGRAMS = iscsi-inq iscsi-ls iscsi-perf iscsi-readcapacity16 \ --- -2.10.0 - 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 deleted file mode 100644 index 1334a8352c..0000000000 --- a/package/libiscsi/0002-avoid-truncation-when-logging-message-that-includes-target-name.patch +++ /dev/null @@ -1,29 +0,0 @@ -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 deleted file mode 100644 index 94f653a99c..0000000000 --- a/package/libiscsi/0003-avoid-fallthrough.patch +++ /dev/null @@ -1,24 +0,0 @@ -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/Config.in b/package/libiscsi/Config.in index 760fecea66..932f857858 100644 --- a/package/libiscsi/Config.in +++ b/package/libiscsi/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBISCSI bool "libiscsi" + depends on BR2_TOOLCHAIN_HAS_THREADS help Libiscsi is a client-side library to implement the iSCSI protocol that can be used to access resource of an iSCSI @@ -9,4 +10,7 @@ config BR2_PACKAGE_LIBISCSI scsi tasks, but a sync layer is also provided for ease of use for simpler applications. - https://github.com/sahlberg/libiscsi (no proper homepage) + https://github.com/sahlberg/libiscsi + +comment "libiscsi needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libiscsi/libiscsi.hash b/package/libiscsi/libiscsi.hash index 0688f2dd2f..b70bb423dc 100644 --- a/package/libiscsi/libiscsi.hash +++ b/package/libiscsi/libiscsi.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 464d104e12533dc11f0dd7662cbc2f01c132f94aa4f5bd519e3413ef485830e8 libiscsi-1.18.0.tar.gz +sha256 c7848ac722c8361d5064654bc6e926c2be61ef11dd3875020a63931836d806df libiscsi-1.19.0.tar.gz sha256 88e3eccc48722b2a0eaff456dda94b8e8e123848d01f631969bec8e3c6c6eb85 COPYING sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENCE-GPL-2.txt sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENCE-LGPL-2.1.txt diff --git a/package/libiscsi/libiscsi.mk b/package/libiscsi/libiscsi.mk index 2b26a1427c..c8b6ddd123 100644 --- a/package/libiscsi/libiscsi.mk +++ b/package/libiscsi/libiscsi.mk @@ -4,23 +4,14 @@ # ################################################################################ -LIBISCSI_VERSION = 1.18.0 +LIBISCSI_VERSION = 1.19.0 LIBISCSI_SITE = $(call github,sahlberg,libiscsi,$(LIBISCSI_VERSION)) LIBISCSI_LICENSE = GPL-2.0+, LGPL-2.1+ 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 -endef -LIBISCSI_POST_PATCH_HOOKS += LIBISCSI_CREATE_M4_DIR +LIBISCSI_CONF_OPTS = --disable-examples --disable-werror --disable-manpages \ + --disable-test-tool --disable-tests $(eval $(autotools-package)) diff --git a/package/libite/libite.hash b/package/libite/libite.hash index aac01fd36d..1a553d2bcb 100644 --- a/package/libite/libite.hash +++ b/package/libite/libite.hash @@ -1,5 +1,8 @@ +# From https://github.com/troglobit/libite/releases/download/v2.2.0/libite-2.2.0.tar.xz.md5 +md5 8533ab27d0d4a7c745f11925907795a9 libite-2.2.0.tar.xz + # Locally calculated -sha256 bd5d08066f3e53cc8967beb6f0620286aad7a24d49fb730caa1c6d09a26bb705 libite-v2.0.2.tar.gz -sha256 0e97ab27b60e20a7ddb8e9638189ad159124e51d2c12e12735b05423df224da5 LICENSE -sha256 9e0fb98d251dddf5ba81a355f6b4d89835ec53bc5d7f5fcd2c866b54ec5ccec8 src/chomp.c -sha256 a7d29c148e057fae11a87febc3a51970a26433c35a08fc710be689394442d32d src/pidfile.c +sha256 3fdeb48ea3d9220f91111ed7a68e1e68edfc70346d0108a49bab73a47a7dd761 libite-2.2.0.tar.xz +sha256 a8a7506c64ce46a58c17838b0f678f8c2567d71869402f97d19460ddec4882f5 LICENSE +sha256 89053891d46d04a21d4a492f68038703e179986baffa458201810f4222b57427 src/chomp.c +sha256 a7d29c148e057fae11a87febc3a51970a26433c35a08fc710be689394442d32d src/pidfile.c diff --git a/package/libite/libite.mk b/package/libite/libite.mk index bcda5f3f0c..69a90d7187 100644 --- a/package/libite/libite.mk +++ b/package/libite/libite.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBITE_VERSION = v2.0.2 -LIBITE_SITE = $(call github,troglobit,libite,$(LIBITE_VERSION)) +LIBITE_VERSION = 2.2.0 +LIBITE_SOURCE = libite-$(LIBITE_VERSION).tar.xz +LIBITE_SITE = https://github.com/troglobit/libite/releases/download/v$(LIBITE_VERSION) LIBITE_LICENSE = MIT, X11, ISC, BSD-2-Clause LIBITE_LICENSE_FILES = LICENSE src/chomp.c src/pidfile.c LIBITE_INSTALL_STAGING = YES -LIBITE_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/libjpeg/libjpeg.hash b/package/libjpeg/libjpeg.hash index 7d47f550cb..4f0a677d04 100644 --- a/package/libjpeg/libjpeg.hash +++ b/package/libjpeg/libjpeg.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 650250979303a649e21f87b5ccd02672af1ea6954b911342ea491f351ceb7122 jpegsrc.v9c.tar.gz -sha256 31f366acfb6259456d9046eb7f16875e387f8bf029d37ac4c4397bf63f22fd6b README +sha256 99cb50e48a4556bc571dadd27931955ff458aae32f68c4d9c39d624693f69c32 jpegsrc.v9d.tar.gz +sha256 3dc4e4a145c907a96bd6a0e40be3f722fecf061951909143cdff5365cba9c78c README diff --git a/package/libjpeg/libjpeg.mk b/package/libjpeg/libjpeg.mk index ab09881fc1..b855344f3c 100644 --- a/package/libjpeg/libjpeg.mk +++ b/package/libjpeg/libjpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBJPEG_VERSION = 9c +LIBJPEG_VERSION = 9d LIBJPEG_SITE = http://www.ijg.org/files LIBJPEG_SOURCE = jpegsrc.v$(LIBJPEG_VERSION).tar.gz LIBJPEG_LICENSE = IJG 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 deleted file mode 100644 index a4c352d30c..0000000000 --- a/package/libkcapi/0001-apps-kcapi-hasher.c-fix-build-with-gcc-8.2.x.patch +++ /dev/null @@ -1,54 +0,0 @@ -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/Config.in b/package/libkcapi/Config.in index 1dbcdc381b..8243f6b738 100644 --- a/package/libkcapi/Config.in +++ b/package/libkcapi/Config.in @@ -8,6 +8,9 @@ config BR2_PACKAGE_LIBKCAPI if BR2_PACKAGE_LIBKCAPI +config BR2_PACKAGE_LIBKCAPI_ENCAPP + bool "build enc application" + config BR2_PACKAGE_LIBKCAPI_HASHER bool "build hasher application" depends on !BR2_STATIC_LIBS # dlfcn.h diff --git a/package/libkcapi/libkcapi.hash b/package/libkcapi/libkcapi.hash index a9b42bf6e2..b3c2c749c3 100644 --- a/package/libkcapi/libkcapi.hash +++ b/package/libkcapi/libkcapi.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 9197f35aca270f97c544fe94dab379b44a2879a07eb78acd5d02c55924902763 libkcapi-1.1.4.tar.xz +sha256 8a08dcbb4d05ede4357cdc9d61c7f2a7f2cd96b7ce2eb41b28e45b2e378267ad libkcapi-1.1.5.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 48d34ffc40..60b3f94388 100644 --- a/package/libkcapi/libkcapi.mk +++ b/package/libkcapi/libkcapi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBKCAPI_VERSION = 1.1.4 +LIBKCAPI_VERSION = 1.1.5 LIBKCAPI_SOURCE = libkcapi-$(LIBKCAPI_VERSION).tar.xz LIBKCAPI_SITE = http://www.chronox.de/libkcapi LIBKCAPI_AUTORECONF = YES @@ -16,6 +16,12 @@ LIBKCAPI_CONF_ENV = \ ac_cv_path_DB2PS="" \ ac_cv_path_XMLTO="" +ifeq ($(BR2_PACKAGE_LIBKCAPI_ENCAPP),y) +LIBKCAPI_CONF_OPTS += --enable-kcapi-encapp +else +LIBKCAPI_CONF_OPTS += --disable-kcapi-encapp +endif + ifeq ($(BR2_PACKAGE_LIBKCAPI_HASHER),y) LIBKCAPI_CONF_OPTS += --enable-kcapi-hasher else diff --git a/package/libkrb5/libkrb5.hash b/package/libkrb5/libkrb5.hash index 733c6c9d6f..658c4539f6 100644 --- a/package/libkrb5/libkrb5.hash +++ b/package/libkrb5/libkrb5.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 9f721e1fe593c219174740c71de514c7228a97d23eb7be7597b2ae14e487f027 krb5-1.16.2.tar.gz +sha256 02a4e700f10936f937cd1a4c303cab8687a11abecc6107bd4b706b9329cd5400 krb5-1.18.1.tar.gz # Hash for license file: -sha256 58534f00ed877fd32936fcab094f49d399aeef7716393204d8028c4b89050c82 NOTICE +sha256 b7a5f14a8719bce5e49a761998aa55438fc890fb40f71228d6a49546f6d5690d NOTICE diff --git a/package/libkrb5/libkrb5.mk b/package/libkrb5/libkrb5.mk index 56345416aa..f7cd677def 100644 --- a/package/libkrb5/libkrb5.mk +++ b/package/libkrb5/libkrb5.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBKRB5_VERSION_MAJOR = 1.16 -LIBKRB5_VERSION = $(LIBKRB5_VERSION_MAJOR).2 +LIBKRB5_VERSION_MAJOR = 1.18 +LIBKRB5_VERSION = $(LIBKRB5_VERSION_MAJOR).1 LIBKRB5_SITE = https://web.mit.edu/kerberos/dist/krb5/$(LIBKRB5_VERSION_MAJOR) LIBKRB5_SOURCE = krb5-$(LIBKRB5_VERSION).tar.gz LIBKRB5_SUBDIR = src @@ -41,7 +41,7 @@ endif ifeq ($(BR2_PACKAGE_LIBEDIT),y) LIBKRB5_CONF_OPTS += --with-libedit -LIBKRB5_DEPENDENCIES += libedit +LIBKRB5_DEPENDENCIES += host-pkgconf libedit else LIBKRB5_CONF_OPTS += --without-libedit endif diff --git a/package/libldns/libldns.hash b/package/libldns/libldns.hash index f20bb4be59..c8fb39d478 100644 --- a/package/libldns/libldns.hash +++ b/package/libldns/libldns.hash @@ -1,7 +1,7 @@ -# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.7.0.tar.gz.sha1 -sha1 ceeeccf8a27e61a854762737f6ee02f44662c1b8 ldns-1.7.0.tar.gz -# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.7.0.tar.gz.sha256 -sha256 c19f5b1b4fb374cfe34f4845ea11b1e0551ddc67803bd6ddd5d2a20f0997a6cc ldns-1.7.0.tar.gz +# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.7.1.tar.gz.sha1 +sha1 d075a08972c0f573101fb4a6250471daaa53cb3e ldns-1.7.1.tar.gz +# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.7.1.tar.gz.sha256 +sha256 8ac84c16bdca60e710eea75782356f3ac3b55680d40e1530d7cea474ac208229 ldns-1.7.1.tar.gz # Hash for license file: sha256 9e0b1505c358d1a7c79555ee8bd1acbe2985dbc74dd81f3697cebf2161e922e6 LICENSE diff --git a/package/libldns/libldns.mk b/package/libldns/libldns.mk index d3c89bb6b3..75159389de 100644 --- a/package/libldns/libldns.mk +++ b/package/libldns/libldns.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBLDNS_VERSION = 1.7.0 +LIBLDNS_VERSION = 1.7.1 LIBLDNS_SOURCE = ldns-$(LIBLDNS_VERSION).tar.gz LIBLDNS_SITE = http://www.nlnetlabs.nl/downloads/ldns LIBLDNS_LICENSE = BSD-3-Clause diff --git a/package/liblinear/liblinear.hash b/package/liblinear/liblinear.hash index 9644bc02dd..4430d29989 100644 --- a/package/liblinear/liblinear.hash +++ b/package/liblinear/liblinear.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3f9fef20e76267bed1b817c9dc96d561ab5ee487828109bd44ed268fbf42048f liblinear-2.20.tar.gz -sha256 2ad9363447d0afeca34d53619163cffd502ec172bdb44d8d112c7acb99ae2558 COPYRIGHT +sha256 881c7039c6cf93119c781fb56263de91617b3eca8c3951f2c19a3797de95c6ac liblinear-2.30.tar.gz +sha256 c366abf1cb3a003d8c6e6d9c111a23c432db1d001294f88d479b70b60d7c0af2 COPYRIGHT diff --git a/package/liblinear/liblinear.mk b/package/liblinear/liblinear.mk index e1a0d10909..2d0fd0013c 100644 --- a/package/liblinear/liblinear.mk +++ b/package/liblinear/liblinear.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBLINEAR_VERSION = 2.20 +LIBLINEAR_VERSION = 2.30 LIBLINEAR_SITE = http://www.csie.ntu.edu.tw/~cjlin/liblinear LIBLINEAR_LICENSE = BSD-3-Clause LIBLINEAR_LICENSE_FILES = COPYRIGHT diff --git a/package/liblo/0001-server-use-correct-poll.h-header.patch b/package/liblo/0001-server-use-correct-poll.h-header.patch deleted file mode 100644 index 04c0445534..0000000000 --- a/package/liblo/0001-server-use-correct-poll.h-header.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d59f2e6f42a9e4f8a9184d7ed75546f47dc50123 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 8 Apr 2018 11:09:02 +0200 -Subject: [PATCH] server: use correct poll.h header - -Fixes build with the musl C library: - http://autobuild.buildroot.net/results/000a46954d0c6d3dbc4b4634a0d3a3c955fac679 - -Signed-off-by: "Yann E. MORIN" ---- -Upstream status: - PR sent: https://github.com/radarsat1/liblo/pull/66 ---- - src/server.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/server.c b/src/server.c -index 01fa08f..11c62d2 100644 ---- a/src/server.c -+++ b/src/server.c -@@ -51,7 +51,7 @@ - #include - #include - #ifdef HAVE_POLL --#include -+#include - #endif - #include - #include --- -2.14.1 - diff --git a/package/liblo/0002-src-server.c-fix-stringop-truncation-error.patch b/package/liblo/0002-src-server.c-fix-stringop-truncation-error.patch deleted file mode 100644 index 3f3bf86cc3..0000000000 --- a/package/liblo/0002-src-server.c-fix-stringop-truncation-error.patch +++ /dev/null @@ -1,30 +0,0 @@ -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/liblo/liblo.hash b/package/liblo/liblo.hash index fe61f82e67..049ab80747 100644 --- a/package/liblo/liblo.hash +++ b/package/liblo/liblo.hash @@ -1,6 +1,7 @@ -# From http://sourceforge.net/projects/liblo/files/liblo/0.29/ -sha1 6aa69456787d3d6ef915281b4a0f8f2c79548ce3 liblo-0.29.tar.gz -md5 b0e70bc0fb2254addf94adddf85cffd3 liblo-0.29.tar.gz +# From http://sourceforge.net/projects/liblo/files/liblo/0.30/ +sha1 152a3260d186f111a71508dc0ed709984960f130 liblo-0.30.tar.gz +md5 fa1a9d45f86fc18fb54019f670ff2262 liblo-0.30.tar.gz # Locally computed +sha256 30a7c9de49a25ed7f2425a7a7415f5b14739def62431423d3419ea26fb978d1b liblo-0.30.tar.gz sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/liblo/liblo.mk b/package/liblo/liblo.mk index e28e52803a..69918186db 100644 --- a/package/liblo/liblo.mk +++ b/package/liblo/liblo.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBLO_VERSION = 0.29 +LIBLO_VERSION = 0.30 LIBLO_SITE = http://downloads.sourceforge.net/project/liblo/liblo/$(LIBLO_VERSION) LIBLO_LICENSE = LGPL-2.1+ diff --git a/package/liblockfile/Config.in b/package/liblockfile/Config.in index 88a9c338bb..83ffea86c8 100644 --- a/package/liblockfile/Config.in +++ b/package/liblockfile/Config.in @@ -2,3 +2,5 @@ config BR2_PACKAGE_LIBLOCKFILE bool "liblockfile" help NFS-safe locking library. + + https://github.com/miquels/liblockfile diff --git a/package/liblockfile/liblockfile.hash b/package/liblockfile/liblockfile.hash index 4421673b91..881ad992ae 100644 --- a/package/liblockfile/liblockfile.hash +++ b/package/liblockfile/liblockfile.hash @@ -1,3 +1,5 @@ # From http://snapshot.debian.org/archive/debian/20151026T153523Z/pool/main/libl/liblockfile/liblockfile_1.09-6.dsc -sha256 16979eba05396365e1d6af7100431ae9d32f9bc063930d1de66298a0695f1b7f liblockfile_1.09.orig.tar.gz -sha256 d45eacb7c637c16d03c777c55989d98da494ae9584a0783fe6dbf0db60fa290f liblockfile_1.09-6.debian.tar.bz2 +sha256 16979eba05396365e1d6af7100431ae9d32f9bc063930d1de66298a0695f1b7f liblockfile_1.09.orig.tar.gz +sha256 d45eacb7c637c16d03c777c55989d98da494ae9584a0783fe6dbf0db60fa290f liblockfile_1.09-6.debian.tar.bz2 +# Locally computed +sha256 5fffcc11f94a05a7cff02ff792407737eb1cba840767cc1a71b67fbb19695dd3 COPYRIGHT diff --git a/package/liblog4c-localtime/liblog4c-localtime.hash b/package/liblog4c-localtime/liblog4c-localtime.hash index c638d7325f..d14b79594d 100644 --- a/package/liblog4c-localtime/liblog4c-localtime.hash +++ b/package/liblog4c-localtime/liblog4c-localtime.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a1f68d8251509c0171f8bfea42f9e2a5255a4185f7dcbe67f584aa09709b2496 liblog4c-localtime-v1.0.tar.gz +sha256 a1f68d8251509c0171f8bfea42f9e2a5255a4185f7dcbe67f584aa09709b2496 liblog4c-localtime-1.0.tar.gz sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING diff --git a/package/liblog4c-localtime/liblog4c-localtime.mk b/package/liblog4c-localtime/liblog4c-localtime.mk index fba0d4faae..4ec390d733 100644 --- a/package/liblog4c-localtime/liblog4c-localtime.mk +++ b/package/liblog4c-localtime/liblog4c-localtime.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBLOG4C_LOCALTIME_VERSION = v1.0 -LIBLOG4C_LOCALTIME_SITE = $(call github,rcmadruga,log4c-localtime,$(LIBLOG4C_LOCALTIME_VERSION)) +LIBLOG4C_LOCALTIME_VERSION = 1.0 +LIBLOG4C_LOCALTIME_SITE = $(call github,rcmadruga,log4c-localtime,v$(LIBLOG4C_LOCALTIME_VERSION)) LIBLOG4C_LOCALTIME_INSTALL_STAGING = YES LIBLOG4C_LOCALTIME_CONF_OPTS = --disable-expattest LIBLOG4C_LOCALTIME_DEPENDENCIES = expat diff --git a/package/libmad/0006-configure-ac-automake-foreign.patch b/package/libmad/0002-configure-ac-automake-foreign.patch similarity index 100% rename from package/libmad/0006-configure-ac-automake-foreign.patch rename to package/libmad/0002-configure-ac-automake-foreign.patch diff --git a/package/libmad/0003-remove-deprecated-cflags.patch b/package/libmad/0003-remove-deprecated-cflags.patch deleted file mode 100644 index e5040830f9..0000000000 --- a/package/libmad/0003-remove-deprecated-cflags.patch +++ /dev/null @@ -1,33 +0,0 @@ -libmad: remove deprecated cflags (-fforce-mem) - -fforce-mem has long been deprecated, and is completely removed from -gcc 4.3.x on. ---- - configure | 1 - - configure.ac | 1 - - 2 files changed, 2 deletions(-) - -Index: libmad-0.15.1b/configure.ac -=================================================================== ---- libmad-0.15.1b.orig/configure.ac -+++ libmad-0.15.1b/configure.ac -@@ -140,7 +140,6 @@ - case "$optimize" in - -O|"-O "*) - optimize="-O" -- optimize="$optimize -fforce-mem" - optimize="$optimize -fforce-addr" - : #x optimize="$optimize -finline-functions" - : #- optimize="$optimize -fstrength-reduce" -Index: libmad-0.15.1b/configure -=================================================================== ---- libmad-0.15.1b.orig/configure -+++ libmad-0.15.1b/configure -@@ -19099,7 +19099,6 @@ - case "$optimize" in - -O|"-O "*) - optimize="-O" -- optimize="$optimize -fforce-mem" - optimize="$optimize -fforce-addr" - : #x optimize="$optimize -finline-functions" - : #- optimize="$optimize -fstrength-reduce" diff --git a/package/libmad/0004-thumb2-fixed-arm.patch b/package/libmad/0004-thumb2-fixed-arm.patch deleted file mode 100644 index befda48d7e..0000000000 --- a/package/libmad/0004-thumb2-fixed-arm.patch +++ /dev/null @@ -1,40 +0,0 @@ -Fixes Thumb2-related build failure - -Patch below comes from the Debian libmad package. - -Signed-off-by: Thomas Petazzoni - -From: Dave Martin -Subject: "rsc" doesnt exist anymore in thumb2 - -diff --git a/fixed.h b/fixed.h -index 4b58abf..ba4bc26 100644 ---- a/fixed.h -+++ b/fixed.h -@@ -275,12 +275,25 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y) - : "+r" (lo), "+r" (hi) \ - : "%r" (x), "r" (y)) - -+#ifdef __thumb__ -+/* In Thumb-2, the RSB-immediate instruction is only allowed with a zero -+ operand. If needed this code can also support Thumb-1 -+ (simply append "s" to the end of the second two instructions). */ -+# define MAD_F_MLN(hi, lo) \ -+ asm ("rsbs %0, %0, #0\n\t" \ -+ "sbc %1, %1, %1\n\t" \ -+ "sub %1, %1, %2" \ -+ : "+&r" (lo), "=&r" (hi) \ -+ : "r" (hi) \ -+ : "cc") -+#else /* ! __thumb__ */ - # define MAD_F_MLN(hi, lo) \ - asm ("rsbs %0, %2, #0\n\t" \ - "rsc %1, %3, #0" \ -- : "=r" (lo), "=r" (hi) \ -+ : "=&r" (lo), "=r" (hi) \ - : "0" (lo), "1" (hi) \ - : "cc") -+#endif /* __thumb__ */ - - # define mad_f_scale64(hi, lo) \ - ({ mad_fixed_t __result; \ diff --git a/package/libmad/0005-thumb2-imdct-arm.patch b/package/libmad/0005-thumb2-imdct-arm.patch deleted file mode 100644 index 414b9c8fcf..0000000000 --- a/package/libmad/0005-thumb2-imdct-arm.patch +++ /dev/null @@ -1,20 +0,0 @@ -Fixes Thumb2 related build failure - -Patch below comes from the Debian libmad package. - -Signed-off-by: Thomas Petazzoni - -From: Konstantinos Margaritis -Subject: use "adr" instead of "add" to make code ready for thumb2 - ---- ./imdct_l_arm.S.orig 2010-02-25 13:25:23.000000000 +0100 -+++ ./imdct_l_arm.S 2010-02-25 13:27:26.000000000 +0100 -@@ -468,7 +468,7 @@ - - @---- - -- add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?) -+ adr r2, imdct36_long_karray - - - loop: diff --git a/package/libmad/libmad.hash b/package/libmad/libmad.hash index 8b7859395f..2be1a8a3a8 100644 --- a/package/libmad/libmad.hash +++ b/package/libmad/libmad.hash @@ -1,4 +1,6 @@ -# Locally computed: -sha256 bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690 libmad-0.15.1b.tar.gz -sha256 0e21f2c6b19337d0b237dacc04f7b90a56be7f359f4c9a2ee0b202d9af0cfa69 frame_length.diff +# From http://snapshot.debian.org/archive/debian/20190310T213528Z/pool/main/libm/libmad/libmad_0.15.1b-10.dsc +sha256 bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690 libmad_0.15.1b.orig.tar.gz +sha256 dfeabd5d2398bf902660edc31f87ad40600f0aa732b946f864d8ee6bbf56a99c libmad_0.15.1b-10.diff.gz + +# Hash for license file: sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/libmad/libmad.mk b/package/libmad/libmad.mk index 108c4f641b..33134e26d4 100644 --- a/package/libmad/libmad.mk +++ b/package/libmad/libmad.mk @@ -5,13 +5,27 @@ ################################################################################ LIBMAD_VERSION = 0.15.1b -LIBMAD_SITE = http://downloads.sourceforge.net/project/mad/libmad/$(LIBMAD_VERSION) +LIBMAD_PATCH = libmad_$(LIBMAD_VERSION)-10.diff.gz +LIBMAD_SOURCE = libmad_$(LIBMAD_VERSION).orig.tar.gz +LIBMAD_SITE = \ + http://snapshot.debian.org/archive/debian/20190310T213528Z/pool/main/libm/libmad LIBMAD_INSTALL_STAGING = YES -LIBMAD_LIBTOOL_PATCH = NO LIBMAD_LICENSE = GPL-2.0+ 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_APPLY_DEBIAN_PATCHES + if [ -d $(@D)/debian/patches ]; then \ + $(APPLY_PATCHES) $(@D) $(@D)/debian/patches *.patch; \ + fi +endef + +LIBMAD_POST_PATCH_HOOKS += LIBMAD_APPLY_DEBIAN_PATCHES + +# debian/patches/md_size.diff +LIBMAD_IGNORE_CVES += CVE-2017-8372 CVE-2017-8373 + +# debian/patches/length-check.patch +LIBMAD_IGNORE_CVES += CVE-2017-8374 # 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. diff --git a/package/libmatroska/libmatroska.hash b/package/libmatroska/libmatroska.hash index e42a9b2824..827f08921c 100644 --- a/package/libmatroska/libmatroska.hash +++ b/package/libmatroska/libmatroska.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 38a61dd5d87c070928b5deb3922b63b2b83c09e2e4a10f9393eecb6afa9795c8 libmatroska-1.4.9.tar.xz +sha256 0ac6debfbf781d47f001b830aaf9be9dfbcefd13bcfb80ca5efc1c04b4a3c962 libmatroska-1.5.2.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL diff --git a/package/libmatroska/libmatroska.mk b/package/libmatroska/libmatroska.mk index b8d0d84d35..7b7c5f03ef 100644 --- a/package/libmatroska/libmatroska.mk +++ b/package/libmatroska/libmatroska.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMATROSKA_VERSION = 1.4.9 +LIBMATROSKA_VERSION = 1.5.2 LIBMATROSKA_SOURCE = libmatroska-$(LIBMATROSKA_VERSION).tar.xz LIBMATROSKA_SITE = http://dl.matroska.org/downloads/libmatroska LIBMATROSKA_INSTALL_STAGING = YES diff --git a/package/libmaxminddb/0001-Add-disable-binaries.patch b/package/libmaxminddb/0001-Add-disable-binaries.patch deleted file mode 100644 index 0053cace71..0000000000 --- a/package/libmaxminddb/0001-Add-disable-binaries.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 501f85fa729d08b90f0e1ff6f9378a0864f722a7 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 2 Feb 2018 13:19:18 +0100 -Subject: [PATCH] Add --disable-binaries - -mmdblookup now depends on pthread.h which can be disabled on some -toolchains so add an option to be able to compile libmaxminddb without -this binary - -Signed-off-by: Fabrice Fontaine ---- - Makefile.am | 6 +++++- - configure.ac | 6 ++++++ - 2 files changed, 11 insertions(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index cebcd31..cfbfd77 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -4,8 +4,12 @@ include_HEADERS = include/maxminddb.h - nodist_include_HEADERS = include/maxminddb_config.h - - SUBDIRS = \ -- src \ -+ src -+ -+if BINARIES -+SUBDIRS += \ - bin -+endif - - if TESTS - SUBDIRS += \ -diff --git a/configure.ac b/configure.ac -index c494746..4d1beb4 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -119,6 +119,12 @@ AC_ARG_ENABLE( - esac],[debug=false]) - AM_CONDITIONAL([DEBUG], [test x$debug = xtrue]) - -+AC_ARG_ENABLE([binaries], -+ AS_HELP_STRING([--enable-binaries], [Compilation of binaries code]), -+ [enable_binaries=${enableval}], -+ [enable_binaries=yes]) -+AM_CONDITIONAL([BINARIES], [test "${enable_binaries}" = "yes"]) -+ - AC_ARG_ENABLE([tests], - AS_HELP_STRING([--enable-tests], [Compilation of tests code]), - [enable_tests=${enableval}], --- -2.7.4 - diff --git a/package/libmaxminddb/libmaxminddb.hash b/package/libmaxminddb/libmaxminddb.hash index 073458a351..a3ca682c2a 100644 --- a/package/libmaxminddb/libmaxminddb.hash +++ b/package/libmaxminddb/libmaxminddb.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 c0785521c7e5515f1169db90ed6e51bc2a5a000377d0fbad87e4d5a791a6e364 libmaxminddb-1.3.2.tar.gz +sha256 dd582aa971be23dee960ec33c67fb5fd38affba508e6f00ea75959dbd5aad156 libmaxminddb-1.4.2.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/libmaxminddb/libmaxminddb.mk b/package/libmaxminddb/libmaxminddb.mk index 25d4d3378f..18e2eaee7d 100644 --- a/package/libmaxminddb/libmaxminddb.mk +++ b/package/libmaxminddb/libmaxminddb.mk @@ -4,13 +4,12 @@ # ################################################################################ -LIBMAXMINDDB_VERSION = 1.3.2 -LIBMAXMINDDB_SITE = $(call github,maxmind,libmaxminddb,$(LIBMAXMINDDB_VERSION)) +LIBMAXMINDDB_VERSION = 1.4.2 +LIBMAXMINDDB_SITE = \ + https://github.com/maxmind/libmaxminddb/releases/download/$(LIBMAXMINDDB_VERSION) LIBMAXMINDDB_INSTALL_STAGING = YES LIBMAXMINDDB_LICENSE = Apache-2.0 LIBMAXMINDDB_LICENSE_FILES = LICENSE -# Fetched from Github, with no configure script -LIBMAXMINDDB_AUTORECONF = YES LIBMAXMINDDB_CONF_OPTS = --disable-tests # mmdblookup binary depends on pthreads diff --git a/package/libmbim/libmbim.hash b/package/libmbim/libmbim.hash index 9e8629f341..828bea0f92 100644 --- a/package/libmbim/libmbim.hash +++ b/package/libmbim/libmbim.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 6cf40128d83d087946a7d8577e735526202e034d52f90047735329609097b282 libmbim-1.18.0.tar.xz +sha256 5c0778eb1cd12c3604523134e55183f5147b0cae71150e875b583768f7aa1f38 libmbim-1.22.0.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/libmbim/libmbim.mk b/package/libmbim/libmbim.mk index 748d215537..67cfd2bc0b 100644 --- a/package/libmbim/libmbim.mk +++ b/package/libmbim/libmbim.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMBIM_VERSION = 1.18.0 +LIBMBIM_VERSION = 1.22.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) diff --git a/package/libmediaart/libmediaart.mk b/package/libmediaart/libmediaart.mk index a81542ac69..0d110a43e5 100644 --- a/package/libmediaart/libmediaart.mk +++ b/package/libmediaart/libmediaart.mk @@ -22,9 +22,7 @@ LIBMEDIAART_CONF_OPTS += \ --disable-qt else ifeq ($(BR2_PACKAGE_LIBMEDIAART_BACKEND_QT),y) # qt5 needs c++11 (since qt-5.7) -ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) LIBMEDIAART_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" -endif LIBMEDIAART_DEPENDENCIES += qt5base LIBMEDIAART_CONF_OPTS += \ --disable-gdkpixbuf \ @@ -35,4 +33,11 @@ LIBMEDIAART_CONF_OPTS += \ --disable-qt endif +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +LIBMEDIAART_CONF_OPTS += --enable-introspection +LIBMEDIAART_DEPENDENCIES += gobject-introspection +else +LIBMEDIAART_CONF_OPTS += --disable-introspection +endif + $(eval $(autotools-package)) diff --git a/package/libmicrohttpd/Config.in b/package/libmicrohttpd/Config.in index 7f3c9bb8fd..8477ef6668 100644 --- a/package/libmicrohttpd/Config.in +++ b/package/libmicrohttpd/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LIBMICROHTTPD bool "libmicrohttpd" - depends on BR2_TOOLCHAIN_HAS_THREADS help GNU libmicrohttpd is a small C library that makes it easy to run an HTTP server as part of another application. @@ -21,6 +20,3 @@ comment "libmicrohttpd https support needs a toolchain w/ wchar, dynamic library depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS endif - -comment "libmicrohttpd needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libmicrohttpd/libmicrohttpd.hash b/package/libmicrohttpd/libmicrohttpd.hash index d54d2bbc14..d853f67a76 100644 --- a/package/libmicrohttpd/libmicrohttpd.hash +++ b/package/libmicrohttpd/libmicrohttpd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 cd0e5d3f95a9e55ef7cdf4d0530e997ba00b8411af9149d9287db785d729c471 libmicrohttpd-0.9.60.tar.gz -sha256 70e12e2a60151b9ed1a4c94a5ffeb99cd086fa94542b5a92fec581506e8d3121 COPYING +sha256 e8f445e85faf727b89e9f9590daea4473ae00ead38b237cf1eda55172b89b182 libmicrohttpd-0.9.71.tar.gz +sha256 7399547209438c93f9b90297954698773d4846cea44cde5ca982c84c45952a3b COPYING diff --git a/package/libmicrohttpd/libmicrohttpd.mk b/package/libmicrohttpd/libmicrohttpd.mk index fd7c370855..4cb9dbcbfd 100644 --- a/package/libmicrohttpd/libmicrohttpd.mk +++ b/package/libmicrohttpd/libmicrohttpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMICROHTTPD_VERSION = 0.9.60 +LIBMICROHTTPD_VERSION = 0.9.71 LIBMICROHTTPD_SITE = $(BR2_GNU_MIRROR)/libmicrohttpd LIBMICROHTTPD_LICENSE_FILES = COPYING LIBMICROHTTPD_INSTALL_STAGING = YES @@ -22,4 +22,10 @@ LIBMICROHTTPD_LICENSE = LGPL-2.1+ or eCos LIBMICROHTTPD_CONF_OPTS += --disable-https endif +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +LIBMICROHTTPD_CONF_OPTS += --with-threads=auto +else +LIBMICROHTTPD_CONF_OPTS += --with-threads=none +endif + $(eval $(autotools-package)) diff --git a/package/libmodbus/libmodbus.hash b/package/libmodbus/libmodbus.hash index 2d65e28a34..2931f3f3d7 100644 --- a/package/libmodbus/libmodbus.hash +++ b/package/libmodbus/libmodbus.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c8c862b0e9a7ba699a49bc98f62bdffdfafd53a5716c0e162696b4bf108d3637 libmodbus-3.1.4.tar.gz +sha256 d7d9fa94a16edb094e5fdf5d87ae17a0dc3f3e3d687fead81835d9572cf87c16 libmodbus-3.1.6.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER diff --git a/package/libmodbus/libmodbus.mk b/package/libmodbus/libmodbus.mk index e5a6c6385a..584ac75055 100644 --- a/package/libmodbus/libmodbus.mk +++ b/package/libmodbus/libmodbus.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMODBUS_VERSION = 3.1.4 +LIBMODBUS_VERSION = 3.1.6 LIBMODBUS_SITE = http://libmodbus.org/releases LIBMODBUS_LICENSE = LGPL-2.1+ LIBMODBUS_LICENSE_FILES = COPYING.LESSER diff --git a/package/libmodplug/libmodplug.hash b/package/libmodplug/libmodplug.hash index d50a56eeda..e75152e27f 100644 --- a/package/libmodplug/libmodplug.hash +++ b/package/libmodplug/libmodplug.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 77462d12ee99476c8645cb5511363e3906b88b33a6b54362b4dbc0f39aa2daad libmodplug-0.8.8.5.tar.gz +sha256 457ca5a6c179656d66c01505c0d95fafaead4329b9dbaa0f997d00a3508ad9de libmodplug-0.8.9.0.tar.gz sha256 49942e7b3b175f549e751feb08b5270ca6f6c5fb7a1be9f9517db275ec32c92e COPYING diff --git a/package/libmodplug/libmodplug.mk b/package/libmodplug/libmodplug.mk index d9d74df50c..05786ce812 100644 --- a/package/libmodplug/libmodplug.mk +++ b/package/libmodplug/libmodplug.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMODPLUG_VERSION = 0.8.8.5 +LIBMODPLUG_VERSION = 0.8.9.0 LIBMODPLUG_SITE = http://downloads.sourceforge.net/project/modplug-xmms/libmodplug/$(LIBMODPLUG_VERSION) LIBMODPLUG_INSTALL_STAGING = YES LIBMODPLUG_LICENSE = Public Domain diff --git a/package/libmodsecurity/0001-Fail-when-CANONICAL_HOST-cannot-be-determined.patch b/package/libmodsecurity/0001-Fail-when-CANONICAL_HOST-cannot-be-determined.patch new file mode 100644 index 0000000000..ab00a14e2a --- /dev/null +++ b/package/libmodsecurity/0001-Fail-when-CANONICAL_HOST-cannot-be-determined.patch @@ -0,0 +1,31 @@ +From 0832208360aab69fbaec76225db67801840a33fe Mon Sep 17 00:00:00 2001 +From: Frank Vanbever +Date: Fri, 10 Jan 2020 11:14:43 +0100 +Subject: [PATCH] Fail when CANONICAL_HOST cannot be determined + +When the CANONICAL_HOST is unknown the configure script exits +with exit code 0 even though no makefile was produced. + +Upstream: https://github.com/SpiderLabs/ModSecurity/pull/2235 + +Signed-off-by: Frank Vanbever +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 95e48843..5e6971f4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -193,7 +193,7 @@ case $host in + ;; + *) + echo "Unknown CANONICAL_HOST $host" +- exit ++ exit 1 + ;; + esac + +-- +2.20.1 + diff --git a/package/libmodsecurity/0002-test-for-uClinux-in-configure-script.patch b/package/libmodsecurity/0002-test-for-uClinux-in-configure-script.patch new file mode 100644 index 0000000000..ccd96fea95 --- /dev/null +++ b/package/libmodsecurity/0002-test-for-uClinux-in-configure-script.patch @@ -0,0 +1,28 @@ +From 13c505e30474c919ed9ae552e459769c456da21e Mon Sep 17 00:00:00 2001 +From: Frank Vanbever +Date: Fri, 10 Jan 2020 11:24:43 +0100 +Subject: [PATCH] test for uClinux in configure script + +Upstream: https://github.com/SpiderLabs/ModSecurity/pull/2235 + +Signed-off-by: Frank Vanbever +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 5e6971f4..51d38071 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -156,7 +156,7 @@ case $host in + AC_DEFINE([MACOSX], [1], [Define if the operating system is Macintosh OSX]) + PLATFORM="MacOSX" + ;; +- *-*-linux*) ++ *-*-linux* | *-*uclinux*) + echo "Checking platform... Identified as Linux" + AC_DEFINE([LINUX], [1], [Define if the operating system is LINUX]) + PLATFORM="Linux" +-- +2.20.1 + diff --git a/package/libmodsecurity/Config.in b/package/libmodsecurity/Config.in new file mode 100644 index 0000000000..ea58c6d0e2 --- /dev/null +++ b/package/libmodsecurity/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_LIBMODSECURITY + bool "libmodsecurity" + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_PCRE + help + Libmodsecurity is one component of the ModSecurity + v3 project. The library codebase serves as an + interface to ModSecurity Connectors taking in web + traffic and applying traditional ModSecurity + processing. In general, it provides the capability + to load/interpret rules written in the ModSecurity + SecRules format and apply them to HTTP content + provided by your application via Connectors. + + https://github.com/SpiderLabs/ModSecurity + +comment "libmodsecurity needs a toolchain w/ C++, dynamic library, threads" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libmodsecurity/libmodsecurity.hash b/package/libmodsecurity/libmodsecurity.hash new file mode 100644 index 0000000000..ddce3ef9c6 --- /dev/null +++ b/package/libmodsecurity/libmodsecurity.hash @@ -0,0 +1,4 @@ +# From https://github.com/SpiderLabs/ModSecurity/releases/download/v3.0.4/modsecurity-v3.0.4.tar.gz.sha256 +sha256 b4231177dd80b4e076b228e57d498670113b69d445bab86db25f65346c24db22 modsecurity-v3.0.4.tar.gz +# Localy calculated +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/libmodsecurity/libmodsecurity.mk b/package/libmodsecurity/libmodsecurity.mk new file mode 100644 index 0000000000..063f969fc6 --- /dev/null +++ b/package/libmodsecurity/libmodsecurity.mk @@ -0,0 +1,56 @@ +################################################################################ +# +# libmodsecurity +# +################################################################################ + +LIBMODSECURITY_VERSION = 3.0.4 +LIBMODSECURITY_SOURCE = modsecurity-v$(LIBMODSECURITY_VERSION).tar.gz +LIBMODSECURITY_SITE = https://github.com/SpiderLabs/ModSecurity/releases/download/v$(LIBMODSECURITY_VERSION) +LIBMODSECURITY_INSTALL_STAGING = YES +LIBMODSECURITY_LICENSE = Apache-2.0 +LIBMODSECURITY_LICENSE_FILES = LICENSE +# 0002-test-for-uClinux-in-configure-script.patch +LIBMODSECURITY_AUTORECONF = YES +# libinjection uses AC_CHECK_FILE, not available in cross-compile +LIBMODSECURITY_CONF_ENV = \ + ac_cv_file_others_libinjection_src_libinjection_html5_c=yes + +LIBMODSECURITY_DEPENDENCIES = pcre +LIBMODSECURITY_CONF_OPTS = \ + --with-pcre="$(STAGING_DIR)/usr/bin/pcre-config" \ + --disable-examples \ + --without-lmdb \ + --without-ssdeep \ + --without-lua \ + --without-yajl + +ifeq ($(BR2_PACKAGE_LIBXML2),y) +LIBMODSECURITY_DEPENDENCIES += libxml2 +LIBMODSECURITY_CONF_OPTS += --with-libxml="$(STAGING_DIR)/usr/bin/xml2-config" +else +LIBMODSECURITY_CONF_OPTS += --without-libxml +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +LIBMODSECURITY_DEPENDENCIES += libcurl +LIBMODSECURITY_CONF_OPTS += --with-curl="$(STAGING_DIR)/usr/bin/curl-config" +else +LIBMODSECURITY_CONF_OPTS += --without-curl +endif + +ifeq ($(BR2_PACKAGE_GEOIP),y) +LIBMODSECURITY_DEPENDENCIES += geoip +LIBMODSECURITY_CONF_OPTS += --with-geoip +else +LIBMODSECURITY_CONF_OPTS += --without-geoip +endif + +ifeq ($(BR2_PACKAGE_LIBMAXMINDDB),y) +LIBMODSECURITY_DEPENDENCIES += libmaxminddb +LIBMODSECURITY_CONF_OPTS += --with-maxmind +else +LIBMODSECURITY_CONF_OPTS += --without-maxmind +endif + +$(eval $(autotools-package)) diff --git a/package/libmpdclient/libmpdclient.hash b/package/libmpdclient/libmpdclient.hash index f268e876e2..e4456f125c 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.16.tar.xz.sig, sha256 locally computed -sha256 fa6bdab67c0e0490302b38f00c27b4959735c3ec8aef7a88327adb1407654464 libmpdclient-2.16.tar.xz +# Verified against http://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.18.tar.xz.sig, sha256 locally computed +sha256 4cb01e1f567e0169aca94875fb6e1200e7f5ce35b63a4df768ec1591fb1081fa libmpdclient-2.18.tar.xz sha256 9574c3b0a9c31723cc3d5f32af4655a015fff5ec6ec8115b7906cd7d9623cf32 COPYING diff --git a/package/libmpdclient/libmpdclient.mk b/package/libmpdclient/libmpdclient.mk index dc206c7211..6e7c5a45a9 100644 --- a/package/libmpdclient/libmpdclient.mk +++ b/package/libmpdclient/libmpdclient.mk @@ -5,7 +5,7 @@ ################################################################################ LIBMPDCLIENT_VERSION_MAJOR = 2 -LIBMPDCLIENT_VERSION = $(LIBMPDCLIENT_VERSION_MAJOR).16 +LIBMPDCLIENT_VERSION = $(LIBMPDCLIENT_VERSION_MAJOR).18 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/libmspack/Config.in b/package/libmspack/Config.in new file mode 100644 index 0000000000..e2b1a9059a --- /dev/null +++ b/package/libmspack/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_LIBMSPACK + bool "libmspack" + help + libmspack is a portable library for some loosely related + Microsoft compression formats + + https://www.cabextract.org.uk/libmspack diff --git a/package/libmspack/libmspack.hash b/package/libmspack/libmspack.hash new file mode 100644 index 0000000000..b12e9b6280 --- /dev/null +++ b/package/libmspack/libmspack.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 bac862dee6e0fc10d92c70212441d9f8ad9b0222edc9a708c3ead4adb1b24a8e libmspack-0.10.1alpha.tar.gz +sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING.LIB diff --git a/package/libmspack/libmspack.mk b/package/libmspack/libmspack.mk new file mode 100644 index 0000000000..e9fdc3ca8d --- /dev/null +++ b/package/libmspack/libmspack.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# libmspack +# +################################################################################ + +LIBMSPACK_VERSION = 0.10.1alpha +LIBMSPACK_SITE = https://www.cabextract.org.uk/libmspack +LIBMSPACK_LICENSE = LGPL-2.1 +LIBMSPACK_LICENSE_FILES = COPYING.LIB +LIBMSPACK_INSTALL_STAGING = YES + +$(eval $(autotools-package)) diff --git a/package/libndp/libndp.hash b/package/libndp/libndp.hash index 1861e0b4dd..8d4b6ef524 100644 --- a/package/libndp/libndp.hash +++ b/package/libndp/libndp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 565d6c4167f83ec697c762ea002f23e8f0b00828d0749b1ce928f068543e5aad libndp-v1.6.tar.gz +sha256 44be73630ee785ed9f571f9aaaeba0e1d375fa337fd841270034c813b5b0e6fd libndp-1.7.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libndp/libndp.mk b/package/libndp/libndp.mk index 3fd8ac7bf9..3783eb135a 100644 --- a/package/libndp/libndp.mk +++ b/package/libndp/libndp.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBNDP_VERSION = v1.6 -LIBNDP_SITE = $(call github,jpirko,libndp,$(LIBNDP_VERSION)) +LIBNDP_VERSION = 1.7 +LIBNDP_SITE = $(call github,jpirko,libndp,v$(LIBNDP_VERSION)) LIBNDP_LICENSE = LGPL-2.1+ LIBNDP_LICENSE_FILES = COPYING LIBNDP_AUTORECONF = YES diff --git a/package/libnet/libnet.hash b/package/libnet/libnet.hash index dd3349082d..9f62aeda60 100644 --- a/package/libnet/libnet.hash +++ b/package/libnet/libnet.hash @@ -1,3 +1,5 @@ # From https://sourceforge.net/projects/libnet-dev/files/ sha1 dffff71c325584fdcf99b80567b60f8ad985e34c libnet-1.1.6.tar.gz md5 710296fe424a49344e5fcc0d09e53317 libnet-1.1.6.tar.gz +# Locally computed +sha256 961355c8bac6de11ecb8f634111986712e80a88272c0bb0954fd1810e6f47cab doc/COPYING diff --git a/package/libnetconf2/Config.in b/package/libnetconf2/Config.in new file mode 100644 index 0000000000..0a735b5ed6 --- /dev/null +++ b/package/libnetconf2/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_LIBNETCONF2 + bool "libnetconf2" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + depends on BR2_USE_MMU + select BR2_PACKAGE_LIBYANG + help + libnetconf2 is a NETCONF library in C intended for building + NETCONF clients and servers. + + https://github.com/CESNET/libnetconf2 + +comment "libnetconf2 needs a toolchain w/ threads, dynamic libraray" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libnetconf2/libnetconf2.hash b/package/libnetconf2/libnetconf2.hash new file mode 100644 index 0000000000..a73cb0ce91 --- /dev/null +++ b/package/libnetconf2/libnetconf2.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 35a1048754d6440674a193e4807b7cab5d03613b384436b67ef976ab3b1a2d01 libnetconf2-1.1.7.tar.gz +sha256 085122ea91161812dda9cd2f42d8c50ecc3a48cc1a4f15044d86cfc5aa887577 LICENSE diff --git a/package/libnetconf2/libnetconf2.mk b/package/libnetconf2/libnetconf2.mk new file mode 100644 index 0000000000..724e4993bb --- /dev/null +++ b/package/libnetconf2/libnetconf2.mk @@ -0,0 +1,40 @@ +################################################################################ +# +# libnetconf2 +# +################################################################################ + +LIBNETCONF2_VERSION = 1.1.7 +LIBNETCONF2_SITE = $(call github,CESNET,libnetconf2,v$(LIBNETCONF2_VERSION)) +LIBNETCONF2_INSTALL_STAGING = YES +LIBNETCONF2_LICENSE = BSD-3-Clause +LIBNETCONF2_LICENSE_FILES = LICENSE +LIBNETCONF2_DEPENDENCIES = libyang +HOST_LIBNETCONF2_DEPENDENCIES = host-libyang + +LIBNETCONF2_CONF_OPTS = \ + -DENABLE_BUILD_TESTS=OFF \ + -DENABLE_VALGRIND_TESTS=OFF + +ifeq ($(BR2_PACKAGE_LIBSSH_SERVER), y) +LIBNETCONF2_CONF_OPTS += -DENABLE_SSH=ON +LIBNETCONF2_DEPENDENCIES += libssh +else +LIBNETCONF2_CONF_OPTS += -DENABLE_SSH=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENSSL), y) +LIBNETCONF2_CONF_OPTS += -DENABLE_TLS=ON +LIBNETCONF2_DEPENDENCIES += openssl +else +LIBNETCONF2_CONF_OPTS += -DENABLE_TLS=OFF +endif + +HOST_LIBNETCONF2_CONF_OPTS = \ + -DENABLE_BUILD_TESTS=OFF \ + -DENABLE_VALGRIND_TESTS=OFF \ + -DENABLE_SSH=OFF \ + -DENABLE_TLS=OFF + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/package/libnetfilter_conntrack/libnetfilter_conntrack.hash b/package/libnetfilter_conntrack/libnetfilter_conntrack.hash index dd236cd3dc..19520aa3f0 100644 --- a/package/libnetfilter_conntrack/libnetfilter_conntrack.hash +++ b/package/libnetfilter_conntrack/libnetfilter_conntrack.hash @@ -1,5 +1,5 @@ -# From ftp://ftp.netfilter.org/pub/libnetfilter_conntrack/libnetfilter_conntrack-1.0.7.tar.bz2.sha256sum -sha256 33685351e29dff93cc21f5344b6e628e41e32b9f9e567f4bec0478eb41f989b6 libnetfilter_conntrack-1.0.7.tar.bz2 +# From ftp://ftp.netfilter.org/pub/libnetfilter_conntrack/libnetfilter_conntrack-1.0.8.tar.bz2.sha256sum +sha256 0cd13be008923528687af6c6b860f35392d49251c04ee0648282d36b1faec1cf libnetfilter_conntrack-1.0.8.tar.bz2 # Hash for license file: -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/libnetfilter_conntrack/libnetfilter_conntrack.mk b/package/libnetfilter_conntrack/libnetfilter_conntrack.mk index 40b74fe92d..8beefefb51 100644 --- a/package/libnetfilter_conntrack/libnetfilter_conntrack.mk +++ b/package/libnetfilter_conntrack/libnetfilter_conntrack.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNETFILTER_CONNTRACK_VERSION = 1.0.7 +LIBNETFILTER_CONNTRACK_VERSION = 1.0.8 LIBNETFILTER_CONNTRACK_SOURCE = libnetfilter_conntrack-$(LIBNETFILTER_CONNTRACK_VERSION).tar.bz2 LIBNETFILTER_CONNTRACK_SITE = http://www.netfilter.org/projects/libnetfilter_conntrack/files LIBNETFILTER_CONNTRACK_INSTALL_STAGING = YES diff --git a/package/libnfc/Config.in b/package/libnfc/Config.in index c8fe251459..14084dc889 100644 --- a/package/libnfc/Config.in +++ b/package/libnfc/Config.in @@ -1,8 +1,5 @@ config BR2_PACKAGE_LIBNFC bool "libnfc" - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb - select BR2_PACKAGE_LIBUSB - select BR2_PACKAGE_LIBUSB_COMPAT help Public platform independent Near Field Communication (NFC) library. @@ -11,11 +8,70 @@ config BR2_PACKAGE_LIBNFC if BR2_PACKAGE_LIBNFC +config BR2_PACKAGE_LIBNFC_ACR122_PCSC + bool "acr122_pcsc driver" + depends on BR2_TOOLCHAIN_HAS_THREADS # pcsc-lite + depends on BR2_USE_MMU # pcsc-lite + depends on !BR2_STATIC_LIBS # pcsc-lite + select BR2_PACKAGE_PCSC_LITE + help + support for acr112_pcsc driver + +comment "acr122_pcsc driver needs a toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + +config BR2_PACKAGE_LIBNFC_ACR122_USB + bool "acr122_usb driver" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBUSB + select BR2_PACKAGE_LIBUSB_COMPAT + help + support for acr122_usb driver + +comment "acr122_usb driver needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_LIBNFC_ACR122S + bool "acr122s driver" + help + support for acr122s driver + +config BR2_PACKAGE_LIBNFC_ARYGON + bool "arygon driver" + default y + help + support for arygon driver + +config BR2_PACKAGE_LIBNFC_PN532_I2C + bool "pn532_i2c driver" + help + support for pn532_i2c driver + +config BR2_PACKAGE_LIBNFC_PN532_SPI + bool "pn532_spi driver" + help + support for pn532_spi driver + +config BR2_PACKAGE_LIBNFC_PN532_UART + bool "pn532_uart driver" + help + support for pn532_uart driver + +config BR2_PACKAGE_LIBNFC_PN53X_USB + bool "pn53x_usb driver" + default y + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBUSB + select BR2_PACKAGE_LIBUSB_COMPAT + help + support for pn53x_usb driver + +comment "pn53x_usb driver needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + config BR2_PACKAGE_LIBNFC_EXAMPLES bool "build libnfc examples" select BR2_PACKAGE_READLINE endif - -comment "libnfc needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libnfc/libnfc.mk b/package/libnfc/libnfc.mk index b13fd69d82..ca8700484b 100644 --- a/package/libnfc/libnfc.mk +++ b/package/libnfc/libnfc.mk @@ -12,10 +12,46 @@ LIBNFC_LICENSE_FILES = COPYING LIBNFC_AUTORECONF = YES LIBNFC_INSTALL_STAGING = YES -LIBNFC_DEPENDENCIES = host-pkgconf libusb libusb-compat +LIBNFC_DEPENDENCIES = host-pkgconf # N.B. The acr122 driver requires pcsc-lite. -LIBNFC_CONF_OPTS = --with-drivers=arygon,pn53x_usb +ifeq ($(BR2_PACKAGE_LIBNFC_ACR122_PCSC),y) +LIBNFC_DRIVER_LIST += acr122_pcsc +LIBNFC_DEPENDENCIES += pcsc-lite +endif + +ifeq ($(BR2_PACKAGE_LIBNFC_ACR122_USB),y) +LIBNFC_DRIVER_LIST += acr122_usb +LIBNFC_DEPENDENCIES += libusb libusb-compat +endif + +ifeq ($(BR2_PACKAGE_LIBNFC_ACR122S),y) +LIBNFC_DRIVER_LIST += acr122s +endif + +ifeq ($(BR2_PACKAGE_LIBNFC_ARYGON),y) +LIBNFC_DRIVER_LIST += arygon +endif + +ifeq ($(BR2_PACKAGE_LIBNFC_PN532_I2C),y) +LIBNFC_DRIVER_LIST += pn532_i2c +endif + +ifeq ($(BR2_PACKAGE_LIBNFC_PN532_SPI),y) +LIBNFC_DRIVER_LIST += pn532_spi +endif + +ifeq ($(BR2_PACKAGE_LIBNFC_PN532_UART),y) +LIBNFC_DRIVER_LIST += pn532_uart +endif + +ifeq ($(BR2_PACKAGE_LIBNFC_PN53X_USB),y) +LIBNFC_DRIVER_LIST += pn53x_usb +LIBNFC_DEPENDENCIES += libusb libusb-compat +endif + +LIBNFC_CONF_OPTS = \ + --with-drivers=$(subst $(space),$(comma),$(strip $(LIBNFC_DRIVER_LIST))) ifeq ($(BR2_PACKAGE_LIBNFC_EXAMPLES),y) LIBNFC_CONF_OPTS += --enable-example 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 deleted file mode 100644 index 34e584017e..0000000000 --- a/package/libnfs/0002-libnfs.c-include-time.h-in-libnfs.c.patch +++ /dev/null @@ -1,35 +0,0 @@ -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 0e4dc6fbc9..bb92ebe697 100644 --- a/package/libnfs/libnfs.hash +++ b/package/libnfs/libnfs.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 445d92c5fc55e4a5b115e358e60486cf8f87ee50e0103d46a02e7fb4618566a5 libnfs-libnfs-3.0.0.tar.gz +sha256 6ee77e9fe220e2d3e3b1f53cfea04fb319828cc7dbb97dd9df09e46e901d797d libnfs-4.0.0.tar.gz sha256 edd960c0142b8ada98b43b6396b78f4e557b0bc70ac601a51e397ad04070e2c5 COPYING sha256 d9406ced95457941032aa11d04623b8ab71f2827a3395ebef137aec475be35b1 LICENCE-BSD.txt sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENCE-LGPL-2.1.txt diff --git a/package/libnfs/libnfs.mk b/package/libnfs/libnfs.mk index 3a84e0aafa..5f950b5cde 100644 --- a/package/libnfs/libnfs.mk +++ b/package/libnfs/libnfs.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBNFS_VERSION = libnfs-3.0.0 -LIBNFS_SITE = $(call github,sahlberg,libnfs,$(LIBNFS_VERSION)) +LIBNFS_VERSION = 4.0.0 +LIBNFS_SITE = $(call github,sahlberg,libnfs,libnfs-$(LIBNFS_VERSION)) LIBNFS_INSTALL_STAGING = YES LIBNFS_AUTORECONF = YES LIBNFS_LICENSE = LGPL-2.1+ (library), BSD-2-Clause (protocol, .x files), GPL-3.0+ (examples) 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 deleted file mode 100644 index 213aab79eb..0000000000 --- a/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch +++ /dev/null @@ -1,1032 +0,0 @@ -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 - conflict - -When ELF binaries and shared libraries are used, the internal -functions of libnftnl such as xfree() are not visible to the outside -world (their visibility is 'hidden'). Therefore, the fact that other -programs (especially nftables) may have symbols with the same name -does not cause any problem. - -However, when doing static linking on a non-ELF platform (such as -Blackfin, which uses the FLAT binary format), there is no way of -encoding this visibility. Therefore, the xfree() symbols of libnftnl -becomes visible to the outside world, causing a conflict with the -xfree() symbol defined by nftables. - -To solve this, this patch renames the libnftnl xfree() function to -libnftnl_xfree(). - -Signed-off-by: Thomas Petazzoni -[Gustavo: update for version 1.0.7] -Signed-off-by: Gustavo Zacarias -[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/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 ---- a/include/utils.h -+++ b/include/utils.h -@@ -17,7 +17,7 @@ - - #define __noreturn __attribute__((__noreturn__)) - --#define xfree(ptr) free((void *)ptr); -+#define nftnl_xfree(ptr) free((void *)ptr); - - #define div_round_up(n, d) (((n) + (d) - 1) / (d)) - -diff --git a/src/chain.c b/src/chain.c -index 01d62c84f140..93e193955934 100644 ---- a/src/chain.c -+++ b/src/chain.c -@@ -97,14 +97,14 @@ EXPORT_SYMBOL(nftnl_chain_free); - void nftnl_chain_free(const struct nftnl_chain *c) - { - if (c->flags & (1 << NFTNL_CHAIN_NAME)) -- xfree(c->name); -+ nftnl_xfree(c->name); - if (c->flags & (1 << NFTNL_CHAIN_TABLE)) -- xfree(c->table); -+ nftnl_xfree(c->table); - if (c->flags & (1 << NFTNL_CHAIN_TYPE)) -- xfree(c->type); -+ nftnl_xfree(c->type); - if (c->flags & (1 << NFTNL_CHAIN_DEV)) -- xfree(c->dev); -- xfree(c); -+ nftnl_xfree(c->dev); -+ nftnl_xfree(c); - } - - EXPORT_SYMBOL(nftnl_chain_is_set); -@@ -121,15 +121,15 @@ void nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr) - - switch (attr) { - case NFTNL_CHAIN_NAME: -- xfree(c->name); -+ nftnl_xfree(c->name); - break; - case NFTNL_CHAIN_TABLE: -- xfree(c->table); -+ nftnl_xfree(c->table); - break; - case NFTNL_CHAIN_USE: - break; - case NFTNL_CHAIN_TYPE: -- xfree(c->type); -+ nftnl_xfree(c->type); - break; - case NFTNL_CHAIN_HOOKNUM: - case NFTNL_CHAIN_PRIO: -@@ -140,7 +140,7 @@ void nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr) - case NFTNL_CHAIN_FAMILY: - break; - case NFTNL_CHAIN_DEV: -- xfree(c->dev); -+ nftnl_xfree(c->dev); - break; - default: - return; -@@ -169,7 +169,7 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, - switch(attr) { - case NFTNL_CHAIN_NAME: - if (c->flags & (1 << NFTNL_CHAIN_NAME)) -- xfree(c->name); -+ nftnl_xfree(c->name); - - c->name = strdup(data); - if (!c->name) -@@ -177,7 +177,7 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, - break; - case NFTNL_CHAIN_TABLE: - if (c->flags & (1 << NFTNL_CHAIN_TABLE)) -- xfree(c->table); -+ nftnl_xfree(c->table); - - c->table = strdup(data); - if (!c->table) -@@ -209,7 +209,7 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, - break; - case NFTNL_CHAIN_TYPE: - if (c->flags & (1 << NFTNL_CHAIN_TYPE)) -- xfree(c->type); -+ nftnl_xfree(c->type); - - c->type = strdup(data); - if (!c->type) -@@ -217,7 +217,7 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, - break; - case NFTNL_CHAIN_DEV: - if (c->flags & (1 << NFTNL_CHAIN_DEV)) -- xfree(c->dev); -+ nftnl_xfree(c->dev); - - c->dev = strdup(data); - if (!c->dev) -@@ -541,7 +541,7 @@ int nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c) - - if (tb[NFTA_CHAIN_NAME]) { - if (c->flags & (1 << NFTNL_CHAIN_NAME)) -- xfree(c->name); -+ nftnl_xfree(c->name); - c->name = strdup(mnl_attr_get_str(tb[NFTA_CHAIN_NAME])); - if (!c->name) - return -1; -@@ -549,7 +549,7 @@ int nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c) - } - if (tb[NFTA_CHAIN_TABLE]) { - if (c->flags & (1 << NFTNL_CHAIN_TABLE)) -- xfree(c->table); -+ nftnl_xfree(c->table); - c->table = strdup(mnl_attr_get_str(tb[NFTA_CHAIN_TABLE])); - if (!c->table) - return -1; -@@ -579,7 +579,7 @@ int nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c) - } - if (tb[NFTA_CHAIN_TYPE]) { - if (c->flags & (1 << NFTNL_CHAIN_TYPE)) -- xfree(c->type); -+ nftnl_xfree(c->type); - c->type = strdup(mnl_attr_get_str(tb[NFTA_CHAIN_TYPE])); - if (!c->type) - return -1; -@@ -711,7 +711,7 @@ void nftnl_chain_list_free(struct nftnl_chain_list *list) - list_del(&r->head); - nftnl_chain_free(r); - } -- xfree(list); -+ nftnl_xfree(list); - } - - EXPORT_SYMBOL(nftnl_chain_list_is_empty); -@@ -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) - { -- xfree(iter); -+ nftnl_xfree(iter); - } -diff --git a/src/common.c b/src/common.c -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) - EXPORT_SYMBOL(nftnl_parse_err_free); - void nftnl_parse_err_free(struct nftnl_parse_err *err) - { -- xfree(err); -+ nftnl_xfree(err); - } - - EXPORT_SYMBOL(nftnl_parse_perror); -diff --git a/src/expr.c b/src/expr.c -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) - if (expr->ops->free) - expr->ops->free(expr); - -- xfree(expr); -+ nftnl_xfree(expr); - } - - EXPORT_SYMBOL(nftnl_expr_is_set); -@@ -260,7 +260,7 @@ struct nftnl_expr *nftnl_expr_parse(struct nlattr *attr) - return expr; - - err2: -- xfree(expr); -+ nftnl_xfree(expr); - err1: - return NULL; - } -diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c -index 67165feb931f..c6f3cec48caf 100644 ---- a/src/expr/data_reg.c -+++ b/src/expr/data_reg.c -@@ -225,7 +225,7 @@ void nftnl_free_verdict(const union nftnl_data_reg *data) - switch(data->verdict) { - case NFT_JUMP: - case NFT_GOTO: -- xfree(data->chain); -+ nftnl_xfree(data->chain); - break; - default: - break; -diff --git a/src/expr/dynset.c b/src/expr/dynset.c -index 68115ba50c94..4e8093b7e9db 100644 ---- a/src/expr/dynset.c -+++ b/src/expr/dynset.c -@@ -276,7 +276,7 @@ static void nftnl_expr_dynset_free(const struct nftnl_expr *e) - { - struct nftnl_expr_dynset *dynset = nftnl_expr_data(e); - -- xfree(dynset->set_name); -+ nftnl_xfree(dynset->set_name); - } - - 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 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, - break; - case NFTNL_EXPR_IMM_CHAIN: - if (e->flags & (1 << NFTNL_EXPR_IMM_CHAIN)) -- xfree(imm->data.chain); -+ nftnl_xfree(imm->data.chain); - - imm->data.chain = strdup(data); - if (!imm->data.chain) -diff --git a/src/expr/log.c b/src/expr/log.c -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, - switch(type) { - case NFTNL_EXPR_LOG_PREFIX: - if (log->flags & (1 << NFTNL_EXPR_LOG_PREFIX)) -- xfree(log->prefix); -+ nftnl_xfree(log->prefix); - - log->prefix = strdup(data); - if (!log->prefix) -@@ -155,7 +155,7 @@ nftnl_expr_log_parse(struct nftnl_expr *e, struct nlattr *attr) - - if (tb[NFTA_LOG_PREFIX]) { - if (log->prefix) -- xfree(log->prefix); -+ nftnl_xfree(log->prefix); - - log->prefix = strdup(mnl_attr_get_str(tb[NFTA_LOG_PREFIX])); - if (!log->prefix) -@@ -255,7 +255,7 @@ static void nftnl_expr_log_free(const struct nftnl_expr *e) - { - struct nftnl_expr_log *log = nftnl_expr_data(e); - -- xfree(log->prefix); -+ nftnl_xfree(log->prefix); - } - - struct expr_ops expr_ops_log = { -diff --git a/src/expr/lookup.c b/src/expr/lookup.c -index a495ac0fdcfc..4fce24288c57 100644 ---- a/src/expr/lookup.c -+++ b/src/expr/lookup.c -@@ -209,7 +209,7 @@ static void nftnl_expr_lookup_free(const struct nftnl_expr *e) - { - struct nftnl_expr_lookup *lookup = nftnl_expr_data(e); - -- xfree(lookup->set_name); -+ nftnl_xfree(lookup->set_name); - } - - struct expr_ops expr_ops_lookup = { -diff --git a/src/expr/match.c b/src/expr/match.c -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, - break; - case NFTNL_EXPR_MT_INFO: - if (e->flags & (1 << NFTNL_EXPR_MT_INFO)) -- xfree(mt->data); -+ nftnl_xfree(mt->data); - - mt->data = data; - mt->data_len = data_len; -@@ -147,7 +147,7 @@ static int nftnl_expr_match_parse(struct nftnl_expr *e, struct nlattr *attr) - void *match_data; - - if (e->flags & (1 << NFTNL_EXPR_MT_INFO)) -- xfree(match->data); -+ nftnl_xfree(match->data); - - match_data = calloc(1, len); - if (match_data == NULL) -@@ -186,7 +186,7 @@ static void nftnl_expr_match_free(const struct nftnl_expr *e) - { - struct nftnl_expr_match *match = nftnl_expr_data(e); - -- xfree(match->data); -+ nftnl_xfree(match->data); - } - - struct expr_ops expr_ops_match = { -diff --git a/src/expr/target.c b/src/expr/target.c -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, - break; - case NFTNL_EXPR_TG_INFO: - if (e->flags & (1 << NFTNL_EXPR_TG_INFO)) -- xfree(tg->data); -+ nftnl_xfree(tg->data); - - tg->data = data; - tg->data_len = data_len; -@@ -147,7 +147,7 @@ static int nftnl_expr_target_parse(struct nftnl_expr *e, struct nlattr *attr) - void *target_data; - - if (target->data) -- xfree(target->data); -+ nftnl_xfree(target->data); - - target_data = calloc(1, len); - if (target_data == NULL) -@@ -186,7 +186,7 @@ static void nftnl_expr_target_free(const struct nftnl_expr *e) - { - struct nftnl_expr_target *target = nftnl_expr_data(e); - -- xfree(target->data); -+ nftnl_xfree(target->data); - } - - 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 1fc909930d86..c69f6f87deae 100644 ---- a/src/gen.c -+++ b/src/gen.c -@@ -38,7 +38,7 @@ struct nftnl_gen *nftnl_gen_alloc(void) - EXPORT_SYMBOL(nftnl_gen_free); - void nftnl_gen_free(const struct nftnl_gen *gen) - { -- xfree(gen); -+ nftnl_xfree(gen); - } - - EXPORT_SYMBOL(nftnl_gen_is_set); -diff --git a/src/object.c b/src/object.c -index e88203a82441..28e04486c76c 100644 ---- a/src/object.c -+++ b/src/object.c -@@ -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)) -- xfree(obj->table); -+ nftnl_xfree(obj->table); - if (obj->flags & (1 << NFTNL_OBJ_NAME)) -- xfree(obj->name); -+ nftnl_xfree(obj->name); - -- xfree(obj); -+ nftnl_xfree(obj); - } - - EXPORT_SYMBOL(nftnl_obj_is_set); -@@ -81,11 +81,11 @@ void nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr, - - switch (attr) { - case NFTNL_OBJ_TABLE: -- xfree(obj->table); -+ nftnl_xfree(obj->table); - obj->table = strdup(data); - break; - case NFTNL_OBJ_NAME: -- xfree(obj->name); -+ nftnl_xfree(obj->name); - obj->name = strdup(data); - break; - case NFTNL_OBJ_TYPE: -@@ -452,7 +452,7 @@ void nftnl_obj_list_free(struct nftnl_obj_list *list) - list_del(&r->head); - nftnl_obj_free(r); - } -- xfree(list); -+ nftnl_xfree(list); - } - - EXPORT_SYMBOL(nftnl_obj_list_is_empty); -@@ -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) - { -- xfree(iter); -+ nftnl_xfree(iter); - } -diff --git a/src/rule.c b/src/rule.c -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) - nftnl_expr_free(e); - - if (r->flags & (1 << (NFTNL_RULE_TABLE))) -- xfree(r->table); -+ nftnl_xfree(r->table); - if (r->flags & (1 << (NFTNL_RULE_CHAIN))) -- xfree(r->chain); -+ nftnl_xfree(r->chain); - if (r->flags & (1 << (NFTNL_RULE_USERDATA))) -- xfree(r->user.data); -+ nftnl_xfree(r->user.data); - -- xfree(r); -+ nftnl_xfree(r); - } - - EXPORT_SYMBOL(nftnl_rule_is_set); -@@ -98,10 +98,10 @@ void nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr) - - switch (attr) { - case NFTNL_RULE_TABLE: -- xfree(r->table); -+ nftnl_xfree(r->table); - break; - case NFTNL_RULE_CHAIN: -- xfree(r->chain); -+ nftnl_xfree(r->chain); - break; - case NFTNL_RULE_HANDLE: - case NFTNL_RULE_COMPAT_PROTO: -@@ -111,7 +111,7 @@ void nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr) - case NFTNL_RULE_ID: - break; - case NFTNL_RULE_USERDATA: -- xfree(r->user.data); -+ nftnl_xfree(r->user.data); - break; - } - -@@ -137,7 +137,7 @@ int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr, - switch(attr) { - case NFTNL_RULE_TABLE: - if (r->flags & (1 << NFTNL_RULE_TABLE)) -- xfree(r->table); -+ nftnl_xfree(r->table); - - r->table = strdup(data); - if (!r->table) -@@ -145,7 +145,7 @@ int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr, - break; - case NFTNL_RULE_CHAIN: - if (r->flags & (1 << NFTNL_RULE_CHAIN)) -- xfree(r->chain); -+ nftnl_xfree(r->chain); - - r->chain = strdup(data); - if (!r->chain) -@@ -168,7 +168,7 @@ int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr, - break; - case NFTNL_RULE_USERDATA: - if (r->flags & (1 << NFTNL_RULE_USERDATA)) -- xfree(r->user.data); -+ nftnl_xfree(r->user.data); - - r->user.data = malloc(data_len); - if (!r->user.data) -@@ -453,7 +453,7 @@ int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r) - - if (tb[NFTA_RULE_TABLE]) { - if (r->flags & (1 << NFTNL_RULE_TABLE)) -- xfree(r->table); -+ nftnl_xfree(r->table); - r->table = strdup(mnl_attr_get_str(tb[NFTA_RULE_TABLE])); - if (!r->table) - return -1; -@@ -461,7 +461,7 @@ int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r) - } - if (tb[NFTA_RULE_CHAIN]) { - if (r->flags & (1 << NFTNL_RULE_CHAIN)) -- xfree(r->chain); -+ nftnl_xfree(r->chain); - r->chain = strdup(mnl_attr_get_str(tb[NFTA_RULE_CHAIN])); - if (!r->chain) - return -1; -@@ -490,7 +490,7 @@ int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r) - mnl_attr_get_payload(tb[NFTA_RULE_USERDATA]); - - if (r->flags & (1 << NFTNL_RULE_USERDATA)) -- xfree(r->user.data); -+ nftnl_xfree(r->user.data); - - r->user.len = mnl_attr_get_payload_len(tb[NFTA_RULE_USERDATA]); - -@@ -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) - { -- xfree(iter); -+ nftnl_xfree(iter); - } - - 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); - } -- xfree(list); -+ nftnl_xfree(list); - } - - EXPORT_SYMBOL(nftnl_rule_list_is_empty); -@@ -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) - { -- xfree(iter); -+ nftnl_xfree(iter); - } -diff --git a/src/ruleset.c b/src/ruleset.c -index 2468bd46cd5d..16059a305309 100644 ---- a/src/ruleset.c -+++ b/src/ruleset.c -@@ -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); -- xfree(r); -+ nftnl_xfree(r); - } - - EXPORT_SYMBOL(nftnl_ruleset_is_set); -diff --git a/src/set.c b/src/set.c -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) - struct nftnl_set_elem *elem, *tmp; - - if (s->flags & (1 << NFTNL_SET_TABLE)) -- xfree(s->table); -+ nftnl_xfree(s->table); - if (s->flags & (1 << NFTNL_SET_NAME)) -- xfree(s->name); -+ nftnl_xfree(s->name); - if (s->flags & (1 << NFTNL_SET_USERDATA)) -- xfree(s->user.data); -+ nftnl_xfree(s->user.data); - - list_for_each_entry_safe(elem, tmp, &s->element_list, head) { - list_del(&elem->head); - nftnl_set_elem_free(elem); - } -- xfree(s); -+ nftnl_xfree(s); - } - - EXPORT_SYMBOL(nftnl_set_is_set); -@@ -73,10 +73,10 @@ void nftnl_set_unset(struct nftnl_set *s, uint16_t attr) - - switch (attr) { - case NFTNL_SET_TABLE: -- xfree(s->table); -+ nftnl_xfree(s->table); - break; - case NFTNL_SET_NAME: -- xfree(s->name); -+ nftnl_xfree(s->name); - break; - case NFTNL_SET_HANDLE: - case NFTNL_SET_FLAGS: -@@ -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: -- xfree(s->user.data); -+ nftnl_xfree(s->user.data); - break; - default: - return; -@@ -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)) -- xfree(s->table); -+ nftnl_xfree(s->table); - - s->table = strdup(data); - if (!s->table) -@@ -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)) -- xfree(s->name); -+ nftnl_xfree(s->name); - - s->name = strdup(data); - if (!s->name) -@@ -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)) -- xfree(s->user.data); -+ nftnl_xfree(s->user.data); - - s->user.data = malloc(data_len); - if (!s->user.data) -@@ -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)) -- xfree(s->table); -+ nftnl_xfree(s->table); - s->table = strdup(mnl_attr_get_str(tb[NFTA_SET_TABLE])); - if (!s->table) - return -1; -@@ -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)) -- xfree(s->name); -+ nftnl_xfree(s->name); - s->name = strdup(mnl_attr_get_str(tb[NFTA_SET_NAME])); - if (!s->name) - return -1; -@@ -742,7 +742,7 @@ void nftnl_set_list_free(struct nftnl_set_list *list) - list_del(&s->head); - nftnl_set_free(s); - } -- xfree(list); -+ nftnl_xfree(list); - } - - EXPORT_SYMBOL(nftnl_set_list_is_empty); -@@ -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) - { -- xfree(iter); -+ nftnl_xfree(iter); - } - - 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 ff983a67d62a..fac96cd368f1 100644 ---- a/src/set_elem.c -+++ b/src/set_elem.c -@@ -43,18 +43,18 @@ EXPORT_SYMBOL(nftnl_set_elem_free); - void nftnl_set_elem_free(struct nftnl_set_elem *s) - { - if (s->flags & (1 << NFTNL_SET_ELEM_CHAIN)) -- xfree(s->data.chain); -+ nftnl_xfree(s->data.chain); - - if (s->flags & (1 << NFTNL_SET_ELEM_EXPR)) - nftnl_expr_free(s->expr); - - if (s->flags & (1 << NFTNL_SET_ELEM_USERDATA)) -- xfree(s->user.data); -+ nftnl_xfree(s->user.data); - - if (s->flags & (1 << NFTNL_SET_ELEM_OBJREF)) -- xfree(s->objref); -+ nftnl_xfree(s->objref); - -- xfree(s); -+ nftnl_xfree(s); - } - - EXPORT_SYMBOL(nftnl_set_elem_is_set); -@@ -71,7 +71,7 @@ void nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr) - - switch (attr) { - case NFTNL_SET_ELEM_CHAIN: -- xfree(s->data.chain); -+ nftnl_xfree(s->data.chain); - break; - case NFTNL_SET_ELEM_FLAGS: - case NFTNL_SET_ELEM_KEY: /* NFTA_SET_ELEM_KEY */ -@@ -81,13 +81,13 @@ void nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr) - case NFTNL_SET_ELEM_EXPIRATION: /* NFTA_SET_ELEM_EXPIRATION */ - break; - case NFTNL_SET_ELEM_USERDATA: /* NFTA_SET_ELEM_USERDATA */ -- xfree(s->user.data); -+ nftnl_xfree(s->user.data); - break; - case NFTNL_SET_ELEM_EXPR: - nftnl_expr_free(s->expr); - break; - case NFTNL_SET_ELEM_OBJREF: -- xfree(s->objref); -+ nftnl_xfree(s->objref); - break; - default: - return; -@@ -113,7 +113,7 @@ int nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr, - break; - case NFTNL_SET_ELEM_CHAIN: /* NFTA_SET_ELEM_DATA */ - if (s->flags & (1 << NFTNL_SET_ELEM_CHAIN)) -- xfree(s->data.chain); -+ nftnl_xfree(s->data.chain); - - s->data.chain = strdup(data); - if (!s->data.chain) -@@ -128,7 +128,7 @@ int nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr, - break; - case NFTNL_SET_ELEM_USERDATA: /* NFTA_SET_ELEM_USERDATA */ - if (s->flags & (1 << NFTNL_SET_ELEM_USERDATA)) -- xfree(s->user.data); -+ nftnl_xfree(s->user.data); - - s->user.data = malloc(data_len); - if (!s->user.data) -@@ -138,7 +138,7 @@ int nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr, - break; - case NFTNL_SET_ELEM_OBJREF: - if (s->flags & (1 << NFTNL_SET_ELEM_OBJREF)) -- xfree(s->objref); -+ nftnl_xfree(s->objref); - - s->objref = strdup(data); - if (!s->objref) -@@ -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)) -- xfree(e->user.data); -+ nftnl_xfree(e->user.data); - - e->user.len = mnl_attr_get_payload_len(tb[NFTA_SET_ELEM_USERDATA]); - e->user.data = malloc(e->user.len); -@@ -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)) -- xfree(s->table); -+ nftnl_xfree(s->table); - s->table = - strdup(mnl_attr_get_str(tb[NFTA_SET_ELEM_LIST_TABLE])); - if (!s->table) -@@ -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)) -- xfree(s->name); -+ nftnl_xfree(s->name); - s->name = - strdup(mnl_attr_get_str(tb[NFTA_SET_ELEM_LIST_SET])); - if (!s->name) -@@ -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) - { -- xfree(iter); -+ nftnl_xfree(iter); - } - - static bool nftnl_attr_nest_overflow(struct nlmsghdr *nlh, -diff --git a/src/table.c b/src/table.c -index 54259eec7d06..888991b1b80d 100644 ---- a/src/table.c -+++ b/src/table.c -@@ -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)) -- xfree(t->name); -+ nftnl_xfree(t->name); - -- xfree(t); -+ nftnl_xfree(t); - } - - EXPORT_SYMBOL(nftnl_table_is_set); -@@ -66,7 +66,7 @@ void nftnl_table_unset(struct nftnl_table *t, uint16_t attr) - - switch (attr) { - case NFTNL_TABLE_NAME: -- xfree(t->name); -+ nftnl_xfree(t->name); - break; - case NFTNL_TABLE_FLAGS: - 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)) -- xfree(t->name); -+ nftnl_xfree(t->name); - - t->name = strdup(data); - if (!t->name) -@@ -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)) -- xfree(t->name); -+ nftnl_xfree(t->name); - t->name = strdup(mnl_attr_get_str(tb[NFTA_TABLE_NAME])); - if (!t->name) - return -1; -@@ -395,7 +395,7 @@ void nftnl_table_list_free(struct nftnl_table_list *list) - list_del(&r->head); - nftnl_table_free(r); - } -- xfree(list); -+ nftnl_xfree(list); - } - - EXPORT_SYMBOL(nftnl_table_list_is_empty); -@@ -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) - { -- xfree(iter); -+ nftnl_xfree(iter); - } -diff --git a/src/trace.c b/src/trace.c -index f4264377508e..8a18391d83d1 100644 ---- a/src/trace.c -+++ b/src/trace.c -@@ -61,13 +61,13 @@ struct nftnl_trace *nftnl_trace_alloc(void) - EXPORT_SYMBOL(nftnl_trace_free); - void nftnl_trace_free(const struct nftnl_trace *t) - { -- xfree(t->chain); -- xfree(t->table); -- xfree(t->jump_target); -- xfree(t->ll.data); -- xfree(t->nh.data); -- xfree(t->th.data); -- xfree(t); -+ nftnl_xfree(t->chain); -+ nftnl_xfree(t->table); -+ nftnl_xfree(t->jump_target); -+ nftnl_xfree(t->ll.data); -+ nftnl_xfree(t->nh.data); -+ nftnl_xfree(t->th.data); -+ nftnl_xfree(t); - } - - EXPORT_SYMBOL(nftnl_trace_is_set); -diff --git a/src/udata.c b/src/udata.c -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) - EXPORT_SYMBOL(nftnl_udata_buf_free); - void nftnl_udata_buf_free(const struct nftnl_udata_buf *buf) - { -- xfree(buf); -+ nftnl_xfree(buf); - } - - EXPORT_SYMBOL(nftnl_udata_buf_len); -diff --git a/src/utils.c b/src/utils.c -index f641bf93ec68..02e7476a0ced 100644 ---- a/src/utils.c -+++ b/src/utils.c -@@ -304,7 +304,7 @@ int nftnl_fprintf(FILE *fp, const void *obj, uint32_t cmd, uint32_t type, - - out: - if (buf != _buf) -- xfree(buf); -+ nftnl_xfree(buf); - - return ret; - } --- -2.19.1 - diff --git a/package/libnftnl/0002-Add-Libs.private-field-to-libnftnl.pc.patch b/package/libnftnl/0002-Add-Libs.private-field-to-libnftnl.pc.patch deleted file mode 100644 index ce3e9500ee..0000000000 --- a/package/libnftnl/0002-Add-Libs.private-field-to-libnftnl.pc.patch +++ /dev/null @@ -1,49 +0,0 @@ -From d89fca062ba966332b573673fdd5c4cf01c3e2f5 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 29 Dec 2014 15:32:08 +0100 -Subject: [PATCH 2/2] Add Libs.private field to libnftnl.pc - -Static linking userspace programs such as nftables against libnftnl -currently doesn't work out of the box, because libnftnl is linked -against libmnl, but this isn't expressed in libnftnl pkg-config -file: - - CCLD nft -[...]/bfin-buildroot-uclinux-uclibc/sysroot/usr/lib/libnftnl.a(table.o): In function `_nft_table_nlmsg_parse': -table.c:(.text+0x480): undefined reference to `_mnl_attr_parse' -table.c:(.text+0x492): undefined reference to `_mnl_attr_get_str' -table.c:(.text+0x4a8): undefined reference to `_mnl_attr_get_u32' -table.c:(.text+0x4ca): undefined reference to `_mnl_attr_get_u32' -[...] - -The Libs.private field is specifically designed for such usage: - -From pkg-config documentation: - - Libs.private: - - This line should list any private libraries in use. Private - libraries are libraries which are not exposed through your - library, but are needed in the case of static linking. - -Therefore, this patch adds a reference to libmnl in the Libs.private -field of libnftnl pkg-config file. - -Signed-off-by: Thomas Petazzoni ---- - libnftnl.pc.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libnftnl.pc.in b/libnftnl.pc.in -index fd5cc6a..7fef921 100644 ---- a/libnftnl.pc.in -+++ b/libnftnl.pc.in -@@ -12,4 +12,5 @@ Version: @VERSION@ - Requires: - Conflicts: - Libs: -L${libdir} -lnftnl -+Libs.private: @LIBMNL_LIBS@ - Cflags: -I${includedir} --- -2.1.0 - diff --git a/package/libnftnl/libnftnl.hash b/package/libnftnl/libnftnl.hash index 3ecaeb8a11..4d2eb0ef08 100644 --- a/package/libnftnl/libnftnl.hash +++ b/package/libnftnl/libnftnl.hash @@ -1,3 +1,3 @@ # From http://www.netfilter.org/projects/libnftnl/downloads.html -sha256 a5c7b7a6c13c9c5898b13fcb1126fefce2015d5a96d7c354b19aaa40b6aece5d libnftnl-1.1.2.tar.bz2 +sha256 66de4d05227c0a1a731c369b193010d18a05b1185c2735211e0ecf658eeb14f3 libnftnl-1.1.5.tar.bz2 sha256 98193898c663001eff2fdcfb676e210c13042bc1a05e8d570c363efa396f8e24 COPYING diff --git a/package/libnftnl/libnftnl.mk b/package/libnftnl/libnftnl.mk index b8e015baf8..ac780bd8d3 100644 --- a/package/libnftnl/libnftnl.mk +++ b/package/libnftnl/libnftnl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNFTNL_VERSION = 1.1.2 +LIBNFTNL_VERSION = 1.1.5 LIBNFTNL_SITE = https://netfilter.org/projects/libnftnl/files LIBNFTNL_SOURCE = libnftnl-$(LIBNFTNL_VERSION).tar.bz2 LIBNFTNL_LICENSE = GPL-2.0+ diff --git a/package/libnice/Config.in b/package/libnice/Config.in index af8e814618..1f62c0b5c8 100644 --- a/package/libnice/Config.in +++ b/package/libnice/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_LIBNICE depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_GNUTLS + select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBGLIB2 help Libnice is an implementation of the IETF's Interactive diff --git a/package/libnice/libnice.hash b/package/libnice/libnice.hash index 3c1f0d845a..61be9517e3 100644 --- a/package/libnice/libnice.hash +++ b/package/libnice/libnice.hash @@ -1,5 +1,5 @@ # Locally computed after checking pgp signature -sha256 be120ba95d4490436f0da077ffa8f767bf727b82decf2bf499e39becc027809c libnice-0.1.14.tar.gz +sha256 06b678066f94dde595a4291588ed27acd085ee73775b8c4e8399e28c01eeefdf libnice-0.1.16.tar.gz # Hash for license files: sha256 9246b2ee8b1db30cf03d5d9719ad8bb5edce1cadc85f8cfef319c23d24d950b5 COPYING diff --git a/package/libnice/libnice.mk b/package/libnice/libnice.mk index 49c29f9a60..8cbf003529 100644 --- a/package/libnice/libnice.mk +++ b/package/libnice/libnice.mk @@ -4,18 +4,22 @@ # ################################################################################ -LIBNICE_VERSION = 0.1.14 +LIBNICE_VERSION = 0.1.16 LIBNICE_SITE = http://nice.freedesktop.org/releases LIBNICE_LICENSE = MPL-1.1 or LGPL-2.1 LIBNICE_LICENSE_FILES = COPYING COPYING.MPL COPYING.LGPL -LIBNICE_DEPENDENCIES = gnutls libglib2 host-pkgconf +LIBNICE_DEPENDENCIES = libglib2 host-pkgconf LIBNICE_INSTALL_STAGING = YES +LIBNICE_CONF_OPTS = --without-gstreamer-0.10 -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE),y) -LIBNICE_CONF_OPTS += --with-gstreamer-0.10 -LIBNICE_DEPENDENCIES += gst-plugins-base +ifeq ($(BR2_PACKAGE_GNUTLS),y) +LIBNICE_CONF_OPTS += --with-crypto-library=gnutls +LIBNICE_DEPENDENCIES += gnutls else -LIBNICE_CONF_OPTS += --without-gstreamer-0.10 +LIBNICE_CONF_OPTS += \ + --with-crypto-library=openssl \ + --with-openssl=$(STAGING_DIR)/usr +LIBNICE_DEPENDENCIES += openssl endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y) diff --git a/package/libnl/libnl.hash b/package/libnl/libnl.hash index b9c626043d..d7cd5c9532 100644 --- a/package/libnl/libnl.hash +++ b/package/libnl/libnl.hash @@ -1,4 +1,6 @@ -# From https://github.com/thom311/libnl/releases/download/libnl3_4_0/libnl-3.4.0.tar.gz.sha256sum -sha256 b7287637ae71c6db6f89e1422c995f0407ff2fe50cecd61a312b6a9b0921f5bf libnl-3.4.0.tar.gz +# From https://github.com/thom311/libnl/releases/download/libnl3_5_0/libnl-3.5.0.tar.gz.md5sum +md5 74ba57b1b1d6f9f92268aa8141d8e8e4 libnl-3.5.0.tar.gz +# From https://github.com/thom311/libnl/releases/download/libnl3_5_0/libnl-3.5.0.tar.gz.sha256sum +sha256 352133ec9545da76f77e70ccb48c9d7e5324d67f6474744647a7ed382b5e05fa libnl-3.5.0.tar.gz # Locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libnl/libnl.mk b/package/libnl/libnl.mk index 397910c4a7..795dfc2316 100644 --- a/package/libnl/libnl.mk +++ b/package/libnl/libnl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNL_VERSION = 3.4.0 +LIBNL_VERSION = 3.5.0 LIBNL_SITE = https://github.com/thom311/libnl/releases/download/libnl$(subst .,_,$(LIBNL_VERSION)) LIBNL_LICENSE = LGPL-2.1+ LIBNL_LICENSE_FILES = COPYING diff --git a/package/libnspr/0001-nios2.patch b/package/libnspr/0001-nios2.patch deleted file mode 100644 index 2a967c4593..0000000000 --- a/package/libnspr/0001-nios2.patch +++ /dev/null @@ -1,76 +0,0 @@ -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 -@@ -1112,6 +1112,51 @@ - #define PR_BYTES_PER_WORD_LOG2 3 - #define PR_BYTES_PER_DWORD_LOG2 3 - -+#elif defined(__nios2__) -+ -+#define IS_LITTLE_ENDIAN 1 -+#undef IS_BIG_ENDIAN -+ -+#define PR_BYTES_PER_BYTE 1 -+#define PR_BYTES_PER_SHORT 2 -+#define PR_BYTES_PER_INT 4 -+#define PR_BYTES_PER_INT64 8 -+#define PR_BYTES_PER_LONG 4 -+#define PR_BYTES_PER_FLOAT 4 -+#define PR_BYTES_PER_DOUBLE 8 -+#define PR_BYTES_PER_WORD 4 -+#define PR_BYTES_PER_DWORD 8 -+ -+#define PR_BITS_PER_BYTE 8 -+#define PR_BITS_PER_SHORT 16 -+#define PR_BITS_PER_INT 32 -+#define PR_BITS_PER_INT64 64 -+#define PR_BITS_PER_LONG 32 -+#define PR_BITS_PER_FLOAT 32 -+#define PR_BITS_PER_DOUBLE 64 -+#define PR_BITS_PER_WORD 32 -+ -+#define PR_BITS_PER_BYTE_LOG2 3 -+#define PR_BITS_PER_SHORT_LOG2 4 -+#define PR_BITS_PER_INT_LOG2 5 -+#define PR_BITS_PER_INT64_LOG2 6 -+#define PR_BITS_PER_LONG_LOG2 5 -+#define PR_BITS_PER_FLOAT_LOG2 5 -+#define PR_BITS_PER_DOUBLE_LOG2 6 -+#define PR_BITS_PER_WORD_LOG2 5 -+ -+#define PR_ALIGN_OF_SHORT 2 -+#define PR_ALIGN_OF_INT 4 -+#define PR_ALIGN_OF_LONG 4 -+#define PR_ALIGN_OF_INT64 4 -+#define PR_ALIGN_OF_FLOAT 4 -+#define PR_ALIGN_OF_DOUBLE 4 -+#define PR_ALIGN_OF_POINTER 4 -+#define PR_ALIGN_OF_WORD 4 -+ -+#define PR_BYTES_PER_WORD_LOG2 2 -+#define PR_BYTES_PER_DWORD_LOG2 3 -+ - #else - - #error "Unknown CPU architecture" -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 "riscv32" - #elif defined(__riscv) && (__riscv_xlen == 64) - #define _PR_SI_ARCHITECTURE "riscv64" -+#elif defined(__nios2__) -+#define _PR_SI_ARCHITECTURE "nios2" - #else - #error "Unknown CPU architecture" - #endif diff --git a/package/libnspr/0002-microblaze.patch b/package/libnspr/0002-microblaze.patch deleted file mode 100644 index 4c23259d58..0000000000 --- a/package/libnspr/0002-microblaze.patch +++ /dev/null @@ -1,81 +0,0 @@ -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 -@@ -1157,6 +1157,56 @@ - #define PR_BYTES_PER_WORD_LOG2 2 - #define PR_BYTES_PER_DWORD_LOG2 3 - -+#elif defined(__microblaze__) -+ -+#if defined(__BIG_ENDIAN__) -+#define IS_BIG_ENDIAN 1 -+#undef IS_LITTLE_ENDIAN -+#else -+#define IS_LITTLE_ENDIAN 1 -+#undef IS_BIG_ENDIAN -+#endif -+ -+#define PR_BYTES_PER_BYTE 1 -+#define PR_BYTES_PER_SHORT 2 -+#define PR_BYTES_PER_INT 4 -+#define PR_BYTES_PER_INT64 8 -+#define PR_BYTES_PER_LONG 4 -+#define PR_BYTES_PER_FLOAT 4 -+#define PR_BYTES_PER_DOUBLE 8 -+#define PR_BYTES_PER_WORD 4 -+#define PR_BYTES_PER_DWORD 8 -+ -+#define PR_BITS_PER_BYTE 8 -+#define PR_BITS_PER_SHORT 16 -+#define PR_BITS_PER_INT 32 -+#define PR_BITS_PER_INT64 64 -+#define PR_BITS_PER_LONG 32 -+#define PR_BITS_PER_FLOAT 32 -+#define PR_BITS_PER_DOUBLE 64 -+#define PR_BITS_PER_WORD 32 -+ -+#define PR_BITS_PER_BYTE_LOG2 3 -+#define PR_BITS_PER_SHORT_LOG2 4 -+#define PR_BITS_PER_INT_LOG2 5 -+#define PR_BITS_PER_INT64_LOG2 6 -+#define PR_BITS_PER_LONG_LOG2 5 -+#define PR_BITS_PER_FLOAT_LOG2 5 -+#define PR_BITS_PER_DOUBLE_LOG2 6 -+#define PR_BITS_PER_WORD_LOG2 5 -+ -+#define PR_ALIGN_OF_SHORT 2 -+#define PR_ALIGN_OF_INT 4 -+#define PR_ALIGN_OF_LONG 4 -+#define PR_ALIGN_OF_INT64 4 -+#define PR_ALIGN_OF_FLOAT 4 -+#define PR_ALIGN_OF_DOUBLE 4 -+#define PR_ALIGN_OF_POINTER 4 -+#define PR_ALIGN_OF_WORD 4 -+ -+#define PR_BYTES_PER_WORD_LOG2 2 -+#define PR_BYTES_PER_DWORD_LOG2 3 -+ - #else - - #error "Unknown CPU architecture" -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 "riscv32" - #elif defined(__riscv) && (__riscv_xlen == 64) - #define _PR_SI_ARCHITECTURE "riscv64" -+#elif defined(__microblaze__) -+#define _PR_SI_ARCHITECTURE "microblaze" - #elif defined(__nios2__) - #define _PR_SI_ARCHITECTURE "nios2" - #else diff --git a/package/libnspr/Config.in b/package/libnspr/Config.in index 1d95155248..c1be7151e0 100644 --- a/package/libnspr/Config.in +++ b/package/libnspr/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT def_bool y - depends on !BR2_arc && !BR2_xtensa if BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT diff --git a/package/libnspr/libnspr.hash b/package/libnspr/libnspr.hash index 33710b65a9..cdbf6ce69d 100644 --- a/package/libnspr/libnspr.hash +++ b/package/libnspr/libnspr.hash @@ -1,4 +1,4 @@ -# From https://ftp.mozilla.org/pub/nspr/releases/v4.20/src/SHA256SUMS -sha256 2c8964913da89ffbaf464d49ce44d79e8804e1794ef9a8c52a7bff7224d1556e nspr-4.20.tar.gz +# From https://ftp.mozilla.org/pub/nspr/releases/v4.25/src/SHA256SUMS +sha256 0bc309be21f91da4474c56df90415101c7f0c7c7cab2943cd943cd7896985256 nspr-4.25.tar.gz # Locally calculated sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 nspr/LICENSE diff --git a/package/libnspr/libnspr.mk b/package/libnspr/libnspr.mk index 763c5393b0..857052d8c7 100644 --- a/package/libnspr/libnspr.mk +++ b/package/libnspr/libnspr.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNSPR_VERSION = 4.20 +LIBNSPR_VERSION = 4.25 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/0001-fix-old-abi-ppc.patch b/package/libnss/0001-fix-old-abi-ppc.patch new file mode 100644 index 0000000000..202b4ad271 --- /dev/null +++ b/package/libnss/0001-fix-old-abi-ppc.patch @@ -0,0 +1,40 @@ +From a7a862bab5e4aae4615ddae3cbe230345f92ed0d Mon Sep 17 00:00:00 2001 +From: Lauri Kasanen +Date: Mon, 1 Jun 2020 12:11:45 +0300 +Subject: [PATCH v3] Bug 1642174 /usr/bin/ld: OBJS/Linux_SINGLE_SHLIB/sha512-p8.o: + ABI version 2 is not compatible with ABI version 1 output + +Don't try to build the SHA-2 accelerated asm on old-ABI ppc. + +Currently make only, I don't have enough gyp-fu to do that side. +However, the reporters of 1642174 and 1635625 both used make, not gyp. + +Signed-off-by: Lauri Kasanen +[Fetch-from: https://bugzilla.mozilla.org/show_bug.cgi?id=1642174 + Manually modified paths to apply to nss subdirectory in release tarball.] +Signed-off-by: Joseph Kogut +--- + lib/freebl/Makefile | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/nss/lib/freebl/Makefile b/nss/lib/freebl/Makefile +index 5f7384429..e0461c7d3 100644 +--- a/nss/lib/freebl/Makefile ++++ b/nss/lib/freebl/Makefile +@@ -267,9 +267,12 @@ ifeq ($(CPU_ARCH),arm) + endif + ifeq ($(CPU_ARCH),ppc) + EXTRA_SRCS += gcm-ppc.c +- ASFILES += sha512-p8.s + ifdef USE_64 + DEFINES += -DNSS_NO_INIT_SUPPORT ++ PPC_ABI := $(shell $(CC) -dM -E - < /dev/null | awk '$$2 == "_CALL_ELF" {print $$3}') ++ ifeq ($(PPC_ABI),2) ++ ASFILES += sha512-p8.s ++ endif + endif # USE_64 + endif # ppc + endif # Linux +-- +2.19.1 + diff --git a/package/libnss/0001-fix-uclibc-build.patch b/package/libnss/0001-fix-uclibc-build.patch deleted file mode 100644 index a9e84c264b..0000000000 --- a/package/libnss/0001-fix-uclibc-build.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix build with uClibc-ng - -The elf.h header in uClibc-ng is missing the AT_HWCAP2 definition. Add it in -the code. - -Signed-off-by: Baruch Siach ---- -Upstream status: Not upstreamable; uClibc needs to update elf.h - -diff -Nuar nss-3.38.orig/nss/lib/freebl/blinit.c nss-3.38/nss/lib/freebl/blinit.c ---- nss-3.38.orig/nss/lib/freebl/blinit.c 2018-06-21 12:24:45.000000000 +0300 -+++ nss-3.38/nss/lib/freebl/blinit.c 2018-06-26 13:13:55.636434720 +0300 -@@ -100,6 +100,9 @@ - defined(__GNUC__) && __GNUC__ >= 2 && defined(__ELF__) - #include - extern unsigned long getauxval(unsigned long type) __attribute__((weak)); -+#ifndef AT_HWCAP2 -+#define AT_HWCAP2 26 -+#endif - #else - static unsigned long (*getauxval)(unsigned long) = NULL; - #define AT_HWCAP2 0 diff --git a/package/libnss/0002-add-zlib-include-dir-variable.patch b/package/libnss/0002-add-zlib-include-dir-variable.patch deleted file mode 100644 index cd0bdeec31..0000000000 --- a/package/libnss/0002-add-zlib-include-dir-variable.patch +++ /dev/null @@ -1,49 +0,0 @@ -Add ZLIB_INCLUDE_DIR variable - -On Linux platform[1], the build system forces to use zlib from the -system instead of compiling the one located intree. - -The following error is raised when the zlib header is installed -somewhere else than in the default system include path: - - ssl3con.c:39:18: fatal error: zlib.h: No such file or directory - #include "zlib.h" - -The same trick setup for sqlite include directory is reproduced for -zlib. The build system disallows in any manner to give arguments to the -compiler explicity. - -The variable ZLIB_INCLUDE_DIR point to the directory where the zlib -header is located. - -[1]: https://hg.mozilla.org/projects/nss/file/NSS_3_33_BRANCH/coreconf/Linux.mk#l180 -[2]: https://hg.mozilla.org/projects/nss/file/NSS_3_33_BRANCH/lib/softoken/manifest.mn#l17 - -Signed-off-by: Gaël PORTAY - ---- libnss-3.33.orig/nss/lib/ssl/manifest.mn 2017-09-20 02:47:27.000000000 -0400 -+++ libnss-3.33/nss/lib/ssl/manifest.mn 2018-02-16 16:45:41.512709898 -0500 -@@ -6,6 +6,10 @@ - - # DEFINES = -DTRACE - -+ifdef ZLIB_INCLUDE_DIR -+INCLUDES += -I$(ZLIB_INCLUDE_DIR) -+endif -+ - EXPORTS = \ - ssl.h \ - sslt.h \ ---- host-libnss-3.33.orig/nss/cmd/signtool/manifest.mn.orig 2018-02-16 17:08:58.474777871 -0500 -+++ host-libnss-3.33/nss/cmd/signtool/manifest.mn 2018-02-16 17:09:22.603710963 -0500 -@@ -6,6 +6,10 @@ - - MODULE = nss - -+ifdef ZLIB_INCLUDE_DIR -+INCLUDES += -I$(ZLIB_INCLUDE_DIR) -+endif -+ - EXPORTS = - - CSRCS = signtool.c \ diff --git a/package/libnss/Config.in b/package/libnss/Config.in index 34ddb91dfa..2dd0197236 100644 --- a/package/libnss/Config.in +++ b/package/libnss/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_LIBNSS depends on BR2_TOOLCHAIN_HAS_THREADS # libnspr depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT # libnspr depends on !BR2_STATIC_LIBS - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85862 select BR2_PACKAGE_LIBNSPR select BR2_PACKAGE_SQLITE select BR2_PACKAGE_ZLIB @@ -16,9 +15,18 @@ config BR2_PACKAGE_LIBNSS http://www.mozilla.org/projects/security/pki/nss/ +if BR2_PACKAGE_LIBNSS + +config BR2_PACKAGE_LIBNSS_ARCH + string + default "aarch64" if BR2_aarch64_be + default "ppc" if BR2_powerpc + default "ppc64" if BR2_powerpc64 + default "ppc64le" if BR2_powerpc64le + default BR2_ARCH + +endif + comment "libnss needs a toolchain w/ threads, dynamic library" depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS - -comment "libnss needs a toolchain not affected by GCC bug 85862" - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85862 diff --git a/package/libnss/libnss.hash b/package/libnss/libnss.hash index 9c3cefd818..425f5da515 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_39_RTM/src/SHA256SUMS -sha256 6be64dd76f212415cc8bc34343ac1e7389048db4db9a023a84873c411dc5864b nss-3.39.tar.gz +# From https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_52_RTM/src/SHA256SUMS +sha256 0a0aeb0cdda65ddcb64f746223df58b150f6803f4bfa1a4e876bbe6f9c4c1561 nss-3.52.tar.gz # Locally calculated sha256 a20c1a32d1f8102432360b42e932869f7c11c7cdbacf9cac554c422132af47f4 nss/COPYING diff --git a/package/libnss/libnss.mk b/package/libnss/libnss.mk index 73c9b08fd2..020cf212d4 100644 --- a/package/libnss/libnss.mk +++ b/package/libnss/libnss.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNSS_VERSION = 3.39 +LIBNSS_VERSION = 3.52 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 @@ -13,6 +13,20 @@ LIBNSS_DEPENDENCIES = libnspr sqlite zlib LIBNSS_LICENSE = MPL-2.0 LIBNSS_LICENSE_FILES = nss/COPYING +LIBNSS_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85862),y) +LIBNSS_CFLAGS += -O0 +endif + +# Need to pass down TARGET_CFLAGS and TARGET_LDFLAGS +define LIBNSS_FIXUP_LINUX_MK + echo 'OS_CFLAGS += $(LIBNSS_CFLAGS)' >> $(@D)/nss/coreconf/Linux.mk + echo 'LDFLAGS += $(TARGET_LDFLAGS)' >> $(@D)/nss/coreconf/Linux.mk +endef + +LIBNSS_PRE_CONFIGURE_HOOKS += LIBNSS_FIXUP_LINUX_MK + # --gc-sections triggers binutils ld segfault # https://sourceware.org/bugzilla/show_bug.cgi?id=21180 ifeq ($(BR2_microblaze),y) @@ -23,30 +37,27 @@ endef LIBNSS_PRE_CONFIGURE_HOOKS += LIBNSS_DROP_GC_SECTIONS endif -ifeq ($(BR2_aarch64_be),y) -LIBNSS_ARCH = aarch64 -else -LIBNSS_ARCH = $(ARCH) -endif - LIBNSS_BUILD_VARS = \ MOZILLA_CLIENT=1 \ NSPR_INCLUDE_DIR=$(STAGING_DIR)/usr/include/nspr \ NSPR_LIB_DIR=$(STAGING_DIR)/usr/lib \ - BUILD_OPT=1 \ NS_USE_GCC=1 \ NSS_DISABLE_GTESTS=1 \ NSS_USE_SYSTEM_SQLITE=1 \ - NSS_ENABLE_ECC=1 \ NATIVE_CC="$(HOSTCC)" \ OS_ARCH="Linux" \ OS_RELEASE="2.6" \ - OS_TEST="$(LIBNSS_ARCH)" + OS_TEST=$(BR2_PACKAGE_LIBNSS_ARCH) \ + NSS_ENABLE_WERROR=0 -# #pragma usage needs gcc >= 4.8 -# See https://bugzilla.mozilla.org/show_bug.cgi?id=1226179 -ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_8),) -LIBNSS_BUILD_VARS += NSS_ENABLE_WERROR=0 +ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),) +# Disable Altivec if not supported +LIBNSS_BUILD_VARS += NSS_DISABLE_ALTIVEC=1 +endif + +ifeq ($(BR2_ARM_CPU_HAS_NEON),) +# Disable arm32-neon if neon is not supported +LIBNSS_BUILD_VARS += NSS_DISABLE_ARM32_NEON=1 endif ifeq ($(BR2_ARCH_IS_64),y) @@ -67,7 +78,7 @@ define LIBNSS_BUILD_CMDS SOURCE_MD_DIR=$(@D)/$(LIBNSS_DISTDIR) \ DIST=$(@D)/$(LIBNSS_DISTDIR) \ CHECKLOC= \ - $(LIBNSS_BUILD_VARS) NATIVE_FLAGS="$(HOST_CFLAGS)" + $(LIBNSS_BUILD_VARS) NATIVE_FLAGS="$(HOST_CFLAGS) -DLINUX" endef define LIBNSS_INSTALL_STAGING_CMDS @@ -102,13 +113,12 @@ HOST_LIBNSS_BUILD_VARS = \ MOZILLA_CLIENT=1 \ NSPR_INCLUDE_DIR=$(HOST_DIR)/include/nspr \ NSPR_LIB_DIR=$(HOST_DIR)/lib \ - BUILD_OPT=1 \ NS_USE_GCC=1 \ NSS_DISABLE_GTESTS=1 \ NSS_USE_SYSTEM_SQLITE=1 \ SQLITE_INCLUDE_DIR=$(HOST_DIR)/include \ ZLIB_INCLUDE_DIR=$(HOST_DIR)/include \ - NSS_ENABLE_ECC=1 + NSS_ENABLE_WERROR=0 HOST_LIBNSS_DEPENDENCIES = host-libnspr host-sqlite host-zlib diff --git a/package/libogg/libogg.hash b/package/libogg/libogg.hash index d6962a55ed..5d95c85d3a 100644 --- a/package/libogg/libogg.hash +++ b/package/libogg/libogg.hash @@ -1,5 +1,7 @@ # From: http://www.xiph.org/downloads/ -sha256 4f3fc6178a533d392064f14776b23c397ed4b9f48f5de297aba73b643f955c08 libogg-1.3.3.tar.xz +md5 eadef24aad6e3e8379ba0d14971fd64a libogg-1.3.4.tar.xz +sha1 f07499a35566aa62affb5ca989f62eed5b8092c3 libogg-1.3.4.tar.xz +sha256 c163bc12bc300c401b6aa35907ac682671ea376f13ae0969a220f7ddf71893fe libogg-1.3.4.tar.xz # Hash for license file: sha256 d2ab5758336489da61c12cc5bb757da5339c4ae9001f9bb0562b4370249af814 COPYING diff --git a/package/libogg/libogg.mk b/package/libogg/libogg.mk index 4c97e9a913..08e5f87b72 100644 --- a/package/libogg/libogg.mk +++ b/package/libogg/libogg.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOGG_VERSION = 1.3.3 +LIBOGG_VERSION = 1.3.4 LIBOGG_SOURCE = libogg-$(LIBOGG_VERSION).tar.xz LIBOGG_SITE = http://downloads.xiph.org/releases/ogg LIBOGG_LICENSE = BSD-3-Clause diff --git a/package/libolm/Config.in b/package/libolm/Config.in new file mode 100644 index 0000000000..a863216d5c --- /dev/null +++ b/package/libolm/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBOLM + bool "libolm" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + help + libolm is an implementation of the Double Ratchet + cryptographic ratchet in C++ + + https://gitlab.matrix.org/matrix-org/olm + +comment "libolm needs a toolchain w/ C++, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/libolm/libolm.hash b/package/libolm/libolm.hash new file mode 100644 index 0000000000..613dda3544 --- /dev/null +++ b/package/libolm/libolm.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 1ca9926ce71d778fb7352d1ee77513194db8c7f49c0d69d38ac49ec3bafcea38 olm-3.1.4.tar.gz +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE diff --git a/package/libolm/libolm.mk b/package/libolm/libolm.mk new file mode 100644 index 0000000000..78ee05b3c2 --- /dev/null +++ b/package/libolm/libolm.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# libolm +# +################################################################################ + +LIBOLM_VERSION = 3.1.4 +LIBOLM_SOURCE = olm-$(LIBOLM_VERSION).tar.gz +LIBOLM_SITE = https://gitlab.matrix.org/matrix-org/olm/-/archive/$(LIBOLM_VERSION) +LIBOLM_LICENSE = Apache-2.0 +LIBOLM_LICENSE_FILES = LICENSE +LIBOLM_INSTALL_STAGING = YES + +LIBOLM_CONF_OPTS = -DOLM_TESTS=OFF + +$(eval $(cmake-package)) diff --git a/package/libopenh264/0001-Add-USE_STACK_PROTECTOR-option.patch b/package/libopenh264/0001-Add-USE_STACK_PROTECTOR-option.patch new file mode 100644 index 0000000000..3758cd668b --- /dev/null +++ b/package/libopenh264/0001-Add-USE_STACK_PROTECTOR-option.patch @@ -0,0 +1,100 @@ +From 1e7435751c055723b7103dd1d5bb68530e1a2678 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 8 Oct 2019 20:18:18 +0200 +Subject: [PATCH] Add USE_STACK_PROTECTOR option + +-fstack-protector-all is not supported on all linux toolchains so add an +option to disable it (and enable it by default to keep current behavior) + +Fixes: + - http://autobuild.buildroot.org/results/377818cf8c1f2632cabdccb32bf4e7f06c0fdbbd + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/cisco/openh264/pull/3175] +--- + Makefile | 1 + + build/platform-android.mk | 5 ++++- + build/platform-bsd.mk | 5 ++++- + build/platform-darwin.mk | 5 ++++- + build/platform-linux.mk | 5 ++++- + 5 files changed, 17 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 74ff029d..c2061f6a 100644 +--- a/Makefile ++++ b/Makefile +@@ -34,6 +34,7 @@ GTEST_VER=release-1.8.1 + CCASFLAGS=$(CFLAGS) + STATIC_LDFLAGS=-lstdc++ + STRIP ?= strip ++USE_STACK_PROTECTOR = Yes + + SHAREDLIB_MAJORVERSION=5 + FULL_VERSION := 2.0.0 +diff --git a/build/platform-android.mk b/build/platform-android.mk +index 6f6ce347..06534301 100644 +--- a/build/platform-android.mk ++++ b/build/platform-android.mk +@@ -44,7 +44,10 @@ SYSROOT = $(NDKROOT)/platforms/android-$(NDKLEVEL)/arch-$(ARCH) + CXX = $(TOOLCHAINPREFIX)g++ + CC = $(TOOLCHAINPREFIX)gcc + AR = $(TOOLCHAINPREFIX)ar +-CFLAGS += -DANDROID_NDK -fpic --sysroot=$(SYSROOT) -MMD -MP -fstack-protector-all ++CFLAGS += -DANDROID_NDK -fpic --sysroot=$(SYSROOT) -MMD -MP ++ifeq ($(USE_STACK_PROTECTOR), Yes) ++CFLAGS +=-fstack-protector-all ++endif + CFLAGS += -isystem $(NDKROOT)/sysroot/usr/include -isystem $(NDKROOT)/sysroot/usr/include/$(TOOLCHAIN_NAME) -D__ANDROID_API__=$(NDKLEVEL) + CXXFLAGS += -fno-rtti -fno-exceptions + LDFLAGS += --sysroot=$(SYSROOT) +diff --git a/build/platform-bsd.mk b/build/platform-bsd.mk +index e60d2cc0..2e0bf2cc 100644 +--- a/build/platform-bsd.mk ++++ b/build/platform-bsd.mk +@@ -3,7 +3,10 @@ SHAREDLIBSUFFIX = so + SHAREDLIBSUFFIXFULLVER=$(SHAREDLIBSUFFIX).$(FULL_VERSION) + SHAREDLIBSUFFIXMAJORVER=$(SHAREDLIBSUFFIX).$(SHAREDLIB_MAJORVERSION) + SHLDFLAGS = -Wl,-soname,$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) +-CFLAGS += -fPIC -fstack-protector-all ++CFLAGS += -fPIC ++ifeq ($(USE_STACK_PROTECTOR), Yes) ++CFLAGS += -fstack-protector-all ++endif + LDFLAGS += -lpthread + STATIC_LDFLAGS += -lpthread -lm + ifeq ($(ASM_ARCH), x86) +diff --git a/build/platform-darwin.mk b/build/platform-darwin.mk +index 6c7b2443..718c8e2f 100644 +--- a/build/platform-darwin.mk ++++ b/build/platform-darwin.mk +@@ -10,7 +10,10 @@ SHLDFLAGS = -dynamiclib -twolevel_namespace -undefined dynamic_lookup \ + $(SHAREDLIB_DIR)/$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) + SHARED = -dynamiclib + SHARED += -current_version $(CURRENT_VERSION) -compatibility_version $(COMPATIBILITY_VERSION) +-CFLAGS += -Wall -fPIC -MMD -MP -fstack-protector-all ++CFLAGS += -Wall -fPIC -MMD -MP ++ifeq ($(USE_STACK_PROTECTOR), Yes) ++CFLAGS += -fstack-protector-all ++endif + ifeq ($(ASM_ARCH), x86) + ASMFLAGS += -DPREFIX + ifeq ($(ARCH), x86_64) +diff --git a/build/platform-linux.mk b/build/platform-linux.mk +index 44fe2424..b5c006b2 100644 +--- a/build/platform-linux.mk ++++ b/build/platform-linux.mk +@@ -3,7 +3,10 @@ SHAREDLIBSUFFIX = so + SHAREDLIBSUFFIXFULLVER=$(SHAREDLIBSUFFIX).$(FULL_VERSION) + SHAREDLIBSUFFIXMAJORVER=$(SHAREDLIBSUFFIX).$(SHAREDLIB_MAJORVERSION) + SHLDFLAGS = -Wl,-soname,$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) +-CFLAGS += -Wall -fno-strict-aliasing -fPIC -MMD -MP -fstack-protector-all ++CFLAGS += -Wall -fno-strict-aliasing -fPIC -MMD -MP ++ifeq ($(USE_STACK_PROTECTOR), Yes) ++CFLAGS += -fstack-protector-all ++endif + LDFLAGS += -lpthread + STATIC_LDFLAGS += -lpthread -lm + AR_OPTS = crD $@ +-- +2.23.0 + diff --git a/package/libopenh264/0002-fix-mips-build.patch b/package/libopenh264/0002-fix-mips-build.patch new file mode 100644 index 0000000000..c4927d567b --- /dev/null +++ b/package/libopenh264/0002-fix-mips-build.patch @@ -0,0 +1,73 @@ +From 9d5981eecde2133b9d6099eb99f96b1c29c3e520 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Mon, 13 Apr 2020 12:03:01 +0200 +Subject: [PATCH] fix mips build + +In total three PR were sent upstream to fix mips builds: +https://github.com/cisco/openh264/pull/3185 +https://github.com/cisco/openh264/pull/3217 +https://github.com/cisco/openh264/pull/3225 + +Buildroot used the first version +https://git.buildroot.net/buildroot/commit/package/libopenh264?id=e8d0df569e1844f7ba28918a53ee38027b325b8f +downloaded from https://github.com/cisco/openh264/pull/3185 + +During discussion the gcc option '-march=loongson3a' was changed to +'-Wa,-mloongson-mmi,-mloongson-ext': +https://github.com/cisco/openh264/pull/3185#discussion_r337818960 + +This causes build errors with gcc version 8.3.0 (Buildroot 2020.02) + +tmp/cctgEQaw.s:662: Error: opcode not supported on this processor: loongson3a (mips64r2) `bc .L22' +/tmp/cctgEQaw.s:1679: Error: opcode not supported on this processor: loongson3a (mips64r2) `bc .L27' +/tmp/cctgEQaw.s:2218: Error: opcode not supported on this processor: loongson3a (mips64r2) `jrc $31' + +This patch partly reverts the change to fix mips build. + +$ /home/bernd/buildroot/br5/output/host/bin/mips64el-linux-gcc -v + +Using built-in specs. +COLLECT_GCC=/home/bernd/buildroot/br5/output/host/opt/ext-toolchain/bin/mips64el-linux-gcc.br_real +COLLECT_LTO_WRAPPER=/home/bernd/buildroot/br5/output/host/opt/ext-toolchain/bin/../libexec/gcc/mips64el-buildroot-linux-gnu/8.3.0/lto-wrapper +Target: mips64el-buildroot-linux-gnu +Configured with: ./configure --prefix=/opt/br-mips64r6-n64-el-hf-2020.02 --sysconfdir=/opt/br-mips64r6-n64-el-hf-2020.02/etc --enable-static --target=mips64el-buildroot-linux-gnu --with-sysroot=/opt/br-mips64r6-n64-el-hf-2020.02/mips64el-buildroot-linux-gnu/sysroot --enable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib --disable-decimal-float --with-gmp=/opt/br-mips64r6-n64-el-hf-2020.02 --with-mpc=/opt/br-mips64r6-n64-el-hf-2020.02 --with-mpfr=/opt/br-mips64r6-n64-el-hf-2020.02 --with-pkgversion='Buildroot 2020.02' --with-bugurl=http://bugs.buildroot.net/ --disable-libquadmath --enable-tls --enable-threads --without-isl --without-cloog --with-arch=mips64r6 --with-abi=64 --with-nan=2008 --enable-languages=c,c++ --with-build-time-tools=/opt/br-mips64r6-n64-el-hf-2020.02/mips64el-buildroot-linux-gnu/bin --enable-shared --disable-libgomp +Thread model: posix +gcc version 8.3.0 (Buildroot 2020.02) + +Patch sent upstream: https://github.com/cisco/openh264/pull/3267 + +Signed-off-by: Bernd Kuhls +--- + build/arch.mk | 2 +- + build/mips-simd-check.sh | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/build/arch.mk b/build/arch.mk +index 1bf318ab..c6570ed4 100644 +--- a/build/arch.mk ++++ b/build/arch.mk +@@ -41,7 +41,7 @@ ASMFLAGS += -I$(SRC_PATH)codec/common/mips/ + ifeq ($(ENABLE_MMI), Yes) + ENABLE_MMI = $(shell $(SRC_PATH)build/mips-simd-check.sh $(CC) mmi) + ifeq ($(ENABLE_MMI), Yes) +-CFLAGS += -DHAVE_MMI -Wa,-mloongson-mmi,-mloongson-ext ++CFLAGS += -DHAVE_MMI -march=loongson3a + endif + endif + #msa +diff --git a/build/mips-simd-check.sh b/build/mips-simd-check.sh +index 5efffbef..d0d72f9e 100755 +--- a/build/mips-simd-check.sh ++++ b/build/mips-simd-check.sh +@@ -15,7 +15,7 @@ TMPO=$(mktemp tmp.XXXXXX.o) + if [ $2 == "mmi" ] + then + echo "void main(void){ __asm__ volatile(\"punpcklhw \$f0, \$f0, \$f0\"); }" > $TMPC +- $1 -Wa,-mloongson-mmi $TMPC -o $TMPO &> /dev/null ++ $1 -march=loongson3a $TMPC -o $TMPO &> /dev/null + if test -s $TMPO + then + echo "Yes" +-- +2.25.0 + diff --git a/package/libopenh264/libopenh264.hash b/package/libopenh264/libopenh264.hash index b9cd9ed53e..349299158e 100644 --- a/package/libopenh264/libopenh264.hash +++ b/package/libopenh264/libopenh264.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9c07c38d7de00046c9c52b12c76a2af7648b70d05bd5460c8b67f6895738653f libopenh264-v1.7.0.tar.gz -sha256 dd5c1c9668512530fa5a96e4c29ac4033d70a7eeb0eed7a42fddb6dd794ebdbb LICENSE +sha256 27f185d478066bad0c8837f4554cd8d69cca1d55d5f3dc6a43a8cef1fe6c005f libopenh264-2.1.0.tar.gz +sha256 dd5c1c9668512530fa5a96e4c29ac4033d70a7eeb0eed7a42fddb6dd794ebdbb LICENSE diff --git a/package/libopenh264/libopenh264.mk b/package/libopenh264/libopenh264.mk index 233e7971f4..07196e3dd5 100644 --- a/package/libopenh264/libopenh264.mk +++ b/package/libopenh264/libopenh264.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBOPENH264_VERSION = v1.7.0 -LIBOPENH264_SITE = $(call github,cisco,openh264,$(LIBOPENH264_VERSION)) +LIBOPENH264_VERSION = 2.1.0 +LIBOPENH264_SITE = $(call github,cisco,openh264,v$(LIBOPENH264_VERSION)) LIBOPENH264_LICENSE = BSD-2-Clause LIBOPENH264_LICENSE_FILES = LICENSE LIBOPENH264_INSTALL_STAGING = YES @@ -30,7 +30,8 @@ endif # architecture don't need it. LIBOPENH264_MAKE_OPTS = \ ARCH=$(LIBOPENH264_ARCH) \ - ENABLE64BIT=$(if $(BR2_x86_64),Yes,No) + ENABLE64BIT=$(if $(BR2_x86_64),Yes,No) \ + USE_STACK_PROTECTOR=No define LIBOPENH264_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ diff --git a/package/libopenssl/0004-Configure-use-ELFv2-ABI-on-some-ppc64-big-endian-sys.patch b/package/libopenssl/0004-Configure-use-ELFv2-ABI-on-some-ppc64-big-endian-sys.patch new file mode 100644 index 0000000000..3d6eaf49d2 --- /dev/null +++ b/package/libopenssl/0004-Configure-use-ELFv2-ABI-on-some-ppc64-big-endian-sys.patch @@ -0,0 +1,35 @@ +From b57cc2e4ee21babacbffc243626de72c248068ea Mon Sep 17 00:00:00 2001 +From: Andy Polyakov +Date: Sun, 5 May 2019 18:30:55 +0200 +Subject: [PATCH] Configure: use ELFv2 ABI on some ppc64 big endian systems + +If _CALL_ELF is defined to be 2, it's an ELFv2 system. +Conditionally switch to the v2 perlasm scheme. + +Reviewed-by: Paul Dale +Reviewed-by: Richard Levitte +(Merged from https://github.com/openssl/openssl/pull/8883) +[vfazio: fixup for 1.1.1d] +Signed-off-by: Vincent Fazio +--- + Configure | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/Configure b/Configure +index 5a699836f3..f9152b1702 100755 +--- a/Configure ++++ b/Configure +@@ -1413,6 +1413,10 @@ my %predefined_CXX = $config{CXX} + ? compiler_predefined($config{CROSS_COMPILE}.$config{CXX}) + : (); + ++if ($target eq "linux-ppc64" && !$disabled{asm}) { ++ $target{perlasm_scheme} = "linux64v2" if ($predefined_C{_CALL_ELF} == 2); ++} ++ + # Check for makedepend capabilities. + if (!$disabled{makedepend}) { + if ($config{target} =~ /^(VC|vms)-/) { +-- +2.25.0 + diff --git a/package/libopenssl/0004-apps-ocsp.c-Use-the-same-HAVE_FORK-NO_FORK-as-in-spe.patch b/package/libopenssl/0004-apps-ocsp.c-Use-the-same-HAVE_FORK-NO_FORK-as-in-spe.patch deleted file mode 100644 index 83989fe742..0000000000 --- a/package/libopenssl/0004-apps-ocsp.c-Use-the-same-HAVE_FORK-NO_FORK-as-in-spe.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 4c992673890f1d1ecb9aa46112b2ca80db016b67 Mon Sep 17 00:00:00 2001 -From: Richard Levitte -Date: Mon, 12 Nov 2018 18:16:27 +0100 -Subject: [PATCH] apps/ocsp.c Use the same HAVE_FORK / NO_FORK as in speed.c - -This allows the user to override our defaults if needed, and in a -consistent manner. - -Partial fix for #7607 - -Upstream: https://github.com/openssl/openssl/pull/7624 -Signed-off-by: Patrick Havelange ---- - apps/ocsp.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/apps/ocsp.c b/apps/ocsp.c -index 7fd78624bb..315b072932 100644 ---- a/apps/ocsp.c -+++ b/apps/ocsp.c -@@ -36,7 +36,21 @@ NON_EMPTY_TRANSLATION_UNIT - # include - # include - --# if defined(OPENSSL_SYS_UNIX) && !defined(OPENSSL_NO_SOCK) \ -+#ifndef HAVE_FORK -+# if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_WINDOWS) -+# define HAVE_FORK 0 -+# else -+# define HAVE_FORK 1 -+# endif -+#endif -+ -+#if HAVE_FORK -+# undef NO_FORK -+#else -+# define NO_FORK -+#endif -+ -+# if !defined(NO_FORK) && !defined(OPENSSL_NO_SOCK) \ - && !defined(OPENSSL_NO_POSIX_IO) - # define OCSP_DAEMON - # include --- -2.17.1 - diff --git a/package/libopenssl/0005-Revert-Reduce-stack-usage-in-tls13_hkdf_expand.patch b/package/libopenssl/0005-Revert-Reduce-stack-usage-in-tls13_hkdf_expand.patch deleted file mode 100644 index 104fa476a2..0000000000 --- a/package/libopenssl/0005-Revert-Reduce-stack-usage-in-tls13_hkdf_expand.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 56e0f123dc17cb99f50efbae4bbbab77f360818f Mon Sep 17 00:00:00 2001 -From: Matt Caswell -Date: Mon, 3 Dec 2018 18:14:57 +0000 -Subject: [PATCH] Revert "Reduce stack usage in tls13_hkdf_expand" - -This reverts commit ec0c5f5693e39c5a013f81e6dd9dfd09ec65162d. - -SSL_export_keying_material() may use longer label lengths. - -Fixes #7712 - -Reviewed-by: Tim Hudson -(Merged from https://github.com/openssl/openssl/pull/7755) - -(cherry picked from commit ed371b8cbac0d0349667558c061c1ae380cf75eb) -Signed-off-by: Bernd Kuhls ---- - ssl/tls13_enc.c | 16 ++++------------ - 1 file changed, 4 insertions(+), 12 deletions(-) - -diff --git a/ssl/tls13_enc.c b/ssl/tls13_enc.c -index b6825d20c2..f7ab0fa470 100644 ---- a/ssl/tls13_enc.c -+++ b/ssl/tls13_enc.c -@@ -13,14 +13,7 @@ - #include - #include - --/* -- * RFC 8446, 7.1 Key Schedule, says: -- * Note: With common hash functions, any label longer than 12 characters -- * requires an additional iteration of the hash function to compute. -- * The labels in this specification have all been chosen to fit within -- * this limit. -- */ --#define TLS13_MAX_LABEL_LEN 12 -+#define TLS13_MAX_LABEL_LEN 246 - - /* Always filled with zeros */ - static const unsigned char default_zeros[EVP_MAX_MD_SIZE]; -@@ -36,15 +29,14 @@ int tls13_hkdf_expand(SSL *s, const EVP_MD *md, const unsigned char *secret, - const unsigned char *data, size_t datalen, - unsigned char *out, size_t outlen) - { -- static const unsigned char label_prefix[] = "tls13 "; -+ const unsigned char label_prefix[] = "tls13 "; - EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_HKDF, NULL); - int ret; - size_t hkdflabellen; - size_t hashlen; - /* -- * 2 bytes for length of derived secret + 1 byte for length of combined -- * prefix and label + bytes for the label itself + 1 byte length of hash -- * + bytes for the hash itself -+ * 2 bytes for length of whole HkdfLabel + 1 byte for length of combined -+ * prefix and label + bytes for the label itself + bytes for the hash - */ - unsigned char hkdflabel[sizeof(uint16_t) + sizeof(uint8_t) + - + sizeof(label_prefix) + TLS13_MAX_LABEL_LEN --- -2.20.1 - diff --git a/package/libopenssl/0005-crypto-perlasm-ppc-xlate.pl-add-linux64v2-flavour.patch b/package/libopenssl/0005-crypto-perlasm-ppc-xlate.pl-add-linux64v2-flavour.patch new file mode 100644 index 0000000000..30bddc23de --- /dev/null +++ b/package/libopenssl/0005-crypto-perlasm-ppc-xlate.pl-add-linux64v2-flavour.patch @@ -0,0 +1,64 @@ +From 07a0bbdd179a52907485fd793f0df31c097447af Mon Sep 17 00:00:00 2001 +From: Andy Polyakov +Date: Sun, 5 May 2019 18:25:50 +0200 +Subject: [PATCH] crypto/perlasm/ppc-xlate.pl: add linux64v2 flavour +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This is a big endian ELFv2 configuration. ELFv2 was already being +used for little endian, and big endian was traditionally ELFv1 +but there are practical configurations that use ELFv2 with big +endian nowadays (Adélie Linux, Void Linux, possibly Gentoo, etc.) + +Reviewed-by: Paul Dale +Reviewed-by: Richard Levitte +(Merged from https://github.com/openssl/openssl/pull/8883) +Signed-off-by: Vincent Fazio +--- + crypto/perlasm/ppc-xlate.pl | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/crypto/perlasm/ppc-xlate.pl b/crypto/perlasm/ppc-xlate.pl +index d220c6245b..eec82b8d48 100755 +--- a/crypto/perlasm/ppc-xlate.pl ++++ b/crypto/perlasm/ppc-xlate.pl +@@ -49,7 +49,7 @@ my $globl = sub { + /osx/ && do { $name = "_$name"; + last; + }; +- /linux.*(32|64le)/ ++ /linux.*(32|64(le|v2))/ + && do { $ret .= ".globl $name"; + if (!$$type) { + $ret .= "\n.type $name,\@function"; +@@ -80,7 +80,7 @@ my $globl = sub { + }; + my $text = sub { + my $ret = ($flavour =~ /aix/) ? ".csect\t.text[PR],7" : ".text"; +- $ret = ".abiversion 2\n".$ret if ($flavour =~ /linux.*64le/); ++ $ret = ".abiversion 2\n".$ret if ($flavour =~ /linux.*64(le|v2)/); + $ret; + }; + my $machine = sub { +@@ -186,7 +186,7 @@ my $vmr = sub { + + # Some ABIs specify vrsave, special-purpose register #256, as reserved + # for system use. +-my $no_vrsave = ($flavour =~ /aix|linux64le/); ++my $no_vrsave = ($flavour =~ /aix|linux64(le|v2)/); + my $mtspr = sub { + my ($f,$idx,$ra) = @_; + if ($idx == 256 && $no_vrsave) { +@@ -318,7 +318,7 @@ while($line=<>) { + if ($label) { + my $xlated = ($GLOBALS{$label} or $label); + print "$xlated:"; +- if ($flavour =~ /linux.*64le/) { ++ if ($flavour =~ /linux.*64(le|v2)/) { + if ($TYPES{$label} =~ /function/) { + printf "\n.localentry %s,0\n",$xlated; + } +-- +2.25.0 + diff --git a/package/libopenssl/0006-Fix-some-SSL_export_keying_material-issues.patch b/package/libopenssl/0006-Fix-some-SSL_export_keying_material-issues.patch deleted file mode 100644 index 242ec7a8cd..0000000000 --- a/package/libopenssl/0006-Fix-some-SSL_export_keying_material-issues.patch +++ /dev/null @@ -1,426 +0,0 @@ -From db860ea3dcf56a1993c66da22bd44460d7ac4914 Mon Sep 17 00:00:00 2001 -From: Matt Caswell -Date: Tue, 4 Dec 2018 08:37:04 +0000 -Subject: [PATCH] Fix some SSL_export_keying_material() issues - -Fix some issues in tls13_hkdf_expand() which impact the above function -for TLSv1.3. In particular test that we can use the maximum label length -in TLSv1.3. - -Reviewed-by: Tim Hudson -(Merged from https://github.com/openssl/openssl/pull/7755) - -(cherry picked from commit 0fb2815b873304d145ed00283454fc9f3bd35e6b) -Signed-off-by: Bernd Kuhls ---- - doc/man3/SSL_export_keying_material.pod | 3 +- - ssl/ssl_locl.h | 2 +- - ssl/statem/extensions.c | 2 +- - ssl/statem/statem_clnt.c | 2 +- - ssl/statem/statem_srvr.c | 2 +- - ssl/tls13_enc.c | 73 +++++++++++++++++-------- - test/sslapitest.c | 48 ++++++++++++---- - test/tls13secretstest.c | 2 +- - 8 files changed, 92 insertions(+), 42 deletions(-) - -diff --git a/doc/man3/SSL_export_keying_material.pod b/doc/man3/SSL_export_keying_material.pod -index abebf911fc..4c81a60ffb 100644 ---- a/doc/man3/SSL_export_keying_material.pod -+++ b/doc/man3/SSL_export_keying_material.pod -@@ -59,7 +59,8 @@ B