From c388a80638dcfa751ae83de92b3dd50cce55fa0f Mon Sep 17 00:00:00 2001 From: Calin Crisan Date: Fri, 9 Nov 2018 23:00:45 +0200 Subject: [PATCH] Merge in buildroot-2018.02.7 --- Config.in | 197 +- Config.in.legacy | 236 +- Makefile | 62 +- arch/Config.in | 22 + arch/Config.in.arm | 293 +- arch/Config.in.mips | 13 +- arch/Config.in.x86 | 11 + boot/Config.in | 2 + boot/arm-trusted-firmware/Config.in | 24 + .../arm-trusted-firmware.mk | 44 +- boot/at91bootstrap3/Config.in | 2 + boot/binaries-marvell/Config.in | 32 + boot/binaries-marvell/binaries-marvell.hash | 3 + boot/binaries-marvell/binaries-marvell.mk | 20 + .../boot-wrapper-aarch64.mk | 2 +- boot/grub2/grub2.mk | 4 +- boot/mv-ddr-marvell/Config.in | 10 + boot/mv-ddr-marvell/mv-ddr-marvell.hash | 2 + boot/mv-ddr-marvell/mv-ddr-marvell.mk | 12 + boot/uboot/Config.in | 25 +- boot/uboot/uboot.hash | 2 +- boot/uboot/uboot.mk | 51 +- boot/vexpress-firmware/Config.in | 2 + boot/xloader/Config.in | 2 + docs/manual/adding-packages-cargo.txt | 110 + docs/manual/adding-packages-generic.txt | 32 +- docs/manual/adding-packages-meson.txt | 101 + docs/manual/adding-packages-perl.txt | 2 +- docs/manual/adding-packages.txt | 4 + docs/manual/manual.html | 279 +- docs/manual/manual.pdf | Bin 510386 -> 523938 bytes docs/manual/manual.text | 351 +- docs/manual/manual.txt | 6 +- docs/manual/prerequisite.txt | 4 +- docs/manual/using-buildroot-toolchain.txt | 18 +- docs/website/copyright.txt | 2 +- docs/website/docs.html | 12 +- docs/website/download.html | 106 +- docs/website/index.html | 2 +- docs/website/js/buildroot.js | 2 +- docs/website/news.html | 168 +- docs/website/sponsors.html | 18 +- fs/Config.in | 1 + fs/axfs/axfs.mk | 2 +- fs/cloop/cloop.mk | 2 +- fs/common.mk | 45 +- fs/cpio/Config.in | 5 + fs/cpio/cpio.mk | 13 +- fs/cpio/init | 2 +- fs/cramfs/cramfs.mk | 2 +- fs/ext2/Config.in | 5 + fs/ext2/ext2.mk | 12 +- fs/initramfs/initramfs.mk | 22 +- fs/iso9660/Config.in | 9 + fs/iso9660/iso9660.mk | 24 +- fs/jffs2/jffs2.mk | 2 +- fs/romfs/romfs.mk | 2 +- fs/squashfs/squashfs.mk | 2 +- fs/tar/Config.in | 5 + fs/tar/tar.mk | 2 +- fs/ubi/Config.in | 51 + fs/{ubifs => ubi}/ubi.mk | 4 +- fs/{ubifs => ubi}/ubinize.cfg | 0 fs/ubifs/Config.in | 51 - fs/ubifs/ubifs.mk | 7 +- fs/yaffs2/yaffs.mk | 2 +- linux/Config.in | 73 +- linux/linux.mk | 58 +- package/Config.in | 58 +- package/Config.in.host | 3 + package/Makefile.in | 54 +- .../0001-Build-with-old-GCC-versions.patch | 32 + .../0001-support-static-installation.patch | 29 - ...-__acl_-prefixes-to-internal-symbols.patch | 292 - package/acl/acl.hash | 2 +- package/acl/acl.mk | 50 +- package/acpid/acpid.mk | 8 +- package/alsa-lib/0001-musl-pcm-h.patch | 33 - .../{0002-no-mmu.patch => 0001-no-mmu.patch} | 0 .../{0003-dlmisc.patch => 0002-dlmisc.patch} | 0 ...conditional-enabling-of-libdl-in-m4.patch} | 0 ...idi_symbols.c-use-rawmidi_virt-only-.patch | 52 - package/alsa-lib/alsa-lib.hash | 4 +- package/alsa-lib/alsa-lib.mk | 2 +- package/alsa-utils/alsa-utils.hash | 3 +- package/alsa-utils/alsa-utils.mk | 2 +- .../am335x-pru-package/am335x-pru-package.mk | 6 +- ...smacros.h-to-compile-with-glibc-2.28.patch | 42 + package/android-tools/Config.in | 2 + package/angularjs/angularjs.hash | 3 +- package/angularjs/angularjs.mk | 2 +- ...ipt-interpreter-from-bin-bash-to-bin.patch | 26 + package/aoetools/Config.in | 12 + package/aoetools/aoetools.hash | 5 + package/aoetools/aoetools.mk | 21 + package/apache/apache.hash | 6 +- package/apache/apache.mk | 2 +- package/apr-util/apr-util.mk | 18 + package/armbian-firmware/Config.in | 21 + .../armbian-firmware/armbian-firmware.hash | 2 + package/armbian-firmware/armbian-firmware.mk | 53 + package/arp-scan/Config.in | 2 +- ...target-directory-for-modules-exists.patch} | 0 ...ss-complation-assimne-eventfd-are-av.patch | 37 - ...-install-samples-need-the-data-files.patch | 35 + ...uild-fix-issues-building-without-ssl.patch | 57 + package/asterisk/asterisk.hash | 2 +- package/asterisk/asterisk.mk | 4 +- package/attr/0001-build-with-older-GCCs.patch | 87 + .../0001-support-static-installation.patch | 29 - ...2-avoid-glibc-specific-decls-defines.patch | 37 - package/attr/0003-portability-fixes.patch | 37 - package/attr/attr.hash | 2 +- package/attr/attr.mk | 36 +- package/audit/audit.hash | 2 +- package/audit/audit.mk | 6 +- package/aufs-util/Config.in | 2 +- package/augeas/augeas.hash | 6 +- package/augeas/augeas.mk | 5 +- package/autofs/autofs.hash | 2 +- package/autofs/autofs.mk | 4 +- package/avahi/avahi.hash | 3 +- package/avahi/avahi.mk | 11 +- package/avahi/avahi_tmpfiles.conf | 2 +- package/axel/Config.in | 2 +- package/axel/axel.hash | 3 +- package/axel/axel.mk | 41 +- package/axfsutils/0001-fix-cflags.patch | 19 - package/axfsutils/0002-use-ldflags.patch | 20 - package/axfsutils/axfsutils.hash | 2 +- package/axfsutils/axfsutils.mk | 2 +- package/azmq/Config.in | 6 +- package/bandwidthd/Config.in | 6 +- package/bash/bash.hash | 6 +- package/bash/bash.mk | 3 +- package/bash/bash44-001.patch | 64 - package/bash/bash44-002.patch | 73 - package/bash/bash44-003.patch | 62 - package/bash/bash44-004.patch | 88 - package/bash/bash44-005.patch | 51 - package/bash/bash44-006.patch | 63 - package/bash/bash44-007.patch | 155 - package/bash/bash44-008.patch | 88 - package/bash/bash44-009.patch | 111 - package/bash/bash44-010.patch | 53 - package/bash/bash44-011.patch | 54 - package/bash/bash44-012.patch | 165 - ...-unknown-error-in-brief_async_signa.patch} | 0 package/bdwgc/0002-Fix-uClibc-build.patch | 42 - ...0003-configure-match-uclinux-pattern.patch | 27 - package/bdwgc/bdwgc.hash | 3 +- package/bdwgc/bdwgc.mk | 2 +- package/berkeleydb/0001-cwd-db_config.patch | 21 + package/berkeleydb/berkeleydb.hash | 1 + package/bind/bind.hash | 7 +- package/bind/bind.mk | 8 +- .../2.27/0100-elf32-arm-no-data-fix.patch | 22 - ....c-fixup-xg_reverse_shift_count-typo.patch | 33 - ...-memory-corruption-by-broken-sysregs.patch | 42 - ...dynamic-tag-VMA-and-size-from-dynami.patch | 36 - .../2.27/0906-microblaze-pr21180.patch | 33 - ...able-CRC-instructions-on-supported-A.patch | 88 - .../0001-sh-conf.patch} | 30 +- .../0002-ld-makefile.patch} | 10 +- .../0003-check-ldrunpath-length.patch} | 22 +- .../0004-add-sysroot-fix-from-bug-3049.patch} | 23 +- .../0005-poison-system-directories.patch} | 60 +- ...R-BUG-.rofixup-section-size-mismatch.patch | 31 + package/binutils/Config.in.host | 22 +- package/binutils/binutils.hash | 2 +- package/binutils/binutils.mk | 23 +- ...adjust-to-glibc-2.28-libio.h-removal.patch | 50 + ...e-more-paranoid-about-libio.h-change.patch | 46 + ...all-only-be-build-if-readline-is-pre.patch | 32 + package/bluez5_utils/bluez5_utils.hash | 2 +- package/bluez5_utils/bluez5_utils.mk | 6 +- package/boinc/boinc.hash | 4 +- package/boinc/boinc.mk | 4 +- package/boost/0005-fix-build-with-g-5.patch | 32 + package/boost/Config.in | 8 - package/boost/boost.hash | 4 +- package/boost/boost.mk | 3 +- package/bootstrap/bootstrap.hash | 3 +- package/bootstrap/bootstrap.mk | 8 +- ...s-from-generating-spurious-log-messa.patch | 28 + ...-to-make-sure-the-platform-supports-.patch | 31 + ...0003-Remove-MKOBJ-in-favour-of-MKMOD.patch | 64 + .../0004-buildsys-fix-cross-compilation.patch | 41 + package/brltty/Config.in | 22 + package/brltty/S10brltty | 40 + package/brltty/brltty.hash | 3 + package/brltty/brltty.mk | 110 + package/brltty/brltty.service | 23 + ...g-BUILD_SHARED_LIBS-to-choose-static.patch | 144 + ...-CMake-to-not-check-for-a-C-compiler.patch | 31 + package/brotli/Config.in | 12 + package/brotli/brotli.hash | 5 + package/brotli/brotli.mk | 17 + ...2-fix-runCnt-overflow-from-bug-10431.patch | 101 + .../0007-unlzma-fix-SEGV-closes-10436.patch | 34 + package/busybox/S01logging | 2 +- package/busybox/S10mdev | 3 +- package/busybox/busybox.mk | 8 +- package/busybox/inittab | 8 +- package/bzip2/Config.in | 2 - package/bzip2/bzip2.mk | 2 +- package/c-ares/c-ares.hash | 2 +- package/c-ares/c-ares.mk | 2 +- package/ca-certificates/ca-certificates.hash | 4 +- package/ca-certificates/ca-certificates.mk | 16 +- package/cargo-bin/cargo-bin.hash | 8 + package/cargo-bin/cargo-bin.mk | 13 + package/cargo/Config.in.host | 8 + package/cargo/cargo.hash | 8 + package/cargo/cargo.mk | 91 + package/cargo/config.in | 2 + package/ccache/ccache.hash | 1 + package/ccache/ccache.mk | 2 +- package/checkpolicy/checkpolicy.mk | 8 +- ...o-reading-dev-urandom-when-getrandom.patch | 42 + package/cifs-utils/cifs-utils.mk | 6 +- package/circus/circus.hash | 5 +- package/circus/circus.mk | 4 +- package/cjson/cjson.hash | 3 +- package/cjson/cjson.mk | 11 +- ...c-fix-build-error-due-to-missing-soc.patch | 34 + package/clamav/0001-clamdscan.patch | 21 - ...acktrace-if-using-uClibc-without-ba.patch} | 22 +- ...n-libs-curl.m4-fix-curl-config-detec.patch | 75 + package/clamav/clamav.hash | 14 +- package/clamav/clamav.mk | 4 +- package/collectd/collectd.hash | 4 + package/collectd/collectd.mk | 4 +- ...01-tethering-Reorder-header-includes.patch | 37 + package/connman/Config.in | 2 +- package/coreutils/coreutils.mk | 4 +- package/cppcms/cppcms.hash | 2 + package/cppcms/cppcms.mk | 4 +- ...smacros.h-to-compile-with-glibc-2.28.patch | 33 + package/crda/Config.in | 2 +- .../0001-Remove-json_object-typedef.patch | 46 + package/cryptsetup/0001-mkdir.patch | 18 - package/cryptsetup/Config.in | 3 + package/cryptsetup/cryptsetup.hash | 6 +- package/cryptsetup/cryptsetup.mk | 10 +- ...lative-linking-with-absolute-linking.patch | 46 + package/cups-filters/Config.in | 38 + package/cups-filters/cups-filters.hash | 3 + package/cups-filters/cups-filters.mk | 73 + package/curlpp/Config.in | 12 + package/curlpp/curlpp.hash | 5 + package/curlpp/curlpp.mk | 15 + package/dahdi-tools/Config.in | 6 +- ...Fix-build-against-the-musl-C-library.patch | 54 + package/daq/Config.in | 11 + package/daq/daq.hash | 5 + package/daq/daq.mk | 40 + ...02-histedit-fix-build-with-musl-libc.patch | 35 + package/dash/Config.in | 9 +- package/dash/dash.mk | 18 + package/dbus/dbus.hash | 4 +- package/dbus/dbus.mk | 2 +- package/dfu-util/Config.in | 2 +- ...le.patch => 0001-bind-cross-compile.patch} | 0 ...gs-a-socket-descriptor-leak-in-OMAPI.patch | 51 + ...uffer-overrun-in-pretty_print_option.patch | 59 + ...rected-refcnt-loss-in-option-parsing.patch | 40 + package/dhcp/dhcp.hash | 6 +- package/dhcp/dhcp.mk | 6 +- package/dmidecode/Config.in | 2 +- ...ildcard-NSEC-records.-CVE-2017-15107.patch | 212 + ...ation-errors-introduced-in-4fe6744a2.patch | 29 + package/dnsmasq/Config.in | 2 +- package/docker-engine/Config.in | 1 + package/docker-proxy/Config.in | 19 + package/docker-proxy/docker-proxy.hash | 2 + package/docker-proxy/docker-proxy.mk | 46 + ...0001-Fix-compilation-with-boost-1.66.patch | 56 + package/domoticz/Config.in | 12 +- package/domoticz/domoticz.hash | 1 + package/dos2unix/dos2unix.hash | 4 +- package/dos2unix/dos2unix.mk | 6 +- .../dovecot-pigeonhole.hash | 3 +- .../dovecot-pigeonhole/dovecot-pigeonhole.mk | 2 +- .../0001-byteorder.h-fix-uclibc-build.patch | 32 + package/dovecot/dovecot.hash | 5 +- package/dovecot/dovecot.mk | 2 +- package/drbd-utils/drbd-utils.hash | 2 +- package/drbd-utils/drbd-utils.mk | 4 +- ...ngle-server-ecdsa-key-when-R-is-used.patch | 113 + .../0002-Wait-to-fail-invalid-usernames.patch | 236 + package/dropbear/Config.in | 3 +- package/dropbear/dropbear.hash | 2 +- package/dropbear/dropbear.mk | 48 +- package/e2fsprogs/e2fsprogs.hash | 4 +- package/e2fsprogs/e2fsprogs.mk | 2 +- package/ebtables/Config.in | 3 - package/edid-decode/Config.in | 2 +- package/edid-decode/edid-decode.mk | 2 +- package/eeprog/Config.in | 6 - package/eeprog/eeprog.hash | 2 - package/eeprog/eeprog.mk | 20 - package/efl/Config.in | 5 + package/efl/efl.hash | 12 +- package/efl/efl.mk | 5 +- package/eigen/eigen.mk | 3 +- .../0001-remove-make-targets-for-deps.patch | 5 +- ...emove-dependencies-from-rebar-config.patch | 82 +- package/ejabberd/0004-correct-include.patch | 58 - package/ejabberd/0004-correct-includes.patch | 1919 +++++ package/ejabberd/0007-fix-ejabberdctl.patch | 34 +- .../0008-handle-error-case-from-lib_dir.patch | 32 + .../0008-rebar-uses-host-dependencies.patch | 33 - .../ejabberd/0009-disable-mod_avatar.patch | 32 + package/ejabberd/ejabberd.hash | 2 +- package/ejabberd/ejabberd.mk | 26 +- package/elf2flt/elf2flt.mk | 16 + package/enlightenment/enlightenment.hash | 4 +- package/enlightenment/enlightenment.mk | 40 +- package/erlang-lager/erlang-lager.hash | 2 +- package/erlang-lager/erlang-lager.mk | 4 +- .../erlang-p1-cache-tab.hash | 2 +- .../erlang-p1-cache-tab.mk | 2 +- package/erlang-p1-iconv/erlang-p1-iconv.hash | 2 +- package/erlang-p1-iconv/erlang-p1-iconv.mk | 2 +- .../erlang-p1-oauth2/erlang-p1-oauth2.hash | 2 +- package/erlang-p1-oauth2/erlang-p1-oauth2.mk | 2 +- ...emove-dependencies-from-rebar-config.patch | 10 +- package/erlang-p1-sip/erlang-p1-sip.hash | 2 +- package/erlang-p1-sip/erlang-p1-sip.mk | 2 +- .../erlang-p1-stringprep.hash | 2 +- .../erlang-p1-stringprep.mk | 2 +- ...emove-dependencies-from-rebar-config.patch | 6 +- package/erlang-p1-stun/erlang-p1-stun.hash | 2 +- package/erlang-p1-stun/erlang-p1-stun.mk | 2 +- package/erlang-p1-tls/erlang-p1-tls.hash | 2 +- package/erlang-p1-tls/erlang-p1-tls.mk | 2 +- package/erlang-p1-utils/erlang-p1-utils.hash | 2 +- package/erlang-p1-utils/erlang-p1-utils.mk | 2 +- ...emove-dependencies-from-rebar-config.patch | 6 +- package/erlang-p1-xml/erlang-p1-xml.hash | 2 +- package/erlang-p1-xml/erlang-p1-xml.mk | 2 +- ...emove-dependencies-from-rebar-config.patch | 19 +- package/erlang-p1-xmpp/Config.in | 1 + package/erlang-p1-xmpp/erlang-p1-xmpp.hash | 2 +- package/erlang-p1-xmpp/erlang-p1-xmpp.mk | 4 +- ...emove-dependencies-from-rebar-config.patch | 4 +- package/erlang-p1-yaml/erlang-p1-yaml.hash | 2 +- package/erlang-p1-yaml/erlang-p1-yaml.mk | 2 +- package/erlang-p1-zlib/erlang-p1-zlib.hash | 2 +- package/erlang-p1-zlib/erlang-p1-zlib.mk | 2 +- package/erlang/0001-build-fix.patch | 13 - ...ruct-libatomic_ops-we-do-require-CA.patch} | 0 ...lator-reorder-inclued-headers-paths.patch} | 0 ...-with-LDLIBS-instead-of-LIBS-for-DED.patch | 42 + package/erlang/Config.in | 18 +- package/erlang/erlang.hash | 5 +- package/erlang/erlang.mk | 11 +- package/espeak/Config.in | 1 + package/eudev/S10udev | 6 +- package/eudev/eudev.hash | 5 +- package/eudev/eudev.mk | 2 +- package/execline/execline.hash | 3 +- package/execline/execline.mk | 2 +- .../0001-Build-buildconfig-for-the-host.patch | 2 +- ...ix-base64d-buffer-size-CVE-2018-6789.patch | 37 + package/exim/exim.hash | 4 +- package/exim/exim.mk | 2 +- package/expat/expat.hash | 10 +- package/expat/expat.mk | 2 +- package/expect/expect.hash | 4 + package/expect/expect.mk | 7 +- package/f2fs-tools/Config.in | 2 +- .../0001-getopt-fix-strncmp-declaration.patch | 40 - package/faad2/faad2.hash | 6 +- package/faad2/faad2.mk | 5 +- .../0002-src-Makefile-disable-Werror.patch | 32 + ...emove-aes128-ctr-NaCl-implementation.patch | 137 + package/fbgrab/0100-fix-pixfmt-report.patch | 24 + package/feh/feh.hash | 2 +- package/feh/feh.mk | 9 +- package/ffmpeg/0002-ffmpeg-pthreads.patch | 34 + package/ffmpeg/ffmpeg.hash | 5 +- package/ffmpeg/ffmpeg.mk | 41 +- package/fftw/fftw.hash | 7 +- package/fftw/fftw.mk | 2 +- ...ding-past-the-end-of-buffer-Rui-Reis.patch | 30 + package/file/file.hash | 5 +- package/file/file.mk | 10 +- package/fio/fio.hash | 2 + package/fio/fio.mk | 4 +- package/fis/fis.mk | 2 +- .../0001-src-cpp-fix-cmake-3.11-build.patch | 80 + package/flann/flann.mk | 3 +- package/flatbuffers/Config.in | 14 + package/flatbuffers/flatbuffers.hash | 3 + package/flatbuffers/flatbuffers.mk | 23 + package/freescale-imx/Config.in | 22 +- .../firmware-imx/firmware-imx.hash | 5 +- .../firmware-imx/firmware-imx.mk | 3 +- package/freescale-imx/imx-codec/Config.in | 4 +- .../freescale-imx/imx-codec/imx-codec.hash | 2 +- package/freescale-imx/imx-codec/imx-codec.mk | 6 +- package/freescale-imx/imx-gpu-g2d/Config.in | 25 + .../imx-gpu-g2d/imx-gpu-g2d.hash | 1 + .../freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk | 37 + package/freescale-imx/imx-gpu-viv/Config.in | 16 - .../imx-gpu-viv/imx-gpu-viv.hash | 2 +- .../freescale-imx/imx-gpu-viv/imx-gpu-viv.mk | 50 +- package/freescale-imx/imx-kobs/imx-kobs.hash | 2 +- package/freescale-imx/imx-kobs/imx-kobs.mk | 4 +- package/freescale-imx/imx-lib/Config.in | 6 +- package/freescale-imx/imx-lib/imx-lib.hash | 2 +- package/freescale-imx/imx-lib/imx-lib.mk | 7 +- .../freescale-imx/imx-m4fwloader/Config.in | 8 + .../imx-m4fwloader/imx-m4fwloader.hash | 3 + .../imx-m4fwloader/imx-m4fwloader.mk | 22 + package/freescale-imx/imx-parser/Config.in | 2 +- .../freescale-imx/imx-parser/imx-parser.hash | 2 +- .../freescale-imx/imx-parser/imx-parser.mk | 6 +- package/freescale-imx/imx-uuc/imx-uuc.hash | 2 +- package/freescale-imx/imx-uuc/imx-uuc.mk | 4 +- package/freescale-imx/imx-vpu/imx-vpu.hash | 2 +- package/freescale-imx/imx-vpu/imx-vpu.mk | 2 +- package/freescale-imx/imx-vpuwrap/Config.in | 3 +- .../kernel-module-imx-gpu-viv/Config.in | 6 +- .../kernel-module-imx-gpu-viv.hash | 2 +- .../kernel-module-imx-gpu-viv.mk | 2 +- package/freescale-imx/libz160/Config.in | 5 +- package/freeswitch/freeswitch.hash | 23 +- package/freeswitch/freeswitch.mk | 2 +- package/freetype/freetype.hash | 14 +- package/freetype/freetype.mk | 20 +- package/fswebcam/fswebcam.hash | 2 +- package/fswebcam/fswebcam.mk | 1 + package/gawk/gawk.mk | 2 +- .../6.4.0/0002-fix-building-on-ppc64.patch | 38 + .../871-xtensa-fix-PR-target-65416.patch | 101 + ...ix-NAND-code-in-xtensa_expand_atomic.patch | 39 + .../0870-xtensa-fix-PR-target-82181.patch | 31 - .../7.3.0/0002-fix-building-on-ppc64.patch | 40 + .../0002-xtensa-fix-PR-target-65416.patch | 101 + ...ix-NAND-code-in-xtensa_expand_atomic.patch | 39 + .../{7.2.0 => 7.3.0}/0100-uclibc-conf.patch | 0 .../0810-arm-softfloat-libgcc.patch | 0 .../0860-cilk-fix-build-without-wchar.patch | 0 .../0891-fix-m68k-uclinux.patch | 0 .../0892-microblaze-Revert.patch | 0 .../0900-remove-selftests.patch | 0 ...PR-target-81497-Fix-arm_acle.h-for-C.patch | 324 + package/gcc/Config.in.host | 34 +- package/gcc/gcc-final/gcc-final.mk | 5 + package/gcc/gcc.hash | 6 +- package/gcc/gcc.mk | 4 +- .../100-uclibc-conf.patch | 0 .../301-missing-execinfo_h.patch | 0 .../850-libstdcxx-uclibc-c99.patch | 0 .../860-cilk-wchar.patch | 0 ...libgcc-disable-split-stack-nothreads.patch | 0 package/gconf/Config.in | 21 + package/gconf/gconf.hash | 4 + package/gconf/gconf.mk | 16 + .../0007-gdbserver-fix-build-for-m68k.patch | 62 + .../0005-gdbserver-fix-build-for-m68k.patch | 62 + package/gdb/gdb.mk | 8 +- package/gdk-pixbuf/gdk-pixbuf.mk | 2 +- package/genimage/Config.in.host | 2 +- package/genimage/genimage.mk | 2 +- package/gettext/Config.in | 2 +- .../0001-Fix-cross-compilation-issue.patch | 4 + package/ghostscript/ghostscript.hash | 9 +- package/ghostscript/ghostscript.mk | 9 +- package/git/git.hash | 2 +- package/git/git.mk | 9 +- package/glibc/glibc.hash | 2 +- package/glibc/glibc.mk | 3 +- package/glorytun/Config.in | 7 + package/glorytun/glorytun.hash | 2 + package/glorytun/glorytun.mk | 13 + package/gnupg/Config.in | 1 - package/gnupg/Config.in.host | 12 + package/gnupg/gnupg.hash | 4 +- package/gnupg/gnupg.mk | 17 +- package/gnupg2/Config.in | 6 +- package/gnupg2/gnupg2.hash | 9 +- package/gnupg2/gnupg2.mk | 14 +- package/gnutls/gnutls.hash | 6 +- package/gnutls/gnutls.mk | 2 +- ...onstruct-do-not-force-O2-by-default.patch} | 0 ...-with-systemctl-when-cross-compiling.patch | 41 - ...nc-build-when-ublox-not-selected-too.patch | 36 + package/gpsd/Config.in | 7 + package/gpsd/gpsd.hash | 3 +- package/gpsd/gpsd.mk | 5 +- package/gptfdisk/gptfdisk.hash | 8 +- package/gptfdisk/gptfdisk.mk | 2 +- package/gstreamer/gst-ffmpeg/Config.in | 10 +- package/gstreamer/gst-fsl-plugins/Config.in | 15 +- package/gstreamer/gst-plugin-x170/Config.in | 4 +- package/gstreamer/gst-plugins-good/Config.in | 11 +- package/gstreamer/gstreamer/Config.in | 10 +- package/gstreamer1/Config.in | 1 + package/gstreamer1/gst-omx/gst-omx.hash | 4 +- package/gstreamer1/gst-omx/gst-omx.mk | 2 +- package/gstreamer1/gst1-imx/Config.in | 21 +- package/gstreamer1/gst1-imx/gst1-imx.hash | 2 +- package/gstreamer1/gst1-imx/gst1-imx.mk | 17 +- package/gstreamer1/gst1-libav/gst1-libav.hash | 4 +- package/gstreamer1/gst1-libav/gst1-libav.mk | 2 +- ...t-building-with-openjpeg-2.3-simpler.patch | 89 - package/gstreamer1/gst1-plugins-bad/Config.in | 7 +- .../gst1-plugins-bad/gst1-plugins-bad.hash | 4 +- .../gst1-plugins-bad/gst1-plugins-bad.mk | 31 +- .../gst1-plugins-base/gst1-plugins-base.hash | 4 +- .../gst1-plugins-base/gst1-plugins-base.mk | 2 +- .../gstreamer1/gst1-plugins-good/Config.in | 14 +- .../gst1-plugins-good/gst1-plugins-good.hash | 4 +- .../gst1-plugins-good/gst1-plugins-good.mk | 2 +- .../gst1-plugins-ugly/gst1-plugins-ugly.hash | 4 +- .../gst1-plugins-ugly/gst1-plugins-ugly.mk | 2 +- .../gst1-rtsp-server/gst1-rtsp-server.hash | 4 +- .../gst1-rtsp-server/gst1-rtsp-server.mk | 2 +- package/gstreamer1/gst1-vaapi/gst1-vaapi.hash | 4 +- package/gstreamer1/gst1-vaapi/gst1-vaapi.mk | 2 +- .../gst1-validate/gst1-validate.hash | 4 +- .../gstreamer1/gst1-validate/gst1-validate.mk | 2 +- package/gstreamer1/gstreamer1-mm/Config.in | 29 + .../gstreamer1-mm/gstreamer1-mm.hash | 6 + .../gstreamer1/gstreamer1-mm/gstreamer1-mm.mk | 24 + package/gstreamer1/gstreamer1/Config.in | 31 +- package/gstreamer1/gstreamer1/gstreamer1.hash | 4 +- package/gstreamer1/gstreamer1/gstreamer1.mk | 4 +- package/gtest/gtest.hash | 1 + package/gtksourceview/gtksourceview.hash | 7 +- package/gtksourceview/gtksourceview.mk | 4 +- ...ix-static-library-linking-with-gupnp.patch | 354 + package/gupnp-dlna/gupnp-dlna.hash | 3 + package/gupnp-tools/gupnp-tools.hash | 7 +- package/gupnp-tools/gupnp-tools.mk | 2 +- package/gupnp/gupnp.hash | 4 +- package/gupnp/gupnp.mk | 2 +- package/gvfs/gvfs.mk | 4 +- package/harfbuzz/harfbuzz.hash | 7 +- package/harfbuzz/harfbuzz.mk | 2 +- package/heimdal/heimdal.hash | 2 +- package/heimdal/heimdal.mk | 5 +- package/hidapi/Config.in | 2 + package/hiredis/hiredis.hash | 1 + package/hostapd/Config.in | 28 + package/hostapd/hostapd.hash | 1 + package/hostapd/hostapd.mk | 21 +- package/httping/httping.hash | 1 + package/hwdata/Config.in | 38 +- package/hwdata/hwdata.hash | 7 +- package/hwdata/hwdata.mk | 21 +- ...b-Module.mk-Add-missing-dependencies.patch | 34 + ...-Add-flag-to-disable-dynamic-library.patch | 64 + ....mk-Drop-unused-variable-LIB_OBJECTS.patch | 33 + ...s-Module.mk-Add-missing-dependencies.patch | 67 + ...b-Module.mk-Fix-LIB_LINKS-dependency.patch | 34 + ...o-really-disable-the-dynamic-library.patch | 33 + ...rog-Module.mk-Add-missing-dependency.patch | 30 + ...n-t-install-dynamic-library-when-dis.patch | 41 + package/i2c-tools/i2c-tools.hash | 2 +- package/i2c-tools/i2c-tools.mk | 19 +- .../0006-i18n-Drop-include-xlocale.h.patch | 39 - package/icu/icu.hash | 7 +- package/icu/icu.mk | 2 +- package/ifupdown-scripts/Config.in | 2 +- package/igd2-for-linux/igd2-for-linux.hash | 1 + package/igmpproxy/igmpproxy.hash | 3 + package/igmpproxy/igmpproxy.mk | 4 +- package/imagemagick/imagemagick.hash | 3 +- package/imagemagick/imagemagick.mk | 2 +- package/imlib2/imlib2.hash | 4 + package/imlib2/imlib2.mk | 4 +- package/imx-usb-loader/imx-usb-loader.hash | 2 +- package/imx-usb-loader/imx-usb-loader.mk | 2 +- package/initscripts/init.d/S20urandom | 6 +- package/intel-microcode/intel-microcode.hash | 3 +- package/intel-microcode/intel-microcode.mk | 4 +- ...workaround-to-the-libc-compat.h-copy.patch | 16 +- .../0002-Fix-build-with-uClibc-ng.patch | 38 - ...-lib-fix-multiple-strlcpy-definition.patch | 103 - package/iproute2/iproute2.hash | 2 +- package/iproute2/iproute2.mk | 9 +- package/ipsec-tools/0005-CVE-2016-10396.patch | 208 + package/ipsec-tools/ipsec-tools.mk | 2 +- package/iputils/iputils.mk | 5 + package/irssi/irssi.hash | 2 +- package/irssi/irssi.mk | 2 +- package/jamvm/Config.in | 16 +- package/janus-gateway/janus-gateway.hash | 2 +- package/janus-gateway/janus-gateway.mk | 2 +- package/jasper/jasper.hash | 1 + package/jasper/jasper.mk | 2 +- package/jimtcl/jimtcl.mk | 6 +- package/jpeg-turbo/jpeg-turbo.hash | 2 + package/jpeg-turbo/jpeg-turbo.mk | 4 +- package/jq/jq.mk | 6 +- .../0001-configure.ac-remove-Werror.patch | 32 + ...0001-don-t-threat-warnings-as-errors.patch | 21 - .../0002-Link-against-libm-when-needed.patch | 53 - package/json-c/json-c.hash | 4 +- package/json-c/json-c.mk | 12 +- package/json-for-modern-cpp/Config.in | 29 + .../json-for-modern-cpp.hash | 3 + .../json-for-modern-cpp.mk | 17 + ...uild-with-Linux-kernel-headers-v4.15.patch | 59 + package/kexec-lite/kexec-lite.hash | 2 +- package/kexec-lite/kexec-lite.mk | 2 +- package/kexec/kexec.hash | 2 +- package/kexec/kexec.mk | 2 +- package/kmod/kmod.mk | 2 +- package/kmsxx/kmsxx.mk | 5 +- package/kodi-inputstream-adaptive/Config.in | 3 + .../kodi-inputstream-adaptive.hash | 2 +- .../kodi-inputstream-adaptive.mk | 2 +- .../kodi-jsonschemabuilder.mk | 2 +- .../kodi-peripheral-joystick.hash | 2 +- .../kodi-peripheral-joystick.mk | 2 +- .../kodi-pvr-dvbviewer.hash | 2 +- .../kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk | 2 +- ...e555-remove-xlocale.h-from-Locale.hh.patch | 33 + package/kodi-pvr-stalker/Config.in | 1 + package/kodi-pvr-stalker/kodi-pvr-stalker.mk | 2 +- package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash | 2 +- package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk | 2 +- .../kodi-skin-confluence.hash | 2 +- .../kodi-skin-confluence.mk | 2 +- .../0002-fix_reallocarray.patch | 170 + .../kodi-texturepacker/kodi-texturepacker.mk | 2 +- ...cmake-iconv-is-a-required-dependency.patch | 92 + package/kodi/Config.in | 6 +- package/kodi/kodi.hash | 2 +- package/kodi/kodi.mk | 15 +- package/ktap/ktap.hash | 3 +- package/ktap/ktap.mk | 2 +- ...emove-Werror-to-avoid-build-failures.patch | 21 +- ...-be-explicit-about-mul-instruction-d.patch | 35 - ...vm-unit-tests-test-for-rdseed-rdrand.patch | 110 + package/kvm-unit-tests/kvm-unit-tests.hash | 2 +- package/kvm-unit-tests/kvm-unit-tests.mk | 2 +- .../0001-avoid-redefining-PAGE_SIZE.patch | 42 - ...-cpu.c-don-t-include-asm-msr-index.h.patch | 58 - ...003-use-poll.h-instead-of-sys-poll.h.patch | 33 - ...e-C-library-provided-strlcpy-and-str.patch | 90 - .../kvmtool/0005-Fix-call-to-connect.patch | 34 - package/kvmtool/kvmtool.hash | 2 +- package/kvmtool/kvmtool.mk | 19 +- ...cms2.pc.in-thread-library-dependency.patch | 26 - ...0001-Upgrade-Visual-studio-2017-15.8.patch | 174 + ...2-Added-an-extra-check-to-MLU-bounds.patch | 27 - package/lcms2/lcms2.hash | 7 +- package/lcms2/lcms2.mk | 2 +- package/leveldb/0003-fix-parallel-build.patch | 36 + ...sible-for-empty-strings-to-make-fuzz.patch | 42 - package/libarchive/libarchive.hash | 4 +- package/libarchive/libarchive.mk | 2 +- package/libassuan/libassuan.hash | 7 +- package/libassuan/libassuan.mk | 2 +- package/libatomic_ops/libatomic_ops.hash | 4 +- package/libatomic_ops/libatomic_ops.mk | 2 +- package/libbluray/libbluray.hash | 5 +- package/libbluray/libbluray.mk | 2 +- package/libbsd/libbsd.hash | 5 +- package/libbsd/libbsd.mk | 4 +- package/libcap/libcap.hash | 3 + package/libcap/libcap.mk | 3 + package/libcec/libcec.mk | 7 + package/libcgi/libcgi.hash | 3 + package/libcgi/libcgi.mk | 1 + package/libcoap/libcoap.hash | 3 + package/libcoap/libcoap.mk | 1 + package/libcodec2/libcodec2.hash | 3 +- package/libcodec2/libcodec2.mk | 2 +- .../0001-fix-xlocale-header-check.patch | 55 + ...-include-sys-time-for-struct-timeval.patch | 28 + package/libcpprestsdk/0003-fix-strand.patch | 28 + ...sdk-fix-building-as-a-static-library.patch | 38 + package/libcpprestsdk/Config.in | 31 + package/libcpprestsdk/libcpprestsdk.hash | 3 + package/libcpprestsdk/libcpprestsdk.mk | 15 + package/libcue/libcue.mk | 2 + package/libcurl/libcurl.hash | 7 +- package/libcurl/libcurl.mk | 24 +- ...le.am-use-pkg-config-to-discover-lib.patch | 162 + package/libdrm/libdrm.hash | 10 +- package/libdrm/libdrm.mk | 10 +- package/libesmtp/Config.in | 2 +- package/libesmtp/libesmtp.mk | 2 +- package/libevdev/libevdev.hash | 10 +- package/libevdev/libevdev.mk | 2 +- package/libfcgi/libfcgi.mk | 2 +- package/libfuse/libfuse.hash | 6 +- package/libfuse/libfuse.mk | 2 +- package/libgcrypt/libgcrypt.hash | 9 +- package/libgcrypt/libgcrypt.mk | 2 +- ...x-compile-error-when-cross-compiling.patch | 35 - package/libgdiplus/libgdiplus.hash | 2 +- package/libgdiplus/libgdiplus.mk | 11 +- ...dcode-python-path-into-various-tools.patch | 48 + package/libglib2/libglib2.mk | 4 +- package/libgpg-error/libgpg-error.hash | 6 +- package/libgpg-error/libgpg-error.mk | 5 +- ...1-core-Tweak-STATUS_FAILURE-handling.patch | 51 + package/libgpgme/libgpgme.hash | 7 +- package/libgpgme/libgpgme.mk | 9 +- package/libgpiod/libgpiod.hash | 2 + package/libgta/Config.in | 10 + package/libgta/libgta.hash | 3 + package/libgta/libgta.mk | 29 + ...tion-when-calling-ln-at-install-time.patch | 30 +- package/libhttpparser/libhttpparser.hash | 2 +- package/libhttpparser/libhttpparser.mk | 11 +- package/libiio/libiio.mk | 4 +- package/libjpeg/libjpeg.mk | 11 +- package/libjpeg/libjpeg.pc.in | 10 + package/liblogging/Config.in | 2 +- .../0001-Add-disable-binaries.patch | 53 + package/libmaxminddb/libmaxminddb.hash | 3 +- package/libmaxminddb/libmaxminddb.mk | 9 +- package/libmediaart/libmediaart.hash | 3 + package/libmicrohttpd/Config.in | 2 - package/libmicrohttpd/libmicrohttpd.hash | 3 +- package/libmicrohttpd/libmicrohttpd.mk | 10 +- package/libminiupnpc/libminiupnpc.hash | 1 + package/libnfs/libnfs.hash | 3 + package/libnfs/libnfs.mk | 4 +- ...libnftnl_xfree-to-avoid-symbol-namin.patch | 243 +- package/libnftnl/libnftnl.hash | 8 +- package/libnftnl/libnftnl.mk | 9 +- ...ild-enable-building-cli-during-tests.patch | 115 - package/libnl/libnl.hash | 6 +- package/libnl/libnl.mk | 4 +- ...d-stringop-truncation-warning-r-fran.patch | 33 + package/libogg/libogg.hash | 2 +- package/libogg/libogg.mk | 2 +- ...ible-build-do-not-leak-compiler-path.patch | 26 + package/libopenssl/libopenssl.hash | 7 +- package/libopenssl/libopenssl.mk | 2 +- package/libostree/Config.in | 25 + package/libostree/libostree.hash | 3 + package/libostree/libostree.mk | 69 + package/libpjsip/libpjsip.hash | 6 +- package/libpjsip/libpjsip.mk | 4 +- package/libpng/libpng.hash | 10 +- package/libpng/libpng.mk | 2 +- ...ys-time.h-outside-fallback-select-55.patch | 119 + package/libpqxx/Config.in | 10 +- package/libpqxx/libpqxx.hash | 7 +- package/libpqxx/libpqxx.mk | 4 +- package/libressl/libressl.hash | 2 +- package/libressl/libressl.mk | 2 +- package/librsvg/librsvg.hash | 4 +- package/librsvg/librsvg.mk | 2 +- package/libsamplerate/libsamplerate.mk | 4 + ...-follow-standard-semantics-for-DESTD.patch | 137 + .../libselinux/0003-revert-ln-relative.patch | 24 - ...-break-around-__atomic_-with-GCC-4.7.patch | 70 + .../libselinux/0004-revert-ln-relative.patch | 24 + package/libselinux/libselinux.mk | 8 +- ...-follow-standard-semantics-for-DESTD.patch | 118 + package/libsemanage/libsemanage.mk | 6 +- ...-follow-standard-semantics-for-DESTD.patch | 109 + ...y.patch => 0003-support-static-only.patch} | 33 +- ...ve.patch => 0004-revert-ln-relative.patch} | 25 +- package/libsepol/libsepol.mk | 5 +- package/libsodium/libsodium.hash | 4 +- package/libsodium/libsodium.mk | 4 +- ...-bail-if-hostname-is-an-empty-string.patch | 35 + package/libsoup/Config.in | 2 +- package/libsoxr/Config.in | 2 +- package/libss7/Config.in | 1 + package/libssh/libssh.hash | 10 +- package/libssh/libssh.mk | 8 +- ...002-acinclude.m4-add-mbedtls-to-LIBS.patch | 31 + package/libssh2/libssh2.mk | 6 + package/libtasn1/libtasn1.hash | 6 +- package/libtasn1/libtasn1.mk | 2 +- ...pcgen-program-from-nfs-utils-sources.patch | 6508 ----------------- ...erate-XDR-header-files-from-.x-sour.patch} | 35 +- ...s-needed-to-build-rpcbind-on-top-of.patch} | 0 ...isable-DES-authentification-support.patch} | 0 ...0006-include-stdint.h-for-uintptr_t.patch} | 0 package/libtirpc/libtirpc.mk | 8 + package/libtomcrypt/libtomcrypt.hash | 2 +- package/libtomcrypt/libtomcrypt.mk | 6 +- package/libupnp/libupnp.hash | 2 +- package/libupnp/libupnp.mk | 2 +- package/libupnp18/Config.in | 16 + package/libupnp18/libupnp18.hash | 5 + package/libupnp18/libupnp18.mk | 15 + package/libupnpp/libupnpp.hash | 3 + package/libupnpp/libupnpp.mk | 2 +- package/liburiparser/liburiparser.hash | 8 +- package/liburiparser/liburiparser.mk | 2 +- package/libuv/libuv.hash | 3 +- package/libuv/libuv.mk | 2 +- .../0002-ir-ctl-fixes-for-musl-compile.patch | 59 - ...VIOCSCLOCKID-related-compile-failure.patch | 35 + ...ional-copy-of-TEMP_FAILURE_RETRY-mac.patch | 39 + ...Build-sdlcam-only-if-jpeg-is-enabled.patch | 31 + ...nfigure.ac-clarify-configure-summary.patch | 73 - ...isit-v4l2-ctl-compliance-using-libv4.patch | 43 - ...isit-disable-libv4l-to-disable-dyn-l.patch | 114 - ...nfigure.ac-add-disable-libv4l-option.patch | 155 - ...ac-fix-build-of-v4l-utils-on-uclinux.patch | 30 - ...nfigure.ac-add-USE_LIBV4L-to-summary.patch | 28 - ...ert-helper-support-only-when-fork-is.patch | 102 - ...p-disable-libv4l-disable-plugin-supp.patch | 217 - package/libv4l/libv4l.hash | 7 +- package/libv4l/libv4l.mk | 21 +- .../libva-intel-driver.hash | 5 +- .../libva-intel-driver/libva-intel-driver.mk | 2 +- package/libva-utils/libva-utils.hash | 5 +- package/libva-utils/libva-utils.mk | 2 +- package/libva/libva.hash | 5 +- package/libva/libva.mk | 22 +- ...Limit-client-cut-text-length-to-1-MB.patch | 65 + ...ounds-check-on-very-low-sample-rates.patch | 28 + package/libvorbis/libvorbis.hash | 4 +- package/libvorbis/libvorbis.mk | 2 +- package/libxml2/0001-CVE-2017-8872.patch | 33 + package/libxml2/libxml2.hash | 2 +- package/libxml2/libxml2.mk | 2 +- ...erread-in-xsltFormatNumberConversion.patch | 35 - package/libxslt/libxslt.hash | 5 +- package/libxslt/libxslt.mk | 9 +- ...Use-cmake-E-tar-to-extract-test-data.patch | 40 + package/libzip/libzip.hash | 4 +- package/libzip/libzip.mk | 7 +- .../{zlib/zlib.hash => libzlib/libzlib.hash} | 0 package/libzlib/libzlib.mk | 78 + package/lightning/lightning.hash | 3 +- package/lightning/lightning.mk | 2 +- package/lighttpd/lighttpd.hash | 4 +- package/lighttpd/lighttpd.mk | 5 +- package/lighttpd/lighttpd_tmpfiles.conf | 2 + package/linknx/linknx.mk | 15 +- package/links/links.mk | 5 +- package/linphone/linphone.hash | 4 - package/linphone/linphone.mk | 5 - package/linux-firmware/Config.in | 35 + package/linux-firmware/linux-firmware.hash | 27 +- package/linux-firmware/linux-firmware.mk | 70 +- package/linux-headers/Config.in.host | 54 +- package/linux-tools/Config.in | 8 +- package/linux-tools/linux-tool-iio.mk.in | 2 + ...g.h-drop-clock_nanosleep-replacement.patch | 49 + package/linuxptp/Config.in | 4 + package/linuxptp/linuxptp.hash | 2 +- package/linuxptp/linuxptp.mk | 2 +- ...config-file-for-the-shared-libraries.patch | 66 + package/live555/live555.hash | 5 +- package/live555/live555.mk | 2 +- package/ljlinenoise/Config.in | 2 +- package/ljlinenoise/ljlinenoise.hash | 2 +- package/ljlinenoise/ljlinenoise.mk | 2 +- ...nfigure-remove-check-on-CXX-compiler.patch | 35 + package/lldpd/lldpd.mk | 2 +- package/lm-sensors/lm-sensors.mk | 2 +- package/lockfile-progs/lockfile-progs.mk | 4 +- package/log4cplus/log4cplus.mk | 2 +- package/lrzsz/lrzsz.mk | 4 + ...a-v2-detection-for-cross-compilation.patch | 37 + ...0002-uClibc-ng-has-no-profil-support.patch | 39 - ..._UCLIBC_SV4_DEPRECATED__-enabled-for.patch | 84 - package/ltp-testsuite/Config.in | 5 - package/ltp-testsuite/ltp-testsuite.hash | 4 +- package/ltp-testsuite/ltp-testsuite.mk | 12 +- package/ltrace/Config.in | 19 +- ...-disable-examples-option-to-not-buil.patch | 68 + ...define-NT_GNU_BUILD_ID-if-not-define.patch | 34 - ...efile.am-define-C-and-C-compilers-fo.patch | 49 - ...resence-of-dlmopen-at-configure-time.patch | 130 - ...ude-config.h-to-resolve-HAVE_DLMOPEN.patch | 30 - package/lttng-libust/lttng-libust.hash | 6 +- package/lttng-libust/lttng-libust.mk | 7 +- package/lttng-modules/lttng-modules.hash | 6 +- package/lttng-modules/lttng-modules.mk | 2 +- ...en-and-disable-corresponding-tests-i.patch | 249 - ...ipe.h-include-sys-types.h-for-ssize_.patch | 31 - ...bin-lttng-utils.c-cast-incompatible-.patch | 32 - package/lttng-tools/lttng-tools.hash | 11 +- package/lttng-tools/lttng-tools.mk | 7 +- package/lua-coat/lua-coat.hash | 2 +- package/lua-coat/lua-coat.mk | 2 +- .../lua-coatpersistent.hash | 4 +- .../lua-coatpersistent/lua-coatpersistent.mk | 2 +- package/lua-csnappy/lua-csnappy.hash | 2 +- package/lua-csnappy/lua-csnappy.mk | 2 +- package/lua-flu/0001-use-system-xattr-h.patch | 169 + package/lua-messagepack/lua-messagepack.hash | 4 +- package/lua-messagepack/lua-messagepack.mk | 2 +- package/lua-resty-http/lua-resty-http.hash | 2 +- package/lua-resty-http/lua-resty-http.mk | 2 +- package/lua-testmore/lua-testmore.hash | 2 +- package/lua-testmore/lua-testmore.mk | 2 +- package/lua-utf8/Config.in | 7 + package/lua-utf8/lua-utf8.hash | 2 + package/lua-utf8/lua-utf8.mk | 12 + package/luadbi-sqlite3/Config.in | 9 + package/luadbi-sqlite3/luadbi-sqlite3.hash | 2 + package/luadbi-sqlite3/luadbi-sqlite3.mk | 13 + package/luadbi/Config.in | 10 + package/luadbi/luadbi.hash | 2 + package/luadbi/luadbi.mk | 12 + package/luajit/Config.in | 6 +- package/luaossl/luaossl.hash | 2 +- package/luaossl/luaossl.mk | 2 +- package/luasec/luasec.hash | 2 +- package/luasec/luasec.mk | 2 +- package/luksmeta/Config.in | 8 +- ...gure-Introduce-enable-symvers-option.patch | 277 + package/lvm2/Config.in | 2 +- package/lvm2/lvm2.hash | 3 + package/lvm2/lvm2.mk | 3 +- package/lxc/lxc.hash | 1 + ...-t-build-host-tools-with-target-LDFL.patch | 41 + package/lynx/Config.in | 9 + package/lynx/lynx.hash | 3 + package/lynx/lynx.mk | 38 + package/lz4/lz4.mk | 6 +- ...adjust-to-glibc-2.28-libio.h-removal.patch | 166 + ...e-more-paranoid-about-libio.h-change.patch | 151 + package/macchanger/Config.in | 4 +- package/madplay/Config.in | 10 +- package/makedevs/makedevs.c | 2 +- package/mali-t76x/Config.in | 6 +- package/mariadb/mariadb.hash | 7 +- package/mariadb/mariadb.mk | 10 +- package/matchbox-fakekey/matchbox-fakekey.mk | 4 +- package/matchbox-lib/Config.in | 1 + package/matchbox-lib/matchbox-lib.mk | 7 +- package/matchbox/Config.in | 3 +- ...-PIC-inline-ASM-compilation-with-GCC.patch | 74 + package/mbedtls/Config.in | 8 +- package/mbedtls/mbedtls.hash | 6 +- package/mbedtls/mbedtls.mk | 2 +- package/mc/Config.in | 8 +- package/mc/mc.hash | 6 +- package/mc/mc.mk | 2 +- package/mcelog/Config.in | 4 +- package/mcrypt/Config.in | 8 +- ...ffmpeg-and-avcodec-function-conflict.patch | 42 + package/memcached/Config.in | 4 +- package/memcached/memcached.hash | 7 +- package/memcached/memcached.mk | 2 +- package/memtest86/Config.in | 7 +- package/memtester/Config.in | 3 +- package/mesa3d-demos/mesa3d-demos.mk | 1 - package/mesa3d-headers/mesa3d-headers.mk | 8 +- ...detection-with-musl-based-toolchains.patch | 26 +- ...vert-order-for-wayland-scanner-check.patch | 14 +- package/mesa3d/Config.in | 14 +- package/mesa3d/mesa3d.hash | 13 +- package/mesa3d/mesa3d.mk | 2 +- package/meson/cross-compilation.conf.in | 23 + package/meson/meson.hash | 4 + package/meson/meson.mk | 39 + package/mfgtools/Config.in.host | 2 +- package/mfgtools/mfgtools.hash | 4 +- package/mfgtools/mfgtools.mk | 6 +- package/micropython/Config.in | 5 +- package/midori/Config.in | 6 +- package/minicom/minicom.hash | 1 + package/minidlna/Config.in | 4 +- package/minissdpd/minissdpd.hash | 1 + package/mkpasswd/mkpasswd.c | 5 + package/moarvm/Config.in | 8 +- package/modplugtools/Config.in | 6 +- package/mongodb/Config.in | 9 +- ...-length-calculation-in-mg_handle_cgi.patch | 46 + package/monkey/Config.in | 3 +- package/mono/Config.in | 6 + ...bsockets.c-unbreak-build-without-TLS.patch | 49 + package/mosquitto/mosquitto.hash | 4 +- package/mosquitto/mosquitto.mk | 2 +- ...-given-CFLAGS-LIBS-for-mysqlclient-l.patch | 31 - .../motion/0002-Rename-base64_encode.patch | 116 - package/motion/motion.mk | 31 +- package/mpd/Config.in | 12 +- package/mpd/mpd.hash | 2 +- package/mpd/mpd.mk | 2 +- package/mpg123/Config.in | 4 +- package/mpg123/mpg123.hash | 8 +- package/mpg123/mpg123.mk | 2 +- package/mplayer/Config.in | 4 +- package/mpv/0003-rpi-fix-linking-errors.patch | 90 + package/mpv/0004-libva20.patch | 93 + package/mpv/mpv.hash | 2 +- package/mpv/mpv.mk | 14 +- package/mraa/Config.in | 6 +- package/msgpack/Config.in | 4 +- package/msmtp/msmtp.hash | 9 +- package/msmtp/msmtp.mk | 2 +- ...ct-error-number-in-ubi_get_vol_info1.patch | 92 + package/mtd/mtd.hash | 5 +- package/mtd/mtd.mk | 7 +- package/mtools/Config.in | 8 +- package/mtools/Config.in.host | 8 +- package/multicat/Config.in | 3 +- package/musepack/Config.in | 9 +- ...api-guards-for-Linux-kernel-header-f.patch | 69 + ...02-arm-atomics-asm-with-new-binutils.patch | 43 - ...allback-enforce-MAXADDRS-to-preclude.patch | 35 - package/musl/musl.hash | 5 +- package/musl/musl.mk | 2 +- package/mysql/Config.in | 17 +- ...ion-when-configured-with-enable-tiny.patch | 43 - package/nano/nano.hash | 3 +- package/nano/nano.mk | 4 +- package/nanocom/Config.in | 13 +- .../0001-nasmlib-Drop-unused-seg_init.patch | 32 + package/nasm/nasm.hash | 3 +- package/nasm/nasm.mk | 2 +- package/ncftp/Config.in | 5 +- package/ncurses/Config.in | 4 +- package/ncurses/ncurses.mk | 9 +- package/ndisc6/Config.in | 3 +- package/neard/Config.in | 5 +- package/netatalk/Config.in | 5 +- package/netcat-openbsd/Config.in | 23 +- package/netcat-openbsd/netcat-openbsd.hash | 3 + package/netcat-openbsd/netcat-openbsd.mk | 2 +- package/netcat/Config.in | 16 +- package/netplug/S29netplug | 14 +- ..._CONFIG-into-account-for-libnetfilte.patch | 43 - .../0002-proc.h-add-missing-headers.patch | 44 - ..._arp.h-musl-libc-kernel-headers-conf.patch | 62 - ...staging-compilation-fix-with-new-gcc.patch | 31 - package/netsniff-ng/netsniff-ng.hash | 2 +- package/netsniff-ng/netsniff-ng.mk | 2 +- ...ate-the-hard-coded-libnl-3-include-p.patch | 300 - ...figure-static-linking-Fix-SSL-checks.patch | 142 + .../0002-configure-Fix-lcrypto-lz-test.patch | 41 + ..._CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch | 39 + ..._CHECK_FUNCS-TLS_method-TLSv1_method.patch | 39 + package/netsnmp/Config.in | 6 +- package/netsnmp/netsnmp.hash | 9 +- package/netsnmp/netsnmp.mk | 4 +- package/nettle/Config.in | 7 +- package/nettle/nettle.hash | 6 +- package/nettle/nettle.mk | 2 +- package/network-manager/Config.in | 24 +- package/network-manager/network-manager.hash | 4 +- package/network-manager/network-manager.mk | 11 +- package/newt/Config.in | 3 +- package/nfs-utils/Config.in | 2 +- package/nfs-utils/nfs-utils.mk | 23 + .../0001-src-fix-build-with-older-glibc.patch | 38 + package/nftables/Config.in | 6 +- package/nftables/nftables.hash | 8 +- package/nftables/nftables.mk | 5 +- package/nginx-dav-ext/nginx-dav-ext.hash | 3 +- package/nginx-dav-ext/nginx-dav-ext.mk | 4 +- ...auto-lib-libxslt-conf-use-pkg-config.patch | 5 +- ...auto-lib-openssl-conf-use-pkg-config.patch | 5 +- package/nginx/Config.in | 4 +- package/nginx/nginx.hash | 2 +- package/nginx/nginx.mk | 2 +- ...001-nilfs-utils-use-_POSIX_MAX_INPUT.patch | 32 + ...0002-nilfs_cleanerd-link-dynamically.patch | 32 + ...mount.nilfs-drop-include-rpc-types.h.patch | 32 + ..._CHECK_MODULES-for-libmount-and-libb.patch | 141 + package/nilfs-utils/Config.in | 18 + package/nilfs-utils/nilfs-utils.hash | 3 + package/nilfs-utils/nilfs-utils.mk | 25 + package/nmap/Config.in | 1 + package/nmap/nmap.mk | 6 +- package/nodejs/Config.in | 30 +- package/nodejs/nodejs.hash | 7 +- package/nodejs/nodejs.mk | 3 +- package/ntp/0003-fix-nommu.patch | 29 + package/ntp/0003-ntpq-fpic.patch | 23 - .../0004-fix-work-fork-without-droproot.patch | 26 + package/ntp/Config.in | 27 +- package/ntp/ntp.hash | 7 +- package/ntp/ntp.mk | 13 +- package/numactl/Config.in | 2 +- package/nut/Config.in | 11 +- package/nut/nut.mk | 3 + .../nvidia-tegra23-binaries/Config.in | 4 +- package/ocrad/ocrad.hash | 1 + package/odhcp6c/Config.in | 4 +- package/omap-u-boot-utils/Config.in.host | 4 +- package/omniorb/Config.in | 12 +- .../0001-Makefiles-clean-up-the-cruft.patch | 67 - ...file-to-be-compatible-with-buildroot.patch | 39 + package/omxplayer/Config.in | 9 +- package/omxplayer/omxplayer.hash | 9 +- package/omxplayer/omxplayer.mk | 11 +- package/on2-8170-modules/Config.in | 3 +- ...tool-fixed-compile-error-for-getline.patch | 27 + ...tions-work-with-both-gnu11-and-gnu89.patch | 73 + .../0003-Makefile.am-disable-Werror.patch | 38 + .../0004-fixed-unknown-type-pid_t.patch | 41 + package/open-lldp/Config.in | 16 + package/open-lldp/open-lldp.hash | 3 + package/open-lldp/open-lldp.mk | 24 + package/open-plc-utils/open-plc-utils.mk | 8 +- package/openblas/Config.in | 6 +- package/opencore-amr/Config.in | 5 +- package/opencv/Config.in | 12 +- package/opencv3/Config.in | 76 +- package/opencv3/opencv3.mk | 1 + package/openldap/Config.in | 10 +- ...rt-use-__dead-macro-from-sys-cdefs.h.patch | 91 - ...002-fix-musl.patch => 0001-fix-musl.patch} | 0 package/openntpd/Config.in | 3 + package/openntpd/openntpd.hash | 5 +- package/openntpd/openntpd.mk | 10 +- ...event-some-forms-of-Cross-Protocol-S.patch | 50 + package/openocd/openocd.mk | 7 +- ...4-use-contrib-getopt-only-on-Windows.patch | 102 - ...g-to-fix-static-linking-with-libpcap.patch | 166 - package/openpowerlink/openpowerlink.hash | 8 +- package/openpowerlink/openpowerlink.mk | 2 +- .../0001-configure-ac-detect-mips-abi.patch | 44 - ... 0001-fix-pam-uclibc-pthreads-clash.patch} | 0 ...ly-set-seccomp-audit-arch-for-mips64.patch | 63 - ...e.patch => 0002-fix-howmany-include.patch} | 0 ...sd-getpagesize.c-include-includes.h-.patch | 35 - package/openssh/Config.in | 5 +- package/openssh/openssh.hash | 4 +- package/openssh/openssh.mk | 12 +- ...d-static-target-a-configurable-optio.patch | 74 + package/opentracing-cpp/Config.in | 15 + package/opentracing-cpp/opentracing-cpp.hash | 3 + package/opentracing-cpp/opentracing-cpp.mk | 25 + package/opentyrian-data/Config.in | 6 +- package/opentyrian/Config.in | 8 +- package/openvmtools/Config.in | 13 +- package/openvmtools/openvmtools.mk | 2 +- package/openzwave/Config.in | 8 +- package/openzwave/openzwave.hash | 4 + package/opkg/Config.in | 15 +- package/opus-tools/opus-tools.mk | 2 +- package/opusfile/Config.in | 4 +- package/orbit/Config.in | 4 +- package/owl-linux/Config.in | 6 +- package/p7zip/Config.in | 4 +- package/pango/Config.in | 11 +- package/pango/pango.hash | 5 +- package/pango/pango.mk | 2 +- ...lude-sys-sysmacros.h-for-major-macro.patch | 27 + ...x-segfault-with-mangled-rename-patch.patch | 33 + ...s-to-be-missing-for-ed-style-patches.patch | 37 + ...mmand-execution-in-ed-style-patches-.patch | 157 + package/patch/Config.in | 6 +- package/patch/patch.hash | 4 +- package/patch/patch.mk | 6 +- ...LF-endianness-before-writing-new-run.patch | 40 + package/pcmanfm/Config.in | 6 +- .../pcre2/0001-fix-heapframe-alignment.patch | 49 + package/pcre2/Config.in | 10 +- ...o-build-on-architecture-with-non-emp.patch | 63 - package/pdbg/Config.in | 3 +- package/pdbg/pdbg.hash | 2 +- package/pdbg/pdbg.mk | 2 +- package/perl-gd/perl-gd.hash | 4 +- package/perl-gd/perl-gd.mk | 2 +- package/perl-http-daemon/Config.in | 4 +- package/perl-http-date/Config.in | 4 +- .../perl-http-message/perl-http-message.hash | 4 +- .../perl-http-message/perl-http-message.mk | 2 +- package/perl-http-negotiate/Config.in | 6 +- package/perl-io-html/Config.in | 3 +- .../perl-io-socket-ssl.hash | 4 +- .../perl-io-socket-ssl/perl-io-socket-ssl.mk | 2 +- package/perl-json-tiny/perl-json-tiny.hash | 4 +- package/perl-json-tiny/perl-json-tiny.mk | 2 +- .../perl-libwww-perl/perl-libwww-perl.hash | 4 +- package/perl-libwww-perl/perl-libwww-perl.mk | 4 +- package/perl-lwp-mediatypes/Config.in | 4 +- package/perl-mailtools/Config.in | 2 +- package/perl-mailtools/perl-mailtools.hash | 4 +- package/perl-mailtools/perl-mailtools.mk | 2 +- package/perl-mime-base64/Config.in | 4 +- .../perl-mojolicious/perl-mojolicious.hash | 4 +- package/perl-mojolicious/perl-mojolicious.mk | 2 +- package/perl-net-dns/perl-net-dns.hash | 4 +- package/perl-net-dns/perl-net-dns.mk | 2 +- package/perl-net-http/perl-net-http.hash | 4 +- package/perl-net-http/perl-net-http.mk | 2 +- package/perl-net-ssleay/perl-net-ssleay.hash | 4 +- package/perl-net-ssleay/perl-net-ssleay.mk | 2 +- package/perl-time-hires/perl-time-hires.hash | 4 +- package/perl-time-hires/perl-time-hires.mk | 2 +- package/perl-try-tiny/perl-try-tiny.hash | 4 +- package/perl-try-tiny/perl-try-tiny.mk | 2 +- package/perl-uri/perl-uri.hash | 4 +- package/perl-uri/perl-uri.mk | 2 +- package/perl-www-robotrules/Config.in | 4 +- package/perl-xml-libxml/perl-xml-libxml.hash | 4 +- package/perl-xml-libxml/perl-xml-libxml.mk | 2 +- ...isting-files-before-overwriting-them.patch | 46 + package/perl/Config.in | 8 +- package/perl/perl.hash | 12 +- package/perl/perl.mk | 4 +- package/phidgetwebservice/Config.in | 15 +- package/php-amqp/Config.in | 1 + ...1-acinclude.m4-don-t-unset-variables.patch | 6 +- .../0002-iconv-tweak-iconv-detection.patch | 4 +- ...0003-configure-disable-the-phar-tool.patch | 16 +- ...fig.m4-allow-cache-answer-for-strcas.patch | 6 +- ...tch => 0006-avoid-bfin-gcc-segfault.patch} | 5 +- ... 0007-Call-apxs-with-correct-prefix.patch} | 2 + ...t_compat.h-add-missing-php.h-include.patch | 71 + ...onstraints-in-aarch64-multiply-macro.patch | 28 - package/php/Config.ext | 2 + package/php/Config.in | 4 + package/php/php.hash | 4 +- package/php/php.mk | 15 +- .../0001-Fix-builds-with-modern-GCC.patch | 38 - package/physfs/Config.in | 5 +- package/physfs/physfs.hash | 3 + package/physfs/physfs.mk | 10 +- package/picocom/Config.in | 5 +- package/picocom/picocom.hash | 3 +- package/picocom/picocom.mk | 5 +- package/pimd/Config.in | 8 + package/pimd/pimd.hash | 6 + package/pimd/pimd.mk | 37 + package/pinentry/Config.in | 1 + package/pinentry/pinentry.mk | 4 + package/pkg-cmake.mk | 11 +- package/pkg-download.mk | 54 +- package/pkg-generic.mk | 80 +- package/pkg-virtual.mk | 5 + package/pkgconf/Config.in | 9 +- package/pkgconf/Config.in.host | 9 +- package/pkgconf/pkg-config.in | 5 +- package/pkgconf/pkgconf.mk | 3 +- package/poco/poco.hash | 3 +- package/poco/poco.mk | 7 +- package/poppler/Config.in | 3 +- package/poppler/poppler.mk | 4 + package/postgresql/Config.in | 1 + package/postgresql/postgresql.hash | 7 +- package/postgresql/postgresql.mk | 7 +- package/pound/0001-fix-openssl-1.0.2.patch | 127 + package/powerpc-utils/Config.in | 2 +- package/powertop/Config.in | 3 +- package/pps-tools/Config.in | 3 +- package/prboom/Config.in | 7 +- package/procps-ng/0001-remove-index.patch | 16 - ...02-use-pkgconfig-for-ncursesw-cflags.patch | 57 - ...-include-dlfcn.h-only-when-necessary.patch | 32 - package/procps-ng/Config.in | 5 + package/procps-ng/procps-ng.hash | 9 +- package/procps-ng/procps-ng.mk | 9 +- package/proftpd/Config.in | 4 +- package/proj/Config.in | 14 + package/proj/proj.hash | 5 + package/proj/proj.mk | 13 + package/protobuf/Config.in | 5 +- package/proxychains-ng/Config.in | 3 +- package/psmisc/Config.in | 3 +- package/psmisc/psmisc.mk | 2 +- package/psplash/Config.in | 16 +- ...name-EVP_MD_CTX-into-PTPD_EVP_MD_CTX.patch | 46 + ...emoving-type-U64-from-net-snmp-relat.patch | 28 + package/pugixml/Config.in | 17 +- package/pulseaudio/pulseaudio.mk | 22 +- package/pure-ftpd/Config.in | 28 +- package/pure-ftpd/pure-ftpd.mk | 4 + package/putty/Config.in | 7 +- .../0001-configure.in-tighten-AIX-test.patch | 57 + package/pwgen/Config.in | 4 +- package/pwgen/Config.in.host | 4 +- package/python-asn1crypto/Config.in | 6 +- package/python-autobahn/python-autobahn.hash | 5 +- package/python-autobahn/python-autobahn.mk | 4 +- package/python-bottle/Config.in | 7 +- package/python-can/Config.in | 3 +- package/python-certifi/python-certifi.hash | 5 +- package/python-certifi/python-certifi.mk | 4 +- package/python-cffi/Config.in | 1 + .../python-characteristic.mk | 2 +- package/python-cheetah/Config.in | 11 +- package/python-cheetah/python-cheetah.mk | 2 +- package/python-cheroot/python-cheroot.hash | 7 +- package/python-cheroot/python-cheroot.mk | 6 +- package/python-cherrypy/Config.in | 1 + package/python-cherrypy/python-cherrypy.hash | 5 +- package/python-cherrypy/python-cherrypy.mk | 4 +- .../0002-Rework-runtime-dependencies.patch | 37 + package/python-crossbar/Config.in | 14 +- package/python-crossbar/python-crossbar.hash | 7 +- package/python-crossbar/python-crossbar.mk | 6 +- package/python-cssselect/Config.in | 3 +- .../python-cssselect/python-cssselect.hash | 5 +- package/python-cssselect/python-cssselect.mk | 4 +- package/python-dataproperty/Config.in | 6 +- .../python-dataproperty.hash | 5 +- .../python-dataproperty.mk | 4 +- package/python-dicttoxml/Config.in | 4 +- package/python-django/Config.in | 10 +- package/python-django/python-django.hash | 6 +- package/python-django/python-django.mk | 4 +- package/python-enum34/python-enum34.mk | 1 + package/python-flask-cors/Config.in | 8 + .../python-flask-cors/python-flask-cors.hash | 4 + .../python-flask-cors/python-flask-cors.mk | 14 + package/python-functools32/Config.in | 3 +- .../python-functools32.hash | 4 + .../python-functools32/python-functools32.mk | 3 +- package/python-iowait/python-iowait.hash | 4 +- package/python-ipaddr/python-ipaddr.mk | 2 +- package/python-jaraco-classes/Config.in | 7 + .../python-jaraco-classes.hash | 4 + .../python-jaraco-classes.mk | 15 + package/python-jsonschema/Config.in | 1 + package/python-keyring/Config.in | 6 +- package/python-keyring/python-keyring.hash | 6 +- package/python-keyring/python-keyring.mk | 16 +- package/python-more-itertools/Config.in | 7 + .../python-more-itertools.hash | 4 + .../python-more-itertools.mk | 14 + ...01-use-exec-in-py3-compatible-manner.patch | 36 - package/python-mwclient/Config.in | 2 +- package/python-mwclient/python-mwclient.hash | 5 +- package/python-mwclient/python-mwclient.mk | 4 +- package/python-networkmanager/Config.in | 3 +- .../python-networkmanager.hash | 6 +- .../python-networkmanager.mk | 9 +- package/python-oauthlib/Config.in | 7 + package/python-oauthlib/python-oauthlib.hash | 4 + package/python-oauthlib/python-oauthlib.mk | 14 + package/python-protobuf/Config.in | 5 +- .../python-pyasn-modules.mk | 2 +- .../python-pyftpdlib/python-pyftpdlib.hash | 7 +- package/python-pyftpdlib/python-pyftpdlib.mk | 4 +- package/python-pygame/Config.in | 10 +- package/python-pynacl/Config.in | 3 +- package/python-pynacl/python-pynacl.mk | 2 +- package/python-pyparsing/Config.in | 10 +- package/python-pypcap/Config.in | 3 +- package/python-pyro/Config.in | 7 +- package/python-pysmb/Config.in | 8 +- package/python-pytablereader/Config.in | 1 + .../python-pytablereader.hash | 5 +- .../python-pytablereader.mk | 4 +- package/python-pytablewriter/Config.in | 1 + .../python-pytablewriter.hash | 5 +- .../python-pytablewriter.mk | 4 +- package/python-pytrie/python-pytrie.mk | 2 +- package/python-pytz/python-pytz.hash | 5 +- package/python-pytz/python-pytz.mk | 12 +- package/python-pyudev/Config.in | 5 +- package/python-pyxb/Config.in | 5 +- package/python-raven/Config.in | 12 + package/python-raven/python-raven.hash | 5 + package/python-raven/python-raven.mk | 14 + package/python-remi/Config.in | 9 + package/python-remi/python-remi.hash | 3 + package/python-remi/python-remi.mk | 13 + package/python-requests-oauthlib/Config.in | 8 + .../python-requests-oauthlib.hash | 4 + .../python-requests-oauthlib.mk | 14 + package/python-requests/Config.in | 1 + package/python-schedule/Config.in | 6 + package/python-schedule/python-schedule.hash | 5 + package/python-schedule/python-schedule.mk | 14 + package/python-secretstorage/Config.in | 11 + .../python-secretstorage.hash | 4 + .../python-secretstorage.mk | 14 + package/python-see/Config.in | 6 + package/python-see/python-see.hash | 4 + package/python-see/python-see.mk | 14 + package/python-setuptools/Config.in | 3 +- .../python-setuptools/python-setuptools.hash | 3 +- .../python-setuptools/python-setuptools.mk | 2 +- package/python-shutilwhich/Config.in | 1 - .../python-shutilwhich/python-shutilwhich.mk | 2 +- package/python-simpleaudio/Config.in | 5 +- package/python-tabledata/Config.in | 12 + .../python-tabledata/python-tabledata.hash | 4 + package/python-tabledata/python-tabledata.mk | 21 + package/python-thrift/Config.in | 3 +- package/python-treq/Config.in | 6 +- package/python-treq/python-treq.hash | 5 +- package/python-treq/python-treq.mk | 4 +- package/python-twisted/Config.in | 3 +- package/python-txaio/python-txaio.hash | 7 +- package/python-txaio/python-txaio.mk | 4 +- package/python-txtorcon/Config.in | 19 + package/python-txtorcon/python-txtorcon.hash | 4 + package/python-txtorcon/python-txtorcon.mk | 14 + package/python-typepy/Config.in | 4 +- package/python-u-msgpack/Config.in | 4 +- package/python-ujson/python-ujson.mk | 2 +- .../python-versiontools.mk | 2 +- ...workaround-to-support-uClibc-library.patch | 43 + package/python-watchdog/Config.in | 7 +- package/python-webpy/Config.in | 5 +- package/python-webpy/python-webpy.hash | 4 +- package/python-webpy/python-webpy.mk | 4 +- ...ehavior-of-recv-in-the-CLOSING-state.patch | 261 + package/python-ws4py/python-ws4py.hash | 4 +- package/python-ws4py/python-ws4py.mk | 4 +- package/python-wsaccel/python-wsaccel.mk | 2 +- package/python-xlib/Config.in | 7 + package/python-xlib/python-xlib.hash | 4 + package/python-xlib/python-xlib.mk | 15 + package/python-xlrd/Config.in | 4 +- package/python-zope-interface/Config.in | 10 +- ...9-Fix-python-config-for-cross-builds.patch | 6 +- package/python/Config.in | 6 +- package/python/python.hash | 9 +- package/python/python.mk | 2 +- package/python3/Config.in | 6 +- package/python3/python3.mk | 2 - ...age-of-mcontext-structure-on-ARM-uCl.patch | 8 +- package/qemu/Config.in | 42 +- package/qemu/Config.in.host | 45 +- package/qemu/qemu.hash | 2 +- package/qemu/qemu.mk | 246 +- package/qpdf/Config.in | 12 +- package/qpdf/qpdf.hash | 6 +- package/qpdf/qpdf.mk | 2 +- package/qt/Config.in | 29 +- package/qt/qt.mk | 11 +- package/qt5/Config.in | 5 +- package/qt5/qt5.mk | 6 +- package/qt5/qt53d/Config.in | 4 +- package/qt5/qt53d/qt53d.hash | 4 +- package/qt5/qt53d/qt53d.mk | 18 +- package/qt5/qt5base/Config.in | 17 +- .../qt5/qt5base/{qmake.conf => qmake.conf.in} | 4 +- package/qt5/qt5base/qt5base.hash | 4 +- package/qt5/qt5base/qt5base.mk | 25 +- package/qt5/qt5canvas3d/qt5canvas3d.hash | 4 +- package/qt5/qt5charts/Config.in | 17 + package/qt5/qt5charts/qt5charts.hash | 5 + package/qt5/qt5charts/qt5charts.mk | 61 + ...e-server-needs-only-core-and-bluetoo.patch | 32 - .../qt5/qt5connectivity/qt5connectivity.hash | 4 +- ...iewcomparison-and-quickwidget-needs-.patch | 6 + .../5.9.2/0001-Fix-no-opengl-builds.patch | 32 - package/qt5/qt5declarative/Config.in | 6 +- .../qt5/qt5declarative/qt5declarative.hash | 4 +- package/qt5/qt5enginio/qt5enginio.hash | 4 +- package/qt5/qt5enginio/qt5enginio.mk | 2 +- .../qt5graphicaleffects.hash | 4 +- .../qt5/qt5imageformats/qt5imageformats.hash | 4 +- package/qt5/qt5location/qt5location.hash | 4 +- package/qt5/qt5multimedia/Config.in | 6 +- package/qt5/qt5multimedia/qt5multimedia.hash | 4 +- package/qt5/qt5multimedia/qt5multimedia.mk | 12 +- package/qt5/qt5quickcontrols/Config.in | 4 +- .../qt5quickcontrols/qt5quickcontrols.hash | 7 +- .../qt5/qt5quickcontrols/qt5quickcontrols.mk | 5 + package/qt5/qt5quickcontrols2/Config.in | 4 +- .../qt5quickcontrols2/qt5quickcontrols2.hash | 4 +- ...-Detect-32-bits-armv8-a-architecture.patch | 49 + package/qt5/qt5script/qt5script.hash | 6 +- package/qt5/qt5script/qt5script.mk | 17 +- package/qt5/qt5scxml/Config.in | 18 + package/qt5/qt5scxml/qt5scxml.hash | 8 + package/qt5/qt5scxml/qt5scxml.mk | 49 + package/qt5/qt5sensors/qt5sensors.hash | 4 +- package/qt5/qt5serialbus/qt5serialbus.hash | 4 +- package/qt5/qt5serialport/qt5serialport.hash | 7 +- package/qt5/qt5serialport/qt5serialport.mk | 2 +- package/qt5/qt5svg/qt5svg.hash | 4 +- package/qt5/qt5tools/qt5tools.hash | 4 +- package/qt5/qt5tools/qt5tools.mk | 2 +- package/qt5/qt5virtualkeyboard/Config.in | 4 +- .../qt5virtualkeyboard.hash | 4 +- package/qt5/qt5wayland/qt5wayland.hash | 4 +- package/qt5/qt5wayland/qt5wayland.mk | 7 + package/qt5/qt5webchannel/qt5webchannel.hash | 4 +- .../0001-Change-default-SSL-directory.patch | 35 + ...bEGL-and-libGLES2-symbols-implicitly.patch | 26 +- package/qt5/qt5webengine/Config.in | 15 +- .../{chromium.inc => chromium-latest.inc} | 0 package/qt5/qt5webengine/chromium-lts.inc | 248 + package/qt5/qt5webengine/qt5webengine.hash | 7 +- package/qt5/qt5webengine/qt5webengine.mk | 14 +- .../0001-Build-examples.patch | 52 + package/qt5/qt5webkit-examples/Config.in | 10 + .../qt5webkit-examples.hash | 5 + .../qt5webkit-examples/qt5webkit-examples.mk | 54 + ...-Detect-32-bits-armv8-a-architecture.patch | 48 + ...-Detect-32-bits-armv8-a-architecture.patch | 48 + package/qt5/qt5webkit/Config.in | 9 +- package/qt5/qt5webkit/qt5webkit.hash | 4 +- package/qt5/qt5webkit/qt5webkit.mk | 13 +- package/qt5/qt5websockets/qt5websockets.hash | 4 +- package/qt5/qt5websockets/qt5websockets.mk | 1 + package/qt5/qt5x11extras/qt5x11extras.hash | 4 +- .../qt5/qt5xmlpatterns/qt5xmlpatterns.hash | 6 +- package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk | 2 +- package/qt5cinex/Config.in | 4 +- ...valid-attr-length-sends-NOTIFY-with-.patch | 69 + ...Fix-double-free-of-unknown-attribute.patch | 112 + ...bug-print-of-received-NOTIFY-data-ca.patch | 114 + ...x-infinite-loop-on-certain-invalid-O.patch | 43 + package/quagga/Config.in | 15 +- package/quota/quota.mk | 2 +- package/rabbitmq-c/rabbitmq-c.mk | 7 +- package/rabbitmq-server/Config.in | 3 +- package/ramsmp/Config.in | 5 +- package/rapidjson/Config.in | 3 +- package/rapidjson/rapidjson.hash | 1 + package/rauc/rauc.hash | 4 +- package/rauc/rauc.mk | 2 +- package/redis/redis.hash | 2 +- package/redis/redis.mk | 2 +- package/refpolicy/refpolicy.hash | 7 +- package/refpolicy/refpolicy.mk | 17 +- package/rp-pppoe/Config.in | 11 +- ...it_com-Stop-freeing-a-static-pointer.patch | 98 + ...dump-Fixed-typo-in-memory-leak-patch.patch | 31 + package/rpcbind/Config.in | 4 +- package/rpi-firmware/Config.in | 29 +- ...lay-don-t-install-script-in-random-l.patch | 45 + package/rpi-userland/Config.in | 13 +- package/rsh-redone/Config.in | 7 +- package/rsync/rsync.hash | 5 +- package/rsync/rsync.mk | 2 +- package/rtl8189fs/Config.in | 10 + package/rtl8189fs/rtl8189fs.hash | 2 + package/rtl8189fs/rtl8189fs.mk | 17 + package/rtl8723bu/Config.in | 10 + package/rtl8723bu/rtl8723bu.hash | 2 + package/rtl8723bu/rtl8723bu.mk | 20 + package/ruby/ruby.hash | 4 +- package/ruby/ruby.mk | 2 +- package/rust-bin/rust-bin.hash | 33 + package/rust-bin/rust-bin.mk | 61 + package/rust/rust.hash | 5 + package/rust/rust.mk | 79 + package/rustc/Config.in.host | 79 + package/rustc/rustc.mk | 20 + ...low-UI-build-without-gstreamer-video.patch | 37 + package/rygel/Config.in | 51 + package/rygel/S99rygel | 37 + package/rygel/rygel.hash | 6 + package/rygel/rygel.mk | 74 + package/rygel/rygel.service | 10 + package/s6-dns/s6-dns.hash | 3 +- package/s6-dns/s6-dns.mk | 2 +- package/s6-linux-init/s6-linux-init.hash | 1 + package/s6-linux-utils/s6-linux-utils.hash | 1 + package/s6-networking/s6-networking.hash | 1 + .../s6-portable-utils/s6-portable-utils.hash | 1 + package/s6-rc/s6-rc.hash | 3 +- package/s6-rc/s6-rc.mk | 2 +- package/s6/s6.hash | 3 +- package/s6/s6.mk | 2 +- ...Fix-install-when-HAVE_WCHAR-is-unset.patch | 50 + package/safeclib/Config.in | 9 + package/safeclib/safeclib.hash | 3 + package/safeclib/safeclib.mk | 15 + package/sam-ba/sam-ba.mk | 8 +- ...01-libreplace-disable-libbsd-support.patch | 13 +- ...ion-of-Samba-4.7.4-with-disabled-ADS.patch | 41 + ...-on-64bit-platforms-by-including-std.patch | 83 + ...-build-of-manpages-and-documentation.patch | 116 + package/samba4/samba4-cache.txt | 2 + package/samba4/samba4.hash | 5 +- package/samba4/samba4.mk | 4 +- package/sane-backends/Config.in | 6 +- package/sconeserver/Config.in | 5 +- .../0006-install-no-backup-binary.patch | 4 +- .../screen/0009-install-dir-dependency.patch | 43 - ...ched_h.patch => 0009-rename-sched_h.patch} | 0 .../0010-comm-h-now-depends-on-term-h.patch | 28 + ...-needed-for-list_-display-generic-.o.patch | 35 + package/screen/Config.in | 13 +- package/screen/screen.hash | 5 +- package/screen/screen.mk | 2 +- ...FB-renderer-not-being-enabled-in-aut.patch | 42 + package/sdl2/sdl2.hash | 6 +- package/sdl2/sdl2.mk | 12 +- package/sdl2_image/sdl2_image.hash | 3 +- package/sdl2_image/sdl2_image.mk | 2 +- package/sdl_net/Config.in | 5 +- ...-follow-standard-semantics-for-DESTD.patch | 117 + package/selinux-python/Config.in | 2 +- package/selinux-python/selinux-python.mk | 2 +- package/setools/setools.mk | 2 +- ...ibsoxr-is-built-to-rely-on-libavutil.patch | 63 + ...f-HAVE_LIBSOXR-with-using-pkg_config.patch | 35 + package/shairport-sync/Config.in | 21 +- package/shairport-sync/shairport-sync.hash | 2 +- package/shairport-sync/shairport-sync.mk | 2 +- package/shapelib/Config.in | 6 + package/shapelib/shapelib.hash | 4 +- package/shapelib/shapelib.mk | 19 +- package/skalibs/skalibs.hash | 3 +- package/skalibs/skalibs.mk | 2 +- .../skeleton-init-systemd.mk | 17 +- package/slirp/Config.in | 4 +- package/smack/Config.in | 22 +- package/smcroute/Config.in | 10 +- package/smstools3/Config.in | 11 +- package/snappy/Config.in | 8 +- package/sngrep/sngrep.mk | 3 +- package/softether/Config.in | 22 +- .../solarus/0001-cmake-remove-Werror.patch | 27 + package/solarus/Config.in | 31 + package/solarus/solarus.hash | 5 + package/solarus/solarus.mk | 23 + package/sox/Config.in | 12 +- package/spice-protocol/spice-protocol.hash | 2 +- package/spice-protocol/spice-protocol.mk | 2 +- ...-DoS-attempts-during-protocol-handsh.patch | 60 - ...teger-overflows-in-capability-checks.patch | 43 - ...vent-overflow-reading-messages-from-.patch | 33 - ...when-receiving-overly-big-ClientMoni.patch | 75 - ...er-overflows-handling-monitor-config.patch | 31 - ...r-overflows-handling-monitor-configu.patch | 48 - package/spice/spice.hash | 2 +- package/spice/spice.mk | 14 +- package/sqlcipher/Config.in | 13 +- package/sqlite/Config.in | 56 +- package/squashfs/0001-include-sysmacros.patch | 47 + package/squashfs/0001-musl.patch | 71 - package/squashfs/squashfs.hash | 5 +- package/squashfs/squashfs.mk | 7 +- ...e-endofName-never-exceeds-tagEnd-130.patch | 35 + ...logging-for-transactions-without-a-c.patch | 31 + package/squid/Config.in | 3 +- package/squid/squid.hash | 8 +- package/squid/squid.mk | 2 +- package/sshfs/Config.in | 3 +- package/start-stop-daemon/Config.in | 4 +- package/startup-notification/Config.in | 3 +- ...-program_invocation_name-type-confli.patch | 45 - package/strace/strace.hash | 10 +- package/strace/strace.mk | 2 +- ...link-proc-fix-build-with-kernel-v3.9.patch | 38 + package/stress-ng/stress-ng.hash | 2 +- package/stress-ng/stress-ng.mk | 3 +- ...af_alg-fix-crypt-definition-conflict.patch | 55 - ...swan-add-missing-include-of-stdint.h.patch | 32 - package/strongswan/Config.in | 10 +- package/strongswan/strongswan.hash | 11 +- package/strongswan/strongswan.mk | 12 +- package/stunnel/stunnel.hash | 7 +- package/stunnel/stunnel.mk | 2 +- package/sunxi-mali/Config.in | 12 +- package/sunxi-tools/Config.in | 6 +- ...rrlicht-Get-rid-of-unprefixed-cflags.patch | 34 - ...lean-return-type-for-jpeglib-s-callb.patch | 39 - package/supertuxkart/supertuxkart.hash | 8 +- package/supertuxkart/supertuxkart.mk | 6 +- .../0001-Fix-SHA256-hash-verification.patch | 119 - ...pat.h-introduce-compatibility-header.patch | 87 + ...build-if-DOWNLOAD-is-set-but-no-JSON.patch | 107 + package/swupdate/Config.in | 59 +- package/swupdate/swupdate.config | 63 +- package/swupdate/swupdate.hash | 2 +- package/swupdate/swupdate.mk | 11 +- .../0001-Don-t-include-curlbuild.h.patch | 58 - package/sysdig/Config.in | 4 +- package/sysdig/sysdig.hash | 2 +- package/sysdig/sysdig.mk | 2 +- ...ules-json-Adaptions-for-json-c-v0.13.patch | 39 + package/syslog-ng/syslog-ng.conf | 2 +- package/syslog-ng/syslog-ng.mk | 2 + package/sysstat/sysstat.hash | 5 +- package/sysstat/sysstat.mk | 6 +- ...01-parse-util-Don-t-use-xlocale.h-35.patch | 32 - .../systemd-bootchart/systemd-bootchart.hash | 2 +- .../systemd-bootchart/systemd-bootchart.mk | 2 +- package/systemd/0001-fix-getty-unit.patch | 6 +- .../0002-build-check-for-ln-relative.patch | 98 - .../0002-install-don-t-use-ln-relative.patch | 80 + ...-include-libmount-h-in-a-header-file.patch | 75 + .../0005-basic-macros-rename-noreturn.patch | 201 + package/systemd/Config.in | 53 +- package/systemd/systemd.hash | 5 +- package/systemd/systemd.mk | 266 +- package/sysvinit/inittab | 12 +- package/taglib/Config.in | 7 +- package/tar/Config.in | 5 +- package/tar/tar.mk | 3 + ...add-install-target-to-the-CMakeLists.patch | 48 + ...ve-explicit-uses-of-__ptrace_request.patch | 103 + ...nonicalize_file_name-for-all-c-libs-.patch | 46 + package/tcf-agent/Config.in | 42 + package/tcf-agent/S55tcf-agent | 40 + package/tcf-agent/tcf-agent.hash | 5 + package/tcf-agent/tcf-agent.mk | 37 + package/tcf-agent/tcf-agent.service | 9 + package/tcl/tcl.hash | 1 + package/tcl/tcl.mk | 2 +- package/tclap/Config.in | 15 +- package/tcllib/tcllib.hash | 1 + package/tcllib/tcllib.mk | 2 +- package/tcpreplay/Config.in | 4 +- package/tegrarcm/Config.in.host | 4 +- package/tekui/Config.in | 9 +- package/thrift/Config.in | 12 +- package/thttpd/Config.in | 3 +- package/ti-cgt-pru/ti-cgt-pru.hash | 4 +- package/ti-cgt-pru/ti-cgt-pru.mk | 6 +- package/ti-gfx/Config.in | 9 +- package/ti-utils/Config.in | 6 +- package/time/time.hash | 3 +- package/time/time.mk | 4 +- package/tinc/tinc.hash | 4 +- package/tinc/tinc.mk | 7 +- package/tinyalsa/Config.in | 4 +- ...-Fix-static-compilation-of-json2cbor.patch | 28 - package/tinycbor/tinycbor.hash | 3 +- package/tinycbor/tinycbor.mk | 4 +- package/tinydtls/tinydtls.hash | 1 + package/tinyhttpd/Config.in | 5 +- package/tinyxml2/Config.in | 4 +- package/tor/tor.hash | 2 +- package/tor/tor.mk | 14 +- package/tovid/Config.in | 6 +- ...ad-include-sys-stat.h-for-open-modes.patch | 33 - ...-sure-libintl-is-in-LDFLAGS-when-nee.patch | 104 - .../0002-configure.in-remove-Werror.patch | 27 - package/tpm-tools/tpm-tools.hash | 10 +- package/tpm-tools/tpm-tools.mk | 6 +- package/trace-cmd/Config.in | 8 +- package/traceroute/Config.in | 8 + package/traceroute/traceroute.hash | 6 + package/traceroute/traceroute.mk | 29 + package/transmission/Config.in | 5 - package/transmission/S92transmission | 3 - package/transmission/transmission.hash | 3 +- package/transmission/transmission.mk | 14 +- package/tremor/tremor.hash | 3 + package/tremor/tremor.mk | 6 +- package/triggerhappy/triggerhappy.mk | 4 +- ...-compat-handle-removed-autofs-macros.patch | 61 + ...e-headers-for-ax25-instead-of-kernel.patch | 26 - ...ix-build-when_USE_BPF-is-not-defined.patch | 72 - .../0003-Check-for-bpf-attr-map-flags.patch | 60 - ..._syscall_entry-remove-SYSCALL_OFFSET.patch | 44 - ...oss-compile-detection-of-broken-ipv6.patch | 49 - ...clude-sys-io.h-for-UIO_MAXIOV-symbol.patch | 40 - package/trinity/Config.in | 6 +- package/trinity/trinity.hash | 3 +- package/trinity/trinity.mk | 6 +- package/trousers/Config.in | 6 +- package/ts4900-fpga/Config.in | 8 +- package/tslib/tslib.hash | 4 +- package/tslib/tslib.mk | 6 +- package/tstools/Config.in | 17 +- ...x-typo-in-switch-FALLTHROUGH-comment.patch | 31 - package/turbolua/turbolua.hash | 2 +- package/turbolua/turbolua.mk | 2 +- ...02-sbuf-fix-uclibc-compilation-error.patch | 33 + package/tvheadend/Config.in | 13 +- package/tvheadend/tvheadend.hash | 3 +- package/tvheadend/tvheadend.mk | 2 +- package/twolame/Config.in | 6 +- package/tzdata/tzdata.hash | 4 +- package/tzdata/tzdata.mk | 2 +- ...Boot-libfdt-headers-from-their-actua.patch | 33 + .../0004-uboot-tools-disable-pylibfdt.patch | 63 - ...attempt-to-use-the-systemwide-libfdt.patch | 56 - package/uboot-tools/Config.in | 4 +- package/uboot-tools/uboot-tools.hash | 2 +- package/uboot-tools/uboot-tools.mk | 7 +- package/ubus/Config.in | 11 +- ...6-fix-build-with-musl-and-older-kenr.patch | 45 + package/uclibc-ng-test/uclibc-ng-test.mk | 2 +- ...ucontext.h-include-bits-sigcontext.h.patch | 49 + .../uclibc/0001-fix-issues-with-gdb-8.0.patch | 72 - ...e-R_MICROBLAZE_NONE-for-ld.so-bootst.patch | 42 - ...nvert-accept4-to-use-cancel.h-macros.patch | 102 - package/uclibc/Config.in | 16 +- package/uclibc/uclibc.hash | 2 +- package/uclibc/uclibc.mk | 2 +- package/uhttpd/Config.in | 6 +- package/ulogd/Config.in | 3 +- package/unixodbc/Config.in | 5 +- package/upmpdcli/upmpdcli.hash | 3 + package/upower/Config.in | 13 +- package/usb_modeswitch/usb_modeswitch.mk | 1 + package/usbmount/Config.in | 5 +- package/usbredir/Config.in | 17 +- package/usbutils/usbutils.hash | 2 +- package/usbutils/usbutils.mk | 2 +- package/ushare/Config.in | 4 +- package/ustr/ustr.hash | 4 +- package/ustr/ustr.mk | 9 +- .../0001-docs-add-ISC-licence.patch | 38 + ...01-md5-declare-byteReverse-as-static.patch | 44 - ...-randutils-Do-not-block-on-getrandom.patch | 52 + ...ils-don-t-break-on-EAGAIN-use-usleep.patch | 71 + package/util-linux/util-linux.hash | 4 +- package/util-linux/util-linux.mk | 45 +- package/ux500-firmware/Config.in | 5 +- ...05-include-sys-sysmacros.h-for-major.patch | 51 + package/vim/vim.mk | 8 +- ...-Fix-build-with-libupnp-above-1.6.23.patch | 64 + ...-avcodec-check-avcodec-visible-sizes.patch | 33 - ...ck-visible-size-when-creating-buffer.patch | 33 - package/vlc/Config.in | 3 - package/vlc/vlc.hash | 10 +- package/vlc/vlc.mk | 8 +- package/w_scan/Config.in | 8 +- package/wavemon/Config.in | 13 +- ...overwrite-stack-on-corrupt-RF64-file.patch | 118 + ...overwrite-heap-on-corrupt-DSDIFF-fil.patch | 38 + ...fer-overflows-and-bad-allocs-on-corr.patch | 72 + ...1-issue-32-no-multiple-format-chunks.patch | 64 + ...e-size-of-unknown-chunks-before-mall.patch | 75 + .../wayland-protocols/wayland-protocols.hash | 9 +- .../wayland-protocols/wayland-protocols.mk | 2 +- ...iler-error-missing-stdexcept-to-use-.patch | 28 + package/waylandpp/Config.in | 16 + package/waylandpp/waylandpp.hash | 4 + package/waylandpp/waylandpp.mk | 27 + ...ightingNEON.cpp-fails-due-to-missing.patch | 41 + ...CMAKE_BUILD_TYPE-from-toolchain-file.patch | 52 - package/webkitgtk/Config.in | 14 +- package/webkitgtk/webkitgtk.hash | 12 +- package/webkitgtk/webkitgtk.mk | 5 +- package/webp/Config.in | 7 + package/webp/webp.hash | 3 +- package/webp/webp.mk | 22 +- package/weston/Config.in | 6 +- package/weston/weston.mk | 2 +- package/wf111/Config.in | 19 +- package/wf111/wf111.mk | 15 +- package/wget/wget.hash | 5 +- package/wget/wget.mk | 2 +- package/wine/wine.hash | 2 +- package/wine/wine.mk | 6 +- package/wireguard/wireguard.hash | 4 +- package/wireguard/wireguard.mk | 2 +- package/wireless-regdb/Config.in | 2 +- package/wireless-regdb/wireless-regdb.hash | 4 +- package/wireless-regdb/wireless-regdb.mk | 6 +- package/wireless_tools/Config.in | 2 +- package/wireless_tools/wireless_tools.mk | 2 +- package/wireshark/wireshark.hash | 6 +- package/wireshark/wireshark.mk | 2 +- package/wmctrl/wmctrl.mk | 4 + ...tiple-libraries-being-returned-for-B.patch | 80 + package/woff2/Config.in | 9 + package/woff2/woff2.hash | 5 + package/woff2/woff2.mk | 30 + package/wolfssl/Config.in | 27 + package/wolfssl/wolfssl.hash | 6 + package/wolfssl/wolfssl.mk | 35 + package/wpa_supplicant/Config.in | 15 +- package/wpa_supplicant/wpa_supplicant.hash | 2 + package/wpa_supplicant/wpa_supplicant.mk | 3 +- package/wpan-tools/wpan-tools.hash | 4 +- package/wpan-tools/wpan-tools.mk | 1 + package/wsapi-fcgi/Config.in | 3 +- package/x11r7/libxcb/Config.in | 5 +- package/x11r7/mcookie/mcookie.c | 2 +- .../x11r7/xapp_bdftopcf/xapp_bdftopcf.hash | 7 +- package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk | 2 +- package/x11r7/xapp_xcmsdb/Config.in | 3 +- package/x11r7/xapp_xfs/Config.in | 2 +- package/x11r7/xapp_xfs/xapp_xfs.hash | 7 +- package/x11r7/xapp_xfs/xapp_xfs.mk | 4 +- package/x11r7/xcb-proto/Config.in | 4 +- package/x11r7/xcb-util-image/Config.in | 14 +- .../x11r7/xcb-util-image/xcb-util-image.hash | 2 + .../x11r7/xcb-util-image/xcb-util-image.mk | 1 + package/x11r7/xcb-util-keysyms/Config.in | 18 +- package/x11r7/xcb-util-wm/Config.in | 13 +- package/x11r7/xcb-util-wm/xcb-util-wm.hash | 2 + package/x11r7/xcb-util-wm/xcb-util-wm.mk | 1 + package/x11r7/xcb-util/Config.in | 4 +- .../xdriver_xf86-input-libinput/Config.in | 6 +- ...top-using-Git-to-write-local-version.patch | 90 - .../xdriver_xf86-video-imx-viv/Config.in | 20 +- .../xdriver_xf86-video-imx-viv.hash | 2 +- .../xdriver_xf86-video-imx-viv.mk | 10 +- .../xdriver_xf86-video-openchrome/Config.in | 4 +- package/x11r7/xlib_libXfont/xlib_libXfont.mk | 1 - package/x11r7/xlib_libXft/xlib_libXft.mk | 1 - package/x11r7/xlib_libXpm/xlib_libXpm.mk | 4 + .../0001-modesettings-needs-dri2.patch | 0 ...ure.ac-Fix-check-for-CLOCK_MONOTONIC.patch | 0 ...003-Remove-check-for-useSIGIO-option.patch | 0 ...-compositeext.h-if-COMPOSITE-is-supp.patch | 31 + package/x11r7/xserver_xorg-server/Config.in | 7 +- .../xserver_xorg-server.hash | 10 +- package/x265/Config.in | 9 +- package/x265/x265.mk | 1 + ...om_arm-add-missing-variable-initiali.patch | 41 - package/xen/Config.in | 6 +- package/xen/xen.hash | 14 +- package/xen/xen.mk | 20 +- package/xenomai/Config.in | 4 +- package/xenomai/xenomai.hash | 2 +- package/xenomai/xenomai.mk | 2 +- package/xerces/0001-fix-CVE-2017-12627.patch | 22 + ...-do-dynamic-linking-of-libtool-libra.patch | 2 +- package/xfsprogs/Config.in | 7 +- package/xfsprogs/xfsprogs.hash | 3 +- package/xfsprogs/xfsprogs.mk | 4 +- package/xinetd/Config.in | 4 +- package/xorriso/0001-use-sys-xattr.h.patch | 33 + package/xorriso/xorriso.mk | 13 + package/xr819-xradio/xr819-xradio.hash | 4 +- package/xr819-xradio/xr819-xradio.mk | 2 +- package/xscreensaver/Config.in | 11 +- package/xtables-addons/Config.in | 4 +- package/xterm/xterm.mk | 3 + package/xvisor/Config.in | 6 +- package/xz/Config.in | 15 +- package/yad/Config.in | 4 +- package/zbar/Config.in | 5 +- package/zeromq/Config.in | 6 +- package/zic/zic.hash | 4 +- package/zic/zic.mk | 2 +- package/zisofs-tools/zisofs-tools.hash | 5 + package/zisofs-tools/zisofs-tools.mk | 15 + package/zlib-ng/zlib-ng.hash | 3 + package/zlib-ng/zlib-ng.mk | 22 + package/zlib/Config.in | 48 + package/zlib/zlib.mk | 73 +- package/zmqpp/Config.in | 8 +- package/zmqpp/zmqpp.mk | 11 +- ...Add-time.h-includes-where-appropiate.patch | 194 - package/znc/0002-csocket-timeh.patch | 19 - package/znc/Config.in | 7 +- package/znc/znc.hash | 3 +- package/znc/znc.mk | 7 +- package/zsh/Config.in | 8 +- package/zstd/zstd.hash | 2 +- package/zstd/zstd.mk | 4 +- .../autobuild/br-arm-internal-glibc.config | 4 + .../autobuild/br-arm-internal-musl.config | 4 + .../autobuild/br-nios2-glibc.config | 1 + .../autobuild/br-powerpc-internal-full.config | 1 - .../autobuild/br-xtensa-full-internal.config | 1 - .../autobuild/toolchain-configs.csv | 2 + support/dependencies/check-host-tar.sh | 40 +- support/dependencies/dependencies.mk | 14 +- support/dependencies/dependencies.sh | 76 +- support/docker/Dockerfile | 48 +- support/docker/apt-sources.list | 4 + support/kconfig/Makefile | 3 +- support/kconfig/merge_config.sh | 8 +- ...-nconfig-fix-multi-byte-UTF-handling.patch | 45 + support/kconfig/patches/series | 1 + support/misc/Vagrantfile | 2 +- support/scripts/brpkgutil.py | 8 +- support/scripts/check-bin-arch | 49 +- support/scripts/check-uniq-files | 49 + support/scripts/fix-rpath | 6 + support/scripts/genimage.sh | 6 +- support/scripts/graph-build-time | 26 +- support/scripts/graph-depends | 68 +- support/scripts/mkusers | 13 +- support/scripts/pycompile.py | 3 + support/scripts/size-stats | 10 +- .../conf/minimal-x86-qemu-kernel.config | 1 + support/testing/tests/boot/__init__.py | 0 support/testing/tests/boot/test_atf.py | 82 + support/testing/tests/core/device_table2.txt | 7 + support/testing/tests/core/post-build.sh | 2 +- support/testing/tests/core/post-fakeroot.sh | 1 + support/testing/tests/core/post-image.sh | 13 +- .../tests/core/squashfs-xattr-kernel.config | 1 + .../tests/core/test_file_capabilities.py | 47 + .../testing/tests/core/test_post_scripts.py | 4 + support/testing/tests/fs/test_iso9660.py | 41 + support/testing/tests/init/test_systemd.py | 12 + support/testing/tests/package/test_rust.py | 114 + system/Config.in | 4 + system/skeleton/etc/profile | 4 +- toolchain/helpers.mk | 2 +- toolchain/toolchain-buildroot/Config.in | 16 +- toolchain/toolchain-common.in | 15 +- .../pkg-toolchain-external.mk | 11 +- .../Config.in | 1 + .../Config.in | 1 + .../Config.in | 1 + .../Config.in | 1 + .../Config.in | 8 +- .../Config.in | 2 + .../Config.in | 2 +- .../Config.in.options | 31 +- .../Config.in | 6 +- .../toolchain-external-linaro-aarch64.hash | 4 +- .../toolchain-external-linaro-aarch64.mk | 8 +- .../toolchain-external-linaro-arm/Config.in | 12 +- .../toolchain-external-linaro-arm.hash | 4 +- .../toolchain-external-linaro-arm.mk | 8 +- .../toolchain-external-linaro-armeb/Config.in | 14 +- .../toolchain-external-linaro-armeb.hash | 4 +- .../toolchain-external-linaro-armeb.mk | 9 +- .../toolchain-external-synopsys-arc/Config.in | 8 +- .../toolchain-external-synopsys-arc.hash | 10 +- .../toolchain-external-synopsys-arc.mk | 2 +- toolchain/toolchain-wrapper.c | 3 + toolchain/toolchain-wrapper.mk | 6 + toolchain/toolchain/toolchain.mk | 12 +- utils/checkpackagelib/lib_config.py | 9 +- utils/checkpackagelib/lib_hash.py | 9 +- utils/checkpackagelib/lib_mk.py | 35 +- utils/checkpackagelib/lib_patch.py | 3 +- utils/checkpackagelib/readme.txt | 2 - utils/diffconfig | 138 + utils/genrandconfig | 10 +- utils/get-developers | 26 +- utils/getdeveloperlib.py | 54 +- utils/scanpypi | 212 +- utils/test-pkg | 10 +- 2012 files changed, 27811 insertions(+), 20051 deletions(-) create mode 100644 boot/binaries-marvell/Config.in create mode 100644 boot/binaries-marvell/binaries-marvell.hash create mode 100644 boot/binaries-marvell/binaries-marvell.mk create mode 100644 boot/mv-ddr-marvell/Config.in create mode 100644 boot/mv-ddr-marvell/mv-ddr-marvell.hash create mode 100644 boot/mv-ddr-marvell/mv-ddr-marvell.mk create mode 100644 docs/manual/adding-packages-cargo.txt create mode 100644 docs/manual/adding-packages-meson.txt create mode 100644 fs/ubi/Config.in rename fs/{ubifs => ubi}/ubi.mk (92%) rename fs/{ubifs => ubi}/ubinize.cfg (100%) create mode 100644 package/acl/0001-Build-with-old-GCC-versions.patch delete mode 100644 package/acl/0001-support-static-installation.patch delete mode 100644 package/acl/0002-add-__acl_-prefixes-to-internal-symbols.patch delete mode 100644 package/alsa-lib/0001-musl-pcm-h.patch rename package/alsa-lib/{0002-no-mmu.patch => 0001-no-mmu.patch} (100%) rename package/alsa-lib/{0003-dlmisc.patch => 0002-dlmisc.patch} (100%) rename package/alsa-lib/{0004-conditional-enabling-of-libdl-in-m4.patch => 0003-conditional-enabling-of-libdl-in-m4.patch} (100%) delete mode 100644 package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch create mode 100644 package/android-tools/0008-Include-sysmacros.h-to-compile-with-glibc-2.28.patch create mode 100644 package/aoetools/0001-Change-shell-script-interpreter-from-bin-bash-to-bin.patch create mode 100644 package/aoetools/Config.in create mode 100644 package/aoetools/aoetools.hash create mode 100644 package/aoetools/aoetools.mk create mode 100644 package/armbian-firmware/Config.in create mode 100644 package/armbian-firmware/armbian-firmware.hash create mode 100644 package/armbian-firmware/armbian-firmware.mk rename package/asterisk/{0005-build-ensure-target-directory-for-modules-exists.patch => 0004-build-ensure-target-directory-for-modules-exists.patch} (100%) delete mode 100644 package/asterisk/0004-configure-in-cross-complation-assimne-eventfd-are-av.patch create mode 100644 package/asterisk/0005-install-samples-need-the-data-files.patch create mode 100644 package/asterisk/0006-build-fix-issues-building-without-ssl.patch create mode 100644 package/attr/0001-build-with-older-GCCs.patch delete mode 100644 package/attr/0001-support-static-installation.patch delete mode 100644 package/attr/0002-avoid-glibc-specific-decls-defines.patch delete mode 100644 package/attr/0003-portability-fixes.patch delete mode 100644 package/axfsutils/0001-fix-cflags.patch delete mode 100644 package/axfsutils/0002-use-ldflags.patch delete mode 100644 package/bash/bash44-001.patch delete mode 100644 package/bash/bash44-002.patch delete mode 100644 package/bash/bash44-003.patch delete mode 100644 package/bash/bash44-004.patch delete mode 100644 package/bash/bash44-005.patch delete mode 100644 package/bash/bash44-006.patch delete mode 100644 package/bash/bash44-007.patch delete mode 100644 package/bash/bash44-008.patch delete mode 100644 package/bash/bash44-009.patch delete mode 100644 package/bash/bash44-010.patch delete mode 100644 package/bash/bash44-011.patch delete mode 100644 package/bash/bash44-012.patch rename package/bdwgc/{0003-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch => 0002-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch} (100%) delete mode 100644 package/bdwgc/0002-Fix-uClibc-build.patch delete mode 100644 package/bdwgc/0003-configure-match-uclinux-pattern.patch create mode 100644 package/berkeleydb/0001-cwd-db_config.patch delete mode 100644 package/binutils/2.27/0100-elf32-arm-no-data-fix.patch delete mode 100644 package/binutils/2.27/0130-tc-xtensa.c-fixup-xg_reverse_shift_count-typo.patch delete mode 100644 package/binutils/2.27/0131-xtensa-fix-memory-corruption-by-broken-sysregs.patch delete mode 100644 package/binutils/2.27/0900-Revert-part-Set-dynamic-tag-VMA-and-size-from-dynami.patch delete mode 100644 package/binutils/2.27/0906-microblaze-pr21180.patch delete mode 100644 package/binutils/2.27/0907-Automatically-enable-CRC-instructions-on-supported-A.patch rename package/binutils/{2.27/0120-sh-conf.patch => 2.30/0001-sh-conf.patch} (58%) rename package/binutils/{2.27/0300-ld-makefile.patch => 2.30/0002-ld-makefile.patch} (84%) rename package/binutils/{2.27/0301-check-ldrunpath-length.patch => 2.30/0003-check-ldrunpath-length.patch} (62%) rename package/binutils/{2.27/0500-add-sysroot-fix-from-bug-3049.patch => 2.30/0004-add-sysroot-fix-from-bug-3049.patch} (69%) rename package/binutils/{2.27/0600-poison-system-directories.patch => 2.30/0005-poison-system-directories.patch} (88%) create mode 100644 package/binutils/2.30/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch create mode 100644 package/bison/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch create mode 100644 package/bison/0002-fflush-be-more-paranoid-about-libio.h-change.patch create mode 100644 package/bluez5_utils/0002-bt_shell-APIs-shall-only-be-build-if-readline-is-pre.patch create mode 100644 package/boost/0005-fix-build-with-g-5.patch create mode 100644 package/brltty/0001-Prevent-scancodes-from-generating-spurious-log-messa.patch create mode 100644 package/brltty/0002-Check-for-ioperm-to-make-sure-the-platform-supports-.patch create mode 100644 package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch create mode 100644 package/brltty/0004-buildsys-fix-cross-compilation.patch create mode 100644 package/brltty/Config.in create mode 100644 package/brltty/S10brltty create mode 100644 package/brltty/brltty.hash create mode 100644 package/brltty/brltty.mk create mode 100644 package/brltty/brltty.service create mode 100644 package/brotli/0001-CMake-Allow-using-BUILD_SHARED_LIBS-to-choose-static.patch create mode 100644 package/brotli/0001-Tell-CMake-to-not-check-for-a-C-compiler.patch create mode 100644 package/brotli/Config.in create mode 100644 package/brotli/brotli.hash create mode 100644 package/brotli/brotli.mk create mode 100644 package/busybox/0006-bunzip2-fix-runCnt-overflow-from-bug-10431.patch create mode 100644 package/busybox/0007-unlzma-fix-SEGV-closes-10436.patch create mode 100644 package/cargo-bin/cargo-bin.hash create mode 100644 package/cargo-bin/cargo-bin.mk create mode 100644 package/cargo/Config.in.host create mode 100644 package/cargo/cargo.hash create mode 100644 package/cargo/cargo.mk create mode 100644 package/cargo/config.in create mode 100644 package/chrony/0002-util-fall-back-to-reading-dev-urandom-when-getrandom.patch create mode 100644 package/clamav/0001-clamdscan-proto.c-fix-build-error-due-to-missing-soc.patch delete mode 100644 package/clamav/0001-clamdscan.patch rename package/clamav/{0002-backtrace-uClibc.patch => 0002-mbox-do-not-use-backtrace-if-using-uClibc-without-ba.patch} (53%) create mode 100644 package/clamav/0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch create mode 100644 package/connman/0001-tethering-Reorder-header-includes.patch create mode 100644 package/cramfs/0004-Include-sysmacros.h-to-compile-with-glibc-2.28.patch create mode 100644 package/cryptsetup/0001-Remove-json_object-typedef.patch delete mode 100644 package/cryptsetup/0001-mkdir.patch create mode 100644 package/cups-filters/0001-Replace-relative-linking-with-absolute-linking.patch create mode 100644 package/cups-filters/Config.in create mode 100644 package/cups-filters/cups-filters.hash create mode 100644 package/cups-filters/cups-filters.mk create mode 100644 package/curlpp/Config.in create mode 100644 package/curlpp/curlpp.hash create mode 100644 package/curlpp/curlpp.mk create mode 100644 package/daq/0001-Fix-build-against-the-musl-C-library.patch create mode 100644 package/daq/Config.in create mode 100644 package/daq/daq.hash create mode 100644 package/daq/daq.mk create mode 100644 package/dash/0002-histedit-fix-build-with-musl-libc.patch rename package/dhcp/{0002-bind-cross-compile.patch => 0001-bind-cross-compile.patch} (100%) create mode 100644 package/dhcp/0002-v4_3-Plugs-a-socket-descriptor-leak-in-OMAPI.patch create mode 100644 package/dhcp/0003-Correct-buffer-overrun-in-pretty_print_option.patch create mode 100644 package/dhcp/0004-Corrected-refcnt-loss-in-option-parsing.patch create mode 100644 package/dnsmasq/0001-DNSSEC-fix-for-wildcard-NSEC-records.-CVE-2017-15107.patch create mode 100644 package/dnsmasq/0002-Fix-DNSSEC-validation-errors-introduced-in-4fe6744a2.patch create mode 100644 package/docker-proxy/Config.in create mode 100644 package/docker-proxy/docker-proxy.hash create mode 100644 package/docker-proxy/docker-proxy.mk create mode 100644 package/domoticz/0001-Fix-compilation-with-boost-1.66.patch create mode 100644 package/dovecot/0001-byteorder.h-fix-uclibc-build.patch create mode 100644 package/dropbear/0001-only-advertise-single-server-ecdsa-key-when-R-is-used.patch create mode 100644 package/dropbear/0002-Wait-to-fail-invalid-usernames.patch delete mode 100644 package/eeprog/Config.in delete mode 100644 package/eeprog/eeprog.hash delete mode 100644 package/eeprog/eeprog.mk delete mode 100644 package/ejabberd/0004-correct-include.patch create mode 100644 package/ejabberd/0004-correct-includes.patch create mode 100644 package/ejabberd/0008-handle-error-case-from-lib_dir.patch delete mode 100644 package/ejabberd/0008-rebar-uses-host-dependencies.patch create mode 100644 package/ejabberd/0009-disable-mod_avatar.patch delete mode 100644 package/erlang/0001-build-fix.patch rename package/erlang/{0002-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch => 0001-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch} (100%) rename package/erlang/{0003-erts-emulator-reorder-inclued-headers-paths.patch => 0002-erts-emulator-reorder-inclued-headers-paths.patch} (100%) create mode 100644 package/erlang/0003-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch create mode 100644 package/exim/0005-Fix-base64d-buffer-size-CVE-2018-6789.patch create mode 100644 package/expect/expect.hash delete mode 100644 package/faad2/0001-getopt-fix-strncmp-declaration.patch create mode 100644 package/faketime/0002-src-Makefile-disable-Werror.patch create mode 100644 package/fastd/0003-cipher-remove-aes128-ctr-NaCl-implementation.patch create mode 100644 package/fbgrab/0100-fix-pixfmt-report.patch create mode 100644 package/ffmpeg/0002-ffmpeg-pthreads.patch create mode 100644 package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch create mode 100644 package/flann/0001-src-cpp-fix-cmake-3.11-build.patch create mode 100644 package/flatbuffers/Config.in create mode 100644 package/flatbuffers/flatbuffers.hash create mode 100644 package/flatbuffers/flatbuffers.mk create mode 100644 package/freescale-imx/imx-gpu-g2d/Config.in create mode 100644 package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash create mode 100644 package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk create mode 100644 package/freescale-imx/imx-m4fwloader/Config.in create mode 100644 package/freescale-imx/imx-m4fwloader/imx-m4fwloader.hash create mode 100644 package/freescale-imx/imx-m4fwloader/imx-m4fwloader.mk create mode 100644 package/gcc/6.4.0/0002-fix-building-on-ppc64.patch create mode 100644 package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch create mode 100644 package/gcc/6.4.0/872-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch delete mode 100644 package/gcc/7.2.0/0870-xtensa-fix-PR-target-82181.patch create mode 100644 package/gcc/7.3.0/0002-fix-building-on-ppc64.patch create mode 100644 package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch create mode 100644 package/gcc/7.3.0/0003-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch rename package/gcc/{7.2.0 => 7.3.0}/0100-uclibc-conf.patch (100%) rename package/gcc/{7.2.0 => 7.3.0}/0810-arm-softfloat-libgcc.patch (100%) rename package/gcc/{7.2.0 => 7.3.0}/0860-cilk-fix-build-without-wchar.patch (100%) rename package/gcc/{7.2.0 => 7.3.0}/0891-fix-m68k-uclinux.patch (100%) rename package/gcc/{7.2.0 => 7.3.0}/0892-microblaze-Revert.patch (100%) rename package/gcc/{7.2.0 => 7.3.0}/0900-remove-selftests.patch (100%) create mode 100644 package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch rename package/gcc/{musl-5.4.0 => or1k-musl-5.4.0-20170218}/100-uclibc-conf.patch (100%) rename package/gcc/{musl-5.4.0 => or1k-musl-5.4.0-20170218}/301-missing-execinfo_h.patch (100%) rename package/gcc/{musl-5.4.0 => or1k-musl-5.4.0-20170218}/850-libstdcxx-uclibc-c99.patch (100%) rename package/gcc/{musl-5.4.0 => or1k-musl-5.4.0-20170218}/860-cilk-wchar.patch (100%) rename package/gcc/{musl-5.4.0 => or1k-musl-5.4.0-20170218}/930-libgcc-disable-split-stack-nothreads.patch (100%) create mode 100644 package/gconf/Config.in create mode 100644 package/gconf/gconf.hash create mode 100644 package/gconf/gconf.mk create mode 100644 package/gdb/7.12.1/0007-gdbserver-fix-build-for-m68k.patch create mode 100644 package/gdb/8.0.1/0005-gdbserver-fix-build-for-m68k.patch create mode 100644 package/glorytun/Config.in create mode 100644 package/glorytun/glorytun.hash create mode 100644 package/glorytun/glorytun.mk create mode 100644 package/gnupg/Config.in.host rename package/gpsd/{0002-SConstruct-do-not-force-O2-by-default.patch => 0001-SConstruct-do-not-force-O2-by-default.patch} (100%) delete mode 100644 package/gpsd/0001-do-not-interact-with-systemctl-when-cross-compiling.patch create mode 100644 package/gpsd/0002-Fix-isync-build-when-ublox-not-selected-too.patch delete mode 100644 package/gstreamer1/gst1-plugins-bad/0001-openjpeg-Support-building-with-openjpeg-2.3-simpler.patch create mode 100644 package/gstreamer1/gstreamer1-mm/Config.in create mode 100644 package/gstreamer1/gstreamer1-mm/gstreamer1-mm.hash create mode 100644 package/gstreamer1/gstreamer1-mm/gstreamer1-mm.mk create mode 100644 package/gupnp-av/0001-Fix-static-library-linking-with-gupnp.patch create mode 100644 package/i2c-tools/0001-lib-Module.mk-Add-missing-dependencies.patch create mode 100644 package/i2c-tools/0002-Makefile-Add-flag-to-disable-dynamic-library.patch create mode 100644 package/i2c-tools/0003-lib-Module.mk-Drop-unused-variable-LIB_OBJECTS.patch create mode 100644 package/i2c-tools/0004-tools-Module.mk-Add-missing-dependencies.patch create mode 100644 package/i2c-tools/0005-lib-Module.mk-Fix-LIB_LINKS-dependency.patch create mode 100644 package/i2c-tools/0006-Makefile-Allow-to-really-disable-the-dynamic-library.patch create mode 100644 package/i2c-tools/0007-eeprog-Module.mk-Add-missing-dependency.patch create mode 100644 package/i2c-tools/0008-lib-Module.mk-don-t-install-dynamic-library-when-dis.patch delete mode 100644 package/icu/0006-i18n-Drop-include-xlocale.h.patch delete mode 100644 package/iproute2/0002-Fix-build-with-uClibc-ng.patch delete mode 100644 package/iproute2/0003-lib-fix-multiple-strlcpy-definition.patch create mode 100644 package/ipsec-tools/0005-CVE-2016-10396.patch create mode 100644 package/json-c/0001-configure.ac-remove-Werror.patch delete mode 100644 package/json-c/0001-don-t-threat-warnings-as-errors.patch delete mode 100644 package/json-c/0002-Link-against-libm-when-needed.patch create mode 100644 package/json-for-modern-cpp/Config.in create mode 100644 package/json-for-modern-cpp/json-for-modern-cpp.hash create mode 100644 package/json-for-modern-cpp/json-for-modern-cpp.mk create mode 100644 package/keepalived/0001-Fix-build-with-Linux-kernel-headers-v4.15.patch create mode 100644 package/kodi-pvr-mediaportal-tvserver/0001-live555-remove-xlocale.h-from-Locale.hh.patch create mode 100644 package/kodi-texturepacker/0002-fix_reallocarray.patch create mode 100644 package/kodi/0003-cmake-iconv-is-a-required-dependency.patch delete mode 100644 package/kvm-unit-tests/0001-x86-hyperv_clock-be-explicit-about-mul-instruction-d.patch create mode 100644 package/kvm-unit-tests/0002-kvm-unit-tests-test-for-rdseed-rdrand.patch delete mode 100644 package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch delete mode 100644 package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch delete mode 100644 package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch delete mode 100644 package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch delete mode 100644 package/kvmtool/0005-Fix-call-to-connect.patch delete mode 100644 package/lcms2/0001-Fix-lcms2.pc.in-thread-library-dependency.patch create mode 100644 package/lcms2/0001-Upgrade-Visual-studio-2017-15.8.patch delete mode 100644 package/lcms2/0002-Added-an-extra-check-to-MLU-bounds.patch create mode 100644 package/leveldb/0003-fix-parallel-build.patch delete mode 100644 package/libarchive/0001-Do-something-sensible-for-empty-strings-to-make-fuzz.patch create mode 100644 package/libcpprestsdk/0001-fix-xlocale-header-check.patch create mode 100644 package/libcpprestsdk/0002-include-sys-time-for-struct-timeval.patch create mode 100644 package/libcpprestsdk/0003-fix-strand.patch create mode 100644 package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch create mode 100644 package/libcpprestsdk/Config.in create mode 100644 package/libcpprestsdk/libcpprestsdk.hash create mode 100644 package/libcpprestsdk/libcpprestsdk.mk create mode 100644 package/libdrm/0003-configure-Makefile.am-use-pkg-config-to-discover-lib.patch delete mode 100644 package/libgdiplus/0001-Fix-compile-error-when-cross-compiling.patch create mode 100644 package/libglib2/0004-Do-not-hardcode-python-path-into-various-tools.patch create mode 100644 package/libgpgme/0001-core-Tweak-STATUS_FAILURE-handling.patch create mode 100644 package/libgta/Config.in create mode 100644 package/libgta/libgta.hash create mode 100644 package/libgta/libgta.mk create mode 100644 package/libjpeg/libjpeg.pc.in create mode 100644 package/libmaxminddb/0001-Add-disable-binaries.patch delete mode 100644 package/libnl/0003-Revert-build-enable-building-cli-during-tests.patch create mode 100644 package/libnss/0004-Bug-1438426-Avoid-stringop-truncation-warning-r-fran.patch create mode 100644 package/libopenssl/0003-Reproducible-build-do-not-leak-compiler-path.patch create mode 100644 package/libostree/Config.in create mode 100644 package/libostree/libostree.hash create mode 100644 package/libostree/libostree.mk create mode 100644 package/libpqxx/0001-include-sys-time.h-outside-fallback-select-55.patch create mode 100644 package/libselinux/0003-libselinux-build-follow-standard-semantics-for-DESTD.patch delete mode 100644 package/libselinux/0003-revert-ln-relative.patch create mode 100644 package/libselinux/0004-Fix-build-break-around-__atomic_-with-GCC-4.7.patch create mode 100644 package/libselinux/0004-revert-ln-relative.patch create mode 100644 package/libsemanage/0002-libsemanage-build-follow-standard-semantics-for-DESTD.patch create mode 100644 package/libsepol/0001-libsepol-build-follow-standard-semantics-for-DESTD.patch rename package/libsepol/{0001-support-static-only.patch => 0003-support-static-only.patch} (57%) rename package/libsepol/{0003-revert-ln-relative.patch => 0004-revert-ln-relative.patch} (54%) create mode 100644 package/libsoup/0001-cookie-jar-bail-if-hostname-is-an-empty-string.patch create mode 100644 package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch delete mode 100644 package/libtirpc/0003-Add-rpcgen-program-from-nfs-utils-sources.patch rename package/libtirpc/{0004-Automatically-generate-XDR-header-files-from-.x-sour.patch => 0003-Automatically-generate-XDR-header-files-from-.x-sour.patch} (98%) rename package/libtirpc/{0005-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch => 0004-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch} (100%) rename package/libtirpc/{0006-Disable-DES-authentification-support.patch => 0005-Disable-DES-authentification-support.patch} (100%) rename package/libtirpc/{0007-include-stdint.h-for-uintptr_t.patch => 0006-include-stdint.h-for-uintptr_t.patch} (100%) create mode 100644 package/libupnp18/Config.in create mode 100644 package/libupnp18/libupnp18.hash create mode 100644 package/libupnp18/libupnp18.mk delete mode 100644 package/libv4l/0002-ir-ctl-fixes-for-musl-compile.patch create mode 100644 package/libv4l/0002-keytable-fix-EVIOCSCLOCKID-related-compile-failure.patch create mode 100644 package/libv4l/0003-libdvbv5-add-optional-copy-of-TEMP_FAILURE_RETRY-mac.patch create mode 100644 package/libv4l/0004-Build-sdlcam-only-if-jpeg-is-enabled.patch delete mode 100644 package/libv4l/0004-configure.ac-clarify-configure-summary.patch delete mode 100644 package/libv4l/0005-configure.ac-revisit-v4l2-ctl-compliance-using-libv4.patch delete mode 100644 package/libv4l/0006-configure.ac-revisit-disable-libv4l-to-disable-dyn-l.patch delete mode 100644 package/libv4l/0007-configure.ac-add-disable-libv4l-option.patch delete mode 100644 package/libv4l/0008-configure.ac-fix-build-of-v4l-utils-on-uclinux.patch delete mode 100644 package/libv4l/0009-configure.ac-add-USE_LIBV4L-to-summary.patch delete mode 100644 package/libv4l/0010-Build-libv4lconvert-helper-support-only-when-fork-is.patch delete mode 100644 package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch create mode 100644 package/libvncserver/0001-Limit-client-cut-text-length-to-1-MB.patch create mode 100644 package/libvorbis/0001-CVE-2017-14160-fix-bounds-check-on-very-low-sample-rates.patch create mode 100644 package/libxml2/0001-CVE-2017-8872.patch delete mode 100644 package/libxslt/0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch create mode 100644 package/libzip/0001-Use-cmake-E-tar-to-extract-test-data.patch rename package/{zlib/zlib.hash => libzlib/libzlib.hash} (100%) create mode 100644 package/libzlib/libzlib.mk create mode 100644 package/lighttpd/lighttpd_tmpfiles.conf create mode 100644 package/linuxptp/0001-missing.h-drop-clock_nanosleep-replacement.patch create mode 100644 package/live555/0001-Add-a-pkg-config-file-for-the-shared-libraries.patch create mode 100644 package/lldpd/0003-configure-remove-check-on-CXX-compiler.patch create mode 100644 package/ltp-testsuite/0002-numa-Fix-numa-v2-detection-for-cross-compilation.patch delete mode 100644 package/ltp-testsuite/0002-uClibc-ng-has-no-profil-support.patch delete mode 100644 package/ltp-testsuite/0003-uClibc-ng-need-__UCLIBC_SV4_DEPRECATED__-enabled-for.patch create mode 100644 package/lttng-libust/0001-configure.ac-add-disable-examples-option-to-not-buil.patch delete mode 100644 package/lttng-libust/0001-lttng-ust-elf.c-define-NT_GNU_BUILD_ID-if-not-define.patch delete mode 100644 package/lttng-libust/0002-doc-examples-Makefile.am-define-C-and-C-compilers-fo.patch delete mode 100644 package/lttng-libust/0003-Validate-the-presence-of-dlmopen-at-configure-time.patch delete mode 100644 package/lttng-libust/0004-Fix-include-config.h-to-resolve-HAVE_DLMOPEN.patch delete mode 100644 package/lttng-tools/0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch delete mode 100644 package/lttng-tools/0002-Fix-src-common-pipe.h-include-sys-types.h-for-ssize_.patch delete mode 100644 package/lttng-tools/0003-Fix-warning-src-bin-lttng-utils.c-cast-incompatible-.patch create mode 100644 package/lua-flu/0001-use-system-xattr-h.patch create mode 100644 package/lua-utf8/Config.in create mode 100644 package/lua-utf8/lua-utf8.hash create mode 100644 package/lua-utf8/lua-utf8.mk create mode 100644 package/luadbi-sqlite3/Config.in create mode 100644 package/luadbi-sqlite3/luadbi-sqlite3.hash create mode 100644 package/luadbi-sqlite3/luadbi-sqlite3.mk create mode 100644 package/luadbi/Config.in create mode 100644 package/luadbi/luadbi.hash create mode 100644 package/luadbi/luadbi.mk create mode 100644 package/lvm2/0001-configure-Introduce-enable-symvers-option.patch create mode 100644 package/lynx/0001-src-chrtrans-don-t-build-host-tools-with-target-LDFL.patch create mode 100644 package/lynx/Config.in create mode 100644 package/lynx/lynx.hash create mode 100644 package/lynx/lynx.mk create mode 100644 package/m4/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch create mode 100644 package/m4/0002-fflush-be-more-paranoid-about-libio.h-change.patch create mode 100644 package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch create mode 100644 package/mediastreamer/0002-m4-fix-local-ffmpeg-and-avcodec-function-conflict.patch create mode 100644 package/meson/cross-compilation.conf.in create mode 100644 package/meson/meson.hash create mode 100644 package/meson/meson.mk create mode 100644 package/mongoose/0001-Fix-body-length-calculation-in-mg_handle_cgi.patch create mode 100644 package/mosquitto/0001-websockets.c-unbreak-build-without-TLS.patch delete mode 100644 package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch delete mode 100644 package/motion/0002-Rename-base64_encode.patch create mode 100644 package/mpv/0003-rpi-fix-linking-errors.patch create mode 100644 package/mpv/0004-libva20.patch create mode 100644 package/mtd/0001-revert-return-correct-error-number-in-ubi_get_vol_info1.patch create mode 100644 package/musl/0002-add-additional-uapi-guards-for-Linux-kernel-header-f.patch delete mode 100644 package/musl/0002-arm-atomics-asm-with-new-binutils.patch delete mode 100644 package/musl/0003-in-dns-parsing-callback-enforce-MAXADDRS-to-preclude.patch delete mode 100644 package/nano/0001-fix-compilation-when-configured-with-enable-tiny.patch create mode 100644 package/nasm/0001-nasmlib-Drop-unused-seg_init.patch create mode 100644 package/netcat-openbsd/netcat-openbsd.hash delete mode 100644 package/netsniff-ng/0001-flowtop-take-PKG_CONFIG-into-account-for-libnetfilte.patch delete mode 100644 package/netsniff-ng/0002-proc.h-add-missing-headers.patch delete mode 100644 package/netsniff-ng/0003-pcap_io.h-fix-if_arp.h-musl-libc-kernel-headers-conf.patch delete mode 100644 package/netsniff-ng/0004-staging-compilation-fix-with-new-gcc.patch delete mode 100644 package/netsnmp/0001-configure-Eliminate-the-hard-coded-libnl-3-include-p.patch create mode 100644 package/netsnmp/0001-configure-static-linking-Fix-SSL-checks.patch create mode 100644 package/netsnmp/0002-configure-Fix-lcrypto-lz-test.patch create mode 100644 package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch create mode 100644 package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch create mode 100644 package/nftables/0001-src-fix-build-with-older-glibc.patch create mode 100644 package/nilfs-utils/0001-nilfs-utils-use-_POSIX_MAX_INPUT.patch create mode 100644 package/nilfs-utils/0002-nilfs_cleanerd-link-dynamically.patch create mode 100644 package/nilfs-utils/0003-mount.nilfs-drop-include-rpc-types.h.patch create mode 100644 package/nilfs-utils/0004-autoconf-use-PKG_CHECK_MODULES-for-libmount-and-libb.patch create mode 100644 package/nilfs-utils/Config.in create mode 100644 package/nilfs-utils/nilfs-utils.hash create mode 100644 package/nilfs-utils/nilfs-utils.mk create mode 100644 package/ntp/0003-fix-nommu.patch delete mode 100644 package/ntp/0003-ntpq-fpic.patch create mode 100644 package/ntp/0004-fix-work-fork-without-droproot.patch delete mode 100644 package/omxplayer/0001-Makefiles-clean-up-the-cruft.patch create mode 100644 package/omxplayer/0001-Update-Makefile-to-be-compatible-with-buildroot.patch create mode 100644 package/open-lldp/0001-vdptool-fixed-compile-error-for-getline.patch create mode 100644 package/open-lldp/0002-get-inline-functions-work-with-both-gnu11-and-gnu89.patch create mode 100644 package/open-lldp/0003-Makefile.am-disable-Werror.patch create mode 100644 package/open-lldp/0004-fixed-unknown-type-pid_t.patch create mode 100644 package/open-lldp/Config.in create mode 100644 package/open-lldp/open-lldp.hash create mode 100644 package/open-lldp/open-lldp.mk delete mode 100644 package/openntpd/0001-Revert-use-__dead-macro-from-sys-cdefs.h.patch rename package/openntpd/{0002-fix-musl.patch => 0001-fix-musl.patch} (100%) create mode 100644 package/openocd/0003-CVE-2018-5704-Prevent-some-forms-of-Cross-Protocol-S.patch delete mode 100644 package/openpowerlink/0004-use-contrib-getopt-only-on-Windows.patch delete mode 100644 package/openpowerlink/0005-use-pcap-config-to-fix-static-linking-with-libpcap.patch delete mode 100644 package/openssh/0001-configure-ac-detect-mips-abi.patch rename package/openssh/{0003-fix-pam-uclibc-pthreads-clash.patch => 0001-fix-pam-uclibc-pthreads-clash.patch} (100%) delete mode 100644 package/openssh/0002-configure-ac-properly-set-seccomp-audit-arch-for-mips64.patch rename package/openssh/{0004-fix-howmany-include.patch => 0002-fix-howmany-include.patch} (100%) delete mode 100644 package/openssh/0005-openbsd-compat-bsd-getpagesize.c-include-includes.h-.patch create mode 100644 package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch create mode 100644 package/opentracing-cpp/Config.in create mode 100644 package/opentracing-cpp/opentracing-cpp.hash create mode 100644 package/opentracing-cpp/opentracing-cpp.mk create mode 100644 package/parted/0005-linux-Include-sys-sysmacros.h-for-major-macro.patch create mode 100644 package/patch/0001-Fix-segfault-with-mangled-rename-patch.patch create mode 100644 package/patch/0002-Allow-input-files-to-be-missing-for-ed-style-patches.patch create mode 100644 package/patch/0003-Fix-arbitrary-command-execution-in-ed-style-patches-.patch create mode 100644 package/patchelf/0004-patchelf-Check-ELF-endianness-before-writing-new-run.patch create mode 100644 package/pcre2/0001-fix-heapframe-alignment.patch delete mode 100644 package/pdbg/0001-template.S-fix-to-build-on-architecture-with-non-emp.patch create mode 100644 package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch rename package/php/{0007-avoid-bfin-gcc-segfault.patch => 0006-avoid-bfin-gcc-segfault.patch} (88%) rename package/php/{0009-Call-apxs-with-correct-prefix.patch => 0007-Call-apxs-with-correct-prefix.patch} (95%) create mode 100644 package/php/0008-ext-xml-expat_compat.h-add-missing-php.h-include.patch delete mode 100644 package/php/0008-fix-asm-constraints-in-aarch64-multiply-macro.patch delete mode 100644 package/physfs/0001-Fix-builds-with-modern-GCC.patch create mode 100644 package/physfs/physfs.hash create mode 100644 package/pimd/Config.in create mode 100644 package/pimd/pimd.hash create mode 100644 package/pimd/pimd.mk create mode 100644 package/pound/0001-fix-openssl-1.0.2.patch delete mode 100644 package/procps-ng/0001-remove-index.patch delete mode 100644 package/procps-ng/0002-use-pkgconfig-for-ncursesw-cflags.patch delete mode 100644 package/procps-ng/0003-ps-output.c-include-dlfcn.h-only-when-necessary.patch create mode 100644 package/proj/Config.in create mode 100644 package/proj/proj.hash create mode 100644 package/proj/proj.mk create mode 100644 package/ptpd2/0002-ntp_isc_md5-rename-EVP_MD_CTX-into-PTPD_EVP_MD_CTX.patch create mode 100644 package/ptpd2/0003-Solve-issue-25-Removing-type-U64-from-net-snmp-relat.patch create mode 100644 package/pv/0001-configure.in-tighten-AIX-test.patch create mode 100644 package/python-crossbar/0002-Rework-runtime-dependencies.patch create mode 100644 package/python-flask-cors/Config.in create mode 100644 package/python-flask-cors/python-flask-cors.hash create mode 100644 package/python-flask-cors/python-flask-cors.mk create mode 100644 package/python-functools32/python-functools32.hash create mode 100644 package/python-jaraco-classes/Config.in create mode 100644 package/python-jaraco-classes/python-jaraco-classes.hash create mode 100644 package/python-jaraco-classes/python-jaraco-classes.mk create mode 100644 package/python-more-itertools/Config.in create mode 100644 package/python-more-itertools/python-more-itertools.hash create mode 100644 package/python-more-itertools/python-more-itertools.mk delete mode 100644 package/python-mwclient/0001-use-exec-in-py3-compatible-manner.patch create mode 100644 package/python-oauthlib/Config.in create mode 100644 package/python-oauthlib/python-oauthlib.hash create mode 100644 package/python-oauthlib/python-oauthlib.mk create mode 100644 package/python-raven/Config.in create mode 100644 package/python-raven/python-raven.hash create mode 100644 package/python-raven/python-raven.mk create mode 100644 package/python-remi/Config.in create mode 100644 package/python-remi/python-remi.hash create mode 100644 package/python-remi/python-remi.mk create mode 100644 package/python-requests-oauthlib/Config.in create mode 100644 package/python-requests-oauthlib/python-requests-oauthlib.hash create mode 100644 package/python-requests-oauthlib/python-requests-oauthlib.mk create mode 100644 package/python-schedule/Config.in create mode 100644 package/python-schedule/python-schedule.hash create mode 100644 package/python-schedule/python-schedule.mk create mode 100644 package/python-secretstorage/Config.in create mode 100644 package/python-secretstorage/python-secretstorage.hash create mode 100644 package/python-secretstorage/python-secretstorage.mk create mode 100644 package/python-see/Config.in create mode 100644 package/python-see/python-see.hash create mode 100644 package/python-see/python-see.mk create mode 100644 package/python-tabledata/Config.in create mode 100644 package/python-tabledata/python-tabledata.hash create mode 100644 package/python-tabledata/python-tabledata.mk create mode 100644 package/python-txtorcon/Config.in create mode 100644 package/python-txtorcon/python-txtorcon.hash create mode 100644 package/python-txtorcon/python-txtorcon.mk create mode 100644 package/python-watchdog/0001-Add-a-workaround-to-support-uClibc-library.patch create mode 100644 package/python-websockets/0001-Fix-behavior-of-recv-in-the-CLOSING-state.patch create mode 100644 package/python-xlib/Config.in create mode 100644 package/python-xlib/python-xlib.hash create mode 100644 package/python-xlib/python-xlib.mk rename package/qt5/qt5base/{qmake.conf => qmake.conf.in} (94%) create mode 100644 package/qt5/qt5charts/Config.in create mode 100644 package/qt5/qt5charts/qt5charts.hash create mode 100644 package/qt5/qt5charts/qt5charts.mk delete mode 100644 package/qt5/qt5connectivity/5.9.2/0001-Example-heartrate-server-needs-only-core-and-bluetoo.patch delete mode 100644 package/qt5/qt5declarative/5.9.2/0001-Fix-no-opengl-builds.patch create mode 100644 package/qt5/qt5script/0001-Detect-32-bits-armv8-a-architecture.patch create mode 100644 package/qt5/qt5scxml/Config.in create mode 100644 package/qt5/qt5scxml/qt5scxml.hash create mode 100644 package/qt5/qt5scxml/qt5scxml.mk create mode 100644 package/qt5/qt5webengine/5.6.3/0001-Change-default-SSL-directory.patch rename package/qt5/qt5webengine/{5.9.2 => 5.6.3}/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch (74%) rename package/qt5/qt5webengine/{chromium.inc => chromium-latest.inc} (100%) create mode 100644 package/qt5/qt5webengine/chromium-lts.inc create mode 100644 package/qt5/qt5webkit-examples/0001-Build-examples.patch create mode 100644 package/qt5/qt5webkit-examples/Config.in create mode 100644 package/qt5/qt5webkit-examples/qt5webkit-examples.hash create mode 100644 package/qt5/qt5webkit-examples/qt5webkit-examples.mk create mode 100644 package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch create mode 100644 package/qt5/qt5webkit/5.9.1/0003-Detect-32-bits-armv8-a-architecture.patch create mode 100644 package/quagga/0005-bgpd-security-invalid-attr-length-sends-NOTIFY-with-.patch create mode 100644 package/quagga/0006-bgpd-security-Fix-double-free-of-unknown-attribute.patch create mode 100644 package/quagga/0007-bgpd-security-debug-print-of-received-NOTIFY-data-ca.patch create mode 100644 package/quagga/0008-bgpd-security-fix-infinite-loop-on-certain-invalid-O.patch create mode 100644 package/rpcbind/0005-rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch create mode 100644 package/rpcbind/0006-pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch create mode 100644 package/rpi-userland/0006-host-apps-dtoverlay-don-t-install-script-in-random-l.patch create mode 100644 package/rtl8189fs/Config.in create mode 100644 package/rtl8189fs/rtl8189fs.hash create mode 100644 package/rtl8189fs/rtl8189fs.mk create mode 100644 package/rtl8723bu/Config.in create mode 100644 package/rtl8723bu/rtl8723bu.hash create mode 100644 package/rtl8723bu/rtl8723bu.mk create mode 100644 package/rust-bin/rust-bin.hash create mode 100644 package/rust-bin/rust-bin.mk create mode 100644 package/rust/rust.hash create mode 100644 package/rust/rust.mk create mode 100644 package/rustc/Config.in.host create mode 100644 package/rustc/rustc.mk create mode 100644 package/rygel/0001-Allow-UI-build-without-gstreamer-video.patch create mode 100644 package/rygel/Config.in create mode 100644 package/rygel/S99rygel create mode 100644 package/rygel/rygel.hash create mode 100644 package/rygel/rygel.mk create mode 100644 package/rygel/rygel.service create mode 100644 package/safeclib/0001-Fix-install-when-HAVE_WCHAR-is-unset.patch create mode 100644 package/safeclib/Config.in create mode 100644 package/safeclib/safeclib.hash create mode 100644 package/safeclib/safeclib.mk create mode 100644 package/samba4/0002-Fix-compilation-of-Samba-4.7.4-with-disabled-ADS.patch create mode 100644 package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch create mode 100644 package/samba4/0004-Disable-build-of-manpages-and-documentation.patch delete mode 100644 package/screen/0009-install-dir-dependency.patch rename package/screen/{0010-rename-sched_h.patch => 0009-rename-sched_h.patch} (100%) create mode 100644 package/screen/0010-comm-h-now-depends-on-term-h.patch create mode 100644 package/screen/0011-comm.h-needed-for-list_-display-generic-.o.patch create mode 100644 package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch create mode 100644 package/selinux-python/0001-python-build-follow-standard-semantics-for-DESTD.patch create mode 100644 package/shairport-sync/0001-Sometimes-libsoxr-is-built-to-rely-on-libavutil.patch create mode 100644 package/shairport-sync/0002-Include-a-definition-of-HAVE_LIBSOXR-with-using-pkg_config.patch create mode 100644 package/solarus/0001-cmake-remove-Werror.patch create mode 100644 package/solarus/Config.in create mode 100644 package/solarus/solarus.hash create mode 100644 package/solarus/solarus.mk delete mode 100644 package/spice/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch delete mode 100644 package/spice/0002-Prevent-integer-overflows-in-capability-checks.patch delete mode 100644 package/spice/0003-main-channel-Prevent-overflow-reading-messages-from-.patch delete mode 100644 package/spice/0004-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch delete mode 100644 package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch delete mode 100644 package/spice/0006-reds-Avoid-buffer-overflows-handling-monitor-configu.patch create mode 100644 package/squashfs/0001-include-sysmacros.patch delete mode 100644 package/squashfs/0001-musl.patch create mode 100644 package/squid/0003-ESI-make-sure-endofName-never-exceeds-tagEnd-130.patch create mode 100644 package/squid/0004-Fix-indirect-IP-logging-for-transactions-without-a-c.patch delete mode 100644 package/strace/0001-error_prints-fix-program_invocation_name-type-confli.patch create mode 100644 package/stress-ng/0001-stress-netlink-proc-fix-build-with-kernel-v3.9.patch delete mode 100644 package/strongswan/0001-af_alg-fix-crypt-definition-conflict.patch delete mode 100644 package/strongswan/0002-strongswan-add-missing-include-of-stdint.h.patch delete mode 100644 package/supertuxkart/0001-irrlicht-Get-rid-of-unprefixed-cflags.patch delete mode 100644 package/supertuxkart/0002-irrlicht-Fix-boolean-return-type-for-jpeglib-s-callb.patch delete mode 100644 package/swupdate/0001-Fix-SHA256-hash-verification.patch create mode 100644 package/swupdate/0001-compat.h-introduce-compatibility-header.patch create mode 100644 package/swupdate/0002-Fix-build-if-DOWNLOAD-is-set-but-no-JSON.patch delete mode 100644 package/sysdig/0001-Don-t-include-curlbuild.h.patch create mode 100644 package/syslog-ng/0001-modules-json-Adaptions-for-json-c-v0.13.patch delete mode 100644 package/systemd-bootchart/0001-parse-util-Don-t-use-xlocale.h-35.patch delete mode 100644 package/systemd/0002-build-check-for-ln-relative.patch create mode 100644 package/systemd/0002-install-don-t-use-ln-relative.patch create mode 100644 package/systemd/0004-core-dont-include-libmount-h-in-a-header-file.patch create mode 100644 package/systemd/0005-basic-macros-rename-noreturn.patch create mode 100644 package/tcf-agent/0001-agent-add-install-target-to-the-CMakeLists.patch create mode 100644 package/tcf-agent/0002-linux-remove-explicit-uses-of-__ptrace_request.patch create mode 100644 package/tcf-agent/0003-linux-provide-canonicalize_file_name-for-all-c-libs-.patch create mode 100644 package/tcf-agent/Config.in create mode 100755 package/tcf-agent/S55tcf-agent create mode 100644 package/tcf-agent/tcf-agent.hash create mode 100644 package/tcf-agent/tcf-agent.mk create mode 100644 package/tcf-agent/tcf-agent.service delete mode 100644 package/tinycbor/0001-Fix-static-compilation-of-json2cbor.patch delete mode 100644 package/tpm-tools/0001-tpm_nvread-include-sys-stat.h-for-open-modes.patch delete mode 100644 package/tpm-tools/0002-Makefile.am-make-sure-libintl-is-in-LDFLAGS-when-nee.patch delete mode 100644 package/tpm-tools/0002-configure.in-remove-Werror.patch create mode 100644 package/traceroute/Config.in create mode 100644 package/traceroute/traceroute.hash create mode 100644 package/traceroute/traceroute.mk create mode 100644 package/tremor/tremor.hash create mode 100644 package/trinity/0001-compat-handle-removed-autofs-macros.patch delete mode 100644 package/trinity/0001-use-userspace-headers-for-ax25-instead-of-kernel.patch delete mode 100644 package/trinity/0002-fix-build-when_USE_BPF-is-not-defined.patch delete mode 100644 package/trinity/0003-Check-for-bpf-attr-map-flags.patch delete mode 100644 package/trinity/0004-get_syscall_entry-remove-SYSCALL_OFFSET.patch delete mode 100644 package/trinity/0005-configure-fix-cross-compile-detection-of-broken-ipv6.patch delete mode 100644 package/trinity/0006-Include-sys-io.h-for-UIO_MAXIOV-symbol.patch delete mode 100644 package/turbolua/0001-http-parser-Fix-typo-in-switch-FALLTHROUGH-comment.patch create mode 100644 package/tvheadend/0002-sbuf-fix-uclibc-compilation-error.patch create mode 100644 package/uboot-tools/0004-tools-Include-U-Boot-libfdt-headers-from-their-actua.patch delete mode 100644 package/uboot-tools/0004-uboot-tools-disable-pylibfdt.patch delete mode 100644 package/uboot-tools/0005-Do-not-attempt-to-use-the-systemwide-libfdt.patch create mode 100644 package/uclibc-ng-test/0001-misc-tst-syscall6-fix-build-with-musl-and-older-kenr.patch create mode 100644 package/uclibc/0001-aarch64-sys-ucontext.h-include-bits-sigcontext.h.patch delete mode 100644 package/uclibc/0001-fix-issues-with-gdb-8.0.patch delete mode 100644 package/uclibc/0002-microblaze-handle-R_MICROBLAZE_NONE-for-ld.so-bootst.patch delete mode 100644 package/uclibc/0003-convert-accept4-to-use-cancel.h-macros.patch create mode 100644 package/util-linux/0001-docs-add-ISC-licence.patch delete mode 100644 package/util-linux/0001-md5-declare-byteReverse-as-static.patch create mode 100644 package/util-linux/0002-lib-randutils-Do-not-block-on-getrandom.patch create mode 100644 package/util-linux/0003-lib-randutils-don-t-break-on-EAGAIN-use-usleep.patch create mode 100644 package/vboot-utils/0005-include-sys-sysmacros.h-for-major.patch create mode 100644 package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch delete mode 100644 package/vlc/0013-codec-avcodec-check-avcodec-visible-sizes.patch delete mode 100644 package/vlc/0014-decoder-check-visible-size-when-creating-buffer.patch create mode 100644 package/wavpack/0002-issue-27-do-not-overwrite-stack-on-corrupt-RF64-file.patch create mode 100644 package/wavpack/0003-issue-28-do-not-overwrite-heap-on-corrupt-DSDIFF-fil.patch create mode 100644 package/wavpack/0004-issue-28-fix-buffer-overflows-and-bad-allocs-on-corr.patch create mode 100644 package/wavpack/0005-issue-30-issue-31-issue-32-no-multiple-format-chunks.patch create mode 100644 package/wavpack/0006-issue-33-sanitize-size-of-unknown-chunks-before-mall.patch create mode 100644 package/waylandpp/0001-scanner-Fix-compiler-error-missing-stdexcept-to-use-.patch create mode 100644 package/waylandpp/Config.in create mode 100644 package/waylandpp/waylandpp.hash create mode 100644 package/waylandpp/waylandpp.mk create mode 100644 package/webkitgtk/0001-ARM-Building-FELightingNEON.cpp-fails-due-to-missing.patch delete mode 100644 package/webkitgtk/0001-CMake-Values-of-CMAKE_BUILD_TYPE-from-toolchain-file.patch create mode 100644 package/woff2/0001-CMake-Handle-multiple-libraries-being-returned-for-B.patch create mode 100644 package/woff2/Config.in create mode 100644 package/woff2/woff2.hash create mode 100644 package/woff2/woff2.mk create mode 100644 package/wolfssl/Config.in create mode 100644 package/wolfssl/wolfssl.hash create mode 100644 package/wolfssl/wolfssl.mk delete mode 100644 package/x11r7/xdriver_xf86-video-imx-viv/0001-Stop-using-Git-to-write-local-version.patch rename package/x11r7/xserver_xorg-server/{1.19.5 => 1.19.6}/0001-modesettings-needs-dri2.patch (100%) rename package/x11r7/xserver_xorg-server/{1.19.5 => 1.19.6}/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch (100%) rename package/x11r7/xserver_xorg-server/{1.19.5 => 1.19.6}/0003-Remove-check-for-useSIGIO-option.patch (100%) create mode 100644 package/x11r7/xserver_xorg-server/1.19.6/0004-glx-Only-include-compositeext.h-if-COMPOSITE-is-supp.patch delete mode 100644 package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch create mode 100644 package/xerces/0001-fix-CVE-2017-12627.patch create mode 100644 package/xorriso/0001-use-sys-xattr.h.patch create mode 100644 package/zisofs-tools/zisofs-tools.hash create mode 100644 package/zisofs-tools/zisofs-tools.mk create mode 100644 package/zlib-ng/zlib-ng.hash create mode 100644 package/zlib-ng/zlib-ng.mk delete mode 100644 package/znc/0001-Add-time.h-includes-where-appropiate.patch delete mode 100644 package/znc/0002-csocket-timeh.patch create mode 100644 support/config-fragments/autobuild/br-arm-internal-glibc.config create mode 100644 support/config-fragments/autobuild/br-arm-internal-musl.config create mode 100644 support/docker/apt-sources.list create mode 100644 support/kconfig/patches/18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch create mode 100755 support/scripts/check-uniq-files create mode 100644 support/testing/tests/boot/__init__.py create mode 100644 support/testing/tests/boot/test_atf.py create mode 100644 support/testing/tests/core/device_table2.txt create mode 120000 support/testing/tests/core/post-fakeroot.sh mode change 100755 => 120000 support/testing/tests/core/post-image.sh create mode 100644 support/testing/tests/core/squashfs-xattr-kernel.config create mode 100644 support/testing/tests/core/test_file_capabilities.py create mode 100644 support/testing/tests/package/test_rust.py create mode 100755 utils/diffconfig diff --git a/Config.in b/Config.in index ac29828347..584a1f087f 100644 --- a/Config.in +++ b/Config.in @@ -62,6 +62,14 @@ config BR2_HOST_GCC_AT_LEAST_7 default y if BR2_HOST_GCC_VERSION = "7" select BR2_HOST_GCC_AT_LEAST_6 +config BR2_HOST_GCC_AT_LEAST_8 + bool + default y if BR2_HOST_GCC_VERSION = "8" + select BR2_HOST_GCC_AT_LEAST_7 + +# When adding new entries above, be sure to update +# the HOSTCC_MAX_VERSION variable in the Makefile. + # Hidden boolean selected by packages in need of Java in order to build # (example: kodi) config BR2_NEEDS_HOST_JAVA @@ -332,6 +340,9 @@ config BR2_CCACHE_DIR default "$(HOME)/.buildroot-ccache" help Where ccache should store cached files. + If the Linux shell environment has defined the BR2_CCACHE_DIR + environment variable, then this overrides this configuration + item. config BR2_CCACHE_INITIAL_SETUP string "Compiler cache initial setup" @@ -458,7 +469,7 @@ choice config BR2_OPTIMIZE_0 bool "optimization level 0" help - Do not optimize. This is the default. + Do not optimize. config BR2_OPTIMIZE_1 bool "optimization level 1" @@ -525,6 +536,7 @@ config BR2_OPTIMIZE_S -falign-loops -falign-labels -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays -ftree-vect-loop-version + This is the default. endchoice @@ -538,6 +550,7 @@ config BR2_GOOGLE_BREAKPAD_ENABLE depends on BR2_TOOLCHAIN_HAS_THREADS depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC) depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS help This option will enable the use of google breakpad, a library and tool suite that allows you to distribute an application to @@ -565,61 +578,6 @@ config BR2_GOOGLE_BREAKPAD_INCLUDE_FILES endif -choice - bool "build code with Stack Smashing Protection" - default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy - depends on BR2_TOOLCHAIN_HAS_SSP - help - Enable stack smashing protection support using GCC's - -fstack-protector option family. - - See - http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt - for details. - - Note that this requires the toolchain to have SSP support. - This is always the case for glibc and eglibc toolchain, but is - optional in uClibc toolchains. - -config BR2_SSP_NONE - bool "None" - help - Disable stack-smashing protection. - -config BR2_SSP_REGULAR - bool "-fstack-protector" - help - Emit extra code to check for buffer overflows, such as stack - smashing attacks. This is done by adding a guard variable to - functions with vulnerable objects. This includes functions - that call alloca, and functions with buffers larger than 8 - bytes. The guards are initialized when a function is entered - and then checked when the function exits. If a guard check - fails, an error message is printed and the program exits. - -config BR2_SSP_STRONG - bool "-fstack-protector-strong" - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - 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 - -config BR2_SSP_ALL - bool "-fstack-protector-all" - help - Like -fstack-protector except that all functions are - protected. This option might have a significant performance - impact on the compiled binaries. - -endchoice - -comment "Stack Smashing Protection needs a toolchain w/ SSP" - depends on !BR2_TOOLCHAIN_HAS_SSP - choice bool "libraries" default BR2_SHARED_LIBS if BR2_BINFMT_SUPPORTS_SHARED @@ -730,6 +688,133 @@ config BR2_REPRODUCIBLE endmenu +comment "Security Hardening Options" + +choice + bool "Stack Smashing Protection" + default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy + depends on BR2_TOOLCHAIN_HAS_SSP + help + Enable stack smashing protection support using GCC's + -fstack-protector option family. + + See + http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt + for details. + + Note that this requires the toolchain to have SSP support. + This is always the case for glibc and eglibc toolchain, but is + optional in uClibc toolchains. + +config BR2_SSP_NONE + bool "None" + help + Disable stack-smashing protection. + +config BR2_SSP_REGULAR + bool "-fstack-protector" + help + Emit extra code to check for buffer overflows, such as stack + smashing attacks. This is done by adding a guard variable to + functions with vulnerable objects. This includes functions + that call alloca, and functions with buffers larger than 8 + bytes. The guards are initialized when a function is entered + and then checked when the function exits. If a guard check + fails, an error message is printed and the program exits. + +config BR2_SSP_STRONG + bool "-fstack-protector-strong" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + 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 + +config BR2_SSP_ALL + bool "-fstack-protector-all" + help + Like -fstack-protector except that all functions are + protected. This option might have a significant performance + impact on the compiled binaries. + +endchoice + +comment "Stack Smashing Protection needs a toolchain w/ SSP" + depends on !BR2_TOOLCHAIN_HAS_SSP + +choice + bool "RELRO Protection" + depends on BR2_SHARED_LIBS + help + Enable a link-time protection know as RELRO (RELocation Read Only) + which helps to protect from certain type of exploitation techniques + altering the content of some ELF sections. + +config BR2_RELRO_NONE + bool "None" + help + Disables Relocation link-time protections. + +config BR2_RELRO_PARTIAL + bool "Partial" + help + This option makes the dynamic section not writeable after + initialization (with almost no performance penalty). + +config BR2_RELRO_FULL + bool "Full" + help + This option includes the partial configuration, but also + marks the GOT as read-only at the cost of initialization time + during program loading, i.e every time an executable is started. + +endchoice + +comment "RELocation Read Only (RELRO) needs shared libraries" + depends on !BR2_SHARED_LIBS + +choice + bool "Buffer-overflow Detection (FORTIFY_SOURCE)" + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_OPTIMIZE_0 + help + Enable the _FORTIFY_SOURCE macro which introduces additional + checks to detect buffer-overflows in the following standard library + functions: memcpy, mempcpy, memmove, memset, strcpy, stpcpy, + strncpy, strcat, strncat, sprintf, vsprintf, snprintf, vsnprintf, + gets. + + NOTE: This feature requires an optimization level of s/1/2/3/g + + Support for this feature has been present since GCC 4.x. + +config BR2_FORTIFY_SOURCE_NONE + bool "None" + help + Disables additional checks to detect buffer-overflows. + +config BR2_FORTIFY_SOURCE_1 + bool "Conservative" + help + This option sets _FORTIFY_SOURCE to 1 and only introduces + checks that shouldn't change the behavior of conforming + programs. Adds checks at compile-time only. + +config BR2_FORTIFY_SOURCE_2 + bool "Aggressive" + help + This option sets _FORTIFY_SOURCES to 2 and some more + checking is added, but some conforming programs might fail. + Also adds checks at run-time (detected buffer overflow + terminates the program) + +endchoice + +comment "Fortify Source needs a glibc toolchain and optimization" + depends on (!BR2_TOOLCHAIN_USES_GLIBC || BR2_OPTIMIZE_0) endmenu source "toolchain/Config.in" diff --git a/Config.in.legacy b/Config.in.legacy index 35a6d6e1fe..40f39e3a0b 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -135,13 +135,95 @@ comment "legacy options in the menu below. Once you have " comment "disabled all legacy options, this text will " comment "disappear and you will be able to start the build. " comment "* " -comment "Note: at some point in the future, the oldest legacy" -comment "options will be removed, and configuration files " -comment "that still have those options set, will fail to " -comment "build, or run, in unpredictable ways. " +comment "Note: legacy options older than 5 years have been " +comment "removed, and configuration files that still have " +comment "those options set, will fail to build, or run in " +comment "unpredictable ways. " comment "----------------------------------------------------" endif +############################################################################### +comment "Legacy options removed in 2018.02" + +config BR2_PACKAGE_TRANSMISSION_REMOTE + bool "transmission remote tool option removed" + select BR2_LEGACY + select BR2_PACKAGE_TRANSMISSION_DAEMON + help + Upstream does not provide a separate configure option for + the tool transmission-remote, it is built when the + transmission daemon has been enabled. Therefore, Buildroot + has automatically enabled BR2_PACKAGE_TRANSMISSION_DAEMON + for you. + +config BR2_KERNEL_HEADERS_3_4 + bool "kernel headers version 3.4.x are no longer supported" + select BR2_KERNEL_HEADERS_4_1 + select BR2_LEGACY + help + Version 3.4.x of the Linux kernel headers are no longer + maintained upstream and are now removed. As an alternative, + version 4.1.x of the headers have been automatically + selected in your configuration. + +config BR2_KERNEL_HEADERS_3_10 + bool "kernel headers version 3.10.x are no longer supported" + select BR2_KERNEL_HEADERS_4_1 + select BR2_LEGACY + help + Version 3.10.x of the Linux kernel headers are no longer + maintained upstream and are now removed. As an alternative, + version 4.1.x of the headers have been automatically + selected in your configuration. + +config BR2_KERNEL_HEADERS_3_12 + bool "kernel headers version 3.12.x are no longer supported" + select BR2_KERNEL_HEADERS_4_1 + select BR2_LEGACY + help + Version 3.12.x of the Linux kernel headers are no longer + maintained upstream and are now removed. As an alternative, + version 4.1.x of the headers have been automatically + selected in your configuration. + +config BR2_BINUTILS_VERSION_2_27_X + bool "binutils version 2.27 support removed" + select BR2_LEGACY + help + Support for binutils version 2.27 has been removed. The + current default version (2.29 or later) has been selected + instead. + +config BR2_PACKAGE_EEPROG + bool "eeprog package removed" + select BR2_LEGACY + select BR2_PACKAGE_I2C_TOOLS + select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + help + The eeprog program is now provided by the i2c-tools package. + +config BR2_PACKAGE_GNUPG2_GPGV2 + bool "gnupg2 gpgv2 option removed" + select BR2_LEGACY + select BR2_PACKAGE_GNUPG2_GPGV + help + The gpgv2 executable is now named gpgv. The config option + has been renamed accordingly. + +config BR2_PACKAGE_IMX_GPU_VIV_APITRACE + bool "Vivante apitrace tool option removed" + select BR2_LEGACY + help + The apitrace tool for Vivante is not provided by the + imx-gpu-viv package any longer. + +config BR2_PACKAGE_IMX_GPU_VIV_G2D + bool "Vivante G2D libraries from imx-gpu-viv removed" + select BR2_LEGACY + select BR2_PACKAGE_IMX_GPU_G2D + help + The G2D libraries are now provided by the imx-gpu-g2d package. + ############################################################################### comment "Legacy options removed in 2017.11" @@ -1143,13 +1225,6 @@ config BR2_x86_i386 The support for the i386 processors of the x86 architecture has been removed. -config BR2_PACKAGE_QT5WEBKIT_EXAMPLES - bool "qt5webkit-examples package removed" - select BR2_LEGACY - help - The qt5webkit-examples package has been removed, since it - was removed from upstream starting from Qt 5.6. - config BR2_PACKAGE_QT5QUICK1 bool "qt5quick1 package removed" select BR2_LEGACY @@ -1319,6 +1394,7 @@ config BR2_LINUX_KERNEL_SAME_AS_HEADERS config BR2_PACKAGE_CUPS_PDFTOPS bool "Pdftops support has been removed from Cups" + select BR2_PACKAGE_CUPS_FILTERS select BR2_LEGACY help Pdftops support has been removed from the cups package @@ -3059,144 +3135,6 @@ config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8712 help Now covers the whole Realtek 87xx familly: 8712/8723. -############################################################################### -comment "Legacy options removed in 2013.02" - -config BR2_sa110 - bool "sa110 ARM target switched to strongarm" - select BR2_LEGACY - select BR2_strongarm - help - The SA110 is the same as a generic StrongARM, it just differs - in speed, peripherals and cache. - -config BR2_sa1100 - bool "sa1100 ARM target switched to strongarm" - select BR2_LEGACY - select BR2_strongarm - help - The SA1100 is the same as a generic StrongARM, it just differs - in speed, peripherals and cache. - -config BR2_PACKAGE_GDISK - bool "gdisk has been replaced by gptfdisk" - select BR2_LEGACY - select BR2_PACKAGE_GPTFDISK - help - The option has been renamed BR2_PACKAGE_GPTFDISK. - -config BR2_PACKAGE_GDISK_GDISK - bool "gdisk tool from gdisk has been replaced by gdisk in gptfdisk" - select BR2_LEGACY - select BR2_PACKAGE_GPTFDISK - select BR2_PACKAGE_GPTFDISK_GDISK - help - The option has been renamed BR2_PACKAGE_GPTFDISK_GDISK. - -config BR2_PACKAGE_GDISK_SGDISK - bool "sgdisk tool from gdisk has been replaced by sgdisk in gptfdisk" - select BR2_LEGACY - select BR2_PACKAGE_GPTFDISK - select BR2_PACKAGE_GPTFDISK_SGDISK - help - The option has been renamed BR2_PACKAGE_GPTFDISK_SGDISK. - -config BR2_PACKAGE_GDB_HOST - bool "gdb for the host option has been renamed" - select BR2_PACKAGE_HOST_GDB - select BR2_LEGACY - help - Due to the conversion of gdb to the package infrastructure, - the BR2_PACKAGE_GDB_HOST option has been renamed - BR2_PACKAGE_HOST_GDB. - -config BR2_PACKAGE_DIRECTB_DITHER_RGB16 - bool "DirectFB RGB16 dithering option has been renamed" - select BR2_PACKAGE_DIRECTFB_DITHER_RGB16 - select BR2_LEGACY - help - The option has been renamed - BR2_PACKAGE_DIRECTFB_DITHER_RGB16. - -config BR2_PACKAGE_DIRECTB_TESTS - bool "DirectFB Tests option has been renamed" - select BR2_PACKAGE_DIRECTFB_TESTS - select BR2_LEGACY - help - The option has been renamed - BR2_PACKAGE_DIRECTFB_TESTS. - -############################################################################### -comment "Legacy options removed in 2012.11" - -config BR2_PACKAGE_CUSTOMIZE - bool "customize package has been removed" - select BR2_LEGACY - help - The 'customize' special package has been removed. Instead, - we recommend to create either your own packages, or use a - post-build script to customize your root filesystem. See - Buildroot's documentation for more details. - -config BR2_PACKAGE_XSERVER_xorg - bool "X.org modular server" - select BR2_LEGACY - select BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR - help - The option has been renamed - BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR. - -config BR2_PACKAGE_XSERVER_tinyx - bool "KDrive / TinyX server" - select BR2_LEGACY - select BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE - help - The option has been renamed - BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE. - -config BR2_PACKAGE_PTHREAD_STUBS - bool "pthread-stubs option has been renamed" - select BR2_LEGACY - select BR2_PACKAGE_LIBPTHREAD_STUBS - help - For consistency reason, the pthread-stubs package has been - renamed to libpthread-stubs. - -############################################################################### -comment "Legacy options removed in 2012.08" - -config BR2_PACKAGE_GETTEXT_STATIC - bool "libgettext.a is now selected by BR2_PREFER_STATIC_LIB" - select BR2_LEGACY - help - To build a static gettext library, select BR2_PREFER_STATIC_LIB. - - -config BR2_PACKAGE_LIBINTL - bool "libintl" - select BR2_LEGACY - select BR2_PACKAGE_GETTEXT - help - libintl is now installed by selecting BR2_PACKAGE_GETTEXT. This now - only installs the library, not the executables. - -config BR2_PACKAGE_INPUT_TOOLS_EVTEST - bool "input-tools evtest is now a separate package evtest" - select BR2_LEGACY - select BR2_PACKAGE_EVTEST - help - The evtest program from input-tools is now a separate package. - -config BR2_BFIN_FDPIC - bool "BR2_BFIN_FDPIC is now BR2_BINFMT_FDPIC" - select BR2_BINFMT_FDPIC - select BR2_LEGACY - -config BR2_BFIN_FLAT - bool "BR2_BFIN_FLAT is now BR2_BINFMT_FLAT" - select BR2_BINFMT_FLAT - select BR2_LEGACY - endmenu endif # !SKIP_LEGACY diff --git a/Makefile b/Makefile index a86d764721..9fb131fe86 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-2017 by the Buildroot developers +# Copyright (C) 2014-2018 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 @@ -60,6 +60,11 @@ override O := $(patsubst %/,%,$(patsubst %.,%,$(O))) # avoid empty CANONICAL_O in case on non-existing entry. CANONICAL_O := $(shell mkdir -p $(O) >/dev/null 2>&1)$(realpath $(O)) +# gcc fails to build when the srcdir contains a '@' +ifneq ($(findstring @,$(CANONICAL_O)),) +$(error The build directory can not contain a '@') +endif + CANONICAL_CURDIR = $(realpath $(CURDIR)) REQ_UMASK = 0022 @@ -87,9 +92,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2017.11 +export BR2_VERSION := 2018.02.7 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1512070000 +BR2_VERSION_EPOCH = 1540493000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -141,7 +146,7 @@ noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconf # We're building in two situations: when MAKECMDGOALS is empty # (default target is to build), or when MAKECMDGOALS contains # something else than one of the nobuild_targets. -nobuild_targets := source %-source source-check \ +nobuild_targets := source %-source \ legal-info %-legal-info external-deps _external-deps \ clean distclean help show-targets graph-depends \ %-graph-depends %-show-depends %-show-version \ @@ -355,14 +360,36 @@ export HOSTARCH := $(shell LC_ALL=C $(HOSTCC_NOCCACHE) -v 2>&1 | \ -e 's/macppc/powerpc/' \ -e 's/sh.*/sh/' ) -HOSTCC_VERSION := $(shell $(HOSTCC_NOCCACHE) --version | \ - sed -n -r 's/^.* ([0-9]*)\.([0-9]*)\.([0-9]*)[ ]*.*/\1 \2/p') +# When adding a new host gcc version in Config.in, +# update the HOSTCC_MAX_VERSION variable: +HOSTCC_MAX_VERSION := 8 + +HOSTCC_VERSION := $(shell V=$$($(HOSTCC_NOCCACHE) --version | \ + sed -n -r 's/^.* ([0-9]*)\.([0-9]*)\.([0-9]*)[ ]*.*/\1 \2/p'); \ + [ "$${V%% *}" -le $(HOSTCC_MAX_VERSION) ] || V=$(HOSTCC_MAX_VERSION); \ + printf "%s" "$${V}") # For gcc >= 5.x, we only need the major version. ifneq ($(firstword $(HOSTCC_VERSION)),4) HOSTCC_VERSION := $(firstword $(HOSTCC_VERSION)) endif +ifeq ($(BR2_NEEDS_HOST_UTF8_LOCALE),y) +# First, we try to use the user's configured locale (as that's the +# language they'd expect messages to be displayed), then we favour +# a non language-specific locale like C.UTF-8 if one is available, +# so we sort with the C locale to get it at the top. +# This is guaranteed to not be empty, because of the check in +# support/dependencies/dependencies.sh +HOST_UTF8_LOCALE := $(shell \ + ( echo $${LC_ALL:-$${LC_MESSAGES:-$${LANG}}}; \ + locale -a 2>/dev/null | LC_ALL=C sort \ + ) \ + | grep -i -E 'utf-?8$$' \ + | head -n 1) +HOST_UTF8_LOCALE_ENV := LC_ALL=$(HOST_UTF8_LOCALE) +endif + # Make sure pkg-config doesn't look outside the buildroot tree HOST_PKG_CONFIG_PATH := $(PKG_CONFIG_PATH) unexport PKG_CONFIG_PATH @@ -679,6 +706,10 @@ $(TARGETS_ROOTFS): target-finalize .PHONY: target-finalize target-finalize: $(PACKAGES) @$(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 $(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 \ @@ -725,7 +756,8 @@ endif echo "ID=buildroot"; \ echo "VERSION_ID=$(BR2_VERSION)"; \ echo "PRETTY_NAME=\"Buildroot $(BR2_VERSION)\"" \ - ) > $(TARGET_DIR)/etc/os-release + ) > $(TARGET_DIR)/usr/lib/os-release + ln -sf ../usr/lib/os-release $(TARGET_DIR)/etc @$(call MESSAGE,"Sanitizing RPATH in target tree") $(TOPDIR)/support/scripts/fix-rpath target @@ -740,6 +772,8 @@ endif $(call MESSAGE,"Executing post-build script $(s)"); \ $(EXTRA_ENV) $(s) $(TARGET_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) + touch $(TARGET_DIR)/usr + .PHONY: target-post-image target-post-image: $(TARGETS_ROOTFS) target-finalize @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \ @@ -754,10 +788,6 @@ _external-deps: $(foreach p,$(PACKAGES),$(p)-all-external-deps) external-deps: @$(MAKE1) -Bs $(EXTRAMAKEARGS) _external-deps | sort -u -# check if download URLs are outdated -.PHONY: source-check -source-check: $(foreach p,$(PACKAGES),$(p)-all-source-check) - .PHONY: legal-info-clean legal-info-clean: @rm -fr $(LEGAL_INFO_DIR) @@ -789,7 +819,7 @@ legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p .PHONY: show-targets show-targets: - @echo $(PACKAGES) $(TARGETS_ROOTFS) + @echo $(sort $(PACKAGES)) $(sort $(TARGETS_ROOTFS)) .PHONY: show-build-order show-build-order: $(patsubst %,%-show-build-order,$(PACKAGES)) @@ -957,7 +987,8 @@ $(BUILD_DIR)/.br2-external.in: $(BUILD_DIR) # displayed. .PHONY: printvars printvars: - @:$(foreach V, \ + @: + $(foreach V, \ $(sort $(if $(VARS),$(filter $(VARS),$(.VARIABLES)),$(.VARIABLES))), \ $(if $(filter-out environment% default automatic, \ $(origin $V)), \ @@ -1000,8 +1031,8 @@ help: @echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps' @echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value' @echo ' randconfig - New config with random answer to all options' - @echo ' defconfig - New config with default answer to all options' - @echo ' BR2_DEFCONFIG, if set, is used as input' + @echo ' defconfig - New config with default answer to all options;' + @echo ' BR2_DEFCONFIG, if set on the command line, is used as input' @echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)' @echo ' allyesconfig - New config where all options are accepted with yes' @echo ' allnoconfig - New config where all options are answered with no' @@ -1044,7 +1075,6 @@ help: @echo @echo 'Miscellaneous:' @echo ' source - download all sources needed for offline-build' - @echo ' source-check - check selected packages for valid download URLs' @echo ' external-deps - list external packages used' @echo ' legal-info - generate info about license compliance' @echo ' printvars - dump all the internal variables' diff --git a/arch/Config.in b/arch/Config.in index c10bf16809..d3f63da34f 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -79,6 +79,7 @@ config BR2_aarch64_be config BR2_bfin bool "Blackfin" select BR2_ARCH_HAS_FDPIC_SUPPORT + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 help The Blackfin is a family of 16 or 32-bit microprocessors developed, manufactured and marketed by Analog Devices. @@ -261,6 +262,27 @@ config BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT bool default y if !BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT +# The following symbols are selected by the individual +# Config.in.$ARCH files +config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 + bool + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_6 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_7 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 + # The following string values are defined by the individual # Config.in.$ARCH files config BR2_ARCH diff --git a/arch/Config.in.arm b/arch/Config.in.arm index 09916df7ad..b05e83e33c 100644 --- a/arch/Config.in.arm +++ b/arch/Config.in.arm @@ -59,29 +59,42 @@ config BR2_ARM_CPU_ARMV7A config BR2_ARM_CPU_ARMV7M bool -config BR2_ARM_CPU_ARMV8 +config BR2_ARM_CPU_ARMV8A bool choice prompt "Target Architecture Variant" + default BR2_cortex_a53 if BR2_ARCH_IS_64 default BR2_arm926t help Specific CPU variant to use +if !BR2_ARCH_IS_64 +comment "armv4 cores" config BR2_arm920t bool "arm920t" select BR2_ARM_CPU_HAS_ARM select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV4 select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_arm922t bool "arm922t" select BR2_ARM_CPU_HAS_ARM select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV4 select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 +config BR2_fa526 + bool "fa526/626" + select BR2_ARM_CPU_HAS_ARM + select BR2_ARM_CPU_ARMV4 + select BR2_ARCH_HAS_MMU_OPTIONAL +config BR2_strongarm + bool "strongarm sa110/sa1100" + select BR2_ARM_CPU_HAS_ARM + select BR2_ARM_CPU_ARMV4 + select BR2_ARCH_HAS_MMU_OPTIONAL + +comment "armv5 cores" config BR2_arm926t bool "arm926t" select BR2_ARM_CPU_HAS_ARM @@ -89,14 +102,25 @@ config BR2_arm926t select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV5 select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 +config BR2_iwmmxt + bool "iwmmxt" + select BR2_ARM_CPU_HAS_ARM + select BR2_ARM_CPU_ARMV5 + select BR2_ARCH_HAS_MMU_OPTIONAL +config BR2_xscale + bool "xscale" + select BR2_ARM_CPU_HAS_ARM + select BR2_ARM_CPU_HAS_THUMB + select BR2_ARM_CPU_ARMV5 + select BR2_ARCH_HAS_MMU_OPTIONAL + +comment "armv6 cores" config BR2_arm1136j_s bool "arm1136j-s" select BR2_ARM_CPU_HAS_ARM select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV6 select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_arm1136jf_s bool "arm1136jf-s" select BR2_ARM_CPU_HAS_ARM @@ -104,14 +128,12 @@ config BR2_arm1136jf_s select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV6 select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_arm1176jz_s bool "arm1176jz-s" select BR2_ARM_CPU_HAS_ARM select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV6 select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_arm1176jzf_s bool "arm1176jzf-s" select BR2_ARM_CPU_HAS_ARM @@ -119,7 +141,6 @@ config BR2_arm1176jzf_s select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV6 select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_arm11mpcore bool "mpcore" select BR2_ARM_CPU_HAS_ARM @@ -127,7 +148,8 @@ config BR2_arm11mpcore select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV6 select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 + +comment "armv7a cores" config BR2_cortex_a5 bool "cortex-A5" select BR2_ARM_CPU_HAS_ARM @@ -136,7 +158,6 @@ config BR2_cortex_a5 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_cortex_a7 bool "cortex-A7" select BR2_ARM_CPU_HAS_ARM @@ -145,7 +166,6 @@ config BR2_cortex_a7 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_cortex_a8 bool "cortex-A8" select BR2_ARM_CPU_HAS_ARM @@ -154,7 +174,6 @@ config BR2_cortex_a8 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_cortex_a9 bool "cortex-A9" select BR2_ARM_CPU_HAS_ARM @@ -163,7 +182,6 @@ config BR2_cortex_a9 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_cortex_a12 bool "cortex-A12" select BR2_ARM_CPU_HAS_ARM @@ -172,7 +190,6 @@ config BR2_cortex_a12 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_cortex_a15 bool "cortex-A15" select BR2_ARM_CPU_HAS_ARM @@ -181,7 +198,6 @@ config BR2_cortex_a15 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_cortex_a15_a7 bool "cortex-A15/A7 big.LITTLE" select BR2_ARM_CPU_HAS_ARM @@ -190,7 +206,7 @@ config BR2_cortex_a15_a7 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 config BR2_cortex_a17 bool "cortex-A17" select BR2_ARM_CPU_HAS_ARM @@ -199,7 +215,7 @@ config BR2_cortex_a17 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 config BR2_cortex_a17_a7 bool "cortex-A17/A7 big.LITTLE" select BR2_ARM_CPU_HAS_ARM @@ -208,14 +224,52 @@ config BR2_cortex_a17_a7 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 +config BR2_pj4 + bool "pj4" + select BR2_ARM_CPU_HAS_ARM + select BR2_ARM_CPU_HAS_VFPV3 + select BR2_ARM_CPU_ARMV7A + select BR2_ARCH_HAS_MMU_OPTIONAL + +comment "armv7m cores" +config BR2_cortex_m3 + bool "cortex-M3" + select BR2_ARM_CPU_HAS_THUMB2 + select BR2_ARM_CPU_ARMV7M +config BR2_cortex_m4 + bool "cortex-M4" + select BR2_ARM_CPU_HAS_THUMB2 + select BR2_ARM_CPU_ARMV7M +endif # !BR2_ARCH_IS_64 + +comment "armv8 cores" +config BR2_cortex_a32 + bool "cortex-A32" depends on !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_ARM + select BR2_ARM_CPU_HAS_NEON + select BR2_ARM_CPU_HAS_THUMB2 + 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_cortex_a35 + bool "cortex-A35" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 config BR2_cortex_a53 bool "cortex-A53" 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_ARMV8 + select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL config BR2_cortex_a57 bool "cortex-A57" @@ -223,7 +277,7 @@ config BR2_cortex_a57 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_ARMV8 + select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL config BR2_cortex_a57_a53 bool "cortex-A57/A53 big.LITTLE" @@ -231,66 +285,153 @@ config BR2_cortex_a57_a53 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_ARMV8 + select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 config BR2_cortex_a72 bool "cortex-A72" 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_ARMV8 + select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 config BR2_cortex_a72_a53 bool "cortex-A72/A53 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_ARMV8 + select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL -config BR2_cortex_m3 - bool "cortex-M3" - select BR2_ARM_CPU_HAS_THUMB2 - select BR2_ARM_CPU_ARMV7M - depends on !BR2_ARCH_IS_64 -config BR2_cortex_m4 - bool "cortex-M4" - select BR2_ARM_CPU_HAS_THUMB2 - select BR2_ARM_CPU_ARMV7M - depends on !BR2_ARCH_IS_64 -config BR2_fa526 - bool "fa526/626" - select BR2_ARM_CPU_HAS_ARM - select BR2_ARM_CPU_ARMV4 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 +config BR2_cortex_a73 + bool "cortex-A73" + 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 - depends on !BR2_ARCH_IS_64 -config BR2_pj4 - bool "pj4" - select BR2_ARM_CPU_HAS_ARM - select BR2_ARM_CPU_HAS_VFPV3 - select BR2_ARM_CPU_ARMV7A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_cortex_a73_a35 + bool "cortex-A73/A35 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 - depends on !BR2_ARCH_IS_64 -config BR2_strongarm - bool "strongarm sa110/sa1100" - select BR2_ARM_CPU_HAS_ARM - select BR2_ARM_CPU_ARMV4 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_cortex_a73_a53 + bool "cortex-A73/A53 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 - depends on !BR2_ARCH_IS_64 -config BR2_xscale - bool "xscale" - select BR2_ARM_CPU_HAS_ARM - select BR2_ARM_CPU_HAS_THUMB - select BR2_ARM_CPU_ARMV5 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_exynos_m1 + bool "exynos-m1" + 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 - depends on !BR2_ARCH_IS_64 -config BR2_iwmmxt - bool "iwmmxt" - select BR2_ARM_CPU_HAS_ARM - select BR2_ARM_CPU_ARMV5 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 +config BR2_falkor + bool "falkor" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_qdf24xx + bool "qdf24xx" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 +if BR2_ARCH_IS_64 +config BR2_thunderx + bool "thunderx" + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 +config BR2_thunderxt81 + bool "thunderxt81" + 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" + 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" + 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" + 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 + 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_5 + +if BR2_ARCH_IS_64 +comment "armv8.1a cores" +config BR2_thunderx2t99 + bool "thunderx2t99" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_thunderx2t99p1 + bool "thunderx2t99p1" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_vulcan + bool "vulcan" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +endif # BR2_ARCH_IS_64 endchoice config BR2_ARM_ENABLE_NEON @@ -545,15 +686,23 @@ config BR2_ENDIAN default "BIG" if (BR2_armeb || BR2_aarch64_be) config BR2_GCC_TARGET_CPU + # armv4 default "arm920t" if BR2_arm920t default "arm922t" if BR2_arm922t + default "fa526" if BR2_fa526 + default "strongarm" if BR2_strongarm + # armv5 default "arm926ej-s" if BR2_arm926t + default "iwmmxt" if BR2_iwmmxt + default "xscale" if BR2_xscale + # armv6 default "arm1136j-s" if BR2_arm1136j_s default "arm1136jf-s" if BR2_arm1136jf_s default "arm1176jz-s" if BR2_arm1176jz_s default "arm1176jzf-s" if BR2_arm1176jzf_s default "mpcore" if BR2_arm11mpcore && BR2_ARM_CPU_HAS_VFPV2 default "mpcorenovfp" if BR2_arm11mpcore + # armv7a default "cortex-a5" if BR2_cortex_a5 default "cortex-a7" if BR2_cortex_a7 default "cortex-a8" if BR2_cortex_a8 @@ -563,18 +712,34 @@ config BR2_GCC_TARGET_CPU default "cortex-a15.cortex-a7" if BR2_cortex_a15_a7 default "cortex-a17" if BR2_cortex_a17 default "cortex-a17.cortex-a7" if BR2_cortex_a17_a7 + default "marvell-pj4" if BR2_pj4 + # armv7m default "cortex-m3" if BR2_cortex_m3 default "cortex-m4" if BR2_cortex_m4 - default "fa526" if BR2_fa526 - default "marvell-pj4" if BR2_pj4 - default "strongarm" if BR2_strongarm - default "xscale" if BR2_xscale - default "iwmmxt" if BR2_iwmmxt + # armv8a + default "cortex-a32" if BR2_cortex_a32 + default "cortex-a35" if BR2_cortex_a35 default "cortex-a53" if BR2_cortex_a53 default "cortex-a57" if BR2_cortex_a57 default "cortex-a57.cortex-a53" if BR2_cortex_a57_a53 default "cortex-a72" if BR2_cortex_a72 default "cortex-a72.cortex-a53" if BR2_cortex_a72_a53 + 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 "exynos-m1" if BR2_exynos_m1 + default "falkor" if BR2_falkor + default "qdf24xx" if BR2_qdf24xx + default "thunderx" if BR2_thunderx + default "thunderxt81" if BR2_thunderxt81 + default "thunderxt83" if BR2_thunderxt83 + default "thunderxt88" if BR2_thunderxt88 + default "thunderxt88p1" if BR2_thunderxt88p1 + default "xgene1" if BR2_xgene1 + # armv8.1a + default "thunderx2t99" if BR2_thunderx2t99 + default "thunderx2t99p1" if BR2_thunderx2t99p1 + default "vulcan" if BR2_vulcan config BR2_GCC_TARGET_ABI default "aapcs-linux" if BR2_arm || BR2_armeb diff --git a/arch/Config.in.mips b/arch/Config.in.mips index 1cce1710da..f8e57bab33 100644 --- a/arch/Config.in.mips +++ b/arch/Config.in.mips @@ -7,9 +7,11 @@ config BR2_MIPS_CPU_MIPS32R2 select BR2_MIPS_NAN_LEGACY config BR2_MIPS_CPU_MIPS32R5 bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 config BR2_MIPS_CPU_MIPS32R6 bool select BR2_MIPS_NAN_2008 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 config BR2_MIPS_CPU_MIPS64 bool select BR2_MIPS_NAN_LEGACY @@ -18,9 +20,11 @@ config BR2_MIPS_CPU_MIPS64R2 select BR2_MIPS_NAN_LEGACY config BR2_MIPS_CPU_MIPS64R5 bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 config BR2_MIPS_CPU_MIPS64R6 bool select BR2_MIPS_NAN_2008 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 choice prompt "Target Architecture Variant" @@ -53,11 +57,13 @@ config BR2_mips_interaptiv bool "interAptiv" depends on !BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS32R2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 config BR2_mips_m5150 bool "M5150" depends on !BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS32R5 select BR2_MIPS_NAN_2008 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 config BR2_mips_m6250 bool "M6250" depends on !BR2_ARCH_IS_64 @@ -101,6 +107,7 @@ config BR2_mips_i6400 bool "I6400" depends on BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS64R6 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 config BR2_mips_p6600 bool "P6600" depends on BR2_ARCH_IS_64 @@ -139,7 +146,7 @@ config BR2_MIPS_SOFT_FLOAT choice prompt "FP mode" depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT - default BR2_MIPS_FP32_MODE_XX if BR2_TOOLCHAIN_HAS_MFPXX_OPTION + default BR2_MIPS_FP32_MODE_XX help MIPS32 supports different FP modes (32,xx,64). Information about FP modes can be found here: @@ -152,7 +159,7 @@ config BR2_MIPS_FP32_MODE_32 config BR2_MIPS_FP32_MODE_XX bool "xx" - depends on BR2_TOOLCHAIN_HAS_MFPXX_OPTION + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 config BR2_MIPS_FP32_MODE_64 bool "64" @@ -169,10 +176,10 @@ config BR2_MIPS_NAN_LEGACY config BR2_MIPS_NAN_2008 bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 choice prompt "Target NaN" - depends on BR2_TOOLCHAIN_HAS_MNAN_OPTION depends on BR2_mips_32r5 || BR2_mips_64r5 default BR2_MIPS_ENABLE_NAN_2008 help diff --git a/arch/Config.in.x86 b/arch/Config.in.x86 index 0d9e93b089..8e623b3c2b 100644 --- a/arch/Config.in.x86 +++ b/arch/Config.in.x86 @@ -129,6 +129,15 @@ config BR2_x86_atom select BR2_X86_CPU_HAS_SSE2 select BR2_X86_CPU_HAS_SSE3 select BR2_X86_CPU_HAS_SSSE3 +config BR2_x86_silvermont + bool "silvermont" + 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_k6 bool "k6" select BR2_X86_CPU_HAS_MMX @@ -229,6 +238,7 @@ config BR2_ARCH default "i686" if BR2_x86_corei7_avx && BR2_i386 default "i686" if BR2_x86_corei7_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 default "i686" if BR2_x86_opteron_sse3 && BR2_i386 default "i686" if BR2_x86_barcelona && BR2_i386 @@ -261,6 +271,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 "silvermont" if BR2_x86_silvermont default "k8" if BR2_x86_opteron default "k8-sse3" if BR2_x86_opteron_sse3 default "barcelona" if BR2_x86_barcelona diff --git a/boot/Config.in b/boot/Config.in index 2f46c8546e..3687c41a2c 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -6,10 +6,12 @@ source "boot/at91bootstrap3/Config.in" source "boot/at91dataflashboot/Config.in" source "boot/arm-trusted-firmware/Config.in" source "boot/barebox/Config.in" +source "boot/binaries-marvell/Config.in" source "boot/boot-wrapper-aarch64/Config.in" source "boot/grub2/Config.in" 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/s500-bootloader/Config.in" source "boot/syslinux/Config.in" diff --git a/boot/arm-trusted-firmware/Config.in b/boot/arm-trusted-firmware/Config.in index 799370cd51..7aef87cb74 100644 --- a/boot/arm-trusted-firmware/Config.in +++ b/boot/arm-trusted-firmware/Config.in @@ -56,6 +56,30 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM help Target plaform to build for. +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP + bool "Build FIP image" + help + This option enables building the FIP image (Firmware Image + Package). This is typically the image format used by + platforms were ATF encapsulates the second stage bootloader + (such as U-Boot). + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 + bool "Build BL31 image" + help + This option enables building the BL31 image. This is + typically used on platforms where another bootloader (e.g + U-Boot) encapsulates ATF BL31. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 + bool "Use U-Boot as BL33" + depends on BR2_TARGET_UBOOT + help + This option allows to embed u-boot.bin as the BL33 part of + the ARM Trusted Firmware. It ensures that the u-boot package + gets built before ATF, and that the appropriate BL33 + variable pointing to u-boot.bin is passed when building ATF. + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES string "Additional ATF build variables" help diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk index 7b1cc6ebb6..4bac916e31 100644 --- a/boot/arm-trusted-firmware/arm-trusted-firmware.mk +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -8,8 +8,6 @@ ARM_TRUSTED_FIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_V ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3-Clause ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.rst -ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot - ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) # Handle custom ATF tarballs as specified by the configuration ARM_TRUSTED_FIRMWARE_TARBALL = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) @@ -30,19 +28,57 @@ ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ CROSS_COMPILE="$(TARGET_CROSS)" \ - BL33=$(BINARIES_DIR)/u-boot.bin \ $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \ PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/u-boot.bin +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot +endif + ifeq ($(BR2_TARGET_VEXPRESS_FIRMWARE),y) ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SCP_BL2=$(BINARIES_DIR)/scp-fw.bin ARM_TRUSTED_FIRMWARE_DEPENDENCIES += vexpress-firmware endif +ifeq ($(BR2_TARGET_BINARIES_MARVELL),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SCP_BL2=$(BINARIES_DIR)/scp-fw.bin +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += binaries-marvell +endif + +ifeq ($(BR2_TARGET_MV_DDR_MARVELL),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += MV_DDR_PATH=$(MV_DDR_MARVELL_DIR) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += mv-ddr-marvell +endif + +ARM_TRUSTED_FIRMWARE_MAKE_TARGETS = all + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP),y) +ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += fip +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-openssl +# fiptool only exists in newer (>= 1.3) versions of ATF, so we build +# it conditionally. We need to explicitly build it as it requires +# OpenSSL, and therefore needs to be passed proper variables to find +# the host OpenSSL. +define ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL + if test -d $(@D)/tools/fiptool; then \ + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/tools/fiptool \ + $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ + CPPFLAGS="$(HOST_CPPFLAGS)" \ + LDLIBS="$(HOST_LDFLAGS) -lcrypto" ; \ + fi +endef +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31),y) +ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += bl31 +endif + define ARM_TRUSTED_FIRMWARE_BUILD_CMDS + $(ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL) $(TARGET_CONFIGURE_OPTS) \ $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ - all fip + $(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS) endef define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS diff --git a/boot/at91bootstrap3/Config.in b/boot/at91bootstrap3/Config.in index 237deb929c..f82a0e5edc 100644 --- a/boot/at91bootstrap3/Config.in +++ b/boot/at91bootstrap3/Config.in @@ -8,6 +8,8 @@ config BR2_TARGET_AT91BOOTSTRAP3 - Peripheral drivers such as PIO, PMC or SDRAMC... - Physical media algorithm such as DataFlash, NandFlash, NOR Flash... + https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap + if BR2_TARGET_AT91BOOTSTRAP3 choice diff --git a/boot/binaries-marvell/Config.in b/boot/binaries-marvell/Config.in new file mode 100644 index 0000000000..d565e4dbfd --- /dev/null +++ b/boot/binaries-marvell/Config.in @@ -0,0 +1,32 @@ +config BR2_TARGET_BINARIES_MARVELL + bool "binaries-marvell" + depends on BR2_aarch64 + help + Some systems, including Marvell Armada SoC, have a separate + System Control Processor (SCP) for power management, clocks, + 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. + + 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_8040.img" if BR2_TARGET_BINARIES_MARVELL_8040 + default "mrvl_scp_bl2_7040.img" if BR2_TARGET_BINARIES_MARVELL_7040 + +endif diff --git a/boot/binaries-marvell/binaries-marvell.hash b/boot/binaries-marvell/binaries-marvell.hash new file mode 100644 index 0000000000..94c66039c9 --- /dev/null +++ b/boot/binaries-marvell/binaries-marvell.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 7c41cddc2ce46038b630b59d2e9e50e903d27032bcfbf38019eaed14fcfdbe40 binaries-marvell-a8ac27b7884ed2c1efcf9f3326de3e0ed7b94e91.tar.gz +sha256 d8560ab4ea4042a55eee6857ded1d7e4bca2d9120b8c7a86d2a7fdc4ba4994e0 README.md diff --git a/boot/binaries-marvell/binaries-marvell.mk b/boot/binaries-marvell/binaries-marvell.mk new file mode 100644 index 0000000000..152c9cd97a --- /dev/null +++ b/boot/binaries-marvell/binaries-marvell.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# binaries-marvell +# +################################################################################ + +BINARIES_MARVELL_VERSION = a8ac27b7884ed2c1efcf9f3326de3e0ed7b94e91 +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 +endef + +$(eval $(generic-package)) diff --git a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk index 601cfab314..cd6e1b7b77 100644 --- a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk +++ b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk @@ -6,7 +6,7 @@ BOOT_WRAPPER_AARCH64_VERSION = 4266507a84f8c06452109d38e0350d4759740694 BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git -BOOT_WRAPPER_AARCH64_LICENSE = BSD3c +BOOT_WRAPPER_AARCH64_LICENSE = BSD-3-Clause BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt BOOT_WRAPPER_AARCH64_DEPENDENCIES = linux BOOT_WRAPPER_AARCH64_INSTALL_IMAGES = YES diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk index 492cddf1a5..35aea41287 100644 --- a/boot/grub2/grub2.mk +++ b/boot/grub2/grub2.mk @@ -53,8 +53,8 @@ GRUB2_CONF_ENV = \ $(HOST_CONFIGURE_OPTS) \ CPP="$(HOSTCC) -E" \ TARGET_CC="$(TARGET_CC)" \ - TARGET_CFLAGS="$(TARGET_CFLAGS) -fno-stack-protector" \ - TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \ + TARGET_CFLAGS="$(TARGET_CFLAGS)" \ + TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) -fno-stack-protector" \ TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \ NM="$(TARGET_NM)" \ OBJCOPY="$(TARGET_OBJCOPY)" \ diff --git a/boot/mv-ddr-marvell/Config.in b/boot/mv-ddr-marvell/Config.in new file mode 100644 index 0000000000..4ee8c95b2c --- /dev/null +++ b/boot/mv-ddr-marvell/Config.in @@ -0,0 +1,10 @@ +config BR2_TARGET_MV_DDR_MARVELL + bool "mv-ddr-marvell" + depends on BR2_aarch64 + help + Marvell keeps algorithms for DDR training in a separate + repository. This code is not built separately, it is needed + as a dependency to build ATF firmware for Marvell Armada 7040 + and 8040 SoCs. + + https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/ diff --git a/boot/mv-ddr-marvell/mv-ddr-marvell.hash b/boot/mv-ddr-marvell/mv-ddr-marvell.hash new file mode 100644 index 0000000000..b96d4d2bc8 --- /dev/null +++ b/boot/mv-ddr-marvell/mv-ddr-marvell.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 d413546367ffa3b5f4373a777b9efeb32dcc74d6106897c248935ecb79afc454 mv-ddr-marvell-656440a9690f3d07be9e3d2c39d7cf56fd96eb7b.tar.gz diff --git a/boot/mv-ddr-marvell/mv-ddr-marvell.mk b/boot/mv-ddr-marvell/mv-ddr-marvell.mk new file mode 100644 index 0000000000..0f98fc2cef --- /dev/null +++ b/boot/mv-ddr-marvell/mv-ddr-marvell.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# mv-ddr-marvell +# +################################################################################ + +MV_DDR_MARVELL_VERSION = 656440a9690f3d07be9e3d2c39d7cf56fd96eb7b +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 + +$(eval $(generic-package)) diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index 8215912339..264f343767 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -38,7 +38,7 @@ choice Select the specific U-Boot version you want to use config BR2_TARGET_UBOOT_LATEST_VERSION - bool "2017.09" + bool "2018.01" config BR2_TARGET_UBOOT_CUSTOM_VERSION bool "Custom version" @@ -86,7 +86,7 @@ endif config BR2_TARGET_UBOOT_VERSION string - default "2017.09" if BR2_TARGET_UBOOT_LATEST_VERSION + default "2018.01" if BR2_TARGET_UBOOT_LATEST_VERSION default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \ if BR2_TARGET_UBOOT_CUSTOM_VERSION default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL @@ -158,6 +158,18 @@ config BR2_TARGET_UBOOT_NEEDS_OPENSSL typically the case when the board configuration has CONFIG_FIT_SIGNATURE enabled. +config BR2_TARGET_UBOOT_NEEDS_ATF_BL31 + bool "U-Boot needs ATF BL31" + depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE + depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 + select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 + help + Some specific platforms (such as Allwinner A64/H5) + encapsulate the BL31 part of ATF inside U-Boot. This option + makes sure ATF gets built prior to U-Boot, and that the BL31 + variable pointing to ATF's BL31 binary, is passed during the + Buildroot build. + menu "U-Boot binary format" config BR2_TARGET_UBOOT_FORMAT_AIS @@ -334,13 +346,14 @@ config BR2_TARGET_UBOOT_SPL into DDR. config BR2_TARGET_UBOOT_SPL_NAME - string "U-Boot SPL binary image name" + string "U-Boot SPL/TPL binary image name(s)" default "spl/u-boot-spl.bin" depends on BR2_TARGET_UBOOT_SPL help - A space-separated list of SPL binaries, generated during - u-boot build. For most platform it is spl/u-boot-spl.bin but - not always. It is MLO on OMAP and SPL on i.MX6 for example. + A space-separated list of SPL/TPL binaries, generated during + u-boot build. For most platform SPL name is spl/u-boot-spl.bin + and TPL name is tpl/u-boot-tpl.bin but not always. SPL name is + MLO on OMAP and SPL on i.MX6 for example. config BR2_TARGET_UBOOT_ZYNQ_IMAGE bool "Generate image for Xilinx Zynq" diff --git a/boot/uboot/uboot.hash b/boot/uboot/uboot.hash index 82efc79d56..9425df3f17 100644 --- a/boot/uboot/uboot.hash +++ b/boot/uboot/uboot.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 b2d15f2cf5f72e706025cde73d67247c6da8cd35f7e10891eefe7d9095089744 u-boot-2017.09.tar.bz2 +sha256 938f597394b33e82e5af8c98bd5ea1a238f61892aabef36384adbf7ca5b52dda u-boot-2018.01.tar.bz2 diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index a1fac7dcae..14fe3702ba 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -131,9 +131,14 @@ endif UBOOT_MAKE_OPTS += \ CROSS_COMPILE="$(TARGET_CROSS)" \ ARCH=$(UBOOT_ARCH) \ - HOSTCC="$(HOSTCC) $(HOST_CFLAGS)" \ + HOSTCC="$(HOSTCC) $(subst -I/,-isystem /,$(subst -I /,-isystem /,$(HOST_CFLAGS)))" \ HOSTLDFLAGS="$(HOST_LDFLAGS)" +ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31),y) +UBOOT_DEPENDENCIES += arm-trusted-firmware +UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.bin +endif + ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y) UBOOT_DEPENDENCIES += host-dtc endif @@ -183,12 +188,17 @@ define UBOOT_APPLY_LOCAL_PATCHES endef UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_LOCAL_PATCHES -# Bug: https://patchwork.ozlabs.org/patch/833760/ -define UBOOT_FIX_LIBFDT_SYSTEM_PATH - [ ! -e $(@D)/tools/fdtgrep.c ] || \ - $(SED) 's%<../include/libfdt.h>%"../include/libfdt.h"%' $(@D)/tools/fdtgrep.c +# 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) +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; \ + fi endef -UBOOT_POST_PATCH_HOOKS += UBOOT_FIX_LIBFDT_SYSTEM_PATH +UBOOT_POST_PATCH_HOOKS += UBOOT_FIXUP_LIBFDT_INCLUDE ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y) define UBOOT_CONFIGURE_CMDS @@ -205,7 +215,15 @@ endif # BR2_TARGET_UBOOT_USE_DEFCONFIG UBOOT_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES)) UBOOT_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig -UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) + +# UBOOT_MAKE_OPTS overrides HOSTCC / HOSTLDFLAGS to allow the build to +# find our host-openssl. However, this triggers a bug in the kconfig +# build script that causes it to build with /usr/include/ncurses.h +# (which is typically wchar) but link with +# $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually +# need any host-package for kconfig, so remove the HOSTCC/HOSTLDFLAGS +# override again. +UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC)" HOSTLDFLAGS="" define UBOOT_HELP_CMDS @echo ' uboot-menuconfig - Run U-Boot menuconfig' @echo ' uboot-savedefconfig - Run U-Boot savedefconfig' @@ -238,6 +256,18 @@ define UBOOT_BUILD_OMAP_IFT -c $(call qstrip,$(BR2_TARGET_UBOOT_OMAP_IFT_CONFIG)) endef +ifneq ($(BR2_TARGET_UBOOT_ENVIMAGE),) +define UBOOT_GENERATE_ENV_IMAGE + cat $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) \ + >$(@D)/buildroot-env.txt + $(HOST_DIR)/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \ + $(if $(BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT),-r) \ + $(if $(filter "BIG",$(BR2_ENDIAN)),-b) \ + -o $(BINARIES_DIR)/uboot-env.bin \ + $(@D)/buildroot-env.txt +endef +endif + define UBOOT_INSTALL_IMAGES_CMDS $(foreach f,$(UBOOT_BINS), \ cp -dpf $(@D)/$(f) $(BINARIES_DIR)/ @@ -249,12 +279,7 @@ define UBOOT_INSTALL_IMAGES_CMDS cp -dpf $(@D)/$(f) $(BINARIES_DIR)/ ) ) - $(if $(BR2_TARGET_UBOOT_ENVIMAGE), - cat $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) | \ - $(HOST_DIR)/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \ - $(if $(BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT),-r) \ - $(if $(filter BIG,$(BR2_ENDIAN)),-b) \ - -o $(BINARIES_DIR)/uboot-env.bin -) + $(UBOOT_GENERATE_ENV_IMAGE) $(if $(BR2_TARGET_UBOOT_BOOT_SCRIPT), $(HOST_DIR)/bin/mkimage -C none -A $(MKIMAGE_ARCH) -T script \ -d $(call qstrip,$(BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE)) \ diff --git a/boot/vexpress-firmware/Config.in b/boot/vexpress-firmware/Config.in index 8479df3d57..265fb4be1d 100644 --- a/boot/vexpress-firmware/Config.in +++ b/boot/vexpress-firmware/Config.in @@ -4,3 +4,5 @@ config BR2_TARGET_VEXPRESS_FIRMWARE help Versatile Express firmware from ARM, with Linaro mods last change. + + https://git.linaro.org/arm/vexpress-firmware.git diff --git a/boot/xloader/Config.in b/boot/xloader/Config.in index c411be478b..f687b897ea 100644 --- a/boot/xloader/Config.in +++ b/boot/xloader/Config.in @@ -5,6 +5,8 @@ config BR2_TARGET_XLOADER The x-loader bootloader. It is mainly used on OMAP-based platforms. + http://omappedia.org/wiki/Linux_OMAP_Kernel_Main + if BR2_TARGET_XLOADER config BR2_TARGET_XLOADER_BOARDNAME string "x-loader board name" diff --git a/docs/manual/adding-packages-cargo.txt b/docs/manual/adding-packages-cargo.txt new file mode 100644 index 0000000000..b7fc09acfe --- /dev/null +++ b/docs/manual/adding-packages-cargo.txt @@ -0,0 +1,110 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== 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". + +[[cargo-package-tutorial]] + +==== 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/ +--------------------------- + +==== 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 +xref:generic-package-tutorial[+generic-package+ infrastructure]. 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. + +==== 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+. diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt index 63ea51bf89..1e9557c0bc 100644 --- a/docs/manual/adding-packages-generic.txt +++ b/docs/manual/adding-packages-generic.txt @@ -197,12 +197,25 @@ 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, branch or tag for packages that are fetched - directly from their revision control system. + - Examples: + - +LIBFOO_VERSION = 0.1.2+ + - +LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057+ + - +LIBFOO_VERSION = stable+ + 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 @@ -453,6 +466,13 @@ information is (assuming the package name is +libfoo+) : 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: diff --git a/docs/manual/adding-packages-meson.txt b/docs/manual/adding-packages-meson.txt new file mode 100644 index 0000000000..f8aa08fa91 --- /dev/null +++ b/docs/manual/adding-packages-meson.txt @@ -0,0 +1,101 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Integration of Meson-based packages + +[[meson-package-tutorial]] + +==== +meson-package+ tutorial + +http://mesonbuild.com[Meson] is an open source build system meant to be both +extremely fast, and, even more importantly, as user friendly as possible. + +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 +xref:generic-package-tutorial[+generic-package+ infrastructure]. So, it defines +the variables required by this particular infrastructure, where Meson and its +companion tool, Ninja, are invoked: + +* +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. diff --git a/docs/manual/adding-packages-perl.txt b/docs/manual/adding-packages-perl.txt index 08ef559209..eb14d9de18 100644 --- a/docs/manual/adding-packages-perl.txt +++ b/docs/manual/adding-packages-perl.txt @@ -46,7 +46,7 @@ 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 +supports/scripts/scancpan Foo-Bar+ in the Buildroot directory +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 diff --git a/docs/manual/adding-packages.txt b/docs/manual/adding-packages.txt index d577ff030e..e8d40daee4 100644 --- a/docs/manual/adding-packages.txt +++ b/docs/manual/adding-packages.txt @@ -34,6 +34,10 @@ include::adding-packages-rebar.txt[] include::adding-packages-waf.txt[] +include::adding-packages-meson.txt[] + +include::adding-packages-cargo.txt[] + include::adding-packages-kernel-module.txt[] include::adding-packages-asciidoc.txt[] diff --git a/docs/manual/manual.html b/docs/manual/manual.html index 6897367d7f..7086edbbbc 100644 --- a/docs/manual/manual.html +++ b/docs/manual/manual.html @@ -1,9 +1,9 @@ -The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Graphing the dependencies between packages
8.9. Graphing the build duration
8.10. Graphing the filesystem size contribution of packages
8.11. Integration with Eclipse
8.12. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Frequently Asked Questions & Troubleshooting
10.1. The boot hangs after Starting network…
10.2. Why is there no compiler on the target?
10.3. Why are there no development files on the target?
10.4. Why is there no documentation on the target?
10.5. Why are some packages not visible in the Buildroot config menu?
10.6. Why not use the target directory as a chroot directory?
10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
10.8. How to speed-up the build process?
11. Known issues
12. Legal notice and licensing
12.1. Complying with open source licenses
12.2. Complying with the Buildroot license
13. Beyond Buildroot
13.1. Boot the generated images
13.2. Chroot
III. Developer guide
14. How Buildroot works
15. Coding style
15.1. Config.in file
15.2. The .mk file
15.3. The documentation
15.4. Support scripts
16. Adding support for a particular board
17. Adding new packages to Buildroot
17.1. Package directory
17.2. Config files
17.3. The .mk file
17.4. The .hash file
17.5. Infrastructure for packages with specific build systems
17.6. Infrastructure for autotools-based packages
17.7. Infrastructure for CMake-based packages
17.8. Infrastructure for Python packages
17.9. Infrastructure for LuaRocks-based packages
17.10. Infrastructure for Perl/CPAN packages
17.11. Infrastructure for virtual packages
17.12. Infrastructure for packages using kconfig for configuration files
17.13. Infrastructure for rebar-based packages
17.14. Infrastructure for Waf-based packages
17.15. Infrastructure for packages building kernel modules
17.16. Infrastructure for asciidoc documents
17.17. Infrastructure specific to the Linux kernel package
17.18. Hooks available in the various build steps
17.19. Gettext integration and interaction with packages
17.20. Tips and tricks
17.21. 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 2017.11 manual generated on 2017-11-30 -21:37:09 UTC from git revision 9dd76697cc

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

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Graphing the dependencies between packages
8.9. Graphing the build duration
8.10. Graphing the filesystem size contribution of packages
8.11. Integration with Eclipse
8.12. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Frequently Asked Questions & Troubleshooting
10.1. The boot hangs after Starting network…
10.2. Why is there no compiler on the target?
10.3. Why are there no development files on the target?
10.4. Why is there no documentation on the target?
10.5. Why are some packages not visible in the Buildroot config menu?
10.6. Why not use the target directory as a chroot directory?
10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
10.8. How to speed-up the build process?
11. Known issues
12. Legal notice and licensing
12.1. Complying with open source licenses
12.2. Complying with the Buildroot license
13. Beyond Buildroot
13.1. Boot the generated images
13.2. Chroot
III. Developer guide
14. How Buildroot works
15. Coding style
15.1. Config.in file
15.2. The .mk file
15.3. The documentation
15.4. Support scripts
16. Adding support for a particular board
17. Adding new packages to Buildroot
17.1. Package directory
17.2. Config files
17.3. The .mk file
17.4. The .hash file
17.5. Infrastructure for packages with specific build systems
17.6. Infrastructure for autotools-based packages
17.7. Infrastructure for CMake-based packages
17.8. Infrastructure for Python packages
17.9. Infrastructure for LuaRocks-based packages
17.10. Infrastructure for Perl/CPAN packages
17.11. Infrastructure for virtual packages
17.12. Infrastructure for packages using kconfig for configuration files
17.13. Infrastructure for rebar-based packages
17.14. Infrastructure for Waf-based packages
17.15. 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-2017 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

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

Copyright © 2004-2018 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

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

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

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



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

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



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

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

  • build-essential (only for Debian based systems)
  • -gcc (version 2.95 or any later) +gcc (version 4.4 or any later)
  • -g++ (version 2.95 or any later) +g++ (version 4.4 or any later)
  • bash
  • @@ -272,7 +272,7 @@ processor. Under most Linux systems, the compilation toolchain uses the GNU libc (glibc) as the C standard library. This compilation toolchain is called the "host compilation toolchain". The machine on which it is running, and on which you’re working, is called the "host -system" [3].

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

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

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

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



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



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

    Chapter 7. Configuration of other components

    Before attempting to modify any of the components below, make sure you have already configured Buildroot itself, and have enabled the @@ -935,12 +935,17 @@ 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 - but then --sysroot must -be passed every time the compiler is called to tell where the -libraries and header files are.

    It is also possible to generate the Buildroot toolchain in a directory -other than output/host by using the Build options → Host dir -option. This could be useful if the toolchain must be shared with -other users.

    8.12.2. Using gdb in Buildroot

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

    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 @@ -2147,7 +2152,7 @@ Buildroot configuration. Refer to Section 17.20.2, “How to test your package”

      17.1. Package directory

      First of all, create a directory under the package directory for +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. @@ -2624,7 +2629,7 @@ flags. The argument to be given to LIBFOO_CONFIG_SCRIPTS is the file name(s) of the shell script(s) needing fixing. All these names are relative to $(STAGING_DIR)/usr/bin and if needed multiple names can be given.

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

      Example 17.1. Config script: divine package

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

      So its fixup would be:

      DIVINE_CONFIG_SCRIPTS = divine-config

      Example 17.2. Config script: imagemagick package:

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

      Example 17.1. Config script: divine package

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

      So its fixup would be:

      DIVINE_CONFIG_SCRIPTS = divine-config

      Example 17.2. Config script: imagemagick package:

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

      So it’s fixup would be:

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

      On line 14, we specify the list of dependencies this package relies @@ -2667,17 +2672,31 @@ 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) :

      • +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, branch or tag for packages that are fetched - directly from their revision control system. - Examples: - LIBFOO_VERSION = 0.1.2 - LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057 - LIBFOO_VERSION = stable + 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 @@ -2708,7 +2727,7 @@ information is (assuming the package name is libfoo 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.20.3, “How to add a package from GitHub” for details). A filesystem path may be used + 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. @@ -2802,7 +2821,7 @@ information is (assuming the package name is libfoo source directory into the package’s build directory. Note that for local packages, no patches are applied. If you need to still patch the source code, use LIBFOO_POST_RSYNC_HOOKS, see - Section 17.18.1, “Using the POST_RSYNC hook”. + 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 @@ -2938,6 +2957,13 @@ If the package is dual licensed, then separate licenses with the 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.

      • @@ -3020,7 +3046,7 @@ endef

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

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

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

      17.6. Infrastructure for autotools-based packages

      17.6.1. autotools-package tutorial

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

    Finally, you can also use hooks. See Section 17.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
    @@ -3145,7 +3171,7 @@ and install the packages are already defined, and they generally work
     well for most autotools-based packages. However, when required, it is
     still possible to customize what is done in any particular step:

    • By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.18, “Hooks available in the various build steps” for details. + 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 @@ -3261,7 +3287,7 @@ install the packages are already defined, and they generally work well for most CMake-based packages. However, when required, it is still possible to customize what is done in any particular step:

      • By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.18, “Hooks available in the various build steps” for details. + 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 @@ -3372,7 +3398,7 @@ install the packages are already defined, and they generally work well for most Python-based packages. However, when required, it is still possible to customize what is done in any particular step:

        • By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.18, “Hooks available in the various build steps” for details. + 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 @@ -3498,7 +3524,7 @@ license on line 11, and the file containing the license text on line 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 supports/scripts/scancpan Foo-Bar in the Buildroot directory +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 @@ -3730,7 +3756,7 @@ 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:

        17.15. Infrastructure for packages building kernel modules

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

    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.15.1. kernel-module tutorial

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

    17.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
    @@ -3843,7 +4016,7 @@ not sufficient; another package infrastructure must
     the kernel module located in sub-directory driver/base and, if libbar
     is enabled, the kernel module located in sub-directory driver/bar, and
     defines the variable KVERSION to be passed to the Linux buildsystem
    -when building the module(s).

    17.15.2. kernel-module reference

    The main macro for the kernel module infrastructure is kernel-module. +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 @@ -3879,7 +4052,7 @@ configure the build of the kernel module:

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

    17.16. Infrastructure for asciidoc documents

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

    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 @@ -3897,7 +4070,7 @@ AsciiDoc syntax.

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

      17.16.1. asciidoc-document tutorial

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

      17.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: #
      @@ -3911,7 +4084,7 @@ Currently, it is expected that the document’s sources are only local;
       Buildroot will not attempt to download anything to render a document.
       Thus, you must indicate where the sources are. Usually, the string
       above is sufficient for a document with no sub-directory structure.

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

      17.16.2. asciidoc-document reference

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

      17.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.
      • @@ -3923,7 +4096,7 @@ information is (assuming the document name is foo) host-packages) that must be built before building this document. If a hook of your document needs to access the Kconfig structure, you may add prepare-kconfig to the list of dependencies. -

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

    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 @@ -3970,8 +4143,8 @@ various steps:

        17.17. 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.17.1. linux-kernel-tools

        Buildroot offers a helper infrastructure to build some userspace tools +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 @@ -4023,7 +4196,7 @@ different steps of the Linux tool build process like for a used only when the foo tool is selected. The only supported commands are _BUILD_CMDS, _INSTALL_STAGING_CMDS and _INSTALL_TARGET_CMDS.

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

      17.17.2. linux-kernel-extensions

      Some packages provide new features that require the Linux kernel tree +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 @@ -4061,7 +4234,7 @@ use the variables defined by the foo package, like: $(FOO_VERSION)… as well as all the Linux variables, like: $(LINUX_VERSION) or $(LINUX_VERSION_PROBED), $(KERNEL_ARCH)… See the definition of those kernel variables -Section 17.15.2, “kernel-module reference”.

      17.18. Hooks available in the various build steps

      The generic infrastructure (and as a result also the derived autotools +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 @@ -4117,7 +4290,7 @@ registered at a given hook point. Here is an example:

    def
             action2
     endef
     
    -LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP

    17.18.1. Using the POST_RSYNC hook

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

    17.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 @@ -4132,10 +4305,10 @@ others, use the following variables:

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

    17.18.2. Target-finalize hook

    Packages may also register hooks in LIBFOO_TARGET_FINALIZE_HOOKS. +

    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.19. Gettext integration and interaction with packages

    Many packages that support internationalization use the gettext +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 @@ -4181,7 +4354,7 @@ use select BR2_PACKAGE_GETTEXT in their

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

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

    In Buildroot, there is some relationship between:

    • +

    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);
    • @@ -4203,7 +4376,7 @@ the config entry is the upper case package name< the *.mk file variable prefix is the upper case package name with . and - characters substituted with _ (e.g.: FOO_BAR_BOO_VERSION). -

    17.20.2. How to test your package

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

    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 @@ -4260,7 +4433,7 @@ one of the preliminary steps (downloading the config file, applying options (after you fixed your package); the script will attempt to re-build the package specified with -p for all toolchains, without the need to re-build all the dependencies of that package.

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

    $ ./utils/test-pkg -h

    17.20.3. How to add a package from GitHub

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

    $ ./utils/test-pkg -h

    17.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
    @@ -4287,7 +4460,7 @@ If it looks like the image above then it was uploaded by the
     On the other hand, if there’s is only the "Source code" link, then
       it’s an automatically generated tarball and you should use the
       github helper function.
    -

    17.21. Conclusion

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

    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 @@ -4630,7 +4803,7 @@ large number of commits in the series;

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



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

    Chapter 22. DEVELOPERS file and get-developers

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



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

    Chapter 22. DEVELOPERS file and get-developers

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

    -

    Supports hundreds of packages

    +

    Supports several thousand packages

    X.org stack, Gtk3, Qt 5, GStreamer, Webkit, Kodi, a large number of network-related and system-related utilities are supported.

    diff --git a/docs/website/js/buildroot.js b/docs/website/js/buildroot.js index a30da633e9..ec28cbb750 100644 --- a/docs/website/js/buildroot.js +++ b/docs/website/js/buildroot.js @@ -90,5 +90,5 @@ jQuery(document).ready(function($) { load_activity("http://buildroot-busybox.2317881.n4.nabble.com/Buildroot-busybox-ft2.xml", "mailing-list-activity"); load_activity("http://git.buildroot.org/buildroot/atom/?h=master", "commit-activity"); - $('#slides').html('') + $('#slides').html('') }); diff --git a/docs/website/news.html b/docs/website/news.html index 5de000f685..f729a59543 100644 --- a/docs/website/news.html +++ b/docs/website/news.html @@ -9,6 +9,171 @@

    News

      +
    • +
      +
      +
      +

      2018.02 released

      +

      4 March 2018

      +
      +
      +

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

      + +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02-rc3 released

      +

      27 February 2018

      +
      +
      +

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

      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02-rc2 released

      +

      15 February 2018

      +
      +
      +

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

      + +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02-rc1 released

      +

      5 February 2018

      +
      +
      +

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

      + +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.02.10 released

      +

      31 January 2018

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.11.2 released

      +

      21 January 2018

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.02.9 released

      +

      1 January 2018

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.11.1 released

      +

      31 December 2017

      +
      +
      +

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

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

      The stable 2017.11 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 2017.11 release.

      diff --git a/docs/website/sponsors.html b/docs/website/sponsors.html index e0f1aab20e..13ff6cc575 100644 --- a/docs/website/sponsors.html +++ b/docs/website/sponsors.html @@ -21,8 +21,8 @@
      Google is sponsoring - the Buildroot - Developers Meeting at FOSDEM 2017 in Brussels, by + the Buildroot + Developers Meeting at FOSDEM 2018 in Brussels, by providing logistics for the meeting: a free meeting room and lunch for the participants.
      @@ -39,8 +39,8 @@
      As it did in previous years, Mind - is sponsoring the Monday night dinner at the Buildroot - Developers Meeting at FOSDEM 2017 in Brussels. + is sponsoring the Monday night dinner at the Buildroot + Developers Meeting at FOSDEM 2018 in Brussels.
      @@ -83,9 +83,9 @@
      Mind sponsored the dinner of the FOSDEM 2014, 2015, 2016 and 2017 - Developers Meeting (Brussels) and ELCE 2016 (Berlin), - the meeting room and the dinner for the ELCE 2014 - Developers Meeting (Düsseldorf). + Developers Meeting (Brussels) and ELCE 2016 (Berlin) + and 2017 (Prague), and the meeting room and the dinner for + the ELCE 2014 Developers Meeting (Düsseldorf).
      @@ -101,8 +101,8 @@

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

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

      diff --git a/fs/Config.in b/fs/Config.in index 51ccf28169..c25b01c3de 100644 --- a/fs/Config.in +++ b/fs/Config.in @@ -11,6 +11,7 @@ source "fs/jffs2/Config.in" source "fs/romfs/Config.in" source "fs/squashfs/Config.in" source "fs/tar/Config.in" +source "fs/ubi/Config.in" source "fs/ubifs/Config.in" source "fs/yaffs2/Config.in" diff --git a/fs/axfs/axfs.mk b/fs/axfs/axfs.mk index 6c795d7062..4b93df55c0 100644 --- a/fs/axfs/axfs.mk +++ b/fs/axfs/axfs.mk @@ -10,4 +10,4 @@ define ROOTFS_AXFS_CMD $(HOST_DIR)/bin/mkfs.axfs -s -a $(TARGET_DIR) $@ endef -$(eval $(call ROOTFS_TARGET,axfs)) +$(eval $(rootfs)) diff --git a/fs/cloop/cloop.mk b/fs/cloop/cloop.mk index cbfc79b0d1..17749c5a3b 100644 --- a/fs/cloop/cloop.mk +++ b/fs/cloop/cloop.mk @@ -11,4 +11,4 @@ define ROOTFS_CLOOP_CMD $(HOST_DIR)/bin/create_compressed_fs - 65536 > $@ endef -$(eval $(call ROOTFS_TARGET,cloop)) +$(eval $(rootfs)) diff --git a/fs/common.mk b/fs/common.mk index 6d7e7e4f8b..6d579db810 100644 --- a/fs/common.mk +++ b/fs/common.mk @@ -19,10 +19,6 @@ # ROOTFS_$(FSTYPE)_POST_GEN_HOOKS, a list of hooks to call after # generating the filesystem image # -# ROOTFS_$(FSTYPE)_POST_TARGETS, the list of targets that should be -# run after running the main filesystem target. This is useful for -# initramfs, to rebuild the kernel once the initramfs is generated. -# # In terms of configuration option, this macro assumes that the # BR2_TARGET_ROOTFS_$(FSTYPE) config option allows to enable/disable # the generation of a filesystem image of a particular type. If @@ -31,16 +27,17 @@ # BR2_TARGET_ROOTFS_$(FSTYPE)_LZMA exist and are enabled, then the # macro will automatically generate a compressed filesystem image. -FAKEROOT_SCRIPT = $(BUILD_DIR)/_fakeroot.fs -FULL_DEVICE_TABLE = $(BUILD_DIR)/_device_table.txt +FS_DIR = $(BUILD_DIR)/buildroot-fs +FAKEROOT_SCRIPT = $(FS_DIR)/fakeroot.fs +FULL_DEVICE_TABLE = $(FS_DIR)/device_table.txt ROOTFS_DEVICE_TABLES = $(call qstrip,$(BR2_ROOTFS_DEVICE_TABLE) \ $(BR2_ROOTFS_STATIC_DEVICE_TABLE)) -USERS_TABLE = $(BUILD_DIR)/_users_table.txt +USERS_TABLE = $(FS_DIR)/users_table.txt ROOTFS_USERS_TABLES = $(call qstrip,$(BR2_ROOTFS_USERS_TABLES)) # Since this function will be called from within an $(eval ...) # all variable references except the arguments must be $$-quoted. -define ROOTFS_TARGET_INTERNAL +define inner-rootfs # extra deps ROOTFS_$(2)_DEPENDENCIES += host-fakeroot host-makedevs \ @@ -59,6 +56,11 @@ ROOTFS_$(2)_DEPENDENCIES += host-lzma ROOTFS_$(2)_COMPRESS_EXT = .lzma ROOTFS_$(2)_COMPRESS_CMD = $$(LZMA) -9 -c endif +ifeq ($$(BR2_TARGET_ROOTFS_$(2)_LZ4),y) +ROOTFS_$(2)_DEPENDENCIES += host-lz4 +ROOTFS_$(2)_COMPRESS_EXT = .lz4 +ROOTFS_$(2)_COMPRESS_CMD = lz4 -l -9 -c +endif ifeq ($$(BR2_TARGET_ROOTFS_$(2)_LZO),y) ROOTFS_$(2)_DEPENDENCIES += host-lzop ROOTFS_$(2)_COMPRESS_EXT = .lzo @@ -72,10 +74,9 @@ endif $$(BINARIES_DIR)/rootfs.$(1): target-finalize $$(ROOTFS_$(2)_DEPENDENCIES) @$$(call MESSAGE,"Generating root filesystem image rootfs.$(1)") + rm -rf $(FS_DIR) + mkdir -p $(FS_DIR) $$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),$$(call $$(hook))$$(sep)) - rm -f $$(FAKEROOT_SCRIPT) - rm -f $$(TARGET_DIR_WARNING_FILE) - rm -f $$(USERS_TABLE) echo '#!/bin/sh' > $$(FAKEROOT_SCRIPT) echo "set -e" >> $$(FAKEROOT_SCRIPT) echo "chown -h -R 0:0 $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT) @@ -83,7 +84,7 @@ ifneq ($$(ROOTFS_USERS_TABLES),) cat $$(ROOTFS_USERS_TABLES) >> $$(USERS_TABLE) endif $$(call PRINTF,$$(PACKAGES_USERS)) >> $$(USERS_TABLE) - #PATH=$$(BR_PATH) $$(TOPDIR)/support/scripts/mkusers $$(USERS_TABLE) $$(TARGET_DIR) >> $$(FAKEROOT_SCRIPT) + PATH=$$(BR_PATH) $$(TOPDIR)/support/scripts/mkusers $$(USERS_TABLE) $$(TARGET_DIR) >> $$(FAKEROOT_SCRIPT) ifneq ($$(ROOTFS_DEVICE_TABLES),) cat $$(ROOTFS_DEVICE_TABLES) > $$(FULL_DEVICE_TABLE) ifeq ($$(BR2_ROOTFS_DEVICE_CREATION_STATIC),y) @@ -91,10 +92,10 @@ ifeq ($$(BR2_ROOTFS_DEVICE_CREATION_STATIC),y) endif endif $$(call PRINTF,$$(PACKAGES_PERMISSIONS_TABLE)) >> $$(FULL_DEVICE_TABLE) - #echo "$$(HOST_DIR)/bin/makedevs -d $$(FULL_DEVICE_TABLE) $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT) + echo "$$(HOST_DIR)/bin/makedevs -d $$(FULL_DEVICE_TABLE) $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT) $$(foreach s,$$(call qstrip,$$(BR2_ROOTFS_POST_FAKEROOT_SCRIPT)),\ echo "echo '$$(TERM_BOLD)>>> Executing fakeroot script $$(s)$$(TERM_RESET)'" >> $$(FAKEROOT_SCRIPT); \ - echo $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep)) + echo $$(EXTRA_ENV) $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep)) $$(foreach hook,$$(ROOTFS_PRE_CMD_HOOKS),\ $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep)) ifeq ($$(BR2_REPRODUCIBLE),y) @@ -104,9 +105,9 @@ endif $$(foreach hook,$$(ROOTFS_POST_CMD_HOOKS),\ $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep)) chmod a+x $$(FAKEROOT_SCRIPT) + rm -f $$(TARGET_DIR_WARNING_FILE) PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT) $$(INSTALL) -m 0644 support/misc/target-dir-warning.txt $$(TARGET_DIR_WARNING_FILE) - -@rm -f $$(FAKEROOT_SCRIPT) $$(FULL_DEVICE_TABLE) ifneq ($$(ROOTFS_$(2)_COMPRESS_CMD),) PATH=$$(BR_PATH) $$(ROOTFS_$(2)_COMPRESS_CMD) $$@ > $$@$$(ROOTFS_$(2)_COMPRESS_EXT) endif @@ -115,7 +116,7 @@ endif rootfs-$(1)-show-depends: @echo $$(ROOTFS_$(2)_DEPENDENCIES) -rootfs-$(1): $$(BINARIES_DIR)/rootfs.$(1) $$(ROOTFS_$(2)_POST_TARGETS) +rootfs-$(1): $$(BINARIES_DIR)/rootfs.$(1) .PHONY: rootfs-$(1) rootfs-$(1)-show-depends @@ -123,10 +124,16 @@ ifeq ($$(BR2_TARGET_ROOTFS_$(2)),y) TARGETS_ROOTFS += rootfs-$(1) PACKAGES += $$(filter-out rootfs-%,$$(ROOTFS_$(2)_DEPENDENCIES)) endif + +# Check for legacy POST_TARGETS rules +ifneq ($$(ROOTFS_$(2)_POST_TARGETS),) +$$(error Filesystem $(1) uses post-target rules, which are no longer supported.\ + Update $(1) to use post-gen hooks instead) +endif + endef -define ROOTFS_TARGET - $(call ROOTFS_TARGET_INTERNAL,$(1),$(call UPPERCASE,$(1))) -endef +# $(pkgname) also works well to return the filesystem name +rootfs = $(call inner-rootfs,$(pkgname),$(call UPPERCASE,$(pkgname))) include $(sort $(wildcard fs/*/*.mk)) diff --git a/fs/cpio/Config.in b/fs/cpio/Config.in index 206baca677..679959d222 100644 --- a/fs/cpio/Config.in +++ b/fs/cpio/Config.in @@ -31,6 +31,11 @@ config BR2_TARGET_ROOTFS_CPIO_BZIP2 help Do compress the cpio filesystem with bzip2. +config BR2_TARGET_ROOTFS_CPIO_LZ4 + bool "lz4" + help + Do compress the cpio filesystem with lz4. + config BR2_TARGET_ROOTFS_CPIO_LZMA bool "lzma" help diff --git a/fs/cpio/cpio.mk b/fs/cpio/cpio.mk index e82167e512..aa4d947fa5 100644 --- a/fs/cpio/cpio.mk +++ b/fs/cpio/cpio.mk @@ -31,12 +31,13 @@ define ROOTFS_CPIO_CMD cd $(TARGET_DIR) && find . | cpio --quiet -o -H newc > $@ endef -$(BINARIES_DIR)/rootfs.cpio.uboot: $(BINARIES_DIR)/rootfs.cpio host-uboot-tools - $(MKIMAGE) -A $(MKIMAGE_ARCH) -T ramdisk \ - -C none -d $<$(ROOTFS_CPIO_COMPRESS_EXT) $@ - ifeq ($(BR2_TARGET_ROOTFS_CPIO_UIMAGE),y) -ROOTFS_CPIO_POST_TARGETS += $(BINARIES_DIR)/rootfs.cpio.uboot +ROOTFS_CPIO_DEPENDENCIES += host-uboot-tools +define ROOTFS_CPIO_UBOOT_MKIMAGE + $(MKIMAGE) -A $(MKIMAGE_ARCH) -T ramdisk \ + -C none -d $@$(ROOTFS_CPIO_COMPRESS_EXT) $@.uboot +endef +ROOTFS_CPIO_POST_GEN_HOOKS += ROOTFS_CPIO_UBOOT_MKIMAGE endif -$(eval $(call ROOTFS_TARGET,cpio)) +$(eval $(rootfs)) diff --git a/fs/cpio/init b/fs/cpio/init index a275482177..dbe09ac68e 100755 --- a/fs/cpio/init +++ b/fs/cpio/init @@ -4,4 +4,4 @@ exec 0/dev/console exec 2>/dev/console -exec /sbin/init $* +exec /sbin/init "$@" diff --git a/fs/cramfs/cramfs.mk b/fs/cramfs/cramfs.mk index 85b98b8ccd..f880871935 100644 --- a/fs/cramfs/cramfs.mk +++ b/fs/cramfs/cramfs.mk @@ -16,4 +16,4 @@ endef ROOTFS_CRAMFS_DEPENDENCIES = host-cramfs -$(eval $(call ROOTFS_TARGET,cramfs)) +$(eval $(rootfs)) diff --git a/fs/ext2/Config.in b/fs/ext2/Config.in index 3884b08b76..27ad69fde9 100644 --- a/fs/ext2/Config.in +++ b/fs/ext2/Config.in @@ -108,6 +108,11 @@ config BR2_TARGET_ROOTFS_EXT2_BZIP2 help Do compress the ext2/3/4 filesystem with bzip2. +config BR2_TARGET_ROOTFS_EXT2_LZ4 + bool "lz4" + help + Do compress the ext2 filesystem with lz4. + config BR2_TARGET_ROOTFS_EXT2_LZMA bool "lzma" help diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk index 5439e2b993..6bb4b1c7f8 100644 --- a/fs/ext2/ext2.mk +++ b/fs/ext2/ext2.mk @@ -36,13 +36,11 @@ define ROOTFS_EXT2_CMD } endef -rootfs-ext2-symlink: - ln -sf rootfs.ext2$(ROOTFS_EXT2_COMPRESS_EXT) $(BINARIES_DIR)/rootfs.ext$(BR2_TARGET_ROOTFS_EXT2_GEN)$(ROOTFS_EXT2_COMPRESS_EXT) - -.PHONY: rootfs-ext2-symlink - ifneq ($(BR2_TARGET_ROOTFS_EXT2_GEN),2) -ROOTFS_EXT2_POST_TARGETS += rootfs-ext2-symlink +define ROOTFS_EXT2_SYMLINK + ln -sf rootfs.ext2$(ROOTFS_EXT2_COMPRESS_EXT) $(BINARIES_DIR)/rootfs.ext$(BR2_TARGET_ROOTFS_EXT2_GEN)$(ROOTFS_EXT2_COMPRESS_EXT) +endef +ROOTFS_EXT2_POST_GEN_HOOKS += ROOTFS_EXT2_SYMLINK endif -$(eval $(call ROOTFS_TARGET,ext2)) +$(eval $(rootfs)) diff --git a/fs/initramfs/initramfs.mk b/fs/initramfs/initramfs.mk index db5081224c..b8dee18ec5 100644 --- a/fs/initramfs/initramfs.mk +++ b/fs/initramfs/initramfs.mk @@ -5,17 +5,25 @@ # ################################################################################ -ROOTFS_INITRAMFS_DEPENDENCIES += rootfs-cpio - -ROOTFS_INITRAMFS_POST_TARGETS += linux-rebuild-with-initramfs - - # The generic fs infrastructure isn't very useful here. +# +# The initramfs image does not actually build an image; its only purpose is: +# 1- to ensure rootfs.cpio is generated, +# 2- to then rebuild the kernel with rootfs.cpio as initramfs +# +# Note: ordering of the dependencies is not guaranteed here, but in +# linux/linux.mk, via the linux-rebuild-with-initramfs rule, which depends +# on the rootfs-cpio filesystem rule. +# +# Note: the trick here is that we directly depend on rebuilding the Linux +# kernel image (which itself depends on the rootfs-cpio rule), while we +# advertise that our dependency is on the rootfs-cpio rule, which is +# cleaner in the dependency graph. -rootfs-initramfs: $(ROOTFS_INITRAMFS_DEPENDENCIES) $(ROOTFS_INITRAMFS_POST_TARGETS) +rootfs-initramfs: linux-rebuild-with-initramfs rootfs-initramfs-show-depends: - @echo $(ROOTFS_INITRAMFS_DEPENDENCIES) + @echo rootfs-cpio .PHONY: rootfs-initramfs rootfs-initramfs-show-depends diff --git a/fs/iso9660/Config.in b/fs/iso9660/Config.in index 842c987f21..6f001c0640 100644 --- a/fs/iso9660/Config.in +++ b/fs/iso9660/Config.in @@ -63,6 +63,15 @@ config BR2_TARGET_ROOTFS_ISO9660_INITRD contain a kernel image, an initrd image (unless an initramfs linked into the kernel is used) and the bootloader. +config BR2_TARGET_ROOTFS_ISO9660_TRANSPARENT_COMPRESSION + bool "transparent compression" + depends on !BR2_TARGET_ROOTFS_ISO9660_INITRD + depends on !BR2_TARGET_ROOTFS_INITRAMFS + help + Say 'y' to enable use of transparent (de)compression. Files + are stored compressed and will be decompressed on-the-fly + upon access at runtime. + config BR2_TARGET_ROOTFS_ISO9660_HYBRID bool "Build hybrid image" depends on BR2_TARGET_ROOTFS_ISO9660_ISOLINUX diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk index d49d593bd6..207c6aa39f 100644 --- a/fs/iso9660/iso9660.mk +++ b/fs/iso9660/iso9660.mk @@ -35,12 +35,24 @@ ROOTFS_ISO9660_USE_INITRD = YES endif ifeq ($(ROOTFS_ISO9660_USE_INITRD),YES) -ROOTFS_ISO9660_TARGET_DIR = $(BUILD_DIR)/rootfs.iso9660.tmp +ROOTFS_ISO9660_TARGET_DIR = $(FS_DIR)/rootfs.iso9660.tmp define ROOTFS_ISO9660_CREATE_TEMPDIR $(RM) -rf $(ROOTFS_ISO9660_TARGET_DIR) mkdir -p $(ROOTFS_ISO9660_TARGET_DIR) endef ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_CREATE_TEMPDIR +else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_TRANSPARENT_COMPRESSION),y) +ROOTFS_ISO9660_DEPENDENCIES += host-zisofs-tools +ROOTFS_ISO9660_TARGET_DIR = $(FS_DIR)/rootfs.iso9660.tmp +# This must be early, before we copy the bootloader files. +define ROOTFS_ISO9660_MKZFTREE + $(RM) -rf $(ROOTFS_ISO9660_TARGET_DIR) + $(HOST_DIR)/bin/mkzftree -X -z 9 -p $(PARALLEL_JOBS) \ + $(TARGET_DIR) \ + $(ROOTFS_ISO9660_TARGET_DIR) +endef +ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_MKZFTREE +ROOTFS_ISO9660_GENISOIMAGE_OPTS += -z else ROOTFS_ISO9660_TARGET_DIR = $(TARGET_DIR) endif @@ -81,14 +93,13 @@ define ROOTFS_ISO9660_DISABLE_EXTERNAL_INITRD $(SED) '/__INITRD_PATH__/d' $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) endef -ifeq ($(ROOTFS_ISO9660_USE_INITRD),YES) - # Copy the kernel to temporary filesystem define ROOTFS_ISO9660_COPY_KERNEL $(INSTALL) -D -m 0644 $(LINUX_IMAGE_PATH) \ $(ROOTFS_ISO9660_TARGET_DIR)/boot/$(LINUX_IMAGE_NAME) endef +ifeq ($(ROOTFS_ISO9660_USE_INITRD),YES) ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_COPY_KERNEL # If initramfs is used, disable loading the initrd as the rootfs is @@ -108,6 +119,10 @@ ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_COPY_INITRD endif else # ROOTFS_ISO9660_USE_INITRD +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_TRANSPARENT_COMPRESSION),y) +# We must use the uncompressed kernel image +ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_COPY_KERNEL +endif ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_DISABLE_EXTERNAL_INITRD @@ -117,6 +132,7 @@ endif # ROOTFS_ISO9660_USE_INITRD define ROOTFS_ISO9660_CMD $(HOST_DIR)/bin/genisoimage -J -R -b $(ROOTFS_ISO9660_BOOT_IMAGE) \ -no-emul-boot -boot-load-size 4 -boot-info-table \ + $(ROOTFS_ISO9660_GENISOIMAGE_OPTS) \ -o $@ $(ROOTFS_ISO9660_TARGET_DIR) endef @@ -128,4 +144,4 @@ endef ROOTFS_ISO9660_POST_GEN_HOOKS += ROOTFS_ISO9660_GEN_HYBRID endif -$(eval $(call ROOTFS_TARGET,iso9660)) +$(eval $(rootfs)) diff --git a/fs/jffs2/jffs2.mk b/fs/jffs2/jffs2.mk index 9a36a75ff4..740ab3e03d 100644 --- a/fs/jffs2/jffs2.mk +++ b/fs/jffs2/jffs2.mk @@ -49,4 +49,4 @@ define ROOTFS_JFFS2_CMD endef endif -$(eval $(call ROOTFS_TARGET,jffs2)) +$(eval $(rootfs)) diff --git a/fs/romfs/romfs.mk b/fs/romfs/romfs.mk index eded91df0a..163751b4e2 100644 --- a/fs/romfs/romfs.mk +++ b/fs/romfs/romfs.mk @@ -10,4 +10,4 @@ define ROOTFS_ROMFS_CMD $(HOST_DIR)/bin/genromfs -d $(TARGET_DIR) -f $@ endef -$(eval $(call ROOTFS_TARGET,romfs)) +$(eval $(rootfs)) diff --git a/fs/squashfs/squashfs.mk b/fs/squashfs/squashfs.mk index 7de7f51af1..51abd5d7d0 100644 --- a/fs/squashfs/squashfs.mk +++ b/fs/squashfs/squashfs.mk @@ -24,4 +24,4 @@ define ROOTFS_SQUASHFS_CMD $(HOST_DIR)/bin/mksquashfs $(TARGET_DIR) $@ $(ROOTFS_SQUASHFS_ARGS) endef -$(eval $(call ROOTFS_TARGET,squashfs)) +$(eval $(rootfs)) diff --git a/fs/tar/Config.in b/fs/tar/Config.in index 63663ecd6f..2116edf143 100644 --- a/fs/tar/Config.in +++ b/fs/tar/Config.in @@ -26,6 +26,11 @@ config BR2_TARGET_ROOTFS_TAR_BZIP2 help Do compress the tarball with bzip2. +config BR2_TARGET_ROOTFS_TAR_LZ4 + bool "lz4" + help + Do compress the tarball with lz4. + config BR2_TARGET_ROOTFS_TAR_LZMA bool "lzma" help diff --git a/fs/tar/tar.mk b/fs/tar/tar.mk index 0e3eacbedf..e39c2fdbf1 100644 --- a/fs/tar/tar.mk +++ b/fs/tar/tar.mk @@ -11,4 +11,4 @@ define ROOTFS_TAR_CMD tar $(TAR_OPTS) -cf $@ --null --no-recursion -T - --numeric-owner) endef -$(eval $(call ROOTFS_TARGET,tar)) +$(eval $(rootfs)) diff --git a/fs/ubi/Config.in b/fs/ubi/Config.in new file mode 100644 index 0000000000..5fa2f1f61d --- /dev/null +++ b/fs/ubi/Config.in @@ -0,0 +1,51 @@ +config BR2_TARGET_ROOTFS_UBI + bool "ubi image containing an ubifs root filesystem" + select BR2_TARGET_ROOTFS_UBIFS + help + Build an ubi image from the ubifs one (with ubinize). + +if BR2_TARGET_ROOTFS_UBI + +config BR2_TARGET_ROOTFS_UBI_PEBSIZE + hex "physical eraseblock size" + default 0x20000 + help + Tells ubinize the physical eraseblock (PEB) size of the + flash chip the ubi image is created for. The value provided + here is passed to the -p/--peb-size option of ubinize. + +config BR2_TARGET_ROOTFS_UBI_SUBSIZE + int "sub-page size" + default 512 + help + Tells ubinize that the flash supports sub-pages and the sub-page + size. Use 0 if sub-pages are not supported on flash chip. + The value provided here is passed to the -s/--sub-page-size + option of ubinize. + +config BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG + bool "Use custom config file" + help + Select this option to use a custom ubinize configuration file, + rather than the default configuration used by Buildroot (which + defines a single dynamic volume marked as auto-resize). Passing + a custom ubinize configuration file allows you to create several + volumes, specify volume types, etc. + + As a convenience, buildroot replaces the string + "BR2_ROOTFS_UBIFS_PATH" with the path to the built ubifs file. + So the volume defined for the root filesystem can specify the + image path as: image=BR2_ROOTFS_UBIFS_PATH + +config BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE + string "Configuration file path" + depends on BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG + help + Path to the ubinize configuration file. + +config BR2_TARGET_ROOTFS_UBI_OPTS + string "Additional ubinize options" + help + Any additional ubinize options you may want to include. + +endif # BR2_TARGET_ROOTFS_UBI diff --git a/fs/ubifs/ubi.mk b/fs/ubi/ubi.mk similarity index 92% rename from fs/ubifs/ubi.mk rename to fs/ubi/ubi.mk index 2baece5fb0..c78feda5a3 100644 --- a/fs/ubifs/ubi.mk +++ b/fs/ubi/ubi.mk @@ -17,7 +17,7 @@ ROOTFS_UBI_DEPENDENCIES = rootfs-ubifs ifeq ($(BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG),y) UBINIZE_CONFIG_FILE_PATH = $(call qstrip,$(BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE)) else -UBINIZE_CONFIG_FILE_PATH = fs/ubifs/ubinize.cfg +UBINIZE_CONFIG_FILE_PATH = fs/ubi/ubinize.cfg endif # don't use sed -i as it misbehaves on systems with SELinux enabled when this is @@ -29,4 +29,4 @@ define ROOTFS_UBI_CMD rm $(BUILD_DIR)/ubinize.cfg endef -$(eval $(call ROOTFS_TARGET,ubi)) +$(eval $(rootfs)) diff --git a/fs/ubifs/ubinize.cfg b/fs/ubi/ubinize.cfg similarity index 100% rename from fs/ubifs/ubinize.cfg rename to fs/ubi/ubinize.cfg diff --git a/fs/ubifs/Config.in b/fs/ubifs/Config.in index ff604c5c38..e79ab9a17e 100644 --- a/fs/ubifs/Config.in +++ b/fs/ubifs/Config.in @@ -95,55 +95,4 @@ config BR2_TARGET_ROOTFS_UBIFS_OPTS help Any additional mkfs.ubifs options you may want to include. -config BR2_TARGET_ROOTFS_UBI - bool "Embed into an UBI image" - help - Build an ubi image from the ubifs one (with ubinize). - -if BR2_TARGET_ROOTFS_UBI - -config BR2_TARGET_ROOTFS_UBI_PEBSIZE - hex "physical eraseblock size" - default 0x20000 - help - Tells ubinize the physical eraseblock (PEB) size of the - flash chip the ubi image is created for. The value provided - here is passed to the -p/--peb-size option of ubinize. - -config BR2_TARGET_ROOTFS_UBI_SUBSIZE - int "sub-page size" - default 512 - help - Tells ubinize that the flash supports sub-pages and the sub-page - size. Use 0 if sub-pages are not supported on flash chip. - The value provided here is passed to the -s/--sub-page-size - option of ubinize. - -config BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG - bool "Use custom config file" - help - Select this option to use a custom ubinize configuration file, - rather than the default configuration used by Buildroot (which - defines a single dynamic volume marked as auto-resize). Passing - a custom ubinize configuration file allows you to create several - volumes, specify volume types, etc. - - As a convenience, buildroot replaces the string - "BR2_ROOTFS_UBIFS_PATH" with the path to the built ubifs file. - So the volume defined for the root filesystem can specify the - image path as: image=BR2_ROOTFS_UBIFS_PATH - -config BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE - string "Configuration file path" - depends on BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG - help - Path to the ubinize configuration file. - -config BR2_TARGET_ROOTFS_UBI_OPTS - string "Additional ubinize options" - help - Any additional ubinize options you may want to include. - -endif # BR2_TARGET_ROOTFS_UBI - endif # BR2_TARGET_ROOTFS_UBIFS diff --git a/fs/ubifs/ubifs.mk b/fs/ubifs/ubifs.mk index 7b2b0fb2cc..2cfc397aca 100644 --- a/fs/ubifs/ubifs.mk +++ b/fs/ubifs/ubifs.mk @@ -4,7 +4,10 @@ # ################################################################################ -UBIFS_OPTS := -e $(BR2_TARGET_ROOTFS_UBIFS_LEBSIZE) -c $(BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT) -m $(BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE) +UBIFS_OPTS = \ + -e $(BR2_TARGET_ROOTFS_UBIFS_LEBSIZE) \ + -c $(BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT) \ + -m $(BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE) ifeq ($(BR2_TARGET_ROOTFS_UBIFS_RT_ZLIB),y) UBIFS_OPTS += -x zlib @@ -24,4 +27,4 @@ define ROOTFS_UBIFS_CMD $(HOST_DIR)/sbin/mkfs.ubifs -d $(TARGET_DIR) $(UBIFS_OPTS) -o $@ endef -$(eval $(call ROOTFS_TARGET,ubifs)) +$(eval $(rootfs)) diff --git a/fs/yaffs2/yaffs.mk b/fs/yaffs2/yaffs.mk index 30570735fa..9cba27af70 100644 --- a/fs/yaffs2/yaffs.mk +++ b/fs/yaffs2/yaffs.mk @@ -10,4 +10,4 @@ define ROOTFS_YAFFS2_CMD $(HOST_DIR)/bin/mkyaffs2 --all-root $(TARGET_DIR) $@ endef -$(eval $(call ROOTFS_TARGET,yaffs2)) +$(eval $(rootfs)) diff --git a/linux/Config.in b/linux/Config.in index 41f039e2ca..e931bd4136 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -8,6 +8,10 @@ config BR2_LINUX_KERNEL 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. @@ -26,10 +30,10 @@ choice prompt "Kernel version" config BR2_LINUX_KERNEL_LATEST_VERSION - bool "Latest version (4.13)" + bool "Latest version (4.15)" config BR2_LINUX_KERNEL_LATEST_CIP_VERSION - bool "Latest CIP SLTS version (v4.4.83-cip8)" + bool "Latest CIP SLTS version (v4.4.138-cip25)" help CIP launched in the spring of 2016 to address the needs of organizations in industries such as power generation and @@ -116,8 +120,8 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "4.13.16" if BR2_LINUX_KERNEL_LATEST_VERSION - default "v4.4.83-cip8" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION + default "4.15.16" if BR2_LINUX_KERNEL_LATEST_VERSION + default "v4.4.138-cip25" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL @@ -284,7 +288,7 @@ endchoice choice prompt "Kernel compression format" help - This selection will just ensure that the correct host tools are build. + This selection will just ensure that the correct host tools are built. The actual compression for the kernel should be selected in the kernel configuration menu. @@ -363,40 +367,19 @@ config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT config BR2_LINUX_KERNEL_APPENDED_DTB bool -choice - prompt "Device tree source" - default BR2_LINUX_KERNEL_USE_INTREE_DTS - -config BR2_LINUX_KERNEL_USE_INTREE_DTS - bool "Use a device tree present in the kernel" - help - Use a device tree source distributed with - the kernel sources. The dts files are located - in the arch//boot/dts folder. - -config BR2_LINUX_KERNEL_USE_CUSTOM_DTS - bool "Use a custom device tree file" - help - Use a custom device tree file, i.e, a device - tree file that does not belong to the kernel - source tree. -endchoice - config BR2_LINUX_KERNEL_INTREE_DTS_NAME - string "Device Tree Source file names" - depends on BR2_LINUX_KERNEL_USE_INTREE_DTS + string "In-tree Device Tree Source file names" help - Name of the device tree source file, without + Name of in-tree device tree source file, without the trailing .dts. You can provide a list of dts files to build, separated by spaces. config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH - string "Device Tree Source file paths" - depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS + string "Out-of-tree Device Tree Source file paths" help - Path to the device tree source files. You can - provide a list of dts paths to copy and build, - separated by spaces. + Path to to out-of-tree device tree source files. + You can provide a list of dts paths to copy and + build, separated by spaces. endif @@ -412,6 +395,32 @@ config BR2_LINUX_KERNEL_INSTALL_TARGET /boot if DTBs have been generated by the kernel build process. +config BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL + bool "Needs host OpenSSL" + help + Some Linux kernel configuration options (such as + CONFIG_SYSTEM_TRUSTED_KEYRING) require building a host + program called extract-cert, which itself needs + OpenSSL. Enabling this option will ensure host-openssl gets + built before the Linux kernel. + + Enable this option if you get a Linux kernel build failure + such as "scripts/extract-cert.c:21:25: fatal error: + openssl/bio.h: No such file or directory". + +config BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF + bool "Needs host libelf" + help + Some Linux kernel configuration options (such as + CONFIG_UNWINDER_ORC) require building a host program that + needs libelf. Enabling this option will ensure host-elfutils + (which provides libelf) gets built before the Linux kernel. + + Enable this option if you get a Linux kernel build failure + such as "Cannot generate ORC metadata for + CONFIG_UNWINDER_ORC=y, please install libelf-dev, + libelf-devel or elfutils-libelf-devel". + # Linux extensions source "linux/Config.ext.in" diff --git a/linux/linux.mk b/linux/linux.mk index bd5589bae0..cc5aeb69cd 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -80,6 +80,14 @@ LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZMA) += CONFIG_KERNEL_LZMA LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_LZO) += CONFIG_KERNEL_LZO LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_XZ) += CONFIG_KERNEL_XZ +ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL),y) +LINUX_DEPENDENCIES += host-openssl +endif + +ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y) +LINUX_DEPENDENCIES += host-elfutils +endif + # If host-uboot-tools is selected by the user, assume it is needed to # create a custom image ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS),y) @@ -95,8 +103,7 @@ LINUX_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL) endif LINUX_MAKE_FLAGS = \ - HOSTCC="$(HOSTCC)" \ - HOSTCFLAGS="$(HOSTCFLAGS)" \ + HOSTCC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS)" \ ARCH=$(KERNEL_ARCH) \ INSTALL_MOD_PATH=$(TARGET_DIR) \ CROSS_COMPILE="$(TARGET_CROSS)" \ @@ -118,15 +125,13 @@ endif # going to be installed in the target filesystem. LINUX_VERSION_PROBED = `$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease 2>/dev/null` -ifeq ($(BR2_LINUX_KERNEL_USE_INTREE_DTS),y) -KERNEL_DTS_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME)) -else ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_DTS),y) +KERNEL_DTS_NAME += $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME)) + # We keep only the .dts files, so that the user can specify both .dts # and .dtsi files in BR2_LINUX_KERNEL_CUSTOM_DTS_PATH. Both will be # copied to arch//boot/dts, but only the .dts files will # actually be generated as .dtb. -KERNEL_DTS_NAME = $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH))))) -endif +KERNEL_DTS_NAME += $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH))))) KERNEL_DTBS = $(addsuffix .dtb,$(KERNEL_DTS_NAME)) @@ -150,9 +155,9 @@ LINUX_IMAGE_NAME = zImage.epapr else ifeq ($(BR2_LINUX_KERNEL_APPENDED_ZIMAGE),y) LINUX_IMAGE_NAME = zImage else ifeq ($(BR2_LINUX_KERNEL_CUIMAGE),y) -LINUX_IMAGE_NAME = cuImage.$(KERNEL_DTS_NAME) +LINUX_IMAGE_NAME = cuImage.$(firstword $(KERNEL_DTS_NAME)) else ifeq ($(BR2_LINUX_KERNEL_SIMPLEIMAGE),y) -LINUX_IMAGE_NAME = simpleImage.$(KERNEL_DTS_NAME) +LINUX_IMAGE_NAME = simpleImage.$(firstword $(KERNEL_DTS_NAME)) else ifeq ($(BR2_LINUX_KERNEL_IMAGE),y) LINUX_IMAGE_NAME = Image else ifeq ($(BR2_LINUX_KERNEL_LINUX_BIN),y) @@ -230,7 +235,14 @@ LINUX_KCONFIG_FILE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE)) endif LINUX_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES)) LINUX_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig -LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) + +# LINUX_MAKE_FLAGS overrides HOSTCC to allow the kernel build to find our +# host-openssl and host-libelf. However, this triggers a bug in the kconfig +# build script that causes it to build with /usr/include/ncurses.h (which is +# typically wchar) but link with $(HOST_DIR)/lib/libncurses.so (which is not). +# We don't actually need any host-package for kconfig, so remove the HOSTCC +# override again. +LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) HOSTCC="$(HOSTCC)" # If no package has yet set it, set it from the Kconfig option LINUX_NEEDS_MODULES ?= $(BR2_LINUX_NEEDS_MODULES) @@ -280,6 +292,8 @@ define LINUX_KCONFIG_FIXUP_CMDS $(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)) + $(if $(BR2_PACKAGE_LINUX_TOOLS_PERF), + $(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS,$(@D)/.config)) $(if $(BR2_PACKAGE_SYSTEMD), $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config) @@ -362,8 +376,9 @@ endif # Compilation. We make sure the kernel gets rebuilt when the # configuration has changed. define LINUX_BUILD_CMDS - $(if $(BR2_LINUX_KERNEL_USE_CUSTOM_DTS), - cp -f $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)) $(KERNEL_ARCH_PATH)/boot/dts/) + @for dts in $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)); do \ + cp -f $${dts} $(KERNEL_ARCH_PATH)/boot/dts/ ; \ + done $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME) @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ; \ @@ -474,9 +489,9 @@ $(error No kernel configuration file specified, check your BR2_LINUX_KERNEL_CUST endif endif -ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT)$(KERNEL_DTS_NAME),y) +ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT):$(strip $(KERNEL_DTS_NAME)),y:) $(error No kernel device tree source specified, check your \ -BR2_LINUX_KERNEL_USE_INTREE_DTS / BR2_LINUX_KERNEL_USE_CUSTOM_DTS settings) +BR2_LINUX_KERNEL_INTREE_DTS_NAME / BR2_LINUX_KERNEL_CUSTOM_DTS_PATH settings) endif endif # BR_BUILDING @@ -484,18 +499,17 @@ endif # BR_BUILDING $(eval $(kconfig-package)) # Support for rebuilding the kernel after the cpio archive has -# been generated in $(BINARIES_DIR)/rootfs.cpio. -$(LINUX_DIR)/.stamp_initramfs_rebuilt: $(LINUX_DIR)/.stamp_target_installed $(LINUX_DIR)/.stamp_images_installed $(BINARIES_DIR)/rootfs.cpio +# been generated. +.PHONY: linux-rebuild-with-initramfs +linux-rebuild-with-initramfs: $(LINUX_DIR)/.stamp_target_installed +linux-rebuild-with-initramfs: $(LINUX_DIR)/.stamp_images_installed +linux-rebuild-with-initramfs: rootfs-cpio +linux-rebuild-with-initramfs: @$(call MESSAGE,"Rebuilding kernel with initramfs") # Build the kernel. - $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME) + $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) $(LINUX_TARGET_NAME) $(LINUX_APPEND_DTB) # Copy the kernel image(s) to its(their) final destination $(call LINUX_INSTALL_IMAGE,$(BINARIES_DIR)) # If there is a .ub file copy it to the final destination test ! -f $(LINUX_IMAGE_PATH).ub || cp $(LINUX_IMAGE_PATH).ub $(BINARIES_DIR) - $(Q)touch $@ - -# The initramfs building code must make sure this target gets called -# after it generated the initramfs list of files. -linux-rebuild-with-initramfs: $(LINUX_DIR)/.stamp_initramfs_rebuilt diff --git a/package/Config.in b/package/Config.in index 2c613476e9..456d5443c4 100644 --- a/package/Config.in +++ b/package/Config.in @@ -27,7 +27,6 @@ menu "Audio and video applications" 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/miraclecast/Config.in" @@ -47,7 +46,6 @@ menu "Audio and video applications" source "package/opus-tools/Config.in" source "package/pulseaudio/Config.in" source "package/sox/Config.in" - source "package/streameye/Config.in" source "package/squeezelite/Config.in" source "package/tidsp-binaries/Config.in" source "package/tovid/Config.in" @@ -65,6 +63,7 @@ menu "Audio and video applications" endmenu menu "Compressors and decompressors" + source "package/brotli/Config.in" source "package/bzip2/Config.in" source "package/gzip/Config.in" source "package/lz4/Config.in" @@ -126,6 +125,7 @@ menu "Debugging, profiling and benchmark" source "package/stress-ng/Config.in" source "package/sysdig/Config.in" source "package/sysprof/Config.in" + source "package/tcf-agent/Config.in" source "package/tinymembench/Config.in" source "package/trace-cmd/Config.in" source "package/trinity/Config.in" @@ -191,6 +191,7 @@ menu "Filesystem and flash utilities" source "package/mtd/Config.in" source "package/mtools/Config.in" source "package/nfs-utils/Config.in" + source "package/nilfs-utils/Config.in" source "package/ntfs-3g/Config.in" source "package/sp-oops-extract/Config.in" source "package/squashfs/Config.in" @@ -243,6 +244,7 @@ menu "Games" source "package/prboom/Config.in" source "package/rubix/Config.in" source "package/sl/Config.in" + source "package/solarus/Config.in" source "package/stella/Config.in" source "package/supertux/Config.in" source "package/supertuxkart/Config.in" @@ -360,6 +362,7 @@ endmenu menu "Hardware handling" menu "Firmware" source "package/am33x-cm3/Config.in" + source "package/armbian-firmware/Config.in" source "package/b43-firmware/Config.in" source "package/linux-firmware/Config.in" source "package/rpi-bt-firmware/Config.in" @@ -382,6 +385,7 @@ endmenu source "package/avrdude/Config.in" source "package/bcache-tools/Config.in" source "package/biosdevname/Config.in" + source "package/brltty/Config.in" source "package/cbootimage/Config.in" source "package/cc-tool/Config.in" source "package/cdrkit/Config.in" @@ -404,7 +408,6 @@ endmenu source "package/dvb-apps/Config.in" source "package/dvbsnoop/Config.in" source "package/edid-decode/Config.in" - source "package/eeprog/Config.in" source "package/eudev/Config.in" source "package/ev3dev-linux-drivers/Config.in" source "package/evemu/Config.in" @@ -436,7 +439,6 @@ endmenu source "package/irda-utils/Config.in" source "package/iucode-tool/Config.in" source "package/kbd/Config.in" - source "package/lan951x-led-ctl/Config.in" source "package/lcdproc/Config.in" source "package/libuio/Config.in" source "package/libump/Config.in" @@ -481,12 +483,13 @@ endmenu source "package/pulseview/Config.in" source "package/read-edid/Config.in" source "package/rng-tools/Config.in" - source "package/rpi-armmem/Config.in" source "package/rpi-userland/Config.in" source "package/rs485conf/Config.in" source "package/rtl8188eu/Config.in" source "package/rtl8723bs/Config.in" + source "package/rtl8723bu/Config.in" source "package/rtl8821au/Config.in" + source "package/rtl8189fs/Config.in" source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/setserial/Config.in" @@ -604,8 +607,11 @@ menu "Lua libraries/modules" source "package/lua-sdl2/Config.in" source "package/lua-stdlib/Config.in" source "package/lua-testmore/Config.in" + source "package/lua-utf8/Config.in" source "package/luabitop/Config.in" source "package/luacrypto/Config.in" + source "package/luadbi/Config.in" + source "package/luadbi-sqlite3/Config.in" source "package/luaexpat/Config.in" source "package/luaexpatutils/Config.in" source "package/luafilesystem/Config.in" @@ -765,6 +771,7 @@ menu "External python modules" source "package/python-enum/Config.in" source "package/python-enum34/Config.in" source "package/python-flask/Config.in" + source "package/python-flask-cors/Config.in" source "package/python-flask-babel/Config.in" source "package/python-flask-jsonrpc/Config.in" source "package/python-flask-login/Config.in" @@ -793,6 +800,7 @@ menu "External python modules" source "package/python-ipython-genutils/Config.in" source "package/python-iso8601/Config.in" source "package/python-itsdangerous/Config.in" + source "package/python-jaraco-classes/Config.in" source "package/python-jinja2/Config.in" source "package/python-jsonschema/Config.in" source "package/python-json-schema-validator/Config.in" @@ -810,6 +818,7 @@ menu "External python modules" source "package/python-mbstrdecoder/Config.in" source "package/python-meld3/Config.in" source "package/python-mistune/Config.in" + source "package/python-more-itertools/Config.in" source "package/python-msgpack/Config.in" source "package/python-mutagen/Config.in" source "package/python-mwclient/Config.in" @@ -820,6 +829,7 @@ menu "External python modules" source "package/python-networkmanager/Config.in" source "package/python-nfc/Config.in" source "package/python-numpy/Config.in" + source "package/python-oauthlib/Config.in" source "package/python-paho-mqtt/Config.in" source "package/python-pam/Config.in" source "package/python-paramiko/Config.in" @@ -829,7 +839,6 @@ menu "External python modules" source "package/python-pathvalidate/Config.in" source "package/python-pexpect/Config.in" source "package/python-pickleshare/Config.in" - source "package/python-picamera/Config.in" source "package/python-pillow/Config.in" source "package/python-portend/Config.in" source "package/python-posix-ipc/Config.in" @@ -844,7 +853,6 @@ menu "External python modules" source "package/python-pycli/Config.in" source "package/python-pycparser/Config.in" source "package/python-pycrypto/Config.in" - source "package/python-pycurl/Config.in" source "package/python-pydal/Config.in" source "package/python-pyelftools/Config.in" source "package/python-pyftpdlib/Config.in" @@ -852,10 +860,8 @@ menu "External python modules" source "package/python-pygments/Config.in" source "package/python-pyicu/Config.in" source "package/python-pyinotify/Config.in" - source "package/python-pyjwt/Config.in" source "package/python-pylibftdi/Config.in" source "package/python-pylru/Config.in" - source "package/python-pymongo/Config.in" source "package/python-pymysql/Config.in" source "package/python-pynacl/Config.in" source "package/python-pyopenssl/Config.in" @@ -883,14 +889,19 @@ menu "External python modules" source "package/python-pyxb/Config.in" source "package/python-pyyaml/Config.in" source "package/python-pyzmq/Config.in" - source "package/python-redis/Config.in" + source "package/python-raven/Config.in" + source "package/python-remi/Config.in" source "package/python-requests/Config.in" + source "package/python-requests-oauthlib/Config.in" source "package/python-requests-toolbelt/Config.in" source "package/python-rpi-gpio/Config.in" source "package/python-rtslib-fb/Config.in" source "package/python-scandir/Config.in" source "package/python-scapy3k/Config.in" + source "package/python-schedule/Config.in" source "package/python-sdnotify/Config.in" + source "package/python-secretstorage/Config.in" + source "package/python-see/Config.in" source "package/python-serial/Config.in" source "package/python-service-identity/Config.in" source "package/python-setproctitle/Config.in" @@ -910,6 +921,7 @@ menu "External python modules" source "package/python-sortedcontainers//Config.in" source "package/python-spidev/Config.in" source "package/python-systemd/Config.in" + source "package/python-tabledata/Config.in" source "package/python-tempora/Config.in" source "package/python-typepy/Config.in" source "package/python-thrift/Config.in" @@ -920,6 +932,7 @@ menu "External python modules" source "package/python-treq/Config.in" source "package/python-twisted/Config.in" source "package/python-txaio/Config.in" + source "package/python-txtorcon/Config.in" source "package/python-u-msgpack/Config.in" source "package/python-ubjson/Config.in" source "package/python-ujson/Config.in" @@ -935,6 +948,7 @@ menu "External python modules" source "package/python-whoosh/Config.in" source "package/python-ws4py/Config.in" source "package/python-wsaccel/Config.in" + source "package/python-xlib/Config.in" source "package/python-xlrd/Config.in" source "package/python-xlsxwriter/Config.in" source "package/python-xlutils/Config.in" @@ -1046,6 +1060,7 @@ menu "Crypto" source "package/tinydtls/Config.in" source "package/trousers/Config.in" source "package/ustream-ssl/Config.in" + source "package/wolfssl/Config.in" endmenu menu "Database" @@ -1123,6 +1138,7 @@ menu "Graphics" source "package/libglew/Config.in" source "package/libglfw/Config.in" source "package/libglu/Config.in" + source "package/libgta/Config.in" source "package/libgtk2/Config.in" source "package/libgtk3/Config.in" source "package/libmediaart/Config.in" @@ -1152,8 +1168,10 @@ menu "Graphics" source "package/tiff/Config.in" source "package/wayland/Config.in" source "package/wayland-protocols/Config.in" + source "package/waylandpp/Config.in" source "package/webkitgtk/Config.in" source "package/webp/Config.in" + source "package/woff2/Config.in" source "package/zbar/Config.in" source "package/zxing-cpp/Config.in" endmenu @@ -1249,6 +1267,7 @@ menu "JSON/XML" source "package/jose/Config.in" source "package/jsmn/Config.in" source "package/json-c/Config.in" + source "package/json-for-modern-cpp/Config.in" source "package/json-glib/Config.in" source "package/jsoncpp/Config.in" source "package/libbson/Config.in" @@ -1282,6 +1301,7 @@ menu "Logging" source "package/log4cplus/Config.in" source "package/log4cpp/Config.in" source "package/log4cxx/Config.in" + source "package/opentracing-cpp/Config.in" source "package/zlog/Config.in" endmenu @@ -1331,7 +1351,9 @@ menu "Networking" source "package/canfestival/Config.in" source "package/cgic/Config.in" source "package/cppzmq/Config.in" + source "package/curlpp/Config.in" source "package/czmq/Config.in" + source "package/daq/Config.in" source "package/filemq/Config.in" source "package/flickcurl/Config.in" source "package/fmlib/Config.in" @@ -1347,6 +1369,7 @@ menu "Networking" source "package/libcgi/Config.in" source "package/libcgicc/Config.in" source "package/libcoap/Config.in" + source "package/libcpprestsdk/Config.in" source "package/libcurl/Config.in" source "package/libdnet/Config.in" source "package/libeXosip2/Config.in" @@ -1391,6 +1414,7 @@ menu "Networking" source "package/libtirpc/Config.in" source "package/libtorrent/Config.in" source "package/libupnp/Config.in" + source "package/libupnp18/Config.in" source "package/libupnpp/Config.in" source "package/liburiparser/Config.in" source "package/libvncserver/Config.in" @@ -1443,6 +1467,8 @@ menu "Other" source "package/elfutils/Config.in" source "package/fftw/Config.in" source "package/flann/Config.in" + source "package/flatbuffers/Config.in" + source "package/gconf/Config.in" source "package/gflags/Config.in" source "package/glibmm/Config.in" source "package/glm/Config.in" @@ -1533,6 +1559,7 @@ menu "Security" source "package/libselinux/Config.in" source "package/libsemanage/Config.in" source "package/libsepol/Config.in" + source "package/safeclib/Config.in" endmenu menu "Text and terminal handling" @@ -1588,6 +1615,7 @@ menu "Miscellaneous" source "package/linux-syscall-support/Config.in" source "package/mcrypt/Config.in" source "package/mobile-broadband-provider-info/Config.in" + source "package/proj/Config.in" source "package/qemu/Config.in" source "package/qpdf/Config.in" source "package/shared-mime-info/Config.in" @@ -1598,6 +1626,7 @@ endmenu menu "Networking applications" source "package/aircrack-ng/Config.in" + source "package/aoetools/Config.in" source "package/apache/Config.in" source "package/argus/Config.in" source "package/arp-scan/Config.in" @@ -1632,6 +1661,7 @@ menu "Networking applications" source "package/crda/Config.in" source "package/ctorrent/Config.in" source "package/cups/Config.in" + source "package/cups-filters/Config.in" source "package/dante/Config.in" source "package/darkhttpd/Config.in" source "package/dhcp/Config.in" @@ -1652,6 +1682,7 @@ menu "Networking applications" source "package/freeswitch/Config.in" source "package/freeswitch-mod-bcg729/Config.in" source "package/gesftpserver/Config.in" + source "package/glorytun/Config.in" source "package/gupnp-tools/Config.in" source "package/gutenprint/Config.in" source "package/hans/Config.in" @@ -1696,6 +1727,7 @@ menu "Networking applications" source "package/linuxptp/Config.in" source "package/lldpd/Config.in" source "package/lrzsz/Config.in" + source "package/lynx/Config.in" source "package/macchanger/Config.in" source "package/memcached/Config.in" source "package/mii-diag/Config.in" @@ -1740,6 +1772,7 @@ endif source "package/odhcp6c/Config.in" source "package/odhcploc/Config.in" source "package/olsr/Config.in" + source "package/open-lldp/Config.in" source "package/open-plc-utils/Config.in" source "package/openntpd/Config.in" source "package/openobex/Config.in" @@ -1749,6 +1782,7 @@ endif source "package/p910nd/Config.in" source "package/phidgetwebservice/Config.in" source "package/phytool/Config.in" + source "package/pimd/Config.in" source "package/pound/Config.in" source "package/pppd/Config.in" source "package/pptp-linux/Config.in" @@ -1769,6 +1803,7 @@ endif source "package/rsync/Config.in" source "package/rtorrent/Config.in" source "package/rtptools/Config.in" + source "package/rygel/Config.in" source "package/s6-dns/Config.in" source "package/s6-networking/Config.in" source "package/samba4/Config.in" @@ -1798,6 +1833,7 @@ endif source "package/tinyhttpd/Config.in" source "package/tn5250/Config.in" source "package/tor/Config.in" + source "package/traceroute/Config.in" source "package/transmission/Config.in" source "package/tunctl/Config.in" source "package/tvheadend/Config.in" @@ -1912,6 +1948,7 @@ menu "System tools" source "package/debianutils/Config.in" source "package/docker-containerd/Config.in" source "package/docker-engine/Config.in" + source "package/docker-proxy/Config.in" source "package/dsp-tools/Config.in" source "package/efibootmgr/Config.in" source "package/efivar/Config.in" @@ -1926,6 +1963,7 @@ menu "System tools" 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/monit/Config.in" source "package/ncdu/Config.in" diff --git a/package/Config.in.host b/package/Config.in.host index 48b6f8c7a8..199a8e9856 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -2,6 +2,7 @@ menu "Host utilities" source "package/aespipe/Config.in.host" source "package/android-tools/Config.in.host" + source "package/cargo/Config.in.host" source "package/cbootimage/Config.in.host" source "package/checkpolicy/Config.in.host" source "package/cmake/Config.in.host" @@ -18,6 +19,7 @@ menu "Host utilities" source "package/genext2fs/Config.in.host" source "package/genimage/Config.in.host" source "package/genpart/Config.in.host" + source "package/gnupg/Config.in.host" source "package/go/Config.in.host" source "package/go-bootstrap/Config.in.host" source "package/google-breakpad/Config.in.host" @@ -45,6 +47,7 @@ menu "Host utilities" source "package/qemu/Config.in.host" source "package/raspberrypi-usbboot/Config.in.host" source "package/rauc/Config.in.host" + source "package/rustc/Config.in.host" source "package/s6-rc/Config.in.host" source "package/sam-ba/Config.in.host" source "package/squashfs/Config.in.host" diff --git a/package/Makefile.in b/package/Makefile.in index a1a5316051..58af2ef242 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -138,11 +138,37 @@ ifeq ($(BR2_DEBUG_3),y) TARGET_DEBUGGING = -g3 endif +TARGET_CFLAGS_RELRO = -Wl,-z,relro +TARGET_CFLAGS_RELRO_FULL = -Wl,-z,now $(TARGET_CFLAGS_RELRO) + +TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS)) + +ifeq ($(BR2_SSP_REGULAR),y) +TARGET_CPPFLAGS += -fstack-protector +else ifeq ($(BR2_SSP_STRONG),y) +TARGET_CPPFLAGS += -fstack-protector-strong +else ifeq ($(BR2_SSP_ALL),y) +TARGET_CPPFLAGS += -fstack-protector-all +endif + +ifeq ($(BR2_RELRO_PARTIAL),y) +TARGET_CPPFLAGS += $(TARGET_CFLAGS_RELRO) +TARGET_LDFLAGS += $(TARGET_CFLAGS_RELRO) +else ifeq ($(BR2_RELRO_FULL),y) +TARGET_CPPFLAGS += -fPIE $(TARGET_CFLAGS_RELRO_FULL) +TARGET_LDFLAGS += -pie +endif + +ifeq ($(BR2_FORTIFY_SOURCE_1),y) +TARGET_CPPFLAGS += -D_FORTIFY_SOURCE=1 +else ifeq ($(BR2_FORTIFY_SOURCE_2),y) +TARGET_CPPFLAGS += -D_FORTIFY_SOURCE=2 +endif + TARGET_CPPFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 TARGET_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) TARGET_CXXFLAGS = $(TARGET_CFLAGS) TARGET_FCFLAGS = $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) -TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS)) ifeq ($(BR2_BINFMT_FLAT),y) TARGET_CFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\ @@ -167,20 +193,6 @@ TARGET_FCFLAGS += -msep-data TARGET_CXXFLAGS += -msep-data endif -ifeq ($(BR2_SSP_REGULAR),y) -TARGET_CFLAGS += -fstack-protector -TARGET_CXXFLAGS += -fstack-protector -TARGET_FCFLAGS += -fstack-protector -else ifeq ($(BR2_SSP_STRONG),y) -TARGET_CFLAGS += -fstack-protector-strong -TARGET_CXXFLAGS += -fstack-protector-strong -TARGET_FCFLAGS += -fstack-protector-strong -else ifeq ($(BR2_SSP_ALL),y) -TARGET_CFLAGS += -fstack-protector-all -TARGET_CXXFLAGS += -fstack-protector-all -TARGET_FCFLAGS += -fstack-protector-all -endif - ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) TARGET_CROSS = $(HOST_DIR)/bin/$(GNU_TARGET_NAME)- else @@ -230,7 +242,7 @@ HOST_LDFLAGS += -L$(HOST_DIR)/lib -Wl,-rpath,$(HOST_DIR)/lib # Exit code chooses option. "$$TMP" is can be used as temporary file and # is automatically cleaned up. try-run = $(shell set -e; \ - TMP="$$(tempfile)"; \ + TMP="$$(mktemp)"; \ if ($(1)) >/dev/null 2>&1; \ then echo "$(2)"; \ else echo "$(3)"; \ @@ -397,8 +409,16 @@ else NLS_OPTS = --disable-nls endif +# We need anything that is invalid. Traditionally, we'd have used 'false' (and +# we did so in the past). However, that breaks libtool for packages that have +# optional C++ support (e.g. gnutls), because libtool will *require* a *valid* +# C++ preprocessor as long as CXX is not 'no'. +# Now, whether we use 'no' or 'false' for CXX as the same side effect: it is an +# invalid C++ compiler, and thus will cause detection of C++ to fail (which is +# expected and what we want), while at the same time taming libtool into +# silence. ifneq ($(BR2_INSTALL_LIBSTDCPP),y) -TARGET_CONFIGURE_OPTS += CXX=false +TARGET_CONFIGURE_OPTS += CXX=no endif ifeq ($(BR2_STATIC_LIBS),y) diff --git a/package/acl/0001-Build-with-old-GCC-versions.patch b/package/acl/0001-Build-with-old-GCC-versions.patch new file mode 100644 index 0000000000..a05ff5d9d3 --- /dev/null +++ b/package/acl/0001-Build-with-old-GCC-versions.patch @@ -0,0 +1,32 @@ +From a42519dceef0493ece45538375ae1791313f16d3 Mon Sep 17 00:00:00 2001 +From: Hollis Blanchard +Date: Mon, 30 Jul 2018 14:29:46 -0700 +Subject: [PATCH] Remove pragmas inside functions + +GCC 4.4.7, as found in RHEL6, reports: + libacl/acl_from_text.c:307: error: #pragma GCC diagnostic not allowed inside functions + +Signed-off-by: Hollis Blanchard +--- + libacl/acl_from_text.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/libacl/acl_from_text.c b/libacl/acl_from_text.c +index 09790c9..fb6bc07 100644 +--- a/libacl/acl_from_text.c ++++ b/libacl/acl_from_text.c +@@ -304,11 +304,8 @@ parse_acl_entry(const char **text_p, acl_t *acl_p) + create_entry: + if (acl_create_entry(acl_p, &entry_d) != 0) + return -1; +-#pragma GCC diagnostic push +-#pragma GCC diagnostic ignored "-Waddress" + if (acl_copy_entry(entry_d, int2ext(&entry_obj)) != 0) + return -1; +-#pragma GCC diagnostic pop + return 0; + + fail: +-- +2.13.0 + diff --git a/package/acl/0001-support-static-installation.patch b/package/acl/0001-support-static-installation.patch deleted file mode 100644 index 4cb473ffc2..0000000000 --- a/package/acl/0001-support-static-installation.patch +++ /dev/null @@ -1,29 +0,0 @@ -Support installation of .a file when doing static linking - -When doing static linking (i.e ENABLE_SHARED != yes), the acl build -logic wasn't installing any library at all, not even the .a file which -is needed for static linking. This patch fixes that. - -Signed-off-by: Thomas Petazzoni - -Index: b/include/buildmacros -=================================================================== ---- a/include/buildmacros -+++ b/include/buildmacros -@@ -97,7 +97,15 @@ - - INSTALL_LTLIB_STATIC = \ - cd $(TOPDIR)/$(LIBNAME)/.libs; \ -- ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); -+ ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \ -+ ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).la $(PKG_DEVLIB_DIR); \ -+ ../$(INSTALL) -m 644 $(LIBNAME).la $(PKG_DEVLIB_DIR)/$(LIBNAME).la ; \ -+ ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \ -+ ../$(INSTALL) -T so_base $(LIBNAME).la $(PKG_LIB_DIR); \ -+ if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \ -+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \ -+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \ -+ fi - - INSTALL_MAN = \ - @for d in $(MAN_PAGES); do \ diff --git a/package/acl/0002-add-__acl_-prefixes-to-internal-symbols.patch b/package/acl/0002-add-__acl_-prefixes-to-internal-symbols.patch deleted file mode 100644 index f9a5d9bd1e..0000000000 --- a/package/acl/0002-add-__acl_-prefixes-to-internal-symbols.patch +++ /dev/null @@ -1,292 +0,0 @@ -From debbe4f7b591b3f35d0ed65c17fa81b196b2eb2d Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Tue, 12 Aug 2014 08:37:25 -0400 -Subject: [PATCH] add __acl_ prefixes to internal symbols - -When static linking libacl, people sometimes run into symbol collisions -because their own code defines symbols like "quote". So for acl internal -symbols, use an __acl_ prefix. - -[Rahul Bedarkar: backported from upstream - http://git.savannah.gnu.org/cgit/acl.git/commit/?id=a2c4d71c2e84419a49db503ed59de4d3d1dca7dd ] -Signed-off-by: Rahul Bedarkar ---- - exports | 12 ++---------- - getfacl/getfacl.c | 4 ++-- - include/misc.h | 8 ++++---- - libacl/__acl_to_any_text.c | 4 ++-- - libacl/acl_from_text.c | 4 ++-- - libmisc/high_water_alloc.c | 2 +- - libmisc/next_line.c | 6 +++--- - libmisc/quote.c | 4 ++-- - libmisc/unquote.c | 2 +- - setfacl/parse.c | 10 +++++----- - setfacl/setfacl.c | 4 ++-- - 11 files changed, 26 insertions(+), 34 deletions(-) - -diff --git a/exports b/exports -index 7d8e69e..bf15d84 100644 ---- a/exports -+++ b/exports -@@ -59,22 +59,14 @@ ACL_1.0 { - acl_to_any_text; - - local: -- # Library internal stuff -+ # Library internal stuff - __new_var_obj_p; - __new_obj_p_here; - __free_obj_p; - __check_obj_p; - __ext2int_and_check; -- __acl_reorder_entry_obj_p; -- __acl_reorder_obj_p; -- __acl_init_obj; -- __acl_create_entry_obj; -- __acl_free_acl_obj; -- __acl_to_any_text; -+ __acl_*; - __apply_mask_to_mode; -- -- quote; -- unquote; - }; - - ACL_1.1 { -diff --git a/getfacl/getfacl.c b/getfacl/getfacl.c -index f8eaf25..af9e225 100644 ---- a/getfacl/getfacl.c -+++ b/getfacl/getfacl.c -@@ -90,7 +90,7 @@ int opt_numeric; /* don't convert id's to symbolic names */ - - static const char *xquote(const char *str, const char *quote_chars) - { -- const char *q = quote(str, quote_chars); -+ const char *q = __acl_quote(str, quote_chars); - if (q == NULL) { - fprintf(stderr, "%s: %s\n", progname, strerror(errno)); - exit(1); -@@ -718,7 +718,7 @@ int main(int argc, char *argv[]) - do { - if (optind == argc || - strcmp(argv[optind], "-") == 0) { -- while ((line = next_line(stdin)) != NULL) { -+ while ((line = __acl_next_line(stdin)) != NULL) { - if (*line == '\0') - continue; - -diff --git a/include/misc.h b/include/misc.h -index 0c5fdcc..c25accf 100644 ---- a/include/misc.h -+++ b/include/misc.h -@@ -15,9 +15,9 @@ - along with this program. If not, see . - */ - --extern int high_water_alloc(void **buf, size_t *bufsize, size_t newsize); -+extern int __acl_high_water_alloc(void **buf, size_t *bufsize, size_t newsize); - --extern const char *quote(const char *str, const char *quote_chars); --extern char *unquote(char *str); -+extern const char *__acl_quote(const char *str, const char *quote_chars); -+extern char *__acl_unquote(char *str); - --extern char *next_line(FILE *file); -+extern char *__acl_next_line(FILE *file); -diff --git a/libacl/__acl_to_any_text.c b/libacl/__acl_to_any_text.c -index a4f9c34..19f1ccc 100644 ---- a/libacl/__acl_to_any_text.c -+++ b/libacl/__acl_to_any_text.c -@@ -159,7 +159,7 @@ acl_entry_to_any_str(const acl_entry_t entry_d, char *text_p, ssize_t size, - if (options & TEXT_NUMERIC_IDS) - str = NULL; - else -- str = quote(user_name( -+ str = __acl_quote(user_name( - entry_obj_p->eid.qid), ":, \t\n\r"); - if (str != NULL) { - strncpy(text_p, str, size); -@@ -182,7 +182,7 @@ acl_entry_to_any_str(const acl_entry_t entry_d, char *text_p, ssize_t size, - if (options & TEXT_NUMERIC_IDS) - str = NULL; - else -- str = quote(group_name( -+ str = __acl_quote(group_name( - entry_obj_p->eid.qid), ":, \t\n\r"); - if (str != NULL) { - strncpy(text_p, str, size); -diff --git a/libacl/acl_from_text.c b/libacl/acl_from_text.c -index 1e05322..f6165be 100644 ---- a/libacl/acl_from_text.c -+++ b/libacl/acl_from_text.c -@@ -206,7 +206,7 @@ parse_acl_entry(const char **text_p, acl_t *acl_p) - str = get_token(text_p); - if (str) { - entry_obj.etag = ACL_USER; -- error = get_uid(unquote(str), -+ error = get_uid(__acl_unquote(str), - &entry_obj.eid.qid); - free(str); - if (error) { -@@ -225,7 +225,7 @@ parse_acl_entry(const char **text_p, acl_t *acl_p) - str = get_token(text_p); - if (str) { - entry_obj.etag = ACL_GROUP; -- error = get_gid(unquote(str), -+ error = get_gid(__acl_unquote(str), - &entry_obj.eid.qid); - free(str); - if (error) { -diff --git a/libmisc/high_water_alloc.c b/libmisc/high_water_alloc.c -index c127dc1..951f4bb 100644 ---- a/libmisc/high_water_alloc.c -+++ b/libmisc/high_water_alloc.c -@@ -21,7 +21,7 @@ - #include - #include "misc.h" - --int high_water_alloc(void **buf, size_t *bufsize, size_t newsize) -+int __acl_high_water_alloc(void **buf, size_t *bufsize, size_t newsize) - { - #define CHUNK_SIZE 256 - /* -diff --git a/libmisc/next_line.c b/libmisc/next_line.c -index 0566d7a..126a364 100644 ---- a/libmisc/next_line.c -+++ b/libmisc/next_line.c -@@ -23,7 +23,7 @@ - - #define LINE_SIZE getpagesize() - --char *next_line(FILE *file) -+char *__acl_next_line(FILE *file) - { - static char *line; - static size_t line_size; -@@ -31,7 +31,7 @@ char *next_line(FILE *file) - int eol = 0; - - if (!line) { -- if (high_water_alloc((void **)&line, &line_size, LINE_SIZE)) -+ if (__acl_high_water_alloc((void **)&line, &line_size, LINE_SIZE)) - return NULL; - } - c = line; -@@ -47,7 +47,7 @@ char *next_line(FILE *file) - if (feof(file)) - break; - if (!eol) { -- if (high_water_alloc((void **)&line, &line_size, -+ if (__acl_high_water_alloc((void **)&line, &line_size, - 2 * line_size)) - return NULL; - c = strrchr(line, '\0'); -diff --git a/libmisc/quote.c b/libmisc/quote.c -index bf8f9eb..a28800c 100644 ---- a/libmisc/quote.c -+++ b/libmisc/quote.c -@@ -23,7 +23,7 @@ - #include - #include "misc.h" - --const char *quote(const char *str, const char *quote_chars) -+const char *__acl_quote(const char *str, const char *quote_chars) - { - static char *quoted_str; - static size_t quoted_str_len; -@@ -40,7 +40,7 @@ const char *quote(const char *str, const char *quote_chars) - if (nonpr == 0) - return str; - -- if (high_water_alloc((void **)"ed_str, "ed_str_len, -+ if (__acl_high_water_alloc((void **)"ed_str, "ed_str_len, - (s - (unsigned char *)str) + nonpr * 3 + 1)) - return NULL; - for (s = (unsigned char *)str, q = quoted_str; *s != '\0'; s++) { -diff --git a/libmisc/unquote.c b/libmisc/unquote.c -index bffebf9..4f4ce7c 100644 ---- a/libmisc/unquote.c -+++ b/libmisc/unquote.c -@@ -22,7 +22,7 @@ - #include - #include "misc.h" - --char *unquote(char *str) -+char *__acl_unquote(char *str) - { - unsigned char *s, *t; - -diff --git a/setfacl/parse.c b/setfacl/parse.c -index e7e6add..7433459 100644 ---- a/setfacl/parse.c -+++ b/setfacl/parse.c -@@ -226,7 +226,7 @@ user_entry: - str = get_token(text_p); - if (str) { - cmd->c_tag = ACL_USER; -- error = get_uid(unquote(str), &cmd->c_id); -+ error = get_uid(__acl_unquote(str), &cmd->c_id); - free(str); - if (error) { - *text_p = backup; -@@ -245,7 +245,7 @@ user_entry: - str = get_token(text_p); - if (str) { - cmd->c_tag = ACL_GROUP; -- error = get_gid(unquote(str), &cmd->c_id); -+ error = get_gid(__acl_unquote(str), &cmd->c_id); - free(str); - if (error) { - *text_p = backup; -@@ -466,7 +466,7 @@ read_acl_comments( - if (strncmp(cp, "file:", 5) == 0) { - cp += 5; - SKIP_WS(cp); -- cp = unquote(cp); -+ cp = __acl_unquote(cp); - - if (path_p) { - if (*path_p) -@@ -483,7 +483,7 @@ read_acl_comments( - if (uid_p) { - if (*uid_p != ACL_UNDEFINED_ID) - goto fail; -- if (get_uid(unquote(cp), uid_p) != 0) -+ if (get_uid(__acl_unquote(cp), uid_p) != 0) - continue; - } - } else if (strncmp(cp, "group:", 6) == 0) { -@@ -493,7 +493,7 @@ read_acl_comments( - if (gid_p) { - if (*gid_p != ACL_UNDEFINED_ID) - goto fail; -- if (get_gid(unquote(cp), gid_p) != 0) -+ if (get_gid(__acl_unquote(cp), gid_p) != 0) - continue; - } - } else if (strncmp(cp, "flags:", 6) == 0) { -diff --git a/setfacl/setfacl.c b/setfacl/setfacl.c -index 81062a6..fb2d172 100644 ---- a/setfacl/setfacl.c -+++ b/setfacl/setfacl.c -@@ -92,7 +92,7 @@ int promote_warning; - - static const char *xquote(const char *str, const char *quote_chars) - { -- const char *q = quote(str, quote_chars); -+ const char *q = __acl_quote(str, quote_chars); - if (q == NULL) { - fprintf(stderr, "%s: %s\n", progname, strerror(errno)); - exit(1); -@@ -311,7 +311,7 @@ int next_file(const char *arg, seq_t seq) - args.seq = seq; - - if (strcmp(arg, "-") == 0) { -- while ((line = next_line(stdin))) -+ while ((line = __acl_next_line(stdin))) - errors = walk_tree(line, walk_flags, 0, do_set, &args); - if (!feof(stdin)) { - fprintf(stderr, _("%s: Standard input: %s\n"), --- -2.6.2 - diff --git a/package/acl/acl.hash b/package/acl/acl.hash index 3f9d7900d3..091092a1c5 100644 --- a/package/acl/acl.hash +++ b/package/acl/acl.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 179074bb0580c06c4b4137be4c5a92a701583277967acdb5546043c7874e0d23 acl-2.2.52.src.tar.gz +sha256 06be9865c6f418d851ff4494e12406568353b891ffe1f596b34693c387af26c7 acl-2.2.53.tar.gz diff --git a/package/acl/acl.mk b/package/acl/acl.mk index 4d30059390..038bc7a050 100644 --- a/package/acl/acl.mk +++ b/package/acl/acl.mk @@ -4,54 +4,18 @@ # ################################################################################ -ACL_VERSION = 2.2.52 -ACL_SOURCE = acl-$(ACL_VERSION).src.tar.gz +ACL_VERSION = 2.2.53 ACL_SITE = http://download.savannah.gnu.org/releases/acl -ACL_INSTALL_STAGING = YES -ACL_DEPENDENCIES = attr -ACL_CONF_OPTS = --enable-gettext=no ACL_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) ACL_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL -# While the configuration system uses autoconf, the Makefiles are -# hand-written and do not use automake. Therefore, we have to hack -# around their deficiencies by: -# - explicitly passing CFLAGS (LDFLAGS are passed on from configure, -# CFLAGS are not). -# - explicitly passing the installation prefix, not using DESTDIR. - -ACL_MAKE_ENV = CFLAGS="$(TARGET_CFLAGS)" - -ACL_INSTALL_STAGING_OPTS = \ - prefix=$(STAGING_DIR)/usr \ - exec_prefix=$(STAGING_DIR)/usr \ - PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib \ - install-dev install-lib - -ACL_INSTALL_TARGET_OPTS = \ - prefix=$(TARGET_DIR)/usr \ - exec_prefix=$(TARGET_DIR)/usr \ - install install-lib - -# The libdir variable in libacl.la is empty, so let's fix it. This is -# probably due to acl not using automake, and not doing fully the -# right thing with libtool. -define ACL_FIX_LIBTOOL_LA_LIBDIR - $(SED) "s,libdir=.*,libdir='$(STAGING_DIR)'," \ - $(STAGING_DIR)/usr/lib/libacl.la -endef - -ACL_POST_INSTALL_STAGING_HOOKS += ACL_FIX_LIBTOOL_LA_LIBDIR - +ACL_DEPENDENCIES = attr HOST_ACL_DEPENDENCIES = host-attr -HOST_ACL_CONF_OPTS = --enable-gettext=no -HOST_ACL_MAKE_ENV = CFLAGS="$(HOST_CFLAGS)" -HOST_ACL_INSTALL_OPTS = \ - prefix=$(HOST_DIR) \ - exec_prefix=$(HOST_DIR) \ - PKG_DEVLIB_DIR=$(HOST_DIR)/lib \ - install-dev install-lib -# For the host, libacl.la is correct, no fixup needed. + +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/acpid/acpid.mk b/package/acpid/acpid.mk index 2141a1a9e0..87378d8106 100644 --- a/package/acpid/acpid.mk +++ b/package/acpid/acpid.mk @@ -15,9 +15,15 @@ define ACPID_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S02acpid endef +ifeq ($(BR2_INIT_SYSV)$(BR2_INIT_SYSTEMD),y) +ACPID_POWEROFF_CMD = /sbin/shutdown -hP now +else +ACPID_POWEROFF_CMD = /sbin/poweroff +endif + define ACPID_SET_EVENTS mkdir -p $(TARGET_DIR)/etc/acpi/events - printf "event=button[ /]power\naction=/sbin/poweroff\n" \ + printf 'event=button[ /]power\naction=%s\n' '$(ACPID_POWEROFF_CMD)' \ >$(TARGET_DIR)/etc/acpi/events/powerbtn endef diff --git a/package/alsa-lib/0001-musl-pcm-h.patch b/package/alsa-lib/0001-musl-pcm-h.patch deleted file mode 100644 index ce1528c572..0000000000 --- a/package/alsa-lib/0001-musl-pcm-h.patch +++ /dev/null @@ -1,33 +0,0 @@ -Fix musl-related build errors in packages depending on alsa, in our case -this fixes openal. - -Downloaded from -http://git.alpinelinux.org/cgit/aports/tree/main/alsa-lib/alsa-lib_pcm_h.patch - -Signed-off-by: Bernd Kuhls - ---- alsa-lib-1.0.25/include/pcm.h -+++ alsa-lib-1.0.25.patched/include/pcm.h -@@ -33,6 +33,7 @@ - extern "C" { - #endif - -+#include - /** - * \defgroup PCM PCM Interface - * See the \ref pcm page for more details. -@@ -941,10 +942,10 @@ - int snd_pcm_format_physical_width(snd_pcm_format_t format); /* in bits */ - snd_pcm_format_t snd_pcm_build_linear_format(int width, int pwidth, int unsignd, int big_endian); - ssize_t snd_pcm_format_size(snd_pcm_format_t format, size_t samples); --u_int8_t snd_pcm_format_silence(snd_pcm_format_t format); --u_int16_t snd_pcm_format_silence_16(snd_pcm_format_t format); --u_int32_t snd_pcm_format_silence_32(snd_pcm_format_t format); --u_int64_t snd_pcm_format_silence_64(snd_pcm_format_t format); -+uint8_t snd_pcm_format_silence(snd_pcm_format_t format); -+uint16_t snd_pcm_format_silence_16(snd_pcm_format_t format); -+uint32_t snd_pcm_format_silence_32(snd_pcm_format_t format); -+uint64_t snd_pcm_format_silence_64(snd_pcm_format_t format); - int snd_pcm_format_set_silence(snd_pcm_format_t format, void *buf, unsigned int samples); - - snd_pcm_sframes_t snd_pcm_bytes_to_frames(snd_pcm_t *pcm, ssize_t bytes); diff --git a/package/alsa-lib/0002-no-mmu.patch b/package/alsa-lib/0001-no-mmu.patch similarity index 100% rename from package/alsa-lib/0002-no-mmu.patch rename to package/alsa-lib/0001-no-mmu.patch diff --git a/package/alsa-lib/0003-dlmisc.patch b/package/alsa-lib/0002-dlmisc.patch similarity index 100% rename from package/alsa-lib/0003-dlmisc.patch rename to package/alsa-lib/0002-dlmisc.patch diff --git a/package/alsa-lib/0004-conditional-enabling-of-libdl-in-m4.patch b/package/alsa-lib/0003-conditional-enabling-of-libdl-in-m4.patch similarity index 100% rename from package/alsa-lib/0004-conditional-enabling-of-libdl-in-m4.patch rename to package/alsa-lib/0003-conditional-enabling-of-libdl-in-m4.patch diff --git a/package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch b/package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch deleted file mode 100644 index 72646dda8d..0000000000 --- a/package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch +++ /dev/null @@ -1,52 +0,0 @@ -From da16e18f03fc63e1206b93d6a719b177d4f4bb99 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 11 Aug 2017 22:33:01 +0200 -Subject: [PATCH] src/rawmidi/rawmidi_symbols.c: use rawmidi_virt only when - available - -src/rawmidi/Makefile.am only brings rawmidi_virt.c into the build when -BUILD_SEQ is defined (i.e when --enable-seq is passed). However, -rawmidi_symbols.c unconditionally refers to _snd_module_rawmidi_virt, -defined in rawmidi_virt.c. - -This causes a link failure when BUILD_SEQ is disabled. For example -when linking ffmpeg against alsa-lib: - -/home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libasound.a(pcm_dmix.o): In function `snd_pcm_dmix_sync_ptr': -pcm_dmix.c:(.text+0x83c): warning: -/home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libasound.a(rawmidi_symbols.o):(.data+0x4): undefined reference to `_snd_module_rawmidi_virt' -collect2: error: ld returned 1 exit status - -To fix this, we make sure that rawmidi_symbols.c only uses -_snd_module_rawmidi_virt when available. - -Signed-off-by: Thomas Petazzoni - -Patch sent upstream: https://www.spinics.net/lists/alsa-devel/msg65902.html ---- - src/rawmidi/rawmidi_symbols.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/rawmidi/rawmidi_symbols.c b/src/rawmidi/rawmidi_symbols.c -index cdc06d7..6473433 100644 ---- a/src/rawmidi/rawmidi_symbols.c -+++ b/src/rawmidi/rawmidi_symbols.c -@@ -21,11 +21,15 @@ - #ifndef PIC - - extern const char *_snd_module_rawmidi_hw; -+#ifdef BUILD_SEQ - extern const char *_snd_module_rawmidi_virt; -+#endif - - static const char **snd_rawmidi_open_objects[] = { - &_snd_module_rawmidi_hw, -+#ifdef BUILD_SEQ - &_snd_module_rawmidi_virt -+#endif - }; - - void *snd_rawmidi_open_symbols(void) --- -2.9.4 - diff --git a/package/alsa-lib/alsa-lib.hash b/package/alsa-lib/alsa-lib.hash index cf2a705b39..885309386e 100644 --- a/package/alsa-lib/alsa-lib.hash +++ b/package/alsa-lib/alsa-lib.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 91bb870c14d1c7c269213285eeed874fa3d28112077db061a3af8010d0885b76 alsa-lib-1.1.4.1.tar.bz2 +sha256 f4f68ad3c6da36b0b5241ac3c798a7a71e0e97d51f972e9f723b3f20a9650ae6 alsa-lib-1.1.5.tar.bz2 +sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING +sha256 bfe16cf823bcff261fc6a062c07ee96660e3c39678f42f39a788a68dbc234ced aserver/COPYING diff --git a/package/alsa-lib/alsa-lib.mk b/package/alsa-lib/alsa-lib.mk index 12fa408cff..3235502089 100644 --- a/package/alsa-lib/alsa-lib.mk +++ b/package/alsa-lib/alsa-lib.mk @@ -4,7 +4,7 @@ # ################################################################################ -ALSA_LIB_VERSION = 1.1.4.1 +ALSA_LIB_VERSION = 1.1.5 ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VERSION).tar.bz2 ALSA_LIB_SITE = ftp://ftp.alsa-project.org/pub/lib ALSA_LIB_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (aserver) diff --git a/package/alsa-utils/alsa-utils.hash b/package/alsa-utils/alsa-utils.hash index 538990bded..41cf946bd4 100644 --- a/package/alsa-utils/alsa-utils.hash +++ b/package/alsa-utils/alsa-utils.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 a7831044de92c5bf33bf3365a3f36e49397f4191e934df460ae1ca15138c9d9d alsa-utils-1.1.4.tar.bz2 +sha256 320bd285e91db6e7fd7db3c9ec6f55b02f35449ff273c7844780ac6a5a3de2e8 alsa-utils-1.1.5.tar.bz2 +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/alsa-utils/alsa-utils.mk b/package/alsa-utils/alsa-utils.mk index e9fd942e57..2d3407d422 100644 --- a/package/alsa-utils/alsa-utils.mk +++ b/package/alsa-utils/alsa-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -ALSA_UTILS_VERSION = 1.1.4 +ALSA_UTILS_VERSION = 1.1.5 ALSA_UTILS_SOURCE = alsa-utils-$(ALSA_UTILS_VERSION).tar.bz2 ALSA_UTILS_SITE = ftp://ftp.alsa-project.org/pub/utils ALSA_UTILS_LICENSE = GPL-2.0 diff --git a/package/am335x-pru-package/am335x-pru-package.mk b/package/am335x-pru-package/am335x-pru-package.mk index b2e89d3710..24a5df4815 100644 --- a/package/am335x-pru-package/am335x-pru-package.mk +++ b/package/am335x-pru-package/am335x-pru-package.mk @@ -13,14 +13,14 @@ AM335X_PRU_PACKAGE_INSTALL_STAGING = YES # The default 'all' rule builds everything, when we just need the library ifeq ($(BR2_ENABLE_DEBUG),y) -AM335X_MAKE_TARGET = debug $(if $(BR2_STATIC_LIBS),,sodebug) +AM335X_PRU_PACKAGE_MAKE_TARGET = debug $(if $(BR2_STATIC_LIBS),,sodebug) else -AM335X_MAKE_TARGET = release $(if $(BR2_STATIC_LIBS),,sorelease) +AM335X_PRU_PACKAGE_MAKE_TARGET = release $(if $(BR2_STATIC_LIBS),,sorelease) endif define AM335X_PRU_PACKAGE_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" \ - -C $(@D)/pru_sw/app_loader/interface $(AM335X_MAKE_TARGET) + -C $(@D)/pru_sw/app_loader/interface $(AM335X_PRU_PACKAGE_MAKE_TARGET) endef # 'install' installs whatever was built, and our patch removes the dependency diff --git a/package/android-tools/0008-Include-sysmacros.h-to-compile-with-glibc-2.28.patch b/package/android-tools/0008-Include-sysmacros.h-to-compile-with-glibc-2.28.patch new file mode 100644 index 0000000000..77b457f604 --- /dev/null +++ b/package/android-tools/0008-Include-sysmacros.h-to-compile-with-glibc-2.28.patch @@ -0,0 +1,42 @@ +usb_linux.c: fix minor()/major() build failure due to glibc 2.28 + +glibc 2.28 no longer includes from , +and therefore must be included explicitly when +major()/minor() are used. + +This commit adds a patch to directly include into +all usb_linux.c files where minor() and major() macros are used. + +diff -urpN host-android-tools-4.2.2+git20130218.orig/core/adb/usb_linux.c host-android-tools-4.2.2+git20130218/core/adb/usb_linux.c +--- host-android-tools-4.2.2+git20130218.orig/core/adb/usb_linux.c 2013-02-18 15:49:03.000000000 +0100 ++++ host-android-tools-4.2.2+git20130218/core/adb/usb_linux.c 2018-09-09 11:47:16.476292546 +0200 +@@ -20,6 +20,7 @@ + #include + + #include ++#include + #include + #include + #include +diff -urpN host-android-tools-4.2.2+git20130218.orig/core/adbd/usb_linux.c host-android-tools-4.2.2+git20130218/core/adbd/usb_linux.c +--- host-android-tools-4.2.2+git20130218.orig/core/adbd/usb_linux.c 2018-09-09 02:32:57.154503866 +0200 ++++ host-android-tools-4.2.2+git20130218/core/adbd/usb_linux.c 2018-09-09 11:47:28.148353880 +0200 +@@ -20,6 +20,7 @@ + #include + + #include ++#include + #include + #include + #include +diff -urpN host-android-tools-4.2.2+git20130218.orig/core/fastboot/usb_linux.c host-android-tools-4.2.2+git20130218/core/fastboot/usb_linux.c +--- host-android-tools-4.2.2+git20130218.orig/core/fastboot/usb_linux.c 2013-02-18 15:49:03.000000000 +0100 ++++ host-android-tools-4.2.2+git20130218/core/fastboot/usb_linux.c 2018-09-09 11:46:53.028169154 +0200 +@@ -33,6 +33,7 @@ + + #include + #include ++#include + #include + #include + #include diff --git a/package/android-tools/Config.in b/package/android-tools/Config.in index 96e36e6cd7..478f1392dc 100644 --- a/package/android-tools/Config.in +++ b/package/android-tools/Config.in @@ -15,6 +15,8 @@ config BR2_PACKAGE_ANDROID_TOOLS can be used to interact with target devices using of these protocols. + https://wiki.debian.org/AndroidTools#Original_android-tools_package + if BR2_PACKAGE_ANDROID_TOOLS # We need kernel headers that support the __SANE_USERSPACE_TYPES__ diff --git a/package/angularjs/angularjs.hash b/package/angularjs/angularjs.hash index 100b6dc667..918c049c73 100644 --- a/package/angularjs/angularjs.hash +++ b/package/angularjs/angularjs.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 a99e3c22b54178b7646856efd95e825650d32d3125904a28216aeba52e221bad angular-1.4.3.zip +sha256 4d4e87d24c7d522f4ee765e4f7d454b9cf2a0f6407248545528064e66ad7b085 angular-1.6.7.zip +sha256 cec36623ceba33c503784164917c206047079159bf88f51a695a4dfb9d9b7ede angular.js diff --git a/package/angularjs/angularjs.mk b/package/angularjs/angularjs.mk index 08a4b60845..60702a26d2 100644 --- a/package/angularjs/angularjs.mk +++ b/package/angularjs/angularjs.mk @@ -4,7 +4,7 @@ # ################################################################################ -ANGULARJS_VERSION = 1.4.3 +ANGULARJS_VERSION = 1.6.7 ANGULARJS_SOURCE = angular-$(ANGULARJS_VERSION).zip ANGULARJS_SITE = https://code.angularjs.org/$(ANGULARJS_VERSION) ANGULARJS_LICENSE = MIT diff --git a/package/aoetools/0001-Change-shell-script-interpreter-from-bin-bash-to-bin.patch b/package/aoetools/0001-Change-shell-script-interpreter-from-bin-bash-to-bin.patch new file mode 100644 index 0000000000..00b24c8943 --- /dev/null +++ b/package/aoetools/0001-Change-shell-script-interpreter-from-bin-bash-to-bin.patch @@ -0,0 +1,26 @@ +From 4ef42740538cefd3c1554aa4df5bcb1388ac927b Mon Sep 17 00:00:00 2001 +From: Sergio Prado +Date: Tue, 16 Jan 2018 22:28:32 -0200 +Subject: [PATCH] Change shell script interpreter from /bin/bash to /bin/sh + +This will make the script more portable, making it possible to run on +systems that do not have bash. + +Signed-off-by: Sergio Prado +--- + aoe-stat.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/aoe-stat.in b/aoe-stat.in +index 50e6ac674169..0c1d6f5ebe1e 100755 +--- a/aoe-stat.in ++++ b/aoe-stat.in +@@ -1,4 +1,4 @@ +-#! /bin/bash ++#! /bin/sh + # aoe-stat - collate and present information about AoE storage + # Copyright 2012, CORAID, Inc., and licensed under GPL v.2. + +-- +1.9.1 + diff --git a/package/aoetools/Config.in b/package/aoetools/Config.in new file mode 100644 index 0000000000..70a838f6e8 --- /dev/null +++ b/package/aoetools/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_AOETOOLS + bool "aoetools" + depends on BR2_TOOLCHAIN_HAS_THREADS + help + The aoetools are programs for users of the ATA over Ethernet + (AoE) network storage protocol, a simple protocol for using + storage over an ethernet LAN. + + http://aoetools.sourceforge.net/ + +comment "aoetools needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/aoetools/aoetools.hash b/package/aoetools/aoetools.hash new file mode 100644 index 0000000000..76c305624d --- /dev/null +++ b/package/aoetools/aoetools.hash @@ -0,0 +1,5 @@ +# Locally computed: +sha256 477e796f5c18e8c0e61b5d88e1759c68249e8e0210c2f3de2b98680e2cc63e32 aoetools-37.tar.gz + +# Hash for license files: +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/aoetools/aoetools.mk b/package/aoetools/aoetools.mk new file mode 100644 index 0000000000..3f6340ff79 --- /dev/null +++ b/package/aoetools/aoetools.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# aoetools +# +################################################################################ + +AOETOOLS_VERSION = 37 +AOETOOLS_SITE = $(call github,OpenAoE,aoetools,aoetools-$(AOETOOLS_VERSION)) +AOETOOLS_LICENSE = GPL-2.0 +AOETOOLS_LICENSE_FILES = COPYING + +define AOETOOLS_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) +endef + +define AOETOOLS_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) \ + -C $(@D) install +endef + +$(eval $(generic-package)) diff --git a/package/apache/apache.hash b/package/apache/apache.hash index 6471c38b62..32743656fd 100644 --- a/package/apache/apache.hash +++ b/package/apache/apache.hash @@ -1,2 +1,4 @@ -# From http://www.apache.org/dist/httpd/httpd-2.4.29.tar.bz2.sha256 -sha256 777753a5a25568a2a27428b2214980564bc1c38c1abf9ccc7630b639991f7f00 httpd-2.4.29.tar.bz2 +# From http://archive.apache.org/dist/httpd/httpd-2.4.35.tar.bz2.sha256 +sha256 2607c6fdd4d12ac3f583127629291e9432b247b782396a563bec5678aae69b56 httpd-2.4.35.tar.bz2 +# Locally computed +sha256 c49c0819a726b70142621715dae3159c47b0349c2bc9db079070f28dadac0229 LICENSE diff --git a/package/apache/apache.mk b/package/apache/apache.mk index e1b1a209cb..982c6de793 100644 --- a/package/apache/apache.mk +++ b/package/apache/apache.mk @@ -4,7 +4,7 @@ # ################################################################################ -APACHE_VERSION = 2.4.29 +APACHE_VERSION = 2.4.35 APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2 APACHE_SITE = http://archive.apache.org/dist/httpd APACHE_LICENSE = Apache-2.0 diff --git a/package/apr-util/apr-util.mk b/package/apr-util/apr-util.mk index c44cef009f..b006964ccb 100644 --- a/package/apr-util/apr-util.mk +++ b/package/apr-util/apr-util.mk @@ -47,6 +47,17 @@ else APR_UTIL_CONF_OPTS += --without-sqlite3 endif +ifeq ($(BR2_PACKAGE_OPENLDAP),y) +APR_UTIL_CONF_ENV += ac_cv_ldap_set_rebind_proc_style=three +APR_UTIL_CONF_OPTS += \ + --with-ldap \ + --with-ldap-include="$(STAGING_DIR)/usr/include/" \ + --with-ldap-lib="$(STAGING_DIR)/usr/lib" +APR_UTIL_DEPENDENCIES += openldap +else +APR_UTIL_CONF_OPTS += --without-ldap +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) APR_UTIL_CONF_OPTS += --with-crypto --with-openssl="$(STAGING_DIR)/usr" APR_UTIL_DEPENDENCIES += openssl @@ -54,6 +65,13 @@ else APR_UTIL_CONF_OPTS += --without-crypto endif +ifeq ($(BR2_PACKAGE_POSTGRESQL),y) +APR_UTIL_CONF_OPTS += --with-pgsql="$(STAGING_DIR)/usr" +APR_UTIL_DEPENDENCIES += postgresql +else +APR_UTIL_CONF_OPTS += --without-pgsql +endif + ifeq ($(BR2_PACKAGE_UNIXODBC),y) APR_UTIL_CONF_OPTS += --with-odbc="$(STAGING_DIR)/usr" # avoid using target binary $(STAGING_DIR)/usr/bin/odbc_config diff --git a/package/armbian-firmware/Config.in b/package/armbian-firmware/Config.in new file mode 100644 index 0000000000..761c316612 --- /dev/null +++ b/package/armbian-firmware/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_ARMBIAN_FIRMWARE + bool "armbian-firmware" + help + This package enables access to various firmware + blobs from the Armbian firmware repository. + + https://github.com/armbian/firmware + +if BR2_PACKAGE_ARMBIAN_FIRMWARE + +config BR2_PACKAGE_ARMBIAN_FIRMWARE_XR819 + bool "XR819 WiFi" + help + Firmware files for XR819 WiFi SDIO chip. + +config BR2_PACKAGE_ARMBIAN_FIRMWARE_AP6212 + bool "AP6212 WiFi/BT" + help + Firmware files for AP6212 WiFi/BT combo chip. + +endif diff --git a/package/armbian-firmware/armbian-firmware.hash b/package/armbian-firmware/armbian-firmware.hash new file mode 100644 index 0000000000..0f3858dedf --- /dev/null +++ b/package/armbian-firmware/armbian-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 876958ce6ba8a4a01a424f2b4455208b7a989eaba96015649c774340553f0c35 armbian-firmware-455d6b6701178dafe7fd0168eb4a4ef78a8d24a3.tar.gz diff --git a/package/armbian-firmware/armbian-firmware.mk b/package/armbian-firmware/armbian-firmware.mk new file mode 100644 index 0000000000..77e518542b --- /dev/null +++ b/package/armbian-firmware/armbian-firmware.mk @@ -0,0 +1,53 @@ +################################################################################ +# +# armbian-firmware +# +################################################################################ + +ARMBIAN_FIRMWARE_VERSION = 455d6b6701178dafe7fd0168eb4a4ef78a8d24a3 +ARMBIAN_FIRMWARE_SITE = https://github.com/armbian/firmware +ARMBIAN_FIRMWARE_SITE_METHOD = git + +# XR819 WiFi firmware +ifeq ($(BR2_PACKAGE_ARMBIAN_FIRMWARE_XR819),y) +ARMBIAN_FIRMWARE_FILES += \ + xr819/boot_xr819.bin \ + xr819/fw_xr819.bin \ + xr819/sdd_xr819.bin +endif + +# AP6212 WiFi/BT combo firmware +ifeq ($(BR2_PACKAGE_ARMBIAN_FIRMWARE_AP6212),y) +ARMBIAN_FIRMWARE_DIRS += ap6212 +endif + +ifneq ($(ARMBIAN_FIRMWARE_FILES),) +define ARMBIAN_FIRMWARE_INSTALL_FILES + cd $(@D) && \ + $(TAR) cf install.tar $(sort $(ARMBIAN_FIRMWARE_FILES)) && \ + $(TAR) xf install.tar -C $(TARGET_DIR)/lib/firmware +endef +endif + +ifneq ($(ARMBIAN_FIRMWARE_DIRS),) +# We need to rm -rf the destination directory to avoid copying +# into it in itself, should we re-install the package. +define ARMBIAN_FIRMWARE_INSTALL_DIRS + $(foreach d,$(ARMBIAN_FIRMWARE_DIRS), \ + rm -rf $(TARGET_DIR)/lib/firmware/$(d); \ + cp -a $(@D)/$(d) $(TARGET_DIR)/lib/firmware/$(d)$(sep)) +endef +endif + +ifneq ($(ARMBIAN_FIRMWARE_FILES)$(ARMBIAN_FIRMWARE_DIRS),) +ARMBIAN_FIRMWARE_LICENSE = PROPRIETARY +ARMBIAN_FIRMWARE_REDISTRIBUTE = NO +endif + +define ARMBIAN_FIRMWARE_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/lib/firmware + $(ARMBIAN_FIRMWARE_INSTALL_FILES) + $(ARMBIAN_FIRMWARE_INSTALL_DIRS) +endef + +$(eval $(generic-package)) diff --git a/package/arp-scan/Config.in b/package/arp-scan/Config.in index cc47a72b01..ed70b39586 100644 --- a/package/arp-scan/Config.in +++ b/package/arp-scan/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_ARP_SCAN arp-scan is a command-line tool that uses the ARP protocol to discover and fingerprint IP hosts on the local network. - http://www.nta-monitor.com/wiki/index.php/Arp-scan_Documentation + https://github.com/royhills/arp-scan diff --git a/package/asterisk/0005-build-ensure-target-directory-for-modules-exists.patch b/package/asterisk/0004-build-ensure-target-directory-for-modules-exists.patch similarity index 100% rename from package/asterisk/0005-build-ensure-target-directory-for-modules-exists.patch rename to package/asterisk/0004-build-ensure-target-directory-for-modules-exists.patch diff --git a/package/asterisk/0004-configure-in-cross-complation-assimne-eventfd-are-av.patch b/package/asterisk/0004-configure-in-cross-complation-assimne-eventfd-are-av.patch deleted file mode 100644 index dae36d173d..0000000000 --- a/package/asterisk/0004-configure-in-cross-complation-assimne-eventfd-are-av.patch +++ /dev/null @@ -1,37 +0,0 @@ -From e7de812c979d219765fbf1292f0e150bfa087716 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 18 Jun 2017 21:54:16 +0200 -Subject: [PATCH] configure: in cross-complation, assume eventfd are available - -eventfd have been in the kernel since 2.6.22, and in glibc since 2.8, -repectively released in July 2007 and April 2008, almost a decade ago -now. - -Assume that no one building from now on for cross-compilation will be -unlucky enough to get versions older than that... - -As such, in cross-compilation, assume eventfd are available. - -Signed-off-by: "Yann E. MORIN" ---- - configure.ac | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 1c20517864..474d17ae55 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1107,7 +1107,9 @@ AC_RUN_IFELSE( - [return eventfd(0, EFD_NONBLOCK | EFD_SEMAPHORE) == -1;])], - AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_EVENTFD], 1, [Define to 1 if your system supports eventfd and the EFD_NONBLOCK and EFD_SEMAPHORE flags.]), -- AC_MSG_RESULT(no) -+ AC_MSG_RESULT(no), -+ AC_MSG_RESULT([cross-compile; assume yes]) -+ AC_DEFINE([HAVE_EVENTFD], 1, [Define to 1 if your system supports eventfd and the EFD_NONBLOCK and EFD_SEMAPHORE flags.]) - ) - - AST_GCC_ATTRIBUTE(pure) --- -2.11.0 - diff --git a/package/asterisk/0005-install-samples-need-the-data-files.patch b/package/asterisk/0005-install-samples-need-the-data-files.patch new file mode 100644 index 0000000000..a9560e82e0 --- /dev/null +++ b/package/asterisk/0005-install-samples-need-the-data-files.patch @@ -0,0 +1,35 @@ +From 05680ea9899c2246c23d11860c2c8e10aa8f80c7 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Fri, 1 Dec 2017 11:08:16 +0100 +Subject: [PATCH] install: samples need the data files + +When installing samples, "sample voicemail" is generated from the +already-installed sound files. + +However, when doing the install and the samples at the same time in a +parallel install, it is possible that the sound files are not already +installed at the time we try to generate the voicemail data. + +Ensure the needed dependency. + +Signed-off-by: "Yann E. MORIN" +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index f29c07f680..b58f707b61 100644 +--- a/Makefile ++++ b/Makefile +@@ -779,7 +779,7 @@ adsi: + $(INSTALL) -m 644 "$$x" "$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`" ; \ + done + +-samples: adsi ++samples: adsi datafiles + @echo Installing other config files... + $(call INSTALL_CONFIGS,samples,.sample) + $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/INBOX" +-- +2.11.0 + diff --git a/package/asterisk/0006-build-fix-issues-building-without-ssl.patch b/package/asterisk/0006-build-fix-issues-building-without-ssl.patch new file mode 100644 index 0000000000..b02031e5ab --- /dev/null +++ b/package/asterisk/0006-build-fix-issues-building-without-ssl.patch @@ -0,0 +1,57 @@ +From 999e0c17d7e4139d36730752a34fbfde18a4f9f1 Mon Sep 17 00:00:00 2001 +From: Corey Farrell +Date: Sun, 19 Nov 2017 14:52:59 -0500 +Subject: [PATCH] Build: Fix issues building without SSL. + +* Fix conditional in libasteriskssl. +* Use variables produced by configure to link the SSL and uuid libraries + into libasteriskpj.so instead of hard-coding them. + +ASTERISK-27431 + +Change-Id: I3977931fd3ef8c4e4376349ccddb354eb839b58d + +Downloaded from upstream master branch +https://github.com/asterisk/asterisk/commit/999e0c17d7e4139d36730752a34fbfde18a4f9f1 + +Signed-off-by: Bernd Kuhls +--- + main/Makefile | 4 ++-- + main/libasteriskssl.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/main/Makefile b/main/Makefile +index 08d1f65580e..c724e2012b0 100644 +--- a/main/Makefile ++++ b/main/Makefile +@@ -273,7 +273,7 @@ endif + + $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): _ASTLDFLAGS+=-Wl,-soname=$(ASTPJ_LIB).$(ASTPJ_SO_VERSION) $(PJ_LDFLAGS) + $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): _ASTCFLAGS+=-fPIC -DAST_MODULE=\"asteriskpj\" -DAST_NOT_MODULE $(PJ_CFLAGS) +-$(ASTPJ_LIB).$(ASTPJ_SO_VERSION): LIBS+=$(PJPROJECT_LDLIBS) -lssl -lcrypto -luuid -lm -lpthread $(RT_LIB) ++$(ASTPJ_LIB).$(ASTPJ_SO_VERSION): LIBS+=$(PJPROJECT_LDLIBS) $(OPENSSL_LIB) $(UUID_LIB) -lm -lpthread $(RT_LIB) + ifeq ($(GNU_LD),1) + $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): SO_SUPPRESS_SYMBOLS=-Wl,--version-script,libasteriskpj.exports,--warn-common + endif +@@ -298,7 +298,7 @@ ASTPJ_LIB:=libasteriskpj.dylib + # /lib or /usr/lib + $(ASTPJ_LIB): _ASTLDFLAGS+=-dynamiclib -install_name $(ASTLIBDIR)/$(ASTPJ_LIB) $(PJ_LDFLAGS) + $(ASTPJ_LIB): _ASTCFLAGS+=-fPIC -DAST_MODULE=\"asteriskpj\" $(PJ_CFLAGS) -DAST_NOT_MODULE +-$(ASTPJ_LIB): LIBS+=$(PJPROJECT_LIBS) -lssl -lcrypto -luuid -lm -lpthread $(RT_LIB) ++$(ASTPJ_LIB): LIBS+=$(PJPROJECT_LIBS) $(OPENSSL_LIB) $(UUID_LIB) -lm -lpthread $(RT_LIB) + $(ASTPJ_LIB): SOLINK=$(DYLINK) + + # Special rules for building a shared library (not a dynamically loadable module) +diff --git a/main/libasteriskssl.c b/main/libasteriskssl.c +index 8b19e247da9..e2e256f8ffe 100644 +--- a/main/libasteriskssl.c ++++ b/main/libasteriskssl.c +@@ -37,7 +37,7 @@ + #endif + + #if defined(HAVE_OPENSSL) && \ +- !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++ (!defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)) + + #include + diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash index 7ae35bc4b1..a3e9d10aff 100644 --- a/package/asterisk/asterisk.hash +++ b/package/asterisk/asterisk.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 c122fbe88e089737fa2c80356762ceed38498aa26da1dfdd4da5506f9b135696 asterisk-14.5.0.tar.gz +sha256 249cf223ef4dd7aea01f0d250a6b9cad661ebd78910c73adb7f59c1c46f9fed8 asterisk-14.7.6.tar.gz # sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases # sha256 locally computed diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk index 50512c0b3a..28b85da562 100644 --- a/package/asterisk/asterisk.mk +++ b/package/asterisk/asterisk.mk @@ -4,7 +4,7 @@ # ################################################################################ -ASTERISK_VERSION = 14.5.0 +ASTERISK_VERSION = 14.7.6 # 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)) @@ -287,7 +287,7 @@ HOST_ASTERISK_LICENSE_FILES = COPYING # so do not inherit the target setup. HOST_ASTERISK_AUTORECONF = NO -HOST_ASTERISK_CONF_ENV = CONFIG_LIBXML2=$(HOST_DIR)/usr/bin/xml2-config +HOST_ASTERISK_CONF_ENV = CONFIG_LIBXML2=$(HOST_DIR)/bin/xml2-config HOST_ASTERISK_CONF_OPTS = \ --without-newt \ diff --git a/package/attr/0001-build-with-older-GCCs.patch b/package/attr/0001-build-with-older-GCCs.patch new file mode 100644 index 0000000000..22cfac2ce1 --- /dev/null +++ b/package/attr/0001-build-with-older-GCCs.patch @@ -0,0 +1,87 @@ +From 3ac428794ea0f95c854166c9c0cffb0267c5e98b Mon Sep 17 00:00:00 2001 +From: Hollis Blanchard +Date: Mon, 30 Jul 2018 14:17:21 -0700 +Subject: [PATCH] Remove messages in "deprecated" gcc attributes + +GCC versions up through 4.4.7 (which is used in RHEL 6) do not accept +any argument for the deprecated attribute. GCC 4.5 and later say the +"msg" argument is optional. We don't need the messages during +Buildroot builds anyways. + +Signed-off-by: Hollis Blanchard +--- + include/attributes.h | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/include/attributes.h b/include/attributes.h +index 14beb8f..23c39c8 100644 +--- a/include/attributes.h ++++ b/include/attributes.h +@@ -127,10 +127,10 @@ typedef struct attr_multiop { + */ + EXPORT int attr_get (const char *__path, const char *__attrname, + char *__attrvalue, int *__valuelength, int __flags) +- __attribute__ ((deprecated ("Use getxattr or lgetxattr instead"))); ++ __attribute__ ((deprecated)); + EXPORT int attr_getf (int __fd, const char *__attrname, char *__attrvalue, + int *__valuelength, int __flags) +- __attribute__ ((deprecated ("Use fgetxattr instead"))); ++ __attribute__ ((deprecated)); + + /* + * Set the value of an attribute, creating the attribute if necessary. +@@ -139,11 +139,11 @@ EXPORT int attr_getf (int __fd, const char *__attrname, char *__attrvalue, + EXPORT int attr_set (const char *__path, const char *__attrname, + const char *__attrvalue, const int __valuelength, + int __flags) +- __attribute__ ((deprecated ("Use setxattr or lsetxattr instead"))); ++ __attribute__ ((deprecated)); + EXPORT int attr_setf (int __fd, const char *__attrname, + const char *__attrvalue, const int __valuelength, + int __flags) +- __attribute__ ((deprecated ("Use fsetxattr instead"))); ++ __attribute__ ((deprecated)); + + /* + * Remove an attribute. +@@ -151,9 +151,9 @@ EXPORT int attr_setf (int __fd, const char *__attrname, + */ + EXPORT int attr_remove (const char *__path, const char *__attrname, + int __flags) +- __attribute__ ((deprecated ("Use removexattr or lremovexattr instead"))); ++ __attribute__ ((deprecated)); + EXPORT int attr_removef (int __fd, const char *__attrname, int __flags) +- __attribute__ ((deprecated ("Use fremovexattr instead"))); ++ __attribute__ ((deprecated)); + + /* + * List the names and sizes of the values of all the attributes of an object. +@@ -164,10 +164,10 @@ EXPORT int attr_removef (int __fd, const char *__attrname, int __flags) + */ + EXPORT int attr_list(const char *__path, char *__buffer, const int __buffersize, + int __flags, attrlist_cursor_t *__cursor) +- __attribute__ ((deprecated ("Use listxattr or llistxattr instead"))); ++ __attribute__ ((deprecated)); + EXPORT int attr_listf(int __fd, char *__buffer, const int __buffersize, + int __flags, attrlist_cursor_t *__cursor) +- __attribute__ ((deprecated ("Use flistxattr instead"))); ++ __attribute__ ((deprecated)); + + /* + * Operate on multiple attributes of the same object simultaneously. +@@ -188,10 +188,10 @@ EXPORT int attr_listf(int __fd, char *__buffer, const int __buffersize, + */ + EXPORT int attr_multi (const char *__path, attr_multiop_t *__oplist, + int __count, int __flags) +- __attribute__ ((deprecated ("Use getxattr, setxattr, listxattr, removexattr instead"))); ++ __attribute__ ((deprecated)); + EXPORT int attr_multif (int __fd, attr_multiop_t *__oplist, + int __count, int __flags) +- __attribute__ ((deprecated ("Use getxattr, setxattr, listxattr, removexattr instead"))); ++ __attribute__ ((deprecated)); + + #ifdef __cplusplus + } +-- +2.13.0 + diff --git a/package/attr/0001-support-static-installation.patch b/package/attr/0001-support-static-installation.patch deleted file mode 100644 index 87858ac75e..0000000000 --- a/package/attr/0001-support-static-installation.patch +++ /dev/null @@ -1,29 +0,0 @@ -Support installation of .a file when doing static linking - -When doing static linking (i.e ENABLE_SHARED != yes), the attr build -logic wasn't installing any library at all, not even the .a file which -is needed for static linking. This patch fixes that. - -Signed-off-by: Thomas Petazzoni - -Index: b/include/buildmacros -=================================================================== ---- a/include/buildmacros -+++ b/include/buildmacros -@@ -97,7 +97,15 @@ - - INSTALL_LTLIB_STATIC = \ - cd $(TOPDIR)/$(LIBNAME)/.libs; \ -- ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); -+ ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \ -+ ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).la $(PKG_DEVLIB_DIR); \ -+ ../$(INSTALL) -m 644 $(LIBNAME).la $(PKG_DEVLIB_DIR)/$(LIBNAME).la ; \ -+ ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \ -+ ../$(INSTALL) -T so_base $(LIBNAME).la $(PKG_LIB_DIR); \ -+ if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \ -+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \ -+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \ -+ fi - - INSTALL_MAN = \ - @for d in $(MAN_PAGES); do \ diff --git a/package/attr/0002-avoid-glibc-specific-decls-defines.patch b/package/attr/0002-avoid-glibc-specific-decls-defines.patch deleted file mode 100644 index 8c71678cf4..0000000000 --- a/package/attr/0002-avoid-glibc-specific-decls-defines.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 667137acaffb8d0cc62b47821a67a52ba0637d5c Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Fri, 10 Jan 2014 13:56:37 +0000 -Subject: avoid glibc-specific DECLS defines - -This matches what we do in all the other headers. - -Signed-off-by: Thomas Petazzoni ---- -diff --git a/include/xattr.h b/include/xattr.h -index 70a84be..070d7c5 100644 ---- a/include/xattr.h -+++ b/include/xattr.h -@@ -30,8 +30,9 @@ - #define XATTR_CREATE 0x1 /* set value, fail if attr already exists */ - #define XATTR_REPLACE 0x2 /* set value, fail if attr does not exist */ - -- --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - extern int setxattr (const char *__path, const char *__name, - const void *__value, size_t __size, int __flags) __THROW; -@@ -58,6 +59,8 @@ extern int removexattr (const char *__path, const char *__name) __THROW; - extern int lremovexattr (const char *__path, const char *__name) __THROW; - extern int fremovexattr (int __filedes, const char *__name) __THROW; - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* __XATTR_H__ */ --- -cgit v0.9.0.2 diff --git a/package/attr/0003-portability-fixes.patch b/package/attr/0003-portability-fixes.patch deleted file mode 100644 index c5dc8c865b..0000000000 --- a/package/attr/0003-portability-fixes.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 92247401984dd9a80d9d0c8c030692323f980678 Mon Sep 17 00:00:00 2001 -From: Emmanuel Dreyfus -Date: Mon, 30 Jun 2014 13:06:05 +0000 -Subject: Portability fixes - -- is Linux specific -- Define __THROW for non glibc based systems - -Signed-off-by: Thomas Petazzoni ---- -(limited to 'include/xattr.h') - -diff --git a/include/xattr.h b/include/xattr.h -index 070d7c5..fd1f268 100644 ---- a/include/xattr.h -+++ b/include/xattr.h -@@ -20,7 +20,18 @@ - #ifndef __XATTR_H__ - #define __XATTR_H__ - -+#if defined(linux) - #include -+#endif -+ -+/* Portability non glibc c++ build systems */ -+#ifndef __THROW -+# if defined __cplusplus -+# define __THROW throw () -+# else -+# define __THROW -+# endif -+#endif - - #include - #ifndef ENOATTR --- -cgit v0.9.0.2 diff --git a/package/attr/attr.hash b/package/attr/attr.hash index d2d1c2ed50..88adf44e6a 100644 --- a/package/attr/attr.hash +++ b/package/attr/attr.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 25772f653ac5b2e3ceeb89df50e4688891e21f723c460636548971652af0a859 attr-2.4.47.src.tar.gz +sha256 5ead72b358ec709ed00bbf7a9eaef1654baad937c001c044fe8b74c57f5324e7 attr-2.4.48.tar.gz diff --git a/package/attr/attr.mk b/package/attr/attr.mk index 8d250608b7..348dcd2f87 100644 --- a/package/attr/attr.mk +++ b/package/attr/attr.mk @@ -4,43 +4,15 @@ # ################################################################################ -ATTR_VERSION = 2.4.47 -ATTR_SOURCE = attr-$(ATTR_VERSION).src.tar.gz +ATTR_VERSION = 2.4.48 ATTR_SITE = http://download.savannah.gnu.org/releases/attr -ATTR_INSTALL_STAGING = YES -ATTR_CONF_OPTS = --enable-gettext=no -HOST_ATTR_CONF_OPTS = --enable-gettext=no ATTR_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) ATTR_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL -# While the configuration system uses autoconf, the Makefiles are -# hand-written and do not use automake. Therefore, we have to hack -# around their deficiencies by passing installation paths. -ATTR_INSTALL_STAGING_OPTS = \ - prefix=$(STAGING_DIR)/usr \ - exec_prefix=$(STAGING_DIR)/usr \ - PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib \ - install-dev install-lib +ATTR_INSTALL_STAGING = YES -ATTR_INSTALL_TARGET_OPTS = \ - prefix=$(TARGET_DIR)/usr \ - exec_prefix=$(TARGET_DIR)/usr \ - install install-lib - -HOST_ATTR_INSTALL_OPTS = \ - prefix=$(HOST_DIR) \ - exec_prefix=$(HOST_DIR) \ - install-dev install-lib - -# The libdir variable in libattr.la is empty, so let's fix it. This is -# probably due to attr not using automake, and not doing fully the -# right thing with libtool. -define ATTR_FIX_LIBTOOL_LA_LIBDIR - $(SED) "s,libdir=.*,libdir='$(STAGING_DIR)'," \ - $(STAGING_DIR)/usr/lib/libattr.la -endef - -ATTR_POST_INSTALL_STAGING_HOOKS += ATTR_FIX_LIBTOOL_LA_LIBDIR +ATTR_CONF_OPTS = --disable-nls +HOST_ATTR_CONF_OPTS = --disable-nls $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/audit/audit.hash b/package/audit/audit.hash index 32cedc5d6b..fb37577782 100644 --- a/package/audit/audit.hash +++ b/package/audit/audit.hash @@ -1,4 +1,4 @@ #Locally computed -sha256 57b5ae5697f288b8e53286eacd1c6c2e88bd65db18df3d855332fc63b302fdae audit-2.7.8.tar.gz +sha256 67b59b2b77afee9ed87afa4d80ffc8e6f3a1f4bbedd5f2871f387c952147bcba audit-2.8.2.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB diff --git a/package/audit/audit.mk b/package/audit/audit.mk index 6c0947715f..2f6e6653b3 100644 --- a/package/audit/audit.mk +++ b/package/audit/audit.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUDIT_VERSION = 2.7.8 +AUDIT_VERSION = 2.8.2 AUDIT_SITE = http://people.redhat.com/sgrubb/audit AUDIT_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) AUDIT_LICENSE_FILES = COPYING COPYING.LIB @@ -51,8 +51,8 @@ define AUDIT_INSTALL_INIT_SYSTEMD endef define AUDIT_INSTALL_CLEANUP - $(RM) -rf $(TARGET_DIR)/etc/rc.d - $(RM) -rf $(TARGET_DIR)/etc/sysconfig + $(RM) $(TARGET_DIR)/etc/rc.d/init.d/auditd + $(RM) $(TARGET_DIR)/etc/sysconfig/auditd endef AUDIT_POST_INSTALL_TARGET_HOOKS += AUDIT_INSTALL_CLEANUP diff --git a/package/aufs-util/Config.in b/package/aufs-util/Config.in index 89b1f422e0..a426343fd3 100644 --- a/package/aufs-util/Config.in +++ b/package/aufs-util/Config.in @@ -28,7 +28,7 @@ config BR2_PACKAGE_AUFS_UTIL_VERSION Usually, the sha1 of the cset you want to use; avoid using a branch name as this yields non-reproducible builds. - See the following resources to see what versions are + See the following resources to see what versions are available: https://sourceforge.net/p/aufs/aufs-util/ci/master/tree/ diff --git a/package/augeas/augeas.hash b/package/augeas/augeas.hash index e044ff42a7..46b99dd8fe 100644 --- a/package/augeas/augeas.hash +++ b/package/augeas/augeas.hash @@ -1,2 +1,4 @@ -# Locally calculated -sha256 65cf75b5a573fee2a5c6c6e3c95cad05f0101e70d3f9db10d53f6cc5b11bc9f9 augeas-1.8.1.tar.gz +# Locally calculated after checking pgp signature from +# http://download.augeas.net/augeas-1.10.1.tar.gz.sig +sha256 52db256afab261d31cc147eaa1a71795a5fec59e888dfd0b65a84c7aacd6364d augeas-1.10.1.tar.gz +sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING diff --git a/package/augeas/augeas.mk b/package/augeas/augeas.mk index 20d09eb390..c4b8b7e6c2 100644 --- a/package/augeas/augeas.mk +++ b/package/augeas/augeas.mk @@ -4,13 +4,16 @@ # ################################################################################ -AUGEAS_VERSION = 1.8.1 +AUGEAS_VERSION = 1.10.1 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/autofs/autofs.hash b/package/autofs/autofs.hash index 61e58825cc..1f2060bdef 100644 --- a/package/autofs/autofs.hash +++ b/package/autofs/autofs.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/daemons/autofs/v5/sha256sums.asc -sha256 e96eebfe3ed5fb1a30f4510f538198affde223e370c6dc2bed9780309272b1bf autofs-5.1.3.tar.xz +sha256 8fce30ee51ffd528fe1a4e8374ef57f43367e1f123030e175fb1b1cf15bc1722 autofs-5.1.4.tar.xz diff --git a/package/autofs/autofs.mk b/package/autofs/autofs.mk index 148ab1bd3d..befee15495 100644 --- a/package/autofs/autofs.mk +++ b/package/autofs/autofs.mk @@ -4,12 +4,12 @@ # ################################################################################ -AUTOFS_VERSION = 5.1.3 +AUTOFS_VERSION = 5.1.4 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 +AUTOFS_DEPENDENCIES = host-flex host-bison 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. diff --git a/package/avahi/avahi.hash b/package/avahi/avahi.hash index 09c5d42433..b4d36ffe50 100644 --- a/package/avahi/avahi.hash +++ b/package/avahi/avahi.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 d54991185d514a0aba54ebeb408d7575b60f5818a772e28fa0e18b98bc1db454 avahi-0.6.32.tar.gz +sha256 57a99b5dfe7fdae794e3d1ee7a62973a368e91e414bd0dfa5d84434de5b14804 avahi-0.7.tar.gz +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE diff --git a/package/avahi/avahi.mk b/package/avahi/avahi.mk index 94b6292b5d..c8f1af9a9d 100644 --- a/package/avahi/avahi.mk +++ b/package/avahi/avahi.mk @@ -4,14 +4,7 @@ # ################################################################################ -# -# This program is free software; you can redistribute it -# and/or modify it under the terms of the GNU Lesser General -# Public License as published by the Free Software Foundation -# either version 2.1 of the License, or (at your option) any -# later version. - -AVAHI_VERSION = 0.6.32 +AVAHI_VERSION = 0.7 AVAHI_SITE = https://github.com/lathiat/avahi/releases/download/v$(AVAHI_VERSION) AVAHI_LICENSE = LGPL-2.1+ AVAHI_LICENSE_FILES = LICENSE @@ -84,7 +77,7 @@ AVAHI_CONF_OPTS = \ --disable-gtk \ --disable-gtk3 \ --disable-gdbm \ - --disable-pygtk \ + --disable-pygobject \ --disable-mono \ --disable-monodoc \ --disable-stack-protector \ diff --git a/package/avahi/avahi_tmpfiles.conf b/package/avahi/avahi_tmpfiles.conf index f9aebdfd0d..da23c147fb 100644 --- a/package/avahi/avahi_tmpfiles.conf +++ b/package/avahi/avahi_tmpfiles.conf @@ -1 +1 @@ -d /tmp/avahi-autopid 0755 avahi avahi +d /tmp/avahi-autoipd 0755 avahi avahi diff --git a/package/axel/Config.in b/package/axel/Config.in index 6e709cfb13..4507855ff8 100644 --- a/package/axel/Config.in +++ b/package/axel/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_AXEL help HTTP/FTP download accelerator. - http://axel.alioth.debian.org/ + https://github.com/axel-download-accelerator/axel/ comment "axel needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/axel/axel.hash b/package/axel/axel.hash index 8957670118..c317fb886f 100644 --- a/package/axel/axel.hash +++ b/package/axel/axel.hash @@ -1,2 +1 @@ -# Locally calculated -sha256 359a57ab4e354bcb6075430d977c59d33eb3e2f1415a811948fa8ae657ca8036 axel-2.4.tar.gz +sha256 d34094eb63eaebc989f96eabdda091dcfb28e840bb8d274a5f216775941f59e4 axel-2.16.1.tar.xz diff --git a/package/axel/axel.mk b/package/axel/axel.mk index 60bf5e4a61..129ea2952f 100644 --- a/package/axel/axel.mk +++ b/package/axel/axel.mk @@ -4,33 +4,24 @@ # ################################################################################ -AXEL_VERSION = 2.4 -AXEL_SITE = http://sources.buildroot.net +AXEL_VERSION = 2.16.1 +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+ AXEL_LICENSE_FILES = COPYING -AXEL_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) -AXEL_LDFLAGS = -lpthread $(TARGET_NLS_LIBS) +AXEL_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) -ifeq ($(BR2_SYSTEM_ENABLE_NLS),) -AXEL_DISABLE_I18N = --i18n=0 +# ac_cv_prog_cc_c99 is required for BR2_USE_WCHAR=n because the C99 test +# provided by autoconf relies on wchar_t. +AXEL_CONF_OPTS = \ + ac_cv_prog_cc_c99=-std=c99 \ + CFLAGS="$(TARGET_CFLAGS)" + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +AXEL_CONF_OPTS += --with-ssl +AXEL_DEPENDENCIES += openssl +else +AXEL_CONF_OPTS += --without-ssl endif -define AXEL_CONFIGURE_CMDS - (cd $(@D); \ - ./configure \ - --prefix=/usr \ - --debug=1 \ - $(AXEL_DISABLE_I18N) \ - ) -endef - -define AXEL_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \ - LFLAGS="$(TARGET_LDFLAGS) $(AXEL_LDFLAGS)" -C $(@D) -endef - -define AXEL_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install -endef - -$(eval $(generic-package)) +$(eval $(autotools-package)) diff --git a/package/axfsutils/0001-fix-cflags.patch b/package/axfsutils/0001-fix-cflags.patch deleted file mode 100644 index 0415d82f45..0000000000 --- a/package/axfsutils/0001-fix-cflags.patch +++ /dev/null @@ -1,19 +0,0 @@ -Makefile: complement CFLAGS provided by the user - -In some circumstances, the user may want to pass its own CFLAGS, -like for when the zlib headers are not located in the standard gcc -search paths. - -Signed-off-by: "Yann E. MORIN" - -diff -durN a/mkfs.axfs-legacy/Makefile b/mkfs.axfs-legacy/Makefile ---- a/mkfs.axfs-legacy/Makefile -+++ b/mkfs.axfs-legacy/Makefile -@@ -1,5 +1,5 @@ --INC = -I./ --CFLAGS = -g $(INC) -O0 -+INC += -I./ -+CFLAGS += -g $(INC) -O0 - - MKFSOBJS = mkfs.axfs.o - diff --git a/package/axfsutils/0002-use-ldflags.patch b/package/axfsutils/0002-use-ldflags.patch deleted file mode 100644 index 20e03a9bb5..0000000000 --- a/package/axfsutils/0002-use-ldflags.patch +++ /dev/null @@ -1,20 +0,0 @@ -Makefile: use LDFLAGS as provided by the user - -In some circumstances, the user may want to pass some LDFLAGS, like --L flags to point to the zlib location if it was not installed in a -standard location. - -Signed-off-by: "Yann E. MORIN" - -diff -durN a/mkfs.axfs-legacy/Makefile b/mkfs.axfs-legacy/Makefile ---- a/mkfs.axfs-legacy/Makefile -+++ b/mkfs.axfs-legacy/Makefile -@@ -6,7 +6,7 @@ - all: mkfs.axfs - - mkfs.axfs: $(MKFSOBJS) -- $(CC) $(CFLAGS) -o mkfs.axfs $(MKFSOBJS) -lz -+ $(CC) $(CFLAGS) $(LDFLAGS) -o mkfs.axfs $(MKFSOBJS) -lz - - clean_mkfs.axfs: - rm -rf $(MKFSOBJS) mkfs.axfs diff --git a/package/axfsutils/axfsutils.hash b/package/axfsutils/axfsutils.hash index bde94a0b90..3ef5c5876f 100644 --- a/package/axfsutils/axfsutils.hash +++ b/package/axfsutils/axfsutils.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 80dd97305b005262643e9fad04ec03b860430ea2c58666ce5b007897afbc9693 axfsutils-64886703fdff6cfc64eb20fbe7d7295bbeec867b.tar.gz +sha256 7d8c0febaf6f104c2b179475ea1ee6d361688ad7fa4c98dfdf7395fcff2be685 axfsutils-384a1ea214c8cf8359faba00a12513ee7ae1a9f5.tar.gz diff --git a/package/axfsutils/axfsutils.mk b/package/axfsutils/axfsutils.mk index 00d3a3a8b0..8879221619 100644 --- a/package/axfsutils/axfsutils.mk +++ b/package/axfsutils/axfsutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -AXFSUTILS_VERSION = 64886703fdff6cfc64eb20fbe7d7295bbeec867b +AXFSUTILS_VERSION = 384a1ea214c8cf8359faba00a12513ee7ae1a9f5 AXFSUTILS_SITE = $(call github,jaredeh,axfs,$(AXFSUTILS_VERSION)) AXFSUTILS_LICENSE = GPL-2.0 AXFSUTILS_LICENSE_FILES = mkfs.axfs-legacy/COPYING diff --git a/package/azmq/Config.in b/package/azmq/Config.in index 422a058832..eeafa2ad6d 100644 --- a/package/azmq/Config.in +++ b/package/azmq/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_AZMQ bool "azmq" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_ATOMIC - depends on BR2_TOOLCHAIN_HAS_THREADS # zeromq + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # boost-log depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_USE_WCHAR # boost depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr @@ -20,9 +20,9 @@ config BR2_PACKAGE_AZMQ https://github.com/zeromq/azmq -comment "azmq needs a toolchain w/ C++11, wchar and threads" +comment "azmq needs a toolchain w/ C++11, wchar and NTPL" depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ - && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS) + && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS_NPTL) comment "azmq needs exception_ptr" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/bandwidthd/Config.in b/package/bandwidthd/Config.in index a503da43ff..8a19733c2c 100644 --- a/package/bandwidthd/Config.in +++ b/package/bandwidthd/Config.in @@ -25,8 +25,10 @@ config BR2_PACKAGE_BANDWIDTHD available on github that works on making BandwidthD's build process more compatible with buildroot's. - Upstream: http://bandwidthd.sourceforge.net/ - Github fork: http://github.com/nroach44/bandwidthd + Upstream: + http://bandwidthd.sourceforge.net/ + Github fork: + http://github.com/nroach44/bandwidthd if BR2_PACKAGE_BANDWIDTHD diff --git a/package/bash/bash.hash b/package/bash/bash.hash index adbd60868a..4e2e48f363 100644 --- a/package/bash/bash.hash +++ b/package/bash/bash.hash @@ -1,2 +1,4 @@ -# Locally calculated after checking pgp signature -sha256 d86b3392c1202e8ff5a423b302e6284db7f8f435ea9f39b5b1b20fd3ac36dfcb bash-4.4.tar.gz +# Locally calculated after checking pgp signature from +# http://ftp.gnu.org/gnu/bash/bash-4.4.12.tar.gz.sig +sha256 57d8432be54541531a496fd4904fdc08c12542f43605a9202594fa5d5f9f2331 bash-4.4.12.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/bash/bash.mk b/package/bash/bash.mk index dd7c26fc12..6e58f0fd64 100644 --- a/package/bash/bash.mk +++ b/package/bash/bash.mk @@ -4,7 +4,7 @@ # ################################################################################ -BASH_VERSION = 4.4 +BASH_VERSION = 4.4.12 BASH_SITE = $(BR2_GNU_MIRROR)/bash # Build after since bash is better than busybox shells BASH_DEPENDENCIES = ncurses readline host-bison \ @@ -39,7 +39,6 @@ BASH_CONF_ENV += bash_cv_getenv_redef=yes endif endif -# Make /bin/sh -> bash (no other shell, better than busybox shells) define BASH_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ DESTDIR=$(TARGET_DIR) exec_prefix=/ install diff --git a/package/bash/bash44-001.patch b/package/bash/bash44-001.patch deleted file mode 100644 index 842aea4313..0000000000 --- a/package/bash/bash44-001.patch +++ /dev/null @@ -1,64 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-001 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 4.4 -Patch-ID: bash44-001 - -Bug-Reported-by: Sean Zha -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-09/msg00107.html - -Bug-Description: - -Bash-4.4 changed the way the history list is initially allocated to reduce -the number of reallocations and copies. Users who set HISTSIZE to a very -large number to essentially unlimit the size of the history list will get -memory allocation errors - -Patch (apply with `patch -p0'): - -*** a/bash-4.4/lib/readline/history.c 2015-12-28 13:50:31.000000000 -0500 ---- b/lib/readline/history.c 2016-09-30 14:28:40.000000000 -0400 -*************** -*** 58,61 **** ---- 58,63 ---- - #define DEFAULT_HISTORY_INITIAL_SIZE 502 - -+ #define MAX_HISTORY_INITIAL_SIZE 8192 -+ - /* The number of slots to increase the_history by. */ - #define DEFAULT_HISTORY_GROW_SIZE 50 -*************** -*** 308,312 **** - { - if (history_stifled && history_max_entries > 0) -! history_size = history_max_entries + 2; - else - history_size = DEFAULT_HISTORY_INITIAL_SIZE; ---- 310,316 ---- - { - if (history_stifled && history_max_entries > 0) -! history_size = (history_max_entries > MAX_HISTORY_INITIAL_SIZE) -! ? MAX_HISTORY_INITIAL_SIZE -! : history_max_entries + 2; - else - history_size = DEFAULT_HISTORY_INITIAL_SIZE; -*** a/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 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/bash44-002.patch b/package/bash/bash44-002.patch deleted file mode 100644 index 6f4a809fb2..0000000000 --- a/package/bash/bash44-002.patch +++ /dev/null @@ -1,73 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-002 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 4.4 -Patch-ID: bash44-002 - -Bug-Reported-by: Eric Pruitt -Bug-Reference-ID: <20160916055120.GA28272@sinister.codevat.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-09/msg00015.html - -Bug-Description: - -Bash-4.4 warns when discarding NUL bytes in command substitution output -instead of silently dropping them. This patch changes the warnings from -one per NUL byte encountered to one warning per command substitution. - -Patch (apply with `patch -p0'): - -*** a/bash-4.4/subst.c 2016-08-30 16:46:38.000000000 -0400 ---- b/subst.c 2016-09-26 10:20:19.000000000 -0400 -*************** -*** 5932,5935 **** ---- 5933,5937 ---- - int istring_index, istring_size, c, tflag, skip_ctlesc, skip_ctlnul; - ssize_t bufn; -+ int nullbyte; - - istring = (char *)NULL; -*************** -*** 5939,5942 **** ---- 5941,5946 ---- - skip_ctlesc |= *s == CTLESC, skip_ctlnul |= *s == CTLNUL; - -+ nullbyte = 0; -+ - /* Read the output of the command through the pipe. This may need to be - changed to understand multibyte characters in the future. */ -*************** -*** 5957,5961 **** - { - #if 1 -! internal_warning ("%s", _("command substitution: ignored null byte in input")); - #endif - continue; ---- 5961,5969 ---- - { - #if 1 -! if (nullbyte == 0) -! { -! internal_warning ("%s", _("command substitution: ignored null byte in input")); -! nullbyte = 1; -! } - #endif - continue; -*** a/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 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/bash44-003.patch b/package/bash/bash44-003.patch deleted file mode 100644 index cdfc206f8a..0000000000 --- a/package/bash/bash44-003.patch +++ /dev/null @@ -1,62 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-003 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 4.4 -Patch-ID: bash44-003 - -Bug-Reported-by: op7ic \x00 -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00005.html - -Bug-Description: - -Specially-crafted input, in this case an incomplete pathname expansion -bracket expression containing an invalid collating symbol, can cause the -shell to crash. - -Patch (apply with `patch -p0'): - -*** a/bash-4.4/lib/glob/sm_loop.c 2016-04-10 11:23:21.000000000 -0400 ---- b/lib/glob/sm_loop.c 2016-11-02 14:03:34.000000000 -0400 -*************** -*** 331,334 **** ---- 331,340 ---- - if (p[pc] == L('.') && p[pc+1] == L(']')) - break; -+ if (p[pc] == 0) -+ { -+ if (vp) -+ *vp = INVALID; -+ return (p + pc); -+ } - val = COLLSYM (p, pc); - if (vp) -*************** -*** 484,487 **** ---- 490,496 ---- - c = FOLD (c); - -+ if (c == L('\0')) -+ return ((test == L('[')) ? savep : (CHAR *)0); -+ - if ((flags & FNM_PATHNAME) && c == L('/')) - /* [/] can never match when matching a pathname. */ -*** a/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 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/bash44-004.patch b/package/bash/bash44-004.patch deleted file mode 100644 index ba6ff62689..0000000000 --- a/package/bash/bash44-004.patch +++ /dev/null @@ -1,88 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-004 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 4.4 -Patch-ID: bash44-004 - -Bug-Reported-by: Christian Weisgerber -Bug-Reference-ID: <20161101160302.GB54856@lorvorc.mips.inka.de> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00004.html - -Bug-Description: - -There is a race condition that can result in bash referencing freed memory -when freeing data associated with the last process substitution. - -Patch (apply with `patch -p0'): - -*** a/bash-4.4/jobs.c 2016-08-23 16:38:44.000000000 -0400 ---- b/jobs.c 2016-11-02 18:24:45.000000000 -0400 -*************** -*** 454,457 **** ---- 454,472 ---- - } - -+ void -+ discard_last_procsub_child () -+ { -+ PROCESS *disposer; -+ sigset_t set, oset; -+ -+ BLOCK_CHILD (set, oset); -+ disposer = last_procsub_child; -+ last_procsub_child = (PROCESS *)NULL; -+ UNBLOCK_CHILD (oset); -+ -+ if (disposer) -+ discard_pipeline (disposer); -+ } -+ - struct pipeline_saver * - alloc_pipeline_saver () -*** a/bash-4.4/jobs.h 2016-04-27 10:35:51.000000000 -0400 ---- b/jobs.h 2016-11-02 18:25:08.000000000 -0400 -*************** -*** 191,194 **** ---- 191,195 ---- - extern void stop_making_children __P((void)); - extern void cleanup_the_pipeline __P((void)); -+ extern void discard_last_procsub_child __P((void)); - extern void save_pipeline __P((int)); - extern PROCESS *restore_pipeline __P((int)); -*** a/bash-4.4/subst.c 2016-08-30 16:46:38.000000000 -0400 ---- b/subst.c 2016-11-02 18:23:24.000000000 -0400 -*************** -*** 5809,5816 **** - #if defined (JOB_CONTROL) - if (last_procsub_child) -! { -! discard_pipeline (last_procsub_child); -! last_procsub_child = (PROCESS *)NULL; -! } - last_procsub_child = restore_pipeline (0); - #endif ---- 5834,5838 ---- - #if defined (JOB_CONTROL) - if (last_procsub_child) -! discard_last_procsub_child (); - last_procsub_child = restore_pipeline (0); - #endif -*** a/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 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/bash44-005.patch b/package/bash/bash44-005.patch deleted file mode 100644 index 0278e31dfb..0000000000 --- a/package/bash/bash44-005.patch +++ /dev/null @@ -1,51 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-005 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 4.4 -Patch-ID: bash44-005 - -Bug-Reported-by: Dr. Werner Fink -Bug-Reference-ID: <20161107100936.ajnojd7dspirdflf@noether.suse.de> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00054.html - -Bug-Description: - -Under certain circumstances, a simple command is optimized to eliminate a -fork, resulting in an EXIT trap not being executed. - -Patch (apply with `patch -p0'): - -*** a/bash-4.4/builtins/evalstring.c 2016-08-11 14:18:51.000000000 -0400 ---- b/builtins/evalstring.c 2016-11-08 15:05:07.000000000 -0500 -*************** -*** 105,114 **** - *bash_input.location.string == '\0' && - command->type == cm_simple && -- #if 0 - signal_is_trapped (EXIT_TRAP) == 0 && - signal_is_trapped (ERROR_TRAP) == 0 && -- #else - any_signals_trapped () < 0 && -- #endif - command->redirects == 0 && command->value.Simple->redirects == 0 && - ((command->flags & CMD_TIME_PIPELINE) == 0) && ---- 105,111 ---- -*** a/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 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/bash44-006.patch b/package/bash/bash44-006.patch deleted file mode 100644 index ba58ed40c3..0000000000 --- a/package/bash/bash44-006.patch +++ /dev/null @@ -1,63 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-006 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 4.4 -Patch-ID: bash44-006 - -Bug-Reported-by: -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -Out-of-range negative offsets to popd can cause the shell to crash attempting -to free an invalid memory block. - -Patch (apply with `patch -p0'): - -*** bash-4.4-patched/builtins/pushd.def 2016-01-25 13:31:49.000000000 -0500 ---- b/builtins/pushd.def 2016-10-28 10:46:49.000000000 -0400 -*************** -*** 366,370 **** - } - -! if (which > directory_list_offset || (directory_list_offset == 0 && which == 0)) - { - pushd_error (directory_list_offset, which_word ? which_word : ""); ---- b/366,370 ---- - } - -! if (which > directory_list_offset || (which < -directory_list_offset) || (directory_list_offset == 0 && which == 0)) - { - pushd_error (directory_list_offset, which_word ? which_word : ""); -*************** -*** 388,391 **** ---- b/388,396 ---- - of the list into place. */ - i = (direction == '+') ? directory_list_offset - which : which; -+ if (i < 0 || i > directory_list_offset) -+ { -+ pushd_error (directory_list_offset, which_word ? which_word : ""); -+ return (EXECUTION_FAILURE); -+ } - free (pushd_directory_list[i]); - directory_list_offset--; -*** 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 5 - - #endif /* _PATCHLEVEL_H_ */ ---- b/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/bash44-007.patch b/package/bash/bash44-007.patch deleted file mode 100644 index 71e771d6cf..0000000000 --- a/package/bash/bash44-007.patch +++ /dev/null @@ -1,155 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-007 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 4.4 -Patch-ID: bash44-007 - -Bug-Reported-by: Jens Heyens -Bug-Reference-ID: -Bug-Reference-URL: https://savannah.gnu.org/support/?109224 - -Bug-Description: - -When performing filename completion, bash dequotes the directory name being -completed, which can result in match failures and potential unwanted -expansion. - -Patch (apply with `patch -p0'): - -*** bash-4.4-patched/bashline.c 2016-08-05 21:44:05.000000000 -0400 ---- b/bashline.c 2017-01-19 13:15:51.000000000 -0500 -*************** -*** 143,147 **** - static void restore_directory_hook __P((rl_icppfunc_t)); - -! static int directory_exists __P((const char *)); - - static void cleanup_expansion_error __P((void)); ---- b/144,148 ---- - static void restore_directory_hook __P((rl_icppfunc_t)); - -! static int directory_exists __P((const char *, int)); - - static void cleanup_expansion_error __P((void)); -*************** -*** 3103,3111 **** - } - -! /* Check whether not the (dequoted) version of DIRNAME, with any trailing slash -! removed, exists. */ - static int -! directory_exists (dirname) - const char *dirname; - { - char *new_dirname; ---- b/3107,3116 ---- - } - -! /* Check whether not DIRNAME, with any trailing slash removed, exists. If -! SHOULD_DEQUOTE is non-zero, we dequote the directory name first. */ - static int -! directory_exists (dirname, should_dequote) - const char *dirname; -+ int should_dequote; - { - char *new_dirname; -*************** -*** 3113,3118 **** - struct stat sb; - -! /* First, dequote the directory name */ -! new_dirname = bash_dequote_filename ((char *)dirname, rl_completion_quote_character); - dirlen = STRLEN (new_dirname); - if (new_dirname[dirlen - 1] == '/') ---- b/3118,3124 ---- - struct stat sb; - -! /* We save the string and chop the trailing slash because stat/lstat behave -! inconsistently if one is present. */ -! new_dirname = should_dequote ? bash_dequote_filename ((char *)dirname, rl_completion_quote_character) : savestring (dirname); - dirlen = STRLEN (new_dirname); - if (new_dirname[dirlen - 1] == '/') -*************** -*** 3146,3150 **** - should_expand_dirname = '`'; - -! if (should_expand_dirname && directory_exists (local_dirname)) - should_expand_dirname = 0; - ---- b/3152,3156 ---- - should_expand_dirname = '`'; - -! if (should_expand_dirname && directory_exists (local_dirname, 0)) - should_expand_dirname = 0; - -*************** -*** 3156,3160 **** - global_nounset = unbound_vars_is_error; - unbound_vars_is_error = 0; -! wl = expand_prompt_string (new_dirname, 0, W_NOCOMSUB|W_COMPLETE); /* does the right thing */ - unbound_vars_is_error = global_nounset; - if (wl) ---- b/3162,3166 ---- - global_nounset = unbound_vars_is_error; - unbound_vars_is_error = 0; -! wl = expand_prompt_string (new_dirname, 0, W_NOCOMSUB|W_NOPROCSUB|W_COMPLETE); /* does the right thing */ - unbound_vars_is_error = global_nounset; - if (wl) -*************** -*** 3245,3249 **** - } - -! if (should_expand_dirname && directory_exists (local_dirname)) - should_expand_dirname = 0; - ---- b/3262,3266 ---- - } - -! if (should_expand_dirname && directory_exists (local_dirname, 1)) - should_expand_dirname = 0; - -*************** -*** 3251,3255 **** - { - new_dirname = savestring (local_dirname); -! wl = expand_prompt_string (new_dirname, 0, W_NOCOMSUB|W_COMPLETE); /* does the right thing */ - if (wl) - { ---- b/3268,3272 ---- - { - new_dirname = savestring (local_dirname); -! wl = expand_prompt_string (new_dirname, 0, W_NOCOMSUB|W_NOPROCSUB|W_COMPLETE); /* does the right thing */ - if (wl) - { -*** bash-4.4/subst.c 2016-08-30 16:46:38.000000000 -0400 ---- b/subst.c 2017-01-19 07:09:57.000000000 -0500 -*************** -*** 9459,9462 **** ---- b/9459,9466 ---- - if (word->flags & W_COMPLETE) - tword->flags |= W_COMPLETE; /* for command substitutions */ -+ if (word->flags & W_NOCOMSUB) -+ tword->flags |= W_NOCOMSUB; -+ if (word->flags & W_NOPROCSUB) -+ tword->flags |= W_NOPROCSUB; - - temp = (char *)NULL; -*** 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 6 - - #endif /* _PATCHLEVEL_H_ */ ---- b/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/bash44-008.patch b/package/bash/bash44-008.patch deleted file mode 100644 index 931033c5b7..0000000000 --- a/package/bash/bash44-008.patch +++ /dev/null @@ -1,88 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-008 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 4.4 -Patch-ID: bash44-008 - -Bug-Reported-by: Koichi MURASE -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00050.html - -Bug-Description: - -Under certain circumstances, bash will evaluate arithmetic expressions as -part of reading an expression token even when evaluation is suppressed. This -happens while evaluating a conditional expression and skipping over the -failed branch of the expression. - -Patch (apply with `patch -p0'): - -*** bash-4.4-patched/expr.c 2015-10-11 14:46:36.000000000 -0400 ---- b/expr.c 2016-11-08 11:55:46.000000000 -0500 -*************** -*** 579,585 **** - if (curtok == QUES) /* found conditional expr */ - { -- readtok (); -- if (curtok == 0 || curtok == COL) -- evalerror (_("expression expected")); - if (cval == 0) - { ---- b/579,582 ---- -*************** -*** 588,591 **** ---- b/585,592 ---- - } - -+ readtok (); -+ if (curtok == 0 || curtok == COL) -+ evalerror (_("expression expected")); -+ - val1 = EXP_HIGHEST (); - -*************** -*** 594,600 **** - if (curtok != COL) - evalerror (_("`:' expected for conditional expression")); -! readtok (); -! if (curtok == 0) -! evalerror (_("expression expected")); - set_noeval = 0; - if (cval) ---- b/595,599 ---- - if (curtok != COL) - evalerror (_("`:' expected for conditional expression")); -! - set_noeval = 0; - if (cval) -*************** -*** 604,608 **** ---- b/603,611 ---- - } - -+ readtok (); -+ if (curtok == 0) -+ evalerror (_("expression expected")); - val2 = expcond (); -+ - if (set_noeval) - noeval--; -*** 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 7 - - #endif /* _PATCHLEVEL_H_ */ ---- b/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/bash44-009.patch b/package/bash/bash44-009.patch deleted file mode 100644 index 3ba1b3fe0f..0000000000 --- a/package/bash/bash44-009.patch +++ /dev/null @@ -1,111 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-009 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 4.4 -Patch-ID: bash44-009 - -Bug-Reported-by: Hong Cho -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-12/msg00043.html - -Bug-Description: - -There is a race condition in add_history() that can be triggered by a fatal -signal arriving between the time the history length is updated and the time -the history list update is completed. A later attempt to reference an -invalid history entry can cause a crash. - -Patch (apply with `patch -p0'): - -*** bash-4.4-patched/lib/readline/history.c 2016-11-11 13:42:49.000000000 -0500 ---- b/lib/readline/history.c 2016-12-05 10:37:51.000000000 -0500 -*************** -*** 280,283 **** ---- b/280,284 ---- - { - HIST_ENTRY *temp; -+ int new_length; - - if (history_stifled && (history_length == history_max_entries)) -*************** -*** 296,306 **** - /* Copy the rest of the entries, moving down one slot. Copy includes - trailing NULL. */ -- #if 0 -- for (i = 0; i < history_length; i++) -- the_history[i] = the_history[i + 1]; -- #else - memmove (the_history, the_history + 1, history_length * sizeof (HIST_ENTRY *)); -- #endif - - history_base++; - } ---- b/297,303 ---- - /* Copy the rest of the entries, moving down one slot. Copy includes - trailing NULL. */ - memmove (the_history, the_history + 1, history_length * sizeof (HIST_ENTRY *)); - -+ new_length = history_length; - history_base++; - } -*************** -*** 316,320 **** - history_size = DEFAULT_HISTORY_INITIAL_SIZE; - the_history = (HIST_ENTRY **)xmalloc (history_size * sizeof (HIST_ENTRY *)); -! history_length = 1; - } - else ---- b/313,317 ---- - history_size = DEFAULT_HISTORY_INITIAL_SIZE; - the_history = (HIST_ENTRY **)xmalloc (history_size * sizeof (HIST_ENTRY *)); -! new_length = 1; - } - else -*************** -*** 326,330 **** - xrealloc (the_history, history_size * sizeof (HIST_ENTRY *)); - } -! history_length++; - } - } ---- b/323,327 ---- - xrealloc (the_history, history_size * sizeof (HIST_ENTRY *)); - } -! new_length = history_length + 1; - } - } -*************** -*** 332,337 **** - temp = alloc_history_entry ((char *)string, hist_inittime ()); - -! the_history[history_length] = (HIST_ENTRY *)NULL; -! the_history[history_length - 1] = temp; - } - ---- b/329,335 ---- - temp = alloc_history_entry ((char *)string, hist_inittime ()); - -! the_history[new_length] = (HIST_ENTRY *)NULL; -! the_history[new_length - 1] = temp; -! history_length = new_length; - } - -*** 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 8 - - #endif /* _PATCHLEVEL_H_ */ ---- b/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/bash44-010.patch b/package/bash/bash44-010.patch deleted file mode 100644 index 8da1ec5bea..0000000000 --- a/package/bash/bash44-010.patch +++ /dev/null @@ -1,53 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-010 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 4.4 -Patch-ID: bash44-010 - -Bug-Reported-by: Clark Wang -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00104.html - -Bug-Description: - -Depending on compiler optimizations and behavior, the `read' builtin may not -save partial input when a timeout occurs. - -Patch (apply with `patch -p0'): - -*** bash-4.4-patched/builtins/read.def 2016-05-16 14:24:56.000000000 -0400 ---- b/builtins/read.def 2016-11-25 12:37:56.000000000 -0500 -*************** -*** 182,186 **** - { - register char *varname; -! int size, i, nr, pass_next, saw_escape, eof, opt, retval, code, print_ps2; - int input_is_tty, input_is_pipe, unbuffered_read, skip_ctlesc, skip_ctlnul; - int raw, edit, nchars, silent, have_timeout, ignore_delim, fd, lastsig, t_errno; ---- b/182,187 ---- - { - register char *varname; -! int size, nr, pass_next, saw_escape, eof, opt, retval, code, print_ps2; -! volatile int i; - int input_is_tty, input_is_pipe, unbuffered_read, skip_ctlesc, skip_ctlnul; - int raw, edit, nchars, silent, have_timeout, ignore_delim, fd, lastsig, t_errno; - -*** 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 9 - - #endif /* _PATCHLEVEL_H_ */ ---- b/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/bash44-011.patch b/package/bash/bash44-011.patch deleted file mode 100644 index cca66aad26..0000000000 --- a/package/bash/bash44-011.patch +++ /dev/null @@ -1,54 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-011 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 4.4 -Patch-ID: bash44-011 - -Bug-Reported-by: Russell King -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2017-01/msg00000.html - -Bug-Description: - -Subshells begun to run command and process substitutions may attempt to -set the terminal's process group to an incorrect value if they receive -a fatal signal. This depends on the behavior of the process that starts -the shell. - -Patch (apply with `patch -p0'): - -*** bash-4.4-patched/sig.c 2016-02-11 15:02:45.000000000 -0500 ---- b/sig.c 2017-01-04 09:09:47.000000000 -0500 -*************** -*** 586,590 **** - if (sig == SIGHUP && (interactive || (subshell_environment & (SUBSHELL_COMSUB|SUBSHELL_PROCSUB)))) - hangup_all_jobs (); -! end_job_control (); - #endif /* JOB_CONTROL */ - ---- b/571,576 ---- - if (sig == SIGHUP && (interactive || (subshell_environment & (SUBSHELL_COMSUB|SUBSHELL_PROCSUB)))) - hangup_all_jobs (); -! if ((subshell_environment & (SUBSHELL_COMSUB|SUBSHELL_PROCSUB)) == 0) -! end_job_control (); - #endif /* JOB_CONTROL */ - -*** 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 10 - - #endif /* _PATCHLEVEL_H_ */ ---- b/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/bash44-012.patch b/package/bash/bash44-012.patch deleted file mode 100644 index ef081f9198..0000000000 --- a/package/bash/bash44-012.patch +++ /dev/null @@ -1,165 +0,0 @@ -From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-012 - -Signed-off-by: Peter Korsgaard - - BASH PATCH REPORT - ================= - -Bash-Release: 4.4 -Patch-ID: bash44-012 - -Bug-Reported-by: Clark Wang -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00106.html - -Bug-Description: - -When -N is used, the input is not supposed to be split using $IFS, but -leading and trailing IFS whitespace was still removed. - -Patch (apply with `patch -p0'): - -*** bash-4.4-patched/subst.c 2017-01-20 14:22:01.000000000 -0500 ---- b/subst.c 2017-01-25 13:43:22.000000000 -0500 -*************** -*** 2826,2834 **** - /* Parse a single word from STRING, using SEPARATORS to separate fields. - ENDPTR is set to the first character after the word. This is used by -! the `read' builtin. This is never called with SEPARATORS != $IFS; -! it should be simplified. - - XXX - this function is very similar to list_string; they should be - combined - XXX */ - char * - get_word_from_string (stringp, separators, endptr) ---- b/2826,2838 ---- - /* Parse a single word from STRING, using SEPARATORS to separate fields. - ENDPTR is set to the first character after the word. This is used by -! the `read' builtin. -! -! This is never called with SEPARATORS != $IFS, and takes advantage of that. - - XXX - this function is very similar to list_string; they should be - combined - XXX */ -+ -+ #define islocalsep(c) (local_cmap[(unsigned char)(c)] != 0) -+ - char * - get_word_from_string (stringp, separators, endptr) -*************** -*** 2838,2841 **** ---- b/2842,2846 ---- - char *current_word; - int sindex, sh_style_split, whitesep, xflags; -+ unsigned char local_cmap[UCHAR_MAX+1]; /* really only need single-byte chars here */ - size_t slen; - -*************** -*** 2847,2854 **** - separators[2] == '\n' && - separators[3] == '\0'; -! for (xflags = 0, s = ifs_value; s && *s; s++) - { - if (*s == CTLESC) xflags |= SX_NOCTLESC; - if (*s == CTLNUL) xflags |= SX_NOESCCTLNUL; - } - ---- b/2852,2861 ---- - separators[2] == '\n' && - separators[3] == '\0'; -! memset (local_cmap, '\0', sizeof (local_cmap)); -! for (xflags = 0, s = separators; s && *s; s++) - { - if (*s == CTLESC) xflags |= SX_NOCTLESC; - if (*s == CTLNUL) xflags |= SX_NOESCCTLNUL; -+ local_cmap[(unsigned char)*s] = 1; /* local charmap of separators */ - } - -*************** -*** 2857,2864 **** - - /* Remove sequences of whitespace at the beginning of STRING, as -! long as those characters appear in IFS. */ -! if (sh_style_split || !separators || !*separators) - { -! for (; *s && spctabnl (*s) && isifs (*s); s++); - - /* If the string is nothing but whitespace, update it and return. */ ---- b/2864,2872 ---- - - /* Remove sequences of whitespace at the beginning of STRING, as -! long as those characters appear in SEPARATORS. This happens if -! SEPARATORS == $' \t\n' or if IFS is unset. */ -! if (sh_style_split || separators == 0) - { -! for (; *s && spctabnl (*s) && islocalsep (*s); s++); - - /* If the string is nothing but whitespace, update it and return. */ -*************** -*** 2879,2885 **** - This obeys the field splitting rules in Posix.2. */ - sindex = 0; -! /* Don't need string length in ADVANCE_CHAR or string_extract_verbatim -! unless multibyte chars are possible. */ -! slen = (MB_CUR_MAX > 1) ? STRLEN (s) : 1; - current_word = string_extract_verbatim (s, slen, &sindex, separators, xflags); - ---- b/2887,2893 ---- - This obeys the field splitting rules in Posix.2. */ - sindex = 0; -! /* Don't need string length in ADVANCE_CHAR unless multibyte chars are -! possible, but need it in string_extract_verbatim for bounds checking */ -! slen = STRLEN (s); - current_word = string_extract_verbatim (s, slen, &sindex, separators, xflags); - -*************** -*** 2900,2904 **** - /* Now skip sequences of space, tab, or newline characters if they are - in the list of separators. */ -! while (s[sindex] && spctabnl (s[sindex]) && isifs (s[sindex])) - sindex++; - ---- b/2908,2912 ---- - /* Now skip sequences of space, tab, or newline characters if they are - in the list of separators. */ -! while (s[sindex] && spctabnl (s[sindex]) && islocalsep (s[sindex])) - sindex++; - -*************** -*** 2907,2916 **** - delimiter, not a separate delimiter that would result in an empty field. - Look at POSIX.2, 3.6.5, (3)(b). */ -! if (s[sindex] && whitesep && isifs (s[sindex]) && !spctabnl (s[sindex])) - { - sindex++; - /* An IFS character that is not IFS white space, along with any adjacent - IFS white space, shall delimit a field. */ -! while (s[sindex] && spctabnl (s[sindex]) && isifs (s[sindex])) - sindex++; - } ---- b/2915,2924 ---- - delimiter, not a separate delimiter that would result in an empty field. - Look at POSIX.2, 3.6.5, (3)(b). */ -! if (s[sindex] && whitesep && islocalsep (s[sindex]) && !spctabnl (s[sindex])) - { - sindex++; - /* An IFS character that is not IFS white space, along with any adjacent - IFS white space, shall delimit a field. */ -! while (s[sindex] && spctabnl (s[sindex]) && islocalsep(s[sindex])) - sindex++; - } -*** 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 11 - - #endif /* _PATCHLEVEL_H_ */ ---- b/26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 12 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bdwgc/0003-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch b/package/bdwgc/0002-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch similarity index 100% rename from package/bdwgc/0003-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch rename to package/bdwgc/0002-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch diff --git a/package/bdwgc/0002-Fix-uClibc-build.patch b/package/bdwgc/0002-Fix-uClibc-build.patch deleted file mode 100644 index 55896eb199..0000000000 --- a/package/bdwgc/0002-Fix-uClibc-build.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 8d3caf00db5d71ec19f03fbf96cecf6f70b4e868 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 28 May 2017 20:21:09 +0200 -Subject: [PATCH] Fix uClibc build - -uClibc defines __GLIBC__ but does not contain libc-version.h leading to -a build error: - -./include/private/gcconfig.h:1426:72: fatal error: gnu/libc-version.h: No such file or directory - -Patch sent upstream: https://github.com/ivmai/bdwgc/pull/164 - -Signed-off-by: Bernd Kuhls ---- - include/private/gcconfig.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h -index d7912e9e..bf17dd63 100644 ---- a/include/private/gcconfig.h -+++ b/include/private/gcconfig.h -@@ -1442,7 +1442,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() */ -@@ -2455,7 +2455,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/bdwgc/0003-configure-match-uclinux-pattern.patch b/package/bdwgc/0003-configure-match-uclinux-pattern.patch deleted file mode 100644 index b2c61982a4..0000000000 --- a/package/bdwgc/0003-configure-match-uclinux-pattern.patch +++ /dev/null @@ -1,27 +0,0 @@ -From a628c90bdbf397465ac2ab2b11f14eb2e853651c Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 6 Aug 2016 23:24:35 +0200 -Subject: [PATCH] configure: match uclinux pattern - -BDWGC does not recognize "uclinux" as a valid OS part of the target -tuple which is used by some arm cortex-M toolchains. - -* configure.ac [$THREADS=pthreads] (GC_LINUX_THREADS, _REENTRANT): Define -for hosts matching "*-*-*linux*" (instead of "*-*-linux*"). ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 22353547..fa745b56 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -190,7 +190,7 @@ case "$THREADS" in - AC_DEFINE(THREAD_LOCAL_ALLOC) - AC_MSG_WARN("Explicit GC_INIT() calls may be required."); - ;; -- *-*-linux* | *-*-nacl*) -+ *-*-*linux* | *-*-nacl*) - AC_DEFINE(GC_LINUX_THREADS) - AC_DEFINE(_REENTRANT) - ;; diff --git a/package/bdwgc/bdwgc.hash b/package/bdwgc/bdwgc.hash index 4b41e1d85b..0ebc41c76d 100644 --- a/package/bdwgc/bdwgc.hash +++ b/package/bdwgc/bdwgc.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 a14a28b1129be90e55cd6f71127ffc5594e1091d5d54131528c24cd0c03b7d90 gc-7.6.0.tar.gz +sha256 bd112005563d787675163b5afff02c364fc8deb13a99c03f4e80fdf6608ad41e gc-7.6.2.tar.gz +sha256 9944acfcee6cca308d974933977c1608804f5ad4345aac7cb8608137104e3742 README.QUICK diff --git a/package/bdwgc/bdwgc.mk b/package/bdwgc/bdwgc.mk index e148f7223b..5603df8d9d 100644 --- a/package/bdwgc/bdwgc.mk +++ b/package/bdwgc/bdwgc.mk @@ -4,7 +4,7 @@ # ################################################################################ -BDWGC_VERSION = 7.6.0 +BDWGC_VERSION = 7.6.2 BDWGC_SOURCE = gc-$(BDWGC_VERSION).tar.gz BDWGC_SITE = http://www.hboehm.info/gc/gc_source BDWGC_INSTALL_STAGING = YES diff --git a/package/berkeleydb/0001-cwd-db_config.patch b/package/berkeleydb/0001-cwd-db_config.patch new file mode 100644 index 0000000000..08ce5a3931 --- /dev/null +++ b/package/berkeleydb/0001-cwd-db_config.patch @@ -0,0 +1,21 @@ +Do not access DB_CONFIG when db_home is not set + +Fixes CVE-2017-10140: +https://bugzilla.redhat.com/show_bug.cgi?id=1464032#c9 + +Downloaded from +http://pkgs.fedoraproject.org/cgit/rpms/libdb.git/commit/?id=8047fa8580659fcae740c25e91b490539b8453eb + +Signed-off-by: Bernd Kuhls + +--- db-5.3.28/src/env/env_open.c.old 2017-06-26 10:32:11.011419981 +0200 ++++ db-5.3.28/src/env/env_open.c 2017-06-26 10:32:46.893721233 +0200 +@@ -473,7 +473,7 @@ + env->db_mode = mode == 0 ? DB_MODE_660 : mode; + + /* Read the DB_CONFIG file. */ +- if ((ret = __env_read_db_config(env)) != 0) ++ if (env->db_home != NULL && (ret = __env_read_db_config(env)) != 0) + return (ret); + + /* diff --git a/package/berkeleydb/berkeleydb.hash b/package/berkeleydb/berkeleydb.hash index e47c578cbe..7529329748 100644 --- a/package/berkeleydb/berkeleydb.hash +++ b/package/berkeleydb/berkeleydb.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 76a25560d9e52a198d37a31440fd07632b5f1f8f9f2b6d5438f4bc3e7c9013ef db-5.3.28.NC.tar.gz +sha256 b78815181a53241f9347c6b47d1031fd669946f863e1edc807a291354cec024b LICENSE diff --git a/package/bind/bind.hash b/package/bind/bind.hash index 95362309e1..19d5f61f6d 100644 --- a/package/bind/bind.hash +++ b/package/bind/bind.hash @@ -1,3 +1,4 @@ -# Verified from http://ftp.isc.org/isc/bind9/9.11.2/bind-9.11.2.tar.gz.sha256.asc -sha256 7f46ad8620f7c3b0ac375d7a5211b15677708fda84ce25d7aeb7222fe2e3c77a bind-9.11.2.tar.gz -sha256 d3906dfe153e2c48440d3ca1d5319f5e89b4b820cdfc5d0779c23d7ac2b175e9 COPYRIGHT +# Verified from https://ftp.isc.org/isc/bind9/9.11.4-P1/bind-9.11.4-P1.tar.gz.asc +# with key BE0E9748B718253A28BB89FFF1B11BF05CF02E57 +sha256 a85af7b629109d41285c7adeae1515daac638bbe4d5dc30d1f4b343dff09d811 bind-9.11.4-P2.tar.gz +sha256 336f3c40e37a1a13690efb4c63e20908faa4c40498cc02f3579fb67d3a1933a5 COPYRIGHT diff --git a/package/bind/bind.mk b/package/bind/bind.mk index f6aa7253ed..4b80eaf04f 100644 --- a/package/bind/bind.mk +++ b/package/bind/bind.mk @@ -4,7 +4,7 @@ # ################################################################################ -BIND_VERSION = 9.11.2 +BIND_VERSION = 9.11.4-P2 BIND_SITE = http://ftp.isc.org/isc/bind9/$(BIND_VERSION) # bind does not support parallel builds. BIND_MAKE = $(MAKE1) @@ -33,7 +33,7 @@ BIND_CONF_OPTS = \ --enable-filter-aaaa ifeq ($(BR2_PACKAGE_ZLIB),y) -BIND_CONF_OPTS += --with-zlib=$(STAGING_DIR)/usr/include +BIND_CONF_OPTS += --with-zlib=$(STAGING_DIR)/usr BIND_DEPENDENCIES += zlib else BIND_CONF_OPTS += --without-zlib @@ -61,7 +61,9 @@ BIND_CONF_ENV += \ ac_cv_func_EVP_sha512=yes BIND_CONF_OPTS += \ --with-openssl=$(STAGING_DIR)/usr LIBS="-lz" \ - --with-ecdsa=yes + --with-ecdsa=yes \ + --with-eddsa=no \ + --with-aes=yes # GOST cipher support requires openssl extra engines ifeq ($(BR2_PACKAGE_OPENSSL_ENGINES),y) BIND_CONF_OPTS += --with-gost=yes diff --git a/package/binutils/2.27/0100-elf32-arm-no-data-fix.patch b/package/binutils/2.27/0100-elf32-arm-no-data-fix.patch deleted file mode 100644 index c6b0e7efe8..0000000000 --- a/package/binutils/2.27/0100-elf32-arm-no-data-fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -bfd/ChangeLog -2016-08-23 Nick Clifton - - * elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if - there is no arm data associated with the section. - -[Thomas: taken from https://lists.gnu.org/archive/html/bug-binutils/2016-08/msg00165.html.] -Signed-off-by: Thomas Petazzoni - -diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c -index 1eba21b..4478238 100644 ---- a/bfd/elf32-arm.c -+++ b/bfd/elf32-arm.c -@@ -18688,7 +18688,7 @@ elf32_arm_count_additional_relocs (asection *sec) - { - struct _arm_elf_section_data *arm_data; - arm_data = get_arm_elf_section_data (sec); -- return arm_data->additional_reloc_count; -+ return arm_data == NULL ? 0 : arm_data->additional_reloc_count; - } - - /* Called to set the sh_flags, sh_link and sh_info fields of OSECTION which diff --git a/package/binutils/2.27/0130-tc-xtensa.c-fixup-xg_reverse_shift_count-typo.patch b/package/binutils/2.27/0130-tc-xtensa.c-fixup-xg_reverse_shift_count-typo.patch deleted file mode 100644 index 7973607884..0000000000 --- a/package/binutils/2.27/0130-tc-xtensa.c-fixup-xg_reverse_shift_count-typo.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 78fb7e37eb8bb08ae537d6c487996ff17c810332 Mon Sep 17 00:00:00 2001 -From: Trevor Saunders -Date: Mon, 26 Sep 2016 12:42:11 -0400 -Subject: [PATCH] tc-xtensa.c: fixup xg_reverse_shift_count typo - -gas/ChangeLog: - -2016-09-26 Trevor Saunders - - * config/tc-xtensa.c (xg_reverse_shift_count): Pass cnt_arg instead of - cnt_argp to concat. - -Signed-off-by: Max Filippov ---- - gas/config/tc-xtensa.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c -index d062044..ca261ae 100644 ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -2228,7 +2228,7 @@ xg_reverse_shift_count (char **cnt_argp) - cnt_arg = *cnt_argp; - - /* replace the argument with "31-(argument)" */ -- new_arg = concat ("31-(", cnt_argp, ")", (char *) NULL); -+ new_arg = concat ("31-(", cnt_arg, ")", (char *) NULL); - - free (cnt_arg); - *cnt_argp = new_arg; --- -2.1.4 - diff --git a/package/binutils/2.27/0131-xtensa-fix-memory-corruption-by-broken-sysregs.patch b/package/binutils/2.27/0131-xtensa-fix-memory-corruption-by-broken-sysregs.patch deleted file mode 100644 index 30103ee05e..0000000000 --- a/package/binutils/2.27/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.27/0900-Revert-part-Set-dynamic-tag-VMA-and-size-from-dynami.patch b/package/binutils/2.27/0900-Revert-part-Set-dynamic-tag-VMA-and-size-from-dynami.patch deleted file mode 100644 index f1ec259988..0000000000 --- a/package/binutils/2.27/0900-Revert-part-Set-dynamic-tag-VMA-and-size-from-dynami.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c646b02fdcae5f37bd88f33a0c4683ef13ad5c82 Mon Sep 17 00:00:00 2001 -From: Alan Modra -Date: Mon, 31 Oct 2016 12:46:38 +1030 -Subject: [PATCH] Revert part "Set dynamic tag VMA and size from dynamic - section when possible" - - PR 20748 - * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert - 2016-05-13 change. - -Signed-off-by: Alan Modra -Signed-off-by: Waldemar Brodkorb - -diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c -index 477e7b3..5c66808 100644 ---- a/bfd/elf32-microblaze.c -+++ b/bfd/elf32-microblaze.c -@@ -3396,13 +3396,13 @@ microblaze_elf_finish_dynamic_sections (bfd *output_bfd, - { - asection *s; - -- s = bfd_get_linker_section (dynobj, name); -+ s = bfd_get_section_by_name (output_bfd, name); - if (s == NULL) - dyn.d_un.d_val = 0; - else - { - if (! size) -- dyn.d_un.d_ptr = s->output_section->vma + s->output_offset; -+ dyn.d_un.d_ptr = s->vma; - else - dyn.d_un.d_val = s->size; - } --- -2.1.4 - diff --git a/package/binutils/2.27/0906-microblaze-pr21180.patch b/package/binutils/2.27/0906-microblaze-pr21180.patch deleted file mode 100644 index 48e5e14b45..0000000000 --- a/package/binutils/2.27/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 binutils-2.27.orig/bfd/elf32-microblaze.c binutils-2.27/bfd/elf32-microblaze.c ---- binutils-2.27.orig/bfd/elf32-microblaze.c 2016-08-03 09:36:50.000000000 +0200 -+++ binutils-2.27/bfd/elf32-microblaze.c 2017-02-23 19:43:12.612313590 +0100 -@@ -3297,13 +3297,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.27/0907-Automatically-enable-CRC-instructions-on-supported-A.patch b/package/binutils/2.27/0907-Automatically-enable-CRC-instructions-on-supported-A.patch deleted file mode 100644 index 3b7fcfc959..0000000000 --- a/package/binutils/2.27/0907-Automatically-enable-CRC-instructions-on-supported-A.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 29a4659015ca7044c2d425d32a0b828e0fbb5ac1 Mon Sep 17 00:00:00 2001 -From: Richard Earnshaw -Date: Wed, 7 Sep 2016 17:14:54 +0100 -Subject: [PATCH] Automatically enable CRC instructions on supported ARMv8-A - CPUs. - -2016-09-07 Richard Earnshaw - - * opcode/arm.h (ARM_ARCH_V8A_CRC): New architecture. - -2016-09-07 Richard Earnshaw - - * config/tc-arm.c ((arm_cpus): Use ARM_ARCH_V8A_CRC for all - ARMv8-A CPUs except xgene1. - -Upstream: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=patch;h=27e5a270962fb92c07e7d476966ba380fa3bb68e -Signed-off-by: Peter Seiderer ---- - gas/config/tc-arm.c | 18 +++++++++--------- - include/opcode/arm.h | 2 ++ - 2 files changed, 11 insertions(+), 9 deletions(-) - -diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c -index 73d05316..7c86184d 100644 ---- a/gas/config/tc-arm.c -+++ b/gas/config/tc-arm.c -@@ -25332,17 +25332,17 @@ static const struct arm_cpu_option_table arm_cpus[] = - "Cortex-A15"), - ARM_CPU_OPT ("cortex-a17", ARM_ARCH_V7VE, FPU_ARCH_NEON_VFP_V4, - "Cortex-A17"), -- ARM_CPU_OPT ("cortex-a32", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, -+ ARM_CPU_OPT ("cortex-a32", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, - "Cortex-A32"), -- ARM_CPU_OPT ("cortex-a35", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, -+ ARM_CPU_OPT ("cortex-a35", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, - "Cortex-A35"), -- ARM_CPU_OPT ("cortex-a53", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, -+ ARM_CPU_OPT ("cortex-a53", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, - "Cortex-A53"), -- ARM_CPU_OPT ("cortex-a57", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, -+ ARM_CPU_OPT ("cortex-a57", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, - "Cortex-A57"), -- ARM_CPU_OPT ("cortex-a72", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, -+ ARM_CPU_OPT ("cortex-a72", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, - "Cortex-A72"), -- ARM_CPU_OPT ("cortex-a73", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, -+ ARM_CPU_OPT ("cortex-a73", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, - "Cortex-A73"), - ARM_CPU_OPT ("cortex-r4", ARM_ARCH_V7R, FPU_NONE, "Cortex-R4"), - ARM_CPU_OPT ("cortex-r4f", ARM_ARCH_V7R, FPU_ARCH_VFP_V3D16, -@@ -25361,10 +25361,10 @@ static const struct arm_cpu_option_table arm_cpus[] = - ARM_CPU_OPT ("cortex-m1", ARM_ARCH_V6SM, FPU_NONE, "Cortex-M1"), - ARM_CPU_OPT ("cortex-m0", ARM_ARCH_V6SM, FPU_NONE, "Cortex-M0"), - ARM_CPU_OPT ("cortex-m0plus", ARM_ARCH_V6SM, FPU_NONE, "Cortex-M0+"), -- ARM_CPU_OPT ("exynos-m1", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, -+ ARM_CPU_OPT ("exynos-m1", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, - "Samsung " \ - "Exynos M1"), -- ARM_CPU_OPT ("qdf24xx", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, -+ ARM_CPU_OPT ("qdf24xx", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, - "Qualcomm " - "QDF24XX"), - -@@ -25389,7 +25389,7 @@ static const struct arm_cpu_option_table arm_cpus[] = - /* APM X-Gene family. */ - ARM_CPU_OPT ("xgene1", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, - "APM X-Gene 1"), -- ARM_CPU_OPT ("xgene2", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, -+ ARM_CPU_OPT ("xgene2", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, - "APM X-Gene 2"), - - { NULL, 0, ARM_ARCH_NONE, ARM_ARCH_NONE, NULL } -diff --git a/include/opcode/arm.h b/include/opcode/arm.h -index 60715cf8..feace5cd 100644 ---- a/include/opcode/arm.h -+++ b/include/opcode/arm.h -@@ -263,6 +263,8 @@ - #define ARM_ARCH_V7M ARM_FEATURE_CORE (ARM_AEXT_V7M, ARM_EXT2_V6T2_V8M) - #define ARM_ARCH_V7EM ARM_FEATURE_CORE (ARM_AEXT_V7EM, ARM_EXT2_V6T2_V8M) - #define ARM_ARCH_V8A ARM_FEATURE_CORE (ARM_AEXT_V8A, ARM_AEXT2_V8A) -+#define ARM_ARCH_V8A_CRC ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8A, \ -+ CRC_EXT_ARMV8) - #define ARM_ARCH_V8_1A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_1A, \ - CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA) - #define ARM_ARCH_V8_2A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_2A, \ --- -2.11.0 - diff --git a/package/binutils/2.27/0120-sh-conf.patch b/package/binutils/2.30/0001-sh-conf.patch similarity index 58% rename from package/binutils/2.27/0120-sh-conf.patch rename to package/binutils/2.30/0001-sh-conf.patch index cc14ef4029..80cf35b118 100644 --- a/package/binutils/2.27/0120-sh-conf.patch +++ b/package/binutils/2.30/0001-sh-conf.patch @@ -1,4 +1,4 @@ -From 1ceee199e9a32034c6def7700fdbb26335ca76a3 Mon Sep 17 00:00:00 2001 +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 @@ -10,37 +10,39 @@ 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 34b66f7..905bc7b 100755 +index 2d615a9996..18d74ab96e 100755 --- a/configure +++ b/configure -@@ -3939,7 +3939,7 @@ case "${target}" in - or1k*-*-*) - noconfigdirs="$noconfigdirs gdb" +@@ -3835,7 +3835,7 @@ case "${target}" in + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) +- sh-*-*) ++ sh*-*-*) case "${target}" in sh*-*-elf) ;; diff --git a/configure.ac b/configure.ac -index 4977d97..1e69ee2 100644 +index aae94501e4..b530e54926 100644 --- a/configure.ac +++ b/configure.ac -@@ -1276,7 +1276,7 @@ case "${target}" in - or1k*-*-*) - noconfigdirs="$noconfigdirs gdb" +@@ -1166,7 +1166,7 @@ case "${target}" in + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) +- sh-*-*) ++ sh*-*-*) case "${target}" in sh*-*-elf) ;; -- -2.4.3 +2.14.3 diff --git a/package/binutils/2.27/0300-ld-makefile.patch b/package/binutils/2.30/0002-ld-makefile.patch similarity index 84% rename from package/binutils/2.27/0300-ld-makefile.patch rename to package/binutils/2.30/0002-ld-makefile.patch index 73cc098024..992ffaee6c 100644 --- a/package/binutils/2.27/0300-ld-makefile.patch +++ b/package/binutils/2.30/0002-ld-makefile.patch @@ -1,4 +1,4 @@ -From d76a7549b43974fe8564971a3f40459bc495a8a7 Mon Sep 17 00:00:00 2001 +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 @@ -11,7 +11,7 @@ Signed-off-by: Romain Naour 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ld/Makefile.am b/ld/Makefile.am -index 0b3b049..3871c74 100644 +index 6243c12528..3c5d6c8202 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -57,7 +57,7 @@ endif @@ -24,10 +24,10 @@ index 0b3b049..3871c74 100644 EMUL = @EMUL@ EMULATION_OFILES = @EMULATION_OFILES@ diff --git a/ld/Makefile.in b/ld/Makefile.in -index ed98f87..530e4c9 100644 +index 760c037f9d..6dea692869 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in -@@ -413,7 +413,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) +@@ -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. @@ -37,5 +37,5 @@ index ed98f87..530e4c9 100644 BFDDIR = $(BASEDIR)/bfd INCDIR = $(BASEDIR)/include -- -2.4.3 +2.14.3 diff --git a/package/binutils/2.27/0301-check-ldrunpath-length.patch b/package/binutils/2.30/0003-check-ldrunpath-length.patch similarity index 62% rename from package/binutils/2.27/0301-check-ldrunpath-length.patch rename to package/binutils/2.30/0003-check-ldrunpath-length.patch index 3b4c204c7f..7af98749da 100644 --- a/package/binutils/2.27/0301-check-ldrunpath-length.patch +++ b/package/binutils/2.30/0003-check-ldrunpath-length.patch @@ -1,4 +1,4 @@ -From ebe1cba46df52d7bf86def3d681271fd05fb453b Mon Sep 17 00:00:00 2001 +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 @@ -10,27 +10,27 @@ Signed-off-by: Romain Naour 1 file changed, 4 insertions(+) diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em -index 0405d4f..efd3300 100644 +index c0925fc9b9..0ce16d73a5 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em -@@ -1242,6 +1242,8 @@ fragment <link.next) if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) -- -2.4.3 +2.14.3 diff --git a/package/binutils/2.27/0500-add-sysroot-fix-from-bug-3049.patch b/package/binutils/2.30/0004-add-sysroot-fix-from-bug-3049.patch similarity index 69% rename from package/binutils/2.27/0500-add-sysroot-fix-from-bug-3049.patch rename to package/binutils/2.30/0004-add-sysroot-fix-from-bug-3049.patch index f67a43efdf..a110cf194f 100644 --- a/package/binutils/2.27/0500-add-sysroot-fix-from-bug-3049.patch +++ b/package/binutils/2.30/0004-add-sysroot-fix-from-bug-3049.patch @@ -1,4 +1,4 @@ -From 30628870e583375f8927c04398c7219c6e9f703c Mon Sep 17 00:00:00 2001 +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 @@ -12,24 +12,24 @@ 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(-) + ld/ldfile.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ld/ldfile.c b/ld/ldfile.c -index 96f9ecc..1439309 100644 +index 6532a57d96..eefc2ebefb 100644 --- a/ld/ldfile.c +++ b/ld/ldfile.c -@@ -335,18 +335,25 @@ ldfile_open_file_search (const char *arch, +@@ -338,18 +338,24 @@ ldfile_open_file_search (const char *arch, directory first. */ - if (! entry->flags.maybe_archive) + 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 ++ /* 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) ++ 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); @@ -42,11 +42,10 @@ index 96f9ecc..1439309 100644 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.4.3 +2.14.3 diff --git a/package/binutils/2.27/0600-poison-system-directories.patch b/package/binutils/2.30/0005-poison-system-directories.patch similarity index 88% rename from package/binutils/2.27/0600-poison-system-directories.patch rename to package/binutils/2.30/0005-poison-system-directories.patch index d16994ec0c..4007be96cf 100644 --- a/package/binutils/2.27/0600-poison-system-directories.patch +++ b/package/binutils/2.30/0005-poison-system-directories.patch @@ -1,4 +1,4 @@ -From be366461dd49e760440fb28eaee5164eb281adcc Mon Sep 17 00:00:00 2001 +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 @@ -78,10 +78,10 @@ Signed-off-by: Scott Garman 9 files changed, 89 insertions(+) diff --git a/ld/config.in b/ld/config.in -index 276fb77..35c58eb 100644 +index a846743da6..df3cd5fb60 100644 --- a/ld/config.in +++ b/ld/config.in -@@ -14,6 +14,9 @@ +@@ -27,6 +27,9 @@ language is requested. */ #undef ENABLE_NLS @@ -92,10 +92,10 @@ index 276fb77..35c58eb 100644 #undef EXTRA_SHLIB_EXTENSION diff --git a/ld/configure b/ld/configure -index a446283..d1f9504 100755 +index 066b5146c6..11e7402909 100755 --- a/ld/configure +++ b/ld/configure -@@ -786,6 +786,7 @@ with_lib_path +@@ -785,6 +785,7 @@ with_lib_path enable_targets enable_64_bit_bfd with_sysroot @@ -103,7 +103,7 @@ index a446283..d1f9504 100755 enable_gold enable_got enable_compressed_debug_sections -@@ -1442,6 +1443,8 @@ Optional Features: +@@ -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) @@ -112,7 +112,7 @@ index a446283..d1f9504 100755 --enable-gold[=ARG] build gold [ARG={default,yes,no}] --enable-got= GOT handling scheme (target, single, negative, multigot) -@@ -15491,7 +15494,18 @@ else +@@ -15500,7 +15503,18 @@ else fi @@ -132,7 +132,7 @@ index a446283..d1f9504 100755 # Check whether --enable-got was given. if test "${enable_got+set}" = set; then : diff --git a/ld/configure.ac b/ld/configure.ac -index 188172d..2cd8443 100644 +index bada1b50b0..d074a3820b 100644 --- a/ld/configure.ac +++ b/ld/configure.ac @@ -95,6 +95,16 @@ AC_SUBST(use_sysroot) @@ -153,12 +153,12 @@ index 188172d..2cd8443 100644 dnl "install_as_default" is set to false if gold is the default linker. dnl "installed_linker" is the installed BFD linker name. diff --git a/ld/ld.h b/ld/ld.h -index d84ec4e..3476b26 100644 +index ba914b921e..9df17dab6c 100644 --- a/ld/ld.h +++ b/ld/ld.h -@@ -164,6 +164,14 @@ typedef struct { - /* If set, display the target memory usage (per memory region). */ - bfd_boolean print_memory_usage; +@@ -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. */ @@ -172,10 +172,10 @@ index d84ec4e..3476b26 100644 enum endian_enum endian; diff --git a/ld/ld.texinfo b/ld/ld.texinfo -index 1dd7492..fb1438e 100644 +index c89915f1aa..df430837e2 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo -@@ -2332,6 +2332,18 @@ string identifying the original linked file does not change. +@@ -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. @@ -195,11 +195,11 @@ index 1dd7492..fb1438e 100644 @c man end diff --git a/ld/ldfile.c b/ld/ldfile.c -index 1439309..086b354 100644 +index eefc2ebefb..bf7063ae8c 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); +@@ -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); + @@ -223,23 +223,23 @@ index 1439309..086b354 100644 /* Try to open a BFD for a lang_input_statement. */ diff --git a/ld/ldlex.h b/ld/ldlex.h -index 6f11e7b..0ca3110 100644 +index 140ed1d9da..9965cbc04f 100644 --- a/ld/ldlex.h +++ b/ld/ldlex.h -@@ -144,6 +144,8 @@ enum option_values - OPTION_PRINT_MEMORY_USAGE, +@@ -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 bb0b9cc..a23c56c 100644 +index e02fd3f1ff..5dfe9ba7e8 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c -@@ -257,6 +257,8 @@ main (int argc, char **argv) +@@ -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; @@ -249,10 +249,10 @@ index bb0b9cc..a23c56c 100644 /* We initialize DEMANGLING based on the environment variable COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the diff --git a/ld/lexsup.c b/ld/lexsup.c -index 4cad209..be7d584 100644 +index f2191602d4..037a27a24a 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c -@@ -530,6 +530,14 @@ static const struct ld_option ld_options[] = +@@ -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 }, @@ -267,7 +267,7 @@ index 4cad209..be7d584 100644 }; #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -542,6 +550,7 @@ parse_args (unsigned argc, char **argv) +@@ -550,6 +558,7 @@ parse_args (unsigned argc, char **argv) int ingroup = 0; char *default_dirlist = NULL; char *shortopts; @@ -275,9 +275,9 @@ index 4cad209..be7d584 100644 struct option *longopts; struct option *really_longopts; int last_optind; -@@ -1516,6 +1525,14 @@ parse_args (unsigned argc, char **argv) - } - break; +@@ -1534,6 +1543,14 @@ parse_args (unsigned argc, char **argv) + } + break; + case OPTION_NO_POISON_SYSTEM_DIRECTORIES: + command_line.poison_system_directories = FALSE; @@ -290,7 +290,7 @@ index 4cad209..be7d584 100644 case OPTION_PUSH_STATE: input_flags.pushed = xmemdup (&input_flags, sizeof (input_flags), -@@ -1559,6 +1576,10 @@ parse_args (unsigned argc, char **argv) +@@ -1577,6 +1594,10 @@ parse_args (unsigned argc, char **argv) command_line.soname = NULL; } @@ -302,5 +302,5 @@ index 4cad209..be7d584 100644 { lang_leave_group (); -- -2.4.3 +2.14.3 diff --git a/package/binutils/2.30/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch b/package/binutils/2.30/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch new file mode 100644 index 0000000000..0ce2cf2288 --- /dev/null +++ b/package/binutils/2.30/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch @@ -0,0 +1,31 @@ +From c3bd478ac1b7e83765230505eb08a0acf2fe3867 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Sat, 29 Jul 2017 14:08:20 +0200 +Subject: [PATCH] Fixes: LINKER BUG: .rofixup section size mismatch + +Workaround from adi-toolchain commit: +af414ec1fb628ddb1562f062f3db49823ca14ca2 +[#6798] binutils-2.21/bfd: temp workaround for rofixup mismatch errors. + +Signed-off-by: Waldemar Brodkorb +--- + bfd/elf32-bfin.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c +index 478b8d4731..a38519b585 100644 +--- a/bfd/elf32-bfin.c ++++ b/bfd/elf32-bfin.c +@@ -4655,7 +4655,8 @@ bfinfdpic_check_relocs (bfd *abfd, struct bfd_link_info *info, + + case R_BFIN_FUNCDESC: + picrel->fd++; +- picrel->relocsfd++; ++ if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC) ++ picrel->relocsfd++; + break; + + /* This relocation describes the C++ object vtable hierarchy. +-- +2.14.3 + diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host index 95144c84c9..bc0e223e9f 100644 --- a/package/binutils/Config.in.host +++ b/package/binutils/Config.in.host @@ -2,30 +2,34 @@ comment "Binutils Options" choice prompt "Binutils Version" - default BR2_BINUTILS_VERSION_2_28_X - depends on !BR2_arc + 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_ARC if BR2_arc help Select the version of binutils you wish to use. -config BR2_BINUTILS_VERSION_2_27_X - bool "binutils 2.27" - # binutils 2.27 triggers a bug in elf2flt on ARM/noMMU - depends on !(BR2_arm && !BR2_USE_MMU) - config BR2_BINUTILS_VERSION_2_28_X bool "binutils 2.28.1" + depends on !BR2_arc config BR2_BINUTILS_VERSION_2_29_X bool "binutils 2.29.1" +config BR2_BINUTILS_VERSION_2_30_X + bool "binutils 2.30" + +config BR2_BINUTILS_VERSION_ARC + bool "binutils arc (2.29)" + depends on BR2_arc endchoice config BR2_BINUTILS_VERSION string - default "arc-2017.09-release" if BR2_arc - default "2.27" if BR2_BINUTILS_VERSION_2_27_X + default "arc-2017.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 config BR2_BINUTILS_ENABLE_LTO bool diff --git a/package/binutils/binutils.hash b/package/binutils/binutils.hash index a7d4cdd453..4578a7f56a 100644 --- a/package/binutils/binutils.hash +++ b/package/binutils/binutils.hash @@ -1,7 +1,7 @@ # From ftp://gcc.gnu.org/pub/binutils/releases/sha512.sum -sha512 cf276f84935312361a2ca077e04d0b469d23a3aed979d8ba5d92ea590904ffb2c2e7ed12cc842822bfc402836be86f479660cef3791aa62f3753d8a1a6f564cb binutils-2.27.tar.bz2 sha512 dc5b6872ae01c07c12d38f3bb7ead06effc6da3265ac872e2d9c6104304f89f85f2645b029a43f308a7938a7299b1928d385205d0a2245674a621649032a138d binutils-2.28.1.tar.xz sha512 d748d22306477d60d921078804d21943248c23fca0707aac9b016a352c01c75ca69e82624ae37fb0bbd03af3b17088a94f60dfe1a86a7ff82e18ece3c24f0fd0 binutils-2.29.1.tar.xz +sha512 e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b192e9693b5828d27683739b0198431bf8b3e39fb3b04884cf89d9aa839 binutils-2.30.tar.xz # Locally calculated (fetched from Github) sha512 cefff7521dc4ebd8b9773af4f173821ad82dcb3f1fbd0bfdf03e148ba8cec1262b876b221da628ff5db16c30b18c6cbf5ffbec0fddb4677182524684c4c232c1 binutils-arc-2017.09-release.tar.gz diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index d2bf5b9755..ac4575b616 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -11,23 +11,17 @@ ifeq ($(BINUTILS_VERSION),) ifeq ($(BR2_arc),y) BINUTILS_VERSION = arc-2017.09-release else -BINUTILS_VERSION = 2.28.1 +BINUTILS_VERSION = 2.29.1 endif endif # BINUTILS_VERSION -ifeq ($(BR2_arc),y) +ifeq ($(BINUTILS_VERSION),arc-2017.09-release) BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION)) BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz BINUTILS_FROM_GIT = y endif BINUTILS_SITE ?= $(BR2_GNU_MIRROR)/binutils -ifeq ($(BINUTILS_VERSION),2.28.1) BINUTILS_SOURCE ?= binutils-$(BINUTILS_VERSION).tar.xz -else ifeq ($(BINUTILS_VERSION),2.29.1) -BINUTILS_SOURCE ?= binutils-$(BINUTILS_VERSION).tar.xz -else -BINUTILS_SOURCE ?= binutils-$(BINUTILS_VERSION).tar.bz2 -endif BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_BINUTILS_EXTRA_CONFIG_OPTIONS)) BINUTILS_INSTALL_STAGING = YES BINUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) @@ -142,5 +136,18 @@ ifeq ($(BR2_BINUTILS_ENABLE_LTO),y) HOST_BINUTILS_CONF_OPTS += --enable-plugins --enable-lto endif +# Hardlinks between binaries in different directories cause a problem +# with rpath fixup, so we de-hardlink those binaries, and replace them +# with copies instead. +BINUTILS_TOOLS = ar as ld ld.bfd nm objcopy objdump ranlib readelf strip +define HOST_BINUTILS_FIXUP_HARDLINKS + $(foreach tool,$(BINUTILS_TOOLS),\ + rm -f $(HOST_DIR)/$(GNU_TARGET_NAME)/bin/$(tool) && \ + cp -a $(HOST_DIR)/bin/$(GNU_TARGET_NAME)-$(tool) \ + $(HOST_DIR)/$(GNU_TARGET_NAME)/bin/$(tool) + ) +endef +HOST_BINUTILS_POST_INSTALL_HOOKS += HOST_BINUTILS_FIXUP_HARDLINKS + $(eval $(autotools-package)) $(eval $(host-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 new file mode 100644 index 0000000000..e9dee48af9 --- /dev/null +++ b/package/bison/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch @@ -0,0 +1,50 @@ +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/0002-fflush-be-more-paranoid-about-libio.h-change.patch b/package/bison/0002-fflush-be-more-paranoid-about-libio.h-change.patch new file mode 100644 index 0000000000..035f8282c1 --- /dev/null +++ b/package/bison/0002-fflush-be-more-paranoid-about-libio.h-change.patch @@ -0,0 +1,46 @@ +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/bluez5_utils/0002-bt_shell-APIs-shall-only-be-build-if-readline-is-pre.patch b/package/bluez5_utils/0002-bt_shell-APIs-shall-only-be-build-if-readline-is-pre.patch new file mode 100644 index 0000000000..394742b680 --- /dev/null +++ b/package/bluez5_utils/0002-bt_shell-APIs-shall-only-be-build-if-readline-is-pre.patch @@ -0,0 +1,32 @@ +From 654444dd8faf02b46f41d81f3d9c623d57bdd399 Mon Sep 17 00:00:00 2001 +From: Luiz Augusto von Dentz +Date: Fri, 20 Apr 2018 16:04:17 +0200 +Subject: [PATCH] bt_shell APIs shall only be build if readline is present on + the system since it currently depend on it. + +Signed-off-by: Thomas Petazzoni +Upstream-status: https://marc.info/?l=linux-bluetooth&m=152422938306592&w=2 +--- + Makefile.am | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index daf34b6ca..9c3c17139 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -119,7 +119,11 @@ shared_sources = src/shared/io.h src/shared/timeout.h \ + src/shared/gatt-server.h src/shared/gatt-server.c \ + src/shared/gatt-db.h src/shared/gatt-db.c \ + src/shared/gap.h src/shared/gap.c \ +- src/shared/tty.h src/shared/shell.c src/shared/shell.h ++ src/shared/tty.h ++ ++if READLINE ++shared_sources += src/shared/shell.c src/shared/shell.h ++endif + + src_libshared_glib_la_SOURCES = $(shared_sources) \ + src/shared/io-glib.c \ +-- +2.14.3 + diff --git a/package/bluez5_utils/bluez5_utils.hash b/package/bluez5_utils/bluez5_utils.hash index 36791c9e6f..dc331b5a0d 100644 --- a/package/bluez5_utils/bluez5_utils.hash +++ b/package/bluez5_utils/bluez5_utils.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc: -sha256 cf75bf7cd5d564f21cc4a2bd01d5c39ce425397335fd47d9bbe43af0a58342c8 bluez-5.47.tar.xz +sha256 b9a8723072ef66bae7ec301c774902ebcb444c9c5b149b5a199e60a1ba970e90 bluez-5.48.tar.xz diff --git a/package/bluez5_utils/bluez5_utils.mk b/package/bluez5_utils/bluez5_utils.mk index 57e9c264e1..c608637687 100644 --- a/package/bluez5_utils/bluez5_utils.mk +++ b/package/bluez5_utils/bluez5_utils.mk @@ -4,13 +4,15 @@ # ################################################################################ -BLUEZ5_UTILS_VERSION = 5.47 +BLUEZ5_UTILS_VERSION = 5.48 BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_INSTALL_STAGING = YES BLUEZ5_UTILS_DEPENDENCIES = dbus libglib2 BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+ BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB +# 0001-bt_shell-APIs-shall-only-be-build-if-readline-is-pre.patch +BLUEZ5_UTILS_AUTORECONF = YES BLUEZ5_UTILS_CONF_OPTS = \ --enable-tools \ @@ -116,7 +118,7 @@ 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 \ + ln -fs ../../../usr/lib/systemd/system/bluetooth.service \ $(TARGET_DIR)/etc/systemd/system/dbus-org.bluez.service endef diff --git a/package/boinc/boinc.hash b/package/boinc/boinc.hash index 292c32750d..8f44982246 100644 --- a/package/boinc/boinc.hash +++ b/package/boinc/boinc.hash @@ -1,2 +1,4 @@ # Locally computed: -sha256 e3d5b190ec6cdc3512005469fab90203af110cd9a7880654c5d0b4d4e55f3c17 boinc-7.8.3.tar.gz +sha256 ed5f3dcdc8d1cc5277529afb701377e77d1ff89711368a7456553bf249940bad boinc-7.8.6.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSER diff --git a/package/boinc/boinc.mk b/package/boinc/boinc.mk index 901f1ee986..0105034531 100644 --- a/package/boinc/boinc.mk +++ b/package/boinc/boinc.mk @@ -5,7 +5,7 @@ ################################################################################ BOINC_VERSION_MAJOR = 7.8 -BOINC_VERSION = $(BOINC_VERSION_MAJOR).3 +BOINC_VERSION = $(BOINC_VERSION_MAJOR).6 # 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). @@ -45,7 +45,7 @@ endef BOINC_POST_INSTALL_TARGET_HOOKS += BOINC_REMOVE_UNNEEDED_FILE define BOINC_INSTALL_INIT_SYSV - $(INSTALL) -D -m 0755 package/boinc/S99boinc-client \ + $(INSTALL) -D -m 0755 package/boinc/S99boinc-client \ $(TARGET_DIR)/etc/init.d/S99boinc-client endef diff --git a/package/boost/0005-fix-build-with-g-5.patch b/package/boost/0005-fix-build-with-g-5.patch new file mode 100644 index 0000000000..49149e6ebf --- /dev/null +++ b/package/boost/0005-fix-build-with-g-5.patch @@ -0,0 +1,32 @@ +From da2793fcde5c4e3ff448b4b21348ef8b1482c678 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 16 Jan 2018 14:51:32 +0100 +Subject: [PATCH] fix build with g++5 + +Patch needed to build domoticz + +Patch fetch from one of the answer of + https://github.com/domoticz/domoticz/issues/2034: + workaround suggested to the boost developers + +Signed-off-by: Fabrice Fontaine +--- + boost/asio/detail/consuming_buffers.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/boost/asio/detail/consuming_buffers.hpp b/boost/asio/detail/consuming_buffers.hpp +index a429f97..b7a887c 100644 +--- a/boost/asio/detail/consuming_buffers.hpp ++++ b/boost/asio/detail/consuming_buffers.hpp +@@ -102,7 +102,7 @@ public: + + std::advance(next, next_elem_); + std::size_t elem_offset = next_elem_offset_; +- while (next != end && max_size > 0 && result.count < result.max_buffers) ++ while (next != end && max_size > 0 && (result.count) < result.max_buffers) + { + Buffer next_buf = Buffer(*next) + elem_offset; + result.elems[result.count] = boost::asio::buffer(next_buf, max_size); +-- +2.7.4 + diff --git a/package/boost/Config.in b/package/boost/Config.in index 8925982ba8..0755d9c010 100644 --- a/package/boost/Config.in +++ b/package/boost/Config.in @@ -192,14 +192,6 @@ config BR2_PACKAGE_BOOST_MATH Octonions, like quaternions, are a relative of complex numbers. -config BR2_PACKAGE_BOOST_METAPARSE - bool "boost-metaparse" - depends on BR2_USE_MMU # boost-test - select BR2_PACKAGE_BOOST_TEST - help - A library for generating compile time parsers parsing embedded - DSL code as part of the C++ compilation process - config BR2_PACKAGE_BOOST_MPI bool "boost-mpi" help diff --git a/package/boost/boost.hash b/package/boost/boost.hash index 6e40c0d3b4..7eb675d5b1 100644 --- a/package/boost/boost.hash +++ b/package/boost/boost.hash @@ -1,5 +1,5 @@ -# From http://www.boost.org/users/history/version_1_65_1.html -sha256 9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81 boost_1_65_1.tar.bz2 +# From http://www.boost.org/users/history/version_1_66_0.html +sha256 5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9 boost_1_66_0.tar.bz2 # Locally computed sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt diff --git a/package/boost/boost.mk b/package/boost/boost.mk index 864a07f789..9ad83d5aeb 100644 --- a/package/boost/boost.mk +++ b/package/boost/boost.mk @@ -4,7 +4,7 @@ # ################################################################################ -BOOST_VERSION = 1.65.1 +BOOST_VERSION = 1.66.0 BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2 BOOST_SITE = http://downloads.sourceforge.net/project/boost/boost/$(BOOST_VERSION) BOOST_INSTALL_STAGING = YES @@ -34,7 +34,6 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_IOSTREAMS),,iostreams) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOCALE),,locale) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOG),,log) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math) -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_METAPARSE),,metaparse) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python) diff --git a/package/bootstrap/bootstrap.hash b/package/bootstrap/bootstrap.hash index abc09da213..32ef9c4bbb 100644 --- a/package/bootstrap/bootstrap.hash +++ b/package/bootstrap/bootstrap.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 f498a8ff2dd007e29c2074f5e4b01a9a01775c3ff3aeaf6906ea503bc5791b7b bootstrap-3.3.7-dist.zip +sha256 fa1caaaf640c32c553d0b323da1036f2232703d64a1d22c3a2ec84ace68c791a bootstrap-4.0.0-dist.zip +sha256 8c1a4c25634d5841924aab1848acc9dcbc3d5672183053c8b71ff2139b65d7c3 css/bootstrap.css diff --git a/package/bootstrap/bootstrap.mk b/package/bootstrap/bootstrap.mk index 33161f53ae..61d6c826fc 100644 --- a/package/bootstrap/bootstrap.mk +++ b/package/bootstrap/bootstrap.mk @@ -4,25 +4,21 @@ # ################################################################################ -BOOTSTRAP_VERSION = 3.3.7 +BOOTSTRAP_VERSION = 4.0.0 BOOTSTRAP_SITE = https://github.com/twbs/bootstrap/releases/download/v$(BOOTSTRAP_VERSION) BOOTSTRAP_SOURCE = bootstrap-$(BOOTSTRAP_VERSION)-dist.zip BOOTSTRAP_LICENSE = MIT +BOOTSTRAP_LICENSE_FILES = css/bootstrap.css define BOOTSTRAP_EXTRACT_CMDS $(UNZIP) $(DL_DIR)/$(BOOTSTRAP_SOURCE) -d $(@D) - mv $(@D)/bootstrap-$(BOOTSTRAP_VERSION)-dist/* $(@D)/ - rmdir $(@D)/bootstrap-$(BOOTSTRAP_VERSION)-dist endef define BOOTSTRAP_INSTALL_TARGET_CMDS - $(INSTALL) -m 0644 -D $(@D)/css/bootstrap-theme.min.css \ - $(TARGET_DIR)/var/www/bootstrap/css/bootstrap-theme.min.css $(INSTALL) -m 0644 -D $(@D)/css/bootstrap.min.css \ $(TARGET_DIR)/var/www/bootstrap/css/bootstrap.min.css $(INSTALL) -m 0644 -D $(@D)/js/bootstrap.min.js \ $(TARGET_DIR)/var/www/bootstrap/js/bootstrap.min.js - cp -r $(@D)/fonts $(TARGET_DIR)/var/www/bootstrap/ endef $(eval $(generic-package)) diff --git a/package/brltty/0001-Prevent-scancodes-from-generating-spurious-log-messa.patch b/package/brltty/0001-Prevent-scancodes-from-generating-spurious-log-messa.patch new file mode 100644 index 0000000000..e6a2005d59 --- /dev/null +++ b/package/brltty/0001-Prevent-scancodes-from-generating-spurious-log-messa.patch @@ -0,0 +1,28 @@ +From 3ea213e47c6771b7e2481f64a98f30c02fcb4867 Mon Sep 17 00:00:00 2001 +From: Mario Lang +Date: Thu, 30 Nov 2017 13:14:47 +0100 +Subject: [PATCH] Prevent scancodes from generating spurious log messages. (ml) + +Signed-off-by: Mario Lang +--- +This patch was taken from upstream, and can be removed when 5.6 is out. + + Drivers/Braille/HandyTech/braille.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Drivers/Braille/HandyTech/braille.c b/Drivers/Braille/HandyTech/braille.c +index ef95fd15b..f7e605c1a 100644 +--- a/Drivers/Braille/HandyTech/braille.c ++++ b/Drivers/Braille/HandyTech/braille.c +@@ -1560,7 +1560,7 @@ brl_readCommand (BrailleDisplay *brl, KeyTableCommandContext context) { + case HT_EXTPKT_Scancode: { + while (length--) + enqueueCommand(BRL_CMD_BLK(PASSAT) | BRL_ARG_PUT(*bytes++)); +- break; ++ continue; + } + + case HT_EXTPKT_GetRTC: { +-- +2.15.0 + diff --git a/package/brltty/0002-Check-for-ioperm-to-make-sure-the-platform-supports-.patch b/package/brltty/0002-Check-for-ioperm-to-make-sure-the-platform-supports-.patch new file mode 100644 index 0000000000..3dbacb3b57 --- /dev/null +++ b/package/brltty/0002-Check-for-ioperm-to-make-sure-the-platform-supports-.patch @@ -0,0 +1,31 @@ +From 28dde6749327fd15a1b8b7bcf5cc74a95598582a Mon Sep 17 00:00:00 2001 +From: Mario Lang +Date: Fri, 29 Dec 2017 10:35:05 +0100 +Subject: [PATCH] Check for ioperm to make sure the platform supports ports + I/O. (ml) + +Signed-off-by: Mario Lang +--- +This patch was taken from upstream, and can be removed when 5.6 is out. + + configure.ac | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 5e94d33bd..07119dd9f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1446,7 +1446,9 @@ BRLTTY_ARG_PACKAGE([ports], [I/O ports], [], [dnl + ports_package="kfreebsd" + ;; + linux*) +- ports_package="glibc" ++ AC_CHECK_FUNC([ioperm], [ ++ ports_package="glibc" ++ ]) + ;; + mingw*) + ports_package="windows" +-- +2.15.0 + diff --git a/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch b/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch new file mode 100644 index 0000000000..c1980417aa --- /dev/null +++ b/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch @@ -0,0 +1,64 @@ +From b3b0e47015e9162f519730789976157c7cc38178 Mon Sep 17 00:00:00 2001 +From: Mario Lang +Date: Fri, 29 Dec 2017 14:52:37 +0100 +Subject: [PATCH] Remove MKOBJ in favour of MKMOD. (ml) + +Calling ld directly can lead to problems when cross-compiling. + +Upstream: https://github.com/brltty/brltty/commit/4c8aba42e246b96d10ffcbd57653682375499e46 +Signed-off-by: Mario Lang +--- + Drivers/Braille/EuroBraille/Makefile.in | 2 +- + config.mk.in | 1 - + configure.ac | 10 ---------- + 3 files changed, 1 insertion(+), 12 deletions(-) + +diff --git a/Drivers/Braille/EuroBraille/Makefile.in b/Drivers/Braille/EuroBraille/Makefile.in +index 0500aa70e..ce8a3d1a4 100644 +--- a/Drivers/Braille/EuroBraille/Makefile.in ++++ b/Drivers/Braille/EuroBraille/Makefile.in +@@ -28,7 +28,7 @@ SRC_FILES = eu_braille.c eu_clio.c eu_esysiris.c + OBJ_FILES = $(SRC_FILES:.c=.$O) + + braille.$O: $(OBJ_FILES) +- $(MKOBJ) $@ $(OBJ_FILES) ++ $(MKMOD) $@ $(OBJ_FILES) + + %.$O: $(SRC_DIR)/%.c + $(CC) $(BRL_CFLAGS) -o $@ -c $< +diff --git a/config.mk.in b/config.mk.in +index 686f547e6..8d1da79b4 100644 +--- a/config.mk.in ++++ b/config.mk.in +@@ -250,7 +250,6 @@ LD = @LD@ + LDFLAGS = @LDFLAGS@ + LDLIBS = $(ICU_LIBS) $(POLKIT_LIBS) $(SYSTEM_LIBS) @LIBS@ + +-MKOBJ = @MKOBJ@ + MKMOD = @MKMOD@ + MKLIB = @MKLIB@ + CONFLIBDIR = @CONFLIBDIR@ +diff --git a/configure.ac b/configure.ac +index 07119dd9f..ad80b8d60 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -428,16 +428,6 @@ AC_SUBST([can_make_manual]) + test "${DOXYGEN}" = "false" && can_make_BrlAPIref=no || can_make_BrlAPIref=yes + AC_SUBST([can_make_BrlAPIref]) + +-AC_CACHE_CHECK([for make relocatable object command], [brltty_cv_prog_mkobj], [dnl +-case "${host_os}" +-in +- *) +- brltty_cv_prog_mkobj="\$(LD) -r -o" +- ;; +-esac]) +-MKOBJ="${brltty_cv_prog_mkobj}" +-AC_SUBST([MKOBJ]) +- + AC_CACHE_CHECK([for loadable module creation command], [brltty_cv_prog_mkmod], [dnl + case "${host_os}" + in +-- +2.15.0 + diff --git a/package/brltty/0004-buildsys-fix-cross-compilation.patch b/package/brltty/0004-buildsys-fix-cross-compilation.patch new file mode 100644 index 0000000000..9a10d46414 --- /dev/null +++ b/package/brltty/0004-buildsys-fix-cross-compilation.patch @@ -0,0 +1,41 @@ +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/Config.in b/package/brltty/Config.in new file mode 100644 index 0000000000..48ceb04c99 --- /dev/null +++ b/package/brltty/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_BRLTTY + bool "brltty" + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + depends on BR2_USE_MMU # fork() + help + A daemon providing access to the Linux console for a blind + person using a refreshable braille display. + + http://brltty.com/ + +if BR2_PACKAGE_BRLTTY + +config BR2_PACKAGE_BRLTTY_TEXT_TABLE + string "text-table" + +endif + +comment "brltty needs a toolchain w/ dynamic lib, threads, wchar" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR diff --git a/package/brltty/S10brltty b/package/brltty/S10brltty new file mode 100644 index 0000000000..18e274dc0f --- /dev/null +++ b/package/brltty/S10brltty @@ -0,0 +1,40 @@ +#!/bin/sh +# +# brltty Starts brltty. +# + +start() { + printf "Starting brltty: " + start-stop-daemon -S -q -p /var/run/brltty.pid \ + --exec /usr/bin/brltty -- -P /var/run/brltty.pid "$@" + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +stop() { + printf "Stopping brltty: " + start-stop-daemon -K -q -p /var/run/brltty.pid + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +restart() { + stop + start "$@" +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + force-reload) + restart + ;; + *) + echo "Usage: $0 {start|stop|restart|force-reload}" + exit 1 +esac + +exit $? diff --git a/package/brltty/brltty.hash b/package/brltty/brltty.hash new file mode 100644 index 0000000000..3bc2f9cf54 --- /dev/null +++ b/package/brltty/brltty.hash @@ -0,0 +1,3 @@ +sha256 4ebf1df5922df0efccac4795f5bd1c514fc850348c34d9ec0868e2798b565a36 brltty-5.5.tar.xz +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad LICENSE-GPL +sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f LICENSE-LGPL diff --git a/package/brltty/brltty.mk b/package/brltty/brltty.mk new file mode 100644 index 0000000000..eb91ef8ff7 --- /dev/null +++ b/package/brltty/brltty.mk @@ -0,0 +1,110 @@ +################################################################################ +# +# brltty +# +################################################################################ + +BRLTTY_VERSION = 5.5 +BRLTTY_SOURCE = brltty-$(BRLTTY_VERSION).tar.xz +BRLTTY_SITE = http://brltty.com/archive +BRLTTY_INSTALL_STAGING_OPTS = INSTALL_ROOT=$(STAGING_DIR) install +BRLTTY_INSTALL_TARGET_OPTS = INSTALL_ROOT=$(TARGET_DIR) install +BRLTTY_LICENSE_FILES = LICENSE-GPL LICENSE-LGPL + +BRLTTY_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-autoconf host-pkgconf + +BRLTTY_CONF_OPTS = \ + --disable-java-bindings \ + --disable-lisp-bindings \ + --disable-ocaml-bindings \ + --disable-python-bindings \ + --disable-tcl-bindings \ + --disable-x \ + --without-midi-package \ + --without-mikropuhe --without-speechd --without-swift \ + --without-theta --without-viavoice + +# 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. +define BRLTTY_AUTOCONF + cd $(BRLTTY_SRCDIR) && $(AUTOCONF) +endef + +BRLTTY_PRE_CONFIGURE_HOOKS += BRLTTY_AUTOCONF + +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS),y) +BRLTTY_DEPENDENCIES += bluez5_utils +BRLTTY_CONF_OPTS += --with-bluetooth-package +else +BRLTTY_CONF_OPTS += --without-bluetooth-package +endif + +ifeq ($(BR2_PACKAGE_ESPEAK),y) +BRLTTY_DEPENDENCIES += espeak +BRLTTY_CONF_OPTS += --with-espeak=$(TARGET_DIR)/usr +else +BRLTTY_CONF_OPTS += --without-espeak +endif + +ifeq ($(BR2_PACKAGE_FLITE),y) +BRLTTY_DEPENDENCIES += flite +BRLTTY_CONF_OPTS += --with-flite=$(STAGING_DIR)/usr +else +BRLTTY_CONF_OPTS += --without-flite +endif + +ifeq ($(BR2_PACKAGE_ICU),y) +BRLTTY_DEPENDENCIES += icu +BRLTTY_CONF_OPTS += --enable-icu +else +BRLTTY_CONF_OPTS += --disable-icu +endif + +ifeq ($(BR2_PACKAGE_NCURSES),y) +BRLTTY_DEPENDENCIES += ncurses +BRLTTY_CONF_OPTS += --with-curses +else +BRLTTY_CONF_OPTS += --without-curses +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +BRLTTY_DEPENDENCIES += systemd +BRLTTY_CONF_OPTS += --with-service-package +else +BRLTTY_CONF_OPTS += --without-service-package +endif + +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) +BRLTTY_CONF_OPTS += --enable-i18n +else +BRLTTY_CONF_OPTS += --disable-i18n +endif + +BRLTTY_TEXT_TABLE = $(call qstrip,$(BR2_PACKAGE_BRLTTY_TEXT_TABLE)) +ifneq ($(BRLTTY_TEXT_TABLE),) +BRLTTY_CONF_OPTS += --with-text-table=$(BRLTTY_TEXT_TABLE) +endif + +define BRLTTY_INSTALL_CONF + $(INSTALL) -D -m 644 $(@D)/Documents/brltty.conf $(TARGET_DIR)/etc/brltty.conf +endef + +BRLTTY_POST_INSTALL_TARGET_HOOKS += BRLTTY_INSTALL_CONF + +define BRLTTY_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/brltty/S10brltty \ + $(TARGET_DIR)/etc/init.d/S10brltty +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/brltty/brltty.service b/package/brltty/brltty.service new file mode 100644 index 0000000000..070ec94b7c --- /dev/null +++ b/package/brltty/brltty.service @@ -0,0 +1,23 @@ +[Unit] +Description=Braille Device Support +Documentation=man:brltty(1) +Documentation=http://brltty.com/ + +DefaultDependencies=no +Before=sysinit.target +After=systemd-udev-settle.service +Wants=systemd-udev-settle.service + +[Service] +Type=simple +ExecStart=/usr/bin/brltty --no-daemon +TimeoutStartSec=5 +TimeoutStopSec=10 +Restart=always +RestartSec=30 +Nice=-10 +OOMScoreAdjust=-900 + +[Install] +WantedBy=sysinit.target + diff --git a/package/brotli/0001-CMake-Allow-using-BUILD_SHARED_LIBS-to-choose-static.patch b/package/brotli/0001-CMake-Allow-using-BUILD_SHARED_LIBS-to-choose-static.patch new file mode 100644 index 0000000000..33b9bb70ce --- /dev/null +++ b/package/brotli/0001-CMake-Allow-using-BUILD_SHARED_LIBS-to-choose-static.patch @@ -0,0 +1,144 @@ +From b60b613e7c2c9bf7a142c3c486ac6e77ad93f5d1 Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro +Date: Mon, 26 Mar 2018 19:08:31 +0100 +Subject: [PATCH] CMake: Allow using BUILD_SHARED_LIBS to choose static/shared + libs + +By convention projects using CMake which can build either static or +shared libraries use a BUILD_SHARED_LIBS flag to allow selecting between +both: the add_library() command automatically switches between both using +this variable when the library kind is not passed to add_library(). It +is also usual to expose the BUILD_SHARED_LIBS as an user-facing setting +with the option() command. + +This way, the following will both work as expected: + + % cmake -DBUILD_SHARED_LIBS=OFF ... + % cmake -DBUILS_SHARED_LIBS=ON ... + +This is helpful for distributions which need (or want) to build only +static libraries. +--- + CMakeLists.txt | 42 ++++++++++++++---------------------------- + c/fuzz/test_fuzzer.sh | 6 +++--- + 2 files changed, 17 insertions(+), 31 deletions(-) + +Signed-off-by: Adrian Perez de Castro +Upstream-Status: Submitted [https://github.com/google/brotli/pull/655] + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 99b9258..3867931 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,6 +6,8 @@ cmake_minimum_required(VERSION 2.8.6) + + project(brotli C) + ++option(BUILD_SHARED_LIBS "Build shared libraries" ON) ++ + # If Brotli is being bundled in another project, we don't want to + # install anything. However, we want to let people override this, so + # we'll use the BROTLI_BUNDLED_MODE variable to let them do that; just +@@ -114,10 +116,6 @@ set(BROTLI_LIBRARIES_CORE brotlienc brotlidec brotlicommon) + set(BROTLI_LIBRARIES ${BROTLI_LIBRARIES_CORE} ${LIBM_LIBRARY}) + mark_as_advanced(BROTLI_LIBRARIES) + +-set(BROTLI_LIBRARIES_CORE_STATIC brotlienc-static brotlidec-static brotlicommon-static) +-set(BROTLI_LIBRARIES_STATIC ${BROTLI_LIBRARIES_CORE_STATIC} ${LIBM_LIBRARY}) +-mark_as_advanced(BROTLI_LIBRARIES_STATIC) +- + if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + add_definitions(-DOS_LINUX) + elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") +@@ -137,24 +135,22 @@ endfunction() + transform_sources_list("scripts/sources.lst" "${CMAKE_CURRENT_BINARY_DIR}/sources.lst.cmake") + include("${CMAKE_CURRENT_BINARY_DIR}/sources.lst.cmake") + +-add_library(brotlicommon SHARED ${BROTLI_COMMON_C}) +-add_library(brotlidec SHARED ${BROTLI_DEC_C}) +-add_library(brotlienc SHARED ${BROTLI_ENC_C}) +- +-add_library(brotlicommon-static STATIC ${BROTLI_COMMON_C}) +-add_library(brotlidec-static STATIC ${BROTLI_DEC_C}) +-add_library(brotlienc-static STATIC ${BROTLI_ENC_C}) ++add_library(brotlicommon ${BROTLI_COMMON_C}) ++add_library(brotlidec ${BROTLI_DEC_C}) ++add_library(brotlienc ${BROTLI_ENC_C}) + + # Older CMake versions does not understand INCLUDE_DIRECTORIES property. + include_directories(${BROTLI_INCLUDE_DIRS}) + ++if(BUILD_SHARED_LIBS) ++ foreach(lib brotlicommon brotlidec brotlienc) ++ target_compile_definitions(${lib} PUBLIC "BROTLI_SHARED_COMPILATION" ) ++ string(TOUPPER "${lib}" LIB) ++ set_target_properties (${lib} PROPERTIES DEFINE_SYMBOL "${LIB}_SHARED_COMPILATION" ) ++ endforeach() ++endif() ++ + foreach(lib brotlicommon brotlidec brotlienc) +- target_compile_definitions(${lib} PUBLIC "BROTLI_SHARED_COMPILATION" ) +- string(TOUPPER "${lib}" LIB) +- set_target_properties (${lib} PROPERTIES DEFINE_SYMBOL "${LIB}_SHARED_COMPILATION" ) +-endforeach() +- +-foreach(lib brotlicommon brotlidec brotlienc brotlicommon-static brotlidec-static brotlienc-static) + target_link_libraries(${lib} ${LIBM_LIBRARY}) + set_property(TARGET ${lib} APPEND PROPERTY INCLUDE_DIRECTORIES ${BROTLI_INCLUDE_DIRS}) + set_target_properties(${lib} PROPERTIES +@@ -167,9 +163,6 @@ endforeach() + target_link_libraries(brotlidec brotlicommon) + target_link_libraries(brotlienc brotlicommon) + +-target_link_libraries(brotlidec-static brotlicommon-static) +-target_link_libraries(brotlienc-static brotlicommon-static) +- + # For projects stuck on older versions of CMake, this will set the + # BROTLI_INCLUDE_DIRS and BROTLI_LIBRARIES variables so they still + # have a relatively easy way to use Brotli: +@@ -183,7 +176,7 @@ endif() + + # Build the brotli executable + add_executable(brotli ${BROTLI_CLI_C}) +-target_link_libraries(brotli ${BROTLI_LIBRARIES_STATIC}) ++target_link_libraries(brotli ${BROTLI_LIBRARIES}) + + # Installation + if(NOT BROTLI_BUNDLED_MODE) +@@ -199,13 +192,6 @@ if(NOT BROTLI_BUNDLED_MODE) + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ) + +- install( +- TARGETS ${BROTLI_LIBRARIES_CORE_STATIC} +- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- ) +- + install( + DIRECTORY ${BROTLI_INCLUDE_DIRS}/brotli + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +diff --git a/c/fuzz/test_fuzzer.sh b/c/fuzz/test_fuzzer.sh +index 5c754e1..e85e12f 100755 +--- a/c/fuzz/test_fuzzer.sh ++++ b/c/fuzz/test_fuzzer.sh +@@ -14,12 +14,12 @@ mkdir bin + cd bin + + cmake $BROTLI -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" \ +- -DBUILD_TESTING=OFF -DENABLE_SANITIZER=address +-make -j$(nproc) brotlidec-static ++ -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DENABLE_SANITIZER=address ++make -j$(nproc) brotlidec + + ${CXX} -o run_decode_fuzzer -std=c++11 -fsanitize=address -I$SRC/include \ + $SRC/fuzz/decode_fuzzer.cc $SRC/fuzz/run_decode_fuzzer.cc \ +- ./libbrotlidec-static.a ./libbrotlicommon-static.a ++ ./libbrotlidec.a ./libbrotlicommon.a + + mkdir decode_corpora + unzip $BROTLI/java/org/brotli/integration/fuzz_data.zip -d decode_corpora +-- +2.16.3 + diff --git a/package/brotli/0001-Tell-CMake-to-not-check-for-a-C-compiler.patch b/package/brotli/0001-Tell-CMake-to-not-check-for-a-C-compiler.patch new file mode 100644 index 0000000000..410de2830e --- /dev/null +++ b/package/brotli/0001-Tell-CMake-to-not-check-for-a-C-compiler.patch @@ -0,0 +1,31 @@ +From fea0b1e46c486225d57e730cc0f94fa06b5b93fc Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro +Date: Mon, 26 Mar 2018 12:12:00 +0100 +Subject: [PATCH] Tell CMake to not check for a C++ compiler + +By default CMake checks both for C and C++ compilers, while the latter +is not needed. Setting the list of languages to just "C" in the call to +project() removes the unneeded check. +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Signed-off-by: Adrian Perez de Castro +Upstream-Status: Submitted [https://github.com/google/brotli/pull/653] + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2dc7232..3fbcbfb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,7 +4,7 @@ + # support 2.8.7. + cmake_minimum_required(VERSION 2.8.6) + +-project(brotli) ++project(brotli LANGUAGES C) + + # If Brotli is being bundled in another project, we don't want to + # install anything. However, we want to let people override this, so +-- +2.16.3 + diff --git a/package/brotli/Config.in b/package/brotli/Config.in new file mode 100644 index 0000000000..e40f5b6b9f --- /dev/null +++ b/package/brotli/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_BROTLI + bool "brotli" + help + Generic-purpose lossless compression library. The algorithm + compresses data using a combination of a modern variant of + the LZ77 algorithm, Huffman coding and 2nd order context + modeling, with a compression ratio comparable to the best + currently available general-purpose compression methods. It + is similar in speed with deflate but offers more dense + compression. + + https://github.com/google/brotli diff --git a/package/brotli/brotli.hash b/package/brotli/brotli.hash new file mode 100644 index 0000000000..954d44eb70 --- /dev/null +++ b/package/brotli/brotli.hash @@ -0,0 +1,5 @@ +# Locally generated: +sha512 93adcf437d730ac403e444285ac8aefbb2c8a6b5e1b064e8ee33684c067287a8159e0ee73d2217c167881e87da73fa494792d963a15508fd42b2ac4a5b52823c v1.0.3.tar.gz + +# Hash for license files: +sha512 bae78184c2f50f86d8c727826d3982c469454c42b9af81f4ef007e39036434fa894cf5be3bf5fc65b7de2301f0a72d067a8186e303327db8a96bd14867e0a3a8 LICENSE diff --git a/package/brotli/brotli.mk b/package/brotli/brotli.mk new file mode 100644 index 0000000000..cf1e811543 --- /dev/null +++ b/package/brotli/brotli.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# brotli +# +################################################################################ + +BROTLI_VERSION = 1.0.3 +BROTLI_SOURCE = v$(BROTLI_VERSION).tar.gz +BROTLI_SITE = https://github.com/google/brotli/archive +BROTLI_LICENSE = MIT +BROTLI_LICENSE_FILES = LICENSE +BROTLI_INSTALL_STAGING = YES +BROTLI_CONF_OPTS = \ + -DBROTLI_DISABLE_TESTS=ON \ + -DBROTLI_BUNDLED_MODE=OFF + +$(eval $(cmake-package)) diff --git a/package/busybox/0006-bunzip2-fix-runCnt-overflow-from-bug-10431.patch b/package/busybox/0006-bunzip2-fix-runCnt-overflow-from-bug-10431.patch new file mode 100644 index 0000000000..e8fd2e027d --- /dev/null +++ b/package/busybox/0006-bunzip2-fix-runCnt-overflow-from-bug-10431.patch @@ -0,0 +1,101 @@ +From 0402cb32df015d9372578e3db27db47b33d5c7b0 Mon Sep 17 00:00:00 2001 +From: Denys Vlasenko +Date: Sun, 22 Oct 2017 18:23:23 +0200 +Subject: [PATCH] bunzip2: fix runCnt overflow from bug 10431 + +This particular corrupted file can be dealth with by using "unsigned". +If there will be cases where it genuinely overflows, there is a disabled +code to deal with that too. + +function old new delta +get_next_block 1678 1667 -11 + +Signed-off-by: Denys Vlasenko +Signed-off-by: Baruch Siach +--- +Patch status: upstream commit 0402cb32df0 + + archival/libarchive/decompress_bunzip2.c | 30 +++++++++++++++++++----------- + 1 file changed, 19 insertions(+), 11 deletions(-) + +diff --git a/archival/libarchive/decompress_bunzip2.c b/archival/libarchive/decompress_bunzip2.c +index 7cd18f5ed4cf..bec89edd3a4d 100644 +--- a/archival/libarchive/decompress_bunzip2.c ++++ b/archival/libarchive/decompress_bunzip2.c +@@ -156,15 +156,15 @@ static unsigned get_bits(bunzip_data *bd, int bits_wanted) + static int get_next_block(bunzip_data *bd) + { + struct group_data *hufGroup; +- int dbufCount, dbufSize, groupCount, *base, *limit, selector, +- i, j, runPos, symCount, symTotal, nSelectors, byteCount[256]; +- int runCnt = runCnt; /* for compiler */ ++ int groupCount, *base, *limit, selector, ++ i, j, symCount, symTotal, nSelectors, byteCount[256]; + uint8_t uc, symToByte[256], mtfSymbol[256], *selectors; + uint32_t *dbuf; + unsigned origPtr, t; ++ unsigned dbufCount, runPos; ++ unsigned runCnt = runCnt; /* for compiler */ + + dbuf = bd->dbuf; +- dbufSize = bd->dbufSize; + selectors = bd->selectors; + + /* In bbox, we are ok with aborting through setjmp which is set up in start_bunzip */ +@@ -187,7 +187,7 @@ static int get_next_block(bunzip_data *bd) + it didn't actually work. */ + if (get_bits(bd, 1)) return RETVAL_OBSOLETE_INPUT; + origPtr = get_bits(bd, 24); +- if ((int)origPtr > dbufSize) return RETVAL_DATA_ERROR; ++ if (origPtr > bd->dbufSize) return RETVAL_DATA_ERROR; + + /* mapping table: if some byte values are never used (encoding things + like ascii text), the compression code removes the gaps to have fewer +@@ -435,7 +435,14 @@ static int get_next_block(bunzip_data *bd) + symbols, but a run of length 0 doesn't mean anything in this + context). Thus space is saved. */ + runCnt += (runPos << nextSym); /* +runPos if RUNA; +2*runPos if RUNB */ +- if (runPos < dbufSize) runPos <<= 1; ++//The 32-bit overflow of runCnt wasn't yet seen, but probably can happen. ++//This would be the fix (catches too large count way before it can overflow): ++// if (runCnt > bd->dbufSize) { ++// dbg("runCnt:%u > dbufSize:%u RETVAL_DATA_ERROR", ++// runCnt, bd->dbufSize); ++// return RETVAL_DATA_ERROR; ++// } ++ if (runPos < bd->dbufSize) runPos <<= 1; + goto end_of_huffman_loop; + } + +@@ -445,14 +452,15 @@ static int get_next_block(bunzip_data *bd) + literal used is the one at the head of the mtfSymbol array.) */ + if (runPos != 0) { + uint8_t tmp_byte; +- if (dbufCount + runCnt > dbufSize) { +- dbg("dbufCount:%d+runCnt:%d %d > dbufSize:%d RETVAL_DATA_ERROR", +- dbufCount, runCnt, dbufCount + runCnt, dbufSize); ++ if (dbufCount + runCnt > bd->dbufSize) { ++ dbg("dbufCount:%u+runCnt:%u %u > dbufSize:%u RETVAL_DATA_ERROR", ++ dbufCount, runCnt, dbufCount + runCnt, bd->dbufSize); + return RETVAL_DATA_ERROR; + } + tmp_byte = symToByte[mtfSymbol[0]]; + byteCount[tmp_byte] += runCnt; +- while (--runCnt >= 0) dbuf[dbufCount++] = (uint32_t)tmp_byte; ++ while ((int)--runCnt >= 0) ++ dbuf[dbufCount++] = (uint32_t)tmp_byte; + runPos = 0; + } + +@@ -466,7 +474,7 @@ static int get_next_block(bunzip_data *bd) + first symbol in the mtf array, position 0, would have been handled + as part of a run above. Therefore 1 unused mtf position minus + 2 non-literal nextSym values equals -1.) */ +- if (dbufCount >= dbufSize) return RETVAL_DATA_ERROR; ++ if (dbufCount >= bd->dbufSize) return RETVAL_DATA_ERROR; + i = nextSym - 1; + uc = mtfSymbol[i]; + +-- +2.15.1 + diff --git a/package/busybox/0007-unlzma-fix-SEGV-closes-10436.patch b/package/busybox/0007-unlzma-fix-SEGV-closes-10436.patch new file mode 100644 index 0000000000..c8d875010e --- /dev/null +++ b/package/busybox/0007-unlzma-fix-SEGV-closes-10436.patch @@ -0,0 +1,34 @@ +From 9ac42c500586fa5f10a1f6d22c3f797df11b1f6b Mon Sep 17 00:00:00 2001 +From: Denys Vlasenko +Date: Fri, 27 Oct 2017 15:37:03 +0200 +Subject: [PATCH] unlzma: fix SEGV, closes 10436 + +Signed-off-by: Denys Vlasenko +Signed-off-by: Baruch Siach +--- +Patch status: upstream commit 9ac42c500586f + + archival/libarchive/decompress_unlzma.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/archival/libarchive/decompress_unlzma.c b/archival/libarchive/decompress_unlzma.c +index a9040877efa0..be4342414435 100644 +--- a/archival/libarchive/decompress_unlzma.c ++++ b/archival/libarchive/decompress_unlzma.c +@@ -450,8 +450,12 @@ unpack_lzma_stream(transformer_state_t *xstate) + IF_NOT_FEATURE_LZMA_FAST(string:) + do { + uint32_t pos = buffer_pos - rep0; +- if ((int32_t)pos < 0) ++ if ((int32_t)pos < 0) { + pos += header.dict_size; ++ /* bug 10436 has an example file where this triggers: */ ++ if ((int32_t)pos < 0) ++ goto bad; ++ } + previous_byte = buffer[pos]; + IF_NOT_FEATURE_LZMA_FAST(one_byte2:) + buffer[buffer_pos++] = previous_byte; +-- +2.15.1 + diff --git a/package/busybox/S01logging b/package/busybox/S01logging index 4632a4cc99..fcb3e7d236 100644 --- a/package/busybox/S01logging +++ b/package/busybox/S01logging @@ -33,7 +33,7 @@ case "$1" in start ;; *) - echo "Usage: $0 {start|stop|restart}" + echo "Usage: $0 {start|stop|restart|reload}" exit 1 esac diff --git a/package/busybox/S10mdev b/package/busybox/S10mdev index 63ca955b1c..7075b77016 100644 --- a/package/busybox/S10mdev +++ b/package/busybox/S10mdev @@ -9,7 +9,8 @@ case "$1" in echo /sbin/mdev >/proc/sys/kernel/hotplug /sbin/mdev -s # coldplug modules - find /sys/ -name modalias -print0 | xargs -0 sort -u -z | xargs -0 modprobe -abq + find /sys/ -name modalias -print0 | xargs -0 sort -u | tr '\n' '\0' | \ + xargs -0 modprobe -abq ;; stop) ;; diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 1aeeeef4bf..f17c20bf54 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -65,7 +65,7 @@ define BUSYBOX_PERMISSIONS # Set permissions on all applets with BB_SUID_REQUIRE and BB_SUID_MAYBE. # 12 Applets are pulled from applets.h using grep command : # grep -r -e "APPLET.*BB_SUID_REQUIRE\|APPLET.*BB_SUID_MAYBE" \ -# $(@D)/include/applets.h +# $(@D)/include/applets.h # These applets are added to the device table and the makedev file # ignores the files with type 'F' ( optional files). /usr/bin/wall F 4755 0 0 - - - - - @@ -221,7 +221,7 @@ define BUSYBOX_INSTALL_LOGGING_SCRIPT if grep -q CONFIG_SYSLOGD=y $(@D)/.config; then \ $(INSTALL) -m 0755 -D package/busybox/S01logging \ $(TARGET_DIR)/etc/init.d/S01logging; \ - else rm -f $(TARGET_DIR)/etc/init.d/S01logging; fi + fi endef ifeq ($(BR2_INIT_BUSYBOX),y) @@ -248,6 +248,10 @@ define BUSYBOX_LINUX_PAM $(call KCONFIG_ENABLE_OPT,CONFIG_PAM,$(BUSYBOX_BUILD_CONFIG)) endef BUSYBOX_DEPENDENCIES += linux-pam +else +define BUSYBOX_LINUX_PAM + $(call KCONFIG_DISABLE_OPT,CONFIG_PAM,$(BUSYBOX_BUILD_CONFIG)) +endef endif # Telnet support diff --git a/package/busybox/inittab b/package/busybox/inittab index 3f49f6bd7a..ff1725c775 100644 --- a/package/busybox/inittab +++ b/package/busybox/inittab @@ -16,9 +16,13 @@ # Startup the system ::sysinit:/bin/mount -t proc proc /proc ::sysinit:/bin/mount -o remount,rw / -::sysinit:/bin/mkdir -p /dev/pts -::sysinit:/bin/mkdir -p /dev/shm +::sysinit:/bin/mkdir -p /dev/pts /dev/shm ::sysinit:/bin/mount -a +::sysinit:/sbin/swapon -a +null::sysinit:/bin/ln -sf /proc/self/fd /dev/fd +null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin +null::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout +null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr ::sysinit:/bin/hostname -F /etc/hostname # now run any rc scripts ::sysinit:/etc/init.d/rcS diff --git a/package/bzip2/Config.in b/package/bzip2/Config.in index dbc82496df..ca447bbb2d 100644 --- a/package/bzip2/Config.in +++ b/package/bzip2/Config.in @@ -5,5 +5,3 @@ 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. - - http://www.bzip.org diff --git a/package/bzip2/bzip2.mk b/package/bzip2/bzip2.mk index e43533072b..a3af322993 100644 --- a/package/bzip2/bzip2.mk +++ b/package/bzip2/bzip2.mk @@ -5,7 +5,7 @@ ################################################################################ BZIP2_VERSION = 1.0.6 -BZIP2_SITE = http://www.bzip.org/$(BZIP2_VERSION) +BZIP2_SITE = http://sources.buildroot.net BZIP2_INSTALL_STAGING = YES BZIP2_LICENSE = bzip2 license BZIP2_LICENSE_FILES = LICENSE diff --git a/package/c-ares/c-ares.hash b/package/c-ares/c-ares.hash index 79928ae843..832c4dfcfb 100644 --- a/package/c-ares/c-ares.hash +++ b/package/c-ares/c-ares.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 03f708f1b14a26ab26c38abd51137640cb444d3ec72380b21b20f1a8d2861da7 c-ares-1.13.0.tar.gz +sha256 45d3c1fd29263ceec2afc8ff9cd06d5f8f889636eb4e80ce3cc7f0eaf7aadc6e c-ares-1.14.0.tar.gz diff --git a/package/c-ares/c-ares.mk b/package/c-ares/c-ares.mk index 72019a0425..67254244a1 100644 --- a/package/c-ares/c-ares.mk +++ b/package/c-ares/c-ares.mk @@ -4,7 +4,7 @@ # ################################################################################ -C_ARES_VERSION = 1.13.0 +C_ARES_VERSION = 1.14.0 C_ARES_SITE = http://c-ares.haxx.se/download C_ARES_INSTALL_STAGING = YES C_ARES_CONF_OPTS = --with-random=/dev/urandom diff --git a/package/ca-certificates/ca-certificates.hash b/package/ca-certificates/ca-certificates.hash index ecedba4f63..00296e2a8c 100644 --- a/package/ca-certificates/ca-certificates.hash +++ b/package/ca-certificates/ca-certificates.hash @@ -1,3 +1,3 @@ # hashes from: $(CA_CERTIFICATES_SITE)/ca-certificates_$(CA_CERTIFICATES_VERSION).dsc : -sha1 b190ca8849697e842e69401b28d4ee27130d8c4d ca-certificates_20161130.tar.xz -sha256 04bca9e142a90a834aca0311f7ced237368d71fee7bd5c9f68ef7f4611aee471 ca-certificates_20161130.tar.xz +sha1 4c093ceee1f1428d5aa7e9a5324b92961c0c0f06 ca-certificates_20170717.tar.xz +sha256 e487639b641fa75445174734dd6e9d600373e3248b3d86a7e3c6d0f6977decd2 ca-certificates_20170717.tar.xz diff --git a/package/ca-certificates/ca-certificates.mk b/package/ca-certificates/ca-certificates.mk index f712e7988e..515a4f219b 100644 --- a/package/ca-certificates/ca-certificates.mk +++ b/package/ca-certificates/ca-certificates.mk @@ -4,9 +4,9 @@ # ################################################################################ -CA_CERTIFICATES_VERSION = 20161130 +CA_CERTIFICATES_VERSION = 20170717 CA_CERTIFICATES_SOURCE = ca-certificates_$(CA_CERTIFICATES_VERSION).tar.xz -CA_CERTIFICATES_SITE = http://snapshot.debian.org/archive/debian/20161205T153846Z/pool/main/c/ca-certificates +CA_CERTIFICATES_SITE = http://snapshot.debian.org/archive/debian/20170814T210836Z/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 @@ -16,7 +16,7 @@ CA_CERTIFICATES_LICENSE = GPL-2.0+ (script), MPL-2.0 (data) CA_CERTIFICATES_LICENSE_FILES = debian/copyright define CA_CERTIFICATES_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) all + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) clean all endef define CA_CERTIFICATES_INSTALL_TARGET_CMDS @@ -31,13 +31,17 @@ define CA_CERTIFICATES_INSTALL_TARGET_CMDS # Create symlinks to certificates under /etc/ssl/certs # and generate the bundle cd $(TARGET_DIR) ;\ - for i in `find usr/share/ca-certificates -name "*.crt"` ; do \ + for i in `find usr/share/ca-certificates -name "*.crt" | LC_COLLATE=C sort` ; do \ ln -sf ../../../$$i etc/ssl/certs/`basename $${i} .crt`.pem ;\ - cat $$i >>etc/ssl/certs/ca-certificates.crt ;\ - done + cat $$i ;\ + done >$(@D)/ca-certificates.crt # Create symlinks to the certificates by their hash values $(HOST_DIR)/bin/c_rehash $(TARGET_DIR)/etc/ssl/certs + + # Install the certificates bundle + $(INSTALL) -D -m 644 $(@D)/ca-certificates.crt \ + $(TARGET_DIR)/etc/ssl/certs/ca-certificates.crt endef $(eval $(generic-package)) diff --git a/package/cargo-bin/cargo-bin.hash b/package/cargo-bin/cargo-bin.hash new file mode 100644 index 0000000000..ea121547b4 --- /dev/null +++ b/package/cargo-bin/cargo-bin.hash @@ -0,0 +1,8 @@ +# From https://static.rust-lang.org/dist/cargo-0.24.0-i686-unknown-linux-gnu.tar.xz.sha256 +sha256 6ffc847e0ee2a1273223ce500f7b212d051e99a6d234e34585d0c55e21a963ea cargo-0.24.0-i686-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/cargo-0.24.0-x86_64-unknown-linux-gnu.tar.xz.sha256 +sha256 93b953c8c7a2088aef952de8dccd7f6ccf9b21bf94b735d3909961ffe831da8c cargo-0.24.0-x86_64-unknown-linux-gnu.tar.xz +# Locally generated +sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2 LICENSE-APACHE +sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT +sha256 8bd89f9222dc80292f4107347103b693ac66f3a083371f0629ccf42338abe880 LICENSE-THIRD-PARTY diff --git a/package/cargo-bin/cargo-bin.mk b/package/cargo-bin/cargo-bin.mk new file mode 100644 index 0000000000..3c834d9033 --- /dev/null +++ b/package/cargo-bin/cargo-bin.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# cargo-bin +# +################################################################################ + +CARGO_BIN_VERSION = 0.24.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 +CARGO_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT + +$(eval $(host-generic-package)) diff --git a/package/cargo/Config.in.host b/package/cargo/Config.in.host new file mode 100644 index 0000000000..0f1ca305c6 --- /dev/null +++ b/package/cargo/Config.in.host @@ -0,0 +1,8 @@ +config BR2_PACKAGE_HOST_CARGO + bool "host cargo" + depends on BR2_PACKAGE_HAS_HOST_RUSTC + help + Cargo is the package manager for the Rust programming + language. + + https://crates.io/ diff --git a/package/cargo/cargo.hash b/package/cargo/cargo.hash new file mode 100644 index 0000000000..2a24e2e175 --- /dev/null +++ b/package/cargo/cargo.hash @@ -0,0 +1,8 @@ +# Locally generated +sha256 a9d4291254a1d622d3c3cb942aaa56ab4059b8d04915c3af234f0362f14722e8 cargo-0.24.0.tar.gz +sha256 dc7240d60a869fa24a68c8734fb7c810c27cca0a6dad52df6279865e4e8e7fae rust-installer-4f994850808a572e2cc8d43f968893c8e942e9bf.tar.gz +sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2 LICENSE-APACHE +sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT +sha256 8bd89f9222dc80292f4107347103b693ac66f3a083371f0629ccf42338abe880 LICENSE-THIRD-PARTY +# From https://src.fedoraproject.org/repo/pkgs/cargo/cargo-0.24.0-vendor.tar.xz/sha512 +sha512 60c12ce49a53cf986490f5a5fdf606f0374677902edfdc4d48ab1ba6094f3f23efc59626cd3776649c9386a9cab2a60332e5693aad6acbcbb92132efdcf9fe21 cargo-0.24.0-vendor.tar.xz diff --git a/package/cargo/cargo.mk b/package/cargo/cargo.mk new file mode 100644 index 0000000000..3fd088d727 --- /dev/null +++ b/package/cargo/cargo.mk @@ -0,0 +1,91 @@ +################################################################################ +# +# cargo +# +################################################################################ + +CARGO_VERSION = 0.24.0 +CARGO_SITE = $(call github,rust-lang,cargo,$(CARGO_VERSION)) +CARGO_LICENSE = Apache-2.0 or MIT +CARGO_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT + +CARGO_DEPS_SHA512 = 60c12ce49a53cf986490f5a5fdf606f0374677902edfdc4d48ab1ba6094f3f23efc59626cd3776649c9386a9cab2a60332e5693aad6acbcbb92132efdcf9fe21 +CARGO_DEPS_SITE = https://src.fedoraproject.org/repo/pkgs/cargo/$(CARGO_DEPS_SOURCE)/sha512/$(CARGO_DEPS_SHA512) +CARGO_DEPS_SOURCE = cargo-$(CARGO_VERSION)-vendor.tar.xz + +CARGO_INSTALLER_VERSION = 4f994850808a572e2cc8d43f968893c8e942e9bf +CARGO_INSTALLER_SITE = $(call github,rust-lang,rust-installer,$(CARGO_INSTALLER_VERSION)) +CARGO_INSTALLER_SOURCE = rust-installer-$(CARGO_INSTALLER_VERSION).tar.gz + +HOST_CARGO_EXTRA_DOWNLOADS = \ + $(CARGO_DEPS_SITE)/$(CARGO_DEPS_SOURCE) \ + $(CARGO_INSTALLER_SITE)/$(CARGO_INSTALLER_SOURCE) + +HOST_CARGO_DEPENDENCIES = \ + $(BR2_CMAKE_HOST_DEPENDENCY) \ + host-pkgconf \ + host-openssl \ + host-libhttpparser \ + host-libssh2 \ + host-libcurl \ + host-rustc \ + host-cargo-bin + +HOST_CARGO_SNAP_BIN = $(HOST_CARGO_BIN_DIR)/cargo/bin/cargo +HOST_CARGO_HOME = $(HOST_DIR)/share/cargo + +define HOST_CARGO_EXTRACT_DEPS + @mkdir -p $(@D)/vendor + $(call suitable-extractor,$(CARGO_DEPS_SOURCE)) \ + $(DL_DIR)/$(CARGO_DEPS_SOURCE) | \ + $(TAR) --strip-components=1 -C $(@D)/vendor $(TAR_OPTIONS) - +endef + +HOST_CARGO_POST_EXTRACT_HOOKS += HOST_CARGO_EXTRACT_DEPS + +define HOST_CARGO_EXTRACT_INSTALLER + @mkdir -p $(@D)/src/rust-installer + $(call suitable-extractor,$(CARGO_INSTALLER_SOURCE)) \ + $(DL_DIR)/$(CARGO_INSTALLER_SOURCE) | \ + $(TAR) --strip-components=1 -C $(@D)/src/rust-installer $(TAR_OPTIONS) - +endef + +HOST_CARGO_POST_EXTRACT_HOOKS += HOST_CARGO_EXTRACT_INSTALLER + +define HOST_CARGO_SETUP_DEPS + mkdir -p $(@D)/.cargo + ( \ + echo "[source.crates-io]"; \ + echo "registry = 'https://github.com/rust-lang/crates.io-index'"; \ + echo "replace-with = 'vendored-sources'"; \ + echo "[source.vendored-sources]"; \ + echo "directory = '$(@D)/vendor'"; \ + ) > $(@D)/.cargo/config +endef + +HOST_CARGO_PRE_CONFIGURE_HOOKS += HOST_CARGO_SETUP_DEPS + +HOST_CARGO_SNAP_OPTS = \ + --release \ + $(if $(VERBOSE),--verbose) + +HOST_CARGO_ENV = \ + RUSTFLAGS="-Clink-arg=-Wl,-rpath,$(HOST_DIR)/lib" \ + CARGO_HOME=$(HOST_CARGO_HOME) + +define HOST_CARGO_BUILD_CMDS + (cd $(@D); $(HOST_MAKE_ENV) $(HOST_CARGO_ENV) $(HOST_CARGO_SNAP_BIN) \ + build $(HOST_CARGO_SNAP_OPTS)) +endef + +define HOST_CARGO_INSTALL_CMDS + $(INSTALL) -D -m 0755 $(@D)/target/release/cargo $(HOST_DIR)/bin/cargo + $(INSTALL) -D package/cargo/config.in \ + $(HOST_DIR)/share/cargo/config + $(SED) 's/@RUSTC_TARGET_NAME@/$(RUSTC_TARGET_NAME)/' \ + $(HOST_DIR)/share/cargo/config + $(SED) 's/@CROSS_PREFIX@/$(notdir $(TARGET_CROSS))/' \ + $(HOST_DIR)/share/cargo/config +endef + +$(eval $(host-generic-package)) diff --git a/package/cargo/config.in b/package/cargo/config.in new file mode 100644 index 0000000000..47fad026be --- /dev/null +++ b/package/cargo/config.in @@ -0,0 +1,2 @@ +[target.@RUSTC_TARGET_NAME@] +linker = "@CROSS_PREFIX@gcc" diff --git a/package/ccache/ccache.hash b/package/ccache/ccache.hash index 5354572638..c22394b13b 100644 --- a/package/ccache/ccache.hash +++ b/package/ccache/ccache.hash @@ -1,2 +1,3 @@ # Verified key https://samba.org/ftp/ccache/ccache-3.3.4.tar.xz.asc - sha256 computed locally sha256 24f15bf389e38c41548c9c259532187774ec0cb9686c3497bbb75504c8dc404f ccache-3.3.4.tar.xz +sha256 190576a6e938760ec8113523e6fd380141117303e90766cc4802e770422b30c6 ccache-3.3.5.tar.xz diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk index afbec44fac..552a611f42 100644 --- a/package/ccache/ccache.mk +++ b/package/ccache/ccache.mk @@ -4,7 +4,7 @@ # ################################################################################ -CCACHE_VERSION = 3.3.4 +CCACHE_VERSION = 3.3.5 CCACHE_SITE = https://www.samba.org/ftp/ccache CCACHE_SOURCE = ccache-$(CCACHE_VERSION).tar.xz CCACHE_LICENSE = GPL-3.0+, others diff --git a/package/checkpolicy/checkpolicy.mk b/package/checkpolicy/checkpolicy.mk index c1fb43da4d..52f816098d 100644 --- a/package/checkpolicy/checkpolicy.mk +++ b/package/checkpolicy/checkpolicy.mk @@ -11,22 +11,22 @@ CHECKPOLICY_LICENSE_FILES = COPYING CHECKPOLICY_DEPENDENCIES = libselinux flex host-flex host-bison -TARGET_CHECKPOLICY_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) \ +CHECKPOLICY_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) \ LEX="$(HOST_DIR)/bin/flex" \ YACC="$(HOST_DIR)/bin/bison -y" # DESTDIR is used at build time to find libselinux define CHECKPOLICY_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CHECKPOLICY_MAKE_OPTS) DESTDIR=$(STAGING_DIR) + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(CHECKPOLICY_MAKE_OPTS) DESTDIR=$(STAGING_DIR) endef define CHECKPOLICY_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CHECKPOLICY_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(CHECKPOLICY_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install endef define CHECKPOLICY_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CHECKPOLICY_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(CHECKPOLICY_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install endef HOST_CHECKPOLICY_DEPENDENCIES = host-libselinux host-flex host-bison diff --git a/package/chrony/0002-util-fall-back-to-reading-dev-urandom-when-getrandom.patch b/package/chrony/0002-util-fall-back-to-reading-dev-urandom-when-getrandom.patch new file mode 100644 index 0000000000..d71685e5cd --- /dev/null +++ b/package/chrony/0002-util-fall-back-to-reading-dev-urandom-when-getrandom.patch @@ -0,0 +1,42 @@ +From 7c5bd948bb7e21fa0ee22f29e97748b2d0360319 Mon Sep 17 00:00:00 2001 +From: Miroslav Lichvar +Date: Thu, 17 May 2018 14:16:58 +0200 +Subject: [PATCH] util: fall back to reading /dev/urandom when getrandom() + blocks + +With recent changes in the Linux kernel, the getrandom() system call may +block for a long time after boot on machines that don't have enough +entropy. It blocks the chronyd's initialization before it can detach +from the terminal and may cause a chronyd service to fail to start due +to a timeout. + +At least for now, enable the GRND_NONBLOCK flag to make the system call +non-blocking and let the code fall back to reading /dev/urandom (which +never blocks) if the system call failed with EAGAIN or any other error. + +This makes the start of chronyd non-deterministic with respect to files +that it needs to open and possibly also makes it slightly easier to +guess the transmit/receive timestamp in client requests until the +urandom source is fully initialized. + +Signed-off-by: Peter Korsgaard +--- + util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util.c b/util.c +index 4b3e455..76417d5 100644 +--- a/util.c ++++ b/util.c +@@ -1224,7 +1224,7 @@ get_random_bytes_getrandom(char *buf, unsigned int len) + if (disabled) + break; + +- if (getrandom(rand_buf, sizeof (rand_buf), 0) != sizeof (rand_buf)) { ++ if (getrandom(rand_buf, sizeof (rand_buf), GRND_NONBLOCK) != sizeof (rand_buf)) { + disabled = 1; + break; + } +-- +2.11.0 + diff --git a/package/cifs-utils/cifs-utils.mk b/package/cifs-utils/cifs-utils.mk index 9044fdf83c..e0efb3bf2e 100644 --- a/package/cifs-utils/cifs-utils.mk +++ b/package/cifs-utils/cifs-utils.mk @@ -13,9 +13,9 @@ CIFS_UTILS_LICENSE_FILES = COPYING CIFS_UTILS_AUTORECONF = YES CIFS_UTILS_DEPENDENCIES = host-pkgconf -ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),) -CIFS_UTILS_CONF_OPTS += --disable-pie -endif +# Let's disable PIE unconditionally. We want PIE to be enabled only by +# the global BR2_RELRO_FULL option. +CIFS_UTILS_CONF_OPTS = --disable-pie --disable-man ifeq ($(BR2_PACKAGE_KEYUTILS),y) CIFS_UTILS_DEPENDENCIES += keyutils diff --git a/package/circus/circus.hash b/package/circus/circus.hash index 728cad5239..877ae21c0e 100644 --- a/package/circus/circus.hash +++ b/package/circus/circus.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/circus/json, sha256 locally computed -md5 cddd4a8844907d8b6b402ca9c713d176 circus-0.13.0.tar.gz -sha256 6201800a5fb05144b5e6c5ac9eb901b914305e8beaeb01f8edf54ab6ab1a295a circus-0.13.0.tar.gz +md5 48e6b220fb0cafca46e3ae1f6ec4bce8 circus-0.14.0.tar.gz +sha256 b8ca91d8bd87b350fda199488ac9ddff91a546b0c6214a28a2f13393713cf062 circus-0.14.0.tar.gz +sha256 3df739c05a4eed7efdf4987142658d2a4f1243e5f08e72a5ecedac5749c92a49 LICENSE diff --git a/package/circus/circus.mk b/package/circus/circus.mk index 35051c4734..8b863aa656 100644 --- a/package/circus/circus.mk +++ b/package/circus/circus.mk @@ -4,8 +4,8 @@ # ################################################################################ -CIRCUS_VERSION = 0.13.0 -CIRCUS_SITE = https://pypi.python.org/packages/source/c/circus +CIRCUS_VERSION = 0.14.0 +CIRCUS_SITE = https://pypi.python.org/packages/68/41/02c6f5edea2df80b133a12753aee3e698e9130a5c878a9b0bffcf1e17e65 CIRCUS_SETUP_TYPE = setuptools CIRCUS_LICENSE = Apache-2.0 CIRCUS_LICENSE_FILES = LICENSE diff --git a/package/cjson/cjson.hash b/package/cjson/cjson.hash index e71b257006..ea2ecbb7e9 100644 --- a/package/cjson/cjson.hash +++ b/package/cjson/cjson.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 3d6277179282b00af232d9f97c9e0049ff212636d2a84791b03439c81d1f7b1e cjson-v1.6.0.tar.gz +sha256 28ef8c069db19010b9af247b86b05f0f879ac914a4620997c3e5181465170b40 cjson-v1.7.1.tar.gz +sha256 a36dda207c36db5818729c54e7ad4e8b0c6fba847491ba64f372c1a2037b6d5c LICENSE diff --git a/package/cjson/cjson.mk b/package/cjson/cjson.mk index f3ef7fd2ac..88a33a2ce4 100644 --- a/package/cjson/cjson.mk +++ b/package/cjson/cjson.mk @@ -4,7 +4,7 @@ # ################################################################################ -CJSON_VERSION = v1.6.0 +CJSON_VERSION = v1.7.1 CJSON_SITE = $(call github,DaveGamble,cjson,$(CJSON_VERSION)) CJSON_INSTALL_STAGING = YES CJSON_LICENSE = MIT @@ -15,4 +15,13 @@ CJSON_CONF_OPTS += \ -DENABLE_CJSON_TEST=OFF \ -DENABLE_CUSTOM_COMPILER_FLAGS=OFF +# If BUILD_SHARED_AND_STATIC_LIBS is set to OFF, cjson uses the +# standard BUILD_SHARED_LIBS option which is passed by the +# cmake-package infrastructure. +ifeq ($(BR2_SHARED_STATIC_LIBS),y) +CJSON_CONF_OPTS += -DBUILD_SHARED_AND_STATIC_LIBS=ON +else +CJSON_CONF_OPTS += -DBUILD_SHARED_AND_STATIC_LIBS=OFF +endif + $(eval $(cmake-package)) diff --git a/package/clamav/0001-clamdscan-proto.c-fix-build-error-due-to-missing-soc.patch b/package/clamav/0001-clamdscan-proto.c-fix-build-error-due-to-missing-soc.patch new file mode 100644 index 0000000000..daac677eaa --- /dev/null +++ b/package/clamav/0001-clamdscan-proto.c-fix-build-error-due-to-missing-soc.patch @@ -0,0 +1,34 @@ +From 52fda6e6689e22866a39ec4273713fb6035c38b2 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Mon, 7 May 2018 23:14:46 +0200 +Subject: [PATCH] clamdscan/proto.c: fix build error due to missing sockaddr_un + definition +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +proto.c: In function ‘dconnect’: +proto.c:86:67: error: invalid application of ‘sizeof’ to incomplete type ‘struct sockaddr_un’ + if (connect(sockd, (struct sockaddr *)&nixsock, sizeof(nixsock)) == 0) + +Signed-off-by: Bernd Kuhls +Upstream-status: http://lurker.clamav.net/message/20140928.130829.5494fd68.en.html +--- + clamdscan/proto.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/clamdscan/proto.c b/clamdscan/proto.c +index 0205f6da0..d3396732f 100644 +--- a/clamdscan/proto.c ++++ b/clamdscan/proto.c +@@ -42,6 +42,7 @@ + #include + #include + #include ++#include + #ifdef HAVE_SYS_SELECT_H + #include + #endif +-- +2.14.3 + diff --git a/package/clamav/0001-clamdscan.patch b/package/clamav/0001-clamdscan.patch deleted file mode 100644 index c395ae1600..0000000000 --- a/package/clamav/0001-clamdscan.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fixes build error - -proto.c: In function ‘dconnect’: -proto.c:86:67: error: invalid application of ‘sizeof’ to incomplete type ‘struct sockaddr_un’ - if (connect(sockd, (struct sockaddr *)&nixsock, sizeof(nixsock)) == 0) - -Patch sent upstream: http://lurker.clamav.net/message/20140928.130829.5494fd68.en.html - -Signed-off-by: Bernd Kuhls - -diff -uNr clamav-0.98.3.org/clamdscan/proto.c clamav-0.98.3/clamdscan/proto.c ---- clamav-0.98.3.org/clamdscan/proto.c 2014-05-06 20:39:56.000000000 +0200 -+++ clamav-0.98.3/clamdscan/proto.c 2014-05-10 10:41:44.000000000 +0200 -@@ -35,6 +35,7 @@ - #include - #include - #include -+#include - #ifdef HAVE_SYS_SELECT_H - #include - #endif diff --git a/package/clamav/0002-backtrace-uClibc.patch b/package/clamav/0002-mbox-do-not-use-backtrace-if-using-uClibc-without-ba.patch similarity index 53% rename from package/clamav/0002-backtrace-uClibc.patch rename to package/clamav/0002-mbox-do-not-use-backtrace-if-using-uClibc-without-ba.patch index 82ad67307d..e99a9742ec 100644 --- a/package/clamav/0002-backtrace-uClibc.patch +++ b/package/clamav/0002-mbox-do-not-use-backtrace-if-using-uClibc-without-ba.patch @@ -1,4 +1,8 @@ -mbox: do not use backtrace if using uClibc without backtrace support +From 053bac34b9f0f947c58fcdf80ac03d5a6b05aa12 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Mon, 7 May 2018 23:15:58 +0200 +Subject: [PATCH] mbox: do not use backtrace if using uClibc without backtrace + support Since uClibc can be configured without support for backtrace, disable the backtrace if we are building with a uClibc that was built without @@ -8,10 +12,15 @@ This is a bit hacky, and would greatly benefit from a test in ./configure instead, but does nicely as a quick fix for now. Signed-off-by: "Yann E. MORIN" -diff -durN clamav-0.98.4.orig/libclamav/mbox.c clamav-0.98.4/libclamav/mbox.c ---- clamav-0.98.4.orig/libclamav/mbox.c 2014-05-21 17:25:05.000000000 +0200 -+++ clamav-0.98.4/libclamav/mbox.c 2014-11-16 17:21:04.885383286 +0100 -@@ -83,7 +83,7 @@ +--- + libclamav/mbox.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libclamav/mbox.c b/libclamav/mbox.c +index 71f540c0a..4851297a9 100644 +--- a/libclamav/mbox.c ++++ b/libclamav/mbox.c +@@ -98,7 +98,7 @@ #include #endif @@ -20,3 +29,6 @@ diff -durN clamav-0.98.4.orig/libclamav/mbox.c clamav-0.98.4/libclamav/mbox.c #define HAVE_BACKTRACE #endif #endif +-- +2.14.3 + diff --git a/package/clamav/0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch b/package/clamav/0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch new file mode 100644 index 0000000000..1d26b099b9 --- /dev/null +++ b/package/clamav/0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch @@ -0,0 +1,75 @@ +From 6b6ff53b5931c162be13504a1efc53fc5212f9d1 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 7 May 2018 22:57:34 +0200 +Subject: [PATCH] m4/reorganization/libs/curl.m4: fix curl-config detection + logic + +The current logic in curl.m4 doesn't behave properly when +--without-libcurl is passed to the ./configure script. + +Indeed, in this case what happens is that: + + (1) Since --without-libcurl is passed, LIBCURL_HOME is set to nothing + + (2) find_curl is set to "no" + + (3) Due to find_curl being "no", LIBCURL_HOME is not set to + /usr/local and remains empty + + (4) We test if $LIBCURL_HOME/bin/curl_config exists, which is + equivalent to testing if /bin/curl-config exists. So curl.m4 is + looking at /bin/curl-config, which is irrelevant in a + cross-compilation context: it is not because the build machine + has libcurl installed that it is available for the target. + + Due to this mistake, it sets have_curl="yes" + +Due to this, the ./configure script assumes it can build the +clamsubmit program, which fails at build time because curl/curl.h +doesn't exist. + +To fix this, this commit rewrites the curl-config detection logic with +a simpler loop. If find_curl=yes, it means we have to find libcurl +ourselves, so we iterate over /usr/local and /usr, and check if a +bin/curl-config binary is available there. If so, we use this path as +LIBCURL_HOME and set have_curl="yes". + +This preserves the existing behavior, while fixing the situation where +--without-libcurl is passed, but /bin/curl-config exists. + +Signed-off-by: Thomas Petazzoni +Upstream-status: https://github.com/Cisco-Talos/clamav-devel/pull/87 +--- + m4/reorganization/libs/curl.m4 | 15 +++++---------- + 1 file changed, 5 insertions(+), 10 deletions(-) + +diff --git a/m4/reorganization/libs/curl.m4 b/m4/reorganization/libs/curl.m4 +index 2a5966ee7..b6a9c2137 100644 +--- a/m4/reorganization/libs/curl.m4 ++++ b/m4/reorganization/libs/curl.m4 +@@ -19,17 +19,12 @@ fi + [find_curl="yes"]) + + if test "X$find_curl" = "Xyes"; then +- LIBCURL_HOME=/usr/local +-fi +-if test -f "$LIBCURL_HOME/bin/curl-config"; then +- have_curl="yes" +-else +- if test "X$find_curl" = "Xyes"; then +- LIBCURL_HOME=/usr +- if test -f "$LIBCURL_HOME/bin/curl-config"; then +- have_curl="yes" ++ for p in /usr/local /usr ; do ++ if test -f "${p}/bin/curl-config"; then ++ LIBCURL_HOME=$p ++ have_curl="yes" + fi +- fi ++ done + fi + + if test "X$have_curl" = "Xyes"; then +-- +2.14.3 + diff --git a/package/clamav/clamav.hash b/package/clamav/clamav.hash index d2a1a1299e..390251fc24 100644 --- a/package/clamav/clamav.hash +++ b/package/clamav/clamav.hash @@ -1,2 +1,14 @@ # Locally calculated -sha256 167bd6a13e05ece326b968fdb539b05c2ffcfef6018a274a10aeda85c2c0027a clamav-0.99.2.tar.gz +sha256 4a2e4f0cd41e62adb5a713b4a1857c49145cd09a69957e6d946ecad575206dd6 clamav-0.100.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 diff --git a/package/clamav/clamav.mk b/package/clamav/clamav.mk index 5429abb989..50990abad6 100644 --- a/package/clamav/clamav.mk +++ b/package/clamav/clamav.mk @@ -4,7 +4,7 @@ # ################################################################################ -CLAMAV_VERSION = 0.99.2 +CLAMAV_VERSION = 0.100.2 CLAMAV_SITE = https://www.clamav.net/downloads/production CLAMAV_LICENSE = GPL-2.0 CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \ @@ -16,6 +16,8 @@ CLAMAV_DEPENDENCIES = \ openssl \ zlib \ $(TARGET_NLS_DEPENDENCIES) +# 0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch +CLAMAV_AUTORECONF = YES # mmap cannot be detected when cross-compiling, needed for mempool support CLAMAV_CONF_ENV = \ diff --git a/package/collectd/collectd.hash b/package/collectd/collectd.hash index be2f646c9c..cf7e0b83f9 100644 --- a/package/collectd/collectd.hash +++ b/package/collectd/collectd.hash @@ -1,2 +1,6 @@ # From https://collectd.org/files/SHA256SUM sha256 7edd3643c0842215553b2421d5456f4e9a8a58b07e216b40a7e8e91026d8e501 collectd-5.7.1.tar.bz2 + +# Hash for license files +sha256 ed0409b2b1c30566dab5fcdaf46ee70e140c99788e22f0267645a9357b476ae4 COPYING +sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa libltdl/COPYING.LIB diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk index 6c987b2e36..ef45f342ae 100644 --- a/package/collectd/collectd.mk +++ b/package/collectd/collectd.mk @@ -9,8 +9,8 @@ COLLECTD_SITE = http://collectd.org/files COLLECTD_SOURCE = collectd-$(COLLECTD_VERSION).tar.bz2 COLLECTD_CONF_ENV = ac_cv_lib_yajl_yajl_alloc=yes COLLECTD_INSTALL_STAGING = YES -COLLECTD_LICENSE = GPL-2.0, LGPL-2.1 -COLLECTD_LICENSE_FILES = COPYING +COLLECTD_LICENSE = MIT (daemon, plugins), GPL-2.0 (plugins), LGPL-2.1 (plugins) +COLLECTD_LICENSE_FILES = COPYING libltdl/COPYING.LIB # These require unmet dependencies, are fringe, pointless or deprecated COLLECTD_PLUGINS_DISABLE = \ diff --git a/package/connman/0001-tethering-Reorder-header-includes.patch b/package/connman/0001-tethering-Reorder-header-includes.patch new file mode 100644 index 0000000000..4955df1cdd --- /dev/null +++ b/package/connman/0001-tethering-Reorder-header-includes.patch @@ -0,0 +1,37 @@ +From bdfb3526466f8fb8f13d9259037d8f42c782ce24 Mon Sep 17 00:00:00 2001 +From: Daniel Wagner +Date: Wed, 17 Jan 2018 23:42:50 +0100 +Subject: [PATCH] tethering: Reorder header includes + +Avoid compile errors due to unsupported header include order with +newer kernels (>=4.15). We should import the libc header files first +and then the Linux header files in user space applications. + +Reported by Neil MacLeod . Fix probosal by Jonas +Bonn and Hauke Mehrtens . + +Signed-off-by: Martin Bark +--- + src/tethering.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tethering.c b/src/tethering.c +index c929ba7..4b20236 100644 +--- a/src/tethering.c ++++ b/src/tethering.c +@@ -31,11 +31,11 @@ + #include + #include + #include +-#include + #include + #include +-#include + #include ++#include ++#include + #include + + #include "connman.h" +-- +2.7.4 diff --git a/package/connman/Config.in b/package/connman/Config.in index 253c604e88..5177c939a4 100644 --- a/package/connman/Config.in +++ b/package/connman/Config.in @@ -14,7 +14,7 @@ config BR2_PACKAGE_CONNMAN for managing internet connections within embedded devices running the Linux operating system. - For more information, see https://01.org/connman + https://01.org/connman if BR2_PACKAGE_CONNMAN diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk index 6a8a31b061..8259f42f4a 100644 --- a/package/coreutils/coreutils.mk +++ b/package/coreutils/coreutils.mk @@ -56,8 +56,8 @@ COREUTILS_CONF_ENV = ac_cv_c_restrict=no \ INSTALL_PROGRAM=$(INSTALL) COREUTILS_BIN_PROGS = cat chgrp chmod chown cp date dd df dir echo false \ - ln ls mkdir mknod mv pwd rm rmdir vdir sleep stty sync touch true \ - uname join + kill link ln ls mkdir mknod mktemp mv nice printenv pwd rm rmdir \ + vdir sleep stty sync touch true uname join # If both coreutils and busybox are selected, make certain coreutils # wins the fight over who gets to have their utils actually installed. diff --git a/package/cppcms/cppcms.hash b/package/cppcms/cppcms.hash index 28e998c6c1..6bfc680ac0 100644 --- a/package/cppcms/cppcms.hash +++ b/package/cppcms/cppcms.hash @@ -3,3 +3,5 @@ sha1 15f21897c14acfd4b0c74622e49d95857f2fe939 cppcms-1.0.5.tar.bz2 md5 d668c201dd31fff8090380ebdc0bcc2b cppcms-1.0.5.tar.bz2 # Locally computed: sha256 84b685977bca97c3e997497f227bd5906adb80555066d811a7046b01c2f51865 cppcms-1.0.5.tar.bz2 +sha256 2ff22bab712c46dbadf9bae0f759bbc95d5d87614cacb7ebc3d5a50910603d6a COPYING.TXT +sha256 70fbf0194bee0f444c57ecd47e7d976a3e5a890e4421a21aab49f2d214267e69 THIRD_PARTY_SOFTWARE.TXT diff --git a/package/cppcms/cppcms.mk b/package/cppcms/cppcms.mk index f3ea2628ea..5fb6375d80 100644 --- a/package/cppcms/cppcms.mk +++ b/package/cppcms/cppcms.mk @@ -6,8 +6,8 @@ CPPCMS_VERSION = 1.0.5 CPPCMS_SOURCE = cppcms-$(CPPCMS_VERSION).tar.bz2 -CPPCMS_LICENSE = LGPL-3.0 -CPPCMS_LICENSE_FILES = COPYING.TXT +CPPCMS_LICENSE = LGPL-3.0, BSL-1.0 (boost), MIT (base64.cpp), Public Domain (json2.js), Zlib (md5) +CPPCMS_LICENSE_FILES = COPYING.TXT THIRD_PARTY_SOFTWARE.TXT CPPCMS_SITE = http://downloads.sourceforge.net/project/cppcms/cppcms/$(CPPCMS_VERSION) CPPCMS_INSTALL_STAGING = YES CPPCMS_CXXFLAGS = $(TARGET_CXXFLAGS) diff --git a/package/cramfs/0004-Include-sysmacros.h-to-compile-with-glibc-2.28.patch b/package/cramfs/0004-Include-sysmacros.h-to-compile-with-glibc-2.28.patch new file mode 100644 index 0000000000..6096cf3625 --- /dev/null +++ b/package/cramfs/0004-Include-sysmacros.h-to-compile-with-glibc-2.28.patch @@ -0,0 +1,33 @@ +Fix minor()/major() build failure due to glibc 2.28 + +glibc 2.28 no longer includes from , +and therefore must be included explicitly when +major()/minor() are used. + +This commit directly includes into cramfsck.c and +mkcramfs.c files where minor() and major() macros are used. + +Signed-off-by: Giulio Benetti +--- +diff -urpN host-cramfs-1.1.orig/cramfsck.c host-cramfs-1.1/cramfsck.c +--- host-cramfs-1.1.orig/cramfsck.c 2018-09-27 16:48:09.704782201 +0200 ++++ host-cramfs-1.1/cramfsck.c 2018-09-27 16:49:12.841138657 +0200 +@@ -38,6 +38,7 @@ + + #define _GNU_SOURCE + #include ++#include + #include + #include + #include +diff -urpN host-cramfs-1.1.orig/mkcramfs.c host-cramfs-1.1/mkcramfs.c +--- host-cramfs-1.1.orig/mkcramfs.c 2018-09-27 16:48:09.712782246 +0200 ++++ host-cramfs-1.1/mkcramfs.c 2018-09-27 16:48:59.777064921 +0200 +@@ -24,6 +24,7 @@ + + #define _GNU_SOURCE + #include ++#include + #include + #include + #include diff --git a/package/crda/Config.in b/package/crda/Config.in index b9a2613f04..469fa77f6f 100644 --- a/package/crda/Config.in +++ b/package/crda/Config.in @@ -15,7 +15,7 @@ config BR2_PACKAGE_CRDA query and apply the regulatory domain settings wireless devices may operate within for a given location. - http://linuxwireless.org/en/developers/Regulatory/CRDA + https://wireless.wiki.kernel.org/en/developers/regulatory/crda comment "crda needs a toolchain w/ threads, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/cryptsetup/0001-Remove-json_object-typedef.patch b/package/cryptsetup/0001-Remove-json_object-typedef.patch new file mode 100644 index 0000000000..fa865314a7 --- /dev/null +++ b/package/cryptsetup/0001-Remove-json_object-typedef.patch @@ -0,0 +1,46 @@ +From 567e7f8664c621f8aeaa95d9f4ab4b590574f572 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Wed, 15 Aug 2018 14:13:46 +0300 +Subject: [PATCH] Remove json_object typedef + +The json-c header already defines the same typedef. While C11 allows +typedef redefinition to the same type, older versions of gcc disallow +that. + +In file included from lib/luks2/luks2_internal.h:32, + from lib/luks2/luks2_disk_metadata.c:24: +lib/luks2/luks2.h:86: error: redefinition of typedef 'json_object' + +Signed-off-by: Baruch Siach +--- + lib/luks2/luks2.h | 1 - + lib/setup.c | 1 + + 2 files changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/luks2/luks2.h b/lib/luks2/luks2.h +index ee57b41ba974..25e36190da45 100644 +--- a/lib/luks2/luks2.h ++++ b/lib/luks2/luks2.h +@@ -83,7 +83,6 @@ struct luks2_hdr_disk { + /* + * LUKS2 header in-memory. + */ +-typedef struct json_object json_object; + struct luks2_hdr { + size_t hdr_size; + uint64_t seqid; +diff --git a/lib/setup.c b/lib/setup.c +index fddbe7ef7897..856f6e80f465 100644 +--- a/lib/setup.c ++++ b/lib/setup.c +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + + #include "libcryptsetup.h" + #include "luks.h" +-- +2.18.0 + diff --git a/package/cryptsetup/0001-mkdir.patch b/package/cryptsetup/0001-mkdir.patch deleted file mode 100644 index d4d70521ad..0000000000 --- a/package/cryptsetup/0001-mkdir.patch +++ /dev/null @@ -1,18 +0,0 @@ -$(mkdir_p) is obsolete for newer automake, use $(MKDIR_P) instead. -Upstream should really gettextize with a newer version before packing up. - -[base on a similar patch from Gustavo Zacarias for Linux-PAM-1.1.7] -Signed-off-by: Axel Lin - -diff -Nura cryptsetup-1.6.3.ori/po/Makefile.in.in cryptsetup-1.6.3/po/Makefile.in.in ---- cryptsetup-1.6.3.ori/po/Makefile.in.in 2013-12-30 11:53:22.731942516 +0800 -+++ cryptsetup-1.6.3/po/Makefile.in.in 2014-01-09 09:46:13.594071188 +0800 -@@ -31,7 +31,7 @@ - INSTALL = @INSTALL@ - INSTALL_DATA = @INSTALL_DATA@ - mkinstalldirs = $(SHELL) @install_sh@ -d --mkdir_p = @mkdir_p@ -+mkdir_p = @MKDIR_P@ - - GMSGFMT_ = @GMSGFMT@ - GMSGFMT_no = @GMSGFMT@ diff --git a/package/cryptsetup/Config.in b/package/cryptsetup/Config.in index d24f7b0af6..7322a4baf6 100644 --- a/package/cryptsetup/Config.in +++ b/package/cryptsetup/Config.in @@ -3,10 +3,12 @@ config BR2_PACKAGE_CRYPTSETUP depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2 depends on BR2_USE_MMU # lvm2 depends on !BR2_STATIC_LIBS # lvm2 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c select BR2_PACKAGE_POPT select BR2_PACKAGE_LVM2 select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID + select BR2_PACKAGE_JSON_C help This tool helps manipulate dm-crypt and luks partitions for on-disk encryption. @@ -15,4 +17,5 @@ config BR2_PACKAGE_CRYPTSETUP comment "cryptsetup needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/cryptsetup/cryptsetup.hash b/package/cryptsetup/cryptsetup.hash index 6d0fb58945..1573d53080 100644 --- a/package/cryptsetup/cryptsetup.hash +++ b/package/cryptsetup/cryptsetup.hash @@ -1,2 +1,4 @@ -# From https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/sha256sums.asc -sha256 2b30cd1d0dd606a53ac77b406e1d37798d4b0762fa89de6ea546201906a251bd cryptsetup-1.7.5.tar.xz +# From https://www.kernel.org/pub/linux/utils/cryptsetup/v2.0/sha256sums.asc +sha256 4d6cca04c1f5ff4a68d045d190efb2623087eda0274ded92f92a4b6911e501d4 cryptsetup-2.0.3.tar.xz +sha256 45670cce8b6a0ddd66c8016cd8ccef6cd71f35717cbacc7f1e895b3855207b33 COPYING +sha256 8c33cc37871654ec7ed87e6fbb896c8cf33ef5ef05b1611a5aed857596ffafa5 COPYING.LGPL diff --git a/package/cryptsetup/cryptsetup.mk b/package/cryptsetup/cryptsetup.mk index 6b0fa318aa..d81aa7b341 100644 --- a/package/cryptsetup/cryptsetup.mk +++ b/package/cryptsetup/cryptsetup.mk @@ -4,11 +4,11 @@ # ################################################################################ -CRYPTSETUP_VERSION_MAJOR = 1.7 -CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).5 +CRYPTSETUP_VERSION_MAJOR = 2.0 +CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).3 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 \ +CRYPTSETUP_DEPENDENCIES = lvm2 popt util-linux host-pkgconf json-c \ $(TARGET_NLS_DEPENDENCIES) CRYPTSETUP_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library) CRYPTSETUP_LICENSE_FILES = COPYING COPYING.LGPL @@ -33,9 +33,11 @@ HOST_CRYPTSETUP_DEPENDENCIES = \ host-lvm2 \ host-popt \ host-util-linux \ + host-json-c \ host-openssl -HOST_CRYPTSETUP_CONF_OPTS = --with-crypto-backend=openssl +HOST_CRYPTSETUP_CONF_OPTS = --with-crypto_backend=openssl \ + --disable-kernel_crypto $(eval $(autotools-package)) $(eval $(host-autotools-package)) 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 new file mode 100644 index 0000000000..e4b35cda39 --- /dev/null +++ b/package/cups-filters/0001-Replace-relative-linking-with-absolute-linking.patch @@ -0,0 +1,46 @@ +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/Config.in b/package/cups-filters/Config.in new file mode 100644 index 0000000000..5badf0e1f1 --- /dev/null +++ b/package/cups-filters/Config.in @@ -0,0 +1,38 @@ +config BR2_PACKAGE_CUPS_FILTERS + bool "cups-filters" + # needs fork() + 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_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_PACKAGE_CUPS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_FONTCONFIG + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_LCMS2 + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_QPDF + help + This project provides backends, filters, and other software + that was once part of the core CUPS distribution but is no + longer maintained by Apple Inc. In addition it contains + additional filters and software developed independently of + Apple, especially filters for the PDF-centric printing + workflow introduced by OpenPrinting and a daemon to browse + Bonjour broadcasts of remote CUPS printers to make these + printers available locally and to provide backward + compatibility to the old CUPS broadcasting and browsing of + CUPS 1.5.x and older. From CUPS 1.6.0 on, this package is + required for using printer drivers with CUPS under Linux. + With CUPS 1.5.x and earlier this package can be used + optionally to switch over to PDF-based printing. + + http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters + +comment "cups-filters needs a toolchain w/ wchar, C++, threads and dynamic library, gcc >= 4.8" + depends on BR2_USE_MMU + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_USE_WCHAR || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/cups-filters/cups-filters.hash b/package/cups-filters/cups-filters.hash new file mode 100644 index 0000000000..7bb00818df --- /dev/null +++ b/package/cups-filters/cups-filters.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 aad95e35033154f54639923b439e0657fc9f616b9eac7490df89514362551f98 cups-filters-1.20.3.tar.gz +sha256 24cc91478ca68d6d982dfd86181210ad5f0931ec431bdb740793e3d6555fdcd8 COPYING diff --git a/package/cups-filters/cups-filters.mk b/package/cups-filters/cups-filters.mk new file mode 100644 index 0000000000..3c5e13da89 --- /dev/null +++ b/package/cups-filters/cups-filters.mk @@ -0,0 +1,73 @@ +################################################################################ +# +# cups-filters +# +################################################################################ + +CUPS_FILTERS_VERSION = 1.20.3 +CUPS_FILTERS_SITE = http://openprinting.org/download/cups-filters +CUPS_FILTERS_LICENSE = GPL-2.0, GPL-2.0+, GPL-3.0, GPL-3.0+, LGPL-2, LGPL-2.1+, MIT, BSD-4-Clause +CUPS_FILTERS_LICENSE_FILES = COPYING +# 0001-Replace-relative-linking-with-absolute-linking.patch +CUPS_FILTERS_AUTORECONF = YES +CUPS_FILTERS_DEPENDENCIES = cups libglib2 lcms2 qpdf fontconfig freetype jpeg + +CUPS_FILTERS_CONF_OPTS = --disable-imagefilters \ + --disable-mutool \ + --disable-foomatic \ + --with-cups-config=$(STAGING_DIR)/usr/bin/cups-config \ + --with-sysroot=$(STAGING_DIR) \ + --with-pdftops=pdftops \ + --with-jpeg + +ifeq ($(BR2_PACKAGE_LIBPNG),y) +CUPS_FILTERS_CONF_OPTS += --with-png +CUPS_FILTERS_DEPENDENCIES += libpng +else +CUPS_FILTERS_CONF_OPTS += --without-png +endif + +ifeq ($(BR2_PACKAGE_TIFF),y) +CUPS_FILTERS_CONF_OPTS += --with-tiff +CUPS_FILTERS_DEPENDENCIES += tiff +else +CUPS_FILTERS_CONF_OPTS += --without-tiff +endif + +ifeq ($(BR2_PACKAGE_DBUS),y) +CUPS_FILTERS_CONF_OPTS += --enable-dbus +CUPS_FILTERS_DEPENDENCIES += dbus +else +CUPS_FILTERS_CONF_OPTS += --disable-dbus +endif + +# avahi support requires avahi-client, which needs avahi-daemon and dbus +ifeq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yy) +CUPS_FILTERS_DEPENDENCIES += avahi +CUPS_FILTERS_CONF_OPTS += --enable-avahi +else +CUPS_FILTERS_CONF_OPTS += --disable-avahi +endif + +ifeq ($(BR2_PACKAGE_GHOSTSCRIPT),y) +CUPS_FILTERS_DEPENDENCIES += ghostscript +CUPS_FILTERS_CONF_OPTS += --enable-ghostscript +else +CUPS_FILTERS_CONF_OPTS += --disable-ghostscript +endif + +ifeq ($(BR2_PACKAGE_IJS),y) +CUPS_FILTERS_DEPENDENCIES += ijs +CUPS_FILTERS_CONF_OPTS += --enable-ijs +else +CUPS_FILTERS_CONF_OPTS += --disable-ijs +endif + +ifeq ($(BR2_PACKAGE_POPPLER),y) +CUPS_FILTERS_DEPENDENCIES += poppler +CUPS_FILTERS_CONF_OPTS += --enable-poppler +else +CUPS_FILTERS_CONF_OPTS += --disable-poppler +endif + +$(eval $(autotools-package)) diff --git a/package/curlpp/Config.in b/package/curlpp/Config.in new file mode 100644 index 0000000000..a23e5d939b --- /dev/null +++ b/package/curlpp/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_CURLPP + bool "curlpp" + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBCURL + help + cURLpp is a C++ wrapper for libcURL. + + http://www.curlpp.org/ + +comment "curlpp needs a toolchain w/ C++, dynamic library" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS diff --git a/package/curlpp/curlpp.hash b/package/curlpp/curlpp.hash new file mode 100644 index 0000000000..2b14a235ee --- /dev/null +++ b/package/curlpp/curlpp.hash @@ -0,0 +1,5 @@ +# Locally computed: +sha256 97e3819bdcffc3e4047b6ac57ca14e04af85380bd93afe314bee9dd5c7f46a0a v0.8.1.tar.gz + +# Hash for license files: +sha256 8b9e3afd4d06ad3c169e788e5187a3e9f4f35671e9a7322f7e74bea9643b5b5a doc/LICENSE diff --git a/package/curlpp/curlpp.mk b/package/curlpp/curlpp.mk new file mode 100644 index 0000000000..7528855a02 --- /dev/null +++ b/package/curlpp/curlpp.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# curlpp +# +################################################################################ + +CURLPP_VERSION = 0.8.1 +CURLPP_SITE = https://github.com/jpbarrette/curlpp/archive +CURLPP_SOURCE = v$(CURLPP_VERSION).tar.gz +CURLPP_LICENSE = MIT +CURLPP_LICENSE_FILES = doc/LICENSE +CURLPP_INSTALL_STAGING = YES +CURLPP_DEPENDENCIES = libcurl + +$(eval $(cmake-package)) diff --git a/package/dahdi-tools/Config.in b/package/dahdi-tools/Config.in index 39042df041..a5f145dfe8 100644 --- a/package/dahdi-tools/Config.in +++ b/package/dahdi-tools/Config.in @@ -15,9 +15,5 @@ config BR2_PACKAGE_DAHDI_TOOLS http://www.asterisk.org/downloads/dahdi -# Two comments, otherwise it may not fit in menuconfig for narrow terminals -comment "dahdi-tools needs a toolchain w/ threads" +comment "dahdi-tools needs a toolchain w/ threads and a Linux kernel to be built" depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LINUX_KERNEL - -comment "dahdi-tools needs a Linux kernel to be built" - depends on !BR2_LINUX_KERNEL diff --git a/package/daq/0001-Fix-build-against-the-musl-C-library.patch b/package/daq/0001-Fix-build-against-the-musl-C-library.patch new file mode 100644 index 0000000000..25f2f9c498 --- /dev/null +++ b/package/daq/0001-Fix-build-against-the-musl-C-library.patch @@ -0,0 +1,54 @@ +From 42efa6d76a3b52f35e576a6b941a9afb5b3879e9 Mon Sep 17 00:00:00 2001 +From: Sergio Prado +Date: Tue, 9 Jan 2018 21:39:27 -0200 +Subject: [PATCH] Fix build against the musl C library + +Signed-off-by: Sergio Prado +--- + os-daq-modules/daq_ipfw.c | 2 +- + os-daq-modules/daq_ipq.c | 2 +- + os-daq-modules/daq_nfq.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/os-daq-modules/daq_ipfw.c b/os-daq-modules/daq_ipfw.c +index 016beb06ad61..98f67717f646 100644 +--- a/os-daq-modules/daq_ipfw.c ++++ b/os-daq-modules/daq_ipfw.c +@@ -26,7 +26,7 @@ + + #include + #include +-#include ++#include + + #include + #include +diff --git a/os-daq-modules/daq_ipq.c b/os-daq-modules/daq_ipq.c +index 77ec6e9505e5..b15e5cf82af0 100644 +--- a/os-daq-modules/daq_ipq.c ++++ b/os-daq-modules/daq_ipq.c +@@ -27,7 +27,7 @@ + + #include + #include +-#include ++#include + + #include + +diff --git a/os-daq-modules/daq_nfq.c b/os-daq-modules/daq_nfq.c +index 33021c0ec991..0df1e61c74c4 100644 +--- a/os-daq-modules/daq_nfq.c ++++ b/os-daq-modules/daq_nfq.c +@@ -27,7 +27,7 @@ + + #include + #include +-#include ++#include + + #include + +-- +1.9.1 + diff --git a/package/daq/Config.in b/package/daq/Config.in new file mode 100644 index 0000000000..ad294abd60 --- /dev/null +++ b/package/daq/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_DAQ + bool "daq" + depends on !BR2_STATIC_LIBS # dlfcn.h + help + DAQ is a Data Acquisition library for packet I/O from the + Snort project. + + https://www.snort.org + +comment "daq needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/daq/daq.hash b/package/daq/daq.hash new file mode 100644 index 0000000000..6a0cb5ed07 --- /dev/null +++ b/package/daq/daq.hash @@ -0,0 +1,5 @@ +# Locally computed: +sha256 d41da5f7793e66044e6927dd868c0525e7ee4ec1a3515bf74ef9a30cd9273af0 daq-2.0.6.tar.gz + +# Hash for license files: +sha256 07f28289c09fd9eb5a6ff7bc710ff40363601b1bbc6f3637d8ed412150e90819 COPYING diff --git a/package/daq/daq.mk b/package/daq/daq.mk new file mode 100644 index 0000000000..a23a9dc5ee --- /dev/null +++ b/package/daq/daq.mk @@ -0,0 +1,40 @@ +################################################################################ +# +# daq +# +################################################################################ + +DAQ_VERSION = 2.0.6 +DAQ_SITE = https://www.snort.org/downloads/snort +DAQ_LICENSE = GPL-2.0 +DAQ_LICENSE_FILES = COPYING +DAQ_INSTALL_STAGING = YES +DAQ_DEPENDENCIES = host-bison host-flex + +# package does not build in parallel due to improper make rules +# related to the generation of the tokdefs.h header file +DAQ_MAKE = $(MAKE1) + +# disable ipq module as libipq is deprecated +DAQ_CONF_OPTS += --disable-ipq-module + +ifeq ($(BR2_PACKAGE_LIBDNET)$(BR2_PACKAGE_LIBNETFILTER_QUEUE),yy) +DAQ_DEPENDENCIES += libdnet libnetfilter_queue +DAQ_CONF_OPTS += --enable-nfq-module +else +DAQ_CONF_OPTS += --disable-nfq-module +endif + +ifeq ($(BR2_PACKAGE_LIBPCAP),y) +DAQ_DEPENDENCIES += libpcap +# assume these flags are available to prevent configure from running +# test programs while cross compiling +DAQ_CONF_ENV += \ + ac_cv_lib_pcap_pcap_lib_version=yes \ + daq_cv_libpcap_version_1x=yes +DAQ_CONF_OPTS += --enable-pcap-module +else +DAQ_CONF_OPTS += --disable-pcap-module +endif + +$(eval $(autotools-package)) diff --git a/package/dash/0002-histedit-fix-build-with-musl-libc.patch b/package/dash/0002-histedit-fix-build-with-musl-libc.patch new file mode 100644 index 0000000000..a9e4c5aea1 --- /dev/null +++ b/package/dash/0002-histedit-fix-build-with-musl-libc.patch @@ -0,0 +1,35 @@ +From 2da5b72c704fed10f1b04b5432ac6b078d016fae Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 2 Mar 2018 08:25:36 +0200 +Subject: [PATCH] histedit: fix build with musl libc + +musl libc defines the optreset BSD extension only in getopt.h. This +fixes the following build failure: + +histedit.c: In function 'histcmd': +histedit.c:220:2: error: 'optreset' undeclared (first use in this function) + optreset = 1; optind = 1; /* initialize getopt */ + ^~~~~~~~ + +Signed-off-by: Baruch Siach +--- +Upstream status: https://www.mail-archive.com/dash@vger.kernel.org/msg01389.html + + src/histedit.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/histedit.c b/src/histedit.c +index 94465d785cc9..f5c90aba873b 100644 +--- a/src/histedit.c ++++ b/src/histedit.c +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + /* + * Editline and history functions (and glue). + */ +-- +2.16.1 + diff --git a/package/dash/Config.in b/package/dash/Config.in index 00cacf84a8..b816ac7837 100644 --- a/package/dash/Config.in +++ b/package/dash/Config.in @@ -3,9 +3,10 @@ config BR2_PACKAGE_DASH depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help - DASH is a POSIX-compliant implementation of /bin/sh that aims to be - as small as possible. It does this without sacrificing speed where - possible. In fact, it is significantly faster than bash (the GNU - Bourne-Again SHell) for most tasks. + DASH is a POSIX-compliant implementation of /bin/sh that + aims to be as small as possible. It does this without + sacrificing speed where possible. In fact, it is + significantly faster than bash (the GNU Bourne-Again SHell) + for most tasks. http://gondor.apana.org.au/~herbert/dash diff --git a/package/dash/dash.mk b/package/dash/dash.mk index c8b41648b6..2d415558d2 100644 --- a/package/dash/dash.mk +++ b/package/dash/dash.mk @@ -9,6 +9,24 @@ DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c) DASH_LICENSE_FILES = COPYING +# dash does not build in parallel +DASH_MAKE = $(MAKE1) + +ifeq ($(BR2_PACKAGE_LIBEDIT),y) +DASH_DEPENDENCIES += libedit host-pkgconf +DASH_CONF_OPTS += --with-libedit +DASH_CONF_ENV += LIBS=`pkg-config --libs libedit` + +# Enable line editing, Emacs style +define DASH_INSTALL_PROFILE + mkdir -p $(TARGET_DIR)/etc/profile.d + echo 'set -E' > $(TARGET_DIR)/etc/profile.d/dash.sh +endef +DASH_POST_INSTALL_TARGET_HOOKS += DASH_INSTALL_PROFILE +else +DASH_CONF_OPTS += --without-libedit +endif + define DASH_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 $(@D)/src/dash $(TARGET_DIR)/bin/dash endef diff --git a/package/dbus/dbus.hash b/package/dbus/dbus.hash index df1891b6d8..1aa5aa445d 100644 --- a/package/dbus/dbus.hash +++ b/package/dbus/dbus.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.0.tar.gz.asc -sha256 39af0d9267391434b549c5c4adc001b735518c96f7630c3fe7162af1d13ef3c0 dbus-1.12.0.tar.gz +# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.2.tar.gz.asc +sha256 272bb5091770b047c8188b926d5e6038fa4fe6745488b2add96b23e2d9a83d88 dbus-1.12.2.tar.gz # Locally calculated sha256 0e46f54efb12d04ab5c33713bacd0e140c9a35b57ae29e03c853203266e8f3a1 COPYING diff --git a/package/dbus/dbus.mk b/package/dbus/dbus.mk index 56a54e309c..22ba22e17e 100644 --- a/package/dbus/dbus.mk +++ b/package/dbus/dbus.mk @@ -4,7 +4,7 @@ # ################################################################################ -DBUS_VERSION = 1.12.0 +DBUS_VERSION = 1.12.2 DBUS_SITE = https://dbus.freedesktop.org/releases/dbus DBUS_LICENSE = AFL-2.1 or GPL-2.0+ (library, tools), GPL-2.0+ (tools) DBUS_LICENSE_FILES = COPYING diff --git a/package/dfu-util/Config.in b/package/dfu-util/Config.in index 2f45fcd6b7..201c8a7cfd 100644 --- a/package/dfu-util/Config.in +++ b/package/dfu-util/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_DFU_UTIL bool "dfu-util" - select BR2_PACKAGE_LIBUSB depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBUSB help Dfu-util is the host side implementation of the DFU 1.0 specification of the USB forum. DFU is intended to download diff --git a/package/dhcp/0002-bind-cross-compile.patch b/package/dhcp/0001-bind-cross-compile.patch similarity index 100% rename from package/dhcp/0002-bind-cross-compile.patch rename to package/dhcp/0001-bind-cross-compile.patch 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 new file mode 100644 index 0000000000..df294651fb --- /dev/null +++ b/package/dhcp/0002-v4_3-Plugs-a-socket-descriptor-leak-in-OMAPI.patch @@ -0,0 +1,51 @@ +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 new file mode 100644 index 0000000000..aad20ff93f --- /dev/null +++ b/package/dhcp/0003-Correct-buffer-overrun-in-pretty_print_option.patch @@ -0,0 +1,59 @@ +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 new file mode 100644 index 0000000000..c79bbc7f82 --- /dev/null +++ b/package/dhcp/0004-Corrected-refcnt-loss-in-option-parsing.patch @@ -0,0 +1,40 @@ +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/dhcp.hash b/package/dhcp/dhcp.hash index 7898aa45d3..ce5f995a55 100644 --- a/package/dhcp/dhcp.hash +++ b/package/dhcp/dhcp.hash @@ -1,2 +1,4 @@ -# Verified from https://ftp.isc.org/isc/dhcp/4.3.5/dhcp-4.3.5.tar.gz.sha256.asc -sha256 eb95936bf15d2393c55dd505bc527d1d4408289cec5a9fa8abb99f7577e7f954 dhcp-4.3.5.tar.gz +# 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 +# Locally calculated +sha256 dd7ae2201c0c11c3c1e2510d731c67b2f4bc8ba735707d7348ddd65f7b598562 LICENSE diff --git a/package/dhcp/dhcp.mk b/package/dhcp/dhcp.mk index 45cae087aa..a1285184d3 100644 --- a/package/dhcp/dhcp.mk +++ b/package/dhcp/dhcp.mk @@ -4,14 +4,16 @@ # ################################################################################ -DHCP_VERSION = 4.3.5 +DHCP_VERSION = 4.3.6 DHCP_SITE = http://ftp.isc.org/isc/dhcp/$(DHCP_VERSION) DHCP_INSTALL_STAGING = YES DHCP_LICENSE = ISC DHCP_LICENSE_FILES = LICENSE DHCP_CONF_ENV = \ CPPFLAGS='-D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \ - -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' + -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' \ + CFLAGS='$(TARGET_CFLAGS) -DISC_CHECK_NONE=1' + DHCP_CONF_OPTS = \ --with-randomdev=/dev/random \ --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \ diff --git a/package/dmidecode/Config.in b/package/dmidecode/Config.in index 22272ed294..58e7a785ce 100644 --- a/package/dmidecode/Config.in +++ b/package/dmidecode/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_DMIDECODE bool "dmidecode" - depends on BR2_i386 || BR2_x86_64 + depends on BR2_aarch64 || BR2_i386 || BR2_x86_64 help Dmidecode reports information about your system's hardware as described in your system BIOS according to the SMBIOS/DMI diff --git a/package/dnsmasq/0001-DNSSEC-fix-for-wildcard-NSEC-records.-CVE-2017-15107.patch b/package/dnsmasq/0001-DNSSEC-fix-for-wildcard-NSEC-records.-CVE-2017-15107.patch new file mode 100644 index 0000000000..7b834e80e2 --- /dev/null +++ b/package/dnsmasq/0001-DNSSEC-fix-for-wildcard-NSEC-records.-CVE-2017-15107.patch @@ -0,0 +1,212 @@ +From 4fe6744a220eddd3f1749b40cac3dfc510787de6 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Fri, 19 Jan 2018 12:26:08 +0000 +Subject: [PATCH] DNSSEC fix for wildcard NSEC records. CVE-2017-15107 applies. + +It's OK for NSEC records to be expanded from wildcards, +but in that case, the proof of non-existence is only valid +starting at the wildcard name, *. NOT the name expanded +from the wildcard. Without this check it's possible for an +attacker to craft an NSEC which wrongly proves non-existence +in a domain which includes a wildcard for NSEC. + +[baruch: drop the CHANGELOG hunk] +Signed-off-by: Baruch Siach +--- +Upstream status: upstream commit 4fe6744a220e + + CHANGELOG | 12 +++++- + src/dnssec.c | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- + 2 files changed, 114 insertions(+), 15 deletions(-) + +diff --git a/src/dnssec.c b/src/dnssec.c +index eb6c11cbe00f..a54a0b4f14cf 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -103,15 +103,17 @@ static void from_wire(char *name) + static int count_labels(char *name) + { + int i; +- ++ char *p; ++ + if (*name == 0) + return 0; + +- for (i = 0; *name; name++) +- if (*name == '.') ++ for (p = name, i = 0; *p; p++) ++ if (*p == '.') + i++; + +- return i+1; ++ /* Don't count empty first label. */ ++ return *name == '.' ? i : i+1; + } + + /* Implement RFC1982 wrapped compare for 32-bit numbers */ +@@ -1094,8 +1096,8 @@ static int hostname_cmp(const char *a, const char *b) + } + } + +-static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsigned char **nsecs, int nsec_count, +- char *workspace1, char *workspace2, char *name, int type, int *nons) ++static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsigned char **nsecs, unsigned char **labels, int nsec_count, ++ char *workspace1_in, char *workspace2, char *name, int type, int *nons) + { + int i, rc, rdlen; + unsigned char *p, *psave; +@@ -1108,6 +1110,9 @@ static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsi + /* Find NSEC record that proves name doesn't exist */ + for (i = 0; i < nsec_count; i++) + { ++ char *workspace1 = workspace1_in; ++ int sig_labels, name_labels; ++ + p = nsecs[i]; + if (!extract_name(header, plen, &p, workspace1, 1, 10)) + return 0; +@@ -1116,7 +1121,27 @@ static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsi + psave = p; + if (!extract_name(header, plen, &p, workspace2, 1, 10)) + return 0; +- ++ ++ /* If NSEC comes from wildcard expansion, use original wildcard ++ as name for computation. */ ++ sig_labels = *labels[i]; ++ name_labels = count_labels(workspace1); ++ ++ if (sig_labels < name_labels) ++ { ++ int k; ++ for (k = name_labels - sig_labels; k != 0; k--) ++ { ++ while (*workspace1 != '.' && *workspace1 != 0) ++ workspace1++; ++ if (k != 1 && *workspace1 == '.') ++ workspace1++; ++ } ++ ++ workspace1--; ++ *workspace1 = '*'; ++ } ++ + rc = hostname_cmp(workspace1, name); + + if (rc == 0) +@@ -1514,24 +1539,26 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns + + static int prove_non_existence(struct dns_header *header, size_t plen, char *keyname, char *name, int qtype, int qclass, char *wildname, int *nons) + { +- static unsigned char **nsecset = NULL; +- static int nsecset_sz = 0; ++ static unsigned char **nsecset = NULL, **rrsig_labels = NULL; ++ static int nsecset_sz = 0, rrsig_labels_sz = 0; + + int type_found = 0; +- unsigned char *p = skip_questions(header, plen); ++ unsigned char *auth_start, *p = skip_questions(header, plen); + int type, class, rdlen, i, nsecs_found; + + /* Move to NS section */ + if (!p || !(p = skip_section(p, ntohs(header->ancount), header, plen))) + return 0; ++ ++ auth_start = p; + + for (nsecs_found = 0, i = ntohs(header->nscount); i != 0; i--) + { + unsigned char *pstart = p; + +- if (!(p = skip_name(p, header, plen, 10))) ++ if (!extract_name(header, plen, &p, daemon->workspacename, 1, 10)) + return 0; +- ++ + GETSHORT(type, p); + GETSHORT(class, p); + p += 4; /* TTL */ +@@ -1548,7 +1575,69 @@ static int prove_non_existence(struct dns_header *header, size_t plen, char *key + if (!expand_workspace(&nsecset, &nsecset_sz, nsecs_found)) + return 0; + +- nsecset[nsecs_found++] = pstart; ++ if (type == T_NSEC) ++ { ++ /* If we're looking for NSECs, find the corresponding SIGs, to ++ extract the labels value, which we need in case the NSECs ++ are the result of wildcard expansion. ++ Note that the NSEC may not have been validated yet ++ so if there are multiple SIGs, make sure the label value ++ is the same in all, to avoid be duped by a rogue one. ++ If there are no SIGs, that's an error */ ++ unsigned char *p1 = auth_start; ++ int res, j, rdlen1, type1, class1; ++ ++ if (!expand_workspace(&rrsig_labels, &rrsig_labels_sz, nsecs_found)) ++ return 0; ++ ++ rrsig_labels[nsecs_found] = NULL; ++ ++ for (j = ntohs(header->nscount); j != 0; j--) ++ { ++ if (!(res = extract_name(header, plen, &p1, daemon->workspacename, 0, 10))) ++ return 0; ++ ++ GETSHORT(type1, p1); ++ GETSHORT(class1, p1); ++ p1 += 4; /* TTL */ ++ GETSHORT(rdlen1, p1); ++ ++ if (!CHECK_LEN(header, p1, plen, rdlen1)) ++ return 0; ++ ++ if (res == 1 && class1 == qclass && type1 == T_RRSIG) ++ { ++ int type_covered; ++ unsigned char *psav = p1; ++ ++ if (rdlen < 18) ++ return 0; /* bad packet */ ++ ++ GETSHORT(type_covered, p1); ++ ++ if (type_covered == T_NSEC) ++ { ++ p1++; /* algo */ ++ ++ /* labels field must be the same in every SIG we find. */ ++ if (!rrsig_labels[nsecs_found]) ++ rrsig_labels[nsecs_found] = p1; ++ else if (*rrsig_labels[nsecs_found] != *p1) /* algo */ ++ return 0; ++ } ++ p1 = psav; ++ } ++ ++ if (!ADD_RDLEN(header, p1, plen, rdlen1)) ++ return 0; ++ } ++ ++ /* Must have found at least one sig. */ ++ if (!rrsig_labels[nsecs_found]) ++ return 0; ++ } ++ ++ nsecset[nsecs_found++] = pstart; + } + + if (!ADD_RDLEN(header, p, plen, rdlen)) +@@ -1556,7 +1645,7 @@ static int prove_non_existence(struct dns_header *header, size_t plen, char *key + } + + if (type_found == T_NSEC) +- return prove_non_existence_nsec(header, plen, nsecset, nsecs_found, daemon->workspacename, keyname, name, qtype, nons); ++ return prove_non_existence_nsec(header, plen, nsecset, rrsig_labels, nsecs_found, daemon->workspacename, keyname, name, qtype, nons); + else if (type_found == T_NSEC3) + return prove_non_existence_nsec3(header, plen, nsecset, nsecs_found, daemon->workspacename, keyname, name, qtype, wildname, nons); + else +-- +2.15.1 + diff --git a/package/dnsmasq/0002-Fix-DNSSEC-validation-errors-introduced-in-4fe6744a2.patch b/package/dnsmasq/0002-Fix-DNSSEC-validation-errors-introduced-in-4fe6744a2.patch new file mode 100644 index 0000000000..ef28b90c58 --- /dev/null +++ b/package/dnsmasq/0002-Fix-DNSSEC-validation-errors-introduced-in-4fe6744a2.patch @@ -0,0 +1,29 @@ +From cd7df612b14ec1bf831a966ccaf076be0dae7404 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Sat, 20 Jan 2018 00:10:55 +0000 +Subject: [PATCH] Fix DNSSEC validation errors introduced in + 4fe6744a220eddd3f1749b40cac3dfc510787de6 + +Signed-off-by: Baruch Siach +--- +Upstream status: upstream commit cd7df612b14ec + + src/dnssec.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/dnssec.c b/src/dnssec.c +index a54a0b4f14cf..c47e33569f96 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -1610,7 +1610,7 @@ static int prove_non_existence(struct dns_header *header, size_t plen, char *key + int type_covered; + unsigned char *psav = p1; + +- if (rdlen < 18) ++ if (rdlen1 < 18) + return 0; /* bad packet */ + + GETSHORT(type_covered, p1); +-- +2.15.1 + diff --git a/package/dnsmasq/Config.in b/package/dnsmasq/Config.in index 8921fc629d..262aca688e 100644 --- a/package/dnsmasq/Config.in +++ b/package/dnsmasq/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_DNSMASQ A lightweight DNS and DHCP server. It is intended to provide coupled DNS and DHCP service to a LAN. - http://www.thekelleys.org.uk/dnsmasq/ + http://www.thekelleys.org.uk/dnsmasq/doc.html if BR2_PACKAGE_DNSMASQ diff --git a/package/docker-engine/Config.in b/package/docker-engine/Config.in index 05670a716e..8feb11b48c 100644 --- a/package/docker-engine/Config.in +++ b/package/docker-engine/Config.in @@ -16,6 +16,7 @@ config BR2_PACKAGE_DOCKER_ENGINE_DAEMON default y depends on BR2_USE_MMU # docker-containerd select BR2_PACKAGE_DOCKER_CONTAINERD # runtime dependency + select BR2_PACKAGE_DOCKER_PROXY # runtime dependency select BR2_PACKAGE_IPTABLES # runtime dependency select BR2_PACKAGE_SQLITE # runtime dependency help diff --git a/package/docker-proxy/Config.in b/package/docker-proxy/Config.in new file mode 100644 index 0000000000..596e18a3f3 --- /dev/null +++ b/package/docker-proxy/Config.in @@ -0,0 +1,19 @@ +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_TOOLCHAIN_HAS_THREADS + help + Libnetwork is a Container Network Model that provides a + consistent programming interface and the required network + abstractions for applications. + + This package provides docker-proxy, a run-time dependency of + Docker. + + 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_TOOLCHAIN_HAS_THREADS diff --git a/package/docker-proxy/docker-proxy.hash b/package/docker-proxy/docker-proxy.hash new file mode 100644 index 0000000000..3ec184f54f --- /dev/null +++ b/package/docker-proxy/docker-proxy.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 2eee331b6ded567a36e7db708405b34032b93938682cf049025f48b96d755bf6 docker-proxy-7b2b1feb1de4817d522cc372af149ff48d25028e.tar.gz diff --git a/package/docker-proxy/docker-proxy.mk b/package/docker-proxy/docker-proxy.mk new file mode 100644 index 0000000000..3bf6546d26 --- /dev/null +++ b/package/docker-proxy/docker-proxy.mk @@ -0,0 +1,46 @@ +################################################################################ +# +# docker-proxy +# +################################################################################ + +DOCKER_PROXY_VERSION = 7b2b1feb1de4817d522cc372af149ff48d25028e +DOCKER_PROXY_SITE = $(call github,docker,libnetwork,$(DOCKER_PROXY_VERSION)) + +DOCKER_PROXY_LICENSE = Apache-2.0 +DOCKER_PROXY_LICENSE_FILES = LICENSE + +DOCKER_PROXY_DEPENDENCIES = host-go host-pkgconf + +DOCKER_PROXY_GOPATH = "$(@D)/gopath" +DOCKER_PROXY_MAKE_ENV = $(HOST_GO_TARGET_ENV) \ + CGO_ENABLED=1 \ + CGO_NO_EMULATION=1 \ + GOBIN="$(@D)/bin" \ + GOPATH="$(DOCKER_PROXY_GOPATH)" \ + PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ + $(TARGET_MAKE_ENV) + +ifeq ($(BR2_STATIC_LIBS),y) +DOCKER_PROXY_GLDFLAGS += -extldflags '-static' +endif + +define DOCKER_PROXY_CONFIGURE_CMDS + mkdir -p $(DOCKER_PROXY_GOPATH)/src/github.com/docker + ln -fs $(@D) $(DOCKER_PROXY_GOPATH)/src/github.com/docker/libnetwork +endef + +define DOCKER_PROXY_BUILD_CMDS + cd $(@D)/gopath/src/github.com/docker/libnetwork; \ + $(DOCKER_PROXY_MAKE_ENV) \ + $(HOST_DIR)/usr/bin/go build -v \ + -o $(@D)/bin/docker-proxy \ + -ldflags "$(DOCKER_PROXY_GLDFLAGS)" \ + github.com/docker/libnetwork/cmd/proxy +endef + +define DOCKER_PROXY_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/bin/docker-proxy $(TARGET_DIR)/usr/bin/docker-proxy +endef + +$(eval $(generic-package)) diff --git a/package/domoticz/0001-Fix-compilation-with-boost-1.66.patch b/package/domoticz/0001-Fix-compilation-with-boost-1.66.patch new file mode 100644 index 0000000000..d73ea4f002 --- /dev/null +++ b/package/domoticz/0001-Fix-compilation-with-boost-1.66.patch @@ -0,0 +1,56 @@ +From b9481d3382d416d72f523a0442d662e49b4192d1 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 14 Jan 2018 18:18:32 +0100 +Subject: [PATCH] Fix compilation with boost 1.66 + +Patch fetch from one of the answer of + https://github.com/domoticz/domoticz/issues/2034 +(issue still opened, no official PR sent upstream) + +Boost asio changed its API: + - http://www.boost.org/doc/libs/1_66_0/doc/html/boost_asio/net_ts.html + +Signed-off-by: Fabrice Fontaine +--- + webserver/proxyclient.cpp | 2 +- + webserver/server.cpp | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/webserver/proxyclient.cpp b/webserver/proxyclient.cpp +index 203ee619..efc9815a 100644 +--- a/webserver/proxyclient.cpp ++++ b/webserver/proxyclient.cpp +@@ -639,7 +639,7 @@ namespace http { + void CProxyManager::StartThread() + { + try { +- boost::asio::ssl::context ctx(io_service, boost::asio::ssl::context::sslv23); ++ boost::asio::ssl::context ctx(boost::asio::ssl::context::sslv23); + ctx.set_verify_mode(boost::asio::ssl::verify_none); + + proxyclient.reset(new CProxyClient(io_service, ctx, m_pWebEm)); +diff --git a/webserver/server.cpp b/webserver/server.cpp +index 5255aa34..0c1af08a 100644 +--- a/webserver/server.cpp ++++ b/webserver/server.cpp +@@ -148,7 +148,7 @@ void server::handle_accept(const boost::system::error_code& e) { + ssl_server::ssl_server(const ssl_server_settings & ssl_settings, request_handler & user_request_handler) : + server_base(ssl_settings, user_request_handler), + settings_(ssl_settings), +- context_(io_service_, ssl_settings.get_ssl_method()) ++ context_(ssl_settings.get_ssl_method()) + { + #ifdef DEBUG_WWW + _log.Log(LOG_STATUS, "[web:%s] create ssl_server using ssl_server_settings : %s", ssl_settings.listening_port.c_str(), ssl_settings.to_string().c_str()); +@@ -161,7 +161,7 @@ ssl_server::ssl_server(const ssl_server_settings & ssl_settings, request_handler + ssl_server::ssl_server(const server_settings & settings, request_handler & user_request_handler) : + server_base(settings, user_request_handler), + settings_(dynamic_cast(settings)), +- context_(io_service_, dynamic_cast(settings).get_ssl_method()) { ++ context_(dynamic_cast(settings).get_ssl_method()) { + #ifdef DEBUG_WWW + _log.Log(LOG_STATUS, "[web:%s] create ssl_server using server_settings : %s", settings.listening_port.c_str(), settings.to_string().c_str()); + #endif +-- +2.14.1 + diff --git a/package/domoticz/Config.in b/package/domoticz/Config.in index c03f84ae44..530027f273 100644 --- a/package/domoticz/Config.in +++ b/package/domoticz/Config.in @@ -3,10 +3,12 @@ config BR2_PACKAGE_DOMOTICZ depends on BR2_USE_MMU # mosquitto depends on BR2_TOOLCHAIN_HAS_SYNC_4 # mosquitto depends on !BR2_STATIC_LIBS # mosquitto - depends on BR2_TOOLCHAIN_HAS_THREADS + # pthread_condattr_setclock + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on BR2_PACKAGE_LUA_5_2 || BR2_PACKAGE_LUA_5_3 + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_SYSTEM @@ -25,9 +27,13 @@ config BR2_PACKAGE_DOMOTICZ http://domoticz.com -comment "domoticz needs lua >= 5.2 and a toolchain w/ C++, threads, wchar, dynamic library" +comment "domoticz needs lua >= 5.2 and a toolchain w/ C++, NPTL, wchar, dynamic library" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_USE_WCHAR || BR2_STATIC_LIBS || \ !(BR2_PACKAGE_LUA_5_2 || BR2_PACKAGE_LUA_5_3) + +comment "domoticz needs exception_ptr" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/domoticz/domoticz.hash b/package/domoticz/domoticz.hash index 103618d5a3..00dcf713b2 100644 --- a/package/domoticz/domoticz.hash +++ b/package/domoticz/domoticz.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 5ea8f37f2ef900e9bd17b1b5375e75bfdec4f09001e3e2e0b647a260989d014c domoticz-3.8153.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 License.txt diff --git a/package/dos2unix/dos2unix.hash b/package/dos2unix/dos2unix.hash index 1169592fce..80b739495d 100644 --- a/package/dos2unix/dos2unix.hash +++ b/package/dos2unix/dos2unix.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 8ccda7bbc5a2f903dafd95900abb5bf5e77a769b572ef25150fde4056c5f30c5 dos2unix-7.3.4.tar.gz +# 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 diff --git a/package/dos2unix/dos2unix.mk b/package/dos2unix/dos2unix.mk index 276a18ebcc..5001397f05 100644 --- a/package/dos2unix/dos2unix.mk +++ b/package/dos2unix/dos2unix.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOS2UNIX_VERSION = 7.3.4 +DOS2UNIX_VERSION = 7.4.0 DOS2UNIX_SITE = http://waterlan.home.xs4all.nl/dos2unix DOS2UNIX_LICENSE = BSD-2-Clause DOS2UNIX_LICENSE_FILES = COPYING.txt @@ -24,6 +24,10 @@ ifeq ($(BR2_USE_WCHAR),) DOS2UNIX_MAKE_OPTS += UCS= endif +ifeq ($(BR2_STATIC_LIBS),y) +DOS2UNIX_MAKE_OPTS += LDFLAGS_USER=-static +endif + define DOS2UNIX_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(DOS2UNIX_MAKE_OPTS) endef diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash index 137870f987..a2b7eba9de 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash @@ -1,2 +1,3 @@ # Locally computed after checking signature -sha256 629204bfbdcd3480e1ebcdc246da438323c3ea5fea57480ab859e8b201ad8793 dovecot-2.2-pigeonhole-0.4.19.tar.gz +sha256 4ae09cb788c5334d167f5a89ee70b0616c3231e5904ad258ce408e4953cfdd6a dovecot-2.2-pigeonhole-0.4.21.tar.gz +sha256 fc9e9522216f2a9a28b31300e3c73c1df56acc27dfae951bf516e7995366b51a COPYING diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk index 6b835d3b19..ea8b0077f0 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOVECOT_PIGEONHOLE_VERSION = 0.4.19 +DOVECOT_PIGEONHOLE_VERSION = 0.4.21 DOVECOT_PIGEONHOLE_SOURCE = dovecot-2.2-pigeonhole-$(DOVECOT_PIGEONHOLE_VERSION).tar.gz DOVECOT_PIGEONHOLE_SITE = http://pigeonhole.dovecot.org/releases/2.2 DOVECOT_PIGEONHOLE_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 new file mode 100644 index 0000000000..b6d3ed3ec0 --- /dev/null +++ b/package/dovecot/0001-byteorder.h-fix-uclibc-build.patch @@ -0,0 +1,32 @@ +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 184745b394..fef0746089 100644 --- a/package/dovecot/dovecot.hash +++ b/package/dovecot/dovecot.hash @@ -1,2 +1,5 @@ # Locally computed after checking signature -sha256 034be40907748128d65088a4f59789b2f99ae7b33a88974eae0b6a68ece376a1 dovecot-2.2.31.tar.gz +sha256 5e92a4325409e66b343f6aaa67174b8921ce83d0df792c6eeb0b7b7e2c808353 dovecot-2.2.34.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 fa69acfa20..e1b4bb21b8 100644 --- a/package/dovecot/dovecot.mk +++ b/package/dovecot/dovecot.mk @@ -5,7 +5,7 @@ ################################################################################ DOVECOT_VERSION_MAJOR = 2.2 -DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).31 +DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).34 DOVECOT_SITE = http://www.dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) DOVECOT_INSTALL_STAGING = YES DOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015 diff --git a/package/drbd-utils/drbd-utils.hash b/package/drbd-utils/drbd-utils.hash index 0a38fdd396..bcbed1ee8a 100644 --- a/package/drbd-utils/drbd-utils.hash +++ b/package/drbd-utils/drbd-utils.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 297b77c9b3f88de2e7dae459234f2753ea4fc2805282b2d276e35cf51e292913 drbd-utils-8.9.6.tar.gz +sha256 11299b555b703440ef0af2c74b69cf6dfb833e050b87cfdc3b93d0b71d8820a6 drbd-utils-9.2.0.tar.gz diff --git a/package/drbd-utils/drbd-utils.mk b/package/drbd-utils/drbd-utils.mk index 7bac28bc89..bb28729b40 100644 --- a/package/drbd-utils/drbd-utils.mk +++ b/package/drbd-utils/drbd-utils.mk @@ -4,8 +4,8 @@ # ################################################################################ -DRBD_UTILS_VERSION = 8.9.6 -DRBD_UTILS_SITE = http://oss.linbit.com/drbd +DRBD_UTILS_VERSION = 9.2.0 +DRBD_UTILS_SITE = http://www.linbit.com/downloads/drbd/utils DRBD_UTILS_LICENSE = GPL-2.0+ DRBD_UTILS_LICENSE_FILES = COPYING DRBD_UTILS_DEPENDENCIES = host-flex 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 new file mode 100644 index 0000000000..1467e3bc2d --- /dev/null +++ b/package/dropbear/0001-only-advertise-single-server-ecdsa-key-when-R-is-used.patch @@ -0,0 +1,113 @@ +# 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 new file mode 100644 index 0000000000..958ac9921e --- /dev/null +++ b/package/dropbear/0002-Wait-to-fail-invalid-usernames.patch @@ -0,0 +1,236 @@ +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 d92361fa39..5d6b83b6d1 100644 --- a/package/dropbear/Config.in +++ b/package/dropbear/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_DROPBEAR bool "dropbear" select BR2_PACKAGE_ZLIB if !BR2_PACKAGE_DROPBEAR_SMALL + select BR2_PACKAGE_LIBTOMCRYPT if !BR2_PACKAGE_DROPBEAR_SMALL help A small SSH 2 server designed for small memory environments. @@ -13,7 +14,7 @@ config BR2_PACKAGE_DROPBEAR Alternatively, mount a persistent unionfs over your root filesystem. - http://matt.ucc.asn.au/dropbear/dropbear.html + https://matt.ucc.asn.au/dropbear/dropbear.html if BR2_PACKAGE_DROPBEAR diff --git a/package/dropbear/dropbear.hash b/package/dropbear/dropbear.hash index 98776e7179..ef2011d907 100644 --- a/package/dropbear/dropbear.hash +++ b/package/dropbear/dropbear.hash @@ -1,2 +1,2 @@ # From https://matt.ucc.asn.au/dropbear/releases/SHA256SUM.asc -sha256 6cbc1dcb1c9709d226dff669e5604172a18cf5dbf9a201474d5618ae4465098c dropbear-2017.75.tar.bz2 +sha256 f2fb9167eca8cf93456a5fc1d4faf709902a3ab70dd44e352f3acbc3ffdaea65 dropbear-2018.76.tar.bz2 diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk index bf7f99d975..fc41a84c1f 100644 --- a/package/dropbear/dropbear.mk +++ b/package/dropbear/dropbear.mk @@ -4,14 +4,19 @@ # ################################################################################ -DROPBEAR_VERSION = 2017.75 -DROPBEAR_SITE = http://matt.ucc.asn.au/dropbear/releases +DROPBEAR_VERSION = 2018.76 +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_FILES = LICENSE DROPBEAR_TARGET_BINS = dropbearkey dropbearconvert scp DROPBEAR_PROGRAMS = dropbear $(DROPBEAR_TARGET_BINS) +# Disable hardening flags added by dropbear configure.ac, and let +# Buildroot add them when the relevant options are enabled. This +# prevents dropbear from using SSP support when not available. +DROPBEAR_CONF_OPTS = --disable-harden + ifeq ($(BR2_PACKAGE_DROPBEAR_CLIENT),y) # Build dbclient, and create a convenience symlink named ssh DROPBEAR_PROGRAMS += dbclient @@ -22,33 +27,34 @@ DROPBEAR_MAKE = \ $(MAKE) MULTI=1 SCPPROGRESS=1 \ PROGRAMS="$(DROPBEAR_PROGRAMS)" -ifeq ($(BR2_STATIC_LIBS),y) -DROPBEAR_MAKE += STATIC=1 +# With BR2_SHARED_STATIC_LIBS=y the generic infrastructure adds a +# --enable-static flags causing dropbear to be built as a static +# binary. Adding a --disable-static reverts this +ifeq ($(BR2_SHARED_STATIC_LIBS),y) +DROPBEAR_CONF_OPTS += --disable-static endif -define DROPBEAR_FIX_XAUTH - $(SED) 's,^#define XAUTH_COMMAND.*/xauth,#define XAUTH_COMMAND "/usr/bin/xauth,g' $(@D)/options.h +# Ensure that dropbear doesn't use crypt() when it's not available +define DROPBEAR_SVR_PASSWORD_AUTH + echo '#if !HAVE_CRYPT' >> $(@D)/localoptions.h + echo '#define DROPBEAR_SVR_PASSWORD_AUTH 0' >> $(@D)/localoptions.h + echo '#endif' >> $(@D)/localoptions.h endef - -DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_FIX_XAUTH +DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_SVR_PASSWORD_AUTH define DROPBEAR_ENABLE_REVERSE_DNS - $(SED) 's:.*\(#define DO_HOST_LOOKUP\).*:\1:' $(@D)/options.h -endef - -define DROPBEAR_BUILD_SMALL - $(SED) 's:.*\(#define NO_FAST_EXPTMOD\).*:\1:' $(@D)/options.h + echo '#define DO_HOST_LOOKUP 1' >> $(@D)/localoptions.h endef define DROPBEAR_BUILD_FEATURED - $(SED) 's:^#define DROPBEAR_SMALL_CODE::' $(@D)/options.h - $(SED) 's:.*\(#define DROPBEAR_BLOWFISH\).*:\1:' $(@D)/options.h - $(SED) 's:.*\(#define DROPBEAR_TWOFISH128\).*:\1:' $(@D)/options.h - $(SED) 's:.*\(#define DROPBEAR_TWOFISH256\).*:\1:' $(@D)/options.h + echo '#define DROPBEAR_SMALL_CODE 0' >> $(@D)/localoptions.h + echo '#define DROPBEAR_BLOWFISH 1' >> $(@D)/localoptions.h + echo '#define DROPBEAR_TWOFISH128 1' >> $(@D)/localoptions.h + echo '#define DROPBEAR_TWOFISH256 1' >> $(@D)/localoptions.h endef define DROPBEAR_DISABLE_STANDALONE - $(SED) 's:\(#define NON_INETD_MODE\):/*\1 */:' $(@D)/options.h + echo '#define NON_INETD_MODE 0' >> $(@D)/localoptions.h endef define DROPBEAR_INSTALL_INIT_SYSTEMD @@ -73,11 +79,11 @@ DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_ENABLE_REVERSE_DNS endif ifeq ($(BR2_PACKAGE_DROPBEAR_SMALL),y) -DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_BUILD_SMALL -DROPBEAR_CONF_OPTS += --disable-zlib +DROPBEAR_CONF_OPTS += --disable-zlib --enable-bundled-libtom else DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_BUILD_FEATURED -DROPBEAR_DEPENDENCIES += zlib +DROPBEAR_DEPENDENCIES += zlib libtomcrypt +DROPBEAR_CONF_OPTS += --disable-bundled-libtom endif ifneq ($(BR2_PACKAGE_DROPBEAR_WTMP),y) diff --git a/package/e2fsprogs/e2fsprogs.hash b/package/e2fsprogs/e2fsprogs.hash index cd839fb680..3def51f95b 100644 --- a/package/e2fsprogs/e2fsprogs.hash +++ b/package/e2fsprogs/e2fsprogs.hash @@ -1,5 +1,5 @@ -# From https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.43.7/sha256sums.asc -sha256 2a6367289047d68d9ba6a46cf89ab9a1efd0556cde02a51ebaf414ff51edded9 e2fsprogs-1.43.7.tar.xz +# From https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.43.9/sha256sums.asc +sha256 926f8e8de1ffba55d791f21b71334e8a32b5227257ad370f2bf7e4396629e97f e2fsprogs-1.43.9.tar.xz # Locally calculated sha256 680f852df303874fe9c722283a7da571ae9a0477768df8af1e363298e2adc51e NOTICE sha256 032989b508f1a72ebee5b3417e55d06d473f9ee203e45ab11864a7e49cdec63d lib/ss/mit-sipb-copyright.h diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk index be03a88ce8..99019c7317 100644 --- a/package/e2fsprogs/e2fsprogs.mk +++ b/package/e2fsprogs/e2fsprogs.mk @@ -4,7 +4,7 @@ # ################################################################################ -E2FSPROGS_VERSION = 1.43.7 +E2FSPROGS_VERSION = 1.43.9 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) diff --git a/package/ebtables/Config.in b/package/ebtables/Config.in index 2fdac06cd1..3f7566a607 100644 --- a/package/ebtables/Config.in +++ b/package/ebtables/Config.in @@ -5,6 +5,3 @@ config BR2_PACKAGE_EBTABLES Ethernet bridge frame table administration http://ebtables.netfilter.org/ - -comment "ebtables needs a glibc or uClibc toolchain" - depends on BR2_USE_MMU diff --git a/package/edid-decode/Config.in b/package/edid-decode/Config.in index 64297b494d..701c70031f 100644 --- a/package/edid-decode/Config.in +++ b/package/edid-decode/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_EDID_DECODE help Decode EDID data in human-readable format. - http://cgit.freedesktop.org/xorg/app/edid-decode/ + https://git.linuxtv.org/edid-decode.git/ diff --git a/package/edid-decode/edid-decode.mk b/package/edid-decode/edid-decode.mk index a4141b899b..b412a77a13 100644 --- a/package/edid-decode/edid-decode.mk +++ b/package/edid-decode/edid-decode.mk @@ -5,7 +5,7 @@ ################################################################################ EDID_DECODE_VERSION = f56f329ed23a25d002352dedba1e8f092a47286f -EDID_DECODE_SITE = git://anongit.freedesktop.org/git/xorg/app/edid-decode.git +EDID_DECODE_SITE = git://linuxtv.org/edid-decode.git EDID_DECODE_LICENSE = MIT EDID_DECODE_LICENSE_FILES = edid-decode.c diff --git a/package/eeprog/Config.in b/package/eeprog/Config.in deleted file mode 100644 index ff313bdbae..0000000000 --- a/package/eeprog/Config.in +++ /dev/null @@ -1,6 +0,0 @@ -config BR2_PACKAGE_EEPROG - bool "eeprog" - help - Simple tool to read/write i2c eeprom chips. - - http://codesink.org/eeprog.html diff --git a/package/eeprog/eeprog.hash b/package/eeprog/eeprog.hash deleted file mode 100644 index c91be72332..0000000000 --- a/package/eeprog/eeprog.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated -sha256 35155cc3844d2c3ae8ed6935fda72768c7f24fddc4a0fca89e4ffbb34880d9ef eeprog-0.7.6.tar.gz diff --git a/package/eeprog/eeprog.mk b/package/eeprog/eeprog.mk deleted file mode 100644 index 0b0fcc67e1..0000000000 --- a/package/eeprog/eeprog.mk +++ /dev/null @@ -1,20 +0,0 @@ -################################################################################ -# -# eeprog -# -################################################################################ - -EEPROG_VERSION = 0.7.6 -EEPROG_SITE = http://www.codesink.org/download -EEPROG_LICENSE = GPL-2.0+ -EEPROG_LICENSE_FILES = eeprog.c - -define EEPROG_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -endef - -define EEPROG_INSTALL_TARGET_CMDS - $(INSTALL) -D $(@D)/eeprog $(TARGET_DIR)/usr/bin/eeprog -endef - -$(eval $(generic-package)) diff --git a/package/efl/Config.in b/package/efl/Config.in index cfb803c6df..aa5749db05 100644 --- a/package/efl/Config.in +++ b/package/efl/Config.in @@ -97,6 +97,11 @@ config BR2_PACKAGE_EFL_LIBSNDFILE config BR2_PACKAGE_EFL_PULSEAUDIO bool "Enable pulseaudio support (recommended)" default y + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + depends on BR2_USE_MMU select BR2_PACKAGE_PULSEAUDIO help The only audio output method supported by Ecore right now is diff --git a/package/efl/efl.hash b/package/efl/efl.hash index edc72c2d1f..5507bda3ef 100644 --- a/package/efl/efl.hash +++ b/package/efl/efl.hash @@ -1,2 +1,10 @@ -# From https://download.enlightenment.org/rel/libs/efl/efl-1.20.5.tar.xz.sha256 -sha256 da5e69b81c94b79f4e31cfc312413c36acb7429e1cb6fd4397a1251a0e23c21c efl-1.20.5.tar.xz +# From https://download.enlightenment.org/rel/libs/efl/efl-1.20.6.tar.xz.sha256 +sha256 56c67ea77435753a4f324a0a13488ba58f4ed7eb35a97c1a354fdc79c39a32c1 efl-1.20.6.tar.xz +sha256 d949e42ca8fd48d275c397c5fc2ac34c9b63ada715dcaf1a670e17bb62964341 COMPLIANCE +sha256 1f0597d326e2fdb54aa2f0caec6d8bb0afb9941ef32475f017ed02ca214fcf37 COPYING +sha256 781ee841d15835b393bfe7d4c6497dc1b05217479abd40daceaf7aa102a758e1 licenses/COPYING.BSD +sha256 e60d07dfb2c5264f9f405fa52bf0d4f85429dd9ae1bc2ffcff8af1924ef720d1 licenses/COPYING.FTL +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 licenses/COPYING.GPL +sha256 89f79ccd2c35ba220ddeba70ee36ca867226c41fc210bc5e7f1e9032c5b16d5f licenses/COPYING.LGPL +sha256 2996a1c43ee757f9c997a829d82bdd584052323e73cf02ff8126c6fbd95c2d87 licenses/COPYING.NGINX-MIT +sha256 48f124212f8fc024392a2d1d011fbb96c7ab8f89c0b72c671c33e9e1cb1d0790 licenses/COPYING.SMALL diff --git a/package/efl/efl.mk b/package/efl/efl.mk index e0748d2215..7085796756 100644 --- a/package/efl/efl.mk +++ b/package/efl/efl.mk @@ -4,10 +4,10 @@ # ################################################################################ -EFL_VERSION = 1.20.5 +EFL_VERSION = 1.20.6 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+ +EFL_LICENSE = BSD-2-Clause, LGPL-2.1+, GPL-2.0+, FTL, MIT EFL_LICENSE_FILES = \ COMPLIANCE \ COPYING \ @@ -15,6 +15,7 @@ EFL_LICENSE_FILES = \ licenses/COPYING.FTL \ licenses/COPYING.GPL \ licenses/COPYING.LGPL \ + licenses/COPYING.NGINX-MIT \ licenses/COPYING.SMALL EFL_INSTALL_STAGING = YES diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk index 89f54fb948..27c4e212a9 100644 --- a/package/eigen/eigen.mk +++ b/package/eigen/eigen.mk @@ -23,7 +23,8 @@ endif # Generate the .pc file at build time define EIGEN_BUILD_CMDS sed -r -e 's,^Version: .*,Version: $(EIGEN_VERSION),' \ - -e 's,^Cflags: .*,Cflags: -I$(EIGEN_DEST_DIR),' \ + -e 's,^Cflags: .*,Cflags: -I$$\{prefix\}/include/eigen3,' \ + -e 's,^prefix.*,prefix=/usr,' \ $(@D)/eigen3.pc.in >$(@D)/eigen3.pc endef diff --git a/package/ejabberd/0001-remove-make-targets-for-deps.patch b/package/ejabberd/0001-remove-make-targets-for-deps.patch index aee09670a1..f012140a18 100644 --- a/package/ejabberd/0001-remove-make-targets-for-deps.patch +++ b/package/ejabberd/0001-remove-make-targets-for-deps.patch @@ -9,10 +9,10 @@ using rebar at build time. Signed-off-by: Frank Hunleth diff --git a/Makefile.in b/Makefile.in -index a0b4553d..4190a515 100644 +index df2abfdc..8c8fd714 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -77,26 +77,11 @@ else +@@ -86,27 +86,11 @@ else INIT_USER=$(INSTALLUSER) endif @@ -24,6 +24,7 @@ index a0b4553d..4190a515 100644 -deps/.got: - rm -rf deps/.got - rm -rf deps/.built +- mkdir -p deps - $(REBAR) get-deps && :> deps/.got - -deps/.built: deps/.got diff --git a/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch b/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch index bcf1e8a5ee..154c7bffd5 100644 --- a/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch +++ b/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch @@ -1,54 +1,61 @@ -From d399ecdd99e62b5554210a3b5c733e738e4d54be Mon Sep 17 00:00:00 2001 -From: Philipp Huebner -Date: Wed, 20 Jan 2016 08:08:42 -0500 +From 8674f61701da41cc53c532b5fa3a516838a2c5d4 Mon Sep 17 00:00:00 2001 +From: Johan Oudinet +Date: Wed, 10 Jan 2018 15:14:56 +0100 Subject: [PATCH] remove dependencies from rebar config -Without this patch, dependencies would be downloaded and compiled -by rebar at build time. +Without this patch, dependencies would be downloaded and compiled by +rebar at build time. -Signed-off-by: Frank Hunleth +Signed-off-by: Johan Oudinet +--- + rebar.config | 72 ------------------------------------------------------------ + 1 file changed, 72 deletions(-) diff --git a/rebar.config b/rebar.config -index aef3a017..71937023 100644 +index d6ad5e7b..0b246b92 100644 --- a/rebar.config +++ b/rebar.config -@@ -18,63 +18,6 @@ +@@ -18,68 +18,6 @@ %%% %%%---------------------------------------------------------------------- - --{deps, [{lager, ".*", {git, "https://github.com/basho/lager", {tag, "3.2.1"}}}, -- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.8"}}}, -- {cache_tab, ".*", {git, "https://github.com/processone/cache_tab", {tag, "1.0.7"}}}, -- {fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.11"}}}, -- {stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.8"}}}, -- {fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.21"}}}, -- {xmpp, ".*", {git, "https://github.com/processone/xmpp", {tag, "1.1.9"}}}, -- {stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.10"}}}, -- {esip, ".*", {git, "https://github.com/processone/esip", {tag, "1.0.11"}}}, -- {fast_yaml, ".*", {git, "https://github.com/processone/fast_yaml", {tag, "1.0.9"}}}, + +-{deps, [{lager, ".*", {git, "https://github.com/erlang-lager/lager", +- {tag, {if_version_above, "17", "3.4.2", "3.2.1"}}}}, +- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}, +- {cache_tab, ".*", {git, "https://github.com/processone/cache_tab", {tag, "1.0.12"}}}, +- {fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.17"}}}, +- {stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.10"}}}, +- {fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.25"}}}, +- {xmpp, ".*", {git, "https://github.com/processone/xmpp", {tag, "1.1.16"}}}, +- {fast_yaml, ".*", {git, "https://github.com/processone/fast_yaml", {tag, "1.0.12"}}}, - {jiffy, ".*", {git, "https://github.com/davisp/jiffy", {tag, "0.14.8"}}}, -- {p1_oauth2, ".*", {git, "https://github.com/processone/p1_oauth2", {tag, "0.6.1"}}}, +- {p1_oauth2, ".*", {git, "https://github.com/processone/p1_oauth2", {tag, "0.6.2"}}}, - {luerl, ".*", {git, "https://github.com/rvirding/luerl", {tag, "v0.2"}}}, +- {jose, ".*", {git, "git://github.com/potatosalad/erlang-jose.git", {tag, "1.8.4"}}}, +- {fs, ".*", {git, "https://github.com/synrc/fs.git", {tag, "2.12.0"}}}, +- {if_var_true, stun, {stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.16"}}}}, +- {if_var_true, sip, {esip, ".*", {git, "https://github.com/processone/esip", {tag, "1.0.17"}}}}, - {if_var_true, mysql, {p1_mysql, ".*", {git, "https://github.com/processone/p1_mysql", -- {tag, "1.0.2"}}}}, +- {tag, "1.0.4"}}}}, - {if_var_true, pgsql, {p1_pgsql, ".*", {git, "https://github.com/processone/p1_pgsql", -- {tag, "1.1.2"}}}}, +- {tag, "1.1.4"}}}}, - {if_var_true, sqlite, {sqlite3, ".*", {git, "https://github.com/processone/erlang-sqlite3", - {tag, "1.1.5"}}}}, - {if_var_true, pam, {epam, ".*", {git, "https://github.com/processone/epam", -- {tag, "1.0.2"}}}}, +- {tag, "1.0.3"}}}}, - {if_var_true, zlib, {ezlib, ".*", {git, "https://github.com/processone/ezlib", -- {tag, "1.0.2"}}}}, -- {if_var_true, riak, {riakc, ".*", {git, "https://github.com/basho/riak-erlang-client", -- {tag, "2.4.1"}}}}, +- {tag, "1.0.3"}}}}, +- {if_var_true, riak, {riakc, ".*", {git, "https://github.com/processone/riak-erlang-client.git", +- {tag, {if_version_above, "19", "develop", "2.5.3"}}}}}, +- {if_var_true, graphics, {eimp, ".*", {git, "https://github.com/processone/eimp.git", {tag, "1.0.2"}}}}, - %% Elixir support, needed to run tests - {if_var_true, elixir, {elixir, ".*", {git, "https://github.com/elixir-lang/elixir", -- {tag, {if_version_above, "17", "v1.2.6", "v1.1.1"}}}}}, +- {tag, {if_version_above, "17", "v1.4.4", "v1.1.1"}}}}}, - %% TODO: When modules are fully migrated to new structure and mix, we will not need anymore rebar_elixir_plugin - {if_not_rebar3, {if_var_true, elixir, {rebar_elixir_plugin, ".*", - {git, "https://github.com/processone/rebar_elixir_plugin", "0.1.0"}}}}, - {if_var_true, iconv, {iconv, ".*", {git, "https://github.com/processone/iconv", -- {tag, "1.0.4"}}}}, +- {tag, "1.0.6"}}}}, - {if_var_true, tools, {meck, "0.8.*", {git, "https://github.com/eproxus/meck", - {tag, "0.8.4"}}}}, - {if_var_true, tools, {moka, ".*", {git, "https://github.com/processone/moka.git", @@ -62,33 +69,38 @@ index aef3a017..71937023 100644 - stringprep, - fast_xml, - esip, -- luerl, - stun, - fast_yaml, - xmpp, - p1_utils, - p1_mysql, - p1_pgsql, +- p1_oauth2, - epam, - ezlib, +- eimp, - iconv]}}. - - {erl_first_files, ["src/ejabberd_config.erl", "src/gen_mod.erl", "src/mod_muc_room.erl"]}. - + {erl_first_files, ["src/ejabberd_config.erl", "src/gen_mod.erl", "src/mod_muc_room.erl", "src/mod_push.erl"]}. + {erl_opts, [nowarn_deprecated_function, -@@ -142,15 +85,6 @@ +@@ -153,16 +91,6 @@ {if_version_above, "17", {cover_enabled, true}}. {cover_export_enabled, true}. - + -{post_hook_configure, [{"fast_tls", []}, - {"stringprep", []}, - {"fast_yaml", []}, -- {"esip", []}, +- {if_var_true, sip, {"esip", []}}, - {"fast_xml", [{if_var_true, full_xml, "--enable-full-xml"}]}, - {if_var_true, pam, {"epam", []}}, - {if_var_true, zlib, {"ezlib", []}}, +- {if_var_true, graphics, {"eimp", []}}, - {if_var_true, iconv, {"iconv", []}}]}. - {port_env, [{"CFLAGS", "-g -O2 -Wall"}]}. - + {port_specs, [{"priv/lib/jid.so", ["c_src/jid.c"]}]}. +-- +2.14.1 + diff --git a/package/ejabberd/0004-correct-include.patch b/package/ejabberd/0004-correct-include.patch deleted file mode 100644 index 4db7395f75..0000000000 --- a/package/ejabberd/0004-correct-include.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 705a9ad229de49cd9cce226a2025716902455663 Mon Sep 17 00:00:00 2001 -From: Philipp Huebner -Date: Wed, 20 Jan 2016 08:13:21 -0500 -Subject: [PATCH] correct include - -This part of the code was moved into it's own project and was packaged -separately by me. To make the build process work, this small fix is -necessary. - -Signed-off-by: Johan Oudinet ---- - src/mod_sip.erl | 2 +- - src/mod_sip_proxy.erl | 2 +- - src/mod_sip_registrar.erl | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/mod_sip.erl b/src/mod_sip.erl -index c8c9533..7f188a0 100644 ---- a/src/mod_sip.erl -+++ b/src/mod_sip.erl -@@ -38,7 +38,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include_lib("esip/include/esip.hrl"). -+-include_lib("p1_sip/include/esip.hrl"). - - %%%=================================================================== - %%% API -diff --git a/src/mod_sip_proxy.erl b/src/mod_sip_proxy.erl -index bf297bc..d8b65cd 100644 ---- a/src/mod_sip_proxy.erl -+++ b/src/mod_sip_proxy.erl -@@ -40,7 +40,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include_lib("esip/include/esip.hrl"). -+-include_lib("p1_sip/include/esip.hrl"). - - -define(SIGN_LIFETIME, 300). %% in seconds. - -diff --git a/src/mod_sip_registrar.erl b/src/mod_sip_registrar.erl -index 44091ed..4d2ec82 100644 ---- a/src/mod_sip_registrar.erl -+++ b/src/mod_sip_registrar.erl -@@ -37,7 +37,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include_lib("esip/include/esip.hrl"). -+-include_lib("p1_sip/include/esip.hrl"). - - -define(CALL_TIMEOUT, timer:seconds(30)). - -define(DEFAULT_EXPIRES, 3600). --- -2.5.0 - diff --git a/package/ejabberd/0004-correct-includes.patch b/package/ejabberd/0004-correct-includes.patch new file mode 100644 index 0000000000..f8f827a4eb --- /dev/null +++ b/package/ejabberd/0004-correct-includes.patch @@ -0,0 +1,1919 @@ +From 0487178693143955ff57e3c9371fb6e7b164294c Mon Sep 17 00:00:00 2001 +From: Johan Oudinet +Date: Thu, 11 Jan 2018 12:49:38 +0100 +Subject: [PATCH] correct includes + +Use include_lib() instead of include() for files from external +libraries. See https://github.com/processone/ejabberd/pull/1446 + +Note: Philipp Huebner has a similar patch in Debian's port of ejabberd +but it was easier to redo this patch from scratch with the following sed +command on ejabberd git repository than adapting Huebner's patch format: +for f in src/*.erl include/*.hrl; do + sed -i -e 's,esip/include,s1_sip/include,g' \ + -e 's,include("ns.hrl,include_lib("p1_xmpp/include/ns.hrl,g' \ + -e 's,include("fxml.hrl,include_lib("p1_xml/include/fxml.hrl,g' \ + -e 's,include("xmpp\.hrl,include_lib("p1_xmpp/include/xmpp.hrl,g' \ + -e 's,include("jid\.hrl,include_lib("p1_xmpp/include/jid.hrl,g' \ + "$f" +done + +Signed-off-by: Johan Oudinet +--- + include/jlib.hrl | 4 ++-- + src/acl.erl | 2 +- + src/acme_challenge.erl | 2 +- + src/ejabberd_acme.erl | 2 +- + src/ejabberd_acme_comm.erl | 2 +- + src/ejabberd_auth_anonymous.erl | 2 +- + src/ejabberd_bosh.erl | 2 +- + src/ejabberd_c2s.erl | 2 +- + src/ejabberd_captcha.erl | 2 +- + src/ejabberd_http.erl | 2 +- + src/ejabberd_http_ws.erl | 2 +- + src/ejabberd_iq.erl | 2 +- + src/ejabberd_local.erl | 2 +- + src/ejabberd_oauth.erl | 2 +- + src/ejabberd_oauth_rest.erl | 2 +- + src/ejabberd_oauth_sql.erl | 2 +- + src/ejabberd_piefxis.erl | 2 +- + src/ejabberd_router.erl | 2 +- + src/ejabberd_router_multicast.erl | 2 +- + src/ejabberd_s2s.erl | 2 +- + src/ejabberd_s2s_in.erl | 2 +- + src/ejabberd_s2s_out.erl | 2 +- + src/ejabberd_service.erl | 2 +- + src/ejabberd_sm.erl | 2 +- + src/ejabberd_socket.erl | 2 +- + src/ejabberd_system_monitor.erl | 2 +- + src/ejabberd_web.erl | 2 +- + src/ejabberd_web_admin.erl | 2 +- + src/ejabberd_websocket.erl | 2 +- + src/ejabberd_xmlrpc.erl | 2 +- + src/gen_iq_handler.erl | 2 +- + src/gen_pubsub_node.erl | 2 +- + src/gen_pubsub_nodetree.erl | 2 +- + src/jd2ejd.erl | 2 +- + src/mod_adhoc.erl | 2 +- + src/mod_admin_extra.erl | 2 +- + src/mod_admin_update_sql.erl | 2 +- + src/mod_announce.erl | 2 +- + src/mod_announce_mnesia.erl | 2 +- + src/mod_announce_riak.erl | 2 +- + src/mod_announce_sql.erl | 2 +- + src/mod_avatar.erl | 2 +- + src/mod_block_strangers.erl | 2 +- + src/mod_blocking.erl | 2 +- + src/mod_bosh.erl | 2 +- + src/mod_caps.erl | 2 +- + src/mod_carboncopy.erl | 2 +- + src/mod_client_state.erl | 2 +- + src/mod_configure.erl | 2 +- + src/mod_delegation.erl | 2 +- + src/mod_disco.erl | 2 +- + src/mod_echo.erl | 2 +- + src/mod_fail2ban.erl | 2 +- + src/mod_http_api.erl | 2 +- + src/mod_http_upload.erl | 2 +- + src/mod_http_upload_quota.erl | 2 +- + src/mod_irc.erl | 2 +- + src/mod_irc_connection.erl | 2 +- + src/mod_irc_mnesia.erl | 2 +- + src/mod_irc_riak.erl | 2 +- + src/mod_irc_sql.erl | 2 +- + src/mod_last.erl | 2 +- + src/mod_legacy_auth.erl | 2 +- + src/mod_mam.erl | 2 +- + src/mod_mam_mnesia.erl | 2 +- + src/mod_mam_sql.erl | 2 +- + src/mod_metrics.erl | 2 +- + src/mod_mix.erl | 2 +- + src/mod_muc.erl | 2 +- + src/mod_muc_admin.erl | 2 +- + src/mod_muc_log.erl | 2 +- + src/mod_muc_mnesia.erl | 2 +- + src/mod_muc_riak.erl | 2 +- + src/mod_muc_room.erl | 2 +- + src/mod_muc_sql.erl | 2 +- + src/mod_multicast.erl | 2 +- + src/mod_offline.erl | 2 +- + src/mod_offline_mnesia.erl | 2 +- + src/mod_offline_riak.erl | 2 +- + src/mod_offline_sql.erl | 2 +- + src/mod_ping.erl | 2 +- + src/mod_pres_counter.erl | 2 +- + src/mod_privacy.erl | 2 +- + src/mod_privacy_mnesia.erl | 2 +- + src/mod_privacy_riak.erl | 2 +- + src/mod_privacy_sql.erl | 2 +- + src/mod_private.erl | 2 +- + src/mod_private_mnesia.erl | 2 +- + src/mod_private_riak.erl | 2 +- + src/mod_private_sql.erl | 2 +- + src/mod_privilege.erl | 2 +- + src/mod_proxy65_service.erl | 2 +- + src/mod_pubsub.erl | 2 +- + src/mod_push.erl | 2 +- + src/mod_push_keepalive.erl | 2 +- + src/mod_push_mnesia.erl | 2 +- + src/mod_push_sql.erl | 2 +- + src/mod_register.erl | 2 +- + src/mod_register_web.erl | 2 +- + src/mod_roster.erl | 2 +- + src/mod_s2s_dialback.erl | 2 +- + src/mod_service_log.erl | 2 +- + src/mod_shared_roster.erl | 2 +- + src/mod_shared_roster_ldap.erl | 2 +- + src/mod_shared_roster_mnesia.erl | 2 +- + src/mod_shared_roster_riak.erl | 2 +- + src/mod_shared_roster_sql.erl | 2 +- + src/mod_sic.erl | 2 +- + src/mod_sip.erl | 2 +- + src/mod_sip_proxy.erl | 2 +- + src/mod_sip_registrar.erl | 2 +- + src/mod_stats.erl | 2 +- + src/mod_stream_mgmt.erl | 2 +- + src/mod_time.erl | 2 +- + src/mod_vcard.erl | 2 +- + src/mod_vcard_ldap.erl | 2 +- + src/mod_vcard_mnesia.erl | 2 +- + src/mod_vcard_riak.erl | 2 +- + src/mod_vcard_sql.erl | 2 +- + src/mod_vcard_xupdate.erl | 2 +- + src/mod_version.erl | 2 +- + src/node_dag.erl | 2 +- + src/node_dispatch.erl | 2 +- + src/node_flat.erl | 2 +- + src/node_flat_sql.erl | 2 +- + src/node_online.erl | 2 +- + src/nodetree_dag.erl | 2 +- + src/nodetree_tree.erl | 2 +- + src/nodetree_tree_sql.erl | 2 +- + src/prosody2ejabberd.erl | 2 +- + src/pubsub_subscription.erl | 2 +- + src/pubsub_subscription_sql.erl | 2 +- + src/xmpp_stream_in.erl | 2 +- + src/xmpp_stream_out.erl | 2 +- + src/xmpp_stream_pkix.erl | 2 +- + 135 files changed, 136 insertions(+), 136 deletions(-) + +diff --git a/include/jlib.hrl b/include/jlib.hrl +index cd5fedbf..293fcc0e 100644 +--- a/include/jlib.hrl ++++ b/include/jlib.hrl +@@ -18,8 +18,8 @@ + %%% + %%%---------------------------------------------------------------------- + +--include("ns.hrl"). +--include("fxml.hrl"). ++-include_lib("p1_xmpp/include/ns.hrl"). ++-include_lib("p1_xml/include/fxml.hrl"). + + -define(STANZA_ERROR(Code, Type, Condition), + #xmlel{name = <<"error">>, +diff --git a/src/acl.erl b/src/acl.erl +index 2d848b99..88df4625 100644 +--- a/src/acl.erl ++++ b/src/acl.erl +@@ -45,7 +45,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("jid.hrl"). ++-include_lib("p1_xmpp/include/jid.hrl"). + + -record(acl, {aclname, aclspec}). + -record(access, {name :: aclname(), +diff --git a/src/acme_challenge.erl b/src/acme_challenge.erl +index f4fde4e7..45fc6d8f 100644 +--- a/src/acme_challenge.erl ++++ b/src/acme_challenge.erl +@@ -16,7 +16,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("ejabberd_http.hrl"). + -include("ejabberd_acme.hrl"). + +diff --git a/src/ejabberd_acme.erl b/src/ejabberd_acme.erl +index a5166b45..eee74092 100644 +--- a/src/ejabberd_acme.erl ++++ b/src/ejabberd_acme.erl +@@ -21,7 +21,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("ejabberd_commands.hrl"). + -include("ejabberd_acme.hrl"). + -include_lib("public_key/include/public_key.hrl"). +diff --git a/src/ejabberd_acme_comm.erl b/src/ejabberd_acme_comm.erl +index a5668d08..02acd1c4 100644 +--- a/src/ejabberd_acme_comm.erl ++++ b/src/ejabberd_acme_comm.erl +@@ -24,7 +24,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("ejabberd_acme.hrl"). + -include_lib("public_key/include/public_key.hrl"). +diff --git a/src/ejabberd_auth_anonymous.erl b/src/ejabberd_auth_anonymous.erl +index a4f3ac1c..697b3e08 100644 +--- a/src/ejabberd_auth_anonymous.erl ++++ b/src/ejabberd_auth_anonymous.erl +@@ -46,7 +46,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("jid.hrl"). ++-include_lib("p1_xmpp/include/jid.hrl"). + + start(Host) -> + ejabberd_hooks:add(sm_register_connection_hook, Host, +diff --git a/src/ejabberd_bosh.erl b/src/ejabberd_bosh.erl +index 1df6681f..e8cc5f9b 100644 +--- a/src/ejabberd_bosh.erl ++++ b/src/ejabberd_bosh.erl +@@ -47,7 +47,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("ejabberd_http.hrl"). + +diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl +index a94d065f..a56d9041 100644 +--- a/src/ejabberd_c2s.erl ++++ b/src/ejabberd_c2s.erl +@@ -52,7 +52,7 @@ + host_up/1, host_down/1]). + + -include("ejabberd.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + -include("mod_roster.hrl"). + +diff --git a/src/ejabberd_captcha.erl b/src/ejabberd_captcha.erl +index 76af5278..3a950786 100644 +--- a/src/ejabberd_captcha.erl ++++ b/src/ejabberd_captcha.erl +@@ -43,7 +43,7 @@ + is_feature_available/0, create_captcha_x/5, + opt_type/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("ejabberd.hrl"). + -include("logger.hrl"). + -include("ejabberd_http.hrl"). +diff --git a/src/ejabberd_http.erl b/src/ejabberd_http.erl +index 0bc0d8fc..d39a585d 100644 +--- a/src/ejabberd_http.erl ++++ b/src/ejabberd_http.erl +@@ -39,7 +39,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("ejabberd_http.hrl"). + +diff --git a/src/ejabberd_http_ws.erl b/src/ejabberd_http_ws.erl +index f9f7b07e..5c0e6ea1 100644 +--- a/src/ejabberd_http_ws.erl ++++ b/src/ejabberd_http_ws.erl +@@ -39,7 +39,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("ejabberd_http.hrl"). + +diff --git a/src/ejabberd_iq.erl b/src/ejabberd_iq.erl +index 7d2751dc..76a6b056 100644 +--- a/src/ejabberd_iq.erl ++++ b/src/ejabberd_iq.erl +@@ -34,7 +34,7 @@ + -export([init/1, handle_call/3, handle_cast/2, handle_info/2, + terminate/2, code_change/3]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + + -record(state, {expire = infinity :: timeout()}). +diff --git a/src/ejabberd_local.erl b/src/ejabberd_local.erl +index cc1d6a2e..f72fd43b 100644 +--- a/src/ejabberd_local.erl ++++ b/src/ejabberd_local.erl +@@ -50,7 +50,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + -include_lib("stdlib/include/ms_transform.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -record(state, {}). + +diff --git a/src/ejabberd_oauth.erl b/src/ejabberd_oauth.erl +index df4e4bc2..34bf24f8 100644 +--- a/src/ejabberd_oauth.erl ++++ b/src/ejabberd_oauth.erl +@@ -52,7 +52,7 @@ + + -export([oauth_issue_token/3, oauth_list_tokens/0, oauth_revoke_token/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("ejabberd.hrl"). + -include("logger.hrl"). +diff --git a/src/ejabberd_oauth_rest.erl b/src/ejabberd_oauth_rest.erl +index 206fab43..1a7287ee 100644 +--- a/src/ejabberd_oauth_rest.erl ++++ b/src/ejabberd_oauth_rest.erl +@@ -37,7 +37,7 @@ + -include("ejabberd.hrl"). + -include("ejabberd_oauth.hrl"). + -include("logger.hrl"). +--include("jid.hrl"). ++-include_lib("p1_xmpp/include/jid.hrl"). + + init() -> + rest:start(?MYNAME), +diff --git a/src/ejabberd_oauth_sql.erl b/src/ejabberd_oauth_sql.erl +index 14eaca6a..fcd105ba 100644 +--- a/src/ejabberd_oauth_sql.erl ++++ b/src/ejabberd_oauth_sql.erl +@@ -36,7 +36,7 @@ + -include("ejabberd_oauth.hrl"). + -include("ejabberd.hrl"). + -include("ejabberd_sql_pt.hrl"). +--include("jid.hrl"). ++-include_lib("p1_xmpp/include/jid.hrl"). + -include("logger.hrl"). + + init() -> +diff --git a/src/ejabberd_piefxis.erl b/src/ejabberd_piefxis.erl +index ecb4908a..7331f442 100644 +--- a/src/ejabberd_piefxis.erl ++++ b/src/ejabberd_piefxis.erl +@@ -42,7 +42,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_privacy.hrl"). + -include("mod_roster.hrl"). + +diff --git a/src/ejabberd_router.erl b/src/ejabberd_router.erl +index e2901483..315505ec 100644 +--- a/src/ejabberd_router.erl ++++ b/src/ejabberd_router.erl +@@ -71,7 +71,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + -include("ejabberd_router.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -callback init() -> any(). + -callback register_route(binary(), binary(), local_hint(), +diff --git a/src/ejabberd_router_multicast.erl b/src/ejabberd_router_multicast.erl +index 5d5acfca..3f206ef2 100644 +--- a/src/ejabberd_router_multicast.erl ++++ b/src/ejabberd_router_multicast.erl +@@ -43,7 +43,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -record(route_multicast, {domain = <<"">> :: binary() | '_', + pid = self() :: pid()}). +diff --git a/src/ejabberd_s2s.erl b/src/ejabberd_s2s.erl +index 0626d62f..e2fc34c9 100644 +--- a/src/ejabberd_s2s.erl ++++ b/src/ejabberd_s2s.erl +@@ -57,7 +57,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("ejabberd_commands.hrl"). + +diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl +index a949e83d..3d8e100e 100644 +--- a/src/ejabberd_s2s_in.erl ++++ b/src/ejabberd_s2s_in.erl +@@ -45,7 +45,7 @@ + host_up/1, host_down/1]). + + -include("ejabberd.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + + -type state() :: map(). +diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl +index fea5d816..c035731f 100644 +--- a/src/ejabberd_s2s_out.erl ++++ b/src/ejabberd_s2s_out.erl +@@ -43,7 +43,7 @@ + route/2, establish/1, update_state/2, host_up/1, host_down/1]). + + -include("ejabberd.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + + -type state() :: map(). +diff --git a/src/ejabberd_service.erl b/src/ejabberd_service.erl +index 7b5f945d..895fed09 100644 +--- a/src/ejabberd_service.erl ++++ b/src/ejabberd_service.erl +@@ -37,7 +37,7 @@ + -export([send/2]). + + -include("ejabberd.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + + -type state() :: map(). +diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl +index 3df1d88e..e8087c48 100644 +--- a/src/ejabberd_sm.erl ++++ b/src/ejabberd_sm.erl +@@ -89,7 +89,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("ejabberd_commands.hrl"). + -include("ejabberd_sm.hrl"). +diff --git a/src/ejabberd_socket.erl b/src/ejabberd_socket.erl +index 9953a76a..0dd1c4ff 100644 +--- a/src/ejabberd_socket.erl ++++ b/src/ejabberd_socket.erl +@@ -52,7 +52,7 @@ + sockname/1, peername/1]). + + -include("ejabberd.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + + -type sockmod() :: ejabberd_bosh | +diff --git a/src/ejabberd_system_monitor.erl b/src/ejabberd_system_monitor.erl +index 773104f9..46e641b7 100644 +--- a/src/ejabberd_system_monitor.erl ++++ b/src/ejabberd_system_monitor.erl +@@ -41,7 +41,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -record(state, {}). + +diff --git a/src/ejabberd_web.erl b/src/ejabberd_web.erl +index 7a40d2c7..aa1abc9b 100644 +--- a/src/ejabberd_web.erl ++++ b/src/ejabberd_web.erl +@@ -34,7 +34,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("ejabberd_http.hrl"). + +diff --git a/src/ejabberd_web_admin.erl b/src/ejabberd_web_admin.erl +index b3d72c19..cdd951b6 100644 +--- a/src/ejabberd_web_admin.erl ++++ b/src/ejabberd_web_admin.erl +@@ -38,7 +38,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("ejabberd_http.hrl"). + +diff --git a/src/ejabberd_websocket.erl b/src/ejabberd_websocket.erl +index 9926c20c..fabf2293 100644 +--- a/src/ejabberd_websocket.erl ++++ b/src/ejabberd_websocket.erl +@@ -47,7 +47,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("ejabberd_http.hrl"). + +diff --git a/src/ejabberd_xmlrpc.erl b/src/ejabberd_xmlrpc.erl +index 213aef7a..f5b51894 100644 +--- a/src/ejabberd_xmlrpc.erl ++++ b/src/ejabberd_xmlrpc.erl +@@ -42,7 +42,7 @@ + -include("ejabberd_http.hrl"). + -include("mod_roster.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -record(state, + {access_commands = [] :: list(), +diff --git a/src/gen_iq_handler.erl b/src/gen_iq_handler.erl +index d34db358..ab04a252 100644 +--- a/src/gen_iq_handler.erl ++++ b/src/gen_iq_handler.erl +@@ -45,7 +45,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -record(state, {host, module, function}). + +diff --git a/src/gen_pubsub_node.erl b/src/gen_pubsub_node.erl +index 4f516bd5..83de80a8 100644 +--- a/src/gen_pubsub_node.erl ++++ b/src/gen_pubsub_node.erl +@@ -25,7 +25,7 @@ + + -module(gen_pubsub_node). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -type(host() :: mod_pubsub:host()). + -type(nodeId() :: mod_pubsub:nodeId()). +diff --git a/src/gen_pubsub_nodetree.erl b/src/gen_pubsub_nodetree.erl +index bf7140aa..4267b9a1 100644 +--- a/src/gen_pubsub_nodetree.erl ++++ b/src/gen_pubsub_nodetree.erl +@@ -36,7 +36,7 @@ + ServerHost :: binary(), + Opts :: [any()]) -> atom(). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -callback terminate(Host :: host(), ServerHost :: binary()) -> atom(). + +diff --git a/src/jd2ejd.erl b/src/jd2ejd.erl +index ae293698..bbe9bc6d 100644 +--- a/src/jd2ejd.erl ++++ b/src/jd2ejd.erl +@@ -32,7 +32,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + %%%---------------------------------------------------------------------- + %%% API +diff --git a/src/mod_adhoc.erl b/src/mod_adhoc.erl +index e6df3904..0f3ada11 100644 +--- a/src/mod_adhoc.erl ++++ b/src/mod_adhoc.erl +@@ -39,7 +39,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + start(Host, Opts) -> + IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), +diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl +index 799f0079..9fd8531b 100644 +--- a/src/mod_admin_extra.erl ++++ b/src/mod_admin_extra.erl +@@ -84,7 +84,7 @@ + -include("mod_roster.hrl"). + -include("mod_privacy.hrl"). + -include("ejabberd_sm.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + %%% + %%% gen_mod +diff --git a/src/mod_admin_update_sql.erl b/src/mod_admin_update_sql.erl +index 2f105d97..cace1b94 100644 +--- a/src/mod_admin_update_sql.erl ++++ b/src/mod_admin_update_sql.erl +@@ -38,7 +38,7 @@ + -include("logger.hrl"). + -include("ejabberd.hrl"). + -include("ejabberd_commands.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("ejabberd_sql_pt.hrl"). + + %%% +diff --git a/src/mod_announce.erl b/src/mod_announce.erl +index b259aced..146b6a35 100644 +--- a/src/mod_announce.erl ++++ b/src/mod_announce.erl +@@ -52,7 +52,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_announce.hrl"). + + -callback init(binary(), gen_mod:opts()) -> any(). +diff --git a/src/mod_announce_mnesia.erl b/src/mod_announce_mnesia.erl +index f2e5c1c4..cecd68cc 100644 +--- a/src/mod_announce_mnesia.erl ++++ b/src/mod_announce_mnesia.erl +@@ -31,7 +31,7 @@ + get_motd/1, is_motd_user/2, set_motd_user/2, import/3]). + -export([need_transform/1, transform/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_announce.hrl"). + -include("logger.hrl"). + +diff --git a/src/mod_announce_riak.erl b/src/mod_announce_riak.erl +index 04a29a68..a3dac3e9 100644 +--- a/src/mod_announce_riak.erl ++++ b/src/mod_announce_riak.erl +@@ -30,7 +30,7 @@ + -export([init/2, set_motd_users/2, set_motd/2, delete_motd/1, + get_motd/1, is_motd_user/2, set_motd_user/2, import/3]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_announce.hrl"). + + %%%=================================================================== +diff --git a/src/mod_announce_sql.erl b/src/mod_announce_sql.erl +index c5c9eb58..b243d05d 100644 +--- a/src/mod_announce_sql.erl ++++ b/src/mod_announce_sql.erl +@@ -33,7 +33,7 @@ + get_motd/1, is_motd_user/2, set_motd_user/2, import/3, + export/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_announce.hrl"). + -include("ejabberd_sql_pt.hrl"). + -include("logger.hrl"). +diff --git a/src/mod_avatar.erl b/src/mod_avatar.erl +index dde58abf..ffc31c94 100644 +--- a/src/mod_avatar.erl ++++ b/src/mod_avatar.erl +@@ -28,7 +28,7 @@ + %% Hooks + -export([pubsub_publish_item/6, vcard_iq_convert/1, vcard_iq_publish/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + -include("pubsub.hrl"). + +diff --git a/src/mod_block_strangers.erl b/src/mod_block_strangers.erl +index b2c56f36..429c0ab2 100644 +--- a/src/mod_block_strangers.erl ++++ b/src/mod_block_strangers.erl +@@ -34,7 +34,7 @@ + + -export([filter_packet/1, filter_offline_msg/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("ejabberd.hrl"). + -include("logger.hrl"). + +diff --git a/src/mod_blocking.erl b/src/mod_blocking.erl +index 738c5e16..479b34ea 100644 +--- a/src/mod_blocking.erl ++++ b/src/mod_blocking.erl +@@ -35,7 +35,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("mod_privacy.hrl"). + +diff --git a/src/mod_bosh.erl b/src/mod_bosh.erl +index 6ee58047..e49ab960 100644 +--- a/src/mod_bosh.erl ++++ b/src/mod_bosh.erl +@@ -41,7 +41,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + -include_lib("stdlib/include/ms_transform.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("ejabberd_http.hrl"). + -include("bosh.hrl"). + +diff --git a/src/mod_caps.erl b/src/mod_caps.erl +index edc93bbf..6ead4230 100644 +--- a/src/mod_caps.erl ++++ b/src/mod_caps.erl +@@ -53,7 +53,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_caps.hrl"). + + -define(BAD_HASH_LIFETIME, 600). +diff --git a/src/mod_carboncopy.erl b/src/mod_carboncopy.erl +index 307d6154..c3a998d8 100644 +--- a/src/mod_carboncopy.erl ++++ b/src/mod_carboncopy.erl +@@ -40,7 +40,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_carboncopy.hrl"). + + -type direction() :: sent | received. +diff --git a/src/mod_client_state.erl b/src/mod_client_state.erl +index f7adb1c6..09507b73 100644 +--- a/src/mod_client_state.erl ++++ b/src/mod_client_state.erl +@@ -42,7 +42,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -define(CSI_QUEUE_MAX, 100). + +diff --git a/src/mod_configure.erl b/src/mod_configure.erl +index 31f7a9c8..6ea5bd37 100644 +--- a/src/mod_configure.erl ++++ b/src/mod_configure.erl +@@ -40,7 +40,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("ejabberd_sm.hrl"). + -include_lib("stdlib/include/ms_transform.hrl"). + +diff --git a/src/mod_delegation.erl b/src/mod_delegation.erl +index 27e00768..c93912d6 100644 +--- a/src/mod_delegation.erl ++++ b/src/mod_delegation.erl +@@ -42,7 +42,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -type disco_acc() :: {error, stanza_error()} | {result, [binary()]} | empty. + -record(state, {server_host = <<"">> :: binary(), +diff --git a/src/mod_disco.erl b/src/mod_disco.erl +index 76be408f..5bea1fb7 100644 +--- a/src/mod_disco.erl ++++ b/src/mod_disco.erl +@@ -42,7 +42,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include_lib("stdlib/include/ms_transform.hrl"). + -include("mod_roster.hrl"). + +diff --git a/src/mod_echo.erl b/src/mod_echo.erl +index 79dd5996..38199d3c 100644 +--- a/src/mod_echo.erl ++++ b/src/mod_echo.erl +@@ -41,7 +41,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -record(state, {hosts = [] :: [binary()]}). + +diff --git a/src/mod_fail2ban.erl b/src/mod_fail2ban.erl +index 5e931853..01bdfe2f 100644 +--- a/src/mod_fail2ban.erl ++++ b/src/mod_fail2ban.erl +@@ -39,7 +39,7 @@ + -include_lib("stdlib/include/ms_transform.hrl"). + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -define(C2S_AUTH_BAN_LIFETIME, 3600). %% 1 hour + -define(C2S_MAX_AUTH_FAILURES, 20). +diff --git a/src/mod_http_api.erl b/src/mod_http_api.erl +index ef881d14..f7cd10bf 100644 +--- a/src/mod_http_api.erl ++++ b/src/mod_http_api.erl +@@ -77,7 +77,7 @@ + -export([start/2, stop/1, reload/3, process/2, mod_opt_type/1, depends/2]). + + -include("ejabberd.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + -include("ejabberd_http.hrl"). + +diff --git a/src/mod_http_upload.erl b/src/mod_http_upload.erl +index c3c295f6..d3bd4e84 100644 +--- a/src/mod_http_upload.erl ++++ b/src/mod_http_upload.erl +@@ -89,7 +89,7 @@ + + -include("ejabberd.hrl"). + -include("ejabberd_http.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + + -record(state, +diff --git a/src/mod_http_upload_quota.erl b/src/mod_http_upload_quota.erl +index 10243ac0..cda5c563 100644 +--- a/src/mod_http_upload_quota.erl ++++ b/src/mod_http_upload_quota.erl +@@ -50,7 +50,7 @@ + %% ejabberd_hooks callback. + -export([handle_slot_request/5]). + +--include("jid.hrl"). ++-include_lib("p1_xmpp/include/jid.hrl"). + -include("logger.hrl"). + -include_lib("kernel/include/file.hrl"). + +diff --git a/src/mod_irc.erl b/src/mod_irc.erl +index 92093507..9b9becc8 100644 +--- a/src/mod_irc.erl ++++ b/src/mod_irc.erl +@@ -43,7 +43,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_irc.hrl"). + + -define(DEFAULT_IRC_ENCODING, <<"iso8859-15">>). +diff --git a/src/mod_irc_connection.erl b/src/mod_irc_connection.erl +index 59336591..ca81358f 100644 +--- a/src/mod_irc_connection.erl ++++ b/src/mod_irc_connection.erl +@@ -41,7 +41,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -define(SETS, gb_sets). + +diff --git a/src/mod_irc_mnesia.erl b/src/mod_irc_mnesia.erl +index eb982e1f..510ce09d 100644 +--- a/src/mod_irc_mnesia.erl ++++ b/src/mod_irc_mnesia.erl +@@ -30,7 +30,7 @@ + -export([init/2, get_data/3, set_data/4, import/2]). + -export([need_transform/1, transform/1]). + +--include("jid.hrl"). ++-include_lib("p1_xmpp/include/jid.hrl"). + -include("mod_irc.hrl"). + -include("logger.hrl"). + +diff --git a/src/mod_irc_riak.erl b/src/mod_irc_riak.erl +index 23f2a2c3..d236bfa7 100644 +--- a/src/mod_irc_riak.erl ++++ b/src/mod_irc_riak.erl +@@ -29,7 +29,7 @@ + %% API + -export([init/2, get_data/3, set_data/4, import/2]). + +--include("jid.hrl"). ++-include_lib("p1_xmpp/include/jid.hrl"). + -include("mod_irc.hrl"). + + %%%=================================================================== +diff --git a/src/mod_irc_sql.erl b/src/mod_irc_sql.erl +index 1f8d7d16..5f784fdc 100644 +--- a/src/mod_irc_sql.erl ++++ b/src/mod_irc_sql.erl +@@ -31,7 +31,7 @@ + %% API + -export([init/2, get_data/3, set_data/4, import/1, import/2, export/1]). + +--include("jid.hrl"). ++-include_lib("p1_xmpp/include/jid.hrl"). + -include("mod_irc.hrl"). + -include("ejabberd_sql_pt.hrl"). + +diff --git a/src/mod_last.erl b/src/mod_last.erl +index e97ef43f..34498e26 100644 +--- a/src/mod_last.erl ++++ b/src/mod_last.erl +@@ -40,7 +40,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("mod_privacy.hrl"). + -include("mod_last.hrl"). +diff --git a/src/mod_legacy_auth.erl b/src/mod_legacy_auth.erl +index 722a0573..c6644386 100644 +--- a/src/mod_legacy_auth.erl ++++ b/src/mod_legacy_auth.erl +@@ -29,7 +29,7 @@ + %% hooks + -export([c2s_unauthenticated_packet/2, c2s_stream_features/2]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -type c2s_state() :: ejabberd_c2s:state(). + +diff --git a/src/mod_mam.erl b/src/mod_mam.erl +index eb839ea1..abc461db 100644 +--- a/src/mod_mam.erl ++++ b/src/mod_mam.erl +@@ -41,7 +41,7 @@ + delete_old_messages/2, get_commands_spec/0, msg_to_el/4, + get_room_config/4, set_room_option/3, offline_message/1, export/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + -include("mod_muc_room.hrl"). + -include("ejabberd_commands.hrl"). +diff --git a/src/mod_mam_mnesia.erl b/src/mod_mam_mnesia.erl +index 71f1f701..a3a7eb5f 100644 +--- a/src/mod_mam_mnesia.erl ++++ b/src/mod_mam_mnesia.erl +@@ -31,7 +31,7 @@ + extended_fields/0, store/8, write_prefs/4, get_prefs/2, select/6]). + + -include_lib("stdlib/include/ms_transform.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + -include("mod_mam.hrl"). + +diff --git a/src/mod_mam_sql.erl b/src/mod_mam_sql.erl +index 40aa9836..b4fab39b 100644 +--- a/src/mod_mam_sql.erl ++++ b/src/mod_mam_sql.erl +@@ -33,7 +33,7 @@ + extended_fields/0, store/8, write_prefs/4, get_prefs/2, select/6, export/1]). + + -include_lib("stdlib/include/ms_transform.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_mam.hrl"). + -include("logger.hrl"). + -include("ejabberd_sql_pt.hrl"). +diff --git a/src/mod_metrics.erl b/src/mod_metrics.erl +index 73a68a8d..1b0d2e1b 100644 +--- a/src/mod_metrics.erl ++++ b/src/mod_metrics.erl +@@ -30,7 +30,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -export([start/2, stop/1, mod_opt_type/1, depends/2, reload/3]). + +diff --git a/src/mod_mix.erl b/src/mod_mix.erl +index 90507665..627363f3 100644 +--- a/src/mod_mix.erl ++++ b/src/mod_mix.erl +@@ -37,7 +37,7 @@ + terminate/2, code_change/3]). + + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -define(NODES, [?NS_MIX_NODES_MESSAGES, + ?NS_MIX_NODES_PRESENCE, +diff --git a/src/mod_muc.erl b/src/mod_muc.erl +index f7d5303f..f01cde16 100644 +--- a/src/mod_muc.erl ++++ b/src/mod_muc.erl +@@ -73,7 +73,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_muc.hrl"). + + -record(state, +diff --git a/src/mod_muc_admin.erl b/src/mod_muc_admin.erl +index e41f62b5..4d18d068 100644 +--- a/src/mod_muc_admin.erl ++++ b/src/mod_muc_admin.erl +@@ -43,7 +43,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_muc.hrl"). + -include("mod_muc_room.hrl"). + -include("ejabberd_http.hrl"). +diff --git a/src/mod_muc_log.erl b/src/mod_muc_log.erl +index f2685aaa..abb55c42 100644 +--- a/src/mod_muc_log.erl ++++ b/src/mod_muc_log.erl +@@ -44,7 +44,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_muc_room.hrl"). + + -define(T(Text), translate:translate(Lang, Text)). +diff --git a/src/mod_muc_mnesia.erl b/src/mod_muc_mnesia.erl +index aa59038c..7334aca4 100644 +--- a/src/mod_muc_mnesia.erl ++++ b/src/mod_muc_mnesia.erl +@@ -44,7 +44,7 @@ + + -include("mod_muc.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include_lib("stdlib/include/ms_transform.hrl"). + + -record(state, {}). +diff --git a/src/mod_muc_riak.erl b/src/mod_muc_riak.erl +index 57d9666b..4ebd2949 100644 +--- a/src/mod_muc_riak.erl ++++ b/src/mod_muc_riak.erl +@@ -38,7 +38,7 @@ + -export([set_affiliation/6, set_affiliations/4, get_affiliation/5, + get_affiliations/3, search_affiliation/4]). + +--include("jid.hrl"). ++-include_lib("p1_xmpp/include/jid.hrl"). + -include("mod_muc.hrl"). + + %%%=================================================================== +diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl +index bafa938d..d8b5e288 100644 +--- a/src/mod_muc_room.erl ++++ b/src/mod_muc_room.erl +@@ -51,7 +51,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("mod_muc_room.hrl"). + +diff --git a/src/mod_muc_sql.erl b/src/mod_muc_sql.erl +index 8aa6071c..71d79b02 100644 +--- a/src/mod_muc_sql.erl ++++ b/src/mod_muc_sql.erl +@@ -41,7 +41,7 @@ + -export([set_affiliation/6, set_affiliations/4, get_affiliation/5, + get_affiliations/3, search_affiliation/4]). + +--include("jid.hrl"). ++-include_lib("p1_xmpp/include/jid.hrl"). + -include("mod_muc.hrl"). + -include("logger.hrl"). + -include("ejabberd_sql_pt.hrl"). +diff --git a/src/mod_multicast.erl b/src/mod_multicast.erl +index 7b772521..7c1cab3b 100644 +--- a/src/mod_multicast.erl ++++ b/src/mod_multicast.erl +@@ -45,7 +45,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -record(state, + {lserver, lservice, access, service_limits}). +diff --git a/src/mod_offline.erl b/src/mod_offline.erl +index 5b95fe4b..8146ffdc 100644 +--- a/src/mod_offline.erl ++++ b/src/mod_offline.erl +@@ -70,7 +70,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("ejabberd_http.hrl"). + +diff --git a/src/mod_offline_mnesia.erl b/src/mod_offline_mnesia.erl +index a725ab00..126fd1bb 100644 +--- a/src/mod_offline_mnesia.erl ++++ b/src/mod_offline_mnesia.erl +@@ -32,7 +32,7 @@ + remove_all_messages/2, count_messages/2, import/1]). + -export([need_transform/1, transform/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_offline.hrl"). + -include("logger.hrl"). + +diff --git a/src/mod_offline_riak.erl b/src/mod_offline_riak.erl +index 5d0fd1af..607a78ba 100644 +--- a/src/mod_offline_riak.erl ++++ b/src/mod_offline_riak.erl +@@ -31,7 +31,7 @@ + read_message/3, remove_message/3, read_all_messages/2, + remove_all_messages/2, count_messages/2, import/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_offline.hrl"). + + %%%=================================================================== +diff --git a/src/mod_offline_sql.erl b/src/mod_offline_sql.erl +index 53a0d345..50fa83bc 100644 +--- a/src/mod_offline_sql.erl ++++ b/src/mod_offline_sql.erl +@@ -33,7 +33,7 @@ + read_message/3, remove_message/3, read_all_messages/2, + remove_all_messages/2, count_messages/2, import/1, export/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_offline.hrl"). + -include("logger.hrl"). + -include("ejabberd_sql_pt.hrl"). +diff --git a/src/mod_ping.erl b/src/mod_ping.erl +index 02357181..7d51f4dc 100644 +--- a/src/mod_ping.erl ++++ b/src/mod_ping.erl +@@ -36,7 +36,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -define(DEFAULT_SEND_PINGS, false). + +diff --git a/src/mod_pres_counter.erl b/src/mod_pres_counter.erl +index 875aeef3..ffa95576 100644 +--- a/src/mod_pres_counter.erl ++++ b/src/mod_pres_counter.erl +@@ -33,7 +33,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -record(pres_counter, + {dir, start, count, logged = false}). +diff --git a/src/mod_privacy.erl b/src/mod_privacy.erl +index 64ae9620..034a56e4 100644 +--- a/src/mod_privacy.erl ++++ b/src/mod_privacy.erl +@@ -42,7 +42,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_privacy.hrl"). + + -define(PRIVACY_CACHE, privacy_cache). +diff --git a/src/mod_privacy_mnesia.erl b/src/mod_privacy_mnesia.erl +index 7449262b..201b92ec 100644 +--- a/src/mod_privacy_mnesia.erl ++++ b/src/mod_privacy_mnesia.erl +@@ -32,7 +32,7 @@ + remove_list/3, use_cache/1, import/1]). + -export([need_transform/1, transform/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_privacy.hrl"). + -include("logger.hrl"). + +diff --git a/src/mod_privacy_riak.erl b/src/mod_privacy_riak.erl +index 0cd39c11..88f294f8 100644 +--- a/src/mod_privacy_riak.erl ++++ b/src/mod_privacy_riak.erl +@@ -33,7 +33,7 @@ + + -export([privacy_schema/0]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_privacy.hrl"). + + %%%=================================================================== +diff --git a/src/mod_privacy_sql.erl b/src/mod_privacy_sql.erl +index 7939cbb2..6141feda 100644 +--- a/src/mod_privacy_sql.erl ++++ b/src/mod_privacy_sql.erl +@@ -35,7 +35,7 @@ + + -export([item_to_raw/1, raw_to_item/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_privacy.hrl"). + -include("logger.hrl"). + -include("ejabberd_sql_pt.hrl"). +diff --git a/src/mod_private.erl b/src/mod_private.erl +index cb167468..0b84d071 100644 +--- a/src/mod_private.erl ++++ b/src/mod_private.erl +@@ -37,7 +37,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_private.hrl"). + + -define(PRIVATE_CACHE, private_cache). +diff --git a/src/mod_private_mnesia.erl b/src/mod_private_mnesia.erl +index 04c1a04a..6a9dee68 100644 +--- a/src/mod_private_mnesia.erl ++++ b/src/mod_private_mnesia.erl +@@ -31,7 +31,7 @@ + use_cache/1, import/3]). + -export([need_transform/1, transform/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_private.hrl"). + -include("logger.hrl"). + +diff --git a/src/mod_private_riak.erl b/src/mod_private_riak.erl +index be175f07..f97c2dd8 100644 +--- a/src/mod_private_riak.erl ++++ b/src/mod_private_riak.erl +@@ -30,7 +30,7 @@ + -export([init/2, set_data/3, get_data/3, get_all_data/2, del_data/2, + import/3]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_private.hrl"). + + %%%=================================================================== +diff --git a/src/mod_private_sql.erl b/src/mod_private_sql.erl +index 5ed584c3..da4974ce 100644 +--- a/src/mod_private_sql.erl ++++ b/src/mod_private_sql.erl +@@ -30,7 +30,7 @@ + -export([init/2, set_data/3, get_data/3, get_all_data/2, del_data/2, + import/3, export/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_private.hrl"). + -include("ejabberd_sql_pt.hrl"). + -include("logger.hrl"). +diff --git a/src/mod_privilege.erl b/src/mod_privilege.erl +index dab7a619..695c8acf 100644 +--- a/src/mod_privilege.erl ++++ b/src/mod_privilege.erl +@@ -41,7 +41,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -record(state, {server_host = <<"">> :: binary(), + permissions = dict:new() :: ?TDICT}). +diff --git a/src/mod_proxy65_service.erl b/src/mod_proxy65_service.erl +index fb34ba55..f42aa461 100644 +--- a/src/mod_proxy65_service.erl ++++ b/src/mod_proxy65_service.erl +@@ -39,7 +39,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -define(PROCNAME, ejabberd_mod_proxy65_service). + +diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl +index d2e1f6c5..b7cd6644 100644 +--- a/src/mod_pubsub.erl ++++ b/src/mod_pubsub.erl +@@ -41,7 +41,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("pubsub.hrl"). + -include("mod_roster.hrl"). + +diff --git a/src/mod_push.erl b/src/mod_push.erl +index 1eaec6ad..ac4ed89e 100644 +--- a/src/mod_push.erl ++++ b/src/mod_push.erl +@@ -52,7 +52,7 @@ + -include("ejabberd.hrl"). + -include("ejabberd_commands.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -define(PUSH_CACHE, push_cache). + +diff --git a/src/mod_push_keepalive.erl b/src/mod_push_keepalive.erl +index bcdc0c25..d979eaec 100644 +--- a/src/mod_push_keepalive.erl ++++ b/src/mod_push_keepalive.erl +@@ -36,7 +36,7 @@ + c2s_handle_cast/2, c2s_handle_info/2, c2s_stanza/3]). + + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -define(PUSH_BEFORE_TIMEOUT_SECS, 120). + +diff --git a/src/mod_push_mnesia.erl b/src/mod_push_mnesia.erl +index ff12150f..866b5630 100644 +--- a/src/mod_push_mnesia.erl ++++ b/src/mod_push_mnesia.erl +@@ -35,7 +35,7 @@ + + -include_lib("stdlib/include/ms_transform.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_push.hrl"). + + %%%------------------------------------------------------------------- +diff --git a/src/mod_push_sql.erl b/src/mod_push_sql.erl +index c82d9fc0..79fedba4 100644 +--- a/src/mod_push_sql.erl ++++ b/src/mod_push_sql.erl +@@ -32,7 +32,7 @@ + lookup_sessions/3, lookup_sessions/2, lookup_sessions/1, + delete_session/3, delete_old_sessions/2, export/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + -include("ejabberd_sql_pt.hrl"). + -include("mod_push.hrl"). +diff --git a/src/mod_register.erl b/src/mod_register.erl +index 77557ee0..8ad27fcf 100644 +--- a/src/mod_register.erl ++++ b/src/mod_register.erl +@@ -41,7 +41,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + start(Host, Opts) -> + IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), +diff --git a/src/mod_register_web.erl b/src/mod_register_web.erl +index b7bc2edc..a7bb83f5 100644 +--- a/src/mod_register_web.erl ++++ b/src/mod_register_web.erl +@@ -60,7 +60,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("ejabberd_http.hrl"). + +diff --git a/src/mod_roster.erl b/src/mod_roster.erl +index a86b50d9..57f5fdce 100644 +--- a/src/mod_roster.erl ++++ b/src/mod_roster.erl +@@ -54,7 +54,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("mod_roster.hrl"). + +diff --git a/src/mod_s2s_dialback.erl b/src/mod_s2s_dialback.erl +index b4c2ed9d..645ab37f 100644 +--- a/src/mod_s2s_dialback.erl ++++ b/src/mod_s2s_dialback.erl +@@ -33,7 +33,7 @@ + s2s_in_features/2, s2s_out_init/2, s2s_out_closed/2]). + + -include("ejabberd.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + + %%%=================================================================== +diff --git a/src/mod_service_log.erl b/src/mod_service_log.erl +index 1c6e5fe8..c295aa45 100644 +--- a/src/mod_service_log.erl ++++ b/src/mod_service_log.erl +@@ -35,7 +35,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + start(Host, _Opts) -> + ejabberd_hooks:add(user_send_packet, Host, ?MODULE, +diff --git a/src/mod_shared_roster.erl b/src/mod_shared_roster.erl +index 5f95266b..db641dbb 100644 +--- a/src/mod_shared_roster.erl ++++ b/src/mod_shared_roster.erl +@@ -44,7 +44,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -include("mod_roster.hrl"). + +diff --git a/src/mod_shared_roster_ldap.erl b/src/mod_shared_roster_ldap.erl +index 66cbebd9..4b431fc4 100644 +--- a/src/mod_shared_roster_ldap.erl ++++ b/src/mod_shared_roster_ldap.erl +@@ -46,7 +46,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_roster.hrl"). + -include("eldap.hrl"). + +diff --git a/src/mod_shared_roster_mnesia.erl b/src/mod_shared_roster_mnesia.erl +index adfbac68..bdd87030 100644 +--- a/src/mod_shared_roster_mnesia.erl ++++ b/src/mod_shared_roster_mnesia.erl +@@ -37,7 +37,7 @@ + -include("mod_roster.hrl"). + -include("mod_shared_roster.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + %%%=================================================================== + %%% API +diff --git a/src/mod_shared_roster_riak.erl b/src/mod_shared_roster_riak.erl +index 441aafd0..d5545eb1 100644 +--- a/src/mod_shared_roster_riak.erl ++++ b/src/mod_shared_roster_riak.erl +@@ -35,7 +35,7 @@ + + -include("mod_roster.hrl"). + -include("mod_shared_roster.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + %%%=================================================================== + %%% API +diff --git a/src/mod_shared_roster_sql.erl b/src/mod_shared_roster_sql.erl +index 488e0ec7..f952347a 100644 +--- a/src/mod_shared_roster_sql.erl ++++ b/src/mod_shared_roster_sql.erl +@@ -36,7 +36,7 @@ + add_user_to_group/3, remove_user_from_group/3, import/3, + export/1]). + +--include("jid.hrl"). ++-include_lib("p1_xmpp/include/jid.hrl"). + -include("mod_roster.hrl"). + -include("mod_shared_roster.hrl"). + -include("ejabberd_sql_pt.hrl"). +diff --git a/src/mod_sic.erl b/src/mod_sic.erl +index a2b3256e..da61b2c2 100644 +--- a/src/mod_sic.erl ++++ b/src/mod_sic.erl +@@ -36,7 +36,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + start(Host, Opts) -> + IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), +diff --git a/src/mod_sip.erl b/src/mod_sip.erl +index 01327c77..70159d17 100644 +--- a/src/mod_sip.erl ++++ b/src/mod_sip.erl +@@ -52,7 +52,7 @@ mod_opt_type(_) -> + locate/1, mod_opt_type/1, depends/2]). + + -include("ejabberd.hrl"). +--include_lib("esip/include/esip.hrl"). ++-include_lib("s1_sip/include/esip.hrl"). + + %%%=================================================================== + %%% API +diff --git a/src/mod_sip_proxy.erl b/src/mod_sip_proxy.erl +index d600da3d..c3dfe874 100644 +--- a/src/mod_sip_proxy.erl ++++ b/src/mod_sip_proxy.erl +@@ -40,7 +40,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include_lib("esip/include/esip.hrl"). ++-include_lib("s1_sip/include/esip.hrl"). + + -define(SIGN_LIFETIME, 300). %% in seconds. + +diff --git a/src/mod_sip_registrar.erl b/src/mod_sip_registrar.erl +index a47de697..f89d3cab 100644 +--- a/src/mod_sip_registrar.erl ++++ b/src/mod_sip_registrar.erl +@@ -42,7 +42,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include_lib("esip/include/esip.hrl"). ++-include_lib("s1_sip/include/esip.hrl"). + + -define(CALL_TIMEOUT, timer:seconds(30)). + -define(DEFAULT_EXPIRES, 3600). +diff --git a/src/mod_stats.erl b/src/mod_stats.erl +index 2bdbdbd3..2969fbd2 100644 +--- a/src/mod_stats.erl ++++ b/src/mod_stats.erl +@@ -35,7 +35,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + start(Host, Opts) -> + IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), +diff --git a/src/mod_stream_mgmt.erl b/src/mod_stream_mgmt.erl +index 658bd504..46b00993 100644 +--- a/src/mod_stream_mgmt.erl ++++ b/src/mod_stream_mgmt.erl +@@ -37,7 +37,7 @@ + -export([get_resume_timeout/1, set_resume_timeout/2]). + + -include("ejabberd.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + -include("p1_queue.hrl"). + +diff --git a/src/mod_time.erl b/src/mod_time.erl +index c54f3d27..20321d36 100644 +--- a/src/mod_time.erl ++++ b/src/mod_time.erl +@@ -38,7 +38,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + start(Host, Opts) -> + IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), +diff --git a/src/mod_vcard.erl b/src/mod_vcard.erl +index 378b9430..10618c96 100644 +--- a/src/mod_vcard.erl ++++ b/src/mod_vcard.erl +@@ -44,7 +44,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_vcard.hrl"). + + -define(JUD_MATCHES, 30). +diff --git a/src/mod_vcard_ldap.erl b/src/mod_vcard_ldap.erl +index 88621fc0..e2c741c5 100644 +--- a/src/mod_vcard_ldap.erl ++++ b/src/mod_vcard_ldap.erl +@@ -41,7 +41,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + -include("eldap.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("translate.hrl"). + + -define(PROCNAME, ejabberd_mod_vcard_ldap). +diff --git a/src/mod_vcard_mnesia.erl b/src/mod_vcard_mnesia.erl +index 3e742ec1..6e9e0e50 100644 +--- a/src/mod_vcard_mnesia.erl ++++ b/src/mod_vcard_mnesia.erl +@@ -33,7 +33,7 @@ + -export([need_transform/1, transform/1]). + + -include("ejabberd.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_vcard.hrl"). + -include("logger.hrl"). + -include("translate.hrl"). +diff --git a/src/mod_vcard_riak.erl b/src/mod_vcard_riak.erl +index e5ad1b3d..5427ec7f 100644 +--- a/src/mod_vcard_riak.erl ++++ b/src/mod_vcard_riak.erl +@@ -31,7 +31,7 @@ + search_fields/1, search_reported/1, import/3, stop/1]). + -export([is_search_supported/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_vcard.hrl"). + + %%%=================================================================== +diff --git a/src/mod_vcard_sql.erl b/src/mod_vcard_sql.erl +index 07d90b69..1dc5d40f 100644 +--- a/src/mod_vcard_sql.erl ++++ b/src/mod_vcard_sql.erl +@@ -33,7 +33,7 @@ + search_fields/1, search_reported/1, import/3, export/1]). + -export([is_search_supported/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("mod_vcard.hrl"). + -include("logger.hrl"). + -include("ejabberd_sql_pt.hrl"). +diff --git a/src/mod_vcard_xupdate.erl b/src/mod_vcard_xupdate.erl +index 7643fed4..19148654 100644 +--- a/src/mod_vcard_xupdate.erl ++++ b/src/mod_vcard_xupdate.erl +@@ -35,7 +35,7 @@ + + -include("ejabberd.hrl"). + -include("logger.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -define(VCARD_XUPDATE_CACHE, vcard_xupdate_cache). + +diff --git a/src/mod_version.erl b/src/mod_version.erl +index 5f613e02..23ac02cd 100644 +--- a/src/mod_version.erl ++++ b/src/mod_version.erl +@@ -37,7 +37,7 @@ + -include("ejabberd.hrl"). + -include("logger.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + start(Host, Opts) -> + IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), +diff --git a/src/node_dag.erl b/src/node_dag.erl +index 9829c27c..5f399357 100644 +--- a/src/node_dag.erl ++++ b/src/node_dag.erl +@@ -28,7 +28,7 @@ + -author('bjc@kublai.com'). + + -include("pubsub.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -export([init/3, terminate/2, options/0, features/0, + create_node_permission/6, create_node/2, delete_node/1, +diff --git a/src/node_dispatch.erl b/src/node_dispatch.erl +index 92a655b8..00eb55d9 100644 +--- a/src/node_dispatch.erl ++++ b/src/node_dispatch.erl +@@ -34,7 +34,7 @@ + -author('christophe.romain@process-one.net'). + + -include("pubsub.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -export([init/3, terminate/2, options/0, features/0, + create_node_permission/6, create_node/2, delete_node/1, +diff --git a/src/node_flat.erl b/src/node_flat.erl +index bc529e14..571b1b16 100644 +--- a/src/node_flat.erl ++++ b/src/node_flat.erl +@@ -34,7 +34,7 @@ + -author('christophe.romain@process-one.net'). + + -include("pubsub.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -export([init/3, terminate/2, options/0, features/0, + create_node_permission/6, create_node/2, delete_node/1, +diff --git a/src/node_flat_sql.erl b/src/node_flat_sql.erl +index afbc050a..ae279c4c 100644 +--- a/src/node_flat_sql.erl ++++ b/src/node_flat_sql.erl +@@ -36,7 +36,7 @@ + -compile([{parse_transform, ejabberd_sql_pt}]). + + -include("pubsub.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("ejabberd_sql_pt.hrl"). + + -export([init/3, terminate/2, options/0, features/0, +diff --git a/src/node_online.erl b/src/node_online.erl +index 39b08d99..ce71fdb0 100644 +--- a/src/node_online.erl ++++ b/src/node_online.erl +@@ -28,7 +28,7 @@ + -author('christophe.romain@process-one.net'). + + -include("pubsub.hrl"). +--include("jid.hrl"). ++-include_lib("p1_xmpp/include/jid.hrl"). + + -export([init/3, terminate/2, options/0, features/0, + create_node_permission/6, create_node/2, delete_node/1, +diff --git a/src/nodetree_dag.erl b/src/nodetree_dag.erl +index a44e7155..0c5609c4 100644 +--- a/src/nodetree_dag.erl ++++ b/src/nodetree_dag.erl +@@ -30,7 +30,7 @@ + -include_lib("stdlib/include/qlc.hrl"). + + -include("pubsub.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -export([init/3, terminate/2, options/0, set_node/1, + get_node/3, get_node/2, get_node/1, get_nodes/2, +diff --git a/src/nodetree_tree.erl b/src/nodetree_tree.erl +index 31724036..0fe1f5e0 100644 +--- a/src/nodetree_tree.erl ++++ b/src/nodetree_tree.erl +@@ -40,7 +40,7 @@ + -include_lib("stdlib/include/qlc.hrl"). + + -include("pubsub.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -export([init/3, terminate/2, options/0, set_node/1, + get_node/3, get_node/2, get_node/1, get_nodes/2, +diff --git a/src/nodetree_tree_sql.erl b/src/nodetree_tree_sql.erl +index b310dd2d..19ff1786 100644 +--- a/src/nodetree_tree_sql.erl ++++ b/src/nodetree_tree_sql.erl +@@ -40,7 +40,7 @@ + -compile([{parse_transform, ejabberd_sql_pt}]). + + -include("pubsub.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("ejabberd_sql_pt.hrl"). + + -export([init/3, terminate/2, options/0, set_node/1, +diff --git a/src/prosody2ejabberd.erl b/src/prosody2ejabberd.erl +index 2c7dabb4..b6ba864c 100644 +--- a/src/prosody2ejabberd.erl ++++ b/src/prosody2ejabberd.erl +@@ -28,7 +28,7 @@ + -export([from_dir/1]). + + -include("ejabberd.hrl"). +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include("logger.hrl"). + -include("mod_roster.hrl"). + -include("mod_offline.hrl"). +diff --git a/src/pubsub_subscription.erl b/src/pubsub_subscription.erl +index 746e39e3..59ee734b 100644 +--- a/src/pubsub_subscription.erl ++++ b/src/pubsub_subscription.erl +@@ -39,7 +39,7 @@ + + -include("pubsub.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -define(PUBSUB_DELIVER, <<"pubsub#deliver">>). + -define(PUBSUB_DIGEST, <<"pubsub#digest">>). +diff --git a/src/pubsub_subscription_sql.erl b/src/pubsub_subscription_sql.erl +index 3315748c..5700c100 100644 +--- a/src/pubsub_subscription_sql.erl ++++ b/src/pubsub_subscription_sql.erl +@@ -35,7 +35,7 @@ + + -include("pubsub.hrl"). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + + -define(PUBSUB_DELIVER, <<"pubsub#deliver">>). + -define(PUBSUB_DIGEST, <<"pubsub#digest">>). +diff --git a/src/xmpp_stream_in.erl b/src/xmpp_stream_in.erl +index 329ebad6..4ce8760c 100644 +--- a/src/xmpp_stream_in.erl ++++ b/src/xmpp_stream_in.erl +@@ -42,7 +42,7 @@ + -define(FSMOPTS, []). + -endif. + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -type state() :: map(). + -type stop_reason() :: {stream, reset | {in | out, stream_error()}} | + {tls, inet:posix() | atom() | binary()} | +diff --git a/src/xmpp_stream_out.erl b/src/xmpp_stream_out.erl +index 7ddc183b..8095bd86 100644 +--- a/src/xmpp_stream_out.erl ++++ b/src/xmpp_stream_out.erl +@@ -44,7 +44,7 @@ + + -define(TCP_SEND_TIMEOUT, 15000). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include_lib("kernel/include/inet.hrl"). + + -type state() :: map(). +diff --git a/src/xmpp_stream_pkix.erl b/src/xmpp_stream_pkix.erl +index 8361999f..a6fe728c 100644 +--- a/src/xmpp_stream_pkix.erl ++++ b/src/xmpp_stream_pkix.erl +@@ -24,7 +24,7 @@ + %% API + -export([authenticate/1, authenticate/2, get_cert_domains/1, format_error/1]). + +--include("xmpp.hrl"). ++-include_lib("p1_xmpp/include/xmpp.hrl"). + -include_lib("public_key/include/public_key.hrl"). + -include("XmppAddr.hrl"). + +-- +2.14.1 + diff --git a/package/ejabberd/0007-fix-ejabberdctl.patch b/package/ejabberd/0007-fix-ejabberdctl.patch index ab70d8900a..090fcc52d2 100644 --- a/package/ejabberd/0007-fix-ejabberdctl.patch +++ b/package/ejabberd/0007-fix-ejabberdctl.patch @@ -1,28 +1,32 @@ -From 53d7d654026afa163a55b860e33c6901129e8dc1 Mon Sep 17 00:00:00 2001 +From 168d5840dc2a541ec16385e666c1932cf02907e9 Mon Sep 17 00:00:00 2001 From: Johan Oudinet -Date: Wed, 20 Jan 2016 09:35:07 -0500 +Date: Wed, 10 Jan 2018 15:00:07 +0100 Subject: [PATCH] fix ejabberdctl -Change default values so ejabberdctl run commands as ejabberd user +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(-) diff --git a/ejabberdctl.template b/ejabberdctl.template -index 5b34ebee..51acaca8 100755 +index 83637766..5a8a8795 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template -@@ -14,9 +14,12 @@ SCRIPT_DIR=`cd ${0%/*} && pwd` - ERL={{erl}} - IEX={{bindir}}/iex - EPMD={{epmd}} --INSTALLUSER={{installuser}} +@@ -15,7 +15,10 @@ SCRIPT_DIR=$(cd "${0%/*}" && pwd) + ERL="{{erl}}" + IEX="{{bindir}}/iex" + EPMD="{{epmd}}" +-INSTALLUSER="{{installuser}}" +INSTALLUSER=ejabberd - ERL_LIBS={{libdir}} - ++ +# Read default configuration file if present +[ ! -r /etc/default/ejabberd ] || . /etc/default/ejabberd -+ - # check the proper system user is used if defined - if [ "$INSTALLUSER" != "" ] ; then - EXEC_CMD="false" + + # check the proper system user is used + case $(id -un) in +-- +2.14.1 + diff --git a/package/ejabberd/0008-handle-error-case-from-lib_dir.patch b/package/ejabberd/0008-handle-error-case-from-lib_dir.patch new file mode 100644 index 0000000000..f7931b4edc --- /dev/null +++ b/package/ejabberd/0008-handle-error-case-from-lib_dir.patch @@ -0,0 +1,32 @@ +From d0bfcbbfd8a6e7ee6213112e4078b020e4e1d15d Mon Sep 17 00:00:00 2001 +From: Paweł Chmielowski +Date: Wed, 10 Jan 2018 16:34:01 +0100 +Subject: [PATCH] Handle error case from code:lib_dir in ResolveDepPath in + rebar.config.script + +This patch have already been applied in upstream/master. + +Signed-off-by: Paweł Chmielowski + +--- + rebar.config.script | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/rebar.config.script b/rebar.config.script +index 85f918fffd..ba374e5c5f 100644 +--- a/rebar.config.script ++++ b/rebar.config.script +@@ -233,9 +233,10 @@ ResolveDepPath = case {SystemDeps, IsRebar3} of + {true, _} -> + fun("deps/" ++ Rest) -> + Slash = string:str(Rest, "/"), +- code:lib_dir( +- string:sub_string(Rest, 1, Slash -1)) ++ +- string:sub_string(Rest, Slash); ++ case code:lib_dir(string:sub_string(Rest, 1, Slash -1)) of ++ {error, _} -> Rest; ++ V -> V ++ string:sub_string(Rest, Slash) ++ end; + (Path) -> + Path + end; diff --git a/package/ejabberd/0008-rebar-uses-host-dependencies.patch b/package/ejabberd/0008-rebar-uses-host-dependencies.patch deleted file mode 100644 index 45f387993e..0000000000 --- a/package/ejabberd/0008-rebar-uses-host-dependencies.patch +++ /dev/null @@ -1,33 +0,0 @@ -Fix location of rebar dependencies. - -Signed-off-by: Christophe Romain - -diff --git a/rebar.config.script b/rebar.config.script -index 19142b9e..9107af26 100644 ---- a/rebar.config.script -+++ b/rebar.config.script -@@ -218,20 +218,10 @@ TestConfig = case file:read_file_info(TestConfigFile) of - "" - end, - --ResolveDepPath = case IsRebar3 of -- true -> -- fun("deps/" ++ Rest) -> -- Slash = string:str(Rest, "/"), -- Dir = "_build/default/lib/" ++ -- string:sub_string(Rest, 1, Slash - 1), -- Dir ++ string:sub_string(Rest, Slash); -- (Path) -> -- Path -- end; -- _ -> -- fun(P) -> -- P -- end -+ResolveDepPath = fun("deps/fast_xml/include") -> code:lib_dir(p1_xml) ++ "/include"; -+ ("deps/xmpp/include") -> code:lib_dir(p1_xmpp) ++ "/include"; -+ ("deps/p1_utils/include") -> code:lib_dir(p1_utils) ++ "/include"; -+ (Path) -> Path - end, - - CtParams = fun(CompileOpts) -> diff --git a/package/ejabberd/0009-disable-mod_avatar.patch b/package/ejabberd/0009-disable-mod_avatar.patch new file mode 100644 index 0000000000..ab89ba1a29 --- /dev/null +++ b/package/ejabberd/0009-disable-mod_avatar.patch @@ -0,0 +1,32 @@ +From e6eac74e82975e7d87b1f59c50eb007ab04c1392 Mon Sep 17 00:00:00 2001 +From: Johan Oudinet +Date: Tue, 16 Jan 2018 14:29:56 +0100 +Subject: [PATCH] disable mod_avatar + +This module requires to compile with graphics enabled. + +Signed-off-by: Johan Oudinet +--- + ejabberd.yml.example | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ejabberd.yml.example b/ejabberd.yml.example +index e178e956..7c12b76c 100644 +--- a/ejabberd.yml.example ++++ b/ejabberd.yml.example +@@ -796,9 +796,9 @@ modules: + search: false + mod_vcard_xupdate: {} + ## Convert all avatars posted by Android clients from WebP to JPEG +- mod_avatar: +- convert: +- webp: jpeg ++ ## mod_avatar: ++ ## convert: ++ ## webp: jpeg + mod_version: {} + mod_stream_mgmt: {} + ## Non-SASL Authentication (XEP-0078) is now disabled by default +-- +2.14.1 + diff --git a/package/ejabberd/ejabberd.hash b/package/ejabberd/ejabberd.hash index 24a26d21d9..6fb90a2300 100644 --- a/package/ejabberd/ejabberd.hash +++ b/package/ejabberd/ejabberd.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 b8395bc65b09f135a60320b62338258acd6056cc241e9e245fde267fb18dd3c9 ejabberd-17.04.tgz +sha256 bd16b33a2f1345e5847fd05b70a5fa992181bac756cd6d5d621de9c18cb76801 ejabberd-17.11.tgz diff --git a/package/ejabberd/ejabberd.mk b/package/ejabberd/ejabberd.mk index 35a1027efb..0f7af9b83e 100644 --- a/package/ejabberd/ejabberd.mk +++ b/package/ejabberd/ejabberd.mk @@ -4,7 +4,7 @@ # ################################################################################ -EJABBERD_VERSION = 17.04 +EJABBERD_VERSION = 17.11 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 @@ -23,22 +23,38 @@ ifeq ($(BR2_PACKAGE_LINUX_PAM),y) EJABBERD_DEPENDENCIES += linux-pam endif -EJABBERD_ERLANG_LIBS = sasl crypto public_key ssl mnesia inets compiler +# Install check-erlang-lib script to the directory in which the +# package has been uncompressed, so it is available during the +# configure step. +define EJABBERD_INSTALL_CHECK_ERLANG_LIB + $(INSTALL) -m 0755 $(EJABBERD_PKGDIR)/check-erlang-lib \ + $(@D)/check-erlang-lib +endef + +EJABBERD_POST_EXTRACT_HOOKS += EJABBERD_INSTALL_CHECK_ERLANG_LIB + +EJABBERD_ERLANG_LIBS = sasl public_key mnesia inets compiler # Guess answers for these tests, configure will bail out otherwise # saying error: cannot run test program while cross compiling. EJABBERD_CONF_ENV = \ ac_cv_erlang_root_dir="$(HOST_DIR)/lib/erlang" \ $(foreach lib,$(EJABBERD_ERLANG_LIBS), \ - ac_cv_erlang_lib_dir_$(lib)="`package/ejabberd/check-erlang-lib $(lib)`") + ac_cv_erlang_lib_dir_$(lib)="`./check-erlang-lib $(lib)`") + +EJABBERD_CONF_OPTS = \ + --enable-system-deps \ + --disable-erlang-version-check \ + --disable-graphics define EJABBERD_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) install -C $(@D) endef -# Replace HOST_DIR prefix to /usr in ERL path of ejabberctl script. +# Replace HOST_DIR prefix to /usr in environment variables of +# ejabberctl script. define EJABBERD_FIX_EJABBERDCTL - $(SED) 's,ERL=$(HOST_DIR),ERL=/usr,' '$(TARGET_DIR)/usr/sbin/ejabberdctl' + $(SED) 's,="$(HOST_DIR),="/usr,' '$(TARGET_DIR)/usr/sbin/ejabberdctl' endef EJABBERD_POST_INSTALL_TARGET_HOOKS += EJABBERD_FIX_EJABBERDCTL diff --git a/package/elf2flt/elf2flt.mk b/package/elf2flt/elf2flt.mk index 995dfedebd..557f94d338 100644 --- a/package/elf2flt/elf2flt.mk +++ b/package/elf2flt/elf2flt.mk @@ -29,4 +29,20 @@ endif HOST_ELF2FLT_CONF_ENV = LIBS="$(HOST_ELF2FLT_LIBS)" +# Hardlinks between binaries in different directories cause a problem +# with rpath fixup, so we de-hardlink those binaries, and replace them +# with copies instead. Note that elf2flt will rename ld to ld.real +# before installing its own ld, but we already took care of the +# original ld from binutils so that it is already de-hardlinked. So +# ld is now the one from elf2flt, and we want to de-hardlinke it. +ELF2FLT_TOOLS = elf2flt flthdr ld +define HOST_ELF2FLT_FIXUP_HARDLINKS + $(foreach tool,$(ELF2FLT_TOOLS),\ + rm -f $(HOST_DIR)/$(GNU_TARGET_NAME)/bin/$(tool) && \ + cp -a $(HOST_DIR)/bin/$(GNU_TARGET_NAME)-$(tool) \ + $(HOST_DIR)/$(GNU_TARGET_NAME)/bin/$(tool) + ) +endef +HOST_ELF2FLT_POST_INSTALL_HOOKS += HOST_ELF2FLT_FIXUP_HARDLINKS + $(eval $(host-autotools-package)) diff --git a/package/enlightenment/enlightenment.hash b/package/enlightenment/enlightenment.hash index 6fb29a2c75..10e8facf35 100644 --- a/package/enlightenment/enlightenment.hash +++ b/package/enlightenment/enlightenment.hash @@ -1,3 +1,3 @@ -# From https://www.enlightenment.org/news/e0.21.10_release -sha256 9bb915caa5b390b2e212ff5f6f75b57a3d082f80d2f7b5b278bd902e2fad7f14 enlightenment-0.21.10.tar.xz +# From https://www.enlightenment.org/news/e0.22.1_release +sha256 207b6b88dafc4932ab007a835510823c5a1dd8c191876ac037628176ca77a7e0 enlightenment-0.22.1.tar.xz sha256 34dbd501ec9d1c8dcc569c01db9cf9a4b7ee5981614cc9f8f613a97463d27350 COPYING diff --git a/package/enlightenment/enlightenment.mk b/package/enlightenment/enlightenment.mk index 1c88c8b261..0d87119bb3 100644 --- a/package/enlightenment/enlightenment.mk +++ b/package/enlightenment/enlightenment.mk @@ -4,7 +4,7 @@ # ################################################################################ -ENLIGHTENMENT_VERSION = 0.21.10 +ENLIGHTENMENT_VERSION = 0.22.1 ENLIGHTENMENT_SOURCE = enlightenment-$(ENLIGHTENMENT_VERSION).tar.xz ENLIGHTENMENT_SITE = http://download.enlightenment.org/rel/apps/enlightenment ENLIGHTENMENT_LICENSE = BSD-2-Clause @@ -13,30 +13,48 @@ ENLIGHTENMENT_LICENSE_FILES = COPYING ENLIGHTENMENT_DEPENDENCIES = \ host-pkgconf \ host-efl \ + host-meson \ efl \ xcb-util-keysyms -ENLIGHTENMENT_CONF_OPTS = \ - --with-edje-cc=$(HOST_DIR)/bin/edje_cc \ - --with-eet-eet=$(HOST_DIR)/bin/eet \ - --with-eldbus_codegen=$(HOST_DIR)/bin/eldbus-codegen \ - --disable-pam \ - --disable-rpath +ENLIGHTENMENT_MESON_OPTS += \ + --prefix=/usr \ + --buildtype=$(if $(BR2_ENABLE_DEBUG),debug,release) \ + --cross-file=$(HOST_DIR)/etc/meson/cross-compilation.conf \ + -Dedje-cc=$(HOST_DIR)/bin/edje_cc \ + -Deet=$(HOST_DIR)/bin/eet \ + -Deldbus-codegen=$(HOST_DIR)/bin/eldbus-codegen \ + -Dpam=false ifeq ($(BR2_PACKAGE_SYSTEMD),y) -ENLIGHTENMENT_CONF_OPTS += --enable-systemd +ENLIGHTENMENT_MESON_OPTS += -Dsystemd=true ENLIGHTENMENT_DEPENDENCIES += systemd else -ENLIGHTENMENT_CONF_OPTS += --disable-systemd +ENLIGHTENMENT_MESON_OPTS += -Dsystemd=false endif # alsa backend needs mixer support ifeq ($(BR2_PACKAGE_ALSA_LIB)$(BR2_PACKAGE_ALSA_LIB_MIXER),yy) +ENLIGHTENMENT_MESON_OPTS += -Dmixer=true ENLIGHTENMENT_DEPENDENCIES += alsa-lib else -ENLIGHTENMENT_CONF_ENV += enable_alsa=no +ENLIGHTENMENT_MESON_OPTS += -Dmixer=false endif +define ENLIGHTENMENT_CONFIGURE_CMDS + rm -rf $(@D)/build + mkdir -p $(@D)/build + $(TARGET_MAKE_ENV) meson $(ENLIGHTENMENT_MESON_OPTS) $(@D) $(@D)/build +endef + +define ENLIGHTENMENT_BUILD_CMDS + $(TARGET_MAKE_ENV) ninja -C $(@D)/build +endef + +define ENLIGHTENMENT_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) ninja -C $(@D)/build install +endef + define ENLIGHTENMENT_REMOVE_DOCUMENTATION rm -rf $(TARGET_DIR)/usr/share/enlightenment/doc/ rm -f $(TARGET_DIR)/usr/share/enlightenment/COPYING @@ -44,4 +62,4 @@ define ENLIGHTENMENT_REMOVE_DOCUMENTATION endef ENLIGHTENMENT_POST_INSTALL_TARGET_HOOKS += ENLIGHTENMENT_REMOVE_DOCUMENTATION -$(eval $(autotools-package)) +$(eval $(generic-package)) diff --git a/package/erlang-lager/erlang-lager.hash b/package/erlang-lager/erlang-lager.hash index 97bf4c64ba..144cef6d3d 100644 --- a/package/erlang-lager/erlang-lager.hash +++ b/package/erlang-lager/erlang-lager.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 5ef0f65e0c18a7df5c5f2cd8e96780396f13369127d87857e7931670c79a9327 erlang-lager-3.2.1.tar.gz +sha256 c5f532dd236e07dad27976abcf12b9c90fcf33ffd6fe1b1d34639c06171c36ea erlang-lager-3.4.2.tar.gz diff --git a/package/erlang-lager/erlang-lager.mk b/package/erlang-lager/erlang-lager.mk index 208ccf1611..790288a460 100644 --- a/package/erlang-lager/erlang-lager.mk +++ b/package/erlang-lager/erlang-lager.mk @@ -4,8 +4,8 @@ # ################################################################################ -ERLANG_LAGER_VERSION = 3.2.1 -ERLANG_LAGER_SITE = $(call github,basho,lager,$(ERLANG_LAGER_VERSION)) +ERLANG_LAGER_VERSION = 3.4.2 +ERLANG_LAGER_SITE = $(call github,erlang-lager,lager,$(ERLANG_LAGER_VERSION)) ERLANG_LAGER_LICENSE = Apache-2.0 ERLANG_LAGER_LICENSE_FILES = LICENSE ERLANG_LAGER_DEPENDENCIES = erlang-goldrush 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 b6f7fb3b54..9425bcda8b 100644 --- a/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash +++ b/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 9376c14eaeb78c3847c3cf38853bb6e6860fb63959e182deeff5c819b23c95a4 erlang-p1-cache-tab-1.0.7.tar.gz +sha256 5ef27d3be0ef2e8dc06468ec39dc3a43506d6f85af0edc21b9c14db860669d38 erlang-p1-cache-tab-1.0.12.tar.gz diff --git a/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk b/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk index 6f1a13930e..ae96103ead 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.7 +ERLANG_P1_CACHE_TAB_VERSION = 1.0.12 ERLANG_P1_CACHE_TAB_SITE = $(call github,processone,cache_tab,$(ERLANG_P1_CACHE_TAB_VERSION)) ERLANG_P1_CACHE_TAB_LICENSE = Apache-2.0 ERLANG_P1_CACHE_TAB_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-iconv/erlang-p1-iconv.hash b/package/erlang-p1-iconv/erlang-p1-iconv.hash index 883fd52095..0f0a23161a 100644 --- a/package/erlang-p1-iconv/erlang-p1-iconv.hash +++ b/package/erlang-p1-iconv/erlang-p1-iconv.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 ca20d58166a4fb38883977600aca61e02bfd1257b8bded8c8ddd82d2a96084e6 erlang-p1-iconv-1.0.4.tar.gz +sha256 c7214ea7503c3de1edf3bdd72b37187aa3a9a36d7cf7f5945a067ae8d262d3fb erlang-p1-iconv-1.0.6.tar.gz diff --git a/package/erlang-p1-iconv/erlang-p1-iconv.mk b/package/erlang-p1-iconv/erlang-p1-iconv.mk index 044361e415..6b22431cce 100644 --- a/package/erlang-p1-iconv/erlang-p1-iconv.mk +++ b/package/erlang-p1-iconv/erlang-p1-iconv.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_ICONV_VERSION = 1.0.4 +ERLANG_P1_ICONV_VERSION = 1.0.6 ERLANG_P1_ICONV_SITE = $(call github,processone,iconv,$(ERLANG_P1_ICONV_VERSION)) ERLANG_P1_ICONV_LICENSE = Apache-2.0 ERLANG_P1_ICONV_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-oauth2/erlang-p1-oauth2.hash b/package/erlang-p1-oauth2/erlang-p1-oauth2.hash index 3666519f5f..29fae12636 100644 --- a/package/erlang-p1-oauth2/erlang-p1-oauth2.hash +++ b/package/erlang-p1-oauth2/erlang-p1-oauth2.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 86e4d93f0206135bc6017b6001d061305513917f79c53294e534d6e66fd54727 erlang-p1-oauth2-0.6.1.tar.gz +sha256 aea823ccc49b20f7e27f1893c7edf231339f56b16ba21ce78a60f735b6211718 erlang-p1-oauth2-0.6.2.tar.gz diff --git a/package/erlang-p1-oauth2/erlang-p1-oauth2.mk b/package/erlang-p1-oauth2/erlang-p1-oauth2.mk index c85706c8db..5c27393ae2 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.1 +ERLANG_P1_OAUTH2_VERSION = 0.6.2 ERLANG_P1_OAUTH2_SITE = $(call github,processone,p1_oauth2,$(ERLANG_P1_OAUTH2_VERSION)) ERLANG_P1_OAUTH2_LICENSE = MIT ERLANG_P1_OAUTH2_LICENSE_FILES = LICENSE diff --git a/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch index 5fe86d900f..da86076988 100644 --- a/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch +++ b/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch @@ -4,16 +4,16 @@ by rebar at build time. Signed-off-by: Christophe Romain diff --git a/rebar.config b/rebar.config -index fbc69a1..6250420 100644 +index ed93134..5b32788 100644 --- a/rebar.config +++ b/rebar.config -@@ -29,10 +29,6 @@ +@@ -31,10 +31,6 @@ {port_specs, [{"priv/lib/esip_drv.so", ["c_src/esip_codec.c"]}]}. --{deps, [{stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.10"}}}, -- {fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.11"}}}, -- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.7"}}}]}. +-{deps, [{stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.16"}}}, +- {fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.17"}}}, +- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. - {clean_files, ["c_src/esip_codec.gcda", "c_src/esip_codec.gcno"]}. diff --git a/package/erlang-p1-sip/erlang-p1-sip.hash b/package/erlang-p1-sip/erlang-p1-sip.hash index 2ea7bc8ec4..4d41b9884c 100644 --- a/package/erlang-p1-sip/erlang-p1-sip.hash +++ b/package/erlang-p1-sip/erlang-p1-sip.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 2c6ed00220ead631a4755000ad9f118d79c8c4d41aa7c98bd27365a8345f9a5d erlang-p1-sip-1.0.11.tar.gz +sha256 6ac36594921561d0d5502bb824b7408223a3f53560a9d2fa4b0f685c0441baf0 erlang-p1-sip-1.0.17.tar.gz diff --git a/package/erlang-p1-sip/erlang-p1-sip.mk b/package/erlang-p1-sip/erlang-p1-sip.mk index 0f4b33e2d1..a9f572df2d 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.11 +ERLANG_P1_SIP_VERSION = 1.0.17 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 ee7bdd9660..769e2180d6 100644 --- a/package/erlang-p1-stringprep/erlang-p1-stringprep.hash +++ b/package/erlang-p1-stringprep/erlang-p1-stringprep.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 9d7485312d023eeb83f308206ff8088c03b49195fb7bf4b3b699d386e33e908a erlang-p1-stringprep-1.0.8.tar.gz +sha256 baef9e6bd59e00c9d2600e8db87078c19d76cbf66d5068efeaf1df740ee306ce erlang-p1-stringprep-1.0.10.tar.gz diff --git a/package/erlang-p1-stringprep/erlang-p1-stringprep.mk b/package/erlang-p1-stringprep/erlang-p1-stringprep.mk index 2355918975..f104a2ce87 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.8 +ERLANG_P1_STRINGPREP_VERSION = 1.0.10 ERLANG_P1_STRINGPREP_SITE = $(call github,processone,stringprep,$(ERLANG_P1_STRINGPREP_VERSION)) ERLANG_P1_STRINGPREP_LICENSE = TCL (tools/*.tcl), Apache-2.0 (rest) ERLANG_P1_STRINGPREP_LICENSE_FILES = LICENSE.ALL LICENSE.TCL LICENSE.txt diff --git a/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch index 30101359f4..7e6b4b5345 100644 --- a/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch +++ b/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch @@ -2,15 +2,15 @@ Without this patch, dependencies would be downloaded and compiled by rebar at build time. diff --git a/rebar.config b/rebar.config -index 94ee830..d0af863 100644 +index f02ea40..d0af863 100644 --- a/rebar.config +++ b/rebar.config @@ -22,9 +22,6 @@ {erl_opts, [debug_info, {i, "include"}]}. --{deps, [{fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.11"}}}, -- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.7"}}}]}. +-{deps, [{fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.17"}}}, +- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. - {cover_enabled, true}. {cover_export_enabled, true}. diff --git a/package/erlang-p1-stun/erlang-p1-stun.hash b/package/erlang-p1-stun/erlang-p1-stun.hash index 893bc30e0b..ee32834e34 100644 --- a/package/erlang-p1-stun/erlang-p1-stun.hash +++ b/package/erlang-p1-stun/erlang-p1-stun.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 75aac56fa770b3b4ea2d32e63706d2b8d56f8e0db54243acffa7448f4256864e erlang-p1-stun-1.0.10.tar.gz +sha256 8efe2f47c2460b1e0d68a680dcfcd938a2bc98c85abb5b100c15246fe6a25506 erlang-p1-stun-1.0.16.tar.gz diff --git a/package/erlang-p1-stun/erlang-p1-stun.mk b/package/erlang-p1-stun/erlang-p1-stun.mk index 5116c15284..42bbc758e5 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.10 +ERLANG_P1_STUN_VERSION = 1.0.16 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 eb707f1d49..b5b800b202 100644 --- a/package/erlang-p1-tls/erlang-p1-tls.hash +++ b/package/erlang-p1-tls/erlang-p1-tls.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c42237e5dd231c558b48633788a0e9ca55b4f3b5bc4692107fee031a8f91cda3 erlang-p1-tls-1.0.11.tar.gz +sha256 ca9670b7f78a025b101e3fee6255d7472d6b52abc46444cc45616c3d1bd75b9b erlang-p1-tls-1.0.17.tar.gz diff --git a/package/erlang-p1-tls/erlang-p1-tls.mk b/package/erlang-p1-tls/erlang-p1-tls.mk index 63d0112cc2..ad7317dc8c 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.11 +ERLANG_P1_TLS_VERSION = 1.0.17 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 200d102450..950a5540d7 100644 --- a/package/erlang-p1-utils/erlang-p1-utils.hash +++ b/package/erlang-p1-utils/erlang-p1-utils.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 9b43e025b923221cfe6a6efc76790d97b1c233e3e2db37fc804294d847bcfaa3 erlang-p1-utils-1.0.8.tar.gz +sha256 57bfc575179733a723717f4fecb65b9f7fd056595f798b52e7bc0206e8a9333f erlang-p1-utils-1.0.10.tar.gz diff --git a/package/erlang-p1-utils/erlang-p1-utils.mk b/package/erlang-p1-utils/erlang-p1-utils.mk index 32564cf89f..6a4920738c 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.8 +ERLANG_P1_UTILS_VERSION = 1.0.10 ERLANG_P1_UTILS_SITE = $(call github,processone,p1_utils,$(ERLANG_P1_UTILS_VERSION)) ERLANG_P1_UTILS_LICENSE = Apache-2.0 ERLANG_P1_UTILS_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch index 9b0a53502c..b58db3f2c5 100644 --- a/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch +++ b/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch @@ -4,14 +4,14 @@ by rebar at build time. Signed-off-by: Christophe Romain diff --git a/rebar.config b/rebar.config -index 3e20029..a47f1ff 100644 +index 99f5047..ac2f3b2 100644 --- a/rebar.config +++ b/rebar.config -@@ -31,8 +31,6 @@ +@@ -32,8 +32,6 @@ {port_specs, [{"priv/lib/fxml.so", ["c_src/fxml.c"]}, {"priv/lib/fxml_stream.so", ["c_src/fxml_stream.c"]}]}. --{deps, [{p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.7"}}}]}. +-{deps, [{p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. - {clean_files, ["c_src/fxml.gcda", "c_src/fxml.gcno", "c_src/fxml_stream.gcda", "c_src/fxml_stream.gcno"]}. diff --git a/package/erlang-p1-xml/erlang-p1-xml.hash b/package/erlang-p1-xml/erlang-p1-xml.hash index 00b90b52ec..ae3f3241c6 100644 --- a/package/erlang-p1-xml/erlang-p1-xml.hash +++ b/package/erlang-p1-xml/erlang-p1-xml.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 0163e7bd11b6705732fd7281209925e39534c9ea123887574218422c34762d7c erlang-p1-xml-1.1.22.tar.gz +sha256 aeda4051c08b78e2f036d82705433a667d03736f07ff0054862e82105435e285 erlang-p1-xml-1.1.25.tar.gz diff --git a/package/erlang-p1-xml/erlang-p1-xml.mk b/package/erlang-p1-xml/erlang-p1-xml.mk index 58ba3cbdeb..ff9999834d 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.22 +ERLANG_P1_XML_VERSION = 1.1.25 ERLANG_P1_XML_SITE = $(call github,processone,fast_xml,$(ERLANG_P1_XML_VERSION)) ERLANG_P1_XML_LICENSE = Apache-2.0 ERLANG_P1_XML_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch index fa5c269c22..fed44f626d 100644 --- a/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch +++ b/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch @@ -4,15 +4,16 @@ by rebar at build time. Signed-off-by: Christophe Romain diff --git a/rebar.config b/rebar.config -index 79494b7..8d769f1 100644 ---- a/rebar.config -+++ b/rebar.config -@@ -24,9 +24,6 @@ - {i, "../fast_xml/include"}, - {i, "deps/fast_xml/include"}]}. +--- a/rebar.config 2017-11-30 14:24:52.348695123 +0100 ++++ b/rebar.config 2017-11-30 14:35:11.816407195 +0100 +@@ -29,10 +29,6 @@ --{deps, [{fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.22"}}}, -- {stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.8"}}}]}. + {port_specs, [{"priv/lib/jid.so", ["c_src/jid.c"]}]}. + +-{deps, [{fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.25"}}}, +- {stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.10"}}}, +- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. - + {clean_files, ["c_src/jid.gcda", "c_src/jid.gcno"]}. + {cover_enabled, true}. - {cover_export_enabled, true}. diff --git a/package/erlang-p1-xmpp/Config.in b/package/erlang-p1-xmpp/Config.in index c7a68bc800..9b33e0c609 100644 --- a/package/erlang-p1-xmpp/Config.in +++ b/package/erlang-p1-xmpp/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_ERLANG_P1_XMPP depends on BR2_INSTALL_LIBSTDCPP # erlang-p1-stringprep select BR2_PACKAGE_ERLANG_P1_XML select BR2_PACKAGE_ERLANG_P1_STRINGPREP + select BR2_PACKAGE_ERLANG_P1_UTILS help XMPP library for Erlang. diff --git a/package/erlang-p1-xmpp/erlang-p1-xmpp.hash b/package/erlang-p1-xmpp/erlang-p1-xmpp.hash index f245c843e8..d3d2dafb9e 100644 --- a/package/erlang-p1-xmpp/erlang-p1-xmpp.hash +++ b/package/erlang-p1-xmpp/erlang-p1-xmpp.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 e7b5db5ab6204f5bc6ebf91a183ebeae2b43ca6372dd2506599a8e8168a99c50 erlang-p1-xmpp-1.1.9.tar.gz +sha256 558e8d8734052bdbe679cf10165a63944c208940ab84be78c97ba661dfcf3cb2 erlang-p1-xmpp-1.1.16.tar.gz diff --git a/package/erlang-p1-xmpp/erlang-p1-xmpp.mk b/package/erlang-p1-xmpp/erlang-p1-xmpp.mk index 149d8bc5c7..096876ca34 100644 --- a/package/erlang-p1-xmpp/erlang-p1-xmpp.mk +++ b/package/erlang-p1-xmpp/erlang-p1-xmpp.mk @@ -4,13 +4,13 @@ # ################################################################################ -ERLANG_P1_XMPP_VERSION = 1.1.9 +ERLANG_P1_XMPP_VERSION = 1.1.16 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 \ - host-erlang-p1-xml + erlang-p1-utils host-erlang-p1-xml $(eval $(rebar-package)) $(eval $(host-rebar-package)) diff --git a/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch index facfc2c200..4dfdb929c1 100644 --- a/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch +++ b/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch @@ -4,14 +4,14 @@ by rebar at build time. Signed-off-by: Christophe Romain diff --git a/rebar.config b/rebar.config -index 68ffdeb..651a829 100644 +index e09d08d..651a829 100644 --- a/rebar.config +++ b/rebar.config @@ -24,8 +24,6 @@ {port_env, [{"CFLAGS", "$CFLAGS"}, {"LDFLAGS", "$LDFLAGS -lyaml"}]}. {port_specs, [{"priv/lib/fast_yaml.so", ["c_src/fast_yaml.c"]}]}. --{deps, [{p1_utils, ".*", {git, "git://github.com/processone/p1_utils", {tag, "1.0.7"}}}]}. +-{deps, [{p1_utils, ".*", {git, "git://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. - {clean_files, ["c_src/fast_yaml.gcda", "c_src/fast_yaml.gcno"]}. diff --git a/package/erlang-p1-yaml/erlang-p1-yaml.hash b/package/erlang-p1-yaml/erlang-p1-yaml.hash index 5b8956d7b5..24282e6c37 100644 --- a/package/erlang-p1-yaml/erlang-p1-yaml.hash +++ b/package/erlang-p1-yaml/erlang-p1-yaml.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 bf225023168873affd2c67a2ce5c6c81c3db0c7df4f0caa113f23770c7b04e05 erlang-p1-yaml-1.0.9.tar.gz +sha256 5a6499a47cdd1f753a527cb8b79074312354063535adc0ca0fd7f72c2a015e3a erlang-p1-yaml-1.0.12.tar.gz diff --git a/package/erlang-p1-yaml/erlang-p1-yaml.mk b/package/erlang-p1-yaml/erlang-p1-yaml.mk index d8865e0d42..de138a9f93 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.9 +ERLANG_P1_YAML_VERSION = 1.0.12 ERLANG_P1_YAML_SITE = $(call github,processone,fast_yaml,$(ERLANG_P1_YAML_VERSION)) ERLANG_P1_YAML_LICENSE = Apache-2.0 ERLANG_P1_YAML_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-zlib/erlang-p1-zlib.hash b/package/erlang-p1-zlib/erlang-p1-zlib.hash index eded821013..dc14dd0707 100644 --- a/package/erlang-p1-zlib/erlang-p1-zlib.hash +++ b/package/erlang-p1-zlib/erlang-p1-zlib.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 2200330f7d4fc595caf8806fec1318b853009ab3d643cf063d19bff59bf2b45e erlang-p1-zlib-1.0.2.tar.gz +sha256 8396f9cb17fdb195d9a2537ad76327bf930d66118b87b7108f27e5ed28b7cde6 erlang-p1-zlib-1.0.3.tar.gz diff --git a/package/erlang-p1-zlib/erlang-p1-zlib.mk b/package/erlang-p1-zlib/erlang-p1-zlib.mk index a57b19fd13..bc53efccd7 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.2 +ERLANG_P1_ZLIB_VERSION = 1.0.3 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/0001-build-fix.patch b/package/erlang/0001-build-fix.patch deleted file mode 100644 index ff821c9fc0..0000000000 --- a/package/erlang/0001-build-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -apply-patches.sh deletes this file from the source directory. - ---- erlang-R15B01.old/lib/tools/emacs/Makefile 2012-04-04 -+++ erlang-R15B01/lib/tools/emacs/Makefile 2012-04-04 15:55:16.978957307 +0100 -@@ -51,7 +51,7 @@ - - ELC_FILES = $(EMACS_FILES:%=%.elc) - --TEST_FILES = test.erl.indented test.erl.orig -+TEST_FILES = test.erl.indented - - # ---------------------------------------------------- - # Targets diff --git a/package/erlang/0002-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch b/package/erlang/0001-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch similarity index 100% rename from package/erlang/0002-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch rename to package/erlang/0001-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch diff --git a/package/erlang/0003-erts-emulator-reorder-inclued-headers-paths.patch b/package/erlang/0002-erts-emulator-reorder-inclued-headers-paths.patch similarity index 100% rename from package/erlang/0003-erts-emulator-reorder-inclued-headers-paths.patch rename to package/erlang/0002-erts-emulator-reorder-inclued-headers-paths.patch 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 new file mode 100644 index 0000000000..ad0bb6b453 --- /dev/null +++ b/package/erlang/0003-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch @@ -0,0 +1,42 @@ +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/Config.in b/package/erlang/Config.in index 1cd93ca955..00e8ab14d7 100644 --- a/package/erlang/Config.in +++ b/package/erlang/Config.in @@ -1,9 +1,16 @@ +config BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS + bool + default y if BR2_HOSTARCH = "x86_64" + default y if BR2_HOSTARCH = "x86" + config BR2_PACKAGE_ERLANG_ARCH_SUPPORTS bool # see HOWTO/INSTALL.md for Erlang's supported platforms # when using its native atomic ops implementation default y if BR2_i386 || BR2_x86_64 || BR2_powerpc || \ BR2_sparc_v9 || BR2_arm || BR2_aarch64 || BR2_mipsel + # erlang needs host-erlang + depends on BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS comment "erlang needs a toolchain w/ dynamic library" depends on BR2_USE_MMU # fork() @@ -15,6 +22,7 @@ config BR2_PACKAGE_ERLANG depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS depends on BR2_PACKAGE_ERLANG_ARCH_SUPPORTS + select BR2_PACKAGE_ZLIB help Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high @@ -27,16 +35,6 @@ config BR2_PACKAGE_ERLANG if BR2_PACKAGE_ERLANG -config BR2_PACKAGE_ERLANG_SMP - bool "enable SMP support" - help - Erlang provides both a UP and an SMP emulator. The UP - emulator is always built, and this option enables - compilation of the SMP emulator. The choice of which - emulator to use is made at runtime. If you do not need SMP - support, turning this option off reduces compile time and - the size of the Erlang installation. - config BR2_PACKAGE_ERLANG_MEGACO bool "install megaco application" help diff --git a/package/erlang/erlang.hash b/package/erlang/erlang.hash index dc12ccd062..f5ff74022c 100644 --- a/package/erlang/erlang.hash +++ b/package/erlang/erlang.hash @@ -1,3 +1,4 @@ # md5 from http://www.erlang.org/download/MD5, sha256 locally computed -md5 a8c259ec47bf84e77510673e1b76b6db otp_src_19.3.tar.gz -sha256 fe4a00651db39b8542b04530a48d24b2f2e7e0b77cbe93d728c9f05325bdfe83 otp_src_19.3.tar.gz +md5 a683c8c0aacfe0305c4bf47b3abfde6a otp_src_20.3.tar.gz +sha256 4e19e6c403d5255531c0b870f19511c8b8e3b080618e4f9efcb44d905935b2a1 otp_src_20.3.tar.gz +sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 LICENSE.txt diff --git a/package/erlang/erlang.mk b/package/erlang/erlang.mk index f3684d0c91..a7d7168082 100644 --- a/package/erlang/erlang.mk +++ b/package/erlang/erlang.mk @@ -5,7 +5,7 @@ ################################################################################ # See note below when updating Erlang -ERLANG_VERSION = 19.3 +ERLANG_VERSION = 20.3 ERLANG_SITE = http://www.erlang.org/download ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz ERLANG_DEPENDENCIES = host-erlang @@ -19,7 +19,7 @@ ERLANG_AUTORECONF = YES # Whenever updating Erlang, this value should be updated as well, to the # value of EI_VSN in the file lib/erl_interface/vsn.mk -ERLANG_EI_VSN = 3.9.3 +ERLANG_EI_VSN = 3.10.1 # The configure checks for these functions fail incorrectly ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes @@ -69,14 +69,9 @@ else ERLANG_CONF_OPTS += --without-odbc endif -ifeq ($(BR2_PACKAGE_ZLIB),y) +# Always use Buildroot's zlib ERLANG_CONF_OPTS += --enable-shared-zlib ERLANG_DEPENDENCIES += zlib -endif - -ifeq ($(BR2_PACKAGE_ERLANG_SMP),) -ERLANG_CONF_OPTS += --disable-smp-support -endif # Remove source, example, gs and wx files from staging and target. ERLANG_REMOVE_PACKAGES = gs wx diff --git a/package/espeak/Config.in b/package/espeak/Config.in index 5e46b17e32..5f9007a165 100644 --- a/package/espeak/Config.in +++ b/package/espeak/Config.in @@ -35,6 +35,7 @@ config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_ALSA config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_PULSEAUDIO bool "pulseaudio" + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC select BR2_PACKAGE_PULSEAUDIO endchoice diff --git a/package/eudev/S10udev b/package/eudev/S10udev index 8382bec2bb..47c715c886 100755 --- a/package/eudev/S10udev +++ b/package/eudev/S10udev @@ -27,9 +27,9 @@ test -r $UDEV_CONFIG || exit 6 case "$1" in start) - printf "Populating ${udev_root:-/dev} using udev: " - printf '\000\000\000\000' > /proc/sys/kernel/hotplug - $UDEV_BIN -d || (echo "FAIL" && exit 1) + printf "Populating %s using udev: " "${udev_root:-/dev}" + [ -e /proc/sys/kernel/hotplug ] && printf '\000\000\000\000' > /proc/sys/kernel/hotplug + $UDEV_BIN -d || { echo "FAIL"; exit 1; } udevadm trigger --type=subsystems --action=add udevadm trigger --type=devices --action=add udevadm settle --timeout=30 || echo "udevadm settle failed" diff --git a/package/eudev/eudev.hash b/package/eudev/eudev.hash index 75f2cc1c48..3fa47980ec 100644 --- a/package/eudev/eudev.hash +++ b/package/eudev/eudev.hash @@ -1,4 +1,5 @@ # From http://dev.gentoo.org/~blueness/eudev/ -md5 66acef4c6094aab4aced7ae83b74b0d2 eudev-3.2.4.tar.gz +md5 6ca08c0e14380f87df8e8aceac123671 eudev-3.2.5.tar.gz # Locally calculated -sha256 dddcf4c89b21f5f3210f7e4d3888c92cbfc657ff734ac21b6bdd3f5bcb146fed eudev-3.2.4.tar.gz +sha256 49c2d04105cad2526302627e040fa24b1916a9a3e059539bc8bb919b973890af eudev-3.2.5.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/eudev/eudev.mk b/package/eudev/eudev.mk index b712475861..d08b9bb0c9 100644 --- a/package/eudev/eudev.mk +++ b/package/eudev/eudev.mk @@ -4,7 +4,7 @@ # ################################################################################ -EUDEV_VERSION = 3.2.4 +EUDEV_VERSION = 3.2.5 EUDEV_SITE = http://dev.gentoo.org/~blueness/eudev EUDEV_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) EUDEV_LICENSE_FILES = COPYING diff --git a/package/execline/execline.hash b/package/execline/execline.hash index 1251d8d79e..afead5cd74 100644 --- a/package/execline/execline.hash +++ b/package/execline/execline.hash @@ -1,2 +1,3 @@ # Locally generated -sha256 1a698425740a410a38be770f98b8faf94c633e29a74ba1d25adddbb294e979f5 execline-2.3.0.3.tar.gz +sha256 e4bb8fc8f20cca96f4bac9f0f74ebce5081b4b687bb11c79c843faf12507a64b execline-2.3.0.4.tar.gz +sha256 6ee77e7199d69b707ab864ea7a838f9562717aaa41c89413bdb2cf835f95052f COPYING diff --git a/package/execline/execline.mk b/package/execline/execline.mk index a4f4229f6c..68131b8fa2 100644 --- a/package/execline/execline.mk +++ b/package/execline/execline.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXECLINE_VERSION = 2.3.0.3 +EXECLINE_VERSION = 2.3.0.4 EXECLINE_SITE = http://skarnet.org/software/execline EXECLINE_LICENSE = ISC EXECLINE_LICENSE_FILES = COPYING diff --git a/package/exim/0001-Build-buildconfig-for-the-host.patch b/package/exim/0001-Build-buildconfig-for-the-host.patch index a926fbdab3..87eb527974 100644 --- a/package/exim/0001-Build-buildconfig-for-the-host.patch +++ b/package/exim/0001-Build-buildconfig-for-the-host.patch @@ -17,7 +17,7 @@ index 29a6ad3..420ba60 100644 - @echo "$(CC) buildconfig.c" - $(FE)$(CC) $(CFLAGS) $(INCLUDE) -o buildconfig buildconfig.c $(LIBS) + @echo "$(HOSTCC) buildconfig.c" -+ $(FE)$(HOSTCC) $(HOSTCFLAGS) $(INCLUDE) -o buildconfig buildconfig.c $(LIBS) ++ $(FE)$(HOSTCC) $(HOSTCFLAGS) $(INCLUDE) -o buildconfig buildconfig.c # Target for the exicyclog utility script 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 new file mode 100644 index 0000000000..1811a7ff98 --- /dev/null +++ b/package/exim/0005-Fix-base64d-buffer-size-CVE-2018-6789.patch @@ -0,0 +1,37 @@ +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/exim.hash b/package/exim/exim.hash index d961083ebd..41f51b15eb 100644 --- a/package/exim/exim.hash +++ b/package/exim/exim.hash @@ -1,2 +1,2 @@ -# Locally calculated -sha256 1c853bc960dff0a0e51e3e28bc4a4a8165b58b41bb64ea3abb90f254d9947a8c exim-4.89.1.tar.bz2 +# Locally calculated after checking pgp signature +sha256 1a21322a10e2da9c0bd6a2a483b6e7ef8fa7f16efcab4c450fd73e7188f5fa94 exim-4.89.1.tar.xz diff --git a/package/exim/exim.mk b/package/exim/exim.mk index 612eaf47fa..37eab501a4 100644 --- a/package/exim/exim.mk +++ b/package/exim/exim.mk @@ -5,7 +5,7 @@ ################################################################################ EXIM_VERSION = 4.89.1 -EXIM_SOURCE = exim-$(EXIM_VERSION).tar.bz2 +EXIM_SOURCE = exim-$(EXIM_VERSION).tar.xz EXIM_SITE = ftp://ftp.exim.org/pub/exim/exim4 EXIM_LICENSE = GPL-2.0+ EXIM_LICENSE_FILES = LICENCE diff --git a/package/expat/expat.hash b/package/expat/expat.hash index ef01ec9948..945e102342 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.4/ -md5 6e3980aba29a224a9f478d88ac7ec207 expat-2.2.4.tar.bz2 -sha1 3394d6390c041a8f5dec1d5fe7c4af0a23ae4504 expat-2.2.4.tar.bz2 -# Calculated based on the hashes above -sha256 03ad85db965f8ab2d27328abcf0bc5571af6ec0a414874b2066ee3fdd372019e expat-2.2.4.tar.bz2 +# From https://sourceforge.net/projects/expat/files/expat/2.2.5/ +md5 789e297f547980fc9ecc036f9a070d49 expat-2.2.5.tar.bz2 +sha1 490659abd7d6c6d4cb4e60c945a15fbf081564f6 expat-2.2.5.tar.bz2 + # Locally calculated +sha256 d9dc32efba7e74f788fcc4f212a43216fc37cf5f23f4c2339664d473353aedf6 expat-2.2.5.tar.bz2 sha256 46336ab2fec900803e2f1a4253e325ac01d998efb09bc6906651f7259e636f76 COPYING diff --git a/package/expat/expat.mk b/package/expat/expat.mk index ef196ec40c..69c457da3d 100644 --- a/package/expat/expat.mk +++ b/package/expat/expat.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXPAT_VERSION = 2.2.4 +EXPAT_VERSION = 2.2.5 EXPAT_SITE = http://downloads.sourceforge.net/project/expat/expat/$(EXPAT_VERSION) EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.bz2 EXPAT_INSTALL_STAGING = YES diff --git a/package/expect/expect.hash b/package/expect/expect.hash new file mode 100644 index 0000000000..c89f323906 --- /dev/null +++ b/package/expect/expect.hash @@ -0,0 +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 +# Locally calculated +sha256 b2415b17dc8d9a287f4509047ef5ac3436baef7ba7c50faef5222dcdf61a2bab README diff --git a/package/expect/expect.mk b/package/expect/expect.mk index d78ff6c208..ccde33a71b 100644 --- a/package/expect/expect.mk +++ b/package/expect/expect.mk @@ -4,12 +4,13 @@ # ################################################################################ -# Version 5.45.3 -EXPECT_VERSION = 2014-05-02 -EXPECT_SITE = cvs://expect.cvs.sourceforge.net:/cvsroot/expect +EXPECT_VERSION = 5.45.3 +EXPECT_SITE = https://sourceforge.net/projects/expect/files/Expect/$(EXPECT_VERSION) +EXPECT_SOURCE = expect$(EXPECT_VERSION).tar.gz EXPECT_LICENSE = Public domain EXPECT_LICENSE_FILES = README +# 0001-enable-cross-compilation.patch EXPECT_AUTORECONF = YES EXPECT_DEPENDENCIES = tcl EXPECT_CONF_OPTS = --with-tcl=$(BUILD_DIR)/tcl-$(TCL_VERSION)/unix diff --git a/package/f2fs-tools/Config.in b/package/f2fs-tools/Config.in index f0630e99c6..e373096380 100644 --- a/package/f2fs-tools/Config.in +++ b/package/f2fs-tools/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_F2FS_TOOLS help Tools for Flash-Friendly File System (F2FS) - http://sourceforge.net/projects/f2fs-tools/ + https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git comment "f2fs-tools needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR diff --git a/package/faad2/0001-getopt-fix-strncmp-declaration.patch b/package/faad2/0001-getopt-fix-strncmp-declaration.patch deleted file mode 100644 index 0e5f27e52a..0000000000 --- a/package/faad2/0001-getopt-fix-strncmp-declaration.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 6787914efad562e4097a153988109c5c7158abf7 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Wed, 16 Aug 2017 13:35:57 +0300 -Subject: [PATCH] getopt: fix strncmp() declaration - -The strncmp() declaration does not conform with the standard as to the -type of the 'n' parameter. Fix this to avoid the following build failure -with musl libc: - -n file included from main.c:61:0: -getopt.c:175:13: error: conflicting types for 'strncmp' - extern int strncmp(const char *s1, const char *s2, unsigned int n); - ^~~~~~~ -In file included from main.c:49:0: -.../host/x86_64-buildroot-linux-musl/sysroot/usr/include/string.h:38:5: note: previous declaration of 'strncmp' was here - int strncmp (const char *, const char *, size_t); - ^~~~~~~ -Signed-off-by: Baruch Siach ---- -Upstream status: https://sourceforge.net/p/faac/bugs/217/ - - frontend/getopt.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/frontend/getopt.c b/frontend/getopt.c -index 185d49b804dd..40c7a2242551 100644 ---- a/frontend/getopt.c -+++ b/frontend/getopt.c -@@ -172,7 +172,7 @@ static enum - #if __STDC__ || defined(PROTO) - extern char *getenv(const char *name); - extern int strcmp (const char *s1, const char *s2); --extern int strncmp(const char *s1, const char *s2, unsigned int n); -+extern int strncmp(const char *s1, const char *s2, size_t n); - - static int my_strlen(const char *s); - static char *my_index (const char *str, int chr); --- -2.14.1 - diff --git a/package/faad2/faad2.hash b/package/faad2/faad2.hash index d298e909a9..2c6acee3d7 100644 --- a/package/faad2/faad2.hash +++ b/package/faad2/faad2.hash @@ -1,4 +1,6 @@ # From http://sourceforge.net/projects/faac/files/faad2-src/faad2-2.8.0/ (used by upstream): -sha1 a5caa71cd915acd502d96cba56f38296277f2350 faad2-2.8.1.tar.bz2 +md5 28f6116efdbe9378269f8a6221767d1f faad2-2.8.8.tar.gz +sha1 0d49c516d4a83c39053a9bd214fddba72cbc34ad faad2-2.8.8.tar.gz # Locally computed -sha256 f4042496f6b0a60f5ded6acd11093230044ef8a2fd965360c1bbd5b58780933d faad2-2.8.1.tar.bz2 +sha256 985c3fadb9789d2815e50f4ff714511c79c2710ac27a4aaaf5c0c2662141426d faad2-2.8.8.tar.gz +sha256 d3baf3a54943cf12a994c85867a18dec84f810901b2f2878ddfd77efcc3c150f COPYING diff --git a/package/faad2/faad2.mk b/package/faad2/faad2.mk index fa965fe590..27daadfc12 100644 --- a/package/faad2/faad2.mk +++ b/package/faad2/faad2.mk @@ -5,13 +5,10 @@ ################################################################################ FAAD2_VERSION_MAJOR = 2.8 -FAAD2_VERSION = $(FAAD2_VERSION_MAJOR).1 +FAAD2_VERSION = $(FAAD2_VERSION_MAJOR).8 FAAD2_SITE = http://downloads.sourceforge.net/project/faac/faad2-src/faad2-$(FAAD2_VERSION_MAJOR).0 -FAAD2_SOURCE = faad2-$(FAAD2_VERSION).tar.bz2 FAAD2_LICENSE = GPL-2.0 FAAD2_LICENSE_FILES = COPYING -# No configure script in upstream tarball -FAAD2_AUTORECONF = YES # frontend/faad calls frexp() FAAD2_CONF_ENV = LIBS=-lm FAAD2_INSTALL_STAGING = YES diff --git a/package/faketime/0002-src-Makefile-disable-Werror.patch b/package/faketime/0002-src-Makefile-disable-Werror.patch new file mode 100644 index 0000000000..e1e3b321b8 --- /dev/null +++ b/package/faketime/0002-src-Makefile-disable-Werror.patch @@ -0,0 +1,32 @@ +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/fastd/0003-cipher-remove-aes128-ctr-NaCl-implementation.patch b/package/fastd/0003-cipher-remove-aes128-ctr-NaCl-implementation.patch new file mode 100644 index 0000000000..854b3e74cb --- /dev/null +++ b/package/fastd/0003-cipher-remove-aes128-ctr-NaCl-implementation.patch @@ -0,0 +1,137 @@ +From 4b8c4f54bbd70849fc91679bea44b4e1dfb0526d Mon Sep 17 00:00:00 2001 +From: Matthias Schiffer +Date: Wed, 18 Oct 2017 20:11:30 +0200 +Subject: [PATCH] cipher: remove aes128-ctr NaCl implementation + +New versions of libsodium have dropped support for aes128-ctr. AES support +is only available with OpenSSL now. + +Signed-off-by: Baruch Siach +--- +Patch status: upstream commit 4b8c4f54bb + + doc/source/manual/config.rst | 1 - + src/crypto/cipher/aes128_ctr/CMakeLists.txt | 1 - + src/crypto/cipher/aes128_ctr/nacl/CMakeLists.txt | 6 -- + .../aes128_ctr/nacl/cipher_aes128_ctr_nacl.c | 76 ---------------------- + 4 files changed, 84 deletions(-) + delete mode 100644 src/crypto/cipher/aes128_ctr/nacl/CMakeLists.txt + delete mode 100644 src/crypto/cipher/aes128_ctr/nacl/cipher_aes128_ctr_nacl.c + +diff --git a/doc/source/manual/config.rst b/doc/source/manual/config.rst +index 0abebeb4c245..94d7a9495ef0 100644 +--- a/doc/source/manual/config.rst ++++ b/doc/source/manual/config.rst +@@ -70,7 +70,6 @@ Example config: + * ``aes128-ctr``: AES128 in counter mode + + - ``openssl``: Use implementation from OpenSSL's libcrypto +- - ``nacl``: Use implementation from NaCl or libsodium + + * ``null``: No encryption (for authenticated-only methods using composed_gmac) + +diff --git a/src/crypto/cipher/aes128_ctr/CMakeLists.txt b/src/crypto/cipher/aes128_ctr/CMakeLists.txt +index 0588fed798e2..58e8c6b3371c 100644 +--- a/src/crypto/cipher/aes128_ctr/CMakeLists.txt ++++ b/src/crypto/cipher/aes128_ctr/CMakeLists.txt +@@ -1,3 +1,2 @@ + fastd_cipher(aes128-ctr aes128_ctr.c) + add_subdirectory(openssl) +-add_subdirectory(nacl) +diff --git a/src/crypto/cipher/aes128_ctr/nacl/CMakeLists.txt b/src/crypto/cipher/aes128_ctr/nacl/CMakeLists.txt +deleted file mode 100644 +index 676aa5d48ec4..000000000000 +--- a/src/crypto/cipher/aes128_ctr/nacl/CMakeLists.txt ++++ /dev/null +@@ -1,6 +0,0 @@ +-fastd_cipher_impl(aes128-ctr nacl +- cipher_aes128_ctr_nacl.c +-) +-fastd_cipher_impl_include_directories(aes128-ctr nacl ${NACL_INCLUDE_DIRS}) +-fastd_cipher_impl_link_libraries(aes128-ctr nacl ${NACL_LIBRARIES}) +-fastd_cipher_impl_require(aes128-ctr nacl NACL) +diff --git a/src/crypto/cipher/aes128_ctr/nacl/cipher_aes128_ctr_nacl.c b/src/crypto/cipher/aes128_ctr/nacl/cipher_aes128_ctr_nacl.c +deleted file mode 100644 +index ead632640414..000000000000 +--- a/src/crypto/cipher/aes128_ctr/nacl/cipher_aes128_ctr_nacl.c ++++ /dev/null +@@ -1,76 +0,0 @@ +-/* +- Copyright (c) 2012-2016, Matthias Schiffer +- 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. +- +- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. +-*/ +- +-/** +- \file +- +- The aes128-ctr implementation from NaCl +-*/ +- +- +-#include "../../../../crypto.h" +-#include "../../../../alloc.h" +- +-#include +- +- +-/** The cipher state */ +-struct __attribute__((aligned(16))) fastd_cipher_state { +- uint8_t d[crypto_stream_aes128ctr_BEFORENMBYTES] __attribute__((aligned(16))); /**< The unpacked AES key */ +-}; +- +- +-/** Initializes the cipher state */ +-static fastd_cipher_state_t * aes128_ctr_init(const uint8_t *key) { +- fastd_block128_t k; +- memcpy(k.b, key, sizeof(fastd_block128_t)); +- +- fastd_cipher_state_t *state = fastd_new_aligned(fastd_cipher_state_t, 16); +- crypto_stream_aes128ctr_beforenm(state->d, k.b); +- +- return state; +-} +- +-/** XORs data with the aes128-ctr cipher stream */ +-static bool aes128_ctr_crypt(const fastd_cipher_state_t *state, fastd_block128_t *out, const fastd_block128_t *in, size_t len, const uint8_t *iv) { +- crypto_stream_aes128ctr_xor_afternm(out->b, in->b, len, iv, state->d); +- return true; +-} +- +-/** Frees the cipher state */ +-static void aes128_ctr_free(fastd_cipher_state_t *state) { +- if (state) { +- secure_memzero(state, sizeof(*state)); +- free(state); +- } +-} +- +- +-/** The nacl aes128-ctr implementation */ +-const fastd_cipher_t fastd_cipher_aes128_ctr_nacl = { +- .init = aes128_ctr_init, +- .crypt = aes128_ctr_crypt, +- .free = aes128_ctr_free, +-}; +-- +2.15.0 + diff --git a/package/fbgrab/0100-fix-pixfmt-report.patch b/package/fbgrab/0100-fix-pixfmt-report.patch new file mode 100644 index 0000000000..8cff7ef8c3 --- /dev/null +++ b/package/fbgrab/0100-fix-pixfmt-report.patch @@ -0,0 +1,24 @@ +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/feh/feh.hash b/package/feh/feh.hash index f3f7ceddd9..0f8ac8c0b0 100644 --- a/package/feh/feh.hash +++ b/package/feh/feh.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 520481c9908d999f8f7546103b78ff9b11f41d25b0938f0a22f10aaa48beef2b feh-2.21.tar.bz2 +sha256 05a81fbe0997f6274c7617efc351647be38e5244c2624bd203459025c9a68ecd feh-2.22.2.tar.bz2 diff --git a/package/feh/feh.mk b/package/feh/feh.mk index 7211dc7bdd..311cef3afb 100644 --- a/package/feh/feh.mk +++ b/package/feh/feh.mk @@ -4,7 +4,7 @@ # ################################################################################ -FEH_VERSION = 2.21 +FEH_VERSION = 2.22.2 FEH_SOURCE = feh-$(FEH_VERSION).tar.bz2 FEH_SITE = http://feh.finalrewind.org FEH_DEPENDENCIES = libcurl imlib2 libpng xlib_libXinerama xlib_libXt @@ -12,13 +12,12 @@ FEH_LICENSE = MIT FEH_LICENSE_FILES = COPYING define FEH_BUILD_CMDS - $(TARGET_MAKE_ENV) CFLAGS="$(TARGET_CFLAGS) -std=gnu99" $(MAKE1) \ - CC="$(TARGET_CC) $(TARGET_LDFLAGS)" -C $(@D) all + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(TARGET_CFLAGS) -std=gnu99" \ + $(MAKE) -C $(@D) all endef define FEH_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) " \ - PREFIX=/usr DESTDIR=$(TARGET_DIR) -C $(@D) install + $(TARGET_MAKE_ENV) $(MAKE) PREFIX=/usr DESTDIR=$(TARGET_DIR) -C $(@D) install endef $(eval $(generic-package)) diff --git a/package/ffmpeg/0002-ffmpeg-pthreads.patch b/package/ffmpeg/0002-ffmpeg-pthreads.patch new file mode 100644 index 0000000000..c6d75d2297 --- /dev/null +++ b/package/ffmpeg/0002-ffmpeg-pthreads.patch @@ -0,0 +1,34 @@ +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/ffmpeg.hash b/package/ffmpeg/ffmpeg.hash index e986de98ca..7d64d8441c 100644 --- a/package/ffmpeg/ffmpeg.hash +++ b/package/ffmpeg/ffmpeg.hash @@ -1,2 +1,5 @@ # Locally calculated -sha256 a893490c3a8a7caaa9c47373b789c0335d0ac3572f2ba61059de842b9e45d802 ffmpeg-3.3.5.tar.xz +sha256 386f7601e865df6bddde05bb6927119b5a853f0b92e2e9834f59c125a17d3fc6 ffmpeg-3.4.4.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 +sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe COPYING.LGPLv2.1 +sha256 73d99bc83313fff665b426d6672b4e0479102bc402fe22314ac9ce94a38aa5ff LICENSE.md diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk index 3ac204f95e..0b34aa0ff1 100644 --- a/package/ffmpeg/ffmpeg.mk +++ b/package/ffmpeg/ffmpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -FFMPEG_VERSION = 3.3.5 +FFMPEG_VERSION = 3.4.4 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz FFMPEG_SITE = http://ffmpeg.org/releases FFMPEG_INSTALL_STAGING = YES @@ -53,14 +53,11 @@ FFMPEG_CONF_OPTS = \ --disable-libdc1394 \ --disable-libgsm \ --disable-libilbc \ - --disable-libnut \ - --disable-libopenjpeg \ - --disable-libschroedinger \ --disable-libvo-amrwbenc \ --disable-symver \ --disable-doc -FFMPEG_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) host-pkgconf +FFMPEG_DEPENDENCIES += host-pkgconf ifeq ($(BR2_PACKAGE_FFMPEG_GPL),y) FFMPEG_CONF_OPTS += --enable-gpl @@ -161,7 +158,10 @@ endif ifeq ($(BR2_PACKAGE_FFMPEG_INDEVS),y) FFMPEG_CONF_OPTS += --enable-indevs ifeq ($(BR2_PACKAGE_ALSA_LIB),y) +FFMPEG_CONF_OPTS += --enable-alsa FFMPEG_DEPENDENCIES += alsa-lib +else +FFMPEG_CONF_OPTS += --disable-alsa endif else FFMPEG_CONF_OPTS += --disable-indevs @@ -225,6 +225,13 @@ ifeq ($(BR2_PACKAGE_FFMPEG_GPL)$(BR2_PACKAGE_LIBEBUR128),yy) FFMPEG_DEPENDENCIES += libebur128 endif +ifeq ($(BR2_PACKAGE_LIBDRM),y) +FFMPEG_CONF_OPTS += --enable-libdrm +FFMPEG_DEPENDENCIES += libdrm +else +FFMPEG_CONF_OPTS += --disable-libdrm +endif + ifeq ($(BR2_PACKAGE_LIBOPENH264),y) FFMPEG_CONF_OPTS += --enable-libopenh264 FFMPEG_DEPENDENCIES += libopenh264 @@ -254,10 +261,10 @@ else FFMPEG_CONF_OPTS += --disable-vdpau endif -ifeq ($(BR2_PACKAGE_RPI_FIRMWARE)$(BR2_PACKAGE_RPI_USERLAND),yy) +ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) FFMPEG_CONF_OPTS += --enable-mmal --enable-omx --enable-omx-rpi \ --extra-cflags=-I$(STAGING_DIR)/usr/include/IL -FFMPEG_DEPENDENCIES += rpi-firmware rpi-userland +FFMPEG_DEPENDENCIES += rpi-userland else FFMPEG_CONF_OPTS += --disable-mmal --disable-omx --disable-omx-rpi endif @@ -344,6 +351,13 @@ else FFMPEG_CONF_OPTS += --disable-libwavpack endif +ifeq ($(BR2_PACKAGE_LIBICONV),y) +FFMPEG_CONF_OPTS += --enable-iconv +FFMPEG_DEPENDENCIES += libiconv +else +FFMPEG_CONF_OPTS += --disable-iconv +endif + # ffmpeg freetype support require fenv.h which is only # available/working on glibc. # The microblaze variant doesn't provide the needed exceptions @@ -361,6 +375,13 @@ else FFMPEG_CONF_OPTS += --disable-fontconfig endif +ifeq ($(BR2_PACKAGE_OPENJPEG),y) +FFMPEG_CONF_OPTS += --enable-libopenjpeg +FFMPEG_DEPENDENCIES += openjpeg +else +FFMPEG_CONF_OPTS += --disable-libopenjpeg +endif + ifeq ($(BR2_PACKAGE_X264)$(BR2_PACKAGE_FFMPEG_GPL),yy) FFMPEG_CONF_OPTS += --enable-libx264 FFMPEG_DEPENDENCIES += x264 @@ -376,10 +397,10 @@ FFMPEG_CONF_OPTS += --disable-libx265 endif ifeq ($(BR2_X86_CPU_HAS_MMX),y) -FFMPEG_CONF_OPTS += --enable-yasm -FFMPEG_DEPENDENCIES += host-yasm +FFMPEG_CONF_OPTS += --enable-x86asm +FFMPEG_DEPENDENCIES += host-nasm else -FFMPEG_CONF_OPTS += --disable-yasm +FFMPEG_CONF_OPTS += --disable-x86asm FFMPEG_CONF_OPTS += --disable-mmx endif diff --git a/package/fftw/fftw.hash b/package/fftw/fftw.hash index b00f447e06..faf4b904c9 100644 --- a/package/fftw/fftw.hash +++ b/package/fftw/fftw.hash @@ -1,4 +1,5 @@ -# From http://www.fftw.org/fftw-3.3.6-pl2.tar.gz.md5sum -md5 927e481edbb32575397eb3d62535a856 fftw-3.3.6-pl2.tar.gz +# From http://www.fftw.org/fftw-3.3.7.tar.gz.md5sum +md5 0d5915d7d39b3253c1cc05030d79ac47 fftw-3.3.7.tar.gz # Locally computed -sha256 a5de35c5c824a78a058ca54278c706cdf3d4abba1c56b63531c2cb05f5d57da2 fftw-3.3.6-pl2.tar.gz +sha256 3b609b7feba5230e8f6dd8d245ddbefac324c5a6ae4186947670d9ac2cd25573 fftw-3.3.7.tar.gz +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk index 0f32f7958b..b3aa4b6b14 100644 --- a/package/fftw/fftw.mk +++ b/package/fftw/fftw.mk @@ -4,7 +4,7 @@ # ################################################################################ -FFTW_VERSION = 3.3.6-pl2 +FFTW_VERSION = 3.3.7 FFTW_SITE = http://www.fftw.org FFTW_INSTALL_STAGING = YES FFTW_LICENSE = GPL-2.0+ diff --git a/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch b/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch new file mode 100644 index 0000000000..daff866692 --- /dev/null +++ b/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch @@ -0,0 +1,30 @@ +From a642587a9c9e2dd7feacdf513c3643ce26ad3c22 Mon Sep 17 00:00:00 2001 +From: Christos Zoulas +Date: Sat, 9 Jun 2018 16:00:06 +0000 +Subject: [PATCH] Avoid reading past the end of buffer (Rui Reis) + +[baruch: drop file version string update hunk] +Signed-off-by: Baruch Siach +--- +Upstream status: commit a642587a9c9 in github mirror + + src/readelf.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/readelf.c b/src/readelf.c +index 79c83f9f5048..1f41b46113c3 100644 +--- a/src/readelf.c ++++ b/src/readelf.c +@@ -842,7 +842,8 @@ do_core_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type, + + cname = (unsigned char *) + &nbuf[doff + prpsoffsets(i)]; +- for (cp = cname; *cp && isprint(*cp); cp++) ++ for (cp = cname; cp < nbuf + size && *cp ++ && isprint(*cp); cp++) + continue; + /* + * Linux apparently appends a space at the end +-- +2.17.1 + diff --git a/package/file/file.hash b/package/file/file.hash index fee516c8e2..a6b40be349 100644 --- a/package/file/file.hash +++ b/package/file/file.hash @@ -1,2 +1,5 @@ # Locally calculated -sha256 8639dc4d1b21e232285cd483604afc4a6ee810710e00e579dbe9591681722b50 file-5.32.tar.gz +sha256 1c52c8c3d271cd898d5511c36a68059cda94036111ab293f01f83c3525b737c6 file-5.33.tar.gz +sha256 3c0ad13c36f891a9b4f951e59eb2fc108065a46f849697cc6fd3cdb41cc23a3d COPYING +sha256 d98ee4d8d95e7d021a5dfc41f137ecc3b624a7b98e8bd793130202d12a21ed57 src/mygetopt.h +sha256 85e358d575ad4ac5b38b623a25b24246ccff3c7e680d930c0a9ff5228fe434b6 src/vasprintf.c diff --git a/package/file/file.mk b/package/file/file.mk index df0e0f0eb9..1f04dad688 100644 --- a/package/file/file.mk +++ b/package/file/file.mk @@ -4,7 +4,7 @@ # ################################################################################ -FILE_VERSION = 5.32 +FILE_VERSION = 5.33 FILE_SITE = ftp://ftp.astron.com/pub/file FILE_DEPENDENCIES = host-file zlib HOST_FILE_DEPENDENCIES = host-zlib @@ -12,6 +12,14 @@ 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 +HOST_FILE_CONF_OPTS = --disable-libseccomp + +ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +FILE_CONF_OPTS += --enable-libseccomp +FILE_DEPENDENCIES += libseccomp +else +FILE_CONF_OPTS += --disable-libseccomp +endif $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/fio/fio.hash b/package/fio/fio.hash index 7eb08140c5..d136fd595b 100644 --- a/package/fio/fio.hash +++ b/package/fio/fio.hash @@ -1,2 +1,4 @@ # Locally computed sha256 1952db4d534221e6e8454f851dfcc38328b0ed4a3f499ea25a51ca2b5ccc8136 fio-fio-2.20.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 8a240c1ad13d1fe3e58588643d81d0695899be4a669fe6d8fafa76ca6a89db2c MORAL-LICENSE diff --git a/package/fio/fio.mk b/package/fio/fio.mk index c109f0795c..aabdff9925 100644 --- a/package/fio/fio.mk +++ b/package/fio/fio.mk @@ -6,8 +6,8 @@ FIO_VERSION = fio-2.20 FIO_SITE = git://git.kernel.dk/fio.git -FIO_LICENSE = GPL-2.0 + special obligations -FIO_LICENSE_FILES = COPYING +FIO_LICENSE = GPL-2.0 +FIO_LICENSE_FILES = COPYING MORAL-LICENSE ifeq ($(BR2_PACKAGE_LIBAIO),y) FIO_DEPENDENCIES += libaio diff --git a/package/fis/fis.mk b/package/fis/fis.mk index 6d3a227183..6db06bf74a 100644 --- a/package/fis/fis.mk +++ b/package/fis/fis.mk @@ -12,7 +12,7 @@ FIS_LICENSE_FILES = fis.c define FIS_BUILD_CMDS $(TARGET_CC) $(TARGET_CFLAGS) -std=c99 -o $(@D)/fis \ - $(@D)/fis.c $(@D)/crc.c $(TARGE_LDFLAGS) + $(@D)/fis.c $(@D)/crc.c $(TARGET_LDFLAGS) endef define FIS_INSTALL_TARGET_CMDS diff --git a/package/flann/0001-src-cpp-fix-cmake-3.11-build.patch b/package/flann/0001-src-cpp-fix-cmake-3.11-build.patch new file mode 100644 index 0000000000..b37bedcf6d --- /dev/null +++ b/package/flann/0001-src-cpp-fix-cmake-3.11-build.patch @@ -0,0 +1,80 @@ +From fa5ec96a94646492a3f908e12905b3e48a8e800b Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Wed, 18 Apr 2018 20:24:13 +0200 +Subject: [PATCH] src/cpp: fix cmake >= 3.11 build + +CMake < 3.11 doesn't support add_library() without any source file +(i.e add_library(foo SHARED)). But flann CMake use a trick that use +an empty string "" as source list (i.e add_library(foo SHARED "")). +This look like a bug in CMake < 3.11. + +With CMake >= 3.11, the new behaviour of add_library() break the +existing flann CMake code. + +From CMake Changelog [1]: +"add_library() and add_executable() commands can now be called without + any sources and will not complain as long as sources are added later + via the target_sources() command." + +Note: flann CMake code doesn't use target_sources() since no source file +are provided intentionally since the flann shared library is created by +linking with the flann_cpp_s static library with this line: + +target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive) + +If you try to use "add_library(flann_cpp SHARED ${CPP_SOURCES})" (as it should +be normally done), the link fail due to already defined symbol. + +They are building the shared version using the static library "to speedup the +build time" [3] + +This issue is already reported upstream [2] with a proposed solution. + +Upstream status: Pending + +Fixes: +http://autobuild.buildroot.net/results/b2f/b2febfaf8c44ce477b3e4a5b9b976fd25e8d7454 + +[1] https://cmake.org/cmake/help/v3.11/release/3.11.html +[2] https://github.com/mariusmuja/flann/issues/369 +[3] https://github.com/mariusmuja/flann/commit/0fd62b43be2fbb0b8d791ee36290791224dc030c + +Signed-off-by: Romain Naour +--- + src/cpp/CMakeLists.txt | 4 ++-- + src/cpp/empty.cpp | 1 + + 2 files changed, 3 insertions(+), 2 deletions(-) + create mode 100644 src/cpp/empty.cpp + +diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt +index b44a735..a816863 100644 +--- a/src/cpp/CMakeLists.txt ++++ b/src/cpp/CMakeLists.txt +@@ -29,7 +29,7 @@ if (BUILD_CUDA_LIB) + endif() + + if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) +- add_library(flann_cpp SHARED "") ++ add_library(flann_cpp SHARED "empty.cpp") + set_target_properties(flann_cpp PROPERTIES LINKER_LANGUAGE CXX) + target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive) + +@@ -85,7 +85,7 @@ if (BUILD_C_BINDINGS) + set_property(TARGET flann_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) + + if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) +- add_library(flann SHARED "") ++ add_library(flann SHARED "empty.cpp") + set_target_properties(flann PROPERTIES LINKER_LANGUAGE CXX) + target_link_libraries(flann -Wl,-whole-archive flann_s -Wl,-no-whole-archive) + else() +diff --git a/src/cpp/empty.cpp b/src/cpp/empty.cpp +new file mode 100644 +index 0000000..40a8c17 +--- /dev/null ++++ b/src/cpp/empty.cpp +@@ -0,0 +1 @@ ++/* empty */ +-- +2.14.3 + diff --git a/package/flann/flann.mk b/package/flann/flann.mk index e777fd8b2e..ef61815bba 100644 --- a/package/flann/flann.mk +++ b/package/flann/flann.mk @@ -15,6 +15,7 @@ FLANN_CONF_OPTS = \ -DBUILD_MATLAB_BINDINGS=OFF \ -DBUILD_EXAMPLES=$(if $(BR2_PACKAGE_FLANN_EXAMPLES),ON,OFF) \ -DUSE_OPENMP=$(if $(BR2_GCC_ENABLE_OPENMP),ON,OFF) \ - -DPYTHON_EXECUTABLE=OFF + -DPYTHON_EXECUTABLE=OFF \ + -DCMAKE_DISABLE_FIND_PACKAGE_HDF5=TRUE $(eval $(cmake-package)) diff --git a/package/flatbuffers/Config.in b/package/flatbuffers/Config.in new file mode 100644 index 0000000000..992738282f --- /dev/null +++ b/package/flatbuffers/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_FLATBUFFERS + bool "flatbuffers" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 + depends on BR2_INSTALL_LIBSTDCPP + help + FlatBuffers is an efficient cross platform serialization + library for C++, C#, C, Go, Java, JavaScript, PHP, and + Python. It was originally created at Google for game + development and other performance-critical applications. + + http://google.github.io/flatbuffers/ + +comment "flatbuffers needs a toolchain w/ C++, gcc >= 4.7" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 diff --git a/package/flatbuffers/flatbuffers.hash b/package/flatbuffers/flatbuffers.hash new file mode 100644 index 0000000000..bd39ca385b --- /dev/null +++ b/package/flatbuffers/flatbuffers.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 c45029c0a0f1a88d416af143e34de96b3091642722aa2d8c090916c6d1498c2e flatbuffers-v1.8.0.tar.gz +sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 LICENSE.txt diff --git a/package/flatbuffers/flatbuffers.mk b/package/flatbuffers/flatbuffers.mk new file mode 100644 index 0000000000..2b640ecc2a --- /dev/null +++ b/package/flatbuffers/flatbuffers.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# flatbuffers +# +################################################################################ + +FLATBUFFERS_VERSION = v1.8.0 +FLATBUFFERS_SITE = $(call github,google,flatbuffers,$(FLATBUFFERS_VERSION)) +FLATBUFFERS_LICENSE = Apache-2.0 +FLATBUFFERS_LICENSE_FILES = LICENSE.txt +FLATBUFFERS_INSTALL_STAGING = YES + +FLATBUFFERS_CONF_OPTS += \ + -DCMAKE_CXX_FLAGS="-std=c++11" \ + -DFLATBUFFERS_BUILD_TESTS=OFF + +ifeq ($(BR2_STATIC_LIBS),y) +FLATBUFFERS_CONF_OPTS += -DFLATBUFFERS_BUILD_SHAREDLIB=OFF +else +FLATBUFFERS_CONF_OPTS += -DFLATBUFFERS_BUILD_SHAREDLIB=ON +endif + +$(eval $(cmake-package)) diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in index fa3f9a0d38..e33a90d912 100644 --- a/package/freescale-imx/Config.in +++ b/package/freescale-imx/Config.in @@ -29,10 +29,16 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 bool "imx53" config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q - bool "imx6q" + bool "imx6q/imx6dl" + +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S + bool "imx6sl/imx6sx" config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL - bool "imx6ul" + bool "imx6ul/imx6ull" + +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 + bool "imx7d/imx7ulp" endchoice @@ -45,7 +51,9 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM default "IMX51" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 default "IMX53" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 default "IMX6Q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q + 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 config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU bool @@ -54,9 +62,16 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 || \ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q +config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU + bool + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 + source "package/freescale-imx/imx-codec/Config.in" source "package/freescale-imx/imx-kobs/Config.in" source "package/freescale-imx/imx-lib/Config.in" +source "package/freescale-imx/imx-m4fwloader/Config.in" source "package/freescale-imx/imx-parser/Config.in" source "package/freescale-imx/imx-uuc/Config.in" source "package/freescale-imx/imx-vpu/Config.in" @@ -66,7 +81,8 @@ if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFO source "package/freescale-imx/gpu-amd-bin-mx51/Config.in" source "package/freescale-imx/libz160/Config.in" endif -if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q +if BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU +source "package/freescale-imx/imx-gpu-g2d/Config.in" source "package/freescale-imx/imx-gpu-viv/Config.in" source "package/freescale-imx/kernel-module-imx-gpu-viv/Config.in" endif diff --git a/package/freescale-imx/firmware-imx/firmware-imx.hash b/package/freescale-imx/firmware-imx/firmware-imx.hash index a6e5bd58ef..ca8556fa21 100644 --- a/package/freescale-imx/firmware-imx/firmware-imx.hash +++ b/package/freescale-imx/firmware-imx/firmware-imx.hash @@ -1 +1,4 @@ -sha256 c5bd4bff48cce9715a5d6d2c190ff3cd2262c7196f7facb9b0eda231c92cc223 firmware-imx-5.4.bin +# Locally calculated +sha256 3e107d83ed2367c9565250d6ff3903cc604bf4d9aa505391260ead0f51ceb8d9 firmware-imx-7.2.bin +sha256 faf01d10e484879247963eb97d96622a980232e22a35e487dfe53b13708b686a EULA +sha256 0f34f6175247762e2e1c38319aadf657a53f00ce124e569dfc61b30451549e7a COPYING diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk index 08fb4636a0..630afcaa37 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 = 5.4 +FIRMWARE_IMX_VERSION = 7.2 FIRMWARE_IMX_SITE = $(FREESCALE_IMX_SITE) FIRMWARE_IMX_SOURCE = firmware-imx-$(FIRMWARE_IMX_VERSION).bin @@ -26,7 +26,6 @@ define FIRMWARE_IMX_INSTALL_TARGET_CMDS cp -r $(@D)/firmware/epdc $(TARGET_DIR)/lib/firmware/imx mv $(TARGET_DIR)/lib/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted \ $(TARGET_DIR)/lib/firmware/imx/epdc/epdc_ED060XH2C1.fw - rm $(TARGET_DIR)/lib/firmware/imx/epdc/fsl-epdc.mk endef $(eval $(generic-package)) diff --git a/package/freescale-imx/imx-codec/Config.in b/package/freescale-imx/imx-codec/Config.in index df248b0cf2..0ecb92bf02 100644 --- a/package/freescale-imx/imx-codec/Config.in +++ b/package/freescale-imx/imx-codec/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_IMX_CODEC bool "imx-codec" - depends on BR2_arm # Only relevant for i.MX + depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX depends on BR2_TOOLCHAIN_USES_GLIBC # prebuilt binaries help Binary codec libraries for the NXP i.MX SoCs. @@ -9,5 +9,5 @@ config BR2_PACKAGE_IMX_CODEC an upstream. comment "imx-codec needs a glibc toolchain" - depends on BR2_arm + depends on BR2_arm || BR2_aarch64 depends on !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/freescale-imx/imx-codec/imx-codec.hash b/package/freescale-imx/imx-codec/imx-codec.hash index 2bb7a242e9..53d8f71c39 100644 --- a/package/freescale-imx/imx-codec/imx-codec.hash +++ b/package/freescale-imx/imx-codec/imx-codec.hash @@ -1,2 +1,2 @@ # locally computed -sha256 98fe71cb44f7e858c64c5eda81741ed02f40afaadc3d4ed1e693c7d1e684b81d imx-codec-4.1.4.bin +sha256 20d3f9b4187fcd9e7007c94558a00bab1191513eee74b6f0d8c7b43f874e06ed imx-codec-4.2.1.bin diff --git a/package/freescale-imx/imx-codec/imx-codec.mk b/package/freescale-imx/imx-codec/imx-codec.mk index 44be941fe2..ea4d90110f 100644 --- a/package/freescale-imx/imx-codec/imx-codec.mk +++ b/package/freescale-imx/imx-codec/imx-codec.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_CODEC_VERSION = 4.1.4 +IMX_CODEC_VERSION = 4.2.1 IMX_CODEC_SITE = $(FREESCALE_IMX_SITE) IMX_CODEC_SOURCE = imx-codec-$(IMX_CODEC_VERSION).bin IMX_CODEC_INSTALL_STAGING = YES @@ -13,6 +13,10 @@ IMX_CODEC_LICENSE = NXP Semiconductor Software License Agreement, BSD-3-Clause ( IMX_CODEC_LICENSE_FILES = EULA COPYING IMX_CODEC_REDISTRIBUTE = NO +ifeq ($(BR2_aarch64),y) +IMX_CODEC_CONF_OPTS += --enable-armv8 +endif + ifeq ($(BR2_ARM_EABIHF),y) IMX_CODEC_CONF_OPTS += --enable-fhw endif diff --git a/package/freescale-imx/imx-gpu-g2d/Config.in b/package/freescale-imx/imx-gpu-g2d/Config.in new file mode 100644 index 0000000000..47375788d1 --- /dev/null +++ b/package/freescale-imx/imx-gpu-g2d/Config.in @@ -0,0 +1,25 @@ +comment "imx-gpu-g2d needs a glibc toolchain with armhf enabled" + depends on BR2_arm + depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF + +config BR2_PACKAGE_IMX_GPU_G2D + bool "imx-gpu-g2d" + # Pre-built binaries only available for ARM EABIhf + depends on BR2_ARM_EABIHF + # Library binaries are linked against libc.so.6 + depends on BR2_TOOLCHAIN_USES_GLIBC + select BR2_PACKAGE_IMX_GPU_VIV + help + Userspace 2D libraries for Vivante GPU on i.MX platforms. + + This library is provided by NXP as-is and doesn't have an + upstream. + +if BR2_PACKAGE_IMX_GPU_G2D + +config BR2_PACKAGE_IMX_GPU_G2D_EXAMPLES + bool "install examples" + help + Copy the Vivante G2D examples to the target. + +endif diff --git a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash new file mode 100644 index 0000000000..299ec703f5 --- /dev/null +++ b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash @@ -0,0 +1 @@ +sha256 070a95aa9942bd67e8ba4012962df74143bffb9998301ac097dab5e1437000d8 imx-gpu-g2d-6.2.2.p0.bin diff --git a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk new file mode 100644 index 0000000000..0c92b826c4 --- /dev/null +++ b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk @@ -0,0 +1,37 @@ +################################################################################ +# +# imx-gpu-g2d +# +################################################################################ + +IMX_GPU_G2D_VERSION = 6.2.2.p0 +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 +IMX_GPU_G2D_INSTALL_STAGING = YES + +IMX_GPU_G2D_LICENSE = NXP Semiconductor Software License Agreement +IMX_GPU_G2D_LICENSE_FILES = EULA COPYING +IMX_GPU_G2D_REDISTRIBUTE = NO + +define IMX_GPU_G2D_EXTRACT_CMDS + $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_GPU_G2D_SOURCE)) +endef + +define IMX_GPU_G2D_INSTALL_STAGING_CMDS + cp -a $(@D)/g2d/usr/* $(STAGING_DIR)/usr +endef + +ifeq ($(BR2_PACKAGE_IMX_GPU_G2D_EXAMPLES),y) +define IMX_GPU_G2D_INSTALL_EXAMPLES + mkdir -p $(TARGET_DIR)/usr/share/examples/ + cp -a $(@D)/gpu-demos/opt/* $(TARGET_DIR)/usr/share/examples/ +endef +endif + +define IMX_GPU_G2D_INSTALL_TARGET_CMDS + $(IMX_GPU_G2D_INSTALL_EXAMPLES) + cp -a $(@D)/g2d/usr/lib $(TARGET_DIR)/usr +endef + +$(eval $(generic-package)) diff --git a/package/freescale-imx/imx-gpu-viv/Config.in b/package/freescale-imx/imx-gpu-viv/Config.in index dba378c2d2..cf58ad475c 100644 --- a/package/freescale-imx/imx-gpu-viv/Config.in +++ b/package/freescale-imx/imx-gpu-viv/Config.in @@ -60,17 +60,6 @@ config BR2_PACKAGE_PROVIDES_LIBGLES config BR2_PACKAGE_PROVIDES_LIBOPENVG default "imx-gpu-viv" -config BR2_PACKAGE_IMX_GPU_VIV_APITRACE - bool "install apitrace tools" - select BR2_PACKAGE_IMX_GPU_VIV_G2D - select BR2_PACKAGE_LIBPNG - help - Copy the apitrace tool to the target. Apitrace consists - of a set of tools to trace, replay and/or inspect OpenGL, - OpenGL ES APIs calls - - http://apitrace.github.io/ - config BR2_PACKAGE_IMX_GPU_VIV_EXAMPLES bool "install examples" help @@ -78,11 +67,6 @@ config BR2_PACKAGE_IMX_GPU_VIV_EXAMPLES Warning: examples take approximately 150 MB of disk space. -config BR2_PACKAGE_IMX_GPU_VIV_G2D - bool "install G2D libraries" - help - Copy the GPU2D libraries to the target. - config BR2_PACKAGE_IMX_GPU_VIV_GMEM_INFO bool "install gmem_info tool" help 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 6c526c5876..894bc90dae 100644 --- a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash +++ b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash @@ -1 +1 @@ -sha256 caaabd59a259e29aa5b7f9d1d7f3fe71cff9336ba44904485d258baef276351f imx-gpu-viv-5.0.11.p8.6-hfp.bin +sha256 4f93a4412c93ca5959aa2437bfed2ecbaf983b5b272be5977f76a967de5db150 imx-gpu-viv-6.2.2.p0-aarch32.bin 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 961f574c8b..9104750c3c 100644 --- a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk +++ b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_GPU_VIV_VERSION = 5.0.11.p8.6-hfp +IMX_GPU_VIV_VERSION = 6.2.2.p0-aarch32 IMX_GPU_VIV_SITE = $(FREESCALE_IMX_SITE) IMX_GPU_VIV_SOURCE = imx-gpu-viv-$(IMX_GPU_VIV_VERSION).bin @@ -43,8 +43,8 @@ define IMX_GPU_VIV_BUILD_CMDS ln -sf libGLESv2-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGLESv2.so ln -sf libGLESv2-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGLESv2.so.2 ln -sf libGLESv2-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGLESv2.so.2.0.0 - ln -sf libVIVANTE-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libVIVANTE.so ln -sf libGAL-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGAL.so + ln -sf libVDK-$(IMX_GPU_VIV_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libVDK.so endef ifeq ($(IMX_GPU_VIV_LIB_TARGET),fb) @@ -52,43 +52,35 @@ define IMX_GPU_VIV_FIXUP_FB_HEADERS $(SED) '39i\ #if !defined(EGL_API_X11) && !defined(EGL_API_DFB) && !defined(EGL_API_FB) \n\ #define EGL_API_FB \n\ - #endif' $(STAGING_DIR)/usr/include/EGL/eglvivante.h + #endif' $(STAGING_DIR)/usr/include/EGL/eglplatform.h endef endif -ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_G2D),y) -define IMX_GPU_VIV_INSTALL_G2D_STAGING - cp -dpfr $(@D)/g2d/usr/include/* $(STAGING_DIR)/usr/include/ - cp -dpfr $(@D)/g2d/usr/lib/* $(STAGING_DIR)/usr/lib/ +ifeq ($(IMX_GPU_VIV_LIB_TARGET),fb) +define IMX_GPU_VIV_FIXUP_PKGCONFIG + ln -sf egl_linuxfb.pc $(@D)/gpu-core/usr/lib/pkgconfig/egl.pc +endef +endif + +ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11) +define IMX_GPU_VIV_FIXUP_PKGCONFIG + for lib in egl gbm glesv1_cm glesv2 vg; do \ + ln -sf $${lib}_x11.pc $(@D)/gpu-core/usr/lib/pkgconfig/$${lib}.pc || exit 1; \ + done endef endif define IMX_GPU_VIV_INSTALL_STAGING_CMDS cp -r $(@D)/gpu-core/usr/* $(STAGING_DIR)/usr $(IMX_GPU_VIV_FIXUP_FB_HEADERS) - $(IMX_GPU_VIV_INSTALL_G2D_STAGING) - for lib in egl glesv2 vg; do \ + $(IMX_GPU_VIV_FIXUP_PKGCONFIG) + for lib in egl gbm glesv1_cm glesv2 vg; do \ $(INSTALL) -m 0644 -D \ $(@D)/gpu-core/usr/lib/pkgconfig/$${lib}.pc \ $(STAGING_DIR)/usr/lib/pkgconfig/$${lib}.pc; \ done endef -ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_APITRACE),y) -IMX_GPU_VIV_DEPENDENCIES += libpng -ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11) -define IMX_GPU_VIV_INSTALL_APITRACE - cp -dpfr $(@D)/apitrace/x11/usr/bin/* $(TARGET_DIR)/usr/bin/ - cp -dpfr $(@D)/apitrace/x11/usr/lib/* $(TARGET_DIR)/usr/lib/ -endef -else -define IMX_GPU_VIV_INSTALL_APITRACE - cp -dpfr $(@D)/apitrace/non-x11/usr/bin/* $(TARGET_DIR)/usr/bin/ - cp -dpfr $(@D)/apitrace/non-x11/usr/lib/* $(TARGET_DIR)/usr/lib/ -endef -endif -endif - ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_EXAMPLES),y) define IMX_GPU_VIV_INSTALL_EXAMPLES mkdir -p $(TARGET_DIR)/usr/share/examples/ @@ -96,12 +88,6 @@ define IMX_GPU_VIV_INSTALL_EXAMPLES endef endif -ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_G2D),y) -define IMX_GPU_VIV_INSTALL_G2D - cp -dpfr $(@D)/g2d/usr/lib/* $(TARGET_DIR)/usr/lib/ -endef -endif - ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_GMEM_INFO),y) define IMX_GPU_VIV_INSTALL_GMEM_INFO cp -dpfr $(@D)/gpu-tools/gmem-info/usr/bin/* $(TARGET_DIR)/usr/bin/ @@ -112,12 +98,10 @@ endif # Note that this is _required_, else ldconfig may create symlinks # to the wrong library define IMX_GPU_VIV_INSTALL_TARGET_CMDS - $(IMX_GPU_VIV_INSTALL_APITRACE) $(IMX_GPU_VIV_INSTALL_EXAMPLES) - $(IMX_GPU_VIV_INSTALL_G2D) $(IMX_GPU_VIV_INSTALL_GMEM_INFO) cp -a $(@D)/gpu-core/usr/lib $(TARGET_DIR)/usr - for lib in EGL GAL VIVANTE GLESv2; do \ + for lib in EGL GAL GLESv2 VDK; do \ for f in $(TARGET_DIR)/usr/lib/lib$${lib}-*.so; do \ case $$f in \ *-$(IMX_GPU_VIV_LIB_TARGET).so) : ;; \ diff --git a/package/freescale-imx/imx-kobs/imx-kobs.hash b/package/freescale-imx/imx-kobs/imx-kobs.hash index 258d08c7e9..2ede0a9b48 100644 --- a/package/freescale-imx/imx-kobs/imx-kobs.hash +++ b/package/freescale-imx/imx-kobs/imx-kobs.hash @@ -1 +1 @@ -sha256 5b040de6e3db5d47371b311e7068380926827a7a6ef02e45fb2ba08b680d0ec5 imx-kobs-b402243a04e5a6760a860445e5ff6a931d86f794.tar.gz +sha256 5855c8964f908ad30e5d4500180ee57c51af68186289ef1bdf8553ee60d3b1f5 imx-kobs-a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b.tar.gz diff --git a/package/freescale-imx/imx-kobs/imx-kobs.mk b/package/freescale-imx/imx-kobs/imx-kobs.mk index 897820df3f..d6a250cf72 100644 --- a/package/freescale-imx/imx-kobs/imx-kobs.mk +++ b/package/freescale-imx/imx-kobs/imx-kobs.mk @@ -4,8 +4,8 @@ # ################################################################################ -IMX_KOBS_VERSION = b402243a04e5a6760a860445e5ff6a931d86f794 -IMX_KOBS_SITE = $(call github,NXPmicro,imx-kobs,$(IMX_KOBS_VERSION)) +IMX_KOBS_VERSION = a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b +IMX_KOBS_SITE = $(call github,codeauroraforum,imx-kobs,$(IMX_KOBS_VERSION)) IMX_KOBS_LICENSE = GPL-2.0+ IMX_KOBS_LICENSE_FILES = COPYING diff --git a/package/freescale-imx/imx-lib/Config.in b/package/freescale-imx/imx-lib/Config.in index 3687705041..746788e4c5 100644 --- a/package/freescale-imx/imx-lib/Config.in +++ b/package/freescale-imx/imx-lib/Config.in @@ -7,9 +7,9 @@ config BR2_PACKAGE_IMX_LIB depends on BR2_arm # Only relevant for i.MX help Library of userspace helpers specific for the Freescale i.MX - platform. It wraps the kernel interfaces for some i.MX platform - specific drivers. It requires a kernel that includes the i.MX - specific headers to be built. + platform. It wraps the kernel interfaces for some i.MX + platform specific drivers. It requires a kernel that + includes the i.MX specific headers to be built. This library is provided by Freescale as-is and doesn't have an upstream. diff --git a/package/freescale-imx/imx-lib/imx-lib.hash b/package/freescale-imx/imx-lib/imx-lib.hash index 76dcb23f6f..b3fce59d53 100644 --- a/package/freescale-imx/imx-lib/imx-lib.hash +++ b/package/freescale-imx/imx-lib/imx-lib.hash @@ -1,2 +1,2 @@ # locally computed -sha256 8d12c4a0a44d29569f1ead3a36adc28402b9c4036b53e11dd3ebf2295e3ce1d0 imx-lib-5.4.tar.gz +sha256 245ace9b2c50d6c13a804d9c4492a5a850c626e7537f0d0bad81670b2824892f imx-lib-rel_imx_4.9.x_1.0.0_ga.tar.gz diff --git a/package/freescale-imx/imx-lib/imx-lib.mk b/package/freescale-imx/imx-lib/imx-lib.mk index 3e0f7d8dee..e82368588d 100644 --- a/package/freescale-imx/imx-lib/imx-lib.mk +++ b/package/freescale-imx/imx-lib/imx-lib.mk @@ -4,8 +4,9 @@ # ################################################################################ -IMX_LIB_VERSION = 5.4 -IMX_LIB_SITE = $(FREESCALE_IMX_SITE) +IMX_LIB_VERSION = rel_imx_4.9.x_1.0.0_ga +IMX_LIB_SITE = https://source.codeaurora.org/external/imx/imx-lib +IMX_LIB_SITE_METHOD = git IMX_LIB_LICENSE = LGPL-2.1+ IMX_LIB_LICENSE_FILES = COPYING-LGPL-2.1 @@ -14,8 +15,6 @@ IMX_LIB_INSTALL_STAGING = YES # imx-lib needs access to imx-specific kernel headers IMX_LIB_DEPENDENCIES += linux IMX_LIB_INCLUDE = \ - -I$(LINUX_DIR)/drivers/mxc/security/rng/include \ - -I$(LINUX_DIR)/drivers/mxc/security/sahara2/include \ -idirafter $(LINUX_DIR)/include/uapi IMX_LIB_MAKE_ENV = \ diff --git a/package/freescale-imx/imx-m4fwloader/Config.in b/package/freescale-imx/imx-m4fwloader/Config.in new file mode 100644 index 0000000000..937f82f916 --- /dev/null +++ b/package/freescale-imx/imx-m4fwloader/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_IMX_M4FWLOADER + bool "imx-m4fwloader" + depends on BR2_arm # Only relevant for i.MX + help + This package provides a tool to load a firmware to the + Cortex-M4 core available in some i.MX processors. + + https://github.com/codeauroraforum/imx-m4fwloader diff --git a/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.hash b/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.hash new file mode 100644 index 0000000000..2bf3f15d0f --- /dev/null +++ b/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 fb6334900972fe389e808845417dd9045fb0f7eb47952fc22a00f4cdaf94af1a imx-m4fwloader-8cf4d17a09ba23250d43381b49ba00d92406fad9.tar.gz +sha256 c03cea027b4b40e4402fabd08557736727ec3d5bc54ad64ab6472de432198cad LICENSE diff --git a/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.mk b/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.mk new file mode 100644 index 0000000000..cc4849330c --- /dev/null +++ b/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# imx-m4fwloader +# +################################################################################ + +IMX_M4FWLOADER_VERSION = 8cf4d17a09ba23250d43381b49ba00d92406fad9 +IMX_M4FWLOADER_SITE = $(call github,codeauroraforum,imx-m4fwloader,$(IMX_M4FWLOADER_VERSION)) +IMX_M4FWLOADER_LICENSE = GPL-2.0+ +IMX_M4FWLOADER_LICENSE_FILES = LICENSE + +define IMX_M4FWLOADER_BUILD_CMDS + $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -o $(@D)/imx-m4fwloader \ + $(@D)/m4fwloader.c +endef + +define IMX_M4FWLOADER_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 755 $(@D)/imx-m4fwloader \ + $(TARGET_DIR)/usr/sbin/imx-m4fwloader +endef + +$(eval $(generic-package)) diff --git a/package/freescale-imx/imx-parser/Config.in b/package/freescale-imx/imx-parser/Config.in index 526f066387..028b2bf69b 100644 --- a/package/freescale-imx/imx-parser/Config.in +++ b/package/freescale-imx/imx-parser/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_IMX_PARSER bool "imx-parser" - depends on BR2_arm # Only relevant for i.MX + depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX help Binary parser libraries for the NXP i.MX SoCs. diff --git a/package/freescale-imx/imx-parser/imx-parser.hash b/package/freescale-imx/imx-parser/imx-parser.hash index f6e82338aa..3266f48110 100644 --- a/package/freescale-imx/imx-parser/imx-parser.hash +++ b/package/freescale-imx/imx-parser/imx-parser.hash @@ -1,2 +1,2 @@ # locally computed -sha256 d3a03e60780bbbd0c92932f60bd34d2fe14ffecf6aa6b810723c3edf798cad1f imx-parser-4.1.4.bin +sha256 36d3ae7285f3a83a87abf680b8a52b3c07df869d2443de844fb5f0ff528ca862 imx-parser-4.2.1.bin diff --git a/package/freescale-imx/imx-parser/imx-parser.mk b/package/freescale-imx/imx-parser/imx-parser.mk index a57647c03b..d79a4444c8 100644 --- a/package/freescale-imx/imx-parser/imx-parser.mk +++ b/package/freescale-imx/imx-parser/imx-parser.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_PARSER_VERSION = 4.1.4 +IMX_PARSER_VERSION = 4.2.1 IMX_PARSER_SITE = $(FREESCALE_IMX_SITE) IMX_PARSER_SOURCE = imx-parser-$(IMX_PARSER_VERSION).bin IMX_PARSER_INSTALL_STAGING = YES @@ -13,6 +13,10 @@ IMX_PARSER_LICENSE = NXP Semiconductor Software License Agreement IMX_PARSER_LICENSE_FILES = EULA COPYING IMX_PARSER_REDISTRIBUTE = NO +ifeq ($(BR2_aarch64),y) +IMX_PARSER_CONF_OPTS += --enable-armv8 +endif + ifeq ($(BR2_ARM_EABIHF),y) IMX_PARSER_CONF_OPTS += --enable-fhw else diff --git a/package/freescale-imx/imx-uuc/imx-uuc.hash b/package/freescale-imx/imx-uuc/imx-uuc.hash index d6e4d97ea0..c9c29f8692 100644 --- a/package/freescale-imx/imx-uuc/imx-uuc.hash +++ b/package/freescale-imx/imx-uuc/imx-uuc.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 eac0c3e288c845cd9b82d02993f8358731a7a03e51591b27feeb453b143beb73 imx-uuc-3440b1108373e79669cc17ba1d2be91a123a2053.tar.gz +sha256 1463e855d1229e6b6c02df2085f6bff5974bc061d13a61646b63675c160cba99 imx-uuc-2ae634281a39c82b6a8ee0fdcfbfbe42183ceb53.tar.gz diff --git a/package/freescale-imx/imx-uuc/imx-uuc.mk b/package/freescale-imx/imx-uuc/imx-uuc.mk index f24216da26..5e0bb3be0e 100644 --- a/package/freescale-imx/imx-uuc/imx-uuc.mk +++ b/package/freescale-imx/imx-uuc/imx-uuc.mk @@ -4,8 +4,8 @@ # ################################################################################ -IMX_UUC_VERSION = 3440b1108373e79669cc17ba1d2be91a123a2053 -IMX_UUC_SITE = $(call github,NXPmicro,imx-uuc,$(IMX_UUC_VERSION)) +IMX_UUC_VERSION = 2ae634281a39c82b6a8ee0fdcfbfbe42183ceb53 +IMX_UUC_SITE = $(call github,codeauroraforum,imx-uuc,$(IMX_UUC_VERSION)) IMX_UUC_LICENSE = GPL-2.0+ IMX_UUC_LICENSE_FILES = COPYING diff --git a/package/freescale-imx/imx-vpu/imx-vpu.hash b/package/freescale-imx/imx-vpu/imx-vpu.hash index b3d617ded9..0ac0f3d0c2 100644 --- a/package/freescale-imx/imx-vpu/imx-vpu.hash +++ b/package/freescale-imx/imx-vpu/imx-vpu.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 e1d6550426dfc59e4fd0352f1d312ea7eff5dcf18974f923ed7a85007cb40e27 imx-vpu-5.4.35.bin +sha256 ee265e88d17c7369bd9cb917e7cce035b8c7ee2ba4491645fdab9f382f54beb0 imx-vpu-5.4.37.bin diff --git a/package/freescale-imx/imx-vpu/imx-vpu.mk b/package/freescale-imx/imx-vpu/imx-vpu.mk index 0b464d854d..e3a1ee661d 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.35 +IMX_VPU_VERSION = 5.4.37 IMX_VPU_SITE = $(FREESCALE_IMX_SITE) IMX_VPU_SOURCE = imx-vpu-$(IMX_VPU_VERSION).bin diff --git a/package/freescale-imx/imx-vpuwrap/Config.in b/package/freescale-imx/imx-vpuwrap/Config.in index 35095955c2..bdfa147867 100644 --- a/package/freescale-imx/imx-vpuwrap/Config.in +++ b/package/freescale-imx/imx-vpuwrap/Config.in @@ -13,7 +13,8 @@ config BR2_PACKAGE_IMX_VPUWRAP depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU select BR2_PACKAGE_IMX_VPU help - Wrapper library for the vpu library, giving it a different API. + Wrapper library for the vpu library, giving it a different + API. This library is provided by NXP as-is and doesn't have an upstream. 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 9872678623..038bd4d483 100644 --- a/package/freescale-imx/kernel-module-imx-gpu-viv/Config.in +++ b/package/freescale-imx/kernel-module-imx-gpu-viv/Config.in @@ -7,9 +7,9 @@ config BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV help Kernel loadable module for Vivante GPU. - This package uses an exact copy of the GPU kernel driver source code - of the same version as base and include fixes and improvements - developed by FSL Community. + This package uses an exact copy of the GPU kernel driver + 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. 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 f2e787ca25..c6204aff0e 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,2 @@ # locally computed -sha256 f18b826fd25328adf6b4405f48fdf0eaaddc77bb79c0dee76cd8c28aa8ffc078 kernel-module-imx-gpu-viv-a05d9b23b9902f6ce87d23772de2fdb2ecfb37a7.tar.gz +sha256 35db597ae0dd8e9e80511e5e9d882a01e4c178b83ffc192c8dd6a1a35859aa13 kernel-module-imx-gpu-viv-3b9e057f29853fd29364aa666328a92b807007d7.tar.gz 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 6dbf9a0271..2e6744c4f9 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 = a05d9b23b9902f6ce87d23772de2fdb2ecfb37a7 +KERNEL_MODULE_IMX_GPU_VIV_VERSION = 3b9e057f29853fd29364aa666328a92b807007d7 KERNEL_MODULE_IMX_GPU_VIV_SITE = \ $(call github,Freescale,kernel-module-imx-gpu-viv,$(KERNEL_MODULE_IMX_GPU_VIV_VERSION)) KERNEL_MODULE_IMX_GPU_VIV_LICENSE = GPL-2.0 diff --git a/package/freescale-imx/libz160/Config.in b/package/freescale-imx/libz160/Config.in index 012efb9e7b..a40ecdc754 100644 --- a/package/freescale-imx/libz160/Config.in +++ b/package/freescale-imx/libz160/Config.in @@ -3,8 +3,9 @@ config BR2_PACKAGE_LIBZ160 depends on BR2_ARM_EABI depends on BR2_TOOLCHAIN_USES_GLIBC help - An API for user space programs to perform 2D accelerated graphics - operations on AMD GPU (included for examples in iMX5x chipsets) + An API for user space programs to perform 2D accelerated + graphics operations on AMD GPU (included for examples in + iMX5x chipsets) comment "libz160 needs an EABI toolchain w/ glibc" depends on !BR2_ARM_EABI || !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/freeswitch/freeswitch.hash b/package/freeswitch/freeswitch.hash index ccda477a79..25421de99b 100644 --- a/package/freeswitch/freeswitch.hash +++ b/package/freeswitch/freeswitch.hash @@ -1,6 +1,17 @@ -# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.19.tar.xz.md5 -md5 24b8ee769031ca152b76e6c17edd882b freeswitch-1.6.19.tar.xz -# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.19.tar.xz.sha1 -sha1 2a48f1f5ca0b24854f93e49a4728f79517a95a24 freeswitch-1.6.19.tar.xz -# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.19.tar.xz.sha256 -sha256 e8d271a0d876ba4cca551682af0a4f5047bfd79438fcebdcc17d00711c04a8ff freeswitch-1.6.19.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.20.tar.xz.md5 +md5 e9890a2d6ca6f58dd3fa440fdfbf91a0 freeswitch-1.6.20.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.20.tar.xz.sha1 +sha1 ce284b805e262504cbb1f74796785b4dfa70d5ac freeswitch-1.6.20.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.20.tar.xz.sha256 +sha256 dbb0f73109171bd381772b247b8ef581f6a176964619082a1fe031b004086f6b freeswitch-1.6.20.tar.xz +# Locally computed +sha256 10299420c1e8602c0daf5a59d022621cd72a9148d1f0f33501edb3db3445c7fe COPYING +sha256 e8e26b16da14aa3e6ed5c22c705fdc1f45d6225fca461ea9f7314bcdfdc414c4 libs/apr/LICENSE +sha256 1eefb2ea1db0af7729a9d8a27d7c65d8a37ab185393f935b029aac6828ce315a libs/apr-util/LICENSE +sha256 7d72a8aee2c4b1a084200487992a5d86f5df6b535727a14c1874918e99d24600 libs/libzrtp/src/zrtp_legal.c +sha256 e1c0890440efe31b6cd2ee2abf895eb917c787799f079133f5809414d90d5d60 libs/sofia-sip/COPYING +sha256 b402ae58cf355b33be8fa023f704a039e3d41ecaccd2bbcda43ca31d703e4556 libs/sofia-sip/COPYRIGHTS +sha256 366576cb0b869cd9e95a4882878607314650488ac635e5df0692180382e9666a libs/spandsp/COPYING +sha256 8defed37d52096ae14b60adc499c33d43975109bc265552ee67e9a888c634b93 libs/srtp/LICENSE +sha256 fbd6fed7938541d2c809c0826225fc85e551fdbfa8732b10f0c87e0847acafd7 libs/tiff-4.0.2/COPYRIGHT +sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 src/mod/codecs/mod_isac/LICENSE diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk index defa00f47a..98f2f48356 100644 --- a/package/freeswitch/freeswitch.mk +++ b/package/freeswitch/freeswitch.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREESWITCH_VERSION = 1.6.19 +FREESWITCH_VERSION = 1.6.20 FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).tar.xz FREESWITCH_SITE = http://files.freeswitch.org/freeswitch-releases # External modules need headers/libs from staging diff --git a/package/freetype/freetype.hash b/package/freetype/freetype.hash index beff85846f..51d018465f 100644 --- a/package/freetype/freetype.hash +++ b/package/freetype/freetype.hash @@ -1,5 +1,9 @@ -# From https://sourceforge.net/projects/freetype/files/freetype2/2.8/ -md5 2413ac3eaf508ada019c63959ea81a92 freetype-2.8.tar.bz2 -sha1 42c6b1f733fe13a3eba135f5025b22cb68450f91 freetype-2.8.tar.bz2 -# Locally calculated after checking pgp signature -sha256 a3c603ed84c3c2495f9c9331fe6bba3bb0ee65e06ec331e0a0fb52158291b40b freetype-2.8.tar.bz2 +# From https://sourceforge.net/projects/freetype/files/freetype2/2.8.1/ +md5 bf0a210b6fe781228fa0e4a80691a521 freetype-2.8.1.tar.bz2 +sha1 417bb3747c4ac95b6f2652024a53fad45581fa1c freetype-2.8.1.tar.bz2 + +# Locally calculated +sha256 e5435f02e02d2b87bb8e4efdcaa14b1f78c9cf3ab1ed80f94b6382fb6acc7d78 freetype-2.8.1.tar.bz2 +sha256 fd056de4196903a676208ef58cfddafc7d583d1f28fa2e44c309cf84a59e62fb docs/LICENSE.TXT +sha256 4a9a548027a2c1d37788519dea833294c9c81f1ebc280e817f41f50d0c642d78 docs/FTL.TXT +sha256 c4120c6752c910c299e3bd9cb3a46ff262c268303ca2069b61f92f10a5656c18 docs/GPLv2.TXT diff --git a/package/freetype/freetype.mk b/package/freetype/freetype.mk index 9a98b4068b..e755c82378 100644 --- a/package/freetype/freetype.mk +++ b/package/freetype/freetype.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREETYPE_VERSION = 2.8 +FREETYPE_VERSION = 2.8.1 FREETYPE_SOURCE = freetype-$(FREETYPE_VERSION).tar.bz2 FREETYPE_SITE = http://download.savannah.gnu.org/releases/freetype FREETYPE_INSTALL_STAGING = YES @@ -17,19 +17,6 @@ FREETYPE_CONFIG_SCRIPTS = freetype-config HOST_FREETYPE_DEPENDENCIES = host-pkgconf HOST_FREETYPE_CONF_OPTS = --without-zlib --without-bzip2 --without-png -# Regen required because the tarball ships with an experimental ltmain.sh -# that can't be patched by our infra. -# autogen.sh is because autotools stuff lives in other directories and -# even AUTORECONF with _OPTS doesn't do it properly. -# POST_PATCH is because we still need to patch libtool after the regen. -define FREETYPE_RUN_AUTOGEN - cd $(@D) && PATH=$(BR_PATH) ./autogen.sh -endef -FREETYPE_POST_PATCH_HOOKS += FREETYPE_RUN_AUTOGEN -HOST_FREETYPE_POST_PATCH_HOOKS += FREETYPE_RUN_AUTOGEN -FREETYPE_DEPENDENCIES += host-automake host-autoconf host-libtool -HOST_FREETYPE_DEPENDENCIES += host-automake host-autoconf host-libtool - ifeq ($(BR2_PACKAGE_ZLIB),y) FREETYPE_DEPENDENCIES += zlib FREETYPE_CONF_OPTS += --with-zlib @@ -72,8 +59,3 @@ FREETYPE_POST_INSTALL_STAGING_HOOKS += FREETYPE_FIX_CONFIG_FILE_LIBS $(eval $(autotools-package)) $(eval $(host-autotools-package)) - -# freetype-patch and host-freetype-patch use autogen.sh so add -# host-automake as a order-only-prerequisite because it is a phony -# target. -$(FREETYPE_TARGET_PATCH) $(HOST_FREETYPE_TARGET_PATCH): | host-automake diff --git a/package/fswebcam/fswebcam.hash b/package/fswebcam/fswebcam.hash index 3822a27377..1e75f237e7 100644 --- a/package/fswebcam/fswebcam.hash +++ b/package/fswebcam/fswebcam.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 3ee389f72a7737700d22e0c954720b1e3bbadc8a0daad6426c25489ba9dc3199 fswebcam-20140113.tar.gz +sha256 444d6a8a82102e09e935540c64a731021de36db03e1e74181f41ca6f39aa6474 fswebcam-20140113.tar.xz diff --git a/package/fswebcam/fswebcam.mk b/package/fswebcam/fswebcam.mk index 4b47b3eb59..8f823f4d04 100644 --- a/package/fswebcam/fswebcam.mk +++ b/package/fswebcam/fswebcam.mk @@ -5,6 +5,7 @@ ################################################################################ FSWEBCAM_VERSION = 20140113 +FSWEBCAM_SOURCE = fswebcam-$(FSWEBCAM_VERSION).tar.xz FSWEBCAM_SITE = http://www.firestorm.cx/fswebcam/files FSWEBCAM_LICENSE = GPL-2.0 FSWEBCAM_LICENSE_FILES = LICENSE diff --git a/package/gawk/gawk.mk b/package/gawk/gawk.mk index a3a2927373..823aa2749f 100644 --- a/package/gawk/gawk.mk +++ b/package/gawk/gawk.mk @@ -39,7 +39,7 @@ endif HOST_GAWK_CONF_OPTS = --without-readline --without-mpfr define GAWK_CREATE_SYMLINK - ln -sf /usr/bin/gawk $(TARGET_DIR)/usr/bin/awk + ln -sf gawk $(TARGET_DIR)/usr/bin/awk endef GAWK_POST_INSTALL_TARGET_HOOKS += GAWK_CREATE_SYMLINK diff --git a/package/gcc/6.4.0/0002-fix-building-on-ppc64.patch b/package/gcc/6.4.0/0002-fix-building-on-ppc64.patch new file mode 100644 index 0000000000..ee096cfcf1 --- /dev/null +++ b/package/gcc/6.4.0/0002-fix-building-on-ppc64.patch @@ -0,0 +1,38 @@ +From 765527ad3725c5f3e82ab2b8e5031120b409983d Mon Sep 17 00:00:00 2001 +From: marxin +Date: Fri, 15 Jun 2018 08:51:28 +0000 +Subject: [PATCH] Partial backport r256656 + +2018-06-15 Martin Liska + + Backport from mainline + 2018-01-10 Kelvin Nilsen + + * lex.c (search_line_fast): Remove illegal coercion of an + unaligned pointer value to vector pointer type and replace with + use of __builtin_vec_vsx_ld () built-in function, which operates + on unaligned pointer values. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@261621 138bc75d-0d04-0410-961f-82ee72b054a4 +Signed-off-by: Joel Stanley +--- + libcpp/lex.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libcpp/lex.c b/libcpp/lex.c +index e5a0397f3099..b789686f1c49 100644 +--- a/libcpp/lex.c ++++ b/libcpp/lex.c +@@ -568,7 +568,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED) + { + vc m_nl, m_cr, m_bs, m_qm; + +- data = *((const vc *)s); ++ data = __builtin_vec_vsx_ld (0, s); + s += 16; + + m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl); +-- +2.17.1 + diff --git a/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch b/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch new file mode 100644 index 0000000000..7ead575439 --- /dev/null +++ b/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch @@ -0,0 +1,101 @@ +From 87fda0741d210727672cba5e54a37a189e8ac04e Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sun, 17 Jun 2018 21:18:39 -0700 +Subject: [PATCH] xtensa: fix PR target/65416 + +The issue is caused by reordering of stack pointer update after stack +space allocation with instructions that write to the allocated stack +space. In windowed ABI register spill area for the previous call frame +is located just below the stack pointer and may be reloaded back into +the register file on movsp. +Implement allocate_stack pattern for windowed ABI configuration and +insert an instruction that prevents reordering of frame memory access +and stack pointer update. + +gcc/ +2018-06-19 Max Filippov + + * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec + constant. + (allocate_stack, frame_blockage, *frame_blockage): New patterns. + +Signed-off-by: Max Filippov +Backported from: r261755 +--- + gcc/config/xtensa/xtensa.md | 46 +++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 46 insertions(+) + +diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md +index 84967dbedc08..209f839cfb0f 100644 +--- a/gcc/config/xtensa/xtensa.md ++++ b/gcc/config/xtensa/xtensa.md +@@ -38,6 +38,7 @@ + (UNSPEC_MEMW 11) + (UNSPEC_LSETUP_START 12) + (UNSPEC_LSETUP_END 13) ++ (UNSPEC_FRAME_BLOCKAGE 14) + + (UNSPECV_SET_FP 1) + (UNSPECV_ENTRY 2) +@@ -1676,6 +1677,32 @@ + + ;; Miscellaneous instructions. + ++;; In windowed ABI stack pointer adjustment must happen before any access ++;; to the space allocated on stack is allowed, otherwise register spill ++;; area may be clobbered. That's what frame blockage is supposed to enforce. ++ ++(define_expand "allocate_stack" ++ [(set (match_operand 0 "nonimmed_operand") ++ (minus (reg A1_REG) (match_operand 1 "add_operand"))) ++ (set (reg A1_REG) ++ (minus (reg A1_REG) (match_dup 1)))] ++ "TARGET_WINDOWED_ABI" ++{ ++ if (CONST_INT_P (operands[1])) ++ { ++ rtx neg_op0 = GEN_INT (-INTVAL (operands[1])); ++ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0)); ++ } ++ else ++ { ++ emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx, ++ operands[1])); ++ } ++ emit_move_insn (operands[0], virtual_stack_dynamic_rtx); ++ emit_insn (gen_frame_blockage ()); ++ DONE; ++}) ++ + (define_expand "prologue" + [(const_int 0)] + "" +@@ -1767,6 +1794,25 @@ + [(set_attr "length" "0") + (set_attr "type" "nop")]) + ++;; Do not schedule instructions accessing memory before this point. ++ ++(define_expand "frame_blockage" ++ [(set (match_dup 0) ++ (unspec:BLK [(match_dup 1)] UNSPEC_FRAME_BLOCKAGE))] ++ "" ++{ ++ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); ++ MEM_VOLATILE_P (operands[0]) = 1; ++ operands[1] = stack_pointer_rtx; ++}) ++ ++(define_insn "*frame_blockage" ++ [(set (match_operand:BLK 0 "" "") ++ (unspec:BLK [(match_operand:SI 1 "" "")] UNSPEC_FRAME_BLOCKAGE))] ++ "" ++ "" ++ [(set_attr "length" "0")]) ++ + (define_insn "trap" + [(trap_if (const_int 1) (const_int 0))] + "" +-- +2.11.0 + diff --git a/package/gcc/6.4.0/872-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch b/package/gcc/6.4.0/872-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch new file mode 100644 index 0000000000..d62d7c1566 --- /dev/null +++ b/package/gcc/6.4.0/872-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch @@ -0,0 +1,39 @@ +From 6765eecde2ed8d4be0fc217408b9e9b92a840aff Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Tue, 4 Sep 2018 00:39:32 -0700 +Subject: [PATCH] gcc: xtensa: fix NAND code in xtensa_expand_atomic + +NAND is ~(a1 & a2), but xtensa_expand_atomic does ~a1 & a2. +That fixes libatomic tests atomic-op-{1,2}. + +gcc/ +2018-09-04 Max Filippov + + * config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and + XOR operations in NAND case. + +Signed-off-by: Max Filippov +Backported from: r264087 +--- + gcc/config/xtensa/xtensa.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index 7cfe64d42895..080bb4ad765d 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -1614,9 +1614,9 @@ xtensa_expand_atomic (enum rtx_code code, rtx target, rtx mem, rtx val, + break; + + case MULT: /* NAND */ +- tmp = expand_simple_binop (SImode, XOR, old, ac.modemask, ++ tmp = expand_simple_binop (SImode, AND, old, val, + NULL_RTX, 1, OPTAB_DIRECT); +- tmp = expand_simple_binop (SImode, AND, tmp, val, ++ tmp = expand_simple_binop (SImode, XOR, tmp, ac.modemask, + new_rtx, 1, OPTAB_DIRECT); + break; + +-- +2.11.0 + diff --git a/package/gcc/7.2.0/0870-xtensa-fix-PR-target-82181.patch b/package/gcc/7.2.0/0870-xtensa-fix-PR-target-82181.patch deleted file mode 100644 index 7ac7cd95e3..0000000000 --- a/package/gcc/7.2.0/0870-xtensa-fix-PR-target-82181.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 3ed0c49a8d52e88648c7bb9f21a204b23595a6a9 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 25e4a2894c3b..8c404187107b 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -605,6 +605,7 @@ xtensa_mem_offset (unsigned v, machine_mode mode) - case HImode: - return xtensa_uimm8x2 (v); - -+ case DImode: - case DFmode: - return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); - --- -2.1.4 - diff --git a/package/gcc/7.3.0/0002-fix-building-on-ppc64.patch b/package/gcc/7.3.0/0002-fix-building-on-ppc64.patch new file mode 100644 index 0000000000..78a028c29a --- /dev/null +++ b/package/gcc/7.3.0/0002-fix-building-on-ppc64.patch @@ -0,0 +1,40 @@ +From aa65a43516da1d48011ef621ed5988289711d99b Mon Sep 17 00:00:00 2001 +From: marxin +Date: Fri, 29 Jun 2018 09:31:30 +0000 +Subject: [PATCH] Partial backport r256656 + +2018-06-29 Martin Liska + + Backport from mainline + 2018-01-10 Kelvin Nilsen + + * lex.c (search_line_fast): Remove illegal coercion of an + unaligned pointer value to vector pointer type and replace with + use of __builtin_vec_vsx_ld () built-in function, which operates + on unaligned pointer values. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@261621 138bc75d-0d04-0410-961f-82ee72b054a4 + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@262243 138bc75d-0d04-0410-961f-82ee72b054a4 +Signed-off-by: Joel Stanley +--- + libcpp/lex.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libcpp/lex.c b/libcpp/lex.c +index 097c78002cbb..e0fb9e822c44 100644 +--- a/libcpp/lex.c ++++ b/libcpp/lex.c +@@ -568,7 +568,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED) + { + vc m_nl, m_cr, m_bs, m_qm; + +- data = *((const vc *)s); ++ data = __builtin_vec_vsx_ld (0, s); + s += 16; + + m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl); +-- +2.17.1 + diff --git a/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch b/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch new file mode 100644 index 0000000000..7ead575439 --- /dev/null +++ b/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch @@ -0,0 +1,101 @@ +From 87fda0741d210727672cba5e54a37a189e8ac04e Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sun, 17 Jun 2018 21:18:39 -0700 +Subject: [PATCH] xtensa: fix PR target/65416 + +The issue is caused by reordering of stack pointer update after stack +space allocation with instructions that write to the allocated stack +space. In windowed ABI register spill area for the previous call frame +is located just below the stack pointer and may be reloaded back into +the register file on movsp. +Implement allocate_stack pattern for windowed ABI configuration and +insert an instruction that prevents reordering of frame memory access +and stack pointer update. + +gcc/ +2018-06-19 Max Filippov + + * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec + constant. + (allocate_stack, frame_blockage, *frame_blockage): New patterns. + +Signed-off-by: Max Filippov +Backported from: r261755 +--- + gcc/config/xtensa/xtensa.md | 46 +++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 46 insertions(+) + +diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md +index 84967dbedc08..209f839cfb0f 100644 +--- a/gcc/config/xtensa/xtensa.md ++++ b/gcc/config/xtensa/xtensa.md +@@ -38,6 +38,7 @@ + (UNSPEC_MEMW 11) + (UNSPEC_LSETUP_START 12) + (UNSPEC_LSETUP_END 13) ++ (UNSPEC_FRAME_BLOCKAGE 14) + + (UNSPECV_SET_FP 1) + (UNSPECV_ENTRY 2) +@@ -1676,6 +1677,32 @@ + + ;; Miscellaneous instructions. + ++;; In windowed ABI stack pointer adjustment must happen before any access ++;; to the space allocated on stack is allowed, otherwise register spill ++;; area may be clobbered. That's what frame blockage is supposed to enforce. ++ ++(define_expand "allocate_stack" ++ [(set (match_operand 0 "nonimmed_operand") ++ (minus (reg A1_REG) (match_operand 1 "add_operand"))) ++ (set (reg A1_REG) ++ (minus (reg A1_REG) (match_dup 1)))] ++ "TARGET_WINDOWED_ABI" ++{ ++ if (CONST_INT_P (operands[1])) ++ { ++ rtx neg_op0 = GEN_INT (-INTVAL (operands[1])); ++ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0)); ++ } ++ else ++ { ++ emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx, ++ operands[1])); ++ } ++ emit_move_insn (operands[0], virtual_stack_dynamic_rtx); ++ emit_insn (gen_frame_blockage ()); ++ DONE; ++}) ++ + (define_expand "prologue" + [(const_int 0)] + "" +@@ -1767,6 +1794,25 @@ + [(set_attr "length" "0") + (set_attr "type" "nop")]) + ++;; Do not schedule instructions accessing memory before this point. ++ ++(define_expand "frame_blockage" ++ [(set (match_dup 0) ++ (unspec:BLK [(match_dup 1)] UNSPEC_FRAME_BLOCKAGE))] ++ "" ++{ ++ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); ++ MEM_VOLATILE_P (operands[0]) = 1; ++ operands[1] = stack_pointer_rtx; ++}) ++ ++(define_insn "*frame_blockage" ++ [(set (match_operand:BLK 0 "" "") ++ (unspec:BLK [(match_operand:SI 1 "" "")] UNSPEC_FRAME_BLOCKAGE))] ++ "" ++ "" ++ [(set_attr "length" "0")]) ++ + (define_insn "trap" + [(trap_if (const_int 1) (const_int 0))] + "" +-- +2.11.0 + diff --git a/package/gcc/7.3.0/0003-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch b/package/gcc/7.3.0/0003-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch new file mode 100644 index 0000000000..d62d7c1566 --- /dev/null +++ b/package/gcc/7.3.0/0003-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch @@ -0,0 +1,39 @@ +From 6765eecde2ed8d4be0fc217408b9e9b92a840aff Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Tue, 4 Sep 2018 00:39:32 -0700 +Subject: [PATCH] gcc: xtensa: fix NAND code in xtensa_expand_atomic + +NAND is ~(a1 & a2), but xtensa_expand_atomic does ~a1 & a2. +That fixes libatomic tests atomic-op-{1,2}. + +gcc/ +2018-09-04 Max Filippov + + * config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and + XOR operations in NAND case. + +Signed-off-by: Max Filippov +Backported from: r264087 +--- + gcc/config/xtensa/xtensa.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index 7cfe64d42895..080bb4ad765d 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -1614,9 +1614,9 @@ xtensa_expand_atomic (enum rtx_code code, rtx target, rtx mem, rtx val, + break; + + case MULT: /* NAND */ +- tmp = expand_simple_binop (SImode, XOR, old, ac.modemask, ++ tmp = expand_simple_binop (SImode, AND, old, val, + NULL_RTX, 1, OPTAB_DIRECT); +- tmp = expand_simple_binop (SImode, AND, tmp, val, ++ tmp = expand_simple_binop (SImode, XOR, tmp, ac.modemask, + new_rtx, 1, OPTAB_DIRECT); + break; + +-- +2.11.0 + diff --git a/package/gcc/7.2.0/0100-uclibc-conf.patch b/package/gcc/7.3.0/0100-uclibc-conf.patch similarity index 100% rename from package/gcc/7.2.0/0100-uclibc-conf.patch rename to package/gcc/7.3.0/0100-uclibc-conf.patch diff --git a/package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch b/package/gcc/7.3.0/0810-arm-softfloat-libgcc.patch similarity index 100% rename from package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch rename to package/gcc/7.3.0/0810-arm-softfloat-libgcc.patch diff --git a/package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch b/package/gcc/7.3.0/0860-cilk-fix-build-without-wchar.patch similarity index 100% rename from package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch rename to package/gcc/7.3.0/0860-cilk-fix-build-without-wchar.patch diff --git a/package/gcc/7.2.0/0891-fix-m68k-uclinux.patch b/package/gcc/7.3.0/0891-fix-m68k-uclinux.patch similarity index 100% rename from package/gcc/7.2.0/0891-fix-m68k-uclinux.patch rename to package/gcc/7.3.0/0891-fix-m68k-uclinux.patch diff --git a/package/gcc/7.2.0/0892-microblaze-Revert.patch b/package/gcc/7.3.0/0892-microblaze-Revert.patch similarity index 100% rename from package/gcc/7.2.0/0892-microblaze-Revert.patch rename to package/gcc/7.3.0/0892-microblaze-Revert.patch diff --git a/package/gcc/7.2.0/0900-remove-selftests.patch b/package/gcc/7.3.0/0900-remove-selftests.patch similarity index 100% rename from package/gcc/7.2.0/0900-remove-selftests.patch rename to package/gcc/7.3.0/0900-remove-selftests.patch diff --git a/package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch b/package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch new file mode 100644 index 0000000000..37acc8b651 --- /dev/null +++ b/package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch @@ -0,0 +1,324 @@ +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] +--- + 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 +@@ -78,7 +78,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 +@@ -202,7 +206,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) + +@@ -210,7 +214,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) + +@@ -1095,19 +1099,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/Config.in.host b/package/gcc/Config.in.host index 1fb6b6045c..309ddf572a 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -22,22 +22,13 @@ config BR2_GCC_VERSION_OR1K 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 && !BR2_bfin && !BR2_or1k - # Broken or unsupported ARM cores - depends on !BR2_cortex_a17 && !BR2_cortex_a17_a7 - depends on !BR2_cortex_a72 && !BR2_cortex_a72_a53 - # Unsupported MIPS cores - depends on !BR2_mips_interaptiv - # Unsupported for MIPS R5 - depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5 - # Unsupported for MIPS R6 - depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 - # musl microblaze unsupported + 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)) - # musl ppc64 unsupported depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le)) - # musl mips64 unsupported 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) @@ -45,15 +36,12 @@ config BR2_GCC_VERSION_4_9_X 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 && !BR2_bfin && !BR2_or1k - # Broken or unsupported ARM cores - depends on !BR2_cortex_a57_a53 && !BR2_cortex_a72_a53 - # musl ppc64 unsupported + depends on !BR2_arc + depends on !BR2_or1k + # musl on ppc64 and mips64 unsupported depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le)) - # Unsupported MIPS cores - depends on !BR2_mips_interaptiv && !BR2_mips_m5150 && !BR2_mips_i6400 - # musl mips64 unsupported 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) @@ -61,6 +49,7 @@ config BR2_GCC_VERSION_5_X 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 @@ -69,7 +58,6 @@ config BR2_GCC_VERSION_6_X config BR2_GCC_VERSION_7_X bool "gcc 7.x" # Broken or unsupported architectures - depends on !BR2_arc depends on !BR2_or1k select BR2_TOOLCHAIN_GCC_AT_LEAST_7 @@ -91,9 +79,9 @@ config BR2_GCC_VERSION default "4.9.4" if BR2_GCC_VERSION_4_9_X default "5.5.0" if BR2_GCC_VERSION_5_X default "6.4.0" if BR2_GCC_VERSION_6_X - default "7.2.0" if BR2_GCC_VERSION_7_X + default "7.3.0" if BR2_GCC_VERSION_7_X default "arc-2017.09-release" if BR2_GCC_VERSION_ARC - default "musl-5.4.0" if BR2_GCC_VERSION_OR1K + default "or1k-musl-5.4.0-20170218" if BR2_GCC_VERSION_OR1K config BR2_EXTRA_GCC_CONFIG_OPTIONS string "Additional gcc options" diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk index 213f3d7b66..c27376ad00 100644 --- a/package/gcc/gcc-final/gcc-final.mk +++ b/package/gcc/gcc-final/gcc-final.mk @@ -83,6 +83,11 @@ ifeq ($(BR2_sparc),y) HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts endif +# Pthreads are required to build libcilkrts +ifeq ($(BR2_PTHREADS_NONE),y) +HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts +endif + # Disable shared libs like libstdc++ if we do static since it confuses linking # In that case also disable libcilkrts as there is no static version ifeq ($(BR2_STATIC_LIBS),y) diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index 76be4552c9..fd38cfaad1 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -4,10 +4,10 @@ sha512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683 sha512 670ff52c2ae12c7852c12987e91798c5aa8bd6daf21f0d6e0cd57a4aa59cc4f06a837fe76426eaa1424cfddca937bed377680700eadc04d76b9180d462364fa1 gcc-5.5.0.tar.xz # From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.4.0/sha512.sum sha512 02c60e54527c7adf584798d5251f8a0b80c93d5deafce82501b2c28e6692e0bd783927bbfc4bc527a863c0cccc025150a34740a9e29badb02d4b48e56a8aba90 gcc-6.4.0.tar.xz -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.2.0/sha512.sum -sha512 f853cd6530b4055d8d8289da74687cb4c6d5f363598d386332d31852b581bac76c3adb7d61889edec3b779f63d8646f0122840f12965ce4a4389ba535dbbb6e1 gcc-7.2.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.3.0/sha512.sum +sha512 ad41a7e4584e40e92cdf860bc0288500fbaf5dfb7e8c3fcabe9eba809c87bcfa85b46c19c19921b0cdf6d05483faede8287bb9ea120c0d1559449a70e602c8d4 gcc-7.3.0.tar.xz # Locally calculated (fetched from Github) sha512 c30addd3c4dc66b90749a0f99b257c8a8e7966d27f286057b6b66f4a70ca22a1ee50d92882c4db13307d769a6fb28e1e2a2bab749a692cf3f89ef0c38f145efa gcc-arc-2017.09-release.tar.gz # Locally calculated (fetched from Github) -sha512 841101f7de45f327bf2e92f3efc73ca88a021e4b9b541458ce80a16e55882bd8606a8492d75c57c589ee2c10d42ae2865b67690155d7289a541df1d68096402f gcc-musl-5.4.0.tar.gz +sha512 2de7cf47333a4092b02d3bb98f4206f14966f1d139a724d09cf3b22f8a43ae0c704f33e6477d6367a03c29b265480dc900169e9d417006c5d46f0ae446b8c6f1 gcc-or1k-musl-5.4.0-20170218.tar.gz diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index 6bdd6c88e3..27fc1e987c 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -10,7 +10,7 @@ GCC_VERSION = $(call qstrip,$(BR2_GCC_VERSION)) -ifeq ($(BR2_arc),y) +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) @@ -207,9 +207,11 @@ endif ifneq ($(call qstrip,$(BR2_GCC_TARGET_ABI)),) HOST_GCC_COMMON_CONF_OPTS += --with-abi=$(BR2_GCC_TARGET_ABI) endif +ifeq ($(BR2_TOOLCHAIN_HAS_MNAN_OPTION),y) ifneq ($(call qstrip,$(BR2_GCC_TARGET_NAN)),) HOST_GCC_COMMON_CONF_OPTS += --with-nan=$(BR2_GCC_TARGET_NAN) endif +endif ifneq ($(call qstrip,$(BR2_GCC_TARGET_FP32_MODE)),) HOST_GCC_COMMON_CONF_OPTS += --with-fp-32=$(BR2_GCC_TARGET_FP32_MODE) endif diff --git a/package/gcc/musl-5.4.0/100-uclibc-conf.patch b/package/gcc/or1k-musl-5.4.0-20170218/100-uclibc-conf.patch similarity index 100% rename from package/gcc/musl-5.4.0/100-uclibc-conf.patch rename to package/gcc/or1k-musl-5.4.0-20170218/100-uclibc-conf.patch diff --git a/package/gcc/musl-5.4.0/301-missing-execinfo_h.patch b/package/gcc/or1k-musl-5.4.0-20170218/301-missing-execinfo_h.patch similarity index 100% rename from package/gcc/musl-5.4.0/301-missing-execinfo_h.patch rename to package/gcc/or1k-musl-5.4.0-20170218/301-missing-execinfo_h.patch diff --git a/package/gcc/musl-5.4.0/850-libstdcxx-uclibc-c99.patch b/package/gcc/or1k-musl-5.4.0-20170218/850-libstdcxx-uclibc-c99.patch similarity index 100% rename from package/gcc/musl-5.4.0/850-libstdcxx-uclibc-c99.patch rename to package/gcc/or1k-musl-5.4.0-20170218/850-libstdcxx-uclibc-c99.patch diff --git a/package/gcc/musl-5.4.0/860-cilk-wchar.patch b/package/gcc/or1k-musl-5.4.0-20170218/860-cilk-wchar.patch similarity index 100% rename from package/gcc/musl-5.4.0/860-cilk-wchar.patch rename to package/gcc/or1k-musl-5.4.0-20170218/860-cilk-wchar.patch diff --git a/package/gcc/musl-5.4.0/930-libgcc-disable-split-stack-nothreads.patch b/package/gcc/or1k-musl-5.4.0-20170218/930-libgcc-disable-split-stack-nothreads.patch similarity index 100% rename from package/gcc/musl-5.4.0/930-libgcc-disable-split-stack-nothreads.patch rename to package/gcc/or1k-musl-5.4.0-20170218/930-libgcc-disable-split-stack-nothreads.patch diff --git a/package/gconf/Config.in b/package/gconf/Config.in new file mode 100644 index 0000000000..a2371b3f23 --- /dev/null +++ b/package/gconf/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_GCONF + bool "gconf" + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 + depends on BR2_USE_MMU # dbus, libglib2 + depends on BR2_USE_WCHAR # libglib2 + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_DBUS_GLIB + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBXML2 + help + GConf was a system used by the GNOME desktop environment for + storing configuration settings for the desktop and + applications. It is similar to the Windows Registry. + + https://projects.gnome.org/gconf/ + +comment "gconf needs a toolchain w/ threads, wchar, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR \ + || BR2_STATIC_LIBS diff --git a/package/gconf/gconf.hash b/package/gconf/gconf.hash new file mode 100644 index 0000000000..24d0cf9b17 --- /dev/null +++ b/package/gconf/gconf.hash @@ -0,0 +1,4 @@ +# http://ftp.acc.umu.se/pub/gnome/sources/GConf/3.2/GConf-3.2.6.sha256sum +sha256 1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c GConf-3.2.6.tar.xz +# License files, locally calculated +sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 COPYING diff --git a/package/gconf/gconf.mk b/package/gconf/gconf.mk new file mode 100644 index 0000000000..39df95fbd2 --- /dev/null +++ b/package/gconf/gconf.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# gconf +# +################################################################################ + +GCONF_VERSION = 3.2.6 +GCONF_SOURCE = GConf-${GCONF_VERSION}.tar.xz +GCONF_SITE = http://ftp.gnome.org/pub/gnome/sources/GConf/3.2 +GCONF_CONF_OPTS = --disable-orbit +GCONF_DEPENDENCIES = dbus dbus-glib libglib2 libxml2 \ + host-intltool $(TARGET_NLS_DEPENDENCIES) +GCONF_LICENSE = LGPL-2.0+ +GCONF_LICENSE_FILES = COPYING + +$(eval $(autotools-package)) 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 new file mode 100644 index 0000000000..451bed312c --- /dev/null +++ b/package/gdb/7.12.1/0007-gdbserver-fix-build-for-m68k.patch @@ -0,0 +1,62 @@ +From 80c60ea9fb3634272a98ec526eabff25f5255bae Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 22 Jun 2018 22:40:26 +0200 +Subject: [PATCH] gdbserver: fix build for m68k +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +As for strace [1], when is included after , +the build fails on m68k with the following diagnostics: + +In file included from ./../nat/linux-ptrace.h:28:0, + from linux-low.h:27, + from linux-m68k-low.c:20: +[...]/usr/include/sys/reg.h:26:3: error: expected identifier before numeric constant + PT_D1 = 0, + ^ +[...]usr/include/sys/reg.h:26:3: error: expected « } » before numeric constant +[...]usr/include/sys/reg.h:26:3: error: expected unqualified-id before numeric constant +In file included from linux-m68k-low.c:27:0: +[...]usr/include/sys/reg.h:99:1: error: expected declaration before « } » token + }; + ^ + +Fix this by moving on top of "linux-low.h". + +[1] https://github.com/strace/strace/commit/6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92 + +Signed-off-by: Romain Naour +--- + gdb/gdbserver/linux-m68k-low.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c +index 5594f10f927..19b4ef7b259 100644 +--- a/gdb/gdbserver/linux-m68k-low.c ++++ b/gdb/gdbserver/linux-m68k-low.c +@@ -17,16 +17,17 @@ + along with this program. If not, see . */ + + #include "server.h" ++ ++#ifdef HAVE_SYS_REG_H ++#include ++#endif ++ + #include "linux-low.h" + + /* Defined in auto-generated file reg-m68k.c. */ + void init_registers_m68k (void); + extern const struct target_desc *tdesc_m68k; + +-#ifdef HAVE_SYS_REG_H +-#include +-#endif +- + #define m68k_num_regs 29 + #define m68k_num_gregs 18 + +-- +2.14.4 + diff --git a/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 new file mode 100644 index 0000000000..451bed312c --- /dev/null +++ b/package/gdb/8.0.1/0005-gdbserver-fix-build-for-m68k.patch @@ -0,0 +1,62 @@ +From 80c60ea9fb3634272a98ec526eabff25f5255bae Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 22 Jun 2018 22:40:26 +0200 +Subject: [PATCH] gdbserver: fix build for m68k +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +As for strace [1], when is included after , +the build fails on m68k with the following diagnostics: + +In file included from ./../nat/linux-ptrace.h:28:0, + from linux-low.h:27, + from linux-m68k-low.c:20: +[...]/usr/include/sys/reg.h:26:3: error: expected identifier before numeric constant + PT_D1 = 0, + ^ +[...]usr/include/sys/reg.h:26:3: error: expected « } » before numeric constant +[...]usr/include/sys/reg.h:26:3: error: expected unqualified-id before numeric constant +In file included from linux-m68k-low.c:27:0: +[...]usr/include/sys/reg.h:99:1: error: expected declaration before « } » token + }; + ^ + +Fix this by moving on top of "linux-low.h". + +[1] https://github.com/strace/strace/commit/6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92 + +Signed-off-by: Romain Naour +--- + gdb/gdbserver/linux-m68k-low.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c +index 5594f10f927..19b4ef7b259 100644 +--- a/gdb/gdbserver/linux-m68k-low.c ++++ b/gdb/gdbserver/linux-m68k-low.c +@@ -17,16 +17,17 @@ + along with this program. If not, see . */ + + #include "server.h" ++ ++#ifdef HAVE_SYS_REG_H ++#include ++#endif ++ + #include "linux-low.h" + + /* Defined in auto-generated file reg-m68k.c. */ + void init_registers_m68k (void); + extern const struct target_desc *tdesc_m68k; + +-#ifdef HAVE_SYS_REG_H +-#include +-#endif +- + #define m68k_num_regs 29 + #define m68k_num_gregs 18 + +-- +2.14.4 + diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk index 7e86ba0c7e..0981b6ef53 100644 --- a/package/gdb/gdb.mk +++ b/package/gdb/gdb.mk @@ -55,9 +55,11 @@ endif # When gdb sources are fetched from the binutils-gdb repository, they # also contain the binutils sources, but binutils shouldn't be built, -# so we disable it. +# so we disable it (additionally the option --disable-install-libbfd +# prevents the un-wanted installation of libobcodes.so and libbfd.so). GDB_DISABLE_BINUTILS_CONF_OPTS = \ --disable-binutils \ + --disable-install-libbfd \ --disable-ld \ --disable-gas @@ -107,7 +109,7 @@ GDB_CONF_OPTS = \ --without-x \ --disable-sim \ $(GDB_DISABLE_BINUTILS_CONF_OPTS) \ - $(if $(BR2_PACKAGE_GDB_SERVER),--enable-gdbserver) \ + $(if $(BR2_PACKAGE_GDB_SERVER),--enable-gdbserver,--disable-gdbserver) \ --with-curses \ --without-included-gettext \ --disable-werror \ @@ -162,6 +164,7 @@ else GDB_CONF_OPTS += --without-zlib endif +ifeq ($(BR2_PACKAGE_GDB_PYTHON),) # This removes some unneeded Python scripts and XML target description # files that are not useful for a normal usage of the debugger. define GDB_REMOVE_UNNEEDED_FILES @@ -169,6 +172,7 @@ define GDB_REMOVE_UNNEEDED_FILES endef GDB_POST_INSTALL_TARGET_HOOKS += GDB_REMOVE_UNNEEDED_FILES +endif # This installs the gdbserver somewhere into the $(HOST_DIR) so that # it becomes an integral part of the SDK, if the toolchain generated diff --git a/package/gdk-pixbuf/gdk-pixbuf.mk b/package/gdk-pixbuf/gdk-pixbuf.mk index e36761cb8d..33de2e3d3a 100644 --- a/package/gdk-pixbuf/gdk-pixbuf.mk +++ b/package/gdk-pixbuf/gdk-pixbuf.mk @@ -64,7 +64,7 @@ define GDK_PIXBUF_UPDATE_CACHE GDK_PIXBUF_MODULEDIR=$(HOST_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders \ $(HOST_DIR)/bin/gdk-pixbuf-query-loaders \ > $(TARGET_DIR)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache - $(SED) "s,$(HOST_DIR),,g" \ + $(SED) "s,$(HOST_DIR)/lib,/usr/lib,g" \ $(TARGET_DIR)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache endef GDK_PIXBUF_POST_INSTALL_TARGET_HOOKS += GDK_PIXBUF_UPDATE_CACHE diff --git a/package/genimage/Config.in.host b/package/genimage/Config.in.host index 5c5a8a8a2c..cf831a143c 100644 --- a/package/genimage/Config.in.host +++ b/package/genimage/Config.in.host @@ -10,4 +10,4 @@ config BR2_PACKAGE_HOST_GENIMAGE environment variables, the config file or commandline switches. - http://www.pengutronix.de/software/genimage/ + https://github.com/pengutronix/genimage diff --git a/package/genimage/genimage.mk b/package/genimage/genimage.mk index 2e7aad20c6..8d11c66a25 100644 --- a/package/genimage/genimage.mk +++ b/package/genimage/genimage.mk @@ -6,7 +6,7 @@ GENIMAGE_VERSION = 9 GENIMAGE_SOURCE = genimage-$(GENIMAGE_VERSION).tar.xz -GENIMAGE_SITE = http://www.pengutronix.de/software/genimage/download +GENIMAGE_SITE = https://github.com/pengutronix/genimage/releases/download/v$(GENIMAGE_VERSION) HOST_GENIMAGE_DEPENDENCIES = host-pkgconf host-libconfuse GENIMAGE_LICENSE = GPL-2.0 GENIMAGE_LICENSE_FILES = COPYING diff --git a/package/gettext/Config.in b/package/gettext/Config.in index 60f8d4fdc8..e55663b1d7 100644 --- a/package/gettext/Config.in +++ b/package/gettext/Config.in @@ -16,8 +16,8 @@ if BR2_PACKAGE_GETTEXT config BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL bool - depends on !BR2_TOOLCHAIN_HAS_FULL_GETTEXT default y if BR2_SYSTEM_ENABLE_NLS + depends on !BR2_TOOLCHAIN_HAS_FULL_GETTEXT endif diff --git a/package/ghostscript/0001-Fix-cross-compilation-issue.patch b/package/ghostscript/0001-Fix-cross-compilation-issue.patch index 57e1be61ca..a13c7f8381 100644 --- a/package/ghostscript/0001-Fix-cross-compilation-issue.patch +++ b/package/ghostscript/0001-Fix-cross-compilation-issue.patch @@ -9,7 +9,10 @@ x86_64-linux-gcc: ERROR: unsafe header/library path used in cross-compilation: ' Downloaded from http://bugs.ghostscript.com/show_bug.cgi?id=696508#c3 +Slightly updated to work with 9.23 + Signed-off-by: Bernd Kuhls +Signed-off-by: Fabrice Fontaine --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -24,6 +27,7 @@ index d0f62d7..0d49344 100644 LIBTIFFDIR='src' -LIBTIFFCONFDIR='' +LIBTIFFCONFDIR='src' + TIFFCFLAGS='' TIFFDEVS_ALL='tiffs tiff12nc tiff24nc tiff48nc tiff32nc tiff64nc tiffcrle tifflzw tiffpack tiffgray tiffsep tiffsep1 tiffscaled tiffscaled4 tiffscaled8 tiffscaled24 tiffscaled32' FAX_DEVS_ALL='cfax dfaxlow dfaxhigh fax faxg3 faxg32d faxg4 tiffg3 tiffg32d tiffg4 tfax' diff --git a/package/ghostscript/ghostscript.hash b/package/ghostscript/ghostscript.hash index 2b36e34831..f8ca6c8d4e 100644 --- a/package/ghostscript/ghostscript.hash +++ b/package/ghostscript/ghostscript.hash @@ -1,4 +1,5 @@ -# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs922/SHA256SUMS -sha256 c1f862e6f40f997dbe3feba89355e8cb05d55818994e10f4932b0dd9b627d1bb ghostscript-9.22.tar.xz -# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs922/SHA512SUMS -sha512 67739ace64090ab1951cba4cb011a5a6829ee60b32ba4157d0f17e744e345ea268335304db6722677ae33565ea5b696c2ff7b889d42a463acf2933c8230523d4 ghostscript-9.22.tar.xz +# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs925/SHA512SUMS +sha512 7a1c0b7546ed523f50c1452d4a1c13fcf043d6060fc9708bbc4b543f66ecb1b619b6e71998094ac702ef44a2fd159b6523271de19b1cae352981ef51fb637651 ghostscript-9.25.tar.xz + +# Hash for license file: +sha256 6f852249f975287b3efd43a5883875e47fa9f3125e2f1b18b5c09517ac30ecf2 LICENSE diff --git a/package/ghostscript/ghostscript.mk b/package/ghostscript/ghostscript.mk index aa3f63b26e..b1f5e1edb1 100644 --- a/package/ghostscript/ghostscript.mk +++ b/package/ghostscript/ghostscript.mk @@ -4,8 +4,8 @@ # ################################################################################ -GHOSTSCRIPT_VERSION = 9.22 -GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs922 +GHOSTSCRIPT_VERSION = 9.25 +GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs925 GHOSTSCRIPT_SOURCE = ghostscript-$(GHOSTSCRIPT_VERSION).tar.xz GHOSTSCRIPT_LICENSE = AGPL-3.0 GHOSTSCRIPT_LICENSE_FILES = LICENSE @@ -27,7 +27,8 @@ 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)/lcms2 $(@D)/libpng $(@D)/tiff $(@D)/zlib + rm -rf $(@D)/freetype $(@D)/ijs $(@D)/jpeg $(@D)/lcms2mt \ + $(@D)/libpng $(@D)/tiff $(@D)/zlib endef GHOSTSCRIPT_POST_PATCH_HOOKS += GHOSTSCRIPT_REMOVE_LIBS @@ -39,7 +40,7 @@ GHOSTSCRIPT_CONF_OPTS = \ --disable-compile-inits \ --disable-cups \ --enable-fontconfig \ - --with-fontpath=$(GHOSTSCRIPT_FONTS_TARGET_DIR) \ + --with-fontpath=/usr/share/fonts \ --enable-freetype \ --disable-gtk \ --without-jbig2dec \ diff --git a/package/git/git.hash b/package/git/git.hash index 79a386eb72..35c8774d75 100644 --- a/package/git/git.hash +++ b/package/git/git.hash @@ -1,4 +1,4 @@ # From: https://www.kernel.org/pub/software/scm/git/sha256sums.asc -sha256 107116489f10b758b51af1c5dbdb9a274917b0fb67dc8eaefcdabc7bc3eb3e6a git-2.15.0.tar.xz +sha256 dfb71b053cbc38a9c5b08c2fe8b5eae210b4e3b63892426923e10cfd6ba63862 git-2.16.5.tar.xz sha256 5b2198d1645f767585e8a88ac0499b04472164c0d2da22e75ecf97ef443ab32e COPYING sha256 1922f45d2c49e390032c9c0ba6d7cac904087f7cec51af30c2b2ad022ce0e76a LGPL-2.1 diff --git a/package/git/git.mk b/package/git/git.mk index 181e7421e2..9b176d3661 100644 --- a/package/git/git.mk +++ b/package/git/git.mk @@ -4,7 +4,7 @@ # ################################################################################ -GIT_VERSION = 2.15.0 +GIT_VERSION = 2.16.5 GIT_SOURCE = git-$(GIT_VERSION).tar.xz GIT_SITE = $(BR2_KERNEL_MIRROR)/software/scm/git GIT_LICENSE = GPL-2.0, LGPL-2.1+ @@ -19,9 +19,12 @@ else GIT_CONF_OPTS += --without-openssl endif -ifeq ($(BR2_PACKAGE_PCRE),y) +ifeq ($(BR2_PACKAGE_PCRE2),y) +GIT_DEPENDENCIES += pcre2 +GIT_CONF_OPTS += --with-libpcre2 +else ifeq ($(BR2_PACKAGE_PCRE),y) GIT_DEPENDENCIES += pcre -GIT_CONF_OPTS += --with-libpcre +GIT_CONF_OPTS += --with-libpcre1 GIT_MAKE_OPTS += NO_LIBPCRE1_JIT=1 else GIT_CONF_OPTS += --without-libpcre diff --git a/package/glibc/glibc.hash b/package/glibc/glibc.hash index 4e5bc7f7bc..bfe40f1f96 100644 --- a/package/glibc/glibc.hash +++ b/package/glibc/glibc.hash @@ -1,4 +1,4 @@ # Locally calculated (fetched from Github) -sha256 d66b3702961c846ead2bacf17a9b5239cc1e8a43ca6e322f3637e99f276efec1 glibc-glibc-2.26-73-g4b692dffb95ac4812b161eb6a16113d7e824982e.tar.gz +sha256 acbec224e69f29c9c59c34f15f0fbb19eecf3fce347eba8bb928fac507ae86c6 glibc-glibc-2.26-175-gc5c90b480e4f21ed1d28e0e6d942b06b8d9e8bd7.tar.gz # Locally calculated (fetched from Github) sha256 5aa9adeac09727db0b8a52794186563771e74d70410e9fd86431e339953fd4bb glibc-arc-2017.09-release.tar.gz diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk index d99b524ef9..2e93593b0d 100644 --- a/package/glibc/glibc.mk +++ b/package/glibc/glibc.mk @@ -7,11 +7,10 @@ ifeq ($(BR2_arc),y) GLIBC_VERSION = arc-2017.09-release GLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,glibc,$(GLIBC_VERSION)) -GLIBC_SOURCE = glibc-$(GLIBC_VERSION).tar.gz else # Generate version string using: # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master -GLIBC_VERSION = glibc-2.26-73-g4b692dffb95ac4812b161eb6a16113d7e824982e +GLIBC_VERSION = glibc-2.26-175-gc5c90b480e4f21ed1d28e0e6d942b06b8d9e8bd7 # 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. diff --git a/package/glorytun/Config.in b/package/glorytun/Config.in new file mode 100644 index 0000000000..82d248f75a --- /dev/null +++ b/package/glorytun/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_GLORYTUN + bool "glorytun" + select BR2_PACKAGE_LIBSODIUM + help + A small, simple and secure VPN. + + https://github.com/angt/glorytun diff --git a/package/glorytun/glorytun.hash b/package/glorytun/glorytun.hash new file mode 100644 index 0000000000..891af2079e --- /dev/null +++ b/package/glorytun/glorytun.hash @@ -0,0 +1,2 @@ +sha256 76849b1568119cf0834749db56d4882966863d31351c21c1b22f373f0c97a498 glorytun-0.0.93-mud.tar.gz +sha256 bd418f8ef7d62f2c89e3aa1e5dc41c7d7a6212eb1cdb4d39a26a5bd333e1b4a3 LICENSE diff --git a/package/glorytun/glorytun.mk b/package/glorytun/glorytun.mk new file mode 100644 index 0000000000..233e1feaa9 --- /dev/null +++ b/package/glorytun/glorytun.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# glorytun +# +################################################################################ + +GLORYTUN_VERSION = 0.0.93-mud +GLORYTUN_SITE = https://github.com/angt/glorytun/releases/download/v$(GLORYTUN_VERSION) +GLORYTUN_DEPENDENCIES = libsodium host-pkgconf +GLORYTUN_LICENSE = BSD-2-clause +GLORYTUN_LICENSE_FILES = LICENSE + +$(eval $(autotools-package)) diff --git a/package/gnupg/Config.in b/package/gnupg/Config.in index 7c31612298..2db46318f1 100644 --- a/package/gnupg/Config.in +++ b/package/gnupg/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_GNUPG bool "gnupg" depends on !BR2_PACKAGE_GNUPG2 select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_NCURSES help GnuPG is the GNU project's complete and free implementation of the OpenPGP standard as defined by RFC4880. GnuPG allows diff --git a/package/gnupg/Config.in.host b/package/gnupg/Config.in.host new file mode 100644 index 0000000000..3686415796 --- /dev/null +++ b/package/gnupg/Config.in.host @@ -0,0 +1,12 @@ +config BR2_PACKAGE_HOST_GNUPG + bool "host gnupg" + help + GnuPG is the GNU project's complete and free implementation + of the OpenPGP standard as defined by RFC4880. GnuPG allows + to encrypt and sign your data and communication, features a + versatile key management system as well as access modules + for all kinds of public key directories. GnuPG, also known + as GPG, is a command line tool with features for easy + integration with other applications. + + http://gnupg.org/ diff --git a/package/gnupg/gnupg.hash b/package/gnupg/gnupg.hash index abd76cde9c..3bacdf6563 100644 --- a/package/gnupg/gnupg.hash +++ b/package/gnupg/gnupg.hash @@ -1,3 +1,3 @@ # Locally computed based on signature -# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-1.4.22.tar.bz2.sig -sha256 9594a24bec63a21568424242e3f198b9d9828dea5ff0c335e47b06f835f930b4 gnupg-1.4.22.tar.bz2 +# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-1.4.23.tar.bz2.sig +sha256 c9462f17e651b6507848c08c430c791287cd75491f8b5a8b50c6ed46b12678ba gnupg-1.4.23.tar.bz2 diff --git a/package/gnupg/gnupg.mk b/package/gnupg/gnupg.mk index 0ed3e1e063..bedcf6c985 100644 --- a/package/gnupg/gnupg.mk +++ b/package/gnupg/gnupg.mk @@ -4,12 +4,12 @@ # ################################################################################ -GNUPG_VERSION = 1.4.22 +GNUPG_VERSION = 1.4.23 GNUPG_SOURCE = gnupg-$(GNUPG_VERSION).tar.bz2 GNUPG_SITE = https://gnupg.org/ftp/gcrypt/gnupg GNUPG_LICENSE = GPL-3.0+ GNUPG_LICENSE_FILES = COPYING -GNUPG_DEPENDENCIES = zlib ncurses $(if $(BR2_PACKAGE_LIBICONV),libiconv) +GNUPG_DEPENDENCIES = zlib $(if $(BR2_PACKAGE_LIBICONV),libiconv) GNUPG_CONF_ENV = ac_cv_sys_symbol_underscore=no GNUPG_CONF_OPTS = \ --disable-rpath \ @@ -18,6 +18,18 @@ GNUPG_CONF_OPTS = \ --enable-sha256 \ --enable-sha512 +HOST_GNUPG_DEPENDENCIES = host-zlib +HOST_GNUPG_CONF_OPTS = \ + --disable-rpath \ + --enable-minimal \ + --disable-regex \ + --enable-sha256 \ + --enable-sha512 \ + --enable-aes \ + --enable-rsa \ + --without-libcurl \ + --without-readline + # gnupg doesn't support assembly for coldfire ifeq ($(BR2_m68k_cf),y) GNUPG_CONF_OPTS += --disable-asm @@ -68,3 +80,4 @@ GNUPG_POST_INSTALL_TARGET_HOOKS += GNUPG_REMOVE_GPGSPLIT endif $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/gnupg2/Config.in b/package/gnupg2/Config.in index c287089657..ef1817ef02 100644 --- a/package/gnupg2/Config.in +++ b/package/gnupg2/Config.in @@ -28,10 +28,10 @@ config BR2_PACKAGE_GNUPG2 if BR2_PACKAGE_GNUPG2 -config BR2_PACKAGE_GNUPG2_GPGV2 - bool "gpgv2" +config BR2_PACKAGE_GNUPG2_GPGV + bool "gpgv" help - gpgv2 is an OpenPGP signature verification tool. + gpgv is an OpenPGP signature verification tool. This program is actually a stripped-down version of gpg which is only able to check signatures. It is somewhat diff --git a/package/gnupg2/gnupg2.hash b/package/gnupg2/gnupg2.hash index 84152ee4f2..f5890c5e2a 100644 --- a/package/gnupg2/gnupg2.hash +++ b/package/gnupg2/gnupg2.hash @@ -1,5 +1,6 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2017q3/000413.html -sha1 36ee693d0b2ec529ecf53dd6d397cc38ba71c0a7 gnupg-2.2.0.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q2/000425.html +sha1 d87553a125832ea90e8aeb3ceeecf24f88de56fb gnupg-2.2.8.tar.bz2 # Calculated based on the hash above and signature -# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.0.tar.bz2.sig -sha256 d4514a0be0f7a1ff263193330019eb4b53c82f0f5e230af3c14df371271a45e6 gnupg-2.2.0.tar.bz2 +# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.8.tar.bz2.sig +sha256 777b4cb8ced21965a5053d4fa20fe11484f0a478f3d011cef508a1a49db50dcd gnupg-2.2.8.tar.bz2 +sha256 bc2d6664f6276fa0a72d57633b3ae68dc7dcb677b71018bf08c8e93e509f1357 COPYING diff --git a/package/gnupg2/gnupg2.mk b/package/gnupg2/gnupg2.mk index 0466ed633f..3151860f37 100644 --- a/package/gnupg2/gnupg2.mk +++ b/package/gnupg2/gnupg2.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPG2_VERSION = 2.2.0 +GNUPG2_VERSION = 2.2.8 GNUPG2_SOURCE = gnupg-$(GNUPG2_VERSION).tar.bz2 GNUPG2_SITE = https://gnupg.org/ftp/gcrypt/gnupg GNUPG2_LICENSE = GPL-3.0+ @@ -12,21 +12,19 @@ GNUPG2_LICENSE_FILES = COPYING GNUPG2_DEPENDENCIES = zlib libgpg-error libgcrypt libassuan libksba libnpth \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) host-pkgconf -# Keep the gpg2 binary name to avoid conflict with gnupg GNUPG2_CONF_OPTS = \ - --enable-gpg-is-gpg2 \ - --disable-rpath --disable-regex --disable-doc \ + --disable-rpath --disable-regex \ --with-libgpg-error-prefix=$(STAGING_DIR)/usr \ --with-libgcrypt-prefix=$(STAGING_DIR)/usr \ --with-libassuan-prefix=$(STAGING_DIR)/usr \ --with-ksba-prefix=$(STAGING_DIR)/usr \ --with-npth-prefix=$(STAGING_DIR)/usr -ifneq ($(BR2_PACKAGE_GNUPG2_GPGV2),y) -define GNUPG2_REMOVE_GPGV2 - rm -f $(TARGET_DIR)/usr/bin/gpgv2 +ifneq ($(BR2_PACKAGE_GNUPG2_GPGV),y) +define GNUPG2_REMOVE_GPGV + rm -f $(TARGET_DIR)/usr/bin/gpgv endef -GNUPG2_POST_INSTALL_TARGET_HOOKS += GNUPG2_REMOVE_GPGV2 +GNUPG2_POST_INSTALL_TARGET_HOOKS += GNUPG2_REMOVE_GPGV endif ifeq ($(BR2_PACKAGE_BZIP2),y) diff --git a/package/gnutls/gnutls.hash b/package/gnutls/gnutls.hash index 608ccf89c5..bbcd5bd4de 100644 --- a/package/gnutls/gnutls.hash +++ b/package/gnutls/gnutls.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature -sha256 4aa12dec92f42a0434df794aca3d02f6f2a35b47b48c01252de65f355c051bda gnutls-3.5.14.tar.xz +# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.19.tar.xz.sig +sha256 1936eb64f03aaefd6eb16cef0567457777618573826b94d03376bb6a4afadc44 gnutls-3.5.19.tar.xz +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 doc/COPYING +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 doc/COPYING.LESSER diff --git a/package/gnutls/gnutls.mk b/package/gnutls/gnutls.mk index b00bd139cd..1cf1f281fa 100644 --- a/package/gnutls/gnutls.mk +++ b/package/gnutls/gnutls.mk @@ -5,7 +5,7 @@ ################################################################################ GNUTLS_VERSION_MAJOR = 3.5 -GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).14 +GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).19 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) diff --git a/package/gpsd/0002-SConstruct-do-not-force-O2-by-default.patch b/package/gpsd/0001-SConstruct-do-not-force-O2-by-default.patch similarity index 100% rename from package/gpsd/0002-SConstruct-do-not-force-O2-by-default.patch rename to package/gpsd/0001-SConstruct-do-not-force-O2-by-default.patch diff --git a/package/gpsd/0001-do-not-interact-with-systemctl-when-cross-compiling.patch b/package/gpsd/0001-do-not-interact-with-systemctl-when-cross-compiling.patch deleted file mode 100644 index 9e91a02ef3..0000000000 --- a/package/gpsd/0001-do-not-interact-with-systemctl-when-cross-compiling.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 777cb3737ae85b13642fff48eabb601c4d40f527 Mon Sep 17 00:00:00 2001 -From: James Knight -Date: Tue, 16 Feb 2016 23:51:08 -0500 -Subject: [PATCH] do not interact with systemctl when cross-compiling - -The installation process for GPSd on a systemd environment will attempt -to reload systemd's manager configuration (systemctl daemon-reload). -This is to allow the system to take advantage of the newly installed -GPSd services. When cross-compiling, the installation process should not -attempt to interact with the build environment's systemd instance (if -any). The following change checks if the build is not cross compiling -(via 'not env["sysroot"]') before attempting to do a systemd reload. - -Signed-off-by: James Knight -[yann.morin.1998@free.fr: tweak to apply on 3.16] -Signed-off-by: "Yann E. MORIN" ---- - SConstruct | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/SConstruct b/SConstruct -index c3bfd0d1..97c1b3a9 100644 ---- a/SConstruct -+++ b/SConstruct -@@ -1909,10 +1909,12 @@ udev_install = Utility('udev-install', 'install', [ - ] + hotplug_wrapper_install) - - if env['systemd']: -+ env.Requires(udev_install, systemd_install) -+ -+if env['systemd'] and not env["sysroot"]: - systemctl_daemon_reload = Utility('systemctl-daemon-reload', '', [ 'systemctl daemon-reload || true']) - env.AlwaysBuild(systemctl_daemon_reload) - env.Precious(systemctl_daemon_reload) -- env.Requires(udev_install, systemd_install) - env.Requires(systemctl_daemon_reload, systemd_install) - env.Requires(udev_install, systemctl_daemon_reload) - --- -2.11.0 - diff --git a/package/gpsd/0002-Fix-isync-build-when-ublox-not-selected-too.patch b/package/gpsd/0002-Fix-isync-build-when-ublox-not-selected-too.patch new file mode 100644 index 0000000000..1dfa9607e3 --- /dev/null +++ b/package/gpsd/0002-Fix-isync-build-when-ublox-not-selected-too.patch @@ -0,0 +1,36 @@ +From 98c8f5f4429ac3bfc09eee235fee08b9aaff8c52 Mon Sep 17 00:00:00 2001 +From: Zoltan Gyarmati +Date: Tue, 30 Jan 2018 19:58:54 -0800 +Subject: [PATCH] Fix isync build when ublox not selected too. + +The isync support uses the ublox driver, but if the ublox support is +disabled while isync is enabled, the build will fail. + + +Upstream commit: +http://git.savannah.gnu.org/cgit/gpsd.git/commit/?id=98c8f5f4429ac3bfc09eee235fee08b9aaff8c52 + +Signed-off-by: Zoltan Gyarmati +--- + SConstruct | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/SConstruct b/SConstruct +index 1c1a215..c6a309e 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -334,6 +334,11 @@ for driver in ('ashtech', + env['nmea0183'] = True + break + ++ ++# iSync uses ublox underneath, so we force to enable it ++if env['isync']: ++ env['ublox'] = True ++ + opts.Save('.scons-option-cache', env) + env.SConsignFile(".sconsign.dblite") + +-- +2.7.4 + diff --git a/package/gpsd/Config.in b/package/gpsd/Config.in index 68d3e2e7e8..849d22ffa7 100644 --- a/package/gpsd/Config.in +++ b/package/gpsd/Config.in @@ -38,6 +38,8 @@ config BR2_PACKAGE_GPSD_PROFILING bool "profiling support" depends on BR2_TOOLCHAIN_USES_GLIBC depends on !BR2_aarch64 + # Needs glibc for ARC arc-2018.03-eng007+ for correct __mcount linking + depends on !BR2_arc comment "profiling support not available with uClibc-based toolchain" depends on !BR2_TOOLCHAIN_USES_GLIBC @@ -152,6 +154,11 @@ config BR2_PACKAGE_GPSD_GPSCLOCK help GPSClock support +config BR2_PACKAGE_GPSD_ISYNC + bool "iSync" + help + Spectratime iSync LNRClok/GRCLOK support + config BR2_PACKAGE_GPSD_ITRAX bool "iTrax" help diff --git a/package/gpsd/gpsd.hash b/package/gpsd/gpsd.hash index 3083af24f1..805c298bca 100644 --- a/package/gpsd/gpsd.hash +++ b/package/gpsd/gpsd.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 03579af13a4d3fe0c5b79fa44b5f75c9f3cac6749357f1d99ce5d38c09bc2029 gpsd-3.16.tar.gz +sha256 68e0dbecfb5831997f8b3d6ba48aed812eb465d8c0089420ab68f9ce4d85e77a gpsd-3.17.tar.gz +sha256 71ff85d18bf063954cfc4251678d0e772223e21f80febbd99d5524c90f73f832 COPYING diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk index 2b9c38a42b..8c8023e818 100644 --- a/package/gpsd/gpsd.mk +++ b/package/gpsd/gpsd.mk @@ -4,7 +4,7 @@ # ################################################################################ -GPSD_VERSION = 3.16 +GPSD_VERSION = 3.17 GPSD_SITE = http://download-mirror.savannah.gnu.org/releases/gpsd GPSD_LICENSE = BSD-3-Clause GPSD_LICENSE_FILES = COPYING @@ -111,6 +111,9 @@ endif ifneq ($(BR2_PACKAGE_GPSD_GPSCLOCK),y) GPSD_SCONS_OPTS += gpsclock=no endif +ifneq ($(BR2_PACKAGE_GPSD_ISYNC),y) +GPSD_SCONS_OPTS += isync=no +endif ifneq ($(BR2_PACKAGE_GPSD_ITRAX),y) GPSD_SCONS_OPTS += itrax=no endif diff --git a/package/gptfdisk/gptfdisk.hash b/package/gptfdisk/gptfdisk.hash index c3a38af5f6..d55797c05a 100644 --- a/package/gptfdisk/gptfdisk.hash +++ b/package/gptfdisk/gptfdisk.hash @@ -1,5 +1,5 @@ -# From http://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.1/ -md5 d7f3d306b083123bcc6f5941efade586 gptfdisk-1.0.1.tar.gz -sha1 ad28c511c642235815b83fffddf728c117057cba gptfdisk-1.0.1.tar.gz +# 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 # Locally computed -sha256 864c8aee2efdda50346804d7e6230407d5f42a8ae754df70404dd8b2fdfaeac7 gptfdisk-1.0.1.tar.gz +sha256 89fd5aec35c409d610a36cb49c65b442058565ed84042f767bba614b8fc91b5c gptfdisk-1.0.3.tar.gz diff --git a/package/gptfdisk/gptfdisk.mk b/package/gptfdisk/gptfdisk.mk index a7bc41c89f..b669e22aa8 100644 --- a/package/gptfdisk/gptfdisk.mk +++ b/package/gptfdisk/gptfdisk.mk @@ -4,7 +4,7 @@ # ################################################################################ -GPTFDISK_VERSION = 1.0.1 +GPTFDISK_VERSION = 1.0.3 GPTFDISK_SITE = http://downloads.sourceforge.net/sourceforge/gptfdisk GPTFDISK_LICENSE = GPL-2.0+ GPTFDISK_LICENSE_FILES = COPYING diff --git a/package/gstreamer/gst-ffmpeg/Config.in b/package/gstreamer/gst-ffmpeg/Config.in index 2164ea2e05..32bfdd53c6 100644 --- a/package/gstreamer/gst-ffmpeg/Config.in +++ b/package/gstreamer/gst-ffmpeg/Config.in @@ -7,12 +7,12 @@ config BR2_PACKAGE_GST_FFMPEG depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_sh 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. + 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. + This package is configured to use an internal copy of the + Libav library. http://gstreamer.freedesktop.org/modules/gst-ffmpeg.html diff --git a/package/gstreamer/gst-fsl-plugins/Config.in b/package/gstreamer/gst-fsl-plugins/Config.in index 85476b1c3e..a2ff11ec3e 100644 --- a/package/gstreamer/gst-fsl-plugins/Config.in +++ b/package/gstreamer/gst-fsl-plugins/Config.in @@ -18,17 +18,18 @@ config BR2_PACKAGE_GST_FSL_PLUGINS 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. + 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. + 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. + 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 diff --git a/package/gstreamer/gst-plugin-x170/Config.in b/package/gstreamer/gst-plugin-x170/Config.in index 30036705b8..d0ba763a22 100644 --- a/package/gstreamer/gst-plugin-x170/Config.in +++ b/package/gstreamer/gst-plugin-x170/Config.in @@ -6,8 +6,8 @@ config BR2_PACKAGE_GST_PLUGIN_X170 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. + GStreamer plug-in to use the Hantro X170 video decoder + present on ATMEL AT91SAM9M10 SoC. http://www.at91.com/linux4sam/bin/view/Linux4SAM/SAM9M10Gstreamer diff --git a/package/gstreamer/gst-plugins-good/Config.in b/package/gstreamer/gst-plugins-good/Config.in index 9a84ad1538..3b2a99f5b4 100644 --- a/package/gstreamer/gst-plugins-good/Config.in +++ b/package/gstreamer/gst-plugins-good/Config.in @@ -2,8 +2,8 @@ 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. + A set of well-supported plug-ins for GStreamer under the + preferred license. http://gstreamer.freedesktop.org/ @@ -205,11 +205,14 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE 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, dynamic library" +comment "pulseaudio support needs a toolchain w/ threads, wchar, dynamic library" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + 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)" diff --git a/package/gstreamer/gstreamer/Config.in b/package/gstreamer/gstreamer/Config.in index 99c90f1a14..b1334abfcc 100644 --- a/package/gstreamer/gstreamer/Config.in +++ b/package/gstreamer/gstreamer/Config.in @@ -24,15 +24,15 @@ 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. + 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. + Enable support for the GStreamer plugin registry. This may + increase the launch-time for a GStreamer application. endif diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in index aef75b55bf..76c32bc6c6 100644 --- a/package/gstreamer1/Config.in +++ b/package/gstreamer1/Config.in @@ -2,6 +2,7 @@ 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-good/Config.in" source "package/gstreamer1/gst1-plugins-bad/Config.in" diff --git a/package/gstreamer1/gst-omx/gst-omx.hash b/package/gstreamer1/gst-omx/gst-omx.hash index ec3f31d31e..c4f8b10bce 100644 --- a/package/gstreamer1/gst-omx/gst-omx.hash +++ b/package/gstreamer1/gst-omx/gst-omx.hash @@ -1,2 +1,2 @@ -From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.12.3.tar.xz.sha256sum -sha256 eef5de8bab1bb495bfbc9d16af9837d7f55b47cb6b97819b3152c5899c85843c gst-omx-1.12.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.12.4.tar.xz.sha256sum +sha256 a025fa24242ec868fe0ff1e66d806a1070bcbc7c14a987a89cdc3395d0d56d5f gst-omx-1.12.4.tar.xz diff --git a/package/gstreamer1/gst-omx/gst-omx.mk b/package/gstreamer1/gst-omx/gst-omx.mk index 98431496a5..68cb7f6696 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.12.3 +GST_OMX_VERSION = 1.12.4 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/Config.in b/package/gstreamer1/gst1-imx/Config.in index 9f792d1c82..7b46233b53 100644 --- a/package/gstreamer1/gst1-imx/Config.in +++ b/package/gstreamer1/gst1-imx/Config.in @@ -8,8 +8,9 @@ menuconfig BR2_PACKAGE_GST1_IMX depends on !BR2_STATIC_LIBS select BR2_PACKAGE_GST1_PLUGINS_BASE help - This is a set of GStreamer 1.0 plugins for plugins for Freescale's - i.MX platforms, which make use of the i.MX multimedia capabilities. + This is a set of GStreamer 1.0 plugins for plugins for + Freescale's i.MX platforms, which make use of the i.MX + multimedia capabilities. https://github.com/Freescale/gstreamer-imx @@ -26,12 +27,12 @@ comment "imxeglvivsink needs the Vivante 3D libraries" config BR2_PACKAGE_GST1_IMX_G2D bool "imxg2d" - depends on BR2_PACKAGE_IMX_GPU_VIV_G2D + depends on BR2_PACKAGE_IMX_GPU_G2D help Elements leveraging the 2D GPU -comment "imxg2d needs the Vivante 2D libraries" - depends on !BR2_PACKAGE_IMX_GPU_VIV_G2D +comment "imxg2d needs the G2D libraries" + depends on !BR2_PACKAGE_IMX_GPU_G2D config BR2_PACKAGE_GST1_IMX_IPU bool "imxipu" @@ -84,4 +85,14 @@ config BR2_PACKAGE_GST1_IMX_V4L2VIDEOSRC help Elements for V4L2 capture +config BR2_PACKAGE_GST1_IMX_V4L2VIDEOSINK + bool "imxv4l2videosink" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 # V4L2_COLORSPACE_DEFAULT + select BR2_PACKAGE_GST1_PLUGINS_BAD + help + Elements for V4L2 output + +comment "imxv4l2videosink needs a toolchain w/ headers >= 4.2" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 + endif diff --git a/package/gstreamer1/gst1-imx/gst1-imx.hash b/package/gstreamer1/gst1-imx/gst1-imx.hash index e2e3971a2a..58ff4be225 100644 --- a/package/gstreamer1/gst1-imx/gst1-imx.hash +++ b/package/gstreamer1/gst1-imx/gst1-imx.hash @@ -1,2 +1,2 @@ # locally computed hash -sha256 999c093e38768e51d14abbe7836c09b666bcb89f03f34dd3697a6e5b5e4a4086 gst1-imx-0.12.3.tar.gz +sha256 3fcf1046ab8c6c7cd94218f4d2bc31ad7b5efa8a6b8f9fd5d93dc182f98ce026 gst1-imx-0.13.0.tar.gz diff --git a/package/gstreamer1/gst1-imx/gst1-imx.mk b/package/gstreamer1/gst1-imx/gst1-imx.mk index a21e2829be..43b4d9b15f 100644 --- a/package/gstreamer1/gst1-imx/gst1-imx.mk +++ b/package/gstreamer1/gst1-imx/gst1-imx.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_IMX_VERSION = 0.12.3 +GST1_IMX_VERSION = 0.13.0 GST1_IMX_SITE = $(call github,Freescale,gstreamer-imx,$(GST1_IMX_VERSION)) GST1_IMX_LICENSE = LGPL-2.0+ @@ -33,6 +33,10 @@ ifeq ($(BR2_PACKAGE_IMX_GPU_VIV),y) GST1_IMX_DEPENDENCIES += imx-gpu-viv endif +ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y) +GST1_IMX_DEPENDENCIES += imx-gpu-g2d +endif + ifeq ($(BR2_PACKAGE_GST1_IMX_EGLVISINK),y) # There's no --enable-eglvivsink option ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) @@ -83,10 +87,17 @@ GST1_IMX_CONF_OPTS += --disable-vpu endif ifeq ($(BR2_PACKAGE_GST1_IMX_V4L2VIDEOSRC),y) -# There's no --enable-v4l2src option +# There's no --enable-imxv4l2videosrc option GST1_IMX_DEPENDENCIES += gst1-plugins-bad else -GST1_IMX_CONF_OPTS += --disable-v4l2src +GST1_IMX_CONF_OPTS += --disable-imxv4l2videosrc +endif + +ifeq ($(BR2_PACKAGE_GST1_IMX_V4L2VIDEOSINK),y) +# There's no --enable-imxv4l2videosink option +GST1_IMX_DEPENDENCIES += gst1-plugins-bad +else +GST1_IMX_CONF_OPTS += --disable-imxv4l2videosink endif $(eval $(waf-package)) diff --git a/package/gstreamer1/gst1-libav/gst1-libav.hash b/package/gstreamer1/gst1-libav/gst1-libav.hash index a5a9590795..f9a287c590 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.hash +++ b/package/gstreamer1/gst1-libav/gst1-libav.hash @@ -1,2 +1,2 @@ -From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.12.3.tar.xz.sha256sum -sha256 015ef8cab6f7fb87c8fb42642486423eff3b6e6a6bccdcd6a189f436a3619650 gst-libav-1.12.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.12.4.tar.xz.sha256sum +sha256 2a56aa5d2d8cd912f2bce17f174713d2c417ca298f1f9c28ee66d4aa1e1d9e62 gst-libav-1.12.4.tar.xz diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk index 41b35abb1e..7450b759f1 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.mk +++ b/package/gstreamer1/gst1-libav/gst1-libav.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_LIBAV_VERSION = 1.12.3 +GST1_LIBAV_VERSION = 1.12.4 GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz GST1_LIBAV_SITE = https://gstreamer.freedesktop.org/src/gst-libav GST1_LIBAV_CONF_OPTS = --with-system-libav diff --git a/package/gstreamer1/gst1-plugins-bad/0001-openjpeg-Support-building-with-openjpeg-2.3-simpler.patch b/package/gstreamer1/gst1-plugins-bad/0001-openjpeg-Support-building-with-openjpeg-2.3-simpler.patch deleted file mode 100644 index 23569424a8..0000000000 --- a/package/gstreamer1/gst1-plugins-bad/0001-openjpeg-Support-building-with-openjpeg-2.3-simpler.patch +++ /dev/null @@ -1,89 +0,0 @@ -From b08b3ad2c4ca27519b34229b7430af5cb73cc7ef Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" -Date: Thu, 19 Oct 2017 16:36:17 +0200 -Subject: [PATCH] openjpeg: Support building with openjpeg 2.3, simpler - -OpenJPEG 2.3 installs its headers to /usr/include/openjpeg-2.3. However, -since libopenjp2.pc seems to provide the right includedir CFLAGS at -least since version 2.1, instead of adding yet another version check, -just remove the subdir and the check for 2.2. - -https://bugzilla.gnome.org/show_bug.cgi?id=788703 - -Upstream: https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=bff2d834a4a38f64e555cee3d0144fde6c515acd -Signed-off-by: Peter Seiderer ---- - configure.ac | 5 ----- - ext/openjpeg/gstopenjpeg.h | 6 ++---- - ext/openjpeg/meson.build | 20 +++++++------------- - 3 files changed, 9 insertions(+), 22 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 7a8d752..f9727ac 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2815,11 +2815,6 @@ AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [ - AG_GST_PKG_CHECK_MODULES(OPENJPEG_2_1, libopenjp2 >= 2.1) - if test x"$HAVE_OPENJPEG_2_1" = x"yes"; then - AC_DEFINE([HAVE_OPENJPEG_2_1], 1, [Define if OpenJPEG 2.1 is used]) -- dnl include paths changed for v2.2 -- AG_GST_PKG_CHECK_MODULES(OPENJPEG_2_2, libopenjp2 >= 2.2) -- if test x"$HAVE_OPENJPEG_2_2" = x"yes"; then -- AC_DEFINE([HAVE_OPENJPEG_2_2], 1, [Define if OpenJPEG 2.2 is used]) -- fi - fi - else - # Fallback to v1.5 -diff --git a/ext/openjpeg/gstopenjpeg.h b/ext/openjpeg/gstopenjpeg.h -index 52410a4..f9ca74a 100644 ---- a/ext/openjpeg/gstopenjpeg.h -+++ b/ext/openjpeg/gstopenjpeg.h -@@ -38,10 +38,8 @@ - #define OPJ_CPRL CPRL - #else - #include --# if defined(HAVE_OPENJPEG_2_2) --# include --# elif defined(HAVE_OPENJPEG_2_1) --# include -+# if defined(HAVE_OPENJPEG_2_1) -+# include - # else - # include - # endif -diff --git a/ext/openjpeg/meson.build b/ext/openjpeg/meson.build -index 0d97ebb..14b8583 100644 ---- a/ext/openjpeg/meson.build -+++ b/ext/openjpeg/meson.build -@@ -6,21 +6,15 @@ openjpeg_sources = [ - - openjpeg_cargs = [] - --# Check for 2.2, 2.1, then 2.0 --openjpeg_dep = dependency('libopenjp2', version : '>=2.2', required : false) -+# Check for 2.1, then 2.0, then 1.5 -+openjpeg_dep = dependency('libopenjp2', version : '>=2.1', required : false) - if openjpeg_dep.found() -- openjpeg_cargs += ['-DHAVE_OPENJPEG_2_2', '-DHAVE_OPENJPEG_2_1'] -+ openjpeg_cargs += ['-DHAVE_OPENJPEG_2_1'] - else -- openjpeg_dep = dependency('libopenjp2', version : '>=2.1', required : false) -- if openjpeg_dep.found() -- openjpeg_cargs += ['-DHAVE_OPENJPEG_2_1'] -- else -- openjpeg_dep = dependency('libopenjp2', required : false) -- # Fallback to 1.5 -- if not openjpeg_dep.found() -- openjpeg_dep = dependency('libopenjpeg1', required : false) -- openjpeg_cargs += ['-DHAVE_OPENJPEG_1'] -- endif -+ openjpeg_dep = dependency('libopenjp2', required : false) -+ if not openjpeg_dep.found() -+ openjpeg_dep = dependency('libopenjpeg1', required : false) -+ openjpeg_cargs += ['-DHAVE_OPENJPEG_1'] - endif - endif - --- -2.14.2 - diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in index 0c9789997a..7e166e43a1 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -2,8 +2,8 @@ menuconfig BR2_PACKAGE_GST1_PLUGINS_BAD bool "gst1-plugins-bad" select BR2_PACKAGE_GST1_PLUGINS_BASE help - A set of plug-ins for GStreamer that may be of poor quality or - lacking some features. + A set of plug-ins for GStreamer that may be of poor quality + or lacking some features. http://gstreamer.freedesktop.org/ @@ -217,7 +217,8 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS bool "debugutils" help - Collection of elements that may or may not be useful for debugging + Collection of elements that may or may not be useful for + debugging config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY bool "dvdsuboverlay" diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash index e4b83ff11c..752d50a56d 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash @@ -1,2 +1,2 @@ -From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.12.3.tar.xz.sha256sum -sha256 36d059761852bed0f1a7fcd3ef64a8aeecab95d2bca53cd6aa0f08054b1cbfec gst-plugins-bad-1.12.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.12.4.tar.xz.sha256sum +sha256 0c7857be16686d5c1ba6e34bd338664d3d4599d32714a8eca5c8a41a101e2d08 gst-plugins-bad-1.12.4.tar.xz diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index 9f94148cfa..b041014f81 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -4,18 +4,14 @@ # ################################################################################ -GST1_PLUGINS_BAD_VERSION = 1.12.3 +GST1_PLUGINS_BAD_VERSION = 1.12.4 GST1_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST1_PLUGINS_BAD_VERSION).tar.xz GST1_PLUGINS_BAD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-bad GST1_PLUGINS_BAD_INSTALL_STAGING = YES -GST1_PLUGINS_BAD_LICENSE_FILES = COPYING COPYING.LIB -# Unknown and GPL licensed plugins will append to GST1_PLUGINS_BAD_LICENSE if -# enabled. -GST1_PLUGINS_BAD_LICENSE = LGPL-2.0+, LGPL-2.1+ - -# patch 0001-openjpeg-Fix-build-against-openjpeg-2.2.patch touches configure.ac -GST1_PLUGINS_BAD_AUTORECONF = YES -GST1_PLUGINS_BAD_GETTEXTIZE = 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_CONF_OPTS = \ --disable-examples \ @@ -202,7 +198,6 @@ endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOVISUALIZERS),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-audiovisualizers -GST1_PLUGINS_BAD_HAS_GPL_LICENSE = y else GST1_PLUGINS_BAD_CONF_OPTS += --disable-audiovisualizers endif @@ -383,7 +378,7 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-mxf endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_NETSIM),y) +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NETSIM),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-netsim else GST1_PLUGINS_BAD_CONF_OPTS += --disable-netsim @@ -518,6 +513,7 @@ endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_YADIF),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-yadif +GST1_PLUGINS_BAD_HAS_GPL_LICENSE = y else GST1_PLUGINS_BAD_CONF_OPTS += --disable-yadif endif @@ -589,7 +585,6 @@ endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FDK_AAC),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-fdk_aac GST1_PLUGINS_BAD_DEPENDENCIES += fdk-aac -GST1_PLUGINS_BAD_HAS_UNKNOWN_LICENSE = y else GST1_PLUGINS_BAD_CONF_OPTS += --disable-fdk_aac endif @@ -636,6 +631,7 @@ endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DTLS),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-dtls GST1_PLUGINS_BAD_DEPENDENCIES += openssl +GST1_PLUGINS_BAD_HAS_BSD2C_LICENSE = y else GST1_PLUGINS_BAD_CONF_OPTS += --disable-dtls endif @@ -686,6 +682,7 @@ endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-openh264 GST1_PLUGINS_BAD_DEPENDENCIES += libopenh264 +GST1_PLUGINS_BAD_HAS_BSD2C_LICENSE = y else GST1_PLUGINS_BAD_CONF_OPTS += --disable-openh264 endif @@ -775,12 +772,18 @@ endif # Add GPL license if GPL licensed plugins enabled. ifeq ($(GST1_PLUGINS_BAD_HAS_GPL_LICENSE),y) -GST1_PLUGINS_BAD_LICENSE += GPL +GST1_PLUGINS_BAD_LICENSE := $(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 endif # Add Unknown license if Unknown licensed plugins enabled. ifeq ($(GST1_PLUGINS_BAD_HAS_UNKNOWN_LICENSE),y) -GST1_PLUGINS_BAD_LICENSE += UNKNOWN +GST1_PLUGINS_BAD_LICENSE := $(GST1_PLUGINS_BAD_LICENSE), UNKNOWN endif # Use the following command to extract license info for plugins. diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash index 7b02be000d..b935f2f6dc 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash @@ -1,2 +1,2 @@ -From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.12.3.tar.xz.sha256sum -sha256 d3d37b8489d37fa0018973d850bd2067b98af335fef2fa543ee7d40359e3cea5 gst-plugins-base-1.12.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.12.4.tar.xz.sha256sum +sha256 4c306b03df0212f1b8903784e29bb3493319ba19ebebf13b0c56a17870292282 gst-plugins-base-1.12.4.tar.xz diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk index 19172ab63e..10361ee3c6 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BASE_VERSION = 1.12.3 +GST1_PLUGINS_BASE_VERSION = 1.12.4 GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz GST1_PLUGINS_BASE_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-base GST1_PLUGINS_BASE_INSTALL_STAGING = YES diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in index cb7beb944b..4f83d00a48 100644 --- a/package/gstreamer1/gst1-plugins-good/Config.in +++ b/package/gstreamer1/gst1-plugins-good/Config.in @@ -5,8 +5,8 @@ menuconfig BR2_PACKAGE_GST1_PLUGINS_GOOD select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXV if BR2_PACKAGE_XORG7 help - A set of well-supported plug-ins for GStreamer under the preferred - license. + A set of well-supported plug-ins for GStreamer under the + preferred license. http://gstreamer.freedesktop.org/ @@ -70,7 +70,8 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUPARSE config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT bool "autodetect" help - Plugin contains auto-detection plugins for video/audio in- and outputs + Plugin contains auto-detection plugins for video/audio in- + and outputs config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AVI bool "avi (*.avi video)" @@ -320,13 +321,16 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE 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 help PulseAudio plugin library -comment "pulseaudio support needs a toolchain w/ threads, dynamic library" +comment "pulseaudio support needs a toolchain w/ threads, wchar, dynamic library" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || !BR2_USE_WCHAR config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC bool "souphttpsrc (http client)" diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash index 0d4b70b7bc..c6f6138154 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash @@ -1,2 +1,2 @@ -From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.12.3.tar.xz.sha256sum -sha256 13e7f479296891fef5a686438f20ba7d534680becf2269ecc5ee24aa83b45f03 gst-plugins-good-1.12.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.12.4.tar.xz.sha256sum +sha256 649f49bec60892d47ee6731b92266974c723554da1c6649f21296097715eb957 gst-plugins-good-1.12.4.tar.xz diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index 379fef6531..53e2341586 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_GOOD_VERSION = 1.12.3 +GST1_PLUGINS_GOOD_VERSION = 1.12.4 GST1_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST1_PLUGINS_GOOD_VERSION).tar.xz GST1_PLUGINS_GOOD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-good GST1_PLUGINS_GOOD_LICENSE_FILES = COPYING diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash index 999166b7ef..d0581531d4 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash @@ -1,2 +1,2 @@ -From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.12.3.tar.xz.sha256sum -sha256 e88ca584c94ea78eeecbf3af00ef7f134b66bdee7408aa4aa6c547235e060052 gst-plugins-ugly-1.12.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.12.4.tar.xz.sha256sum +sha256 1c165b8d888ed350acd8e6ac9f6fe06508e6fcc0a3afc6ccc9fbeb30df9be522 gst-plugins-ugly-1.12.4.tar.xz diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk index 4b7ef96092..af02a560a8 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_UGLY_VERSION = 1.12.3 +GST1_PLUGINS_UGLY_VERSION = 1.12.4 GST1_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST1_PLUGINS_UGLY_VERSION).tar.xz GST1_PLUGINS_UGLY_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-ugly GST1_PLUGINS_UGLY_LICENSE_FILES = COPYING diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash index 6457861c56..95c8eef832 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash @@ -1,2 +1,2 @@ -From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.12.3.tar.xz.sha256sum -sha256 67255971bb16029a01de66b9f9687f20d8dbf3d3bd75feb48605d0723a7c74ec gst-rtsp-server-1.12.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.12.4.tar.xz.sha256sum +sha256 7660112ebd59838f1054796b38109dcbe32f0a040e3a252a68a81055aeaa56a9 gst-rtsp-server-1.12.4.tar.xz diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk index 71c9ef5bda..d6a82ee654 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.12.3 +GST1_RTSP_SERVER_VERSION = 1.12.4 GST1_RTSP_SERVER_SOURCE = gst-rtsp-server-$(GST1_RTSP_SERVER_VERSION).tar.xz GST1_RTSP_SERVER_SITE = http://gstreamer.freedesktop.org/src/gst-rtsp-server GST1_RTSP_SERVER_LICENSE = LGPL-2.0+ diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash index 1ffa5a937b..3eebc0afe7 100644 --- a/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash +++ b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash @@ -1,2 +1,2 @@ -From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.12.3.tar.xz.sha256sum -sha256 f4cdafd8fd9606a490917c8b67336e835df1219580d55421c70480fd0913744d gstreamer-vaapi-1.12.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.12.4.tar.xz.sha256sum +sha256 1c2d77242e1f30c4d1394636cae9f6877228a017960fca96881e0080d8b6e9c9 gstreamer-vaapi-1.12.4.tar.xz diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk b/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk index 9783c591aa..6b637416f5 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.12.3 +GST1_VAAPI_VERSION = 1.12.4 GST1_VAAPI_SITE = https://gstreamer.freedesktop.org/src/gstreamer-vaapi GST1_VAAPI_SOURCE = gstreamer-vaapi-$(GST1_VAAPI_VERSION).tar.xz GST1_VAAPI_LICENSE = LGPL-2.1+ diff --git a/package/gstreamer1/gst1-validate/gst1-validate.hash b/package/gstreamer1/gst1-validate/gst1-validate.hash index 75e43b15b3..50bddd0a9f 100644 --- a/package/gstreamer1/gst1-validate/gst1-validate.hash +++ b/package/gstreamer1/gst1-validate/gst1-validate.hash @@ -1,2 +1,2 @@ -From https://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.12.3.tar.xz.sha256sum -sha256 5139949d20274fdd702492438eeab2c9e55aa82f60aca17db27ebd3faf08489e gst-validate-1.12.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.12.4.tar.xz.sha256sum +sha256 f9da9dfe6e5d6f5ba3b38c5752b42d3f927715904942b405c2924d3cb77afba1 gst-validate-1.12.4.tar.xz diff --git a/package/gstreamer1/gst1-validate/gst1-validate.mk b/package/gstreamer1/gst1-validate/gst1-validate.mk index 33fec08d12..d276490160 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.12.3 +GST1_VALIDATE_VERSION = 1.12.4 GST1_VALIDATE_SOURCE = gst-validate-$(GST1_VALIDATE_VERSION).tar.xz GST1_VALIDATE_SITE = https://gstreamer.freedesktop.org/src/gst-validate GST1_VALIDATE_LICENSE = LGPL-2.1+ diff --git a/package/gstreamer1/gstreamer1-mm/Config.in b/package/gstreamer1/gstreamer1-mm/Config.in new file mode 100644 index 0000000000..471c083ce7 --- /dev/null +++ b/package/gstreamer1/gstreamer1-mm/Config.in @@ -0,0 +1,29 @@ +config BR2_PACKAGE_GSTREAMER1_MM + bool "gstreamer1-mm" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # glibmm + depends on BR2_INSTALL_LIBSTDCPP # glibmm + depends on BR2_USE_WCHAR # glibmm -> libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_MMU # glibmm -> libglib2 + select BR2_PACKAGE_GLIBMM + select BR2_PACKAGE_GSTREAMER1_CHECK + select BR2_PACKAGE_GST1_PLUGINS_BASE + help + gstreamermm provides C++ bindings for the GStreamer streaming + multimedia library (http://gstreamer.freedesktop.org). With + gstreamermm it is possible to develop applications that work + with multimedia in C++. + + gstreamermm is developed over glibmm, libsigc++ and libxml++ + and the functionalities they provide. This means that, among + other things, referencing and unreferencing of GObjects is + handled automatically via glibmm's automatic pointer class, + Glib::RefPtr, and libsigc++'s slots are used for callbacks and + signals. + + https://gstreamer.freedesktop.org/bindings/cplusplus.html + +comment "gstreamer1-mm needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ + || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.hash b/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.hash new file mode 100644 index 0000000000..425cf05f39 --- /dev/null +++ b/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.hash @@ -0,0 +1,6 @@ +# From http://ftp.gnome.org/pub/gnome/sources/gstreamermm/1.10/gstreamermm-1.10.0.sha256sum +sha256 be58fe9ef7d7e392568ec85e80a84f4730adbf91fb0355ff7d7c616675ea8d60 gstreamermm-1.10.0.tar.xz + +# Locally computed +sha256 7c78a8d7fc6781d51402d5a6036bedda9cffb0e5d28757e25d54d6eacbb1949f COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.examples diff --git a/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.mk b/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.mk new file mode 100644 index 0000000000..539c9df1cb --- /dev/null +++ b/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# gstreamer1-mm +# +################################################################################ + +GSTREAMER1_MM_VERSION_MAJOR = 1.10 +GSTREAMER1_MM_VERSION = $(GSTREAMER1_MM_VERSION_MAJOR).0 +GSTREAMER1_MM_SITE = http://ftp.gnome.org/pub/gnome/sources/gstreamermm/$(GSTREAMER1_MM_VERSION_MAJOR) +GSTREAMER1_MM_SOURCE = gstreamermm-$(GSTREAMER1_MM_VERSION).tar.xz +GSTREAMER1_MM_LICENSE = LGPL-2.1+ (library), GPL-2.0 (examples) +GSTREAMER1_MM_LICENSE_FILES = COPYING COPYING.examples +GSTREAMER1_MM_INSTALL_STAGING = YES +GSTREAMER1_MM_DEPENDENCIES += \ + glibmm \ + gstreamer1 \ + gst1-plugins-base + +GSTREAMER1_MM_CONF_OPTS += \ + --disable-gl \ + --enable-unittests=no \ + --disable-deprecated-api + +$(eval $(autotools-package)) diff --git a/package/gstreamer1/gstreamer1/Config.in b/package/gstreamer1/gstreamer1/Config.in index 274171b639..e9f1bd038a 100644 --- a/package/gstreamer1/gstreamer1/Config.in +++ b/package/gstreamer1/gstreamer1/Config.in @@ -9,47 +9,52 @@ config BR2_PACKAGE_GSTREAMER1 depends on BR2_USE_MMU # glib2 select BR2_PACKAGE_LIBGLIB2 help - GStreamer is an open source multimedia framework. This 1.x version of - Gstreamer is incompatible with Gstreamer 0.10.x. + GStreamer is an open source multimedia framework. This 1.x + version of Gstreamer is incompatible with Gstreamer 0.10.x. http://gstreamer.freedesktop.org/ if BR2_PACKAGE_GSTREAMER1 +config BR2_PACKAGE_GSTREAMER1_CHECK + bool "enable unit test libraries" + help + Enable building unit test libraries for gstreamer. + config BR2_PACKAGE_GSTREAMER1_PARSE bool "enable command-line parser" default y help - Enable command line parser for gstreamer. This may increase the CPU - overhead by a small amount. + Enable command line parser for gstreamer. This may increase + the CPU overhead by a small amount. config BR2_PACKAGE_GSTREAMER1_TRACE bool "enable tracing subsystem" default y help - Enable the tracing subsystem within gstreamer. This may increase CPU - overhead by a small amount. + Enable the tracing subsystem within gstreamer. This may + increase CPU overhead by a small amount. config BR2_PACKAGE_GSTREAMER1_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. + 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_GSTREAMER1_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. + Enable support for the GStreamer plugin registry. This may + increase the launch-time for a GStreamer application. config BR2_PACKAGE_GSTREAMER1_INSTALL_TOOLS bool "install gst-launch & gst-inspect" default y help - Install the gst-launch and gst-inspect tools. This will take up - additional space on the target. + Install the gst-launch and gst-inspect 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 2a1edbf88a..f8af907562 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.hash +++ b/package/gstreamer1/gstreamer1/gstreamer1.hash @@ -1,2 +1,2 @@ -From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.12.3.tar.xz.sha256sum -sha256 d388f492440897f02b01eebb033ca2d41078a3d85c0eddc030cdea5a337a216e gstreamer-1.12.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.12.4.tar.xz.sha256sum +sha256 5a8704aa4c2eeb04da192c4a9942f94f860ac1a585de90d9f914bac26a970674 gstreamer-1.12.4.tar.xz diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index 723e59b208..ea9f29a4f3 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.12.3 +GSTREAMER1_VERSION = 1.12.4 GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = https://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES @@ -17,7 +17,7 @@ GSTREAMER1_CONF_OPTS = \ --disable-failing-tests \ --disable-valgrind \ --disable-benchmarks \ - --disable-check \ + $(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) \ diff --git a/package/gtest/gtest.hash b/package/gtest/gtest.hash index 474008d2cd..0a8d8ba096 100644 --- a/package/gtest/gtest.hash +++ b/package/gtest/gtest.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 58a6f4277ca2bc8565222b3bbd58a177609e9c488e8a72649359ba51450db7d8 gtest-release-1.8.0.tar.gz +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 googletest/LICENSE diff --git a/package/gtksourceview/gtksourceview.hash b/package/gtksourceview/gtksourceview.hash index f57fadc4e9..feaae5e29f 100644 --- a/package/gtksourceview/gtksourceview.hash +++ b/package/gtksourceview/gtksourceview.hash @@ -1,2 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gtksourceview/3.22/gtksourceview-3.22.2.sha256sum: -sha256 6ce84231dd0931cc747708434ca2f344c65a092dd6e1a800283fe0748773af5e gtksourceview-3.22.2.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gtksourceview/3.24/gtksourceview-3.24.6.sha256sum: +sha256 7aa6bdfebcdc73a763dddeaa42f190c40835e6f8495bb9eb8f78587e2577c188 gtksourceview-3.24.6.tar.xz + +# Locally computed: +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/gtksourceview/gtksourceview.mk b/package/gtksourceview/gtksourceview.mk index 290effb996..2a33ed4bdb 100644 --- a/package/gtksourceview/gtksourceview.mk +++ b/package/gtksourceview/gtksourceview.mk @@ -4,8 +4,8 @@ # ################################################################################ -GTKSOURCEVIEW_VERSION_MAJOR = 3.22 -GTKSOURCEVIEW_VERSION = $(GTKSOURCEVIEW_VERSION_MAJOR).2 +GTKSOURCEVIEW_VERSION_MAJOR = 3.24 +GTKSOURCEVIEW_VERSION = $(GTKSOURCEVIEW_VERSION_MAJOR).6 GTKSOURCEVIEW_SOURCE = gtksourceview-$(GTKSOURCEVIEW_VERSION).tar.xz GTKSOURCEVIEW_SITE = \ http://ftp.gnome.org/pub/gnome/sources/gtksourceview/$(GTKSOURCEVIEW_VERSION_MAJOR) 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 new file mode 100644 index 0000000000..eba99da45b --- /dev/null +++ b/package/gupnp-av/0001-Fix-static-library-linking-with-gupnp.patch @@ -0,0 +1,354 @@ +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-dlna/gupnp-dlna.hash b/package/gupnp-dlna/gupnp-dlna.hash index c28a06fc98..01c7489738 100644 --- a/package/gupnp-dlna/gupnp-dlna.hash +++ b/package/gupnp-dlna/gupnp-dlna.hash @@ -1,2 +1,5 @@ # Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp-dlna/0.10/gupnp-dlna-0.10.5.sha256sum: sha256 123e368227c11d5c17fc1aa76cbdaffa345355eb51d172cd39fc74a5b468ff6a gupnp-dlna-0.10.5.tar.xz + +# Locally computed: +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gupnp-tools/gupnp-tools.hash b/package/gupnp-tools/gupnp-tools.hash index f08b4f5e01..d80d832631 100644 --- a/package/gupnp-tools/gupnp-tools.hash +++ b/package/gupnp-tools/gupnp-tools.hash @@ -1,2 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp-tools/0.8/gupnp-tools-0.8.13.sha256sum: -sha256 aa3decb9d532c0e2e505adc592f431fd81c0231ded2981129e87da13712479ed gupnp-tools-0.8.13.tar.xz +# 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 + +# Locally computed: +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/gupnp-tools/gupnp-tools.mk b/package/gupnp-tools/gupnp-tools.mk index b64a138ace..8f95e04f98 100644 --- a/package/gupnp-tools/gupnp-tools.mk +++ b/package/gupnp-tools/gupnp-tools.mk @@ -5,7 +5,7 @@ ################################################################################ GUPNP_TOOLS_VERSION_MAJOR = 0.8 -GUPNP_TOOLS_VERSION = $(GUPNP_TOOLS_VERSION_MAJOR).13 +GUPNP_TOOLS_VERSION = $(GUPNP_TOOLS_VERSION_MAJOR).14 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) diff --git a/package/gupnp/gupnp.hash b/package/gupnp/gupnp.hash index 7fb44ffe1b..7f60864741 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.1.sha256sum: -sha256 934584cc1b361bf251a5ac271ffb1995a3c6426ce44cb64f9c6d779f2af9a6d9 gupnp-1.0.1.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp/1.0/gupnp-1.0.2.sha256sum: +sha256 5173fda779111c6b01cd4a5e41b594322be9d04f8c74d3361f0a0c2069c77610 gupnp-1.0.2.tar.xz # Hash for license file: sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/gupnp/gupnp.mk b/package/gupnp/gupnp.mk index 0636632d50..de08f28ad6 100644 --- a/package/gupnp/gupnp.mk +++ b/package/gupnp/gupnp.mk @@ -5,7 +5,7 @@ ################################################################################ GUPNP_VERSION_MAJOR = 1.0 -GUPNP_VERSION = $(GUPNP_VERSION_MAJOR).1 +GUPNP_VERSION = $(GUPNP_VERSION_MAJOR).2 GUPNP_SOURCE = gupnp-$(GUPNP_VERSION).tar.xz GUPNP_SITE = http://ftp.gnome.org/pub/gnome/sources/gupnp/$(GUPNP_VERSION_MAJOR) GUPNP_LICENSE = LGPL-2.0+ diff --git a/package/gvfs/gvfs.mk b/package/gvfs/gvfs.mk index 7110e39083..e272d5c1dc 100644 --- a/package/gvfs/gvfs.mk +++ b/package/gvfs/gvfs.mk @@ -95,8 +95,8 @@ else GVFS_CONF_OPTS += --disable-nfs endif -ifeq ($(BR2_PACKAGE_LIBSOUP),y) -GVFS_DEPENDENCIES += libsoup +ifeq ($(BR2_PACKAGE_LIBSOUP)$(BR2_PACKAGE_LIBXML2),yy) +GVFS_DEPENDENCIES += libsoup libxml2 GVFS_CONF_OPTS += --enable-http else GVFS_CONF_OPTS += --disable-http diff --git a/package/harfbuzz/harfbuzz.hash b/package/harfbuzz/harfbuzz.hash index d44bd561ba..5f786dcb87 100644 --- a/package/harfbuzz/harfbuzz.hash +++ b/package/harfbuzz/harfbuzz.hash @@ -1,2 +1,5 @@ -# From https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.5.0.tar.bz2.sha256 -sha256 c088ec363be8d03f7708feb76dd22d5f102678e67d6ce63b02496ca0beb64ac1 harfbuzz-1.5.0.tar.bz2 +# From https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.7.1.tar.bz2.sha256 +sha256 9645a6e83313b690602017f18d4eb2adf81f2e54c6fc4471e19331304965154e harfbuzz-1.7.1.tar.bz2 + +# Locally computed +sha256 2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216 COPYING diff --git a/package/harfbuzz/harfbuzz.mk b/package/harfbuzz/harfbuzz.mk index 0ee6a6b0f7..5708745fd2 100644 --- a/package/harfbuzz/harfbuzz.mk +++ b/package/harfbuzz/harfbuzz.mk @@ -4,7 +4,7 @@ # ################################################################################ -HARFBUZZ_VERSION = 1.5.0 +HARFBUZZ_VERSION = 1.7.1 HARFBUZZ_SITE = https://www.freedesktop.org/software/harfbuzz/release HARFBUZZ_SOURCE = harfbuzz-$(HARFBUZZ_VERSION).tar.bz2 HARFBUZZ_LICENSE = MIT, ISC (ucdn library) diff --git a/package/heimdal/heimdal.hash b/package/heimdal/heimdal.hash index a0e0f3f1ba..ac26aa60e5 100644 --- a/package/heimdal/heimdal.hash +++ b/package/heimdal/heimdal.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 3de14ecd36ad21c1694a13da347512b047f4010d176fe412820664cb5d1429ad heimdal-7.4.0.tar.gz +sha256 c5a2a0030fcc728022fa2332bad85569084d1c3b9a59587b7ebe141b0532acad heimdal-7.5.0.tar.gz diff --git a/package/heimdal/heimdal.mk b/package/heimdal/heimdal.mk index 57325564c0..5f7b6c6853 100644 --- a/package/heimdal/heimdal.mk +++ b/package/heimdal/heimdal.mk @@ -4,7 +4,7 @@ # ################################################################################ -HEIMDAL_VERSION = 7.4.0 +HEIMDAL_VERSION = 7.5.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 @@ -24,7 +24,10 @@ HOST_HEIMDAL_CONF_OPTS = \ --without-libedit \ --without-hesiod \ --without-x \ + --disable-mdb-db \ + --disable-ndbm-db \ --disable-heimdal-documentation + HOST_HEIMDAL_CONF_ENV = MAKEINFO=true HEIMDAL_LICENSE = BSD-3-Clause HEIMDAL_LICENSE_FILES = LICENSE diff --git a/package/hidapi/Config.in b/package/hidapi/Config.in index f6a31bacd3..b98c2db91c 100644 --- a/package/hidapi/Config.in +++ b/package/hidapi/Config.in @@ -5,6 +5,8 @@ config BR2_PACKAGE_HIDAPI select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_LIBGUDEV select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + # runtime UTF conversion support + select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC help HIDAPI is a multi-platform library which allows an application to interface with USB and Bluetooth HID-Class devices on diff --git a/package/hiredis/hiredis.hash b/package/hiredis/hiredis.hash index 2c788a677f..682ec6d2b0 100644 --- a/package/hiredis/hiredis.hash +++ b/package/hiredis/hiredis.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 717e6fc8dc2819bef522deaca516de9e51b9dfa68fe393b7db5c3b6079196f78 hiredis-v0.13.3.tar.gz +sha256 dca05ce8fc87a8261783b4aed0deef8becc9350b6aa770bc714d0c1833b896eb COPYING diff --git a/package/hostapd/Config.in b/package/hostapd/Config.in index 1609d0df5d..84156e8f11 100644 --- a/package/hostapd/Config.in +++ b/package/hostapd/Config.in @@ -14,6 +14,11 @@ config BR2_PACKAGE_HOSTAPD if BR2_PACKAGE_HOSTAPD +config BR2_PACKAGE_HOSTAPD_DRIVER_RTW + bool "Enable rtl871xdrv driver" + help + Enable support for Realtek wireless chips. + config BR2_PACKAGE_HOSTAPD_ACS bool "Enable ACS" default y @@ -38,6 +43,29 @@ config BR2_PACKAGE_HOSTAPD_WPS help Enable support for Wi-Fi Protected Setup. +config BR2_PACKAGE_HOSTAPD_VLAN + bool "Enable VLAN support" + default y + help + Enable support for VLANs. + +config BR2_PACKAGE_HOSTAPD_VLAN_DYNAMIC + bool "Enable dynamic VLAN support" + default y + depends on BR2_PACKAGE_HOSTAPD_VLAN + help + Enable support for fully dynamic VLANs. + This enables hostapd to automatically create + bridge and VLAN interfaces if necessary. + +config BR2_PACKAGE_HOSTAPD_VLAN_NETLINK + bool "Use netlink-based API for VLAN operations" + default y + depends on BR2_PACKAGE_HOSTAPD_VLAN + help + Use netlink-based kernel API for VLAN operations + instead of ioctl(). + endif comment "hostapd needs a toolchain w/ threads" diff --git a/package/hostapd/hostapd.hash b/package/hostapd/hostapd.hash index b20c89b184..588879f65a 100644 --- a/package/hostapd/hostapd.hash +++ b/package/hostapd/hostapd.hash @@ -1,4 +1,5 @@ # Locally calculated sha256 01526b90c1d23bec4b0f052039cc4456c2fd19347b4d830d1d58a0a6aea7117d hostapd-2.6.tar.gz +sha256 e204da659d0583c71af23cb9b55536fe99598ee26a44104344f456e4d17350c6 rtlxdrv.patch sha256 529113cc81256c6178f3c1cf25dd8d3f33e6d770e4a180bd31c6ab7e4917f40b rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch sha256 147c8abe07606905d16404fb2d2c8849796ca7c85ed8673c09bb50038bcdeb9e rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch diff --git a/package/hostapd/hostapd.mk b/package/hostapd/hostapd.mk index 3f94c8c4b7..1696670383 100644 --- a/package/hostapd/hostapd.mk +++ b/package/hostapd/hostapd.mk @@ -18,15 +18,13 @@ HOSTAPD_LICENSE_FILES = README HOSTAPD_CONFIG_SET = HOSTAPD_CONFIG_ENABLE = \ - CONFIG_FULL_DYNAMIC_VLAN \ CONFIG_HS20 \ CONFIG_IEEE80211AC \ CONFIG_IEEE80211N \ CONFIG_IEEE80211R \ CONFIG_INTERNAL_LIBTOMMATH \ CONFIG_INTERWORKING \ - CONFIG_LIBNL32 \ - CONFIG_VLAN_NETLINK + CONFIG_LIBNL32 HOSTAPD_CONFIG_DISABLE = @@ -47,6 +45,11 @@ HOSTAPD_CONFIG_DISABLE += CONFIG_EAP_PWD HOSTAPD_CONFIG_EDITS += 's/\#\(CONFIG_TLS=\).*/\1internal/' 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_ACS),y) HOSTAPD_CONFIG_ENABLE += CONFIG_ACS endif @@ -69,6 +72,18 @@ ifeq ($(BR2_PACKAGE_HOSTAPD_WPS),y) HOSTAPD_CONFIG_ENABLE += CONFIG_WPS 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 +endif + +ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN_NETLINK),y) +HOSTAPD_CONFIG_ENABLE += CONFIG_VLAN_NETLINK +endif + define HOSTAPD_CONFIGURE_CMDS cp $(@D)/hostapd/defconfig $(HOSTAPD_CONFIG) sed -i $(patsubst %,-e 's/^#\(%\)/\1/',$(HOSTAPD_CONFIG_ENABLE)) \ diff --git a/package/httping/httping.hash b/package/httping/httping.hash index a50eedb744..c396157646 100644 --- a/package/httping/httping.hash +++ b/package/httping/httping.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 3e895a0a6d7bd79de25a255a1376d4da88eb09c34efdd0476ab5a907e75bfaf8 httping-2.5.tgz +sha256 c5db2e5b9a692fcdf2bd370f1533529063fbcf8947a8f5ee9d4b050a14e0566d license.txt diff --git a/package/hwdata/Config.in b/package/hwdata/Config.in index 8424238e1b..f563988a07 100644 --- a/package/hwdata/Config.in +++ b/package/hwdata/Config.in @@ -1,6 +1,38 @@ config BR2_PACKAGE_HWDATA bool "hwdata" help - Various hardware identification and configuration data, - such as the pci.ids database, or the XFree86/xorg Cards - database. + Various hardware identification and configuration data + + - Individual Address Block (IAB) and Organizationally Unique + Identifier (OUI) databases, from IEEE Registration Authority + - PCI ID database + - PNP ID database (from Microsoft) + - USB ID database + + https://github.com/vcrhonek/hwdata + +if BR2_PACKAGE_HWDATA + +config BR2_PACKAGE_HWDATA_IAB_OUI_TXT + bool "install iab.txt and oui.txt" + help + Install iab.txt and oui.txt + +config BR2_PACKAGE_HWDATA_PCI_IDS + bool "install pci.ids" + default y + help + Install pci.ids + +config BR2_PACKAGE_HWDATA_PNP_IDS + bool "install pnp.ids" + help + Install pnp.ids + +config BR2_PACKAGE_HWDATA_USB_IDS + bool "install usb.ids" + default y + help + Install usb.ids + +endif diff --git a/package/hwdata/hwdata.hash b/package/hwdata/hwdata.hash index b3c83ebb74..dba1be31e0 100644 --- a/package/hwdata/hwdata.hash +++ b/package/hwdata/hwdata.hash @@ -1,3 +1,4 @@ -# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/h/hwdata/hwdata_0.267-1.dsc -sha256 d77f2b3f3d6e278be669141ffa5dac01b64cab02f7b2c744bbabc500a45263f4 hwdata_0.267.orig.tar.gz -sha256 055d2f168de9333562a04f6a230c43dc19c4975882935d8b2f0ab17f64f57275 hwdata_0.267-1.diff.gz +# Locally calculated +sha256 986d919c20a0c7f8b669a63830f6d2f4cb5c4cddcfc944c5e2ae05c2e9e5ec9f hwdata-v0.308.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 21d0406f93e884a050426ebc21931839a45d56bfcbcbfdda7686d583f36f107f LICENSE diff --git a/package/hwdata/hwdata.mk b/package/hwdata/hwdata.mk index 4ad8d42939..4603ad6ec8 100644 --- a/package/hwdata/hwdata.mk +++ b/package/hwdata/hwdata.mk @@ -4,16 +4,23 @@ # ################################################################################ -HWDATA_VERSION = 0.267 -HWDATA_SOURCE = hwdata_$(HWDATA_VERSION).orig.tar.gz -HWDATA_PATCH = hwdata_$(HWDATA_VERSION)-1.diff.gz -HWDATA_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/h/hwdata -HWDATA_LICENSE = GPL-2.0+ or XFree86 1.0 license +HWDATA_VERSION = v0.308 +HWDATA_SITE = $(call github,vcrhonek,hwdata,$(HWDATA_VERSION)) +HWDATA_LICENSE = GPL-2.0+, BSD-3-Clause, XFree86 1.0 HWDATA_LICENSE_FILES = COPYING LICENSE +HWDATA_FILES = \ + $(if $(BR2_PACKAGE_HWDATA_IAB_OUI_TXT),iab.txt oui.txt) \ + $(if $(BR2_PACKAGE_HWDATA_PCI_IDS),pci.ids) \ + $(if $(BR2_PACKAGE_HWDATA_PNP_IDS),pnp.ids) \ + $(if $(BR2_PACKAGE_HWDATA_USB_IDS),usb.ids) + +ifneq ($(strip $(HWDATA_FILES)),) define HWDATA_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 644 $(@D)/pci.ids $(TARGET_DIR)/usr/share/hwdata/pci.ids - $(INSTALL) -D -m 644 $(@D)/usb.ids $(TARGET_DIR)/usr/share/hwdata/usb.ids + $(INSTALL) -d -m 755 $(TARGET_DIR)/usr/share/hwdata + $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/share/hwdata \ + $(addprefix $(@D)/,$(HWDATA_FILES)) endef +endif $(eval $(generic-package)) diff --git a/package/i2c-tools/0001-lib-Module.mk-Add-missing-dependencies.patch b/package/i2c-tools/0001-lib-Module.mk-Add-missing-dependencies.patch new file mode 100644 index 0000000000..09a78dae0e --- /dev/null +++ b/package/i2c-tools/0001-lib-Module.mk-Add-missing-dependencies.patch @@ -0,0 +1,34 @@ +From a6a59693066fd8da81f7107479df3e32a129247d Mon Sep 17 00:00:00 2001 +From: Jean Delvare +Date: Wed, 6 Dec 2017 09:55:04 +0100 +Subject: [PATCH] lib/Module.mk: Add missing dependencies + +The lib symlinks lacked a dependency to the actual library file, so +parallel builds could run into a race and break. + +Signed-off-by: Angelo Compagnucci +--- + lib/Module.mk | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/Module.mk b/lib/Module.mk +index 432a051..fd2c8c4 100644 +--- a/lib/Module.mk ++++ b/lib/Module.mk +@@ -42,11 +42,11 @@ endif + $(LIB_DIR)/$(LIB_SHLIBNAME): $(LIB_DIR)/smbus.o + $(CC) -shared $(LDFLAGS) -Wl,--version-script=$(LIB_DIR)/libi2c.map -Wl,-soname,$(LIB_SHSONAME) -o $@ $^ -lc + +-$(LIB_DIR)/$(LIB_SHSONAME): ++$(LIB_DIR)/$(LIB_SHSONAME): $(LIB_DIR)/$(LIB_SHLIBNAME) + $(RM) $@ + $(LN) $(LIB_SHLIBNAME) $@ + +-$(LIB_DIR)/$(LIB_SHBASENAME): ++$(LIB_DIR)/$(LIB_SHBASENAME): $(LIB_DIR)/$(LIB_SHLIBNAME) + $(RM) $@ + $(LN) $(LIB_SHLIBNAME) $@ + +-- +2.7.4 + diff --git a/package/i2c-tools/0002-Makefile-Add-flag-to-disable-dynamic-library.patch b/package/i2c-tools/0002-Makefile-Add-flag-to-disable-dynamic-library.patch new file mode 100644 index 0000000000..b5ec5471de --- /dev/null +++ b/package/i2c-tools/0002-Makefile-Add-flag-to-disable-dynamic-library.patch @@ -0,0 +1,64 @@ +From 9906b2ecb6aec02d6348d6237b784135e6930d0b Mon Sep 17 00:00:00 2001 +From: Angelo Compagnucci +Date: Wed, 6 Dec 2017 10:12:07 +0100 +Subject: Makefile: Add flag to disable dynamic library + +In such cases where you need to disable entirely the dynamic +library compilation, now you can use the BUILD_DYNAMIC_LIB=0 +flag. + +Signed-off-by: Angelo Compagnucci +Signed-off-by: Jean Delvare +--- + Makefile | 10 +++++++++- + lib/Module.mk | 6 +++++- + 2 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index c85317c..1bb5572 100644 +--- a/Makefile ++++ b/Makefile +@@ -32,12 +32,20 @@ CFLAGS ?= -O2 + CFLAGS += -Wall + SOCFLAGS := -fpic -D_REENTRANT $(CFLAGS) + +-USE_STATIC_LIB ?= 0 ++BUILD_DYNAMIC_LIB ?= 1 + BUILD_STATIC_LIB ?= 1 ++USE_STATIC_LIB ?= 0 ++ + ifeq ($(USE_STATIC_LIB),1) + BUILD_STATIC_LIB := 1 + endif + ++ifeq ($(BUILD_DYNAMIC_LIB),0) ++ifeq ($(BUILD_STATIC_LIB),0) ++$(error BUILD_DYNAMIC_LIB and BUILD_STATIC_LIB cannot be disabled at the same time) ++endif ++endif ++ + KERNELVERSION := $(shell uname -r) + + .PHONY: all strip clean install uninstall +diff --git a/lib/Module.mk b/lib/Module.mk +index fd2c8c4..44fa938 100644 +--- a/lib/Module.mk ++++ b/lib/Module.mk +@@ -27,9 +27,13 @@ LIB_SHSONAME := $(LIB_SHBASENAME).$(LIB_MAINVER) + LIB_SHLIBNAME := $(LIB_SHBASENAME).$(LIB_VER) + LIB_STLIBNAME := libi2c.a + +-LIB_TARGETS := $(LIB_SHLIBNAME) + LIB_LINKS := $(LIB_SHSONAME) $(LIB_SHBASENAME) + LIB_OBJECTS := smbus.o ++ ++LIB_TARGETS := ++ifeq ($(BUILD_DYNAMIC_LIB),1) ++LIB_TARGETS += $(LIB_SHLIBNAME) ++endif + ifeq ($(BUILD_STATIC_LIB),1) + LIB_TARGETS += $(LIB_STLIBNAME) + LIB_OBJECTS += smbus.ao +-- +2.7.4 + diff --git a/package/i2c-tools/0003-lib-Module.mk-Drop-unused-variable-LIB_OBJECTS.patch b/package/i2c-tools/0003-lib-Module.mk-Drop-unused-variable-LIB_OBJECTS.patch new file mode 100644 index 0000000000..43c915c200 --- /dev/null +++ b/package/i2c-tools/0003-lib-Module.mk-Drop-unused-variable-LIB_OBJECTS.patch @@ -0,0 +1,33 @@ +From 1831b618fbedf0bcf15b0465981d133d9e3c53ee Mon Sep 17 00:00:00 2001 +From: Jean Delvare +Date: Wed, 6 Dec 2017 10:46:56 +0100 +Subject: lib/Module.mk: Drop unused variable LIB_OBJECTS + +Signed-off-by: Angelo Compagnucci +--- + lib/Module.mk | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/lib/Module.mk b/lib/Module.mk +index 44fa938..8a58f5b 100644 +--- a/lib/Module.mk ++++ b/lib/Module.mk +@@ -28,7 +28,6 @@ LIB_SHLIBNAME := $(LIB_SHBASENAME).$(LIB_VER) + LIB_STLIBNAME := libi2c.a + + LIB_LINKS := $(LIB_SHSONAME) $(LIB_SHBASENAME) +-LIB_OBJECTS := smbus.o + + LIB_TARGETS := + ifeq ($(BUILD_DYNAMIC_LIB),1) +@@ -36,7 +35,6 @@ LIB_TARGETS += $(LIB_SHLIBNAME) + endif + ifeq ($(BUILD_STATIC_LIB),1) + LIB_TARGETS += $(LIB_STLIBNAME) +-LIB_OBJECTS += smbus.ao + endif + + # +-- +2.7.4 + diff --git a/package/i2c-tools/0004-tools-Module.mk-Add-missing-dependencies.patch b/package/i2c-tools/0004-tools-Module.mk-Add-missing-dependencies.patch new file mode 100644 index 0000000000..d18090be0b --- /dev/null +++ b/package/i2c-tools/0004-tools-Module.mk-Add-missing-dependencies.patch @@ -0,0 +1,67 @@ +From 08b0d67ba7eceb862cb17f52eb1911e9579726ea Mon Sep 17 00:00:00 2001 +From: Jean Delvare +Date: Thu, 14 Dec 2017 08:52:26 +0100 +Subject: [PATCH] tools/Module.mk: Add missing dependencies + +Better build the library before building the tools which link against +it, otherwise parallel builds could run into a race and break. + +Signed-off-by: Jean Delvare +Tested-by: Angelo Compagnucci +Acked-by: Angelo Compagnucci +Signed-off-by: Angelo Compagnucci +--- + lib/Module.mk | 7 +++++++ + tools/Module.mk | 10 +++++----- + 2 files changed, 12 insertions(+), 5 deletions(-) + +diff --git a/lib/Module.mk b/lib/Module.mk +index 8a58f5b..67afe91 100644 +--- a/lib/Module.mk ++++ b/lib/Module.mk +@@ -37,6 +37,13 @@ ifeq ($(BUILD_STATIC_LIB),1) + LIB_TARGETS += $(LIB_STLIBNAME) + endif + ++# Library file to link against (static or dynamic) ++ifeq ($(USE_STATIC_LIB),1) ++LIB_DEPS := $(LIB_DIR)/$(LIB_STLIBNAME) ++else ++LIB_DEPS := $(LIB_DIR)/$(LIB_SHBASENAME) ++endif ++ + # + # Libraries + # +diff --git a/tools/Module.mk b/tools/Module.mk +index 6421a23..609de7a 100644 +--- a/tools/Module.mk ++++ b/tools/Module.mk +@@ -24,19 +24,19 @@ TOOLS_TARGETS := i2cdetect i2cdump i2cset i2cget i2ctransfer + # Programs + # + +-$(TOOLS_DIR)/i2cdetect: $(TOOLS_DIR)/i2cdetect.o $(TOOLS_DIR)/i2cbusses.o ++$(TOOLS_DIR)/i2cdetect: $(TOOLS_DIR)/i2cdetect.o $(TOOLS_DIR)/i2cbusses.o $(LIB_DEPS) + $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) + +-$(TOOLS_DIR)/i2cdump: $(TOOLS_DIR)/i2cdump.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o ++$(TOOLS_DIR)/i2cdump: $(TOOLS_DIR)/i2cdump.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o $(LIB_DEPS) + $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) + +-$(TOOLS_DIR)/i2cset: $(TOOLS_DIR)/i2cset.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o ++$(TOOLS_DIR)/i2cset: $(TOOLS_DIR)/i2cset.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o $(LIB_DEPS) + $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) + +-$(TOOLS_DIR)/i2cget: $(TOOLS_DIR)/i2cget.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o ++$(TOOLS_DIR)/i2cget: $(TOOLS_DIR)/i2cget.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o $(LIB_DEPS) + $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) + +-$(TOOLS_DIR)/i2ctransfer: $(TOOLS_DIR)/i2ctransfer.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o ++$(TOOLS_DIR)/i2ctransfer: $(TOOLS_DIR)/i2ctransfer.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o $(LIB_DEPS) + $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) + + # +-- +2.7.4 + diff --git a/package/i2c-tools/0005-lib-Module.mk-Fix-LIB_LINKS-dependency.patch b/package/i2c-tools/0005-lib-Module.mk-Fix-LIB_LINKS-dependency.patch new file mode 100644 index 0000000000..37a8ebc6fd --- /dev/null +++ b/package/i2c-tools/0005-lib-Module.mk-Fix-LIB_LINKS-dependency.patch @@ -0,0 +1,34 @@ +From de278d0933e3caea2508f95fd00e7e338bc12e8f Mon Sep 17 00:00:00 2001 +From: Angelo Compagnucci +Date: Thu, 14 Dec 2017 13:34:29 +0100 +Subject: lib/Module.mk: Fix LIB_LINKS dependency + +LIB_LINKS should be added as a dependency only when +BUILD_DYNAMIC_LIB is enabled. + +Signed-off-by: Angelo Compagnucci +Signed-off-by: Jean Delvare +Fixes: 9906b2ecb6ae ("Makefile: Add flag to disable dynamic library" +--- + lib/Module.mk | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/lib/Module.mk b/lib/Module.mk +index 67afe91..2ebc70d 100644 +--- a/lib/Module.mk ++++ b/lib/Module.mk +@@ -27,10 +27,9 @@ LIB_SHSONAME := $(LIB_SHBASENAME).$(LIB_MAINVER) + LIB_SHLIBNAME := $(LIB_SHBASENAME).$(LIB_VER) + LIB_STLIBNAME := libi2c.a + +-LIB_LINKS := $(LIB_SHSONAME) $(LIB_SHBASENAME) +- + LIB_TARGETS := + ifeq ($(BUILD_DYNAMIC_LIB),1) ++LIB_LINKS := $(LIB_SHSONAME) $(LIB_SHBASENAME) + LIB_TARGETS += $(LIB_SHLIBNAME) + endif + ifeq ($(BUILD_STATIC_LIB),1) +-- +2.7.4 + diff --git a/package/i2c-tools/0006-Makefile-Allow-to-really-disable-the-dynamic-library.patch b/package/i2c-tools/0006-Makefile-Allow-to-really-disable-the-dynamic-library.patch new file mode 100644 index 0000000000..85438cbf01 --- /dev/null +++ b/package/i2c-tools/0006-Makefile-Allow-to-really-disable-the-dynamic-library.patch @@ -0,0 +1,33 @@ +From 57d2c370493f2e9e33b30e8767624c648f138ec4 Mon Sep 17 00:00:00 2001 +From: Jean Delvare +Date: Thu, 14 Dec 2017 13:34:34 +0100 +Subject: Makefile: Allow to really disable the dynamic library + +If the user disables the build of the dynamic library, we have to +link the tools with the static library. If we don't, the dependencies +will cause the dynamic library to be built regardless of the user's +request. + +Signed-off-by: Jean Delvare +Fixes: 9906b2ecb6ae ("Makefile: Add flag to disable dynamic library") +Signed-off-by: Angelo Compagnucci +--- + Makefile | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Makefile b/Makefile +index 1bb5572..6bb741f 100644 +--- a/Makefile ++++ b/Makefile +@@ -43,6 +43,8 @@ endif + ifeq ($(BUILD_DYNAMIC_LIB),0) + ifeq ($(BUILD_STATIC_LIB),0) + $(error BUILD_DYNAMIC_LIB and BUILD_STATIC_LIB cannot be disabled at the same time) ++else ++USE_STATIC_LIB := 1 + endif + endif + +-- +2.7.4 + diff --git a/package/i2c-tools/0007-eeprog-Module.mk-Add-missing-dependency.patch b/package/i2c-tools/0007-eeprog-Module.mk-Add-missing-dependency.patch new file mode 100644 index 0000000000..126d388569 --- /dev/null +++ b/package/i2c-tools/0007-eeprog-Module.mk-Add-missing-dependency.patch @@ -0,0 +1,30 @@ +From f87c97317012a3b96b67237925893b8ffd5f4f50 Mon Sep 17 00:00:00 2001 +From: "Maxin B. John" +Date: Tue, 19 Dec 2017 13:46:15 +0100 +Subject: [PATCH] eeprog/Module.mk: Add missing dependency + +Absence of this dependency caused parallel build to run into a race +and break. + +Signed-off-by: Maxin B. John +Signed-off-by: Jean Delvare +--- + eeprog/Module.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/eeprog/Module.mk b/eeprog/Module.mk +index 9d36869..d215855 100644 +--- a/eeprog/Module.mk ++++ b/eeprog/Module.mk +@@ -20,7 +20,7 @@ EEPROG_TARGETS := eeprog + # Programs + # + +-$(EEPROG_DIR)/eeprog: $(EEPROG_DIR)/eeprog.o $(EEPROG_DIR)/24cXX.o ++$(EEPROG_DIR)/eeprog: $(EEPROG_DIR)/eeprog.o $(EEPROG_DIR)/24cXX.o $(LIB_DEPS) + $(CC) $(LDFLAGS) -o $@ $^ $(EEPROG_LDFLAGS) + + # +-- +2.7.4 + diff --git a/package/i2c-tools/0008-lib-Module.mk-don-t-install-dynamic-library-when-dis.patch b/package/i2c-tools/0008-lib-Module.mk-don-t-install-dynamic-library-when-dis.patch new file mode 100644 index 0000000000..69410ce544 --- /dev/null +++ b/package/i2c-tools/0008-lib-Module.mk-don-t-install-dynamic-library-when-dis.patch @@ -0,0 +1,41 @@ +From ae2e0c9708aeb4a8fb301a1a4016cec7b05fc142 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 2 Jan 2018 06:55:41 +0200 +Subject: [PATCH] lib/Module.mk: don't install dynamic library when disabled + +Do not attempt to install the dynamic library when build of that library +is disabled. Fixes the following installation error: + +install -m 755 lib/libi2c.so.0.1.0 .../target/usr/lib +install: cannot stat 'lib/libi2c.so.0.1.0': No such file or directory +lib/Module.mk:90: recipe for target 'install-lib' failed + +Cc: Angelo Compagnucci +Signed-off-by: Baruch Siach +--- + +Patch status: posted upstream +https://marc.info/?l=linux-i2c&m=151486925730634&w=2 + + lib/Module.mk | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lib/Module.mk b/lib/Module.mk +index 2ebc70d76ed9..c492961e0a4a 100644 +--- a/lib/Module.mk ++++ b/lib/Module.mk +@@ -88,9 +88,11 @@ clean-lib: + + install-lib: $(addprefix $(LIB_DIR)/,$(LIB_TARGETS)) + $(INSTALL_DIR) $(DESTDIR)$(libdir) ++ifeq ($(BUILD_DYNAMIC_LIB),1) + $(INSTALL_PROGRAM) $(LIB_DIR)/$(LIB_SHLIBNAME) $(DESTDIR)$(libdir) + $(LN) $(LIB_SHLIBNAME) $(DESTDIR)$(libdir)/$(LIB_SHSONAME) + $(LN) $(LIB_SHSONAME) $(DESTDIR)$(libdir)/$(LIB_SHBASENAME) ++endif + ifeq ($(BUILD_STATIC_LIB),1) + $(INSTALL_DATA) $(LIB_DIR)/$(LIB_STLIBNAME) $(DESTDIR)$(libdir) + endif +-- +2.15.1 + diff --git a/package/i2c-tools/i2c-tools.hash b/package/i2c-tools/i2c-tools.hash index 464219dea8..3475d20657 100644 --- a/package/i2c-tools/i2c-tools.hash +++ b/package/i2c-tools/i2c-tools.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 6d6079153cd49a62d4addacef4c092db1a46ba60b2807070a3fbe050262aef87 i2c-tools-3.1.2.tar.xz +sha256 d900ca1c11c51ea20caa50b096f948008b8a7ad832311b23353e21baa7af28d6 i2c-tools-4.0.tar.xz # License file sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/i2c-tools/i2c-tools.mk b/package/i2c-tools/i2c-tools.mk index 3bbaf38ff3..9ddaa72786 100644 --- a/package/i2c-tools/i2c-tools.mk +++ b/package/i2c-tools/i2c-tools.mk @@ -4,11 +4,12 @@ # ################################################################################ -I2C_TOOLS_VERSION = 3.1.2 +I2C_TOOLS_VERSION = 4.0 I2C_TOOLS_SOURCE = i2c-tools-$(I2C_TOOLS_VERSION).tar.xz I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus) I2C_TOOLS_LICENSE_FILES = COPYING +I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog ifeq ($(BR2_PACKAGE_PYTHON),y) I2C_TOOLS_DEPENDENCIES += python @@ -22,6 +23,14 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y) I2C_TOOLS_DEPENDENCIES += busybox endif +ifeq ($(BR2_STATIC_LIBS),y) +I2C_TOOLS_MAKE_OPTS += BUILD_DYNAMIC_LIB=0 USE_STATIC_LIB=1 +endif + +ifeq ($(BR2_SHARED_LIBS),y) +I2C_TOOLS_MAKE_OPTS += BUILD_STATIC_LIB=0 +endif + # Build/install steps mirror the distutil python package type in the python package # infrastructure ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) @@ -47,15 +56,13 @@ endef endif # BR2_PACKAGE_PYTHON define I2C_TOOLS_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) + $(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) -C $(@D) $(I2C_TOOLS_BUILD_PYSMBUS) endef define I2C_TOOLS_INSTALL_TARGET_CMDS - for i in i2cdump i2cget i2cset i2cdetect; \ - do \ - $(INSTALL) -m 755 -D $(@D)/tools/$$i $(TARGET_DIR)/usr/sbin/$$i; \ - done + $(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \ + DESTDIR="$(TARGET_DIR)" prefix=/usr -C $(@D) install $(I2C_TOOLS_INSTALL_PYSMBUS) endef diff --git a/package/icu/0006-i18n-Drop-include-xlocale.h.patch b/package/icu/0006-i18n-Drop-include-xlocale.h.patch deleted file mode 100644 index a5eb9cb072..0000000000 --- a/package/icu/0006-i18n-Drop-include-xlocale.h.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 5f38e4f8c4be351db96a3be23ce25c97597cc508 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 2 Oct 2017 22:41:02 +0200 -Subject: [PATCH] i18n: Drop include - -glibc 2.26 drops this header - -Signed-off-by: Khem Raj - -Reported Upstream: http://bugs.icu-project.org/trac/ticket/13385 -From: https://git.yoctoproject.org/cgit.cgi/poky/commit/meta/recipes-support/icu/icu/0001-i18n-Drop-include-xlocale.h.patch?id=931430f94c018bc3f58d70e11ca4a4ae7cb2e19c - -Signed-off-by: Romain Naour ---- -Upstream-Status: Pending ---- - source/i18n/digitlst.cpp | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -diff --git a/source/i18n/digitlst.cpp b/source/i18n/digitlst.cpp -index 4d7c3f4..f111cf3 100644 ---- a/source/i18n/digitlst.cpp -+++ b/source/i18n/digitlst.cpp -@@ -61,11 +61,7 @@ - #endif - - #if U_USE_STRTOD_L --# if U_PLATFORM_USES_ONLY_WIN32_API || U_PLATFORM == U_PF_CYGWIN --# include --# else --# include --# endif -+# include - #endif - - // *************************************************************************** --- -2.9.5 - diff --git a/package/icu/icu.hash b/package/icu/icu.hash index d10a061322..8b54e22443 100644 --- a/package/icu/icu.hash +++ b/package/icu/icu.hash @@ -1,4 +1,3 @@ -# From http://download.icu-project.org/files/icu4c/59.1/icu4c-src-59_1.md5 -md5 54923fa9fab5b2b83f235fb72523de37 icu4c-59_1-src.tgz -# Calculated based on the hash above -sha256 7132fdaf9379429d004005217f10e00b7d2319d0fea22bdfddef8991c45b75fe icu4c-59_1-src.tgz +# From http://download.icu-project.org/files/icu4c/60.1/SHASUM512.txt +sha512 a6798f70add1b3bac2197a49e09a0bb636279af7019ce572f63a30ab713e09657ee9d9b20aac7ea806fbb84667ca2eca981411e5053b47c3c705aa496a669233 icu4c-60_1-src.tgz +sha256 24c771ce37201a3ab604852e47d10d21595d0493269dd6c8a5e567e998e18c00 LICENSE diff --git a/package/icu/icu.mk b/package/icu/icu.mk index 166890e080..6ac4a25378 100644 --- a/package/icu/icu.mk +++ b/package/icu/icu.mk @@ -4,7 +4,7 @@ # ################################################################################ -ICU_VERSION = 59.1 +ICU_VERSION = 60.1 ICU_SOURCE = icu4c-$(subst .,_,$(ICU_VERSION))-src.tgz ICU_SITE = http://download.icu-project.org/files/icu4c/$(ICU_VERSION) ICU_LICENSE = ICU License diff --git a/package/ifupdown-scripts/Config.in b/package/ifupdown-scripts/Config.in index 9cd03950f6..2f4b0d5467 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" - depends on !BR2_PACKAGE_SYSTEMD_NETWORKD default y if BR2_ROOTFS_SKELETON_DEFAULT + depends on !BR2_PACKAGE_SYSTEMD_NETWORKD 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/igd2-for-linux/igd2-for-linux.hash b/package/igd2-for-linux/igd2-for-linux.hash index f1c9a7bd3e..0425399501 100644 --- a/package/igd2-for-linux/igd2-for-linux.hash +++ b/package/igd2-for-linux/igd2-for-linux.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 523545a26b0d662e9f6913bec2518df6e70f4d497935d88983d994336a1b0ea9 igd2-for-linux-v1.2.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 linuxigd2/doc/LICENSE diff --git a/package/igmpproxy/igmpproxy.hash b/package/igmpproxy/igmpproxy.hash index 2e3a374618..313af52fbe 100644 --- a/package/igmpproxy/igmpproxy.hash +++ b/package/igmpproxy/igmpproxy.hash @@ -1,2 +1,5 @@ # Locally computed: sha256 e60331031f85d1fb834c5272a134f32d32e7834718da19ba3f787dff68389a31 igmpproxy-f47644d8fa7266a784f3ec7b251e7d318bc2f0a9.tar.gz +sha256 be3d05af93dbbc4650f8d641d8e1bec220af4a729e07ba71e949c25b93a1b4f6 COPYING +sha256 c4f65d5d396ad518a37d30b83fe33897661858dc174ff64a15d0461630ce64e4 GPL.txt +sha256 4328a21f0822caa9976356623118bcdcc9970c7a0f9a3deeba23c779b7cfb5d1 Stanford.txt diff --git a/package/igmpproxy/igmpproxy.mk b/package/igmpproxy/igmpproxy.mk index 8989c74de0..9c19f76f0c 100644 --- a/package/igmpproxy/igmpproxy.mk +++ b/package/igmpproxy/igmpproxy.mk @@ -7,7 +7,7 @@ IGMPPROXY_VERSION = f47644d8fa7266a784f3ec7b251e7d318bc2f0a9 IGMPPROXY_SITE = $(call github,pali,igmpproxy,$(IGMPPROXY_VERSION)) IGMPPROXY_AUTORECONF = YES -IGMPPROXY_LICENSE = GPL-2.0+ -IGMPPROXY_LICENSE_FILES = COPYING +IGMPPROXY_LICENSE = GPL-2.0+, BSD-3-Clause (mrouted) +IGMPPROXY_LICENSE_FILES = COPYING GPL.txt Stanford.txt $(eval $(autotools-package)) diff --git a/package/imagemagick/imagemagick.hash b/package/imagemagick/imagemagick.hash index 2468bdbc23..9d5a39567e 100644 --- a/package/imagemagick/imagemagick.hash +++ b/package/imagemagick/imagemagick.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 924d1161ed2399bcb72f98419072b3130a466e07d9a6fce43d27458ffa907ffa 7.0.7-10.tar.gz +sha256 e7c1b19923bb97ed456c78b63b3259b809ebc8e3967c6d086450370c67eedf06 7.0.7-39.tar.gz +sha256 2318cc05bbd2c25c1b2d13af1aadccc45b9cf6f94757421ae59a3c8ea9064f1c LICENSE diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index c2171a7564..b75d65375b 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMAGEMAGICK_VERSION = 7.0.7-10 +IMAGEMAGICK_VERSION = 7.0.7-39 IMAGEMAGICK_SOURCE = $(IMAGEMAGICK_VERSION).tar.gz IMAGEMAGICK_SITE = https://github.com/ImageMagick/ImageMagick/archive IMAGEMAGICK_LICENSE = Apache-2.0 diff --git a/package/imlib2/imlib2.hash b/package/imlib2/imlib2.hash index 0c234c8c23..62ebac32ea 100644 --- a/package/imlib2/imlib2.hash +++ b/package/imlib2/imlib2.hash @@ -1,3 +1,7 @@ # From https://sourceforge.net/projects/enlightenment/files/imlib2-src/1.4.10/ md5 a0de8524592bbd9f24fcc6cb8352137c imlib2-1.4.10.tar.bz2 sha1 664df65c6265a2825d685d2f3a4f0d072eb626ac imlib2-1.4.10.tar.bz2 + +# Locally computed +sha256 fb70339dd33a77b6213c7ae067fccf93d04af44ff3f937c61f8863f7970e73f6 COPYING +sha256 8c9a2e92ed4937e2d30c2ea95439c36ed3002fc47e34efee43455a460fee8ef5 COPYING-PLAIN diff --git a/package/imlib2/imlib2.mk b/package/imlib2/imlib2.mk index b5012a69a8..21a96cb1ca 100644 --- a/package/imlib2/imlib2.mk +++ b/package/imlib2/imlib2.mk @@ -7,8 +7,8 @@ IMLIB2_VERSION = 1.4.10 IMLIB2_SOURCE = imlib2-$(IMLIB2_VERSION).tar.bz2 IMLIB2_SITE = http://downloads.sourceforge.net/project/enlightenment/imlib2-src/$(IMLIB2_VERSION) -IMLIB2_LICENSE = imlib2 license -IMLIB2_LICENSE_FILES = COPYING +IMLIB2_LICENSE = Imlib2 +IMLIB2_LICENSE_FILES = COPYING COPYING-PLAIN IMLIB2_INSTALL_STAGING = YES IMLIB2_DEPENDENCIES = host-pkgconf freetype diff --git a/package/imx-usb-loader/imx-usb-loader.hash b/package/imx-usb-loader/imx-usb-loader.hash index 6cb581147f..e246ff85f2 100644 --- a/package/imx-usb-loader/imx-usb-loader.hash +++ b/package/imx-usb-loader/imx-usb-loader.hash @@ -1,2 +1,2 @@ # locally computed -sha256 5232292cb1ad853905357de59ed251b57060562dc8d7f1cce0bb6c0c8d280dae imx-usb-loader-f04f225ebc1c38e81eb24745333c8622deda6b49.tar.gz +sha256 717b64cec31f7e1167d4a31e4f511eea97ab80039dd435b7b183c6f41352213a imx-usb-loader-7e77787c83288a421080a9bf2f67063931f561be.tar.gz diff --git a/package/imx-usb-loader/imx-usb-loader.mk b/package/imx-usb-loader/imx-usb-loader.mk index 7593e3ce7a..946a1f3d55 100644 --- a/package/imx-usb-loader/imx-usb-loader.mk +++ b/package/imx-usb-loader/imx-usb-loader.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_USB_LOADER_VERSION = f04f225ebc1c38e81eb24745333c8622deda6b49 +IMX_USB_LOADER_VERSION = 7e77787c83288a421080a9bf2f67063931f561be IMX_USB_LOADER_SITE = $(call github,boundarydevices,imx_usb_loader,$(IMX_USB_LOADER_VERSION)) IMX_USB_LOADER_LICENSE = LGPL-2.1+ IMX_USB_LOADER_LICENSE_FILES = COPYING diff --git a/package/initscripts/init.d/S20urandom b/package/initscripts/init.d/S20urandom index 2f5b4e4c86..cababe1023 100755 --- a/package/initscripts/init.d/S20urandom +++ b/package/initscripts/init.d/S20urandom @@ -33,9 +33,9 @@ case "$1" in ;; stop) if ! touch /etc/random-seed 2>/dev/null - then - exit - fi + 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... " diff --git a/package/intel-microcode/intel-microcode.hash b/package/intel-microcode/intel-microcode.hash index 5ccfd51466..999b27299d 100644 --- a/package/intel-microcode/intel-microcode.hash +++ b/package/intel-microcode/intel-microcode.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 4fd44769bf52a7ac11e90651a307aa6e56ca6e1a814e50d750ba8207973bee93 microcode-20170707.tgz +sha256 0b381face2df1b0a829dc4fa8fa93f47f39e11b1c9c22ebd44f8614657c1e779 microcode-20180312.tgz +sha256 6d4deb65ca688d930e188bf93f78430f134097b161e6df4a2ef00728e14965e3 license.txt diff --git a/package/intel-microcode/intel-microcode.mk b/package/intel-microcode/intel-microcode.mk index 7ad3bba3d2..e3134b6408 100644 --- a/package/intel-microcode/intel-microcode.mk +++ b/package/intel-microcode/intel-microcode.mk @@ -4,9 +4,9 @@ # ################################################################################ -INTEL_MICROCODE_VERSION = 20170707 +INTEL_MICROCODE_VERSION = 20180312 INTEL_MICROCODE_SOURCE = microcode-$(INTEL_MICROCODE_VERSION).tgz -INTEL_MICROCODE_SITE = http://downloadmirror.intel.com/26925/eng +INTEL_MICROCODE_SITE = http://downloadmirror.intel.com/27591/eng INTEL_MICROCODE_STRIP_COMPONENTS = 0 INTEL_MICROCODE_LICENSE = PROPRIETARY INTEL_MICROCODE_LICENSE_FILES = license.txt diff --git a/package/iproute2/0001-Add-the-musl-workaround-to-the-libc-compat.h-copy.patch b/package/iproute2/0001-Add-the-musl-workaround-to-the-libc-compat.h-copy.patch index c7c6e15596..ff362c97c2 100644 --- a/package/iproute2/0001-Add-the-musl-workaround-to-the-libc-compat.h-copy.patch +++ b/package/iproute2/0001-Add-the-musl-workaround-to-the-libc-compat.h-copy.patch @@ -1,4 +1,4 @@ -From b4edb4eebbfd35934b8bc6d7ee0e00e76a01596c Mon Sep 17 00:00:00 2001 +From 909a6f10157114e09936d2dd545175d7ed84c0fb Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Thu, 22 Dec 2016 15:26:30 +0200 Subject: [PATCH] Add the musl workaround to the libc-compat.h copy @@ -12,14 +12,14 @@ Signed-off-by: Baruch Siach Upstream status: libc-compat.h is a local copy of a kernel headers. A proper musl fix must go to the kernel first. --- - include/linux/libc-compat.h | 4 +++- + include/uapi/linux/libc-compat.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -diff --git a/include/linux/libc-compat.h b/include/linux/libc-compat.h -index f38571dabd8d..30f0b67c7a12 100644 ---- a/include/linux/libc-compat.h -+++ b/include/linux/libc-compat.h -@@ -49,10 +49,12 @@ +diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h +index 9ab3ace08e2b..e768459d89f9 100644 +--- a/include/uapi/linux/libc-compat.h ++++ b/include/uapi/linux/libc-compat.h +@@ -50,10 +50,12 @@ #define _LIBC_COMPAT_H /* We have included glibc headers... */ @@ -34,5 +34,5 @@ index f38571dabd8d..30f0b67c7a12 100644 /* GLIBC headers included first so don't define anything * that would already be defined. */ -- -2.11.0 +2.15.0 diff --git a/package/iproute2/0002-Fix-build-with-uClibc-ng.patch b/package/iproute2/0002-Fix-build-with-uClibc-ng.patch deleted file mode 100644 index 48cae70143..0000000000 --- a/package/iproute2/0002-Fix-build-with-uClibc-ng.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 2ac2f416072d9968a9ea2dd9f48168223a1147b0 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 18 Jul 2017 14:09:06 +0300 -Subject: [PATCH] Fix build with uClibc-ng - -Add a local definition for IPPROTO_MH to fix build with uClibc-ng. As of -version 1.0.25, the uClibc-ng netinet/in.h header does not provide this -definition. The kernel provided definition is masked by libc-compat.h. Add -this local fix until uClibc-ng syncs netinet/in.h with glibc. - -This partially reverts upstream commit a9ae195a2169 (xfrm: get #define's from -linux includes) - -Signed-off-by: Baruch Siach ---- -Upstream status: non upstreamable; local uClibc-ng compatibility fix ---- - ip/xfrm.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/ip/xfrm.h b/ip/xfrm.h -index 54d80ce5e949..50b85550fb45 100644 ---- a/ip/xfrm.h -+++ b/ip/xfrm.h -@@ -30,6 +30,10 @@ - #include - #include - -+#ifndef IPPROTO_MH -+# define IPPROTO_MH 135 -+#endif -+ - #define XFRMS_RTA(x) ((struct rtattr*)(((char*)(x)) + NLMSG_ALIGN(sizeof(struct xfrm_usersa_info)))) - #define XFRMS_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct xfrm_usersa_info)) - --- -2.13.2 - diff --git a/package/iproute2/0003-lib-fix-multiple-strlcpy-definition.patch b/package/iproute2/0003-lib-fix-multiple-strlcpy-definition.patch deleted file mode 100644 index 05e9c38084..0000000000 --- a/package/iproute2/0003-lib-fix-multiple-strlcpy-definition.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 5b55bbe48a29cf6a72cef9f424835f6244e66351 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 26 Sep 2017 13:45:21 +0300 -Subject: [PATCH] lib: fix multiple strlcpy definition - -Some C libraries, like uClibc and musl, provide BSD compatible -strlcpy(). Add check_strlcpy() to configure, and avoid defining strlcpy -and strlcat when the C library provides them. - -This fixes the following static link error: - -.../sysroot/usr/lib/libc.a(strlcpy.os): In function `strlcpy': -strlcpy.c:(.text+0x0): multiple definition of `strlcpy' -../lib/libutil.a(utils.o):utils.c:(.text+0x1ddc): first defined here -collect2: error: ld returned 1 exit status - -[baruch: backported from upstream submission to 4.13] -Signed-off-by: Baruch Siach ---- -Upstream status: https://patchwork.ozlabs.org/patch/819705/ ---- - configure | 24 ++++++++++++++++++++++++ - lib/Makefile | 4 ++++ - lib/utils.c | 2 ++ - 3 files changed, 30 insertions(+) - -diff --git a/configure b/configure -index 88cbdb825689..4964b998059e 100755 ---- a/configure -+++ b/configure -@@ -325,6 +325,27 @@ EOF - rm -f $TMPDIR/dbtest.c $TMPDIR/dbtest - } - -+check_strlcpy() -+{ -+ cat >$TMPDIR/strtest.c < -+int main(int argc, char **argv) { -+ char dst[10]; -+ strlcpy(dst, "test", sizeof(dst)); -+ return 0; -+} -+EOF -+ $CC -I$INCLUDE -o $TMPDIR/strtest $TMPDIR/strtest.c >/dev/null 2>&1 -+ if [ $? -eq 0 ] -+ then -+ echo "no" -+ else -+ echo "NEED_STRLCPY:=y" >>Config -+ echo "yes" -+ fi -+ rm -f $TMPDIR/strtest.c $TMPDIR/strtest -+} -+ - quiet_config() - { - cat <>$(@D)/Config - echo "TC_CONFIG_XT:=n" >>$(@D)/Config + # m_xt.so is built unconditionally + echo "TC_CONFIG_XT:=n" >>$(@D)/config.mk endef endif @@ -42,7 +41,7 @@ ifeq ($(BR2_PACKAGE_BERKELEYDB_COMPAT185)$(BR2_TOOLCHAIN_HAS_THREADS),yy) IPROUTE2_DEPENDENCIES += berkeleydb else define IPROUTE2_DISABLE_ARPD - echo "HAVE_BERKELEY_DB:=n" >> $(@D)/Config + echo "HAVE_BERKELEY_DB:=n" >> $(@D)/config.mk endef endif diff --git a/package/ipsec-tools/0005-CVE-2016-10396.patch b/package/ipsec-tools/0005-CVE-2016-10396.patch new file mode 100644 index 0000000000..8ef3b03753 --- /dev/null +++ b/package/ipsec-tools/0005-CVE-2016-10396.patch @@ -0,0 +1,208 @@ +Fix CVE-2016-10396 + +Description: Fix remotely exploitable DoS. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10396 +Source: vendor; https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=51682 +Bug-debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=867986 + +Downloaded from +https://github.com/openwrt/packages/blob/master/net/ipsec-tools/patches/010-CVE-2016-10396.patch + +Signed-off-by: Bernd Kuhls + +Index: ipsec-tools-0.8.2/src/racoon/isakmp_frag.c +=================================================================== +--- ipsec-tools-0.8.2.orig/src/racoon/isakmp_frag.c ++++ ipsec-tools-0.8.2/src/racoon/isakmp_frag.c +@@ -1,4 +1,4 @@ +-/* $NetBSD: isakmp_frag.c,v 1.5 2009/04/22 11:24:20 tteras Exp $ */ ++/* $NetBSD: isakmp_frag.c,v 1.5.36.1 2017/04/21 16:50:42 bouyer Exp $ */ + + /* Id: isakmp_frag.c,v 1.4 2004/11/13 17:31:36 manubsd Exp */ + +@@ -173,6 +173,43 @@ vendorid_frag_cap(gen) + return ntohl(hp[MD5_DIGEST_LENGTH / sizeof(*hp)]); + } + ++static int ++isakmp_frag_insert(struct ph1handle *iph1, struct isakmp_frag_item *item) ++{ ++ struct isakmp_frag_item *pitem = NULL; ++ struct isakmp_frag_item *citem = iph1->frag_chain; ++ ++ /* no frag yet, just insert at beginning of list */ ++ if (iph1->frag_chain == NULL) { ++ iph1->frag_chain = item; ++ return 0; ++ } ++ ++ do { ++ /* duplicate fragment number, abort (CVE-2016-10396) */ ++ if (citem->frag_num == item->frag_num) ++ return -1; ++ ++ /* need to insert before current item */ ++ if (citem->frag_num > item->frag_num) { ++ if (pitem != NULL) ++ pitem->frag_next = item; ++ else ++ /* insert at the beginning of the list */ ++ iph1->frag_chain = item; ++ item->frag_next = citem; ++ return 0; ++ } ++ ++ pitem = citem; ++ citem = citem->frag_next; ++ } while (citem != NULL); ++ ++ /* we reached the end of the list, insert */ ++ pitem->frag_next = item; ++ return 0; ++} ++ + int + isakmp_frag_extract(iph1, msg) + struct ph1handle *iph1; +@@ -224,39 +261,43 @@ isakmp_frag_extract(iph1, msg) + item->frag_next = NULL; + item->frag_packet = buf; + +- /* Look for the last frag while inserting the new item in the chain */ +- if (item->frag_last) +- last_frag = item->frag_num; ++ /* Check for the last frag before inserting the new item in the chain */ ++ if (item->frag_last) { ++ /* if we have the last fragment, indices must match */ ++ if (iph1->frag_last_index != 0 && ++ item->frag_last != iph1->frag_last_index) { ++ plog(LLV_ERROR, LOCATION, NULL, ++ "Repeated last fragment index mismatch\n"); ++ racoon_free(item); ++ vfree(buf); ++ return -1; ++ } + +- if (iph1->frag_chain == NULL) { +- iph1->frag_chain = item; +- } else { +- struct isakmp_frag_item *current; ++ last_frag = iph1->frag_last_index = item->frag_num; ++ } + +- current = iph1->frag_chain; +- while (current->frag_next) { +- if (current->frag_last) +- last_frag = item->frag_num; +- current = current->frag_next; +- } +- current->frag_next = item; ++ /* insert fragment into chain */ ++ if (isakmp_frag_insert(iph1, item) == -1) { ++ plog(LLV_ERROR, LOCATION, NULL, ++ "Repeated fragment index mismatch\n"); ++ racoon_free(item); ++ vfree(buf); ++ return -1; + } + +- /* If we saw the last frag, check if the chain is complete */ ++ /* If we saw the last frag, check if the chain is complete ++ * we have a sorted list now, so just walk through */ + if (last_frag != 0) { ++ item = iph1->frag_chain; + for (i = 1; i <= last_frag; i++) { +- item = iph1->frag_chain; +- do { +- if (item->frag_num == i) +- break; +- item = item->frag_next; +- } while (item != NULL); +- ++ if (item->frag_num != i) ++ break; ++ item = item->frag_next; + if (item == NULL) /* Not found */ + break; + } + +- if (item != NULL) /* It is complete */ ++ if (i > last_frag) /* It is complete */ + return 1; + } + +@@ -291,15 +332,9 @@ isakmp_frag_reassembly(iph1) + } + data = buf->v; + ++ item = iph1->frag_chain; + for (i = 1; i <= frag_count; i++) { +- item = iph1->frag_chain; +- do { +- if (item->frag_num == i) +- break; +- item = item->frag_next; +- } while (item != NULL); +- +- if (item == NULL) { ++ if (item->frag_num != i) { + plog(LLV_ERROR, LOCATION, NULL, + "Missing fragment #%d\n", i); + vfree(buf); +@@ -308,6 +343,7 @@ isakmp_frag_reassembly(iph1) + } + memcpy(data, item->frag_packet->v, item->frag_packet->l); + data += item->frag_packet->l; ++ item = item->frag_next; + } + + out: +Index: ipsec-tools-0.8.2/src/racoon/isakmp_inf.c +=================================================================== +--- ipsec-tools-0.8.2.orig/src/racoon/isakmp_inf.c ++++ ipsec-tools-0.8.2/src/racoon/isakmp_inf.c +@@ -720,6 +720,7 @@ isakmp_info_send_nx(isakmp, remote, loca + #endif + #ifdef ENABLE_FRAG + iph1->frag = 0; ++ iph1->frag_last_index = 0; + iph1->frag_chain = NULL; + #endif + +Index: ipsec-tools-0.8.2/src/racoon/isakmp.c +=================================================================== +--- ipsec-tools-0.8.2.orig/src/racoon/isakmp.c ++++ ipsec-tools-0.8.2/src/racoon/isakmp.c +@@ -1071,6 +1071,7 @@ isakmp_ph1begin_i(rmconf, remote, local) + iph1->frag = 1; + else + iph1->frag = 0; ++ iph1->frag_last_index = 0; + iph1->frag_chain = NULL; + #endif + iph1->approval = NULL; +@@ -1175,6 +1176,7 @@ isakmp_ph1begin_r(msg, remote, local, et + #endif + #ifdef ENABLE_FRAG + iph1->frag = 0; ++ iph1->frag_last_index = 0; + iph1->frag_chain = NULL; + #endif + iph1->approval = NULL; +Index: ipsec-tools-0.8.2/src/racoon/handler.h +=================================================================== +--- ipsec-tools-0.8.2.orig/src/racoon/handler.h ++++ ipsec-tools-0.8.2/src/racoon/handler.h +@@ -1,4 +1,4 @@ +-/* $NetBSD: handler.h,v 1.25 2010/11/17 10:40:41 tteras Exp $ */ ++/* $NetBSD: handler.h,v 1.26 2017/01/24 19:23:56 christos Exp $ */ + + /* Id: handler.h,v 1.19 2006/02/25 08:25:12 manubsd Exp */ + +@@ -141,6 +141,7 @@ struct ph1handle { + #endif + #ifdef ENABLE_FRAG + int frag; /* IKE phase 1 fragmentation */ ++ int frag_last_index; + struct isakmp_frag_item *frag_chain; /* Received fragments */ + #endif + diff --git a/package/ipsec-tools/ipsec-tools.mk b/package/ipsec-tools/ipsec-tools.mk index c0b180de55..20c7ab4f77 100644 --- a/package/ipsec-tools/ipsec-tools.mk +++ b/package/ipsec-tools/ipsec-tools.mk @@ -9,7 +9,7 @@ IPSEC_TOOLS_SOURCE = ipsec-tools-$(IPSEC_TOOLS_VERSION).tar.bz2 IPSEC_TOOLS_SITE = http://sourceforge.net/projects/ipsec-tools/files/ipsec-tools/$(IPSEC_TOOLS_VERSION) IPSEC_TOOLS_INSTALL_STAGING = YES IPSEC_TOOLS_MAKE = $(MAKE1) -IPSEC_TOOLS_DEPENDENCIES = openssl flex host-flex +IPSEC_TOOLS_DEPENDENCIES = openssl flex host-flex host-bison # we patch configure.ac IPSEC_TOOLS_AUTORECONF = YES diff --git a/package/iputils/iputils.mk b/package/iputils/iputils.mk index b20cd12b7a..13e33898d6 100644 --- a/package/iputils/iputils.mk +++ b/package/iputils/iputils.mk @@ -69,4 +69,9 @@ define IPUTILS_INSTALL_TARGET_CMDS $(INSTALL) -D -m 755 $(@D)/traceroute6 $(TARGET_DIR)/bin/traceroute6 endef +define IPUTILS_PERMISSIONS + /bin/ping f 4755 0 0 - - - - - + /bin/traceroute6 f 4755 0 0 - - - - - +endef + $(eval $(generic-package)) diff --git a/package/irssi/irssi.hash b/package/irssi/irssi.hash index 0a6c3f614a..0f298137ba 100644 --- a/package/irssi/irssi.hash +++ b/package/irssi/irssi.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 c2556427e12eb06cabfed40839ac6f57eb8b1aa6365fab6dfcd331b7a04bb914 irssi-1.0.5.tar.xz +sha256 1b386ca026aa1875c380fd00ef1d24b71fb87cdae39ef5349ecca16c4567feac irssi-1.0.7.tar.xz # Locally calculated sha256 a1a27cb2ecee8d5378fbb3562f577104a445d6d66fee89286e16758305e63e2b COPYING diff --git a/package/irssi/irssi.mk b/package/irssi/irssi.mk index f9450783bc..611365f88e 100644 --- a/package/irssi/irssi.mk +++ b/package/irssi/irssi.mk @@ -4,7 +4,7 @@ # ################################################################################ -IRSSI_VERSION = 1.0.5 +IRSSI_VERSION = 1.0.7 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/jamvm/Config.in b/package/jamvm/Config.in index 57e1a8e6f4..7717ccaadb 100644 --- a/package/jamvm/Config.in +++ b/package/jamvm/Config.in @@ -1,10 +1,17 @@ +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 - depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_x86_64 \ - || BR2_mips || BR2_mipsel || BR2_powerpc - depends on BR2_PACKAGE_CLASSPATH_ARCH_SUPPORTS select BR2_PACKAGE_ZLIB select BR2_PACKAGE_CLASSPATH help @@ -14,7 +21,6 @@ config BR2_PACKAGE_JAMVM http://jamvm.sf.net comment "jamvm needs a toolchain w/ threads, dynamic library" - depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_x86_64 \ - || BR2_mips || BR2_mipsel || BR2_powerpc + 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/janus-gateway/janus-gateway.hash b/package/janus-gateway/janus-gateway.hash index 1cb325c41d..f84ed8b6db 100644 --- a/package/janus-gateway/janus-gateway.hash +++ b/package/janus-gateway/janus-gateway.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 09610dc02ff0a1f23af0397baaa26a3cd88b3742d35b2e49849f099885cdcf08 janus-gateway-v0.2.5.tar.gz +sha256 35cbbd5e7b7067e3a0b5ba221ea845814e5b59c733302f88fea80bcf98ce416f janus-gateway-v0.2.6.tar.gz sha256 0a884af515b4593503f6f0c9b424db3945bd77eaa2644d25f45eb93a412b3c19 COPYING diff --git a/package/janus-gateway/janus-gateway.mk b/package/janus-gateway/janus-gateway.mk index bf3e590ac5..c37cda0860 100644 --- a/package/janus-gateway/janus-gateway.mk +++ b/package/janus-gateway/janus-gateway.mk @@ -4,7 +4,7 @@ # ################################################################################ -JANUS_GATEWAY_VERSION = v0.2.5 +JANUS_GATEWAY_VERSION = v0.2.6 JANUS_GATEWAY_SITE = $(call github,meetecho,janus-gateway,$(JANUS_GATEWAY_VERSION)) JANUS_GATEWAY_LICENSE = GPL-3.0 JANUS_GATEWAY_LICENSE_FILES = COPYING diff --git a/package/jasper/jasper.hash b/package/jasper/jasper.hash index b2b82178eb..8c4f2453ad 100644 --- a/package/jasper/jasper.hash +++ b/package/jasper/jasper.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 b50413b41bfc82ae419298b41eadcde1aa31f362fb9dc2ac089e5cbc19f60c24 jasper-version-2.0.13.tar.gz +sha256 4ad1bb42aff888c4403d792e6e2c5f1716d6c279fea70b296333c9d577d30b81 LICENSE diff --git a/package/jasper/jasper.mk b/package/jasper/jasper.mk index 2aa3f9d554..9dc46b18d6 100644 --- a/package/jasper/jasper.mk +++ b/package/jasper/jasper.mk @@ -7,7 +7,7 @@ JASPER_VERSION = version-2.0.13 JASPER_SITE = $(call github,mdadams,jasper,$(JASPER_VERSION)) JASPER_INSTALL_STAGING = YES -JASPER_LICENSE = JasPer License Version 2.0 +JASPER_LICENSE = JasPer-2.0 JASPER_LICENSE_FILES = LICENSE JASPER_SUPPORTS_IN_SOURCE_BUILD = NO JASPER_CONF_OPTS = \ diff --git a/package/jimtcl/jimtcl.mk b/package/jimtcl/jimtcl.mk index 68c8a914db..389a72ab83 100644 --- a/package/jimtcl/jimtcl.mk +++ b/package/jimtcl/jimtcl.mk @@ -44,9 +44,13 @@ endif # pkg-autotools.mk 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. define JIMTCL_CONFIGURE_CMDS (cd $(@D); \ - $(TARGET_CONFIGURE_OPTS) CCACHE=none \ + $(TARGET_CONFIGURE_OPTS) \ + CCACHE=none \ + $(if $(BR2_INSTALL_LIBSTDCPP),,CXX=false) \ ./configure --prefix=/usr \ --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ diff --git a/package/jpeg-turbo/jpeg-turbo.hash b/package/jpeg-turbo/jpeg-turbo.hash index 320bbb2a94..11b323b8bf 100644 --- a/package/jpeg-turbo/jpeg-turbo.hash +++ b/package/jpeg-turbo/jpeg-turbo.hash @@ -3,3 +3,5 @@ sha1 e788f6defa58b4393a5e1685c018f3b962971457 libjpeg-turbo-1.5.2.tar.gz md5 6b4923e297a7eaa255f08511017a8818 libjpeg-turbo-1.5.2.tar.gz # Locally computed sha256 9098943b270388727ae61de82adec73cf9f0dbb240b3bc8b172595ebf405b528 libjpeg-turbo-1.5.2.tar.gz +sha256 5c08657eda60b7946a913ee22ac73603335a468a6aa95204506a1586a8d677ee LICENSE.md +sha256 53a3e3c299e08856964f4c5986e242c3695837b73c64625092f70c774e8af5d2 README.ijg diff --git a/package/jpeg-turbo/jpeg-turbo.mk b/package/jpeg-turbo/jpeg-turbo.mk index bb1278f8b2..d52ab916e0 100644 --- a/package/jpeg-turbo/jpeg-turbo.mk +++ b/package/jpeg-turbo/jpeg-turbo.mk @@ -7,8 +7,8 @@ JPEG_TURBO_VERSION = 1.5.2 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 = jpeg-license (BSD-3-Clause-like) -JPEG_TURBO_LICENSE_FILES = LICENSE.md +JPEG_TURBO_LICENSE = IJG (libjpeg), BSD-3-Clause (TurboJPEG), Zlib (SIMD) +JPEG_TURBO_LICENSE_FILES = LICENSE.md README.ijg JPEG_TURBO_INSTALL_STAGING = YES JPEG_TURBO_PROVIDES = jpeg JPEG_TURBO_DEPENDENCIES = host-pkgconf diff --git a/package/jq/jq.mk b/package/jq/jq.mk index aecdba2280..79629faa5e 100644 --- a/package/jq/jq.mk +++ b/package/jq/jq.mk @@ -11,8 +11,10 @@ JQ_LICENSE_FILES = COPYING JQ_INSTALL_STAGING = YES # uses c99 specific features -JQ_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=c99" -HOST_JQ_CONF_ENV += CFLAGS="$(HOST_CFLAGS) -std=c99" +# _GNU_SOURCE added to fix gcc6+ host compilation +# (https://github.com/stedolan/jq/issues/1598) +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 diff --git a/package/json-c/0001-configure.ac-remove-Werror.patch b/package/json-c/0001-configure.ac-remove-Werror.patch new file mode 100644 index 0000000000..e877671519 --- /dev/null +++ b/package/json-c/0001-configure.ac-remove-Werror.patch @@ -0,0 +1,32 @@ +From 79d862ccaabc6620ce4b2783a44d6014ae837df9 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Sun, 31 Dec 2017 00:01:37 +0200 +Subject: [PATCH] configure.ac: remove -Werror + +The unconditional _REENTRANT macro causes a warning when building with a +no-threads toolchain. Remove -Werror to fix the build. + +Signed-off-by: Baruch Siach +--- +Patch status: not upstreamable +Issue reported upstream: https://github.com/json-c/json-c/issues/396 +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 024c5aa0d687..74caa4d99e15 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -165,7 +165,7 @@ AS_IF([test "x$enable_Bsymbolic" = "xcheck"], + AS_IF([test "x$enable_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions]) + AC_SUBST(JSON_BSYMBOLIC_LDFLAGS) + +-AX_APPEND_COMPILE_FLAGS([-Wall -Werror -Wcast-qual -Wno-error=deprecated-declarations]) ++AX_APPEND_COMPILE_FLAGS([-Wall -Wcast-qual -Wno-error=deprecated-declarations]) + AX_APPEND_COMPILE_FLAGS([-Wextra -Wwrite-string -Wno-unused-parameter]) + AX_APPEND_COMPILE_FLAGS([-D_GNU_SOURCE -D_REENTRANT]) + +-- +2.15.1 + diff --git a/package/json-c/0001-don-t-threat-warnings-as-errors.patch b/package/json-c/0001-don-t-threat-warnings-as-errors.patch deleted file mode 100644 index 804fb2cd33..0000000000 --- a/package/json-c/0001-don-t-threat-warnings-as-errors.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 2b4a43a94fb988e344f2d7edc74d6a4a5f64571d Mon Sep 17 00:00:00 2001 -From: Sagaert Johan -Date: Wed, 15 Apr 2015 00:40:46 +0200 -Subject: [PATCH] don't threat warnings as errors - -Signed-off-by: Sagaert Johan ---- - Makefile.am.inc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.am.inc b/Makefile.am.inc -index fec591b..5eb461e 100644 ---- a/Makefile.am.inc -+++ b/Makefile.am.inc -@@ -1,2 +1,2 @@ --AM_CFLAGS = -Wall -Werror -Wno-error=deprecated-declarations -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT -+AM_CFLAGS = -Wall -Wno-error=deprecated-declarations -Wextra -Wwrite-strings -std=gnu99 -D_GNU_SOURCE -D_REENTRANT - --- -2.1.0 - diff --git a/package/json-c/0002-Link-against-libm-when-needed.patch b/package/json-c/0002-Link-against-libm-when-needed.patch deleted file mode 100644 index 305b782f76..0000000000 --- a/package/json-c/0002-Link-against-libm-when-needed.patch +++ /dev/null @@ -1,53 +0,0 @@ -From ccb15ee3d7e8c925cb3af9ea805feea2863c4f81 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 1 May 2015 12:52:18 +0200 -Subject: [PATCH] Link against libm when needed - -In certain C libraries (e.g uClibc), isnan() and related functions are -implemented in libm, so json-c needs to link against it. This commit -therefore adds an AC_TRY_LINK() test to check whether a program -calling isnan() can be properly linked with no special flags. If not, -we assume linking against libm is needed. - -The json-c.pc.in file is also adjusted so that in the case of static -linking against json-c, -lm is also used. - -Submitted upstream: https://github.com/json-c/json-c/pull/182 - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 4 ++++ - json-c.pc.in | 3 ++- - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 99660a4..2a14ccf 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -50,6 +50,10 @@ AC_CHECK_DECLS([isinf], [], [], [[#include ]]) - AC_CHECK_DECLS([_isnan], [], [], [[#include ]]) - AC_CHECK_DECLS([_finite], [], [], [[#include ]]) - -+if test "$ac_cv_have_decl_isnan" = "yes" ; then -+ AC_TRY_LINK([#include ], [float f = 0.0; return isnan(f)], [], [LIBS="$LIBS -lm"]) -+fi -+ - #check if .section.gnu.warning accepts long strings (for __warn_references) - AC_LANG_PUSH([C]) - -diff --git a/json-c.pc.in b/json-c.pc.in -index 037739d..05bfbc8 100644 ---- a/json-c.pc.in -+++ b/json-c.pc.in -@@ -6,6 +6,7 @@ includedir=@includedir@ - Name: json-c - Description: JSON implementation in C - Version: @VERSION@ --Requires: -+Requires: -+Libs.private: @LIBS@ - Libs: -L${libdir} -ljson-c - Cflags: -I${includedir}/json-c --- -2.1.0 - diff --git a/package/json-c/json-c.hash b/package/json-c/json-c.hash index 1868d75042..41e614d6dc 100644 --- a/package/json-c/json-c.hash +++ b/package/json-c/json-c.hash @@ -1,2 +1,4 @@ +# From https://github.com/json-c/json-c/wiki +sha256 0316780be9ad16c42d7c26b015a784fd5df4b0909fef0aba51cfb13e492ac24d json-c-0.13.tar.gz # Locally calculated -sha256 989e09b99ded277a0a651cd18b81fcb76885fea08769d7a21b6da39fb8a34816 json-c-json-c-0.12.1-20160607.tar.gz +sha256 74c1e6ca5eba76b54d0ad00d4815c8315c1b3bc45ff99de61d103dc92486284c COPYING diff --git a/package/json-c/json-c.mk b/package/json-c/json-c.mk index 7adbcafa72..450ee8b27b 100644 --- a/package/json-c/json-c.mk +++ b/package/json-c/json-c.mk @@ -4,14 +4,14 @@ # ################################################################################ -JSON_C_VERSION = json-c-0.12.1-20160607 -JSON_C_SITE = $(call github,json-c,json-c,$(JSON_C_VERSION)) +JSON_C_VERSION = 0.13 +JSON_C_SITE = https://s3.amazonaws.com/json-c_releases/releases JSON_C_INSTALL_STAGING = YES -JSON_C_MAKE = $(MAKE1) -JSON_C_CONF_OPTS = --disable-oldname-compat -# AUTORECONF is needed because of Makefile.am.inc patch. -JSON_C_AUTORECONF = YES JSON_C_LICENSE = MIT JSON_C_LICENSE_FILES = COPYING +# Patching configure.ac +JSON_C_AUTORECONF = YES + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/json-for-modern-cpp/Config.in b/package/json-for-modern-cpp/Config.in new file mode 100644 index 0000000000..b045cba684 --- /dev/null +++ b/package/json-for-modern-cpp/Config.in @@ -0,0 +1,29 @@ +config BR2_PACKAGE_JSON_FOR_MODERN_CPP + bool "json-for-modern-cpp" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_INSTALL_LIBSTDCPP + help + Json for modern c++ has the following desing goals in mind: + + - Intuitive syntax. In languages such as Python, JSON feels + like a first class data type. All the operator magic of + modern C++ is used to achieve the same feeling in c++. + + - Trivial integration. The whole code consists of a single + header file json.hpp. That's it. No library, no + subproject, no dependencies, no complex build system. The + class is written in vanilla C++11. All in all, everything + should require no adjustment of compiler flags or project + settings. + + - Serious testing. The class is heavily unit-tested and + covers 100% of the code, including all exceptional + behavior. Furthermore, it is checked with Valgrind that + there are no memory leaks. To maintain high quality, the + project is following the Core Infrastructure Initiative + (CII) best practices. + + https://github.com/nlohmann/json + +comment "json-for-modern-cpp needs a toolchain w/ C++, gcc >= 4.9" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/json-for-modern-cpp/json-for-modern-cpp.hash b/package/json-for-modern-cpp/json-for-modern-cpp.hash new file mode 100644 index 0000000000..7f394aaee7 --- /dev/null +++ b/package/json-for-modern-cpp/json-for-modern-cpp.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 402464cd6d50c81bb6a683d07c537e5a8c4684fd1186826d3aa1385ce6adac13 json-v3.0.1.tar.gz +sha256 6a6115fc4a7239a135f2dce8d33f94cb8a936b8f608ac0f6699fbac278b0dd5b 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 new file mode 100644 index 0000000000..6413d6255f --- /dev/null +++ b/package/json-for-modern-cpp/json-for-modern-cpp.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# json-for-modern-cpp +# +################################################################################ + +JSON_FOR_MODERN_CPP_VERSION = v3.0.1 +JSON_FOR_MODERN_CPP_SOURCE = json-${JSON_FOR_MODERN_CPP_VERSION}.tar.gz +JSON_FOR_MODERN_CPP_SITE = $(call github,nlohmann,json,$(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 +# header only library +JSON_FOR_MODERN_CPP_INSTALL_TARGET = NO +JSON_FOR_MODERN_CPP_CONF_OPTS = -DJSON_BuildTests=OFF + +$(eval $(cmake-package)) diff --git a/package/keepalived/0001-Fix-build-with-Linux-kernel-headers-v4.15.patch b/package/keepalived/0001-Fix-build-with-Linux-kernel-headers-v4.15.patch new file mode 100644 index 0000000000..b5f21cb40a --- /dev/null +++ b/package/keepalived/0001-Fix-build-with-Linux-kernel-headers-v4.15.patch @@ -0,0 +1,59 @@ +From 15f93dd90484532e25c8f3e43fb34a361a79d7f2 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 9 Feb 2018 11:55:19 +0200 +Subject: [PATCH] Fix build with Linux kernel headers v4.15 + +Linux kernel version 4.15 changed the libc/kernel headers suppression +logic in a way that introduces collisions: + +In file included from ./../include/vrrp_ipaddress.h:32:0, + from ./../include/vrrp_arp.h:31, + from vrrp.c:29: +/home/peko/autobuild/instance-1/output/host/arc-buildroot-linux-uclibc/sysroot/usr/include/linux/in.h:29:3: error: redeclaration of enumerator 'IPPROTO_IP' + IPPROTO_IP = 0, /* Dummy protocol for TCP */ + ^ +/home/peko/autobuild/instance-1/output/host/arc-buildroot-linux-uclibc/sysroot/usr/include/netinet/in.h:33:5: note: previous definition of 'IPPROTO_IP' was here + IPPROTO_IP = 0, /* Dummy protocol for TCP. */ + ^~~~~~~~~~ + +Include the libc netinet/in.h header first to suppress the kernel +header. + +In addition, add _GNU_SOURCE to vrrp.c for the libc provided in6_pktinfo +definition. + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/acassen/keepalived/pull/777 + + keepalived/include/vrrp_arp.h | 1 + + keepalived/vrrp/vrrp.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/keepalived/include/vrrp_arp.h b/keepalived/include/vrrp_arp.h +index 77a26c450b12..a103ab075c1d 100644 +--- a/keepalived/include/vrrp_arp.h ++++ b/keepalived/include/vrrp_arp.h +@@ -24,6 +24,7 @@ + #define _VRRP_ARP_H + + /* system includes */ ++#include + #include + #include + +diff --git a/keepalived/vrrp/vrrp.c b/keepalived/vrrp/vrrp.c +index 3d2bfe41ab4f..435a4b54b2a9 100644 +--- a/keepalived/vrrp/vrrp.c ++++ b/keepalived/vrrp/vrrp.c +@@ -26,6 +26,7 @@ + #include "config.h" + + /* local include */ ++#define _GNU_SOURCE + #include "vrrp_arp.h" + #include "vrrp_ndisc.h" + #include "vrrp_scheduler.h" +-- +2.15.1 + diff --git a/package/kexec-lite/kexec-lite.hash b/package/kexec-lite/kexec-lite.hash index 0f212241da..d71e8d00a4 100644 --- a/package/kexec-lite/kexec-lite.hash +++ b/package/kexec-lite/kexec-lite.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 5786ddc0c94ead4fd4a1fded44bb1da0c9bc91af08049fed373ea161603e1e1f kexec-lite-86e45a47e8cc1f598ccfa9b873a23067f4ecc36f.tar.gz +sha256 2e9b131324cec9d27840179daa35e3159a4032ff78b74e301850faa007567d0e kexec-lite-87d044a895b1c004320a2676099a54a5a2a74f2e.tar.gz diff --git a/package/kexec-lite/kexec-lite.mk b/package/kexec-lite/kexec-lite.mk index 76b6819dfa..8e1ad8d52d 100644 --- a/package/kexec-lite/kexec-lite.mk +++ b/package/kexec-lite/kexec-lite.mk @@ -4,7 +4,7 @@ # ################################################################################ -KEXEC_LITE_VERSION = 86e45a47e8cc1f598ccfa9b873a23067f4ecc36f +KEXEC_LITE_VERSION = 87d044a895b1c004320a2676099a54a5a2a74f2e KEXEC_LITE_SITE = $(call github,antonblanchard,kexec-lite,$(KEXEC_LITE_VERSION)) KEXEC_LITE_LICENSE = GPL-2.0+ KEXEC_LITE_LICENSE_FILES = COPYING diff --git a/package/kexec/kexec.hash b/package/kexec/kexec.hash index 0e39e7cff7..eaa9d7b96e 100644 --- a/package/kexec/kexec.hash +++ b/package/kexec/kexec.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kexec/sha256sums.asc -sha256 899b7b861431eb51886d0c12866e91b036228244d35a5fb04762dd1a3c0194e7 kexec-tools-2.0.15.tar.xz +sha256 5b103351ad752c9badd1d65b00eb6de4bce579f944f4df4e3ef3a755ba567010 kexec-tools-2.0.16.tar.xz diff --git a/package/kexec/kexec.mk b/package/kexec/kexec.mk index 79c4b73623..3ce1ed2eac 100644 --- a/package/kexec/kexec.mk +++ b/package/kexec/kexec.mk @@ -4,7 +4,7 @@ # ################################################################################ -KEXEC_VERSION = 2.0.15 +KEXEC_VERSION = 2.0.16 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/kmod/kmod.mk b/package/kmod/kmod.mk index bd676108aa..e1149b7b65 100644 --- a/package/kmod/kmod.mk +++ b/package/kmod/kmod.mk @@ -74,7 +74,7 @@ endif # host. define HOST_KMOD_INSTALL_TOOLS mkdir -p $(HOST_DIR)/sbin/ - ln -sf ../usr/bin/kmod $(HOST_DIR)/sbin/depmod + ln -sf ../bin/kmod $(HOST_DIR)/sbin/depmod endef HOST_KMOD_POST_INSTALL_HOOKS += HOST_KMOD_INSTALL_TOOLS diff --git a/package/kmsxx/kmsxx.mk b/package/kmsxx/kmsxx.mk index 5c4a0c1c99..dc0f8c17dc 100644 --- a/package/kmsxx/kmsxx.mk +++ b/package/kmsxx/kmsxx.mk @@ -44,12 +44,15 @@ define KMSXX_INSTALL_TARGET_CMDS $(KMSXX_INSTALL_TARGET_TESTS) endef +# kmsxx only builds shared or static libraries, so when +# BR2_SHARED_STATIC_LIBS=y, we don't have any static library to +# install define KMSXX_INSTALL_STAGING_CMDS $(foreach l,$(KMSXX_LIBS),\ $(if $(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS), $(INSTALL) -D -m 0755 $(@D)/lib/lib$(l).so \ $(STAGING_DIR)/usr/lib/lib$(l).so) - $(if $(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS), + $(if $(BR2_STATIC_LIBS), $(INSTALL) -D -m 0755 $(@D)/lib/lib$(l).a \ $(STAGING_DIR)/usr/lib/lib$(l).a) mkdir -p $(STAGING_DIR)/usr/include/$(l) diff --git a/package/kodi-inputstream-adaptive/Config.in b/package/kodi-inputstream-adaptive/Config.in index d5fe5e61cc..cb5127363a 100644 --- a/package/kodi-inputstream-adaptive/Config.in +++ b/package/kodi-inputstream-adaptive/Config.in @@ -1,5 +1,8 @@ config BR2_PACKAGE_KODI_INPUTSTREAM_ADAPTIVE bool "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 diff --git a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash index 0d8f39f6cc..78b48c16b6 100644 --- a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash +++ b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 a214b6f47d4fcd0ceb78819447eb9ff3c5b4519233a46a245c9b558ecda0725f kodi-inputstream-adaptive-f2904b547e940c724dce7412a26744c2698cab66.tar.gz +sha256 572b2e898484a5ada74c4095539cebf43c198a3147f0f24fe350bc79db053695 kodi-inputstream-adaptive-9af21218a87572bd4ab8d8d660c11f6295144f97.tar.gz diff --git a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk index cc0950346e..f7a4c66e8c 100644 --- a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk +++ b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk @@ -6,7 +6,7 @@ # This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_INPUTSTREAM_ADAPTIVE_VERSION = f2904b547e940c724dce7412a26744c2698cab66 +KODI_INPUTSTREAM_ADAPTIVE_VERSION = 9af21218a87572bd4ab8d8d660c11f6295144f97 KODI_INPUTSTREAM_ADAPTIVE_SITE = $(call github,peak3d,inputstream.adaptive,$(KODI_INPUTSTREAM_ADAPTIVE_VERSION)) KODI_INPUTSTREAM_ADAPTIVE_LICENSE = GPL-2.0+ KODI_INPUTSTREAM_ADAPTIVE_LICENSE_FILES = src/main.cpp diff --git a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk index 3bb67d88a1..fcf4888a9c 100644 --- a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk +++ b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk @@ -6,7 +6,7 @@ # Not possible to directly refer to kodi variables, because of # first/second expansion trickery... -KODI_JSONSCHEMABUILDER_VERSION = 17.5-Krypton +KODI_JSONSCHEMABUILDER_VERSION = 17.6-Krypton KODI_JSONSCHEMABUILDER_SITE = $(call github,xbmc,xbmc,$(KODI_JSONSCHEMABUILDER_VERSION)) KODI_JSONSCHEMABUILDER_SOURCE = kodi-$(KODI_JSONSCHEMABUILDER_VERSION).tar.gz KODI_JSONSCHEMABUILDER_LICENSE = GPL-2.0 diff --git a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash index ca2bdc378c..728c3cac53 100644 --- a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash +++ b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 c2025c4ec280b44b5d8bb1c34185a94cc105f66f0b762087804bb7d2d633d999 kodi-peripheral-joystick-v1.3.2.tar.gz +sha256 9a183e1f92ff2c68816bfa0056c65585a3e1129d924326359d7a5dfbcba6c56a kodi-peripheral-joystick-v1.3.4.tar.gz diff --git a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk index f0cad13a27..2fadbcc210 100644 --- a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk +++ b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk @@ -6,7 +6,7 @@ # This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PERIPHERAL_JOYSTICK_VERSION = v1.3.2 +KODI_PERIPHERAL_JOYSTICK_VERSION = v1.3.4 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 diff --git a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash index ccb45219cc..017bd8360a 100644 --- a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash +++ b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 4332fa50172409271909c90a8f923eb336ff93b0a7d61b183ce84d6975fa622e kodi-pvr-dvbviewer-2.4.11-Krypton.tar.gz +sha256 f1cd26234e33a027d1ef2f3ea7b5f33be3a8aff9a7bf0117ee4bdfcf1e18fd9f kodi-pvr-dvbviewer-2.4.14-Krypton.tar.gz diff --git a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk index 0c62c5a5b9..bc37de7545 100644 --- a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk +++ b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk @@ -6,7 +6,7 @@ # This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_DVBVIEWER_VERSION = 2.4.11-Krypton +KODI_PVR_DVBVIEWER_VERSION = 2.4.14-Krypton 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 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 new file mode 100644 index 0000000000..7abb153b0e --- /dev/null +++ b/package/kodi-pvr-mediaportal-tvserver/0001-live555-remove-xlocale.h-from-Locale.hh.patch @@ -0,0 +1,33 @@ +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-stalker/Config.in b/package/kodi-pvr-stalker/Config.in index 3ec530cd39..d334d0c2cb 100644 --- a/package/kodi-pvr-stalker/Config.in +++ b/package/kodi-pvr-stalker/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_KODI_PVR_STALKER bool "kodi-pvr-stalker" select BR2_PACKAGE_JSONCPP select BR2_PACKAGE_KODI_PLATFORM + select BR2_PACKAGE_LIBXML2 help A PVR Client that connects Kodi to Stalker Middleware diff --git a/package/kodi-pvr-stalker/kodi-pvr-stalker.mk b/package/kodi-pvr-stalker/kodi-pvr-stalker.mk index ee61171d78..32ac2cad0e 100644 --- a/package/kodi-pvr-stalker/kodi-pvr-stalker.mk +++ b/package/kodi-pvr-stalker/kodi-pvr-stalker.mk @@ -10,6 +10,6 @@ KODI_PVR_STALKER_VERSION = 2.8.6-Krypton 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_DEPENDENCIES = jsoncpp kodi-platform +KODI_PVR_STALKER_DEPENDENCIES = jsoncpp kodi-platform libxml2 $(eval $(cmake-package)) diff --git a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash index 7c91e36066..f4f6756931 100644 --- a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash +++ b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 79cd3ea79957ae2bca67c9a1cefe3546f27a6d4e88adb4973bb08228425be2fe kodi-pvr-vuplus-2.4.10-Krypton.tar.gz +sha256 a8c7345e4e2e415e29c21f14460b257dfbe08ed5ecf1cc2dc6bc393a10f95cf3 kodi-pvr-vuplus-2.4.12-Krypton.tar.gz diff --git a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk index e99f2260fa..581d884caa 100644 --- a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk +++ b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk @@ -6,7 +6,7 @@ # This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_PVR_VUPLUS_VERSION = 2.4.10-Krypton +KODI_PVR_VUPLUS_VERSION = 2.4.12-Krypton 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 diff --git a/package/kodi-skin-confluence/kodi-skin-confluence.hash b/package/kodi-skin-confluence/kodi-skin-confluence.hash index 276b000fd7..2dabbbd4c2 100644 --- a/package/kodi-skin-confluence/kodi-skin-confluence.hash +++ b/package/kodi-skin-confluence/kodi-skin-confluence.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 49ae60f397e3cac08dc0e9c027bc39a3936ccd27b956d7a43bf2424a07f162ec kodi-skin-confluence-96bed03570a90d4fdfb96ab71de9a51ceedd03fb.tar.gz +sha256 1fa8ebeec269e678111f64bec373d98e34b4ba1b32e583a505431b2562910ba0 kodi-skin-confluence-37bba429adc16d49a07add08de406682e1cc673a.tar.gz diff --git a/package/kodi-skin-confluence/kodi-skin-confluence.mk b/package/kodi-skin-confluence/kodi-skin-confluence.mk index a5ebcf553f..e9cdf3fbf7 100644 --- a/package/kodi-skin-confluence/kodi-skin-confluence.mk +++ b/package/kodi-skin-confluence/kodi-skin-confluence.mk @@ -6,7 +6,7 @@ # This cset is on the branch 'krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_SKIN_CONFLUENCE_VERSION = 96bed03570a90d4fdfb96ab71de9a51ceedd03fb +KODI_SKIN_CONFLUENCE_VERSION = 37bba429adc16d49a07add08de406682e1cc673a 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_reallocarray.patch b/package/kodi-texturepacker/0002-fix_reallocarray.patch new file mode 100644 index 0000000000..e32d09ef53 --- /dev/null +++ b/package/kodi-texturepacker/0002-fix_reallocarray.patch @@ -0,0 +1,170 @@ +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 77a9e3be4e..31e3580aed 100644 --- a/package/kodi-texturepacker/kodi-texturepacker.mk +++ b/package/kodi-texturepacker/kodi-texturepacker.mk @@ -6,7 +6,7 @@ # Not possible to directly refer to kodi variables, because of # first/second expansion trickery... -KODI_TEXTUREPACKER_VERSION = 17.5-Krypton +KODI_TEXTUREPACKER_VERSION = 17.6-Krypton KODI_TEXTUREPACKER_SITE = $(call github,xbmc,xbmc,$(KODI_TEXTUREPACKER_VERSION)) KODI_TEXTUREPACKER_SOURCE = kodi-$(KODI_TEXTUREPACKER_VERSION).tar.gz KODI_TEXTUREPACKER_LICENSE = GPL-2.0 diff --git a/package/kodi/0003-cmake-iconv-is-a-required-dependency.patch b/package/kodi/0003-cmake-iconv-is-a-required-dependency.patch new file mode 100644 index 0000000000..b95771c525 --- /dev/null +++ b/package/kodi/0003-cmake-iconv-is-a-required-dependency.patch @@ -0,0 +1,92 @@ +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/Config.in b/package/kodi/Config.in index eed4c15182..992b155f29 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++, locale, 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, host gcc >= 4.6" depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ || !BR2_USE_WCHAR || BR2_STATIC_LIBS \ - || !BR2_ENABLE_LOCALE \ || !BR2_HOST_GCC_AT_LEAST_4_6 \ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ || BR2_TOOLCHAIN_USES_MUSL \ @@ -34,7 +33,6 @@ comment "kodi needs an OpenGL EGL with either an openGL or an OpenGL ES backend" menuconfig BR2_PACKAGE_KODI bool "kodi" - depends on BR2_ENABLE_LOCALE depends on BR2_INSTALL_LIBSTDCPP depends on BR2_HOST_GCC_AT_LEAST_4_6 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 @@ -61,6 +59,7 @@ menuconfig BR2_PACKAGE_KODI select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBFRIBIDI select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_KODI_GL_EGL + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBPLIST select BR2_PACKAGE_LIBSAMPLERATE select BR2_PACKAGE_LZO @@ -193,6 +192,7 @@ config BR2_PACKAGE_KODI_NONFREE config BR2_PACKAGE_KODI_PULSEAUDIO bool "pulseaudio" + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC # Pulseaudio support in kodi needs glib support in Pulseaudio, # see FindPulseAudio.cmake. Kodi meets all dependencies of # libglib2, so there is no need to propagate them here. diff --git a/package/kodi/kodi.hash b/package/kodi/kodi.hash index ed3aea0255..23a11ca494 100644 --- a/package/kodi/kodi.hash +++ b/package/kodi/kodi.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 84c64acc270b9e845a67fbbe481ae5ddeb9b4568d76e42f2d5f9160fe0ce2de2 kodi-17.5-Krypton.tar.gz +sha256 c8312fe92e5bab1cdac1da93d60baed88fa1574146c50c44e3c86d01671c2b1d kodi-17.6-Krypton.tar.gz # Locally computed - libdvdcss sha256 b6eb2d929ff56cb051152c32010afc5e7cf5fe8c5ae32dca412a2b46b6b57e34 2f12236.tar.gz # Locally computed - libdvdnav diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk index 7da2595ee3..9d3b65ae91 100644 --- a/package/kodi/kodi.mk +++ b/package/kodi/kodi.mk @@ -6,7 +6,7 @@ # When updating the version, please also update kodi-jsonschemabuilder # and kodi-texturepacker -KODI_VERSION = 17.5-Krypton +KODI_VERSION = 17.6-Krypton KODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION)) KODI_LICENSE = GPL-2.0 KODI_LICENSE_FILES = LICENSE.GPL @@ -71,7 +71,12 @@ KODI_CONF_OPTS += \ -DWITH_TEXTUREPACKER=$(HOST_DIR)/bin/TexturePacker \ -DLIBDVDCSS_URL=$(DL_DIR)/$(KODI_LIBDVDCSS_VERSION).tar.gz \ -DLIBDVDNAV_URL=$(DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \ - -DLIBDVDREAD_URL=$(DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz + -DLIBDVDREAD_URL=$(DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz \ + -DENABLE_IMX=OFF + +ifeq ($(BR2_ENABLE_LOCALE),) +KODI_DEPENDENCIES += libiconv +endif ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi @@ -187,12 +192,6 @@ KODI_DEPENDENCIES += libamcodec else KODI_CONF_OPTS += -DENABLE_AML=OFF endif -ifeq ($(BR2_PACKAGE_IMX_VPUWRAP),y) -KODI_CONF_OPTS += -DENABLE_IMX=ON -KODI_DEPENDENCIES += imx-vpuwrap -else -KODI_CONF_OPTS += -DENABLE_IMX=OFF -endif endif ifeq ($(BR2_PACKAGE_HAS_UDEV),y) diff --git a/package/ktap/ktap.hash b/package/ktap/ktap.hash index d58bd85b43..1eff712501 100644 --- a/package/ktap/ktap.hash +++ b/package/ktap/ktap.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 bc8b03a53c430ae4fcf594ffdf31e2b2ed47a8fee25dd8fea60aa34f75441707 ktap-eb66d40310c93dc82bc8eac889744c1ed1f01f7b.tar.gz +sha256 44a0808d57175cf9d15466f720e1e10d5ed1abc3497aedf9ddd6469545552345 ktap-23bc7a4a94bd9e4e1b8b7c06632e61c041d57b5f.tar.gz +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 LICENSE-GPL diff --git a/package/ktap/ktap.mk b/package/ktap/ktap.mk index b9b3dbcc53..3b9134da65 100644 --- a/package/ktap/ktap.mk +++ b/package/ktap/ktap.mk @@ -4,7 +4,7 @@ # ################################################################################ -KTAP_VERSION = eb66d40310c93dc82bc8eac889744c1ed1f01f7b +KTAP_VERSION = 23bc7a4a94bd9e4e1b8b7c06632e61c041d57b5f KTAP_SITE = $(call github,ktap,ktap,$(KTAP_VERSION)) KTAP_LICENSE = GPL-2.0 KTAP_LICENSE_FILES = LICENSE-GPL diff --git a/package/kvm-unit-tests/0001-Makefile-remove-Werror-to-avoid-build-failures.patch b/package/kvm-unit-tests/0001-Makefile-remove-Werror-to-avoid-build-failures.patch index b1ea09272e..cbfa3a87e6 100644 --- a/package/kvm-unit-tests/0001-Makefile-remove-Werror-to-avoid-build-failures.patch +++ b/package/kvm-unit-tests/0001-Makefile-remove-Werror-to-avoid-build-failures.patch @@ -4,23 +4,24 @@ Date: Mon, 20 Nov 2017 22:09:39 +0100 Subject: [PATCH] Makefile: remove -Werror to avoid build failures Signed-off-by: Thomas Petazzoni +[Matthew: Refactoring of Thomas Petazzoni's original.] +Signed-off-by: Matthew Weber --- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + Makefile | 1 - + 1 file changed, 1 deletion(-) diff --git a/Makefile b/Makefile -index 16ce297..909498e 100644 +index 7231334..d9ad42b 100644 --- a/Makefile +++ b/Makefile -@@ -45,7 +45,7 @@ cc-option = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null \ - > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;) - - CFLAGS += -g --CFLAGS += $(autodepend-flags) -Wall -Werror -+CFLAGS += $(autodepend-flags) -Wall +@@ -53,7 +53,6 @@ cc-option = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null \ + COMMON_CFLAGS += -g $(autodepend-flags) + COMMON_CFLAGS += -Wall -Wwrite-strings -Wclobbered -Wempty-body -Wuninitialized + COMMON_CFLAGS += -Wignored-qualifiers -Wunused-but-set-parameter +-COMMON_CFLAGS += -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, "") -- -2.13.6 +2.14.2 diff --git a/package/kvm-unit-tests/0001-x86-hyperv_clock-be-explicit-about-mul-instruction-d.patch b/package/kvm-unit-tests/0001-x86-hyperv_clock-be-explicit-about-mul-instruction-d.patch deleted file mode 100644 index c8ee6b1ac4..0000000000 --- a/package/kvm-unit-tests/0001-x86-hyperv_clock-be-explicit-about-mul-instruction-d.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 022ae220d6e7b5bd064bc8698c271dca4dac7d8c Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 8 May 2017 22:27:25 +0200 -Subject: [PATCH] x86/hyperv_clock: be explicit about mul instruction data size - -With gcc 4.7.2, the build fails with: - -x86/hyperv_clock.c: Assembler messages: -x86/hyperv_clock.c:21: Error: no instruction mnemonic suffix given and no register operands; can't size instruction - -In order to avoid this, make the mul instruction data size explicit by -adding the appropriate suffix. It operates on 64-bit data, so use -"mulq". - -Signed-off-by: Thomas Petazzoni ---- - x86/hyperv_clock.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/x86/hyperv_clock.c b/x86/hyperv_clock.c -index 8b1deba..6c4dd56 100644 ---- a/x86/hyperv_clock.c -+++ b/x86/hyperv_clock.c -@@ -19,7 +19,7 @@ static inline u64 scale_delta(u64 delta, u64 mul_frac) - u64 product, unused; - - __asm__ ( -- "mul %3" -+ "mulq %3" - : "=d" (product), "=a" (unused) : "1" (delta), "rm" ((u64)mul_frac) ); - - return product; --- -2.7.4 - diff --git a/package/kvm-unit-tests/0002-kvm-unit-tests-test-for-rdseed-rdrand.patch b/package/kvm-unit-tests/0002-kvm-unit-tests-test-for-rdseed-rdrand.patch new file mode 100644 index 0000000000..47f15c6cda --- /dev/null +++ b/package/kvm-unit-tests/0002-kvm-unit-tests-test-for-rdseed-rdrand.patch @@ -0,0 +1,110 @@ +From 8d9a62a5fa89001266352a929c5d40b28c0dda85 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Fri, 12 Jan 2018 19:07:27 -0600 +Subject: [PATCH v2] kvm-unit-tests: test for rdseed/rdrand + +The build fails when the host binutils isn't at least 2.23 +(2.22.x introduced RDSEED). + +Fixes: +http://autobuild.buildroot.net/results/c39/c3987a3cbd2960b0ff50f872636bdfd8d1a9c820/ + +Upstream: +https://marc.info/?l=kvm&m=151580743523259&w=2 + +Signed-off-by: Matthew Weber +--- + Makefile | 2 +- + configure | 18 ++++++++++++++++++ + x86/vmx_tests.c | 6 ++++++ + 3 files changed, 25 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index d9ad42b..799e9b5 100644 +--- a/Makefile ++++ b/Makefile +@@ -50,7 +50,7 @@ include $(SRCDIR)/$(TEST_DIR)/Makefile + cc-option = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null \ + > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;) + +-COMMON_CFLAGS += -g $(autodepend-flags) ++COMMON_CFLAGS += -g $(autodepend-flags) $(EXTRA_CFLAGS) + COMMON_CFLAGS += -Wall -Wwrite-strings -Wclobbered -Wempty-body -Wuninitialized + COMMON_CFLAGS += -Wignored-qualifiers -Wunused-but-set-parameter + frame-pointer-flag=-f$(if $(KEEP_FRAME_POINTER),no-,)omit-frame-pointer +diff --git a/configure b/configure +index dd9d361..21c0219 100755 +--- a/configure ++++ b/configure +@@ -171,6 +171,23 @@ mkdir -p lib + ln -sf "$asm" lib/asm + + ++cat > rd_test.c < ++int main() { ++ uint16_t seed=0; ++ unsigned char ok; ++ asm volatile ("rdseed %0; setc %1" ++ : "=r" (seed), "=qm" (ok)); ++ return ok; ++} ++EOF ++if $cross_prefix$cc -o /dev/null rd_test.c &> /dev/null; then ++ echo "Checking for rdseed/rdrand... Yes." ++else ++ echo "Checking for rdseed/rdrand... No." ++ extra_cflags="-DNO_RDSEEDRAND" ++fi ++ + # create the config + cat < config.mak + SRCDIR=$srcdir +@@ -181,6 +198,7 @@ ARCH_NAME=$arch_name + PROCESSOR=$processor + CC=$cross_prefix$cc + CXX=$cross_prefix$cxx ++EXTRA_CFLAGS=$extra_cflags + LD=$cross_prefix$ld + OBJCOPY=$cross_prefix$objcopy + OBJDUMP=$cross_prefix$objdump +diff --git a/x86/vmx_tests.c b/x86/vmx_tests.c +index 4a3e94b..2cbe3eb 100644 +--- a/x86/vmx_tests.c ++++ b/x86/vmx_tests.c +@@ -770,8 +770,10 @@ asm( + "insn_sldt: sldt %ax;ret\n\t" + "insn_lldt: xor %eax, %eax; lldt %ax;ret\n\t" + "insn_str: str %ax;ret\n\t" ++#ifndef NO_RDSEEDRAND + "insn_rdrand: rdrand %rax;ret\n\t" + "insn_rdseed: rdseed %rax;ret\n\t" ++#endif + ); + extern void insn_hlt(); + extern void insn_invlpg(); +@@ -796,8 +798,10 @@ extern void insn_lldt(); + extern void insn_str(); + extern void insn_cpuid(); + extern void insn_invd(); ++#ifndef NO_RDSEEDRAND + extern void insn_rdrand(); + extern void insn_rdseed(); ++#endif + + u32 cur_insn; + u64 cr3; +@@ -853,8 +857,10 @@ static struct insn_table insn_table[] = { + {"DESC_TABLE (LLDT)", CPU_DESC_TABLE, insn_lldt, INSN_CPU1, 47, 0, 0, 0}, + {"DESC_TABLE (STR)", CPU_DESC_TABLE, insn_str, INSN_CPU1, 47, 0, 0, 0}, + /* LTR causes a #GP if done with a busy selector, so it is not tested. */ ++#ifndef NO_RDSEEDRAND + {"RDRAND", CPU_RDRAND, insn_rdrand, INSN_CPU1, VMX_RDRAND, 0, 0, 0}, + {"RDSEED", CPU_RDSEED, insn_rdseed, INSN_CPU1, VMX_RDSEED, 0, 0, 0}, ++#endif + // Instructions always trap + {"CPUID", 0, insn_cpuid, INSN_ALWAYS_TRAP, 10, 0, 0, 0}, + {"INVD", 0, insn_invd, INSN_ALWAYS_TRAP, 13, 0, 0, 0}, +-- +1.9.1 + diff --git a/package/kvm-unit-tests/kvm-unit-tests.hash b/package/kvm-unit-tests/kvm-unit-tests.hash index 2a4cfe021a..bb827de939 100644 --- a/package/kvm-unit-tests/kvm-unit-tests.hash +++ b/package/kvm-unit-tests/kvm-unit-tests.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 ccb9ff17a2c7d6c7d50b4b71b87381181b45484187100ae5b1ac54d9d61e8666 kvm-unit-tests-95062c20790d82713bfa7475b61a4adef3f3645a.tar.gz +sha256 346c543de9e953db283072e1c591cab9d0eb775f7fb1fff3d7560f38bdf6bdf2 kvm-unit-tests-kvm-unit-tests-20171020.tar.gz diff --git a/package/kvm-unit-tests/kvm-unit-tests.mk b/package/kvm-unit-tests/kvm-unit-tests.mk index c630ec6270..54614e2643 100644 --- a/package/kvm-unit-tests/kvm-unit-tests.mk +++ b/package/kvm-unit-tests/kvm-unit-tests.mk @@ -4,7 +4,7 @@ # ################################################################################ -KVM_UNIT_TESTS_VERSION = 95062c20790d82713bfa7475b61a4adef3f3645a +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_METHOD = git KVM_UNIT_TESTS_LICENSE = LGPL-2.0 diff --git a/package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch b/package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch deleted file mode 100644 index ed3370cfc8..0000000000 --- a/package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch +++ /dev/null @@ -1,42 +0,0 @@ -From bec1b0ced72dc0d49825d6b69d09296d13fd0af3 Mon Sep 17 00:00:00 2001 -From: Andre Przywara -Date: Tue, 21 Jul 2015 10:58:46 +0100 -Subject: [PATCH] avoid redefining PAGE_SIZE - -PAGE_SIZE may have been defined by the C libary (musl-libc does that). -So avoid redefining it here unconditionally, instead only use our -definition if none has been provided by the libc. - -Signed-off-by: Andre Przywara -Signed-off-by: Will Deacon -[backport from upstream commit 4095fac878f618ae5e7384a1dc65ee34b6e05217.] -Signed-off-by: Thomas Petazzoni ---- - include/kvm/kvm.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/include/kvm/kvm.h b/include/kvm/kvm.h -index 754e029..37155db 100644 ---- a/include/kvm/kvm.h -+++ b/include/kvm/kvm.h -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - - #define SIGKVMEXIT (SIGRTMIN + 0) - #define SIGKVMPAUSE (SIGRTMIN + 1) -@@ -19,7 +20,9 @@ - #define HOME_DIR getenv("HOME") - #define KVM_BINARY_NAME "lkvm" - -+#ifndef PAGE_SIZE - #define PAGE_SIZE (sysconf(_SC_PAGE_SIZE)) -+#endif - - #define DEFINE_KVM_EXT(ext) \ - .name = #ext, \ --- -2.9.4 - diff --git a/package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch b/package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch deleted file mode 100644 index 842c131dc5..0000000000 --- a/package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch +++ /dev/null @@ -1,58 +0,0 @@ -From ce9abb649165aca728e4645ce09e7bb77e684b06 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 19 Aug 2017 16:35:59 +0200 -Subject: [PATCH] x86/kvm-cpu.c: don't include - -Since kernel commit 25dc1d6cc3082aab293e5dad47623b550f7ddd2a ("x86: -stop exporting msr-index.h to userland"), is no -longer exported to userspace. Therefore, any toolchain built with -kernel headers >= 4.12 will no longer have this header file, causing a -build failure in kvmtool. - -As a replacement, this patch includes inside x86/kvm-cpu.c the -necessary MSR_* definitions. - -Signed-off-by: Thomas Petazzoni -Submitted-upstream: https://patchwork.kernel.org/patch/9910687/ ---- - x86/kvm-cpu.c | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -diff --git a/x86/kvm-cpu.c b/x86/kvm-cpu.c -index 5cc4e1e..b02ff65 100644 ---- a/x86/kvm-cpu.c -+++ b/x86/kvm-cpu.c -@@ -4,7 +4,6 @@ - #include "kvm/util.h" - #include "kvm/kvm.h" - --#include - #include - #include - #include -@@ -136,6 +135,22 @@ static struct kvm_msrs *kvm_msrs__new(size_t nmsrs) - return vcpu; - } - -+#define MSR_IA32_SYSENTER_CS 0x00000174 -+#define MSR_IA32_SYSENTER_ESP 0x00000175 -+#define MSR_IA32_SYSENTER_EIP 0x00000176 -+ -+#define MSR_STAR 0xc0000081 /* legacy mode SYSCALL target */ -+#define MSR_LSTAR 0xc0000082 /* long mode SYSCALL target */ -+#define MSR_CSTAR 0xc0000083 /* compat mode SYSCALL target */ -+#define MSR_SYSCALL_MASK 0xc0000084 /* EFLAGS mask for syscall */ -+#define MSR_KERNEL_GS_BASE 0xc0000102 /* SwapGS GS shadow */ -+ -+#define MSR_IA32_TSC 0x00000010 -+#define MSR_IA32_MISC_ENABLE 0x000001a0 -+ -+#define MSR_IA32_MISC_ENABLE_FAST_STRING_BIT 0 -+#define MSR_IA32_MISC_ENABLE_FAST_STRING (1ULL << MSR_IA32_MISC_ENABLE_FAST_STRING_BIT) -+ - #define KVM_MSR_ENTRY(_index, _data) \ - (struct kvm_msr_entry) { .index = _index, .data = _data } - --- -2.9.4 - diff --git a/package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch b/package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch deleted file mode 100644 index a358569b67..0000000000 --- a/package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 19490e24895df95253e43a7aacf3ef408b830bd5 Mon Sep 17 00:00:00 2001 -From: Andre Przywara -Date: Fri, 17 Jul 2015 17:02:15 +0100 -Subject: [PATCH] use instead of - -The manpage of poll(2) states that the prototype of poll is defined -in . Use that header file instead of to allow -compilation against musl-libc. - -Signed-off-by: Andre Przywara -Signed-off-by: Will Deacon -[backport from upstream commit 52c22e6e64a94cc701d86587d32cd3822ac5c293.] -Signed-off-by: Thomas Petazzoni ---- - disk/core.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/disk/core.c b/disk/core.c -index 309e16c..dd2f258 100644 ---- a/disk/core.c -+++ b/disk/core.c -@@ -5,7 +5,7 @@ - - #include - #include --#include -+#include - - #define AIO_MAX 256 - --- -2.9.4 - diff --git a/package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch b/package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch deleted file mode 100644 index d0591b9e4d..0000000000 --- a/package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 7a9c16dcf58ff4c8154f3a9dfa1f02ec3daa1662 Mon Sep 17 00:00:00 2001 -From: Andre Przywara -Date: Fri, 17 Jul 2015 17:02:16 +0100 -Subject: [PATCH] check for and use C library provided strlcpy and strlcat - -The musl-libc library provides implementations of strlcpy and strlcat, -so introduce a feature check for it and only use the kvmtool -implementation if there is no library support for it. -This avoids clashes with the public definition. - -Signed-off-by: Andre Przywara -Signed-off-by: Will Deacon -[backport from upstream commit 8f22adc4230f07980a318ad1662fba5af0c131c1.] -Signed-off-by: Thomas Petazzoni ---- - Makefile | 5 +++++ - config/feature-tests.mak | 10 ++++++++++ - include/kvm/strbuf.h | 2 ++ - util/strbuf.c | 2 ++ - 4 files changed, 19 insertions(+) - -diff --git a/Makefile b/Makefile -index 151fa9d..bf71db4 100644 ---- a/Makefile -+++ b/Makefile -@@ -199,6 +199,11 @@ endif - # On a given system, some libs may link statically, some may not; so, check - # both and only build those that link! - -+ifeq ($(call try-build,$(SOURCE_STRLCPY),$(CFLAGS),),y) -+ CFLAGS_DYNOPT += -DHAVE_STRLCPY -+ CFLAGS_STATOPT += -DHAVE_STRLCPY -+endif -+ - ifeq ($(call try-build,$(SOURCE_BFD),$(CFLAGS),-lbfd -static),y) - CFLAGS_STATOPT += -DCONFIG_HAS_BFD - OBJS_STATOPT += symbol.o -diff --git a/config/feature-tests.mak b/config/feature-tests.mak -index 6bee6c2..03cdb42 100644 ---- a/config/feature-tests.mak -+++ b/config/feature-tests.mak -@@ -196,3 +196,13 @@ int main(void) - return 0; - } - endef -+ -+define SOURCE_STRLCPY -+#include -+ -+int main(void) -+{ -+ strlcpy(NULL, NULL, 0); -+ return 0; -+} -+endef -diff --git a/include/kvm/strbuf.h b/include/kvm/strbuf.h -index 2beefbc..7657339 100644 ---- a/include/kvm/strbuf.h -+++ b/include/kvm/strbuf.h -@@ -6,8 +6,10 @@ - - int prefixcmp(const char *str, const char *prefix); - -+#ifndef HAVE_STRLCPY - extern size_t strlcat(char *dest, const char *src, size_t count); - extern size_t strlcpy(char *dest, const char *src, size_t size); -+#endif - - /* some inline functions */ - -diff --git a/util/strbuf.c b/util/strbuf.c -index 99d6b0c..2c6e8ad 100644 ---- a/util/strbuf.c -+++ b/util/strbuf.c -@@ -13,6 +13,7 @@ int prefixcmp(const char *str, const char *prefix) - } - } - -+#ifndef HAVE_STRLCPY - /** - * strlcat - Append a length-limited, %NUL-terminated string to another - * @dest: The string to be appended to -@@ -60,3 +61,4 @@ size_t strlcpy(char *dest, const char *src, size_t size) - } - return ret; - } -+#endif --- -2.9.4 - diff --git a/package/kvmtool/0005-Fix-call-to-connect.patch b/package/kvmtool/0005-Fix-call-to-connect.patch deleted file mode 100644 index 434ca34b2f..0000000000 --- a/package/kvmtool/0005-Fix-call-to-connect.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d375235f49184371026791ae8f6f9dc307de8a61 Mon Sep 17 00:00:00 2001 -From: Andre Przywara -Date: Fri, 17 Jul 2015 17:02:14 +0100 -Subject: [PATCH] Fix call to connect() - -According to the manpage and the prototype the second argument to -connect(2) is a "const struct sockaddr*", so cast our protocol -specific type back to the super type. -This fixes compilation on musl-libc. - -Signed-off-by: Andre Przywara -Signed-off-by: Will Deacon -[backport from upstream commit d77bd4f466f341d4b35fe8b91176ef8a37160e19.] -Signed-off-by: Thomas Petazzoni ---- - kvm-ipc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/kvm-ipc.c b/kvm-ipc.c -index b1c43dd..5a0b6e0 100644 ---- a/kvm-ipc.c -+++ b/kvm-ipc.c -@@ -99,7 +99,7 @@ int kvm__get_sock_by_instance(const char *name) - strlcpy(local.sun_path, sock_file, sizeof(local.sun_path)); - len = strlen(local.sun_path) + sizeof(local.sun_family); - -- r = connect(s, &local, len); -+ r = connect(s, (struct sockaddr *)&local, len); - if (r < 0 && errno == ECONNREFUSED) { - /* Tell the user clean ghost socket file */ - pr_err("\"%s\" could be a ghost socket file, please remove it", --- -2.9.4 - diff --git a/package/kvmtool/kvmtool.hash b/package/kvmtool/kvmtool.hash index 657fdb315e..428277354d 100644 --- a/package/kvmtool/kvmtool.hash +++ b/package/kvmtool/kvmtool.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 5633d8dd1542996108bf9b75c9f2cf6bf13fb27bfd453ec250b3e5405e85f6ac kvmtool-bed2bd9e1fbef5819090feeada7b86eed97ca5e2.tar.gz +sha256 2d55e4521ac040b870db015e1f075d69b89f940242d7ce5708f7d7060d62c0cc kvmtool-f77d646ba01d04be5aad9449ac00719c043fe36e.tar.gz diff --git a/package/kvmtool/kvmtool.mk b/package/kvmtool/kvmtool.mk index 2789a6e308..5894e4771d 100644 --- a/package/kvmtool/kvmtool.mk +++ b/package/kvmtool/kvmtool.mk @@ -4,7 +4,7 @@ # ################################################################################ -KVMTOOL_VERSION = bed2bd9e1fbef5819090feeada7b86eed97ca5e2 +KVMTOOL_VERSION = f77d646ba01d04be5aad9449ac00719c043fe36e KVMTOOL_SITE = $(BR2_KERNEL_MIRROR)/scm/linux/kernel/git/will/kvmtool.git KVMTOOL_SITE_METHOD = git KVMTOOL_DEPENDENCIES = \ @@ -18,23 +18,6 @@ KVMTOOL_DEPENDENCIES = \ KVMTOOL_LICENSE = GPL-2.0 KVMTOOL_LICENSE_FILES = COPYING -# This is required to convert a static binary (init helper) back into -# object-file format, and in multilib toolchains like CS 2012.09 for x86 -# the default is i386, hence when building for x86_64 things break since -# LD doesn't autodetect the input file format. -# GCC-as-linker can't accomplish this feat easily either since it's mixing -# static content (guest_init.o) with dynamic one (lkvm) making -# a relocatable output file. -# The purpose of this trick is to embed the init helper into the main -# binary to help users in guest system startup, which would otherwise -# require more complex guest images. -# This needs revisiting if/when X32 ABI support is added. -# -# If more packages need this (unlikely) an ld wrapper might be a better -# solution, using gcc -dumpspecs information. -KVMTOOL_EXTRA_LDFLAGS = \ - $(if $(BR2_x86_64),-m elf_x86_64) - # Disable -Werror, otherwise musl is not happy KVMTOOL_MAKE_OPTS = \ CROSS_COMPILE="$(TARGET_CROSS)" \ diff --git a/package/lcms2/0001-Fix-lcms2.pc.in-thread-library-dependency.patch b/package/lcms2/0001-Fix-lcms2.pc.in-thread-library-dependency.patch deleted file mode 100644 index f8c0d00d30..0000000000 --- a/package/lcms2/0001-Fix-lcms2.pc.in-thread-library-dependency.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0b55fd4e0935a0231ca258fde631a95215df2f72 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Fri, 11 Nov 2016 23:29:56 +0100 -Subject: [PATCH] Fix lcms2.pc.in thread library dependency. - -Needed (sometimes) for static linking. - -Signed-off-by: Peter Seiderer ---- - lcms2.pc.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lcms2.pc.in b/lcms2.pc.in -index b715f59..5b4213c 100644 ---- a/lcms2.pc.in -+++ b/lcms2.pc.in -@@ -7,5 +7,5 @@ Name: @PACKAGE@ - Description: LCMS Color Management Library - Version: @VERSION@ - Libs: -L${libdir} -llcms2 --Libs.private: @LIB_MATH@ -+Libs.private: @LIB_MATH@ @LIB_THREAD@ - Cflags: -I${includedir} --- -2.8.1 - diff --git a/package/lcms2/0001-Upgrade-Visual-studio-2017-15.8.patch b/package/lcms2/0001-Upgrade-Visual-studio-2017-15.8.patch new file mode 100644 index 0000000000..c43d934342 --- /dev/null +++ b/package/lcms2/0001-Upgrade-Visual-studio-2017-15.8.patch @@ -0,0 +1,174 @@ +From 768f70ca405cd3159d990e962d54456773bb8cf8 Mon Sep 17 00:00:00 2001 +From: Marti Maria +Date: Wed, 15 Aug 2018 20:07:56 +0200 +Subject: [PATCH] Upgrade Visual studio 2017 15.8 + +- Upgrade to 15.8 +- Add check on CGATS memory allocation (thanks to Quang Nguyen for +pointing out this) + +Signed-off-by: Peter Korsgaard +--- + Projects/VC2017/jpegicc/jpegicc.vcxproj | 1 + + Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj | 2 +- + Projects/VC2017/lcms2_static/lcms2_static.vcxproj | 2 +- + Projects/VC2017/linkicc/linkicc.vcxproj | 2 +- + Projects/VC2017/psicc/psicc.vcxproj | 2 +- + Projects/VC2017/testbed/testbed.vcxproj | 2 +- + Projects/VC2017/tiffdiff/tiffdiff.vcxproj | 2 +- + Projects/VC2017/tifficc/tifficc.vcxproj | 2 +- + Projects/VC2017/transicc/transicc.vcxproj | 1 + + src/cmscgats.c | 14 ++++++++++---- + 10 files changed, 19 insertions(+), 11 deletions(-) + +diff --git a/Projects/VC2017/jpegicc/jpegicc.vcxproj b/Projects/VC2017/jpegicc/jpegicc.vcxproj +index ab26a53..39cfd00 100644 +--- a/Projects/VC2017/jpegicc/jpegicc.vcxproj ++++ b/Projects/VC2017/jpegicc/jpegicc.vcxproj +@@ -22,6 +22,7 @@ + {62812507-F926-4968-96A9-17678460AD90} + jpegicc + Win32Proj ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj b/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj +index 4c8aa3f..d1bf3eb 100644 +--- a/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj ++++ b/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj +@@ -22,7 +22,7 @@ + {8C51BE48-ADB8-4089-A9EC-F6BF993A0548} + lcms2_DLL + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/lcms2_static/lcms2_static.vcxproj b/Projects/VC2017/lcms2_static/lcms2_static.vcxproj +index 2a9988a..9fc05ce 100644 +--- a/Projects/VC2017/lcms2_static/lcms2_static.vcxproj ++++ b/Projects/VC2017/lcms2_static/lcms2_static.vcxproj +@@ -22,7 +22,7 @@ + {71DEDE59-3F1E-486B-A899-4283000F76B5} + lcms2_static + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/linkicc/linkicc.vcxproj b/Projects/VC2017/linkicc/linkicc.vcxproj +index 30c2b4e..51586dd 100644 +--- a/Projects/VC2017/linkicc/linkicc.vcxproj ++++ b/Projects/VC2017/linkicc/linkicc.vcxproj +@@ -22,7 +22,7 @@ + {FBFBE1DC-DB84-4BA1-9552-B4780F457849} + linkicc + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/psicc/psicc.vcxproj b/Projects/VC2017/psicc/psicc.vcxproj +index 9dcf89a..8f26e12 100644 +--- a/Projects/VC2017/psicc/psicc.vcxproj ++++ b/Projects/VC2017/psicc/psicc.vcxproj +@@ -22,7 +22,7 @@ + {EF6A8851-65FE-46F5-B9EF-14F0B671F693} + psicc + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/testbed/testbed.vcxproj b/Projects/VC2017/testbed/testbed.vcxproj +index 0af3762..3f6aea3 100644 +--- a/Projects/VC2017/testbed/testbed.vcxproj ++++ b/Projects/VC2017/testbed/testbed.vcxproj +@@ -22,7 +22,7 @@ + {928A3A2B-46EF-4279-959C-513B3652FF0E} + testbed + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/tiffdiff/tiffdiff.vcxproj b/Projects/VC2017/tiffdiff/tiffdiff.vcxproj +index 7edfe28..3a6d837 100644 +--- a/Projects/VC2017/tiffdiff/tiffdiff.vcxproj ++++ b/Projects/VC2017/tiffdiff/tiffdiff.vcxproj +@@ -22,7 +22,7 @@ + {75B91835-CCD7-48BE-A606-A9C997D5DBEE} + tiffdiff + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/tifficc/tifficc.vcxproj b/Projects/VC2017/tifficc/tifficc.vcxproj +index cd9f04c..5ef954f 100644 +--- a/Projects/VC2017/tifficc/tifficc.vcxproj ++++ b/Projects/VC2017/tifficc/tifficc.vcxproj +@@ -22,7 +22,7 @@ + {2256DE16-ED92-4A6F-9C54-F65BB61E64A2} + tifficc + Win32Proj +- 8.1 ++ 10.0.17134.0 + + + +diff --git a/Projects/VC2017/transicc/transicc.vcxproj b/Projects/VC2017/transicc/transicc.vcxproj +index d9b77c6..b3173d8 100644 +--- a/Projects/VC2017/transicc/transicc.vcxproj ++++ b/Projects/VC2017/transicc/transicc.vcxproj +@@ -22,6 +22,7 @@ + {9EE22D66-C849-474C-9ED5-C3E141DAB160} + transicc + Win32Proj ++ 10.0.17134.0 + + + +diff --git a/src/cmscgats.c b/src/cmscgats.c +index 1a87613..8c3e96d 100644 +--- a/src/cmscgats.c ++++ b/src/cmscgats.c +@@ -1,7 +1,7 @@ + //--------------------------------------------------------------------------------- + // + // Little Color Management System +-// Copyright (c) 1998-2017 Marti Maria Saguer ++// Copyright (c) 1998-2018 Marti Maria Saguer + // + // Permission is hereby granted, free of charge, to any person obtaining + // a copy of this software and associated documentation files (the "Software"), +@@ -1506,10 +1506,16 @@ void AllocateDataSet(cmsIT8* it8) + t-> nSamples = atoi(cmsIT8GetProperty(it8, "NUMBER_OF_FIELDS")); + t-> nPatches = atoi(cmsIT8GetProperty(it8, "NUMBER_OF_SETS")); + +- t-> Data = (char**)AllocChunk (it8, ((cmsUInt32Number) t->nSamples + 1) * ((cmsUInt32Number) t->nPatches + 1) *sizeof (char*)); +- if (t->Data == NULL) { ++ if (t -> nSamples < 0 || t->nSamples > 0x7ffe || t->nPatches < 0 || t->nPatches > 0x7ffe) ++ { ++ SynError(it8, "AllocateDataSet: too much data"); ++ } ++ else { ++ t->Data = (char**)AllocChunk(it8, ((cmsUInt32Number)t->nSamples + 1) * ((cmsUInt32Number)t->nPatches + 1) * sizeof(char*)); ++ if (t->Data == NULL) { + +- SynError(it8, "AllocateDataSet: Unable to allocate data array"); ++ SynError(it8, "AllocateDataSet: Unable to allocate data array"); ++ } + } + + } +-- +2.11.0 + diff --git a/package/lcms2/0002-Added-an-extra-check-to-MLU-bounds.patch b/package/lcms2/0002-Added-an-extra-check-to-MLU-bounds.patch deleted file mode 100644 index 9a5d9dd4e9..0000000000 --- a/package/lcms2/0002-Added-an-extra-check-to-MLU-bounds.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 5ca71a7bc18b6897ab21d815d15e218e204581e2 Mon Sep 17 00:00:00 2001 -From: Marti -Date: Mon, 15 Aug 2016 23:31:39 +0200 -Subject: [PATCH] Added an extra check to MLU bounds - -Thanks to Ibrahim el-sayed for spotting the bug - -Signed-off-by: Peter Korsgaard ---- - src/cmstypes.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/cmstypes.c b/src/cmstypes.c -index cb61860..c7328b9 100644 ---- a/src/cmstypes.c -+++ b/src/cmstypes.c -@@ -1460,6 +1460,7 @@ void *Type_MLU_Read(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, cmsU - - // Check for overflow - if (Offset < (SizeOfHeader + 8)) goto Error; -+ if ((Offset + Len) > SizeOfTag + 8) goto Error; - - // True begin of the string - BeginOfThisString = Offset - SizeOfHeader - 8; --- -2.11.0 - diff --git a/package/lcms2/lcms2.hash b/package/lcms2/lcms2.hash index 1cf1017c54..248a08cf87 100644 --- a/package/lcms2/lcms2.hash +++ b/package/lcms2/lcms2.hash @@ -1,4 +1,5 @@ -# From https://sourceforge.net/projects/lcms/files/lcms/2.8 -sha1 e9535ec4a572b8fc7a1c405c35e6f4dc97714197 lcms2-2.8.tar.gz +# From https://sourceforge.net/projects/lcms/files/lcms/2.9 +sha1 60bea9875e017dd1c466e988c2ad98f8766e4e55 lcms2-2.9.tar.gz # Locally computed: -sha256 66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22 lcms2-2.8.tar.gz +sha256 48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20 lcms2-2.9.tar.gz +sha256 c725daac91a9259ce5e195683c0eeb797d345035c36ac5ba114c9fa80e11639a COPYING diff --git a/package/lcms2/lcms2.mk b/package/lcms2/lcms2.mk index 29f8ac8dee..a19f807d86 100644 --- a/package/lcms2/lcms2.mk +++ b/package/lcms2/lcms2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LCMS2_VERSION = 2.8 +LCMS2_VERSION = 2.9 LCMS2_SITE = http://downloads.sourceforge.net/project/lcms/lcms/$(LCMS2_VERSION) LCMS2_LICENSE = MIT LCMS2_LICENSE_FILES = COPYING diff --git a/package/leveldb/0003-fix-parallel-build.patch b/package/leveldb/0003-fix-parallel-build.patch new file mode 100644 index 0000000000..8aafbc2e02 --- /dev/null +++ b/package/leveldb/0003-fix-parallel-build.patch @@ -0,0 +1,36 @@ +From 293e1b08317567b2e479d24530986676ae4d2221 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 8 Oct 2018 23:08:19 +0200 +Subject: [PATCH] fix parallel build + +Build of leveldb sometimes fails on: +Fatal error: can't create out-shared/db/db_bench.o: No such file or directory + +Fix this, by creating $(SHARED_OUTDIR) before building +(SHARED_OUTDIR)/db/db_bench.o + +Fixes: + - http://autobuild.buildroot.net/results/945bb8096c1f98f307161a6def5a9f7f25b2454a + +Signed-off-by: Fabrice Fontaine +[Upstream status: not upstreamable as upstream switched to cmake] +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index f7cc7d7..edb56a5 100644 +--- a/Makefile ++++ b/Makefile +@@ -386,7 +386,7 @@ $(STATIC_OUTDIR)/write_batch_test:db/write_batch_test.cc $(STATIC_LIBOBJECTS) $( + $(STATIC_OUTDIR)/memenv_test:$(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) + $(XCRUN) $(CXX) $(LDFLAGS) $(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) -o $@ $(LIBS) + +-$(SHARED_OUTDIR)/db_bench:$(SHARED_OUTDIR)/db/db_bench.o $(SHARED_LIBS) $(TESTUTIL) ++$(SHARED_OUTDIR)/db_bench:$(SHARED_OUTDIR) $(SHARED_OUTDIR)/db/db_bench.o $(SHARED_LIBS) $(TESTUTIL) + $(XCRUN) $(CXX) $(LDFLAGS) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(SHARED_OUTDIR)/db/db_bench.o $(TESTUTIL) $(SHARED_OUTDIR)/$(SHARED_LIB3) -o $@ $(LIBS) + + .PHONY: run-shared +-- +2.17.1 + diff --git a/package/libarchive/0001-Do-something-sensible-for-empty-strings-to-make-fuzz.patch b/package/libarchive/0001-Do-something-sensible-for-empty-strings-to-make-fuzz.patch deleted file mode 100644 index 1d1d80d708..0000000000 --- a/package/libarchive/0001-Do-something-sensible-for-empty-strings-to-make-fuzz.patch +++ /dev/null @@ -1,42 +0,0 @@ -From fa7438a0ff4033e4741c807394a9af6207940d71 Mon Sep 17 00:00:00 2001 -From: Joerg Sonnenberger -Date: Tue, 5 Sep 2017 18:12:19 +0200 -Subject: [PATCH] Do something sensible for empty strings to make fuzzers - happy. - -Signed-off-by: Baruch Siach ---- -Upstream status: commit fa7438a0ff - - libarchive/archive_read_support_format_xar.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/libarchive/archive_read_support_format_xar.c b/libarchive/archive_read_support_format_xar.c -index 7a22beb9d8e4..93eeacc5e6eb 100644 ---- a/libarchive/archive_read_support_format_xar.c -+++ b/libarchive/archive_read_support_format_xar.c -@@ -1040,6 +1040,9 @@ atol10(const char *p, size_t char_cnt) - uint64_t l; - int digit; - -+ if (char_cnt == 0) -+ return (0); -+ - l = 0; - digit = *p - '0'; - while (digit >= 0 && digit < 10 && char_cnt-- > 0) { -@@ -1054,7 +1057,10 @@ atol8(const char *p, size_t char_cnt) - { - int64_t l; - int digit; -- -+ -+ if (char_cnt == 0) -+ return (0); -+ - l = 0; - while (char_cnt-- > 0) { - if (*p >= '0' && *p <= '7') --- -2.14.1 - diff --git a/package/libarchive/libarchive.hash b/package/libarchive/libarchive.hash index 98a34ad36c..cde48c8423 100644 --- a/package/libarchive/libarchive.hash +++ b/package/libarchive/libarchive.hash @@ -1,2 +1,4 @@ +# From http://www.libarchive.org/downloads/libarchive-3.3.3.sha512.txt +sha512 9d12b47d6976efa9f98e62c25d8b85fd745d4e9ca7b7e6d36bfe095dfe5c4db017d4e785d110f3758f5938dad6f1a1b009267fd7e82cb7212e93e1aea237bab7 libarchive-3.3.3.tar.gz # Locally computed: -sha256 ed2dbd6954792b2c054ccf8ec4b330a54b85904a80cef477a1c74643ddafa0ce libarchive-3.3.2.tar.gz +sha256 ae6f35cc1979beb316e4d6431fc34c6fc59f0dd126b425c8552bb41c86e4825d COPYING diff --git a/package/libarchive/libarchive.mk b/package/libarchive/libarchive.mk index 1c8391bda9..b7619b03db 100644 --- a/package/libarchive/libarchive.mk +++ b/package/libarchive/libarchive.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBARCHIVE_VERSION = 3.3.2 +LIBARCHIVE_VERSION = 3.3.3 LIBARCHIVE_SITE = http://www.libarchive.org/downloads LIBARCHIVE_INSTALL_STAGING = YES LIBARCHIVE_LICENSE = BSD-2-Clause, BSD-3-Clause diff --git a/package/libassuan/libassuan.hash b/package/libassuan/libassuan.hash index 01ade11f26..2e80cfa4e1 100644 --- a/package/libassuan/libassuan.hash +++ b/package/libassuan/libassuan.hash @@ -1,2 +1,7 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 27391cf4a820b5350ea789c30661830c9a271518 libassuan-2.4.3.tar.bz2 +sha1 c8432695bf1daa914a92f51e911881ed93d50604 libassuan-2.5.1.tar.bz2 +# Locally calculated after checking signature +# https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.1.tar.bz2.sig +sha256 47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449 libassuan-2.5.1.tar.bz2 +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB +sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/libassuan/libassuan.mk b/package/libassuan/libassuan.mk index 0e3aca36e2..e807086b73 100644 --- a/package/libassuan/libassuan.mk +++ b/package/libassuan/libassuan.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBASSUAN_VERSION = 2.4.3 +LIBASSUAN_VERSION = 2.5.1 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 9e67624d91..90af18dc38 100644 --- a/package/libatomic_ops/libatomic_ops.hash +++ b/package/libatomic_ops/libatomic_ops.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 cf7e61f7f929651b65d6186a03446819805c867f4f75c7148c8f26321eb66260 libatomic_ops-v7.4.6.tar.gz +sha256 7ee6a1772a49d02711b97c600bd214bd86ba8a31bd7c6d6e850b502780de367c libatomic_ops-v7.4.10.tar.gz +sha256 f0e630c0ca489767033da5a0c869fb4231db522c5ff479ce55a853a923a00f69 doc/LICENSING.txt +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/libatomic_ops/libatomic_ops.mk b/package/libatomic_ops/libatomic_ops.mk index 483f118128..dff62c51b0 100644 --- a/package/libatomic_ops/libatomic_ops.mk +++ b/package/libatomic_ops/libatomic_ops.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBATOMIC_OPS_VERSION = v7.4.6 +LIBATOMIC_OPS_VERSION = v7.4.10 LIBATOMIC_OPS_SITE = $(call github,ivmai,libatomic_ops,$(LIBATOMIC_OPS_VERSION)) LIBATOMIC_OPS_AUTORECONF = YES diff --git a/package/libbluray/libbluray.hash b/package/libbluray/libbluray.hash index 1cb9d8d3c8..9a35c5dafb 100644 --- a/package/libbluray/libbluray.hash +++ b/package/libbluray/libbluray.hash @@ -1,2 +1,3 @@ -# From http://get.videolan.org/libbluray/1.0.1/libbluray-1.0.1.tar.bz2.sha512 -sha512 798d38cc95af87599af5838e5c288f2536a73b33191db8ff3774cf7eb5b835006bea83693f016d47dff551001b98527d8b1f14051f673fb3b28073b820e325d7 libbluray-1.0.1.tar.bz2 +# From http://get.videolan.org/libbluray/1.0.2/libbluray-1.0.2.tar.bz2.sha512 +sha512 e1360ad08aa6cc67a80efa81a09004faebbe31105f1961494f82f655e3e7378b198ee3bc534b0d0c2bfec726939b11b545cc8bbfa30794fc647432dadf71089b libbluray-1.0.2.tar.bz2 +sha256 b3aa400aca6d2ba1f0bd03bd98d03d1fe7489a3bbb26969d72016360af8a5c9d COPYING diff --git a/package/libbluray/libbluray.mk b/package/libbluray/libbluray.mk index 4928f8acb8..3d7ce351c1 100644 --- a/package/libbluray/libbluray.mk +++ b/package/libbluray/libbluray.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBBLURAY_VERSION = 1.0.1 +LIBBLURAY_VERSION = 1.0.2 LIBBLURAY_SITE = http://get.videolan.org/libbluray/$(LIBBLURAY_VERSION) LIBBLURAY_SOURCE = libbluray-$(LIBBLURAY_VERSION).tar.bz2 LIBBLURAY_INSTALL_STAGING = YES diff --git a/package/libbsd/libbsd.hash b/package/libbsd/libbsd.hash index bc6c7cfb82..133df90cb9 100644 --- a/package/libbsd/libbsd.hash +++ b/package/libbsd/libbsd.hash @@ -1,2 +1,3 @@ -# Locally calculated after checking pgp signature -sha256 934b634f4dfd865b6482650b8f522c70ae65c463529de8be907b53c89c3a34a8 libbsd-0.8.3.tar.xz +# From https://lists.freedesktop.org/archives/libbsd/2018-January/000166.html +sha256 f548f10e5af5a08b1e22889ce84315b1ebe41505b015c9596bad03fd13a12b31 libbsd-0.8.7.tar.xz +sha256 0b6cedd686394f9c811a6a9fd314d68ab4738475ad3d9df61154259fa649a2a7 COPYING diff --git a/package/libbsd/libbsd.mk b/package/libbsd/libbsd.mk index eba25d7d03..e211389ec7 100644 --- a/package/libbsd/libbsd.mk +++ b/package/libbsd/libbsd.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBBSD_VERSION = 0.8.3 +LIBBSD_VERSION = 0.8.7 LIBBSD_SOURCE = libbsd-$(LIBBSD_VERSION).tar.xz -LIBBSD_SITE = http://libbsd.freedesktop.org/releases +LIBBSD_SITE = https://archive.hadrons.org/software/libbsd LIBBSD_LICENSE = BSD-3-Clause, MIT LIBBSD_LICENSE_FILES = COPYING LIBBSD_INSTALL_STAGING = YES diff --git a/package/libcap/libcap.hash b/package/libcap/libcap.hash index a1dcd62b3c..2d3aee591d 100644 --- a/package/libcap/libcap.hash +++ b/package/libcap/libcap.hash @@ -1,2 +1,5 @@ # https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/sha256sums.asc sha256 693c8ac51e983ee678205571ef272439d83afe62dd8e424ea14ad9790bc35162 libcap-2.25.tar.xz + +# Hash for license file: +sha256 088cabde4662b4121258d298b0b2967bc1abffa134457ed9bc4a359685ab92bc License diff --git a/package/libcap/libcap.mk b/package/libcap/libcap.mk index 48c2cb3456..a947fa0686 100644 --- a/package/libcap/libcap.mk +++ b/package/libcap/libcap.mk @@ -18,6 +18,9 @@ HOST_LIBCAP_DEPENDENCIES = host-gperf ifeq ($(BR2_STATIC_LIBS),y) LIBCAP_MAKE_TARGET = libcap.a libcap.pc LIBCAP_MAKE_INSTALL_TARGET = install-static +else ifeq ($(BR2_SHARED_LIBS),y) +LIBCAP_MAKE_TARGET = all +LIBCAP_MAKE_INSTALL_TARGET = install-shared else LIBCAP_MAKE_TARGET = all LIBCAP_MAKE_INSTALL_TARGET = install diff --git a/package/libcec/libcec.mk b/package/libcec/libcec.mk index 6d14447958..99d1c8b2ba 100644 --- a/package/libcec/libcec.mk +++ b/package/libcec/libcec.mk @@ -37,4 +37,11 @@ ifeq ($(BR2_PACKAGE_XLIB_LIBXRANDR),y) LIBCEC_DEPENDENCIES += xlib_libXrandr endif +# Disable information about how libCEC is compiled. +LIBCEC_CONF_OPTS += -DHAVE_GIT_BIN="" \ + -DHAVE_DATE_BIN="" \ + -DHAVE_WHOAMI_BIN="" \ + -DHAVE_HOSTNAME_BIN="" \ + -DHAVE_UNAME_BIN="" + $(eval $(cmake-package)) diff --git a/package/libcgi/libcgi.hash b/package/libcgi/libcgi.hash index 3d9f791ed2..f071cc0aea 100644 --- a/package/libcgi/libcgi.hash +++ b/package/libcgi/libcgi.hash @@ -1,2 +1,5 @@ # From https://github.com/rafaelsteil/libcgi/releases/download/v1.1/libcgi-1.1.tar.gz.sha256sum sha256 128445f2f828e84905d51bd53d11e2e08c489df3a07225ff9f198c1318092fe6 libcgi-1.1.tar.gz + +# Hash for license file: +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libcgi/libcgi.mk b/package/libcgi/libcgi.mk index 0d51de7542..d1e403fdf1 100644 --- a/package/libcgi/libcgi.mk +++ b/package/libcgi/libcgi.mk @@ -9,5 +9,6 @@ LIBCGI_SITE = https://github.com/rafaelsteil/libcgi/releases/download/v$(LIBCGI_ LIBCGI_INSTALL_STAGING = YES LIBCGI_LICENSE = LGPL-2.1+ +LIBCGI_LICENSE_FILES = COPYING $(eval $(cmake-package)) diff --git a/package/libcoap/libcoap.hash b/package/libcoap/libcoap.hash index 708ca1b6e7..deb94ecd6d 100644 --- a/package/libcoap/libcoap.hash +++ b/package/libcoap/libcoap.hash @@ -1,2 +1,5 @@ # Locally calculated sha256 f7e26dc232c177336474a14487771037a8fb32e311f5ccd076a00dc04b6d7b7a libcoap-v4.1.2.tar.gz +sha256 28b61fbf3c5477611d7f6ead97d15348934496d27dca815b34d45e622730e72e COPYING +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 LICENSE.GPL +sha256 9d5aeec17bdf82369bbe6e89efb07b7b35abefa044ea1d25cb2feeb70df1c208 LICENSE.BSD diff --git a/package/libcoap/libcoap.mk b/package/libcoap/libcoap.mk index 31a6822dd3..4f87886ba0 100644 --- a/package/libcoap/libcoap.mk +++ b/package/libcoap/libcoap.mk @@ -9,6 +9,7 @@ LIBCOAP_SITE = $(call github,obgm,libcoap,$(LIBCOAP_VERSION)) LIBCOAP_INSTALL_STAGING = YES LIBCOAP_LICENSE = GPL-2.0+ or BSD-2-Clause LIBCOAP_LICENSE_FILES = COPYING LICENSE.GPL LICENSE.BSD +LIBCOAP_DEPENDENCIES = host-pkgconf LIBCOAP_CONF_OPTS = --disable-examples LIBCOAP_AUTORECONF = YES diff --git a/package/libcodec2/libcodec2.hash b/package/libcodec2/libcodec2.hash index 47483604cc..e401e9d30e 100644 --- a/package/libcodec2/libcodec2.hash +++ b/package/libcodec2/libcodec2.hash @@ -1,4 +1,3 @@ -# sha1 from http://files.freedv.org/codec2/SHA1SUMS -sha1 8988aa33121b857d58a16f75b5061281b254a146 codec-0.7.tar.xz # Locally computed sha256 0695bb93cd985dd39f02f0db35ebc28a98b9b88747318f90774aba5f374eadb2 codec2-0.7.tar.xz +sha256 9ebb6f82b7380a62ac74c5f0322c88e6744dedf2ebe1f54d6f088282b39844bf COPYING diff --git a/package/libcodec2/libcodec2.mk b/package/libcodec2/libcodec2.mk index 7d1c6c3839..3253a35956 100644 --- a/package/libcodec2/libcodec2.mk +++ b/package/libcodec2/libcodec2.mk @@ -5,7 +5,7 @@ ################################################################################ LIBCODEC2_VERSION = 0.7 -LIBCODEC2_SITE = http://files.freedv.org/codec2 +LIBCODEC2_SITE = https://freedv.com/wp-content/uploads/sites/8/2017/10 LIBCODEC2_SOURCE = codec2-$(LIBCODEC2_VERSION).tar.xz LIBCODEC2_LICENSE = LGPL-2.1 LIBCODEC2_LICENSE_FILES = COPYING diff --git a/package/libcpprestsdk/0001-fix-xlocale-header-check.patch b/package/libcpprestsdk/0001-fix-xlocale-header-check.patch new file mode 100644 index 0000000000..ffed94a07f --- /dev/null +++ b/package/libcpprestsdk/0001-fix-xlocale-header-check.patch @@ -0,0 +1,55 @@ +From a826b7b656c165bc35746d9af3ec371387d2bca1 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 23 Oct 2017 08:11:21 -0400 +Subject: [PATCH] fix xlocale header check + +asyncrt_utils.h checks if __GLIBC__ is not defined before including +xlocal.h. This will cause a compilation failure on uclibc and musl. + +Add a proper check in CMakeLists.txt and check for HAVE_XLOCALE_H +instead of __GLIBC__ + +Upstream-Status: Accepted +Signed-off-by: Adam Duskett +--- + Release/CMakeLists.txt | 3 +++ + Release/include/cpprest/asyncrt_utils.h | 2 +- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/Release/CMakeLists.txt b/Release/CMakeLists.txt +index d57aa3d..eefae75 100644 +--- a/Release/CMakeLists.txt ++++ b/Release/CMakeLists.txt +@@ -42,6 +42,7 @@ include(cmake/cpprest_find_boost.cmake) + include(cmake/cpprest_find_zlib.cmake) + include(cmake/cpprest_find_openssl.cmake) + include(cmake/cpprest_find_websocketpp.cmake) ++include(CheckIncludeFiles) + + find_package(Threads REQUIRED) + if(THREADS_HAVE_PTHREAD_ARG) +@@ -56,6 +57,8 @@ if(CPPREST_EXCLUDE_WEBSOCKETS) + set(CPPREST_WEBSOCKETS_IMPL none CACHE STRING "Internal use.") + endif() + ++CHECK_INCLUDE_FILES(xlocale.h HAVE_XLOCALE_H) ++ + if(APPLE) # Note: also iOS + set(CPPREST_PPLX_IMPL apple CACHE STRING "Internal use.") + set(CPPREST_WEBSOCKETS_IMPL wspp CACHE STRING "Internal use.") +diff --git a/Release/include/cpprest/asyncrt_utils.h b/Release/include/cpprest/asyncrt_utils.h +index fac70a9..8faa2dc 100644 +--- a/Release/include/cpprest/asyncrt_utils.h ++++ b/Release/include/cpprest/asyncrt_utils.h +@@ -29,7 +29,7 @@ + + #ifndef _WIN32 + #include +-#if !defined(ANDROID) && !defined(__ANDROID__) && !defined(__GLIBC__) // CodePlex 269 ++#if !defined(ANDROID) && !defined(__ANDROID__) && defined(HAVE_XLOCALE_H) // CodePlex 269 + /* Systems using glibc: xlocale.h has been removed from glibc 2.26 + The above include of locale.h is sufficient + Further details: https://sourceware.org/git/?p=glibc.git;a=commit;h=f0be25b6336db7492e47d2e8e72eb8af53b5506d */ +-- +2.13.6 + diff --git a/package/libcpprestsdk/0002-include-sys-time-for-struct-timeval.patch b/package/libcpprestsdk/0002-include-sys-time-for-struct-timeval.patch new file mode 100644 index 0000000000..12f049bf7b --- /dev/null +++ b/package/libcpprestsdk/0002-include-sys-time-for-struct-timeval.patch @@ -0,0 +1,28 @@ +From 25453f9c186cf441881b06bc5503d979acb0ab75 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 23 Oct 2017 09:38:11 -0400 +Subject: [PATCH] Include sys/time.h for struct timeval + +This is needed with musl. + +Upstream-Status: Accepted +Signed-off-by: Adam Duskett +--- + Release/include/cpprest/asyncrt_utils.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Release/include/cpprest/asyncrt_utils.h b/Release/include/cpprest/asyncrt_utils.h +index 8faa2dc..aab87a5 100644 +--- a/Release/include/cpprest/asyncrt_utils.h ++++ b/Release/include/cpprest/asyncrt_utils.h +@@ -28,6 +28,7 @@ + #endif + + #ifndef _WIN32 ++#include + #include + #if !defined(ANDROID) && !defined(__ANDROID__) && defined(HAVE_XLOCALE_H) // CodePlex 269 + /* Systems using glibc: xlocale.h has been removed from glibc 2.26 +-- +2.13.6 + diff --git a/package/libcpprestsdk/0003-fix-strand.patch b/package/libcpprestsdk/0003-fix-strand.patch new file mode 100644 index 0000000000..f5710b38b9 --- /dev/null +++ b/package/libcpprestsdk/0003-fix-strand.patch @@ -0,0 +1,28 @@ +From e75d642726c4c78c368e74660ef4bc5503f3ec12 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Sun, 14 Jan 2018 14:44:02 -0500 +Subject: [PATCH] fix strand + +From upstream, fixes compiling against boost 1.66 strand. + +Commit IDs 6b2e0480018530b616f61d5cdc786c92ba148bb7 + +Signed-off-by: Adam Duskett +--- + Release/include/pplx/threadpool.h | 2 +- + Release/libs/websocketpp/websocketpp/transport/asio/connection.hpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Release/libs/websocketpp/websocketpp/transport/asio/connection.hpp b/Release/libs/websocketpp/websocketpp/transport/asio/connection.hpp +index 0be40f6b..395632c3 100644 +--- a/Release/libs/websocketpp/websocketpp/transport/asio/connection.hpp ++++ b/Release/libs/websocketpp/websocketpp/transport/asio/connection.hpp +@@ -422,7 +422,7 @@ class connection : public config::socket_type::socket_con_type { + m_io_service = io_service; + + if (config::enable_multithreading) { +- m_strand = lib::make_shared( ++ m_strand = lib::make_shared( + lib::ref(*io_service)); + + m_async_read_handler = m_strand->wrap(lib::bind( diff --git a/package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch b/package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch new file mode 100644 index 0000000000..de900178d5 --- /dev/null +++ b/package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch @@ -0,0 +1,38 @@ +From 8a9c3db14a390c0a8788405e52e9b8737a430191 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 12 Feb 2018 07:49:34 -0500 +Subject: [PATCH] libcpprestsdk: fix building as a static library + +Use pkg-config to find OpenSSL. This will automatically find any +dependent libraries and put them in the correct order for linking. + +Upstream status: submitted +https://github.com/Microsoft/cpprestsdk/pull/688 + +Signed-off-by: Adam Duskett +--- + Release/cmake/cpprest_find_openssl.cmake | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/Release/cmake/cpprest_find_openssl.cmake b/Release/cmake/cpprest_find_openssl.cmake +index 0b49a7e..2be8afb 100644 +--- a/Release/cmake/cpprest_find_openssl.cmake ++++ b/Release/cmake/cpprest_find_openssl.cmake +@@ -41,8 +41,12 @@ function(cpprest_find_openssl) + # This should prevent linking against the system provided 0.9.8y + set(_OPENSSL_VERSION "") + endif() +- find_package(OpenSSL 1.0.0 REQUIRED) +- ++ if(UNIX) ++ find_package(PkgConfig REQUIRED) ++ pkg_search_module(OPENSSL openssl REQUIRED) ++ else() ++ find_package(OpenSSL 1.0.0 REQUIRED) ++ endif() + INCLUDE(CheckCXXSourceCompiles) + set(CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCLUDE_DIR}") + set(CMAKE_REQUIRED_LIBRARIES "${OPENSSL_LIBRARIES}") +-- +2.14.3 + diff --git a/package/libcpprestsdk/Config.in b/package/libcpprestsdk/Config.in new file mode 100644 index 0000000000..a07159b124 --- /dev/null +++ b/package/libcpprestsdk/Config.in @@ -0,0 +1,31 @@ +config BR2_PACKAGE_LIBCPPRESTSDK + bool "libcpprestsdk" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_WCHAR # boost + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_ATOMIC + select BR2_PACKAGE_BOOST_CHRONO + select BR2_PACKAGE_BOOST_DATE_TIME + select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BOOST_RANDOM + 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 + asynchronous C++ API design. This project aims to help C++ + developers connect to and interact with services. + + https://github.com/Microsoft/cpprestsdk + +comment "libcpprestsdk needs a toolchain w/ NPTL, C++, wchar" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ + !BR2_INSTALL_LIBSTDCPP || \ + !BR2_USE_WCHAR + +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 new file mode 100644 index 0000000000..0bddfc916e --- /dev/null +++ b/package/libcpprestsdk/libcpprestsdk.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 f38bc48e6fca969de794dcd65889df6563855cee5ff99742dafc6b2869976e71 libcpprestsdk-v2.10.1.tar.gz +sha256 5c191789f502ac87df83b57008d2fc3e47fbf31315381b5bc4309f6602d0fe97 license.txt diff --git a/package/libcpprestsdk/libcpprestsdk.mk b/package/libcpprestsdk/libcpprestsdk.mk new file mode 100644 index 0000000000..4d30f07c39 --- /dev/null +++ b/package/libcpprestsdk/libcpprestsdk.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# libcpprestsdk +# +################################################################################ + +LIBCPPRESTSDK_VERSION = v2.10.1 +LIBCPPRESTSDK_SITE = $(call github,Microsoft,cpprestsdk,$(LIBCPPRESTSDK_VERSION)) +LIBCPPRESTSDK_LICENSE = MIT +LIBCPPRESTSDK_LICENSE_FILES = license.txt +LIBCPPRESTSDK_SUBDIR = Release +LIBCPPRESTSDK_DEPENDENCIES += host-pkgconf boost openssl zlib +LIBCPPRESTSDK_CONF_OPTS = -DWERROR=OFF + +$(eval $(cmake-package)) diff --git a/package/libcue/libcue.mk b/package/libcue/libcue.mk index 3aa3b4815f..7f8e45ecec 100644 --- a/package/libcue/libcue.mk +++ b/package/libcue/libcue.mk @@ -12,6 +12,8 @@ LIBCUE_DEPENDENCIES = host-bison host-flex flex LIBCUE_INSTALL_STAGING = YES LIBCUE_AUTORECONF = YES +LIBCUE_MAKE = $(MAKE1) + # Needed for autoreconf define LIBCUE_MAKE_CONFIG_DIR mkdir $(@D)/config diff --git a/package/libcurl/libcurl.hash b/package/libcurl/libcurl.hash index 275a5a373f..395307653d 100644 --- a/package/libcurl/libcurl.hash +++ b/package/libcurl/libcurl.hash @@ -1,4 +1,5 @@ # Locally calculated after checking pgp signature -# https://curl.haxx.se/download/curl-7.57.0.tar.xz.asc -sha256 f5f6fd3c72b7b8389969f4fb671ed8532fa9b5bb7a5cae7ca89bc1cea45c7878 curl-7.57.0.tar.xz -sha256 cbcf511f5702f7baf5424193a792bc9c18fab22bcbec2e6a587598389dc632c2 COPYING +# https://curl.haxx.se/download/curl-7.61.1.tar.xz.asc +# with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 +sha256 3d5913d6a39bd22e68e34dff697fd6e4c3c81563f580c76fca2009315cd81891 curl-7.61.1.tar.xz +sha256 5f3849ec38ddb927e79f514bf948890c41b8d1407286a49609b8fb1585931095 COPYING diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk index 0aab58a7de..7993062c6e 100644 --- a/package/libcurl/libcurl.mk +++ b/package/libcurl/libcurl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCURL_VERSION = 7.57.0 +LIBCURL_VERSION = 7.61.1 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz LIBCURL_SITE = https://curl.haxx.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ @@ -38,7 +38,6 @@ LIBCURL_CONFIG_SCRIPTS = curl-config ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBCURL_DEPENDENCIES += openssl -LIBCURL_CONF_ENV += ac_cv_lib_crypto_CRYPTO_lock=yes # configure adds the cross openssl dir to LD_LIBRARY_PATH which screws up # native stuff during the rest of configure when target == host. # Fix it by setting LD_LIBRARY_PATH to something sensible so those libs @@ -76,6 +75,13 @@ else LIBCURL_CONF_OPTS += --without-libssh2 endif +ifeq ($(BR2_PACKAGE_BROTLI),y) +LIBCURL_DEPENDENCIES += brotli +LIBCURL_CONF_OPTS += --with-brotli +else +LIBCURL_CONF_OPTS += --without-brotli +endif + define LIBCURL_FIX_DOT_PC printf 'Requires: openssl\n' >>$(@D)/libcurl.pc.in endef @@ -88,4 +94,18 @@ endef LIBCURL_POST_INSTALL_TARGET_HOOKS += LIBCURL_TARGET_CLEANUP endif +HOST_LIBCURL_DEPENDENCIES = host-openssl +HOST_LIBCURL_CONF_OPTS = \ + --disable-manual \ + --disable-ntlm-wb \ + --disable-curldebug \ + --with-ssl \ + --without-gnutls \ + --without-mbedtls \ + --without-polarssl \ + --without-nss + +HOST_LIBCURL_POST_PATCH_HOOKS += LIBCURL_FIX_DOT_PC + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) 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 new file mode 100644 index 0000000000..0fbe77ef7c --- /dev/null +++ b/package/libdrm/0003-configure-Makefile.am-use-pkg-config-to-discover-lib.patch @@ -0,0 +1,162 @@ +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/libdrm.hash b/package/libdrm/libdrm.hash index 87fdc893cb..0842411c5a 100644 --- a/package/libdrm/libdrm.hash +++ b/package/libdrm/libdrm.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/dri-devel/2017-November/156682.html -md5 fe4d5c77f1468ee73d0bbb30d76945d7 libdrm-2.4.88.tar.bz2 -sha1 9cac721d33eb1e65a89a764cb71a7a63ceb6d7c1 libdrm-2.4.88.tar.bz2 -sha256 b5e55dbac2124e742e639f5b8553e8b7395863bf73dab4f77e99fe2fc25572b5 libdrm-2.4.88.tar.bz2 -sha512 0d9d4bcc0d9be1fb6b1ca075339b22b0f927288a4c02bbcbf95406b5c095051890f3d2e0d32e529ef9b6952ce1250afd1e0765ad3188c2bac924dda8c33afabb libdrm-2.4.88.tar.bz2 +# From https://lists.freedesktop.org/archives/dri-devel/2017-December/160530.html +md5 5307a147dde67ac643f6753a42b5d32c libdrm-2.4.89.tar.bz2 +sha1 43123da26271df9a29deb687c1855bef3fed249c libdrm-2.4.89.tar.bz2 +sha256 629f9782aabbb4809166de5f24d26fe0766055255038f16935602d89f136a02e libdrm-2.4.89.tar.bz2 +sha512 380e4e46cd3971a73264bd1b482791fab0503268adb65ac81b674df009662cfb8ef5741e362f19670b2a43b1c46f022d857706c9a4bebed2b1cddaa317b7706d libdrm-2.4.89.tar.bz2 diff --git a/package/libdrm/libdrm.mk b/package/libdrm/libdrm.mk index 3d7b67122b..1c898a5b54 100644 --- a/package/libdrm/libdrm.mk +++ b/package/libdrm/libdrm.mk @@ -4,14 +4,20 @@ # ################################################################################ -LIBDRM_VERSION = 2.4.88 +LIBDRM_VERSION = 2.4.89 LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.bz2 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-pkgconf \ + host-xutil_util-macros LIBDRM_CONF_OPTS = \ --disable-cairo-tests \ diff --git a/package/libesmtp/Config.in b/package/libesmtp/Config.in index ba9d52751c..f3ed521d22 100644 --- a/package/libesmtp/Config.in +++ b/package/libesmtp/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_LIBESMTP help Library for sending emails through SMTP. - http://www.stafford.uklinux.net/libesmtp + http://brianstafford.info/libesmtp comment "libesmtp needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/package/libesmtp/libesmtp.mk b/package/libesmtp/libesmtp.mk index b0f88c7a3b..9c336793a4 100644 --- a/package/libesmtp/libesmtp.mk +++ b/package/libesmtp/libesmtp.mk @@ -6,7 +6,7 @@ LIBESMTP_VERSION = 1.0.6 LIBESMTP_SOURCE = libesmtp-$(LIBESMTP_VERSION).tar.bz2 -LIBESMTP_SITE = http://www.stafford.uklinux.net/libesmtp +LIBESMTP_SITE = http://brianstafford.info/libesmtp LIBESMTP_INSTALL_STAGING = YES LIBESMTP_CONFIG_SCRIPTS = libesmtp-config LIBESMTP_DEPENDENCIES = $(if $(BR2_PACKAGE_OPENSSL),openssl) diff --git a/package/libevdev/libevdev.hash b/package/libevdev/libevdev.hash index 1d3d18434f..0702a7b006 100644 --- a/package/libevdev/libevdev.hash +++ b/package/libevdev/libevdev.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/input-tools/2017-May/001387.html -md5 4f1cfaee8d75ea3fbbfeb99a98730952 libevdev-1.5.7.tar.xz -sha1 ba1d8b66af9bd4e1d503ce6b2ed011e9e309048c libevdev-1.5.7.tar.xz -sha256 a1e59e37a2f0d397ffd7e83b73af0e638db83b8dd08902ef0f651a21cc1dd422 libevdev-1.5.7.tar.xz -sha512 53adf6c92ec61f0635b643a88d8762a18f7cd3088d23ac95831be32cc7150ebd19f20265b90f6a1f9a63420c2f8968c2d17d8dc4892c0e90f9dfcce82c622df1 libevdev-1.5.7.tar.xz +# From https://lists.freedesktop.org/archives/input-tools/2018-January/001447.html +md5 c25a8c3939e4ad59a5e9e5e1e354832d libevdev-1.5.8.tar.xz +sha1 a60e7a43570cdbc64af5adf99ca80023d21a1174 libevdev-1.5.8.tar.xz +sha256 6083d81e46609da8ba80cb826c02d9080764a6dec33c8267ccb7e158833d4c6d libevdev-1.5.8.tar.xz +sha512 e9485d8c6b48ebf762b32b003bc6b761c548024ad3bc34a0793485b53383746881fcc9b206a078d571937291e519d9822e50c5d8816778d347094691b65ec3fa libevdev-1.5.8.tar.xz diff --git a/package/libevdev/libevdev.mk b/package/libevdev/libevdev.mk index e5d9c60d26..1893863efd 100644 --- a/package/libevdev/libevdev.mk +++ b/package/libevdev/libevdev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEVDEV_VERSION = 1.5.7 +LIBEVDEV_VERSION = 1.5.8 LIBEVDEV_SITE = http://www.freedesktop.org/software/libevdev LIBEVDEV_SOURCE = libevdev-$(LIBEVDEV_VERSION).tar.xz LIBEVDEV_LICENSE = X11 diff --git a/package/libfcgi/libfcgi.mk b/package/libfcgi/libfcgi.mk index ced850c153..78da772916 100644 --- a/package/libfcgi/libfcgi.mk +++ b/package/libfcgi/libfcgi.mk @@ -7,7 +7,7 @@ LIBFCGI_VERSION = 2.4.0 LIBFCGI_SOURCE = fcgi-$(LIBFCGI_VERSION).tar.gz LIBFCGI_SITE = http://www.fastcgi.com/dist -LIBFCGI_LICENSE = fcgi license +LIBFCGI_LICENSE = OML LIBFCGI_LICENSE_FILES = LICENSE.TERMS LIBFCGI_INSTALL_STAGING = YES LIBFCGI_AUTORECONF = YES diff --git a/package/libfuse/libfuse.hash b/package/libfuse/libfuse.hash index 60bdf63990..3d1b973071 100644 --- a/package/libfuse/libfuse.hash +++ b/package/libfuse/libfuse.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature -sha256 832432d1ad4f833c20e13b57cf40ce5277a9d33e483205fc63c78111b3358874 fuse-2.9.7.tar.gz +sha256 5e84f81d8dd527ea74f39b6bc001c874c02bad6871d7a9b0c14efb57430eafe3 fuse-2.9.8.tar.gz + +# Hash for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/libfuse/libfuse.mk b/package/libfuse/libfuse.mk index dc177d03c1..e8a79a3166 100644 --- a/package/libfuse/libfuse.mk +++ b/package/libfuse/libfuse.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFUSE_VERSION = 2.9.7 +LIBFUSE_VERSION = 2.9.8 LIBFUSE_SOURCE = fuse-$(LIBFUSE_VERSION).tar.gz LIBFUSE_SITE = https://github.com/libfuse/libfuse/releases/download/fuse-$(LIBFUSE_VERSION) LIBFUSE_LICENSE = GPL-2.0, LGPL-2.1 diff --git a/package/libgcrypt/libgcrypt.hash b/package/libgcrypt/libgcrypt.hash index 8999db8970..dce6522959 100644 --- a/package/libgcrypt/libgcrypt.hash +++ b/package/libgcrypt/libgcrypt.hash @@ -1,5 +1,6 @@ -# From https://www.gnupg.org/download/integrity_check.html -sha1 dd35f00da45602afe81e01f4d60c40bbdd826fe6 libgcrypt-1.8.1.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q2/000426.html +sha1 13bd2ce69e59ab538e959911dfae80ea309636e3 libgcrypt-1.8.3.tar.bz2 # Locally calculated after checking signature -# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.1.tar.bz2.sig -sha256 7a2875f8b1ae0301732e878c0cca2c9664ff09ef71408f085c50e332656a78b3 libgcrypt-1.8.1.tar.bz2 +# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.3.tar.bz2.sig +sha256 66ec90be036747602f2b48f98312361a9180c97c68a690a5f376fa0f67d0af7c libgcrypt-1.8.3.tar.bz2 +sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LIB diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk index fbbb83162e..f25944da64 100644 --- a/package/libgcrypt/libgcrypt.mk +++ b/package/libgcrypt/libgcrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGCRYPT_VERSION = 1.8.1 +LIBGCRYPT_VERSION = 1.8.3 LIBGCRYPT_SOURCE = libgcrypt-$(LIBGCRYPT_VERSION).tar.bz2 LIBGCRYPT_LICENSE = LGPL-2.1+ LIBGCRYPT_LICENSE_FILES = COPYING.LIB diff --git a/package/libgdiplus/0001-Fix-compile-error-when-cross-compiling.patch b/package/libgdiplus/0001-Fix-compile-error-when-cross-compiling.patch deleted file mode 100644 index db67d467df..0000000000 --- a/package/libgdiplus/0001-Fix-compile-error-when-cross-compiling.patch +++ /dev/null @@ -1,35 +0,0 @@ -From daf96b07c02734dceaf3c3b78c10e4e758b74d9e Mon Sep 17 00:00:00 2001 -From: Sergio Prado -Date: Fri, 18 Dec 2015 15:08:58 -0200 -Subject: [PATCH 1/1] Fix compile error when cross-compiling. - -When cross-compiling with libjpeg enabled, we can get errors like the -following when linking: - -sh-linux-gnu-gcc: ERROR: unsafe header/library path used in -cross-compilation: '/lib' - -That's because there is an error in the configure script that are not -generating ldflags correctly, and are trying to link with -L/lib. - -Signed-off-by: Sergio Prado ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 772d5fc9d87a..58d55ade48e3 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -223,7 +223,7 @@ AC_ARG_WITH([libjpeg], - jpeg_ok=no) - AC_MSG_RESULT($jpeg_ok) - if test "$jpeg_ok" = yes; then -- JPEG='jpeg'; LIBJPEG='-L${libjpeg_prefix}/lib -ljpeg' -+ JPEG='jpeg'; LIBJPEG="-L${libjpeg_prefix}/lib -ljpeg" - else - AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***) - fi --- -1.9.1 - diff --git a/package/libgdiplus/libgdiplus.hash b/package/libgdiplus/libgdiplus.hash index f7fdcb58a4..740fefd986 100644 --- a/package/libgdiplus/libgdiplus.hash +++ b/package/libgdiplus/libgdiplus.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 98f8a8e58ed22e136c4ac6eaafbc860757f5a97901ecc0ea357e2b6e4cfa2be5 libgdiplus-4.2.tar.gz +sha256 ce31da0c6952c8fd160813dfa9bf4a9a871bfe7284e9e3abff9a8ee689acfe58 libgdiplus-5.4.tar.gz diff --git a/package/libgdiplus/libgdiplus.mk b/package/libgdiplus/libgdiplus.mk index 7d564b6cd9..eb1858574d 100644 --- a/package/libgdiplus/libgdiplus.mk +++ b/package/libgdiplus/libgdiplus.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGDIPLUS_VERSION = 4.2 +LIBGDIPLUS_VERSION = 5.4 LIBGDIPLUS_SITE = $(call github,mono,libgdiplus,$(LIBGDIPLUS_VERSION)) # Although there is a LICENSE file thas specifies LGPL or MPL-1.1, @@ -21,9 +21,12 @@ LIBGDIPLUS_AUTORECONF = YES LIBGDIPLUS_DEPENDENCIES = xlib_libXft libglib2 cairo libpng host-pkgconf -# API changes in recent versions of libgif makes it incompatible with -# this version of libgdiplus, so we are disabling it for now. -LIBGDIPLUS_CONF_OPTS = --without-libgif +ifeq ($(BR2_PACKAGE_GIFLIB),y) +LIBGDIPLUS_CONF_OPTS += --with-libgif +LIBGDIPLUS_DEPENDENCIES += giflib +else +LIBGDIPLUS_CONF_OPTS += --without-libgif +endif # there is a bug in the configure script that enables pango support # when passing --without-pango, so let's just not use it 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 new file mode 100644 index 0000000000..fa558e6dbf --- /dev/null +++ b/package/libglib2/0004-Do-not-hardcode-python-path-into-various-tools.patch @@ -0,0 +1,48 @@ +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/libglib2.mk b/package/libglib2/libglib2.mk index b13da333d8..ff28ca611a 100644 --- a/package/libglib2/libglib2.mk +++ b/package/libglib2/libglib2.mk @@ -8,7 +8,7 @@ LIBGLIB2_VERSION_MAJOR = 2.54 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.0+ +LIBGLIB2_LICENSE = LGPL-2.1+ LIBGLIB2_LICENSE_FILES = COPYING # 0002-disable-tests.patch LIBGLIB2_AUTORECONF = YES @@ -42,8 +42,6 @@ LIBGLIB2_CONF_ENV = \ 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 \ diff --git a/package/libgpg-error/libgpg-error.hash b/package/libgpg-error/libgpg-error.hash index 0541d2311a..0e6304de66 100644 --- a/package/libgpg-error/libgpg-error.hash +++ b/package/libgpg-error/libgpg-error.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature -sha256 04bdc7fd12001c797cc689b007fe24909f55aa0ee1d6d6aef967d9eebf5b2461 libgpg-error-1.27.tar.gz +# https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.29.tar.bz2.sig +sha256 ece926fa5719d17a7ad8da618712cfa2f8a796ab2f2af9d544c5bb093383b1ea libgpg-error-1.29.tar.bz2 +# Locally calculated +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk index 2140258c6e..862cb44eef 100644 --- a/package/libgpg-error/libgpg-error.mk +++ b/package/libgpg-error/libgpg-error.mk @@ -4,8 +4,9 @@ # ################################################################################ -LIBGPG_ERROR_VERSION = 1.27 -LIBGPG_ERROR_SITE = ftp://ftp.gnupg.org/gcrypt/libgpg-error +LIBGPG_ERROR_VERSION = 1.29 +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+ LIBGPG_ERROR_LICENSE_FILES = COPYING COPYING.LIB LIBGPG_ERROR_INSTALL_STAGING = YES diff --git a/package/libgpgme/0001-core-Tweak-STATUS_FAILURE-handling.patch b/package/libgpgme/0001-core-Tweak-STATUS_FAILURE-handling.patch new file mode 100644 index 0000000000..ae0e9c5498 --- /dev/null +++ b/package/libgpgme/0001-core-Tweak-STATUS_FAILURE-handling.patch @@ -0,0 +1,51 @@ +From b99502274ae5efdf6df0d967900ec3d1e64373d7 Mon Sep 17 00:00:00 2001 +From: Werner Koch +Date: Thu, 12 Apr 2018 20:36:30 +0200 +Subject: [PATCH] core: Tweak STATUS_FAILURE handling. + +* src/op-support.c (_gpgme_parse_failure): Ignore failures with +location "gpg-exit". +* tests/gpg/t-verify.c (main): Adjust for the now working checking of +the second key. + +Signed-off-by: Werner Koch +[baruch: drop test] +Signed-off-by: Baruch Siach +--- +Upstream status: commit b99502274ae + + src/op-support.c | 10 +++++++++- + tests/gpg/t-verify.c | 8 +++++--- + 2 files changed, 14 insertions(+), 4 deletions(-) + +diff --git a/src/op-support.c b/src/op-support.c +index 43cb1c760e0d..e55875f904d0 100644 +--- a/src/op-support.c ++++ b/src/op-support.c +@@ -400,7 +400,13 @@ _gpgme_parse_plaintext (char *args, char **filenamep) + + + /* Parse a FAILURE status line and return the error code. ARGS is +- modified to contain the location part. */ ++ * modified to contain the location part. Note that for now we ignore ++ * failure codes with a location of gpg-exit; they are too trouble ++ * some. Instead we should eventually record that error in the ++ * context and provide a function to return a fuller error ++ * description; this could then also show the location of the error ++ * (e.g. "option- parser") to make it easier for the user to detect ++ * the actual error. */ + gpgme_error_t + _gpgme_parse_failure (char *args) + { +@@ -418,6 +424,8 @@ _gpgme_parse_failure (char *args) + *where = '\0'; + + where = args; ++ if (!strcmp (where, "gpg-exit")) ++ return 0; + + return atoi (which); + } +-- +2.17.0 + diff --git a/package/libgpgme/libgpgme.hash b/package/libgpgme/libgpgme.hash index cf7c5050fe..6bd595c5ac 100644 --- a/package/libgpgme/libgpgme.hash +++ b/package/libgpgme/libgpgme.hash @@ -1,2 +1,7 @@ +# From https://lists.gnupg.org/pipermail/gnupg-announce/2017q4/000418.html +sha1 77d3390887da25ed70b7ac04392360efbdca501f gpgme-1.10.0.tar.bz2 # Locally calculated after checking pgp signature -sha256 1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb gpgme-1.9.0.tar.bz2 +# https://gnupg.org/ftp/gcrypt/gpgme/gpgme-1.10.0.tar.bz2.sig +sha256 1a8fed1197c3b99c35f403066bb344a26224d292afc048cfdfc4ccd5690a0693 gpgme-1.10.0.tar.bz2 +# Locally calculated +sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LESSER diff --git a/package/libgpgme/libgpgme.mk b/package/libgpgme/libgpgme.mk index 5af2b5ed91..5c46c7c561 100644 --- a/package/libgpgme/libgpgme.mk +++ b/package/libgpgme/libgpgme.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBGPGME_VERSION = 1.9.0 -LIBGPGME_SITE = ftp://ftp.gnupg.org/gcrypt/gpgme +LIBGPGME_VERSION = 1.10.0 +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 @@ -35,4 +35,9 @@ LIBGPGME_CONF_ENV += LIBS="-largp" ac_cv_type_error_t=yes LIBGPGME_DEPENDENCIES += argp-standalone endif +# MIPS N64 (re)introduced getdents64 in kernel version 3.10 +ifeq ($(BR2_MIPS_NABI64)x$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10),yx) +LIBGPGME_CONF_OPTS += --disable-linux-getdents +endif + $(eval $(autotools-package)) diff --git a/package/libgpiod/libgpiod.hash b/package/libgpiod/libgpiod.hash index 73150dc9b9..6baeee2358 100644 --- a/package/libgpiod/libgpiod.hash +++ b/package/libgpiod/libgpiod.hash @@ -1,2 +1,4 @@ # From https://www.kernel.org/pub/software/libs/libgpiod/sha256sums.asc sha256 50c7862428ca90b58672e2475aea66d33a6fc86c6bab1928c0660f3aedf44a37 libgpiod-0.3.2.tar.xz +# Hash for license file +sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING diff --git a/package/libgta/Config.in b/package/libgta/Config.in new file mode 100644 index 0000000000..894dced096 --- /dev/null +++ b/package/libgta/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_LIBGTA + bool "libgta" + select BR2_PACKAGE_BZIP2 + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_XZ + help + Libgta is a portable library that implements the Generic + Tagged Array (GTA) file format. + + http://gta.nongnu.org diff --git a/package/libgta/libgta.hash b/package/libgta/libgta.hash new file mode 100644 index 0000000000..d5fceb4205 --- /dev/null +++ b/package/libgta/libgta.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 1d2ff713955eee28310de082a8fd8e236403c27dee3716ba1238c56e6643e4fb libgta-1.0.8.tar.xz +sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING diff --git a/package/libgta/libgta.mk b/package/libgta/libgta.mk new file mode 100644 index 0000000000..1189feeff9 --- /dev/null +++ b/package/libgta/libgta.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# libgta +# +################################################################################ + +LIBGTA_VERSION = 1.0.8 +LIBGTA_SITE = http://download.savannah.nongnu.org/releases/gta +LIBGTA_SOURCE = libgta-$(LIBGTA_VERSION).tar.xz +LIBGTA_INSTALL_STAGING = YES +LIBGTA_DEPENDENCIES = host-pkgconf bzip2 xz zlib +LIBGTA_LICENSE = LGPL-2.1+ +LIBGTA_LICENSE_FILES = COPYING + +LIBGTA_CONF_OPTS += -DGTA_BUILD_DOCUMENTATION=OFF + +ifeq ($(BR2_STATIC_LIBS),) +LIBGTA_CONF_OPTS += -DGTA_BUILD_SHARED_LIB=ON +else +LIBGTA_CONF_OPTS += -DGTA_BUILD_SHARED_LIB=OFF +endif + +ifeq ($(BR2_SHARED_LIBS),) +LIBGTA_CONF_OPTS += -DGTA_BUILD_STATIC_LIB=ON +else +LIBGTA_CONF_OPTS += -DGTA_BUILD_STATIC_LIB=OFF +endif + +$(eval $(cmake-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 index df166565f9..70f16f662f 100644 --- 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 @@ -8,28 +8,32 @@ This allows "make install; make install" to work properly. Signed-off-by: Thomas Petazzoni Signed-off-by: Renaud AUBIN --- - Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + Makefile | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile -index 33c8ba0..b36d95a 100644 +index 6cf63bd..c182e5c 100644 --- a/Makefile +++ b/Makefile -@@ -125,12 +125,12 @@ tags: http_parser.c http_parser.h test.c +@@ -133,14 +133,14 @@ tags: http_parser.c http_parser.h test.c install: library - $(INSTALL) -D http_parser.h $(INCLUDEDIR)/http_parser.h - $(INSTALL) -D $(SONAME) $(LIBDIR)/$(SONAME) -- ln -s $(LIBDIR)/$(SONAME) $(LIBDIR)/libhttp_parser.$(SOEXT) -+ ln -sf $(LIBDIR)/$(SONAME) $(LIBDIR)/libhttp_parser.$(SOEXT) + $(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 $(INCLUDEDIR)/http_parser.h - $(INSTALL) -D -s $(SONAME) $(LIBDIR)/$(SONAME) -- ln -s $(LIBDIR)/$(SONAME) $(LIBDIR)/libhttp_parser.$(SOEXT) -+ ln -sf $(LIBDIR)/$(SONAME) $(LIBDIR)/libhttp_parser.$(SOEXT) + $(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 $(INCLUDEDIR)/http_parser.h + rm $(DESTDIR)$(INCLUDEDIR)/http_parser.h -- 2.6.2 diff --git a/package/libhttpparser/libhttpparser.hash b/package/libhttpparser/libhttpparser.hash index a1b772e54c..8ffceb24d9 100644 --- a/package/libhttpparser/libhttpparser.hash +++ b/package/libhttpparser/libhttpparser.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 70409ad324e5de2da6a0f39e859e566d497c1ff0a249c0c38a5012df91b386b3 libhttpparser-v2.7.1.tar.gz +sha256 7277c6f99bf6fc272eb5d8fc3dca01e7cc1d4ae609b5d2c5d5e18added98479d libhttpparser-v2.8.0.tar.gz diff --git a/package/libhttpparser/libhttpparser.mk b/package/libhttpparser/libhttpparser.mk index 8ff0413322..5f50d877d9 100644 --- a/package/libhttpparser/libhttpparser.mk +++ b/package/libhttpparser/libhttpparser.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBHTTPPARSER_VERSION = v2.7.1 +LIBHTTPPARSER_VERSION = v2.8.0 LIBHTTPPARSER_SITE = $(call github,nodejs,http-parser,$(LIBHTTPPARSER_VERSION)) LIBHTTPPARSER_INSTALL_STAGING = YES LIBHTTPPARSER_LICENSE = MIT @@ -23,4 +23,13 @@ define LIBHTTPPARSER_INSTALL_TARGET_CMDS $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) PREFIX=$(TARGET_DIR)/usr install endef +define HOST_LIBHTTPPARSER_BUILD_CMDS + $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) library package +endef + +define HOST_LIBHTTPPARSER_INSTALL_CMDS + $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) PREFIX=$(HOST_DIR)/usr install +endef + $(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/libiio/libiio.mk b/package/libiio/libiio.mk index 0b13064085..3fbd39188a 100644 --- a/package/libiio/libiio.mk +++ b/package/libiio/libiio.mk @@ -54,8 +54,8 @@ else LIBIIO_CONF_OPTS += -DWITH_IIOD_USBD=OFF endif -# Avahi support in libiio requires avahi-client, which needs avahi-daemon -ifeq ($(BR2_PACKAGE_AVAHI)$(BR2_PACKAGE_AVAHI_DAEMON),yy) +# Avahi support in libiio requires avahi-client, which needs avahi-daemon and dbus +ifeq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yy) LIBIIO_DEPENDENCIES += avahi endif diff --git a/package/libjpeg/libjpeg.mk b/package/libjpeg/libjpeg.mk index e5bd454479..36f084bfb5 100644 --- a/package/libjpeg/libjpeg.mk +++ b/package/libjpeg/libjpeg.mk @@ -7,7 +7,7 @@ LIBJPEG_VERSION = 9b LIBJPEG_SITE = http://www.ijg.org/files LIBJPEG_SOURCE = jpegsrc.v$(LIBJPEG_VERSION).tar.gz -LIBJPEG_LICENSE = jpeg-license (BSD-3-Clause-like) +LIBJPEG_LICENSE = IJG LIBJPEG_LICENSE_FILES = README LIBJPEG_INSTALL_STAGING = YES LIBJPEG_PROVIDES = jpeg @@ -18,5 +18,14 @@ endef LIBJPEG_POST_INSTALL_TARGET_HOOKS += LIBJPEG_REMOVE_USELESS_TOOLS +define LIBJPEG_INSTALL_STAGING_PC + $(INSTALL) -D -m 0644 package/libjpeg/libjpeg.pc.in \ + $(STAGING_DIR)/usr/lib/pkgconfig/libjpeg.pc + version=`sed -e '/^PACKAGE_VERSION/!d;s/PACKAGE_VERSION = \(.*\)/\1/' $(@D)/Makefile` ; \ + $(SED) "s/@PACKAGE_VERSION@/$${version}/" $(STAGING_DIR)/usr/lib/pkgconfig/libjpeg.pc +endef + +LIBJPEG_POST_INSTALL_STAGING_HOOKS += LIBJPEG_INSTALL_STAGING_PC + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/libjpeg/libjpeg.pc.in b/package/libjpeg/libjpeg.pc.in new file mode 100644 index 0000000000..59220cac8a --- /dev/null +++ b/package/libjpeg/libjpeg.pc.in @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=/usr +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: libjpeg +Description: A JPEG codec that provides the libjpeg API +Version: @PACKAGE_VERSION@ +Libs: -L${libdir} -ljpeg +Cflags: -I${includedir} diff --git a/package/liblogging/Config.in b/package/liblogging/Config.in index 23c3c1ad2d..a39fdf8ddc 100644 --- a/package/liblogging/Config.in +++ b/package/liblogging/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_LIBLOGGING logging. It offers an enhanced replacement for the syslog() call, but retains its ease of use. - http://www.liblogging.org/ + https://www.rsyslog.com/liblogging/ diff --git a/package/libmaxminddb/0001-Add-disable-binaries.patch b/package/libmaxminddb/0001-Add-disable-binaries.patch new file mode 100644 index 0000000000..0053cace71 --- /dev/null +++ b/package/libmaxminddb/0001-Add-disable-binaries.patch @@ -0,0 +1,53 @@ +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 952a655d0f..073458a351 100644 --- a/package/libmaxminddb/libmaxminddb.hash +++ b/package/libmaxminddb/libmaxminddb.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 06a0ec3d1496e1a7e30d74ea15373e0010bbe392ea1819c149aaf724dc57dd9a libmaxminddb-1.2.1.tar.gz +sha256 c0785521c7e5515f1169db90ed6e51bc2a5a000377d0fbad87e4d5a791a6e364 libmaxminddb-1.3.2.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/libmaxminddb/libmaxminddb.mk b/package/libmaxminddb/libmaxminddb.mk index f0678a05ee..25d4d3378f 100644 --- a/package/libmaxminddb/libmaxminddb.mk +++ b/package/libmaxminddb/libmaxminddb.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMAXMINDDB_VERSION = 1.2.1 +LIBMAXMINDDB_VERSION = 1.3.2 LIBMAXMINDDB_SITE = $(call github,maxmind,libmaxminddb,$(LIBMAXMINDDB_VERSION)) LIBMAXMINDDB_INSTALL_STAGING = YES LIBMAXMINDDB_LICENSE = Apache-2.0 @@ -13,4 +13,11 @@ LIBMAXMINDDB_LICENSE_FILES = LICENSE LIBMAXMINDDB_AUTORECONF = YES LIBMAXMINDDB_CONF_OPTS = --disable-tests +# mmdblookup binary depends on pthreads +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +LIBMAXMINDDB_CONF_OPTS += --enable-binaries +else +LIBMAXMINDDB_CONF_OPTS += --disable-binaries +endif + $(eval $(autotools-package)) diff --git a/package/libmediaart/libmediaart.hash b/package/libmediaart/libmediaart.hash index 65cf3cf9a4..d51c056223 100644 --- a/package/libmediaart/libmediaart.hash +++ b/package/libmediaart/libmediaart.hash @@ -1,2 +1,5 @@ # Hash from: http://ftp.gnome.org/pub/gnome/sources/libmediaart/1.9/libmediaart-1.9.4.sha256sum: sha256 a57be017257e4815389afe4f58fdacb6a50e74fd185452b23a652ee56b04813d libmediaart-1.9.4.tar.xz + +# Locally computed: +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER diff --git a/package/libmicrohttpd/Config.in b/package/libmicrohttpd/Config.in index 2a685ca408..7f3c9bb8fd 100644 --- a/package/libmicrohttpd/Config.in +++ b/package/libmicrohttpd/Config.in @@ -11,11 +11,9 @@ if BR2_PACKAGE_LIBMICROHTTPD config BR2_PACKAGE_LIBMICROHTTPD_SSL bool "https support" - depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt depends on !BR2_STATIC_LIBS # gnutls depends on BR2_USE_WCHAR select BR2_PACKAGE_GNUTLS - select BR2_PACKAGE_LIBGCRYPT help Enable HTTPS (SSL) support. diff --git a/package/libmicrohttpd/libmicrohttpd.hash b/package/libmicrohttpd/libmicrohttpd.hash index a1460fd724..e628cb2c6c 100644 --- a/package/libmicrohttpd/libmicrohttpd.hash +++ b/package/libmicrohttpd/libmicrohttpd.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 0c1cab8dc9f2588bd3076a28f77a7f8de9560cbf2d80e53f9a8696ada80ed0f8 libmicrohttpd-0.9.55.tar.gz +sha256 dec1a76487d7e48ad74b468a888bfda1c05731f185ff950f1e363ca9d39caf4e libmicrohttpd-0.9.57.tar.gz +sha256 70e12e2a60151b9ed1a4c94a5ffeb99cd086fa94542b5a92fec581506e8d3121 COPYING diff --git a/package/libmicrohttpd/libmicrohttpd.mk b/package/libmicrohttpd/libmicrohttpd.mk index a87c93b3ae..62fb7fc237 100644 --- a/package/libmicrohttpd/libmicrohttpd.mk +++ b/package/libmicrohttpd/libmicrohttpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMICROHTTPD_VERSION = 0.9.55 +LIBMICROHTTPD_VERSION = 0.9.57 LIBMICROHTTPD_SITE = $(BR2_GNU_MIRROR)/libmicrohttpd LIBMICROHTTPD_LICENSE_FILES = COPYING LIBMICROHTTPD_INSTALL_STAGING = YES @@ -12,7 +12,7 @@ LIBMICROHTTPD_CONF_OPTS = --disable-curl --disable-examples LIBMICROHTTPD_CFLAGS = $(TARGET_CFLAGS) -std=c99 # gcc on arc and bfin doesn't define _REENTRANT when -pthread is -# passed while it should. Compensate this defiency here otherwise +# passed while it should. Compensate this deficiency here otherwise # libmicrohttpd configure script doesn't find that thread support is # enabled. ifeq ($(BR2_arc)$(BR2_bfin),y) @@ -23,10 +23,8 @@ LIBMICROHTTPD_CONF_ENV += CFLAGS="$(LIBMICROHTTPD_CFLAGS)" ifeq ($(BR2_PACKAGE_LIBMICROHTTPD_SSL),y) LIBMICROHTTPD_LICENSE = LGPL-2.1+ -LIBMICROHTTPD_DEPENDENCIES += host-pkgconf gnutls libgcrypt -LIBMICROHTTPD_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs gnutls`" -LIBMICROHTTPD_CONF_OPTS += --enable-https --with-gnutls=$(STAGING_DIR)/usr \ - --with-libgcrypt-prefix=$(STAGING_DIR)/usr +LIBMICROHTTPD_DEPENDENCIES += host-pkgconf gnutls +LIBMICROHTTPD_CONF_OPTS += --enable-https --with-gnutls=$(STAGING_DIR)/usr else LIBMICROHTTPD_LICENSE = LGPL-2.1+ or eCos LIBMICROHTTPD_CONF_OPTS += --disable-https diff --git a/package/libminiupnpc/libminiupnpc.hash b/package/libminiupnpc/libminiupnpc.hash index 985d69d45f..c83b38aa60 100644 --- a/package/libminiupnpc/libminiupnpc.hash +++ b/package/libminiupnpc/libminiupnpc.hash @@ -1,2 +1,3 @@ # Locally computed sha256 d434ceb8986efbe199c5ca53f90ed53eab290b1e6d0530b717eb6fa49d61f93b miniupnpc-2.0.tar.gz +sha256 4025f2214fa46ad40c156605b83d66e8faf45823e67eb3337af3869716e6d7dd LICENSE diff --git a/package/libnfs/libnfs.hash b/package/libnfs/libnfs.hash index cfe6678842..2bd8caf255 100644 --- a/package/libnfs/libnfs.hash +++ b/package/libnfs/libnfs.hash @@ -1,3 +1,6 @@ # Locally calculated sha256 7ea6cd8fa6c461d01091e584d424d28e137d23ff4b65b95d01a3fd0ef95d120e libnfs-libnfs-2.0.0.tar.gz +sha256 2d152e3a2f31ef0fe14d4908377277f8215fb5c82ec9329d1eed081c845fc85f COPYING +sha256 d9406ced95457941032aa11d04623b8ab71f2827a3395ebef137aec475be35b1 LICENCE-BSD.txt sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENCE-LGPL-2.1.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENCE-GPL-3.txt diff --git a/package/libnfs/libnfs.mk b/package/libnfs/libnfs.mk index d961fd1d4e..0cf07d2143 100644 --- a/package/libnfs/libnfs.mk +++ b/package/libnfs/libnfs.mk @@ -8,8 +8,8 @@ LIBNFS_VERSION = libnfs-2.0.0 LIBNFS_SITE = $(call github,sahlberg,libnfs,$(LIBNFS_VERSION)) LIBNFS_INSTALL_STAGING = YES LIBNFS_AUTORECONF = YES -LIBNFS_LICENSE = LGPL-2.1+ -LIBNFS_LICENSE_FILES = LICENCE-LGPL-2.1.txt +LIBNFS_LICENSE = LGPL-2.1+ (library), BSD-2-Clause (protocol, .x files), GPL-3.0+ (examples) +LIBNFS_LICENSE_FILES = COPYING LICENCE-BSD.txt LICENCE-LGPL-2.1.txt LICENCE-GPL-3.txt LIBNFS_DEPENDENCIES = host-pkgconf ifeq ($(BR2_PACKAGE_LIBTIRPC),y) diff --git a/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch b/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch index 6f5be4e7ef..1062f2b01a 100644 --- a/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch +++ b/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch @@ -1,4 +1,4 @@ -From 610d015143e88629eab07067a4ae0c1d7548cfaf Mon Sep 17 00:00:00 2001 +From a51cdce6fd271a5cc393c5e56996846d9c453d6a Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Thu, 2 Jun 2016 23:03:27 -0300 Subject: [PATCH] Rename xfree() to libnftnl_xfree() to avoid symbol naming @@ -22,6 +22,8 @@ libnftnl_xfree(). Signed-off-by: Thomas Petazzoni [Gustavo: update for version 1.0.7] Signed-off-by: Gustavo Zacarias +[baruch: update for version 1.0.9] +Signed-off-by: Baruch Siach --- include/utils.h | 2 +- src/chain.c | 36 ++++++++++++++++++------------------ @@ -38,19 +40,19 @@ Signed-off-by: Gustavo Zacarias src/object.c | 14 +++++++------- src/rule.c | 32 ++++++++++++++++---------------- src/ruleset.c | 2 +- - src/set.c | 26 +++++++++++++------------- + src/set.c | 28 ++++++++++++++-------------- src/set_elem.c | 28 ++++++++++++++-------------- src/table.c | 14 +++++++------- src/trace.c | 14 +++++++------- src/udata.c | 2 +- src/utils.c | 2 +- - 21 files changed, 103 insertions(+), 103 deletions(-) + 21 files changed, 104 insertions(+), 104 deletions(-) diff --git a/include/utils.h b/include/utils.h -index 924df32..f02fce7 100644 +index 3cc659652fe2..820556715013 100644 --- a/include/utils.h +++ b/include/utils.h -@@ -19,7 +19,7 @@ +@@ -17,7 +17,7 @@ #define __noreturn __attribute__((__noreturn__)) @@ -60,10 +62,10 @@ index 924df32..f02fce7 100644 #define div_round_up(n, d) (((n) + (d) - 1) / (d)) diff --git a/src/chain.c b/src/chain.c -index 49cd094..444cb79 100644 +index eff518680873..03033bbcb93b 100644 --- a/src/chain.c +++ b/src/chain.c -@@ -96,14 +96,14 @@ EXPORT_SYMBOL_ALIAS(nftnl_chain_alloc, nft_chain_alloc); +@@ -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)) @@ -81,9 +83,9 @@ index 49cd094..444cb79 100644 + nftnl_xfree(c->dev); + nftnl_xfree(c); } - EXPORT_SYMBOL_ALIAS(nftnl_chain_free, nft_chain_free); -@@ -120,15 +120,15 @@ void nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr) + 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: @@ -102,7 +104,7 @@ index 49cd094..444cb79 100644 break; case NFTNL_CHAIN_HOOKNUM: case NFTNL_CHAIN_PRIO: -@@ -139,7 +139,7 @@ void nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr) +@@ -140,7 +140,7 @@ void nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr) case NFTNL_CHAIN_FAMILY: break; case NFTNL_CHAIN_DEV: @@ -111,7 +113,7 @@ index 49cd094..444cb79 100644 break; default: return; -@@ -168,7 +168,7 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, +@@ -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)) @@ -120,7 +122,7 @@ index 49cd094..444cb79 100644 c->name = strdup(data); if (!c->name) -@@ -176,7 +176,7 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, +@@ -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)) @@ -129,7 +131,7 @@ index 49cd094..444cb79 100644 c->table = strdup(data); if (!c->table) -@@ -208,7 +208,7 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, +@@ -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)) @@ -138,7 +140,7 @@ index 49cd094..444cb79 100644 c->type = strdup(data); if (!c->type) -@@ -216,7 +216,7 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, +@@ -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)) @@ -147,7 +149,7 @@ index 49cd094..444cb79 100644 c->dev = strdup(data); if (!c->dev) -@@ -540,7 +540,7 @@ int nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c) +@@ -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)) @@ -156,7 +158,7 @@ index 49cd094..444cb79 100644 c->name = strdup(mnl_attr_get_str(tb[NFTA_CHAIN_NAME])); if (!c->name) return -1; -@@ -548,7 +548,7 @@ int nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c) +@@ -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)) @@ -165,7 +167,7 @@ index 49cd094..444cb79 100644 c->table = strdup(mnl_attr_get_str(tb[NFTA_CHAIN_TABLE])); if (!c->table) return -1; -@@ -578,7 +578,7 @@ int nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c) +@@ -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)) @@ -174,49 +176,48 @@ index 49cd094..444cb79 100644 c->type = strdup(mnl_attr_get_str(tb[NFTA_CHAIN_TYPE])); if (!c->type) return -1; -@@ -889,7 +889,7 @@ void nftnl_chain_list_free(struct nftnl_chain_list *list) +@@ -902,7 +902,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_ALIAS(nftnl_chain_list_free, nft_chain_list_free); - -@@ -975,6 +975,6 @@ EXPORT_SYMBOL_ALIAS(nftnl_chain_list_iter_next, nft_chain_list_iter_next); + EXPORT_SYMBOL(nftnl_chain_list_is_empty); +@@ -988,5 +988,5 @@ struct nftnl_chain *nftnl_chain_list_iter_next(struct nftnl_chain_list_iter *ite + EXPORT_SYMBOL(nftnl_chain_list_iter_destroy); void nftnl_chain_list_iter_destroy(struct nftnl_chain_list_iter *iter) { - xfree(iter); + nftnl_xfree(iter); } - EXPORT_SYMBOL_ALIAS(nftnl_chain_list_iter_destroy, nft_chain_list_iter_destroy); diff --git a/src/common.c b/src/common.c -index bf4176c..98f8012 100644 +index 561c95439114..d0124134ea29 100644 --- a/src/common.c +++ b/src/common.c -@@ -58,7 +58,7 @@ EXPORT_SYMBOL_ALIAS(nftnl_parse_err_alloc, nft_parse_err_alloc); - +@@ -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_ALIAS(nftnl_parse_err_free, nft_parse_err_free); + EXPORT_SYMBOL(nftnl_parse_perror); diff --git a/src/expr.c b/src/expr.c -index 8d5c562..47ecd3d 100644 +index 62565e046996..97f16275f44f 100644 --- a/src/expr.c +++ b/src/expr.c -@@ -50,7 +50,7 @@ void nftnl_expr_free(const struct nftnl_expr *expr) +@@ -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_ALIAS(nftnl_expr_free, nft_rule_expr_free); + EXPORT_SYMBOL(nftnl_expr_is_set); @@ -270,7 +270,7 @@ struct nftnl_expr *nftnl_expr_parse(struct nlattr *attr) return expr; @@ -227,10 +228,10 @@ index 8d5c562..47ecd3d 100644 return NULL; } diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c -index 0249258..994b388 100644 +index 1b28b291617b..8c7abdb91d21 100644 --- a/src/expr/data_reg.c +++ b/src/expr/data_reg.c -@@ -376,7 +376,7 @@ void nftnl_free_verdict(const union nftnl_data_reg *data) +@@ -379,7 +379,7 @@ void nftnl_free_verdict(const union nftnl_data_reg *data) switch(data->verdict) { case NFT_JUMP: case NFT_GOTO: @@ -240,7 +241,7 @@ index 0249258..994b388 100644 default: break; diff --git a/src/expr/dynset.c b/src/expr/dynset.c -index 20a5004..f3d46a7 100644 +index 160d0e15c151..614124d841c7 100644 --- a/src/expr/dynset.c +++ b/src/expr/dynset.c @@ -330,7 +330,7 @@ static void nftnl_expr_dynset_free(const struct nftnl_expr *e) @@ -253,7 +254,7 @@ index 20a5004..f3d46a7 100644 static bool nftnl_expr_dynset_cmp(const struct nftnl_expr *e1, diff --git a/src/expr/immediate.c b/src/expr/immediate.c -index 0b188cc..6c17f68 100644 +index b0570bd539a4..6a0732c38ebd 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, @@ -266,7 +267,7 @@ index 0b188cc..6c17f68 100644 imm->data.chain = strdup(data); if (!imm->data.chain) diff --git a/src/expr/log.c b/src/expr/log.c -index b642255..2b24b6d 100644 +index 86d965136cd4..0624a7712237 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, @@ -287,7 +288,7 @@ index b642255..2b24b6d 100644 log->prefix = strdup(mnl_attr_get_str(tb[NFTA_LOG_PREFIX])); if (!log->prefix) -@@ -316,7 +316,7 @@ static void nftnl_expr_log_free(const struct nftnl_expr *e) +@@ -317,7 +317,7 @@ static void nftnl_expr_log_free(const struct nftnl_expr *e) { struct nftnl_expr_log *log = nftnl_expr_data(e); @@ -297,10 +298,10 @@ index b642255..2b24b6d 100644 static bool nftnl_expr_log_cmp(const struct nftnl_expr *e1, diff --git a/src/expr/lookup.c b/src/expr/lookup.c -index 861815f..1955ed3 100644 +index 5fcb81f3a7a2..45f5dfefd33f 100644 --- a/src/expr/lookup.c +++ b/src/expr/lookup.c -@@ -259,7 +259,7 @@ static void nftnl_expr_lookup_free(const struct nftnl_expr *e) +@@ -258,7 +258,7 @@ static void nftnl_expr_lookup_free(const struct nftnl_expr *e) { struct nftnl_expr_lookup *lookup = nftnl_expr_data(e); @@ -310,7 +311,7 @@ index 861815f..1955ed3 100644 static bool nftnl_expr_lookup_cmp(const struct nftnl_expr *e1, diff --git a/src/expr/match.c b/src/expr/match.c -index dd09e1e..09e35c5 100644 +index dd09e1e85192..09e35c528aca 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, @@ -341,7 +342,7 @@ index dd09e1e..09e35c5 100644 static bool nftnl_expr_match_cmp(const struct nftnl_expr *e1, diff --git a/src/expr/target.c b/src/expr/target.c -index ed4bf7d..5e28925 100644 +index ed4bf7df6328..5e28925debeb 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, @@ -372,23 +373,23 @@ index ed4bf7d..5e28925 100644 static bool nftnl_expr_target_cmp(const struct nftnl_expr *e1, diff --git a/src/gen.c b/src/gen.c -index c69d2f8..0143ea0 100644 +index f92180c7baf6..4fe078d3832c 100644 --- a/src/gen.c +++ b/src/gen.c -@@ -37,7 +37,7 @@ EXPORT_SYMBOL_ALIAS(nftnl_gen_alloc, nft_gen_alloc); - +@@ -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_ALIAS(nftnl_gen_free, nft_gen_free); + EXPORT_SYMBOL(nftnl_gen_is_set); diff --git a/src/object.c b/src/object.c -index 0d3dc2b..542211c 100644 +index 30000f748da4..1b5965d7abdc 100644 --- a/src/object.c +++ b/src/object.c -@@ -47,11 +47,11 @@ EXPORT_SYMBOL(nftnl_obj_alloc); +@@ -50,11 +50,11 @@ EXPORT_SYMBOL(nftnl_obj_free); void nftnl_obj_free(const struct nftnl_obj *obj) { if (obj->flags & (1 << NFTNL_OBJ_TABLE)) @@ -401,9 +402,9 @@ index 0d3dc2b..542211c 100644 - xfree(obj); + nftnl_xfree(obj); } - EXPORT_SYMBOL(nftnl_obj_free); -@@ -74,11 +74,11 @@ void nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr, + EXPORT_SYMBOL(nftnl_obj_is_set); +@@ -77,11 +77,11 @@ void nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr, switch (attr) { case NFTNL_OBJ_TABLE: @@ -417,28 +418,27 @@ index 0d3dc2b..542211c 100644 obj->name = strdup(data); break; case NFTNL_OBJ_TYPE: -@@ -486,7 +486,7 @@ void nftnl_obj_list_free(struct nftnl_obj_list *list) +@@ -523,7 +523,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_free); - -@@ -573,6 +573,6 @@ EXPORT_SYMBOL(nftnl_obj_list_iter_next); + EXPORT_SYMBOL(nftnl_obj_list_is_empty); +@@ -610,5 +610,5 @@ struct nftnl_obj *nftnl_obj_list_iter_next(struct nftnl_obj_list_iter *iter) + EXPORT_SYMBOL(nftnl_obj_list_iter_destroy); void nftnl_obj_list_iter_destroy(struct nftnl_obj_list_iter *iter) { - xfree(iter); + nftnl_xfree(iter); } - EXPORT_SYMBOL(nftnl_obj_list_iter_destroy); diff --git a/src/rule.c b/src/rule.c -index 22026a4..256b699 100644 +index e4cba1f7a352..911f327a6f9f 100644 --- a/src/rule.c +++ b/src/rule.c -@@ -72,13 +72,13 @@ void nftnl_rule_free(const struct nftnl_rule *r) +@@ -75,13 +75,13 @@ void nftnl_rule_free(const struct nftnl_rule *r) nftnl_expr_free(e); if (r->flags & (1 << (NFTNL_RULE_TABLE))) @@ -454,9 +454,9 @@ index 22026a4..256b699 100644 - xfree(r); + nftnl_xfree(r); } - EXPORT_SYMBOL_ALIAS(nftnl_rule_free, nft_rule_free); -@@ -95,10 +95,10 @@ void nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr) + 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: @@ -469,8 +469,8 @@ index 22026a4..256b699 100644 break; case NFTNL_RULE_HANDLE: case NFTNL_RULE_COMPAT_PROTO: -@@ -107,7 +107,7 @@ void nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr) - case NFTNL_RULE_FAMILY: +@@ -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); @@ -478,7 +478,7 @@ index 22026a4..256b699 100644 break; } -@@ -132,7 +132,7 @@ int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr, +@@ -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)) @@ -487,7 +487,7 @@ index 22026a4..256b699 100644 r->table = strdup(data); if (!r->table) -@@ -140,7 +140,7 @@ int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr, +@@ -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)) @@ -496,7 +496,7 @@ index 22026a4..256b699 100644 r->chain = strdup(data); if (!r->chain) -@@ -163,7 +163,7 @@ int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr, +@@ -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)) @@ -505,7 +505,7 @@ index 22026a4..256b699 100644 r->user.data = malloc(data_len); if (!r->user.data) -@@ -436,7 +436,7 @@ int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r) +@@ -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)) @@ -514,7 +514,7 @@ index 22026a4..256b699 100644 r->table = strdup(mnl_attr_get_str(tb[NFTA_RULE_TABLE])); if (!r->table) return -1; -@@ -444,7 +444,7 @@ int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r) +@@ -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)) @@ -523,7 +523,7 @@ index 22026a4..256b699 100644 r->chain = strdup(mnl_attr_get_str(tb[NFTA_RULE_CHAIN])); if (!r->chain) return -1; -@@ -473,7 +473,7 @@ int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r) +@@ -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)) @@ -532,50 +532,49 @@ index 22026a4..256b699 100644 r->user.len = mnl_attr_get_payload_len(tb[NFTA_RULE_USERDATA]); -@@ -915,7 +915,7 @@ EXPORT_SYMBOL_ALIAS(nftnl_expr_iter_next, nft_rule_expr_iter_next); - +@@ -910,7 +910,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); } - EXPORT_SYMBOL_ALIAS(nftnl_expr_iter_destroy, nft_rule_expr_iter_destroy); -@@ -976,7 +976,7 @@ void nftnl_rule_list_free(struct nftnl_rule_list *list) + EXPORT_SYMBOL(nftnl_rule_cmp); +@@ -971,7 +971,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_ALIAS(nftnl_rule_list_free, nft_rule_list_free); - -@@ -1068,6 +1068,6 @@ EXPORT_SYMBOL_ALIAS(nftnl_rule_list_iter_next, nft_rule_list_iter_next); + EXPORT_SYMBOL(nftnl_rule_list_is_empty); +@@ -1063,5 +1063,5 @@ struct nftnl_rule *nftnl_rule_list_iter_next(struct nftnl_rule_list_iter *iter) + 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); } - EXPORT_SYMBOL_ALIAS(nftnl_rule_list_iter_destroy, nft_rule_list_iter_destroy); diff --git a/src/ruleset.c b/src/ruleset.c -index b6ca565..0867e2a 100644 +index eb49fde582c2..1639cae68c61 100644 --- a/src/ruleset.c +++ b/src/ruleset.c -@@ -71,7 +71,7 @@ void nftnl_ruleset_free(const struct nftnl_ruleset *r) +@@ -72,7 +72,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_ALIAS(nftnl_ruleset_free, nft_ruleset_free); + EXPORT_SYMBOL(nftnl_ruleset_is_set); diff --git a/src/set.c b/src/set.c -index 14d28b5..0e93503 100644 +index ac24eae6bb16..2b758c4ec89a 100644 --- a/src/set.c +++ b/src/set.c -@@ -45,15 +45,15 @@ void nftnl_set_free(const struct nftnl_set *s) +@@ -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)) @@ -584,6 +583,9 @@ index 14d28b5..0e93503 100644 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); @@ -592,9 +594,9 @@ index 14d28b5..0e93503 100644 - xfree(s); + nftnl_xfree(s); } - EXPORT_SYMBOL_ALIAS(nftnl_set_free, nft_set_free); -@@ -70,10 +70,10 @@ void nftnl_set_unset(struct nftnl_set *s, uint16_t attr) + 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: @@ -607,7 +609,7 @@ index 14d28b5..0e93503 100644 break; case NFTNL_SET_FLAGS: case NFTNL_SET_KEY_TYPE: -@@ -89,7 +89,7 @@ void nftnl_set_unset(struct nftnl_set *s, uint16_t attr) +@@ -92,7 +92,7 @@ void nftnl_set_unset(struct nftnl_set *s, uint16_t attr) case NFTNL_SET_GC_INTERVAL: break; case NFTNL_SET_USERDATA: @@ -616,7 +618,7 @@ index 14d28b5..0e93503 100644 break; default: return; -@@ -122,7 +122,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, +@@ -125,7 +125,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)) @@ -625,7 +627,7 @@ index 14d28b5..0e93503 100644 s->table = strdup(data); if (!s->table) -@@ -130,7 +130,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, +@@ -133,7 +133,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)) @@ -634,7 +636,7 @@ index 14d28b5..0e93503 100644 s->name = strdup(data); if (!s->name) -@@ -174,7 +174,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, +@@ -177,7 +177,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)) @@ -643,7 +645,7 @@ index 14d28b5..0e93503 100644 s->user.data = malloc(data_len); if (!s->user.data) -@@ -474,7 +474,7 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) +@@ -478,7 +478,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)) @@ -652,7 +654,7 @@ index 14d28b5..0e93503 100644 s->table = strdup(mnl_attr_get_str(tb[NFTA_SET_TABLE])); if (!s->table) return -1; -@@ -482,7 +482,7 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) +@@ -486,7 +486,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)) @@ -661,29 +663,29 @@ index 14d28b5..0e93503 100644 s->name = strdup(mnl_attr_get_str(tb[NFTA_SET_NAME])); if (!s->name) return -1; -@@ -972,7 +972,7 @@ void nftnl_set_list_free(struct nftnl_set_list *list) +@@ -982,7 +982,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_ALIAS(nftnl_set_list_free, nft_set_list_free); - -@@ -1064,7 +1064,7 @@ EXPORT_SYMBOL_ALIAS(nftnl_set_list_iter_next, nft_set_list_iter_next); + EXPORT_SYMBOL(nftnl_set_list_is_empty); +@@ -1074,7 +1074,7 @@ struct nftnl_set *nftnl_set_list_iter_next(struct nftnl_set_list_iter *iter) + 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); } - EXPORT_SYMBOL_ALIAS(nftnl_set_list_iter_destroy, nft_set_list_iter_destroy); + 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 fa87476..6d404bd 100644 +index e02a38791c9a..100ccda699c6 100644 --- a/src/set_elem.c +++ b/src/set_elem.c -@@ -42,18 +42,18 @@ EXPORT_SYMBOL_ALIAS(nftnl_set_elem_alloc, nft_set_elem_alloc); +@@ -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)) @@ -704,9 +706,9 @@ index fa87476..6d404bd 100644 - xfree(s); + nftnl_xfree(s); } - EXPORT_SYMBOL_ALIAS(nftnl_set_elem_free, nft_set_elem_free); -@@ -70,7 +70,7 @@ void nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr) + 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: @@ -715,7 +717,7 @@ index fa87476..6d404bd 100644 break; case NFTNL_SET_ELEM_FLAGS: case NFTNL_SET_ELEM_KEY: /* NFTA_SET_ELEM_KEY */ -@@ -80,13 +80,13 @@ void nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr) +@@ -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 */ @@ -731,7 +733,7 @@ index fa87476..6d404bd 100644 break; default: return; -@@ -112,7 +112,7 @@ int nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr, +@@ -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)) @@ -740,7 +742,7 @@ index fa87476..6d404bd 100644 s->data.chain = strdup(data); if (!s->data.chain) -@@ -127,7 +127,7 @@ int nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr, +@@ -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)) @@ -749,7 +751,7 @@ index fa87476..6d404bd 100644 s->user.data = malloc(data_len); if (!s->user.data) -@@ -137,7 +137,7 @@ int nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr, +@@ -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)) @@ -767,7 +769,7 @@ index fa87476..6d404bd 100644 e->user.len = mnl_attr_get_payload_len(tb[NFTA_SET_ELEM_USERDATA]); e->user.data = malloc(e->user.len); -@@ -515,7 +515,7 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) +@@ -516,7 +516,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)) @@ -776,7 +778,7 @@ index fa87476..6d404bd 100644 s->table = strdup(mnl_attr_get_str(tb[NFTA_SET_ELEM_LIST_TABLE])); if (!s->table) -@@ -524,7 +524,7 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) +@@ -525,7 +525,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)) @@ -785,20 +787,20 @@ index fa87476..6d404bd 100644 s->name = strdup(mnl_attr_get_str(tb[NFTA_SET_ELEM_LIST_SET])); if (!s->name) -@@ -810,7 +810,7 @@ EXPORT_SYMBOL_ALIAS(nftnl_set_elems_iter_next, nft_set_elems_iter_next); - +@@ -816,7 +816,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); } - EXPORT_SYMBOL_ALIAS(nftnl_set_elems_iter_destroy, nft_set_elems_iter_destroy); + static bool nftnl_attr_nest_overflow(struct nlmsghdr *nlh, diff --git a/src/table.c b/src/table.c -index 4286d51..1e15ea7 100644 +index 7f97ca4e5807..7ac57c33021b 100644 --- a/src/table.c +++ b/src/table.c -@@ -45,9 +45,9 @@ EXPORT_SYMBOL_ALIAS(nftnl_table_alloc, nft_table_alloc); +@@ -46,9 +46,9 @@ EXPORT_SYMBOL(nftnl_table_free); void nftnl_table_free(const struct nftnl_table *t) { if (t->flags & (1 << NFTNL_TABLE_NAME)) @@ -808,9 +810,9 @@ index 4286d51..1e15ea7 100644 - xfree(t); + nftnl_xfree(t); } - EXPORT_SYMBOL_ALIAS(nftnl_table_free, nft_table_free); -@@ -64,7 +64,7 @@ void nftnl_table_unset(struct nftnl_table *t, uint16_t attr) + EXPORT_SYMBOL(nftnl_table_is_set); +@@ -65,7 +65,7 @@ void nftnl_table_unset(struct nftnl_table *t, uint16_t attr) switch (attr) { case NFTNL_TABLE_NAME: @@ -819,7 +821,7 @@ index 4286d51..1e15ea7 100644 break; case NFTNL_TABLE_FLAGS: case NFTNL_TABLE_FAMILY: -@@ -90,7 +90,7 @@ int nftnl_table_set_data(struct nftnl_table *t, uint16_t attr, +@@ -91,7 +91,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)) @@ -828,7 +830,7 @@ index 4286d51..1e15ea7 100644 t->name = strdup(data); if (!t->name) -@@ -229,7 +229,7 @@ int nftnl_table_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_table *t) +@@ -230,7 +230,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)) @@ -837,25 +839,24 @@ index 4286d51..1e15ea7 100644 t->name = strdup(mnl_attr_get_str(tb[NFTA_TABLE_NAME])); if (!t->name) return -1; -@@ -448,7 +448,7 @@ void nftnl_table_list_free(struct nftnl_table_list *list) +@@ -452,7 +452,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_ALIAS(nftnl_table_list_free, nft_table_list_free); - -@@ -534,6 +534,6 @@ EXPORT_SYMBOL_ALIAS(nftnl_table_list_iter_next, nft_table_list_iter_next); + EXPORT_SYMBOL(nftnl_table_list_is_empty); +@@ -538,5 +538,5 @@ struct nftnl_table *nftnl_table_list_iter_next(struct nftnl_table_list_iter *ite + 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); } - EXPORT_SYMBOL_ALIAS(nftnl_table_list_iter_destroy, nft_table_list_iter_destroy); diff --git a/src/trace.c b/src/trace.c -index bd05d3c..abfc533 100644 +index f4264377508e..8a18391d83d1 100644 --- a/src/trace.c +++ b/src/trace.c @@ -61,13 +61,13 @@ struct nftnl_trace *nftnl_trace_alloc(void) @@ -880,20 +881,20 @@ index bd05d3c..abfc533 100644 EXPORT_SYMBOL(nftnl_trace_is_set); diff --git a/src/udata.c b/src/udata.c -index 60c2f34..ec1f7dc 100644 +index 6bd965161c43..049819304ef5 100644 --- a/src/udata.c +++ b/src/udata.c -@@ -32,7 +32,7 @@ EXPORT_SYMBOL(nftnl_udata_buf_alloc); - +@@ -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_free); + EXPORT_SYMBOL(nftnl_udata_buf_len); diff --git a/src/utils.c b/src/utils.c -index 3e44960..08f668f 100644 +index 3e449609395e..08f668f56a95 100644 --- a/src/utils.c +++ b/src/utils.c @@ -264,7 +264,7 @@ int nftnl_fprintf(FILE *fp, const void *obj, uint32_t cmd, uint32_t type, @@ -906,5 +907,5 @@ index 3e44960..08f668f 100644 return ret; } -- -2.10.2 +2.15.1 diff --git a/package/libnftnl/libnftnl.hash b/package/libnftnl/libnftnl.hash index 63271e0f75..c798dd2bb1 100644 --- a/package/libnftnl/libnftnl.hash +++ b/package/libnftnl/libnftnl.hash @@ -1,2 +1,6 @@ -# From http://www.netfilter.org/projects/libnftnl/downloads.html#libnftnl-1.0.7 -sha1 381b2b3cbb3fad186cb3f57bbf32d70f0b3c3c8e libnftnl-1.0.7.tar.bz2 +# From http://www.netfilter.org/projects/libnftnl/downloads.html +sha1 90b70f52a26f88ab1106671e797faac21265fa6a libnftnl-1.0.9.tar.bz2 +# Locally calculated after checking pgp signature +# http://www.netfilter.org/projects/libnftnl/files/libnftnl-1.0.9.tar.bz2.sig +sha256 fec1d824aee301e59a11aeaae2a2d429cb99ead81e6bafab791a4dd6569b3635 libnftnl-1.0.9.tar.bz2 +sha256 98193898c663001eff2fdcfb676e210c13042bc1a05e8d570c363efa396f8e24 COPYING diff --git a/package/libnftnl/libnftnl.mk b/package/libnftnl/libnftnl.mk index bde3ee4211..8c8b3f8243 100644 --- a/package/libnftnl/libnftnl.mk +++ b/package/libnftnl/libnftnl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNFTNL_VERSION = 1.0.7 +LIBNFTNL_VERSION = 1.0.9 LIBNFTNL_SITE = http://netfilter.org/projects/libnftnl/files LIBNFTNL_SOURCE = libnftnl-$(LIBNFTNL_VERSION).tar.bz2 LIBNFTNL_LICENSE = GPL-2.0+ @@ -19,11 +19,4 @@ else LIBNFTNL_CONF_OPTS += --without-json-parsing endif -ifeq ($(BR2_PACKAGE_LIBNFTNL_XML),y) -LIBNFTNL_CONF_OPTS += --with-xml-parsing -LIBNFTNL_DEPENDENCIES += mxml -else -LIBNFTNL_CONF_OPTS += --without-xml-parsing -endif - $(eval $(autotools-package)) diff --git a/package/libnl/0003-Revert-build-enable-building-cli-during-tests.patch b/package/libnl/0003-Revert-build-enable-building-cli-during-tests.patch deleted file mode 100644 index f715bb83f9..0000000000 --- a/package/libnl/0003-Revert-build-enable-building-cli-during-tests.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 68f8393bd356a3d0598cf77e1044b7e8b98aa4d8 Mon Sep 17 00:00:00 2001 -Message-Id: <68f8393bd356a3d0598cf77e1044b7e8b98aa4d8.1493920165.git.baruch@tkos.co.il> -From: Baruch Siach -Date: Thu, 4 May 2017 15:56:14 +0300 -Subject: [PATCH] Revert "build: enable building cli during tests" - -This reverts commit 3cb28534d34392ceec4adead0cfa97039796ccb7. - -Contrary to what 3cb28534d commit log claims, the cli programs depend on -dynamic libraries support of the toolchain. Enabling cli programs -unconditionally breaks static build as follows: - -In file included from lib/cli/cls/basic.c:12:0: -./include/netlink/cli/utils.h:25:19: fatal error: dlfcn.h: No such file or directory -compilation terminated. -Makefile:3666: recipe for target 'lib/cli/cls/lib_cli_cls_basic_la-basic.lo' failed -make[1]: *** [lib/cli/cls/lib_cli_cls_basic_la-basic.lo] Error 1 - -Revert that commit to restore the ability of static only build of libnl, and -its dependencies. - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/thom311/libnl/pull/141 - - Makefile.am | 21 ++++++--------------- - 1 file changed, 6 insertions(+), 15 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 1b95a559304f..279548394650 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -3,8 +3,6 @@ - ACLOCAL_AMFLAGS = -I m4 - - lib_LTLIBRARIES = --noinst_LTLIBRARIES = --check_LTLIBRARIES = - - check_PROGRAMS = - check_programs = -@@ -500,6 +498,8 @@ EXTRA_lib_libnl_xfrm_3_la_DEPENDENCIES = \ - lib_libnl_xfrm_3_la_LIBADD = \ - lib/libnl-3.la - -+if ENABLE_CLI -+ - lib_cli_ltlibraries_cls = \ - lib/cli/cls/basic.la \ - lib/cli/cls/cgroup.la -@@ -513,15 +513,11 @@ lib_cli_ltlibraries_qdisc = \ - lib/cli/qdisc/pfifo.la \ - lib/cli/qdisc/plug.la - --if ENABLE_CLI - pkglib_clsdir = $(pkglibdir)/cli/cls - pkglib_qdiscdir = $(pkglibdir)/cli/qdisc - pkglib_cls_LTLIBRARIES = $(lib_cli_ltlibraries_cls) - pkglib_qdisc_LTLIBRARIES = $(lib_cli_ltlibraries_qdisc) --else --noinst_LTLIBRARIES += \ -- $(lib_cli_ltlibraries_cls) \ -- $(lib_cli_ltlibraries_qdisc) -+ - endif - - lib_cli_ldflags = \ -@@ -550,13 +546,8 @@ lib_cli_qdisc_plug_la_LDFLAGS = $(lib_cli_ldflags) - - ############################################################################### - --src_lib_ldflags = -- - if ENABLE_CLI - lib_LTLIBRARIES += src/lib/libnl-cli-3.la --src_lib_ldflags += -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) --else --check_LTLIBRARIES += src/lib/libnl-cli-3.la - endif - - src_lib_libnl_cli_3_la_SOURCES = \ -@@ -583,7 +574,7 @@ src_lib_libnl_cli_3_la_CPPFLAGS = \ - -I$(srcdir)/include \ - -I$(builddir)/include - src_lib_libnl_cli_3_la_LDFLAGS = \ -- $(src_lib_ldflags) \ -+ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ - -Wl,--version-script=$(srcdir)/libnl-cli-3.sym - src_lib_libnl_cli_3_la_LIBADD = \ - lib/libnl-3.la \ -@@ -668,8 +659,6 @@ else - noinst_PROGRAMS += $(cli_programs) - endif - endif --else --check_PROGRAMS += $(cli_programs) - endif - - src_genl_ctrl_list_CPPFLAGS = $(src_cppflags) -@@ -847,10 +836,12 @@ tests_test_complex_HTB_with_hash_filters_LDADD = $(tests_ldadd) - tests_test_u32_filter_with_actions_CPPFLAGS = $(tests_cppflags) - tests_test_u32_filter_with_actions_LDADD = $(tests_ldadd) - -+if ENABLE_CLI - check_PROGRAMS += \ - tests/test-cache-mngr \ - tests/test-genl \ - tests/test-nf-cache-mngr -+endif - - tests_cli_ldadd = \ - $(tests_ldadd) \ --- -2.11.0 - diff --git a/package/libnl/libnl.hash b/package/libnl/libnl.hash index ae502c2cf8..b9c626043d 100644 --- a/package/libnl/libnl.hash +++ b/package/libnl/libnl.hash @@ -1,2 +1,4 @@ -# From https://github.com/thom311/libnl/releases/download/libnl3_3_0/libnl-3.3.0.tar.gz.sha256sum -sha256 705468b5ae4cd1eb099d2d1c476d6a3abe519bc2810becf12fb1e32de1e074e4 libnl-3.3.0.tar.gz +# 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 +# Locally calculated +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libnl/libnl.mk b/package/libnl/libnl.mk index e1a37aabfe..397910c4a7 100644 --- a/package/libnl/libnl.mk +++ b/package/libnl/libnl.mk @@ -4,14 +4,12 @@ # ################################################################################ -LIBNL_VERSION = 3.3.0 +LIBNL_VERSION = 3.4.0 LIBNL_SITE = https://github.com/thom311/libnl/releases/download/libnl$(subst .,_,$(LIBNL_VERSION)) LIBNL_LICENSE = LGPL-2.1+ LIBNL_LICENSE_FILES = COPYING LIBNL_INSTALL_STAGING = YES LIBNL_DEPENDENCIES = host-bison host-flex host-pkgconf -# Patching Makefile.am -LIBNL_AUTORECONF = YES ifeq ($(BR2_PACKAGE_LIBNL_TOOLS),y) LIBNL_CONF_OPTS += --enable-cli diff --git a/package/libnss/0004-Bug-1438426-Avoid-stringop-truncation-warning-r-fran.patch b/package/libnss/0004-Bug-1438426-Avoid-stringop-truncation-warning-r-fran.patch new file mode 100644 index 0000000000..c14880b117 --- /dev/null +++ b/package/libnss/0004-Bug-1438426-Avoid-stringop-truncation-warning-r-fran.patch @@ -0,0 +1,33 @@ +From f0ce70989526fc9a0223398c99ea0d09777ea5df Mon Sep 17 00:00:00 2001 +From: Martin Thomson +Date: Thu, 15 Feb 2018 16:34:02 +1100 +Subject: [PATCH] Bug 1438426 - Avoid stringop-truncation warning, r=franziskus + +--HG-- +extra : rebase_source : 4ea1630d0da0ce3523309e3da33ee50961682242 + +Upstream-commit: https://github.com/nss-dev/nss/commit/f0ce70989526fc9a0223398c99ea0d09777ea5df +[Thomas: edited after git format-patch to add the nss/ prefix needed +for the patch to apply properly on the source code extracted by the +tarball.] +Signed-off-by: Thomas Petazzoni +--- + nss/coreconf/nsinstall/pathsub.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/nss/coreconf/nsinstall/pathsub.c b/nss/coreconf/nsinstall/pathsub.c +index a42a9f30a..c31a946f0 100644 +--- a/nss/coreconf/nsinstall/pathsub.c ++++ b/nss/coreconf/nsinstall/pathsub.c +@@ -212,7 +212,7 @@ reversepath(char *inpath, char *name, int len, char *outpath) + xchdir(".."); + } else { + cp -= 3; +- strncpy(cp, "../", 3); ++ memcpy(cp, "../", 3); + xchdir(buf); + } + } +-- +2.14.3 + diff --git a/package/libogg/libogg.hash b/package/libogg/libogg.hash index 393ebee2a3..0c65b8e1a9 100644 --- a/package/libogg/libogg.hash +++ b/package/libogg/libogg.hash @@ -1,2 +1,2 @@ # From: http://www.xiph.org/downloads/ -sha256 3f687ccdd5ac8b52d76328fbbfebc70c459a40ea891dbf3dccb74a210826e79b libogg-1.3.2.tar.xz +sha256 4f3fc6178a533d392064f14776b23c397ed4b9f48f5de297aba73b643f955c08 libogg-1.3.3.tar.xz diff --git a/package/libogg/libogg.mk b/package/libogg/libogg.mk index 28b55a888f..4c97e9a913 100644 --- a/package/libogg/libogg.mk +++ b/package/libogg/libogg.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOGG_VERSION = 1.3.2 +LIBOGG_VERSION = 1.3.3 LIBOGG_SOURCE = libogg-$(LIBOGG_VERSION).tar.xz LIBOGG_SITE = http://downloads.xiph.org/releases/ogg LIBOGG_LICENSE = BSD-3-Clause diff --git a/package/libopenssl/0003-Reproducible-build-do-not-leak-compiler-path.patch b/package/libopenssl/0003-Reproducible-build-do-not-leak-compiler-path.patch new file mode 100644 index 0000000000..eff72c548a --- /dev/null +++ b/package/libopenssl/0003-Reproducible-build-do-not-leak-compiler-path.patch @@ -0,0 +1,26 @@ +From 875fcad2ad84877763cba86c1265b57679b878b0 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Tue, 24 Oct 2017 16:58:32 +0200 +Subject: [PATCH] Reproducible build: do not leak compiler path + +Signed-off-by: Peter Seiderer +--- + crypto/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/crypto/Makefile b/crypto/Makefile +index 7869996..7e63291 100644 +--- a/crypto/Makefile ++++ b/crypto/Makefile +@@ -55,7 +55,7 @@ top: + all: shared + + buildinf.h: ../Makefile +- $(PERL) $(TOP)/util/mkbuildinf.pl "$(CC) $(CFLAGS)" "$(PLATFORM)" >buildinf.h ++ $(PERL) $(TOP)/util/mkbuildinf.pl "$$(basename $(CC)) $(CFLAGS)" "$(PLATFORM)" >buildinf.h + + x86cpuid.s: x86cpuid.pl perlasm/x86asm.pl + $(PERL) x86cpuid.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@ +-- +2.11.0 + diff --git a/package/libopenssl/libopenssl.hash b/package/libopenssl/libopenssl.hash index c6226c302f..2b1e048751 100644 --- a/package/libopenssl/libopenssl.hash +++ b/package/libopenssl/libopenssl.hash @@ -1,7 +1,10 @@ -# From https://www.openssl.org/source/openssl-1.0.2m.tar.gz.sha256 -sha256 8c6ff15ec6b319b50788f42c7abc2890c08ba5a1cdcd3810eb9092deada37b0f openssl-1.0.2m.tar.gz +# From https://www.openssl.org/source/openssl-1.0.2p.tar.gz.sha256 +sha256 50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00 openssl-1.0.2p.tar.gz +# From https://www.openssl.org/source/openssl-1.0.2p.tar.gz.sha1 +sha1 f34b5322e92415755c7d58bf5d0d5cf37666382c openssl-1.0.2p.tar.gz # Locally computed sha256 eddd8a5123748052c598214487ac178e4bfa4e31ba2ec520c70d59c8c5bfa2e9 openssl-1.0.2a-parallel-install-dirs.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d sha256 147c3eeaad614c044749ea527cb433eae5e2d5cad34a78c6ba61cd967bfbe01f openssl-1.0.2a-parallel-obj-headers.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d sha256 30cb49489de5041841a74da9155cd4fabfbce33237262ba7cd23974314ae2956 openssl-1.0.2a-parallel-symlinking.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d sha256 deaf6f3af41874ecc6d63841ea14b8e6c71cea81d4a511a754bc90c9a993147f openssl-1.0.2d-parallel-build.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d +sha256 c8f60f4842bbad0353f5d81620e72b168b5638ca3a0a999f5da113b22491612e LICENSE diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk index 8cccb9c606..d8e3dd8b56 100644 --- a/package/libopenssl/libopenssl.mk +++ b/package/libopenssl/libopenssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOPENSSL_VERSION = 1.0.2m +LIBOPENSSL_VERSION = 1.0.2p LIBOPENSSL_SITE = http://www.openssl.org/source LIBOPENSSL_SOURCE = openssl-$(LIBOPENSSL_VERSION).tar.gz LIBOPENSSL_LICENSE = OpenSSL or SSLeay diff --git a/package/libostree/Config.in b/package/libostree/Config.in new file mode 100644 index 0000000000..b62f4ea0a1 --- /dev/null +++ b/package/libostree/Config.in @@ -0,0 +1,25 @@ +config BR2_PACKAGE_LIBOSTREE + bool "libostree" + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpgme + depends on !BR2_STATIC_LIBS # libfuse + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_USE_MMU # e2fsprogs, libfuse,libglib2, libgpgme + # doesn't build with musl due to lack of TEMP_FAILURE_RETRY() + depends on !BR2_TOOLCHAIN_USES_MUSL + select BR2_PACKAGE_E2FSPROGS + select BR2_PACKAGE_LIBFUSE + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBGPGME + select BR2_PACKAGE_XZ + help + OSTree is an upgrade system for Linux-based operating + systems. + + https://ostree.readthedocs.io/en/latest/ + +comment "libostree needs a uClibc or glibc toolchain w/ threads, dynamic library, wchar" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ + || !BR2_USE_WCHAR || BR2_TOOLCHAIN_USES_MUSL + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS + depends on BR2_USE_MMU diff --git a/package/libostree/libostree.hash b/package/libostree/libostree.hash new file mode 100644 index 0000000000..54bc263f06 --- /dev/null +++ b/package/libostree/libostree.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 8b5e3b80425b91c93aeb916bb047ee194aa138a9cf00ce173dcc0ebc0dd11f4b libostree-2018.1.tar.xz +sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libostree/libostree.mk b/package/libostree/libostree.mk new file mode 100644 index 0000000000..f3e79c8436 --- /dev/null +++ b/package/libostree/libostree.mk @@ -0,0 +1,69 @@ +################################################################################ +# +# libostree +# +################################################################################ + +LIBOSTREE_VERSION = 2018.1 +LIBOSTREE_SOURCE = libostree-$(LIBOSTREE_VERSION).tar.xz +LIBOSTREE_SITE = https://github.com/ostreedev/ostree/releases/download/v$(LIBOSTREE_VERSION) + +LIBOSTREE_LICENSE = LGPL-2.0+ +LIBOSTREE_LICENSE_FILES = COPYING +LIBOSTREE_DEPENDENCIES = e2fsprogs host-bison host-pkgconf libfuse libglib2 libgpgme xz +LIBOSTREE_INSTALL_STAGING = YES + +LIBOSTREE_CONF_OPTS += \ + --with-gpgme-prefix=$(STAGING_DIR)/usr \ + --disable-gtk-doc \ + --disable-gtk-doc-html \ + --disable-gtk-doc-pdf \ + --disable-man + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBOSTREE_CONF_OPTS += --with-openssl +LIBOSTREE_DEPENDENCIES += openssl +else +LIBOSTREE_CONF_OPTS += --without-openssl +endif + +# Avahi support needs libavahi-client, which is built by avahi if avahi-daemon +# and dbus is selected. Since there is no BR2_PACKAGE_LIBAVAHI_CLIENT config +# option yet, use the avahi-daemon and dbus config symbols to check for +# libavahi-client. +ifeq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yy) +LIBOSTREE_CONF_OPTS += --with-avahi +LIBOSTREE_DEPENDENCIES += avahi +else +LIBOSTREE_CONF_OPTS += --without-avahi +endif + +#cURL support depends on libsoup +ifeq ($(BR2_PACKAGE_LIBSOUP),y) +LIBOSTREE_CONF_OPTS += --with-soup +LIBOSTREE_DEPENDENCIES += libsoup +ifeq ($(BR2_PACKAGE_LIBCURL),y) +LIBOSTREE_CONF_OPTS += --with-curl +LIBOSTREE_DEPENDENCIES += libcurl +else +LIBOSTREE_CONF_OPTS += --without-curl +endif +else +LIBOSTREE_CONF_OPTS += --without-soup --without-curl +endif + +ifeq ($(BR2_PACKAGE_LIBARCHIVE),y) +LIBOSTREE_CONF_OPTS += --with-libarchive +LIBOSTREE_DEPENDENCIES += libarchive +else +LIBOSTREE_CONF_OPTS += --without-libarchive +endif + +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +LIBOSTREE_CONF_OPTS += --with-selinux +LIBOSTREE_DEPENDENCIES += libselinux +else +LIBOSTREE_CONF_OPTS += --without-selinux +endif + +$(eval $(autotools-package)) diff --git a/package/libpjsip/libpjsip.hash b/package/libpjsip/libpjsip.hash index edac3d578f..36c2ea1289 100644 --- a/package/libpjsip/libpjsip.hash +++ b/package/libpjsip/libpjsip.hash @@ -1,6 +1,6 @@ -# From http://www.pjsip.org/release/2.7.1/MD5SUM.TXT -md5 99a64110fa5c2debff40e0e8d4676380 pjproject-2.7.1.tar.bz2 +# From http://www.pjsip.org/release/2.7.2/MD5SUM.TXT +md5 fa3f0bc098c4bff48ddd92db1c016a7a pjproject-2.7.2.tar.bz2 # Locally computed -sha256 59fabc62a02b2b80857297cfb10e2c68c473f4a0acc6e848cfefe8421f2c3126 pjproject-2.7.1.tar.bz2 +sha256 9c2c828abab7626edf18e04b041ef274bfaa86f99adf2c25ff56f1509e813772 pjproject-2.7.2.tar.bz2 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk index eca6d8f1ee..db9e474be7 100644 --- a/package/libpjsip/libpjsip.mk +++ b/package/libpjsip/libpjsip.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPJSIP_VERSION = 2.7.1 +LIBPJSIP_VERSION = 2.7.2 LIBPJSIP_SOURCE = pjproject-$(LIBPJSIP_VERSION).tar.bz2 LIBPJSIP_SITE = http://www.pjsip.org/release/$(LIBPJSIP_VERSION) LIBPJSIP_DEPENDENCIES = libsrtp @@ -38,8 +38,6 @@ LIBPJSIP_CONF_OPTS = \ --disable-opus \ --disable-oss \ --disable-ext-sound \ - --disable-small-filter \ - --disable-large-filter \ --disable-g711-codec \ --disable-l16-codec \ --disable-g722-codec \ diff --git a/package/libpng/libpng.hash b/package/libpng/libpng.hash index 074cf5fb83..0a0cebee91 100644 --- a/package/libpng/libpng.hash +++ b/package/libpng/libpng.hash @@ -1,5 +1,7 @@ -# From http://sourceforge.net/projects/libpng/files/libpng16/1.6.32/ -md5 e01be057a9369183c959b793a685ad15 libpng-1.6.32.tar.xz -sha1 161d91d15cfd739773e0a73b41032b9f27322914 libpng-1.6.32.tar.xz +# From http://sourceforge.net/projects/libpng/files/libpng16/1.6.34/ +md5 c05b6ca7190a5e387b78657dbe5536b2 libpng-1.6.34.tar.xz +sha1 45de4ec996ffcc3e18037e7c128abe95f4d0292a libpng-1.6.34.tar.xz + # Locally computed: -sha256 c918c3113de74a692f0a1526ce881dc26067763eb3915c57ef3a0f7b6886f59b libpng-1.6.32.tar.xz +sha256 2f1e960d92ce3b3abd03d06dfec9637dfbd22febf107a536b44f7a47c60659f6 libpng-1.6.34.tar.xz +sha256 a247c24f82bacf0403fe2f3d5550493a91cdb575fe7036b764bda8cacf3efd9c LICENSE diff --git a/package/libpng/libpng.mk b/package/libpng/libpng.mk index 2aa0217121..f8594c808f 100644 --- a/package/libpng/libpng.mk +++ b/package/libpng/libpng.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPNG_VERSION = 1.6.32 +LIBPNG_VERSION = 1.6.34 LIBPNG_SERIES = 16 LIBPNG_SOURCE = libpng-$(LIBPNG_VERSION).tar.xz LIBPNG_SITE = http://downloads.sourceforge.net/project/libpng/libpng${LIBPNG_SERIES}/$(LIBPNG_VERSION) diff --git a/package/libpqxx/0001-include-sys-time.h-outside-fallback-select-55.patch b/package/libpqxx/0001-include-sys-time.h-outside-fallback-select-55.patch new file mode 100644 index 0000000000..4c635759e0 --- /dev/null +++ b/package/libpqxx/0001-include-sys-time.h-outside-fallback-select-55.patch @@ -0,0 +1,119 @@ +From 44970d7331e4f369e160af0135a2d1fc16f27a21 Mon Sep 17 00:00:00 2001 +From: jdknight-rockwellcollins +Date: Mon, 15 Jan 2018 12:41:25 -0500 +Subject: [PATCH] include sys/time.h outside fallback select (#55) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The implementation of 'wait_fd' (inside 'connection_base.cxx') always +relies on the existence of the 'timeval' structure. In Linux, this +structure is provided by the header 'sys/time.h'. If polling or select +capabilities are detected, the structure is never included into the +source and will result in a compilation error (GCC 7.x): + + connection_base.cxx:1153:28: error: ‘{anonymous}::tv_milliseconds’ declared as an ‘inline’ variable + inline int tv_milliseconds(timeval *tv = nullptr) + ^~~~~~~ + ... + +The following moves the 'HAVE_SYS_TIME_H' check outside the +select-fallback case so that the header can be included no matter the +event-function feature is used. + +Signed-off-by: James Knight +--- + configure | 28 ++++++++++++---------------- + configure.ac | 6 +----- + src/connection_base.cxx | 2 +- + 3 files changed, 14 insertions(+), 22 deletions(-) + +diff --git a/configure b/configure +index 7d6d96a98e0fcb7dde1e05adf034afe624ada6d6..dd2a33cb54dba5d3223fc2b4c8d03be7c8abde4e 100755 +--- a/configure ++++ b/configure +@@ -17285,22 +17285,6 @@ fi + done + + +-if test "$select_h" != "yes" +-then +-for ac_header in sys/time.h +-do : +- ac_fn_cxx_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" +-if test "x$ac_cv_header_sys_time_h" = xyes; then : +- cat >>confdefs.h <<_ACEOF +-#define HAVE_SYS_TIME_H 1 +-_ACEOF +- +-fi +- +-done +- +-fi +- + # Some systems keep select() in a separate library which is not linked by + # default. See if we need one of those. + socklibok=no +@@ -17419,6 +17403,18 @@ fi + + fi # No poll() + ++for ac_header in sys/time.h ++do : ++ ac_fn_cxx_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_time_h" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_SYS_TIME_H 1 ++_ACEOF ++ ++fi ++ ++done ++ + + # Add options to compiler command line, if compiler accepts them. + add_compiler_opts_if_ok() { +diff --git a/configure.ac b/configure.ac +index 8977c3d3900a5de66b580365d8fe7d133cd1042d..6649f7fa0ed0572489a0db09517c659012ce707c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -117,11 +117,6 @@ then + select_h=no + AC_CHECK_HEADERS([sys/select.h], [select_h=yes]) + +-if test "$select_h" != "yes" +-then +-AC_CHECK_HEADERS([sys/time.h]) +-fi +- + # Some systems keep select() in a separate library which is not linked by + # default. See if we need one of those. + socklibok=no +@@ -150,6 +145,7 @@ fi + + fi # No poll() + ++AC_CHECK_HEADERS([sys/time.h]) + + # Add options to compiler command line, if compiler accepts them. + add_compiler_opts_if_ok() { +diff --git a/src/connection_base.cxx b/src/connection_base.cxx +index 37ed7728ffd02e1fded3b5d64d6fb2d5fd74d5ed..0ec55bc5bd761690f66b67396cfbf3e3c56ba618 100644 +--- a/src/connection_base.cxx ++++ b/src/connection_base.cxx +@@ -38,10 +38,10 @@ + #if defined(HAVE_UNISTD_H) + #include + #endif ++#endif + #if defined(HAVE_SYS_TIME_H) + #include + #endif +-#endif + + #include "libpq-fe.h" + +-- +1.8.3.msysgit.0 + diff --git a/package/libpqxx/Config.in b/package/libpqxx/Config.in index ddf14fd6ce..9553d7903c 100644 --- a/package/libpqxx/Config.in +++ b/package/libpqxx/Config.in @@ -1,13 +1,17 @@ config BR2_PACKAGE_LIBPQXX bool "libpqxx" - depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_POSTGRESQL + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_INSTALL_LIBSTDCPP help libpqxx is the official C++ client API for PostgreSQL, the enterprise-strength open-source relational database. http://pqxx.org/development/libpqxx/ -comment "libpqxx needs toolchain w/ C++ support" - depends on !BR2_INSTALL_LIBSTDCPP +comment "libpqxx needs toolchain w/ C++, gcc >= 4.8, threads" depends on BR2_PACKAGE_POSTGRESQL + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libpqxx/libpqxx.hash b/package/libpqxx/libpqxx.hash index 65c50c6752..372be603c5 100644 --- a/package/libpqxx/libpqxx.hash +++ b/package/libpqxx/libpqxx.hash @@ -1,4 +1,3 @@ -# From: http://pqxx.org/download/software/libpqxx/libpqxx-4.0.1.tar.gz.md5sum -md5 6ea888b9ba85dd7cef1b182dc5f223a2 libpqxx-4.0.1.tar.gz -# Locally computed after verifying md5sum: -sha256 097ceda2797761ce517faa5bee186c883df1c407cb2aada613a16773afeedc38 libpqxx-4.0.1.tar.gz +# Locally computed: +sha256 81cac92458efd799fadb0374107464320d93eba71de05aedf21afb9c8dda7c3a libpqxx-6.0.0.tar.gz +sha256 9e1c78fa302e4e9738bf3315b130429035c03fcb0f046531ccd977cb474f6b31 COPYING diff --git a/package/libpqxx/libpqxx.mk b/package/libpqxx/libpqxx.mk index ec6a3bce68..ccafa9ce71 100644 --- a/package/libpqxx/libpqxx.mk +++ b/package/libpqxx/libpqxx.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBPQXX_VERSION = 4.0.1 -LIBPQXX_SITE = http://pqxx.org/download/software/libpqxx +LIBPQXX_VERSION = 6.0.0 +LIBPQXX_SITE = $(call github,jtv,libpqxx,$(LIBPQXX_VERSION)) LIBPQXX_INSTALL_STAGING = YES LIBPQXX_DEPENDENCIES = postgresql LIBPQXX_LICENSE = BSD-3-Clause diff --git a/package/libressl/libressl.hash b/package/libressl/libressl.hash index 580701d6a7..555a75cf05 100644 --- a/package/libressl/libressl.hash +++ b/package/libressl/libressl.hash @@ -1,2 +1,2 @@ # From https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/SHA256 -sha256 e57f5e3d5842a81fe9351b6e817fcaf0a749ca4ef35a91465edba9e071dce7c4 libressl-2.5.5.tar.gz +sha256 859edfc71019d27c448fe148e679afdd972a0baa91b21f02b2b2f5f8a84ddd2a libressl-2.6.5.tar.gz diff --git a/package/libressl/libressl.mk b/package/libressl/libressl.mk index ccd236d293..466b0b831b 100644 --- a/package/libressl/libressl.mk +++ b/package/libressl/libressl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBRESSL_VERSION = 2.5.5 +LIBRESSL_VERSION = 2.6.5 LIBRESSL_SITE = https://ftp.openbsd.org/pub/OpenBSD/LibreSSL LIBRESSL_LICENSE = ISC (new additions), OpenSSL or SSLeay (original OpenSSL code) LIBRESSL_LICENSE_FILES = COPYING diff --git a/package/librsvg/librsvg.hash b/package/librsvg/librsvg.hash index 9ab798120f..6f4b07423a 100644 --- a/package/librsvg/librsvg.hash +++ b/package/librsvg/librsvg.hash @@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/gnome/sources/librsvg/2.40/librsvg-2.40.18.sha256sum -sha256 bfc8c488c89c1e7212c478beb95c41b44701636125a3e6dab41187f1485b564c librsvg-2.40.18.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/librsvg/2.40/librsvg-2.40.20.sha256sum +sha256 cff4dd3c3b78bfe99d8fcfad3b8ba1eee3289a0823c0e118d78106be6b84c92b librsvg-2.40.20.tar.xz diff --git a/package/librsvg/librsvg.mk b/package/librsvg/librsvg.mk index c8afdfd69f..4f563ce6db 100644 --- a/package/librsvg/librsvg.mk +++ b/package/librsvg/librsvg.mk @@ -5,7 +5,7 @@ ################################################################################ LIBRSVG_VERSION_MAJOR = 2.40 -LIBRSVG_VERSION = $(LIBRSVG_VERSION_MAJOR).18 +LIBRSVG_VERSION = $(LIBRSVG_VERSION_MAJOR).20 LIBRSVG_SITE = http://ftp.gnome.org/pub/gnome/sources/librsvg/$(LIBRSVG_VERSION_MAJOR) LIBRSVG_SOURCE = librsvg-$(LIBRSVG_VERSION).tar.xz LIBRSVG_INSTALL_STAGING = YES diff --git a/package/libsamplerate/libsamplerate.mk b/package/libsamplerate/libsamplerate.mk index 76e93f913e..c107650cb4 100644 --- a/package/libsamplerate/libsamplerate.mk +++ b/package/libsamplerate/libsamplerate.mk @@ -12,6 +12,10 @@ LIBSAMPLERATE_CONF_OPTS = --disable-fftw --program-transform-name='' LIBSAMPLERATE_LICENSE = BSD-2-Clause LIBSAMPLERATE_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_ALSA_LIB),y) +LIBSAMPLERATE_DEPENDENCIES += alsa-lib +endif + ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) LIBSAMPLERATE_DEPENDENCIES += libsndfile endif diff --git a/package/libselinux/0003-libselinux-build-follow-standard-semantics-for-DESTD.patch b/package/libselinux/0003-libselinux-build-follow-standard-semantics-for-DESTD.patch new file mode 100644 index 0000000000..089eef414e --- /dev/null +++ b/package/libselinux/0003-libselinux-build-follow-standard-semantics-for-DESTD.patch @@ -0,0 +1,137 @@ +libselinux: build: follow standard semantics for DESTDIR and PREFIX + +This patch solves the following issues: +- The pkg-config files generates odd paths when using DESTDIR without PREFIX +- DESTDIR is needed during compile time to compute library and header paths which it should not. +- Installing with both DESTDIR and PREFIX set gives us odd paths +- Make usage of DESTDIR and PREFIX more standard + +Signed-off-by: Marcus Folkesson + +diff -durN libselinux.orig/include/Makefile libselinux/include/Makefile +--- libselinux.orig/include/Makefile 2018-01-12 12:42:30.898709792 +0100 ++++ libselinux/include/Makefile 2018-01-12 10:02:57.745478435 +0100 +@@ -1,6 +1,6 @@ + # Installation directories. +-PREFIX ?= $(DESTDIR)/usr +-INCDIR ?= $(PREFIX)/include/selinux ++PREFIX ?= /usr ++INCDIR = $(DESTDIR)$(PREFIX)/include/selinux + + all: + +diff -durN libselinux.orig/man/Makefile libselinux/man/Makefile +--- libselinux.orig/man/Makefile 2018-01-12 12:42:30.898709792 +0100 ++++ libselinux/man/Makefile 2018-01-12 10:02:57.745478435 +0100 +@@ -1,7 +1,8 @@ + # Installation directories. +-MAN8DIR ?= $(DESTDIR)/usr/share/man/man8 +-MAN5DIR ?= $(DESTDIR)/usr/share/man/man5 +-MAN3DIR ?= $(DESTDIR)/usr/share/man/man3 ++PREFIX ?= /usr ++MAN8DIR ?= $(DESTDIR)$(PREFIX)/share/man/man8 ++MAN5DIR ?= $(DESTDIR)$(PREFIX)/share/man/man5 ++MAN3DIR ?= $(DESTDIR)$(PREFIX)/share/man/man3 + + all: + +diff -durN libselinux.orig/src/libselinux.pc.in libselinux/src/libselinux.pc.in +--- libselinux.orig/src/libselinux.pc.in 2018-01-12 12:42:30.905376458 +0100 ++++ libselinux/src/libselinux.pc.in 2018-01-12 10:02:57.745478435 +0100 +@@ -1,6 +1,6 @@ + prefix=@prefix@ + exec_prefix=${prefix} +-libdir=${exec_prefix}/@libdir@ ++libdir=@libdir@ + includedir=@includedir@ + + Name: libselinux +diff -durN libselinux.orig/src/Makefile libselinux/src/Makefile +--- libselinux.orig/src/Makefile 2018-01-12 12:42:30.902043126 +0100 ++++ libselinux/src/Makefile 2018-01-12 10:02:57.745478435 +0100 +@@ -8,10 +8,10 @@ + PKG_CONFIG ?= pkg-config + + # Installation directories. +-PREFIX ?= $(DESTDIR)/usr ++PREFIX ?= /usr + LIBDIR ?= $(PREFIX)/lib +-SHLIBDIR ?= $(DESTDIR)/lib + INCLUDEDIR ?= $(PREFIX)/include ++LIBINSTALL = $(DESTDIR)$(LIBDIR) + PYINC ?= $(shell $(PKG_CONFIG) --cflags $(PYPREFIX)) + PYLIBS ?= $(shell $(PKG_CONFIG) --libs $(PYPREFIX)) + PYSITEDIR ?= $(DESTDIR)$(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])') +@@ -19,8 +19,6 @@ + RUBYINC ?= $(shell $(RUBY) -e 'puts "-I" + RbConfig::CONFIG["rubyarchhdrdir"] + " -I" + RbConfig::CONFIG["rubyhdrdir"]') + RUBYLIBS ?= $(shell $(RUBY) -e 'puts "-L" + RbConfig::CONFIG["libdir"] + " -L" + RbConfig::CONFIG["archlibdir"] + " " + RbConfig::CONFIG["LIBRUBYARG_SHARED"]') + RUBYINSTALL ?= $(DESTDIR)$(shell $(RUBY) -e 'puts RbConfig::CONFIG["vendorarchdir"]') +-LIBBASE ?= $(shell basename $(LIBDIR)) +-LIBSEPOLA ?= $(LIBDIR)/libsepol.a + + VERSION = $(shell cat ../VERSION) + LIBVERSION = 1 +@@ -148,7 +146,7 @@ + ln -sf $@ $(TARGET) + + $(LIBPC): $(LIBPC).in ../VERSION +- sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBBASE):; s:@includedir@:$(INCLUDEDIR):' < $< > $@ ++ sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBDIR):; s:@includedir@:$(INCLUDEDIR):' < $< > $@ + + selinuxswig_python_exception.i: ../include/selinux/selinux.h + bash -e exception.sh > $@ || (rm -f $@ ; false) +@@ -156,8 +154,8 @@ + $(AUDIT2WHYLOBJ): audit2why.c + $(CC) $(filter-out -Werror, $(CFLAGS)) $(PYINC) -fPIC -DSHARED -c -o $@ $< + +-$(AUDIT2WHYSO): $(AUDIT2WHYLOBJ) $(LIBSEPOLA) +- $(CC) $(CFLAGS) $(LDFLAGS) -L. -shared -o $@ $^ -lselinux $(PYLIBS) ++$(AUDIT2WHYSO): $(AUDIT2WHYLOBJ) ++ $(CC) $(CFLAGS) $(LDFLAGS) -L. -shared -o $@ $^ -lselinux $(PYLIBS) -l:libsepol.a + + %.o: %.c policy.h + $(CC) $(CFLAGS) $(TLSFLAGS) -c -o $@ $< +@@ -177,13 +175,13 @@ + $(SWIG) $< + + install: all +- test -d $(LIBDIR) || install -m 755 -d $(LIBDIR) +- install -m 644 $(LIBA) $(LIBDIR) +- test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) +- install -m 755 $(LIBSO) $(SHLIBDIR) +- test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig +- install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig +- ln -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) ++ test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) ++ install -m 644 $(LIBA) $(LIBINSTALL) ++ test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) ++ install -m 755 $(LIBSO) $(LIBINSTALL) ++ test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig ++ install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig ++ ln -sf --relative $(LIBINSTALL)/$(LIBSO) $(LIBINSTALL)/$(TARGET) + + install-pywrap: pywrap + test -d $(PYSITEDIR)/selinux || install -m 755 -d $(PYSITEDIR)/selinux +@@ -196,7 +194,7 @@ + install -m 755 $(SWIGRUBYSO) $(RUBYINSTALL)/selinux.so + + relabel: +- /sbin/restorecon $(SHLIBDIR)/$(LIBSO) ++ /sbin/restorecon $(LIBINSTALL)/$(LIBSO) + + clean-pywrap: + -rm -f $(SWIGLOBJ) $(SWIGSO) $(AUDIT2WHYLOBJ) $(AUDIT2WHYSO) +diff -durN libselinux.orig/utils/Makefile libselinux/utils/Makefile +--- libselinux.orig/utils/Makefile 2018-01-12 12:42:30.905376458 +0100 ++++ libselinux/utils/Makefile 2018-01-12 10:02:57.745478435 +0100 +@@ -1,8 +1,6 @@ + # Installation directories. +-PREFIX ?= $(DESTDIR)/usr +-LIBDIR ?= $(PREFIX)/lib +-SBINDIR ?= $(PREFIX)/sbin +-INCLUDEDIR ?= $(PREFIX)/include ++PREFIX ?= /usr ++SBINDIR ?= $(DESTDIR)$(PREFIX)/sbin + + OS ?= $(shell uname) + diff --git a/package/libselinux/0003-revert-ln-relative.patch b/package/libselinux/0003-revert-ln-relative.patch deleted file mode 100644 index b8ad07000a..0000000000 --- a/package/libselinux/0003-revert-ln-relative.patch +++ /dev/null @@ -1,24 +0,0 @@ -Makefile: revert libselinux: use ln --relative to create .so symlinks - -This reverts 71393a181d63c9baae5fe8dcaeb9411d1f253998 - -ln --relative is too recent to be available in all distributions, -especially enterprise-grade distros that can stick around as long as -they are maintained (up to 10 years in some cases?). - -For the sake of Buildroot, revert the upstream patch. - -Signed-off-by: "Yann E. MORIN" - -diff -durN a/src/Makefile b/src/Makefile ---- a/src/Makefile -+++ b/src/Makefile -@@ -151,7 +151,7 @@ - install -m 755 $(LIBSO) $(SHLIBDIR) - test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig - install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig -- ln -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) -+ cd $(LIBDIR) && ln -sf ../../`basename $(SHLIBDIR)`/$(LIBSO) $(TARGET) - - install-pywrap: pywrap - test -d $(PYLIBDIR)/site-packages/selinux || install -m 755 -d $(PYLIBDIR)/site-packages/selinux diff --git a/package/libselinux/0004-Fix-build-break-around-__atomic_-with-GCC-4.7.patch b/package/libselinux/0004-Fix-build-break-around-__atomic_-with-GCC-4.7.patch new file mode 100644 index 0000000000..88e3a79332 --- /dev/null +++ b/package/libselinux/0004-Fix-build-break-around-__atomic_-with-GCC-4.7.patch @@ -0,0 +1,70 @@ +From abe76789f8e7ce61b357f693eaed5b28feab5ce2 Mon Sep 17 00:00:00 2001 +From: Hollis Blanchard +Date: Mon, 13 Aug 2018 12:11:33 -0700 +Subject: [PATCH] Fix build break around __atomic_*() with GCC<4.7 + +The __atomic_* GCC primitives were introduced in GCC 4.7, but Red Hat +Enterprise Linux 6.x (for example) provides GCC 4.4. Tweak the current code to +use the (most conservative) __sync_synchronize() primitive provided by those +older GCC versions. + +(Really, no __atomic or __sync operations are needed here at all, since POSIX +4.12 "Memory Synchronization" says pthread_mutex_lock() and +pthread_mutex_unlock() "synchronize memory with respect to other threads"...) + +Signed-off-by: Hollis Blanchard +--- + src/label_file.h | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/src/label_file.h b/src/label_file.h +index 2fa85474..47859baf 100644 +--- a/src/label_file.h ++++ b/src/label_file.h +@@ -351,8 +351,14 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec, + * init_routine does not take a parameter, it's not possible + * to use, so we generate the same effect with atomics and a + * mutex */ ++#ifdef __ATOMIC_RELAXED + regex_compiled = + __atomic_load_n(&spec->regex_compiled, __ATOMIC_ACQUIRE); ++#else ++ /* GCC <4.7 */ ++ __sync_synchronize(); ++ regex_compiled = spec->regex_compiled; ++#endif + if (regex_compiled) { + return 0; /* already done */ + } +@@ -360,8 +366,14 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec, + __pthread_mutex_lock(&spec->regex_lock); + /* Check if another thread compiled the regex while we waited + * on the mutex */ ++#ifdef __ATOMIC_RELAXED + regex_compiled = + __atomic_load_n(&spec->regex_compiled, __ATOMIC_ACQUIRE); ++#else ++ /* GCC <4.7 */ ++ __sync_synchronize(); ++ regex_compiled = spec->regex_compiled; ++#endif + if (regex_compiled) { + __pthread_mutex_unlock(&spec->regex_lock); + return 0; +@@ -404,7 +416,13 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec, + } + + /* Done. */ ++#ifdef __ATOMIC_RELAXED + __atomic_store_n(&spec->regex_compiled, true, __ATOMIC_RELEASE); ++#else ++ /* GCC <4.7 */ ++ spec->regex_compiled = true; ++ __sync_synchronize(); ++#endif + __pthread_mutex_unlock(&spec->regex_lock); + return 0; + } +-- +2.13.0 + diff --git a/package/libselinux/0004-revert-ln-relative.patch b/package/libselinux/0004-revert-ln-relative.patch new file mode 100644 index 0000000000..f72afa1b0a --- /dev/null +++ b/package/libselinux/0004-revert-ln-relative.patch @@ -0,0 +1,24 @@ +Makefile: revert libselinux: use ln --relative to create .so symlinks + +This reverts 71393a181d63c9baae5fe8dcaeb9411d1f253998 + +ln --relative is too recent to be available in all distributions, +especially enterprise-grade distros that can stick around as long as +they are maintained (up to 10 years in some cases?). + +For the sake of Buildroot, revert the upstream patch. + +Signed-off-by: "Yann E. MORIN" + +diff -durNw libselinux-2.7.orig/src/Makefile libselinux-2.7/src/Makefile +--- libselinux-2.7.orig/src/Makefile 2018-01-15 20:53:50.168525700 +0100 ++++ libselinux-2.7/src/Makefile 2018-01-15 20:55:27.061858005 +0100 +@@ -181,7 +181,7 @@ + install -m 755 $(LIBSO) $(LIBINSTALL) + test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig + install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig +- ln -sf --relative $(LIBINSTALL)/$(LIBSO) $(LIBINSTALL)/$(TARGET) ++ cd $(LIBINSTALL) && ln -sf $(LIBSO) $(TARGET) + + install-pywrap: pywrap + test -d $(PYSITEDIR)/selinux || install -m 755 -d $(PYSITEDIR)/selinux diff --git a/package/libselinux/libselinux.mk b/package/libselinux/libselinux.mk index 8ac8000de5..b3d48f7105 100644 --- a/package/libselinux/libselinux.mk +++ b/package/libselinux/libselinux.mk @@ -45,15 +45,13 @@ LIBSELINUX_MAKE_INSTALL_TARGETS += install-pywrap # invocation as the rest of the library. define LIBSELINUX_BUILD_PYTHON_BINDINGS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - $(LIBSELINUX_MAKE_OPTS) DESTDIR=$(STAGING_DIR) swigify pywrap + $(LIBSELINUX_MAKE_OPTS) swigify pywrap endef endif # python || python3 define LIBSELINUX_BUILD_CMDS - # DESTDIR is needed during the compile to compute library and - # header paths. $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - $(LIBSELINUX_MAKE_OPTS) DESTDIR=$(STAGING_DIR) all + $(LIBSELINUX_MAKE_OPTS) all $(LIBSELINUX_BUILD_PYTHON_BINDINGS) endef @@ -85,10 +83,8 @@ HOST_LIBSELINUX_PYINC = -I$(HOST_DIR)/include/python$(PYTHON_VERSION_MAJOR)/ HOST_LIBSELINUX_PYLIBVER = python$(PYTHON_VERSION_MAJOR) endif -# DESTDIR is needed during the compile to compute library and header paths. HOST_LIBSELINUX_MAKE_OPTS = \ $(HOST_CONFIGURE_OPTS) \ - DESTDIR=$(HOST_DIR) \ PREFIX=$(HOST_DIR) \ LDFLAGS="$(HOST_LDFLAGS) -lpcre -lpthread" \ PYINC="$(HOST_LIBSELINUX_PYINC)" \ diff --git a/package/libsemanage/0002-libsemanage-build-follow-standard-semantics-for-DESTD.patch b/package/libsemanage/0002-libsemanage-build-follow-standard-semantics-for-DESTD.patch new file mode 100644 index 0000000000..47ac6bded5 --- /dev/null +++ b/package/libsemanage/0002-libsemanage-build-follow-standard-semantics-for-DESTD.patch @@ -0,0 +1,118 @@ +libsemanage: build: follow standard semantics for DESTDIR and PREFIX + +This patch solves the following issues: +- DESTDIR is needed during compile time to compute library and header paths which it should not. +- Installing with both DESTDIR and PREFIX set gives us odd paths +- Make usage of DESTDIR and PREFIX more standard + +Signed-off-by: Marcus Folkesson + +diff -durN libsemanage.orig/include/Makefile libsemanage/include/Makefile +--- libsemanage.orig/include/Makefile 2018-01-12 12:42:30.915376458 +0100 ++++ libsemanage/include/Makefile 2018-01-12 10:04:18.632144240 +0100 +@@ -1,6 +1,6 @@ + # Installation directories. +-PREFIX ?= $(DESTDIR)/usr +-INCDIR ?= $(PREFIX)/include/semanage ++PREFIX ?= /usr ++INCDIR ?= $(DESTDIR)$(PREFIX)/include/semanage + + all: + +diff -durN libsemanage.orig/man/Makefile libsemanage/man/Makefile +--- libsemanage.orig/man/Makefile 2018-01-12 12:42:30.915376458 +0100 ++++ libsemanage/man/Makefile 2018-01-12 10:04:18.632144240 +0100 +@@ -1,6 +1,7 @@ + # Installation directories. +-MAN3DIR ?= $(DESTDIR)/usr/share/man/man3 +-MAN5DIR ?= $(DESTDIR)/usr/share/man/man5 ++PREFIX ?= /usr ++MAN3DIR ?= $(DESTDIR)$(PREFIX)/share/man/man3 ++MAN5DIR ?= $(DESTDIR)$(PREFIX)/share/man/man5 + + all: + +diff -durN libsemanage.orig/src/libsemanage.pc.in libsemanage/src/libsemanage.pc.in +--- libsemanage.orig/src/libsemanage.pc.in 2018-01-12 12:42:30.918709792 +0100 ++++ libsemanage/src/libsemanage.pc.in 2018-01-12 10:04:18.632144240 +0100 +@@ -1,6 +1,6 @@ + prefix=@prefix@ + exec_prefix=${prefix} +-libdir=${exec_prefix}/@libdir@ ++libdir=@libdir@ + includedir=@includedir@ + + Name: libsemanage +diff -durN libsemanage.orig/src/Makefile libsemanage/src/Makefile +--- libsemanage.orig/src/Makefile 2018-01-12 12:42:30.918709792 +0100 ++++ libsemanage/src/Makefile 2018-01-12 10:04:18.632144240 +0100 +@@ -8,10 +8,10 @@ + PKG_CONFIG ?= pkg-config + + # Installation directories. +-PREFIX ?= $(DESTDIR)/usr ++PREFIX ?= /usr + LIBDIR ?= $(PREFIX)/lib +-SHLIBDIR ?= $(DESTDIR)/lib + INCLUDEDIR ?= $(PREFIX)/include ++LIBINSTALL = $(DESTDIR)$(LIBDIR) + PYINC ?= $(shell $(PKG_CONFIG) --cflags $(PYPREFIX)) + PYLIBS ?= $(shell $(PKG_CONFIG) --libs $(PYPREFIX)) + PYSITEDIR ?= $(DESTDIR)$(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])') +@@ -20,8 +20,6 @@ + RUBYLIBS ?= $(shell $(RUBY) -e 'puts "-L" + RbConfig::CONFIG["libdir"] + " -L" + RbConfig::CONFIG["archlibdir"] + " " + RbConfig::CONFIG["LIBRUBYARG_SHARED"]') + RUBYINSTALL ?= $(DESTDIR)$(shell $(RUBY) -e 'puts RbConfig::CONFIG["vendorarchdir"]') + +-LIBBASE=$(shell basename $(LIBDIR)) +- + DEFAULT_SEMANAGE_CONF_LOCATION=$(DESTDIR)/etc/selinux/semanage.conf + + ifeq ($(DEBUG),1) +@@ -95,7 +93,7 @@ + ln -sf $@ $(TARGET) + + $(LIBPC): $(LIBPC).in ../VERSION +- sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBBASE):; s:@includedir@:$(INCLUDEDIR):' < $< > $@ ++ sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBDIR):; s:@includedir@:$(INCLUDEDIR):' < $< > $@ + + semanageswig_python_exception.i: ../include/semanage/semanage.h + bash -e exception.sh > $@ || (rm -f $@ ; false) +@@ -136,13 +134,13 @@ + $(SWIG) $< + + install: all +- test -d $(LIBDIR) || install -m 755 -d $(LIBDIR) +- install -m 644 $(LIBA) $(LIBDIR) +- install -m 755 $(LIBSO) $(LIBDIR) +- test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig +- install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig ++ test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) ++ install -m 644 $(LIBA) $(LIBINSTALL) ++ install -m 755 $(LIBSO) $(LIBINSTALL) ++ test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig ++ install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig + test -f $(DEFAULT_SEMANAGE_CONF_LOCATION) || install -m 644 -D semanage.conf $(DEFAULT_SEMANAGE_CONF_LOCATION) +- cd $(LIBDIR) && ln -sf $(LIBSO) $(TARGET) ++ cd $(LIBINSTALL) && ln -sf $(LIBSO) $(TARGET) + + install-pywrap: pywrap + test -d $(PYSITEDIR) || install -m 755 -d $(PYSITEDIR) +@@ -155,7 +153,7 @@ + install -m 755 $(SWIGRUBYSO) $(RUBYINSTALL)/semanage.so + + relabel: +- /sbin/restorecon $(LIBDIR)/$(LIBSO) ++ /sbin/restorecon $(LIBINSTALL)/$(LIBSO) + + clean: + -rm -f $(LIBPC) $(OBJS) $(LOBJS) $(LIBA) $(LIBSO) $(SWIGLOBJ) $(SWIGSO) $(SWIGRUBYSO) $(TARGET) conf-parse.c conf-parse.h conf-scan.c *.o *.lo *~ +diff -durN libsemanage.orig/tests/Makefile libsemanage/tests/Makefile +--- libsemanage.orig/tests/Makefile 2018-01-12 12:42:30.922043125 +0100 ++++ libsemanage/tests/Makefile 2018-01-12 10:04:18.632144240 +0100 +@@ -1,6 +1,3 @@ +-PREFIX ?= $(DESTDIR)/usr +-LIBDIR ?= $(PREFIX)/lib +- + # Add your test source files here: + SOURCES = $(sort $(wildcard *.c)) + diff --git a/package/libsemanage/libsemanage.mk b/package/libsemanage/libsemanage.mk index 829409f527..b6e50e2848 100644 --- a/package/libsemanage/libsemanage.mk +++ b/package/libsemanage/libsemanage.mk @@ -14,9 +14,7 @@ LIBSEMANAGE_INSTALL_STAGING = YES LIBSEMANAGE_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) define LIBSEMANAGE_BUILD_CMDS - # DESTDIR is needed during the compile to compute library and - # header paths. - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(LIBSEMANAGE_MAKE_OPTS) DESTDIR=$(STAGING_DIR) all + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(LIBSEMANAGE_MAKE_OPTS) all endef define LIBSEMANAGE_INSTALL_STAGING_CMDS @@ -30,10 +28,8 @@ endef HOST_LIBSEMANAGE_DEPENDENCIES = host-bison host-audit host-libsepol host-libselinux \ host-ustr host-bzip2 host-swig -# DESTDIR is needed during the compile to compute library and header paths. HOST_LIBSEMANAGE_MAKE_OPTS += \ $(HOST_CONFIGURE_OPTS) \ - DESTDIR=$(HOST_DIR) \ PREFIX=$(HOST_DIR) \ SWIG_LIB="$(HOST_DIR)/share/swig/$(SWIG_VERSION)/" diff --git a/package/libsepol/0001-libsepol-build-follow-standard-semantics-for-DESTD.patch b/package/libsepol/0001-libsepol-build-follow-standard-semantics-for-DESTD.patch new file mode 100644 index 0000000000..1daf7206d3 --- /dev/null +++ b/package/libsepol/0001-libsepol-build-follow-standard-semantics-for-DESTD.patch @@ -0,0 +1,109 @@ +libsepol: build: follow standard semantics for DESTDIR and PREFIX + +This patch solves the following issues: +- The pkg-config files generates odd paths when using DESTDIR without PREFIX +- DESTDIR is needed during compile time to compute library and header paths which it should not. +- Installing with both DESTDIR and PREFIX set gives us odd paths +- Make usage of DESTDIR and PREFIX more standard + +Signed-off-by: Marcus Folkesson + +diff -durN libsepol.orig/include/Makefile libsepol/include/Makefile +--- libsepol.orig/include/Makefile 2018-01-12 12:42:30.908709792 +0100 ++++ libsepol/include/Makefile 2018-01-12 09:58:04.322148228 +0100 +@@ -1,6 +1,6 @@ + # Installation directories. +-PREFIX ?= $(DESTDIR)/usr +-INCDIR ?= $(PREFIX)/include/sepol ++PREFIX ?= /usr ++INCDIR = $(DESTDIR)$(PREFIX)/include/sepol + CILDIR ?= ../cil + + all: +diff -durN libsepol.orig/man/Makefile libsepol/man/Makefile +--- libsepol.orig/man/Makefile 2018-01-12 12:42:30.912043126 +0100 ++++ libsepol/man/Makefile 2018-01-12 09:58:04.322148228 +0100 +@@ -1,6 +1,7 @@ + # Installation directories. +-MAN8DIR ?= $(DESTDIR)/usr/share/man/man8 +-MAN3DIR ?= $(DESTDIR)/usr/share/man/man3 ++PREFIX ?= /usr ++MAN8DIR ?= $(DESTDIR)$(PREFIX)/share/man/man8 ++MAN3DIR ?= $(DESTDIR)$(PREFIX)/share/man/man3 + + all: + +diff -durN libsepol.orig/src/libsepol.pc.in libsepol/src/libsepol.pc.in +--- libsepol.orig/src/libsepol.pc.in 2018-01-12 12:42:30.912043126 +0100 ++++ libsepol/src/libsepol.pc.in 2018-01-12 09:58:04.322148228 +0100 +@@ -1,6 +1,6 @@ + prefix=@prefix@ + exec_prefix=${prefix} +-libdir=${exec_prefix}/@libdir@ ++libdir=@libdir@ + includedir=@includedir@ + + Name: libsepol +diff -durN libsepol.orig/src/Makefile libsepol/src/Makefile +--- libsepol.orig/src/Makefile 2018-01-12 12:42:30.912043126 +0100 ++++ libsepol/src/Makefile 2018-01-12 09:58:04.322148228 +0100 +@@ -1,11 +1,10 @@ + # Installation directories. +-PREFIX ?= $(DESTDIR)/usr ++PREFIX ?= /usr + INCLUDEDIR ?= $(PREFIX)/include + LIBDIR ?= $(PREFIX)/lib +-SHLIBDIR ?= $(DESTDIR)/lib + RANLIB ?= ranlib +-LIBBASE ?= $(shell basename $(LIBDIR)) + CILDIR ?= ../cil ++LIBINSTALL = $(DESTDIR)$(LIBDIR) + + VERSION = $(shell cat ../VERSION) + LIBVERSION = 1 +@@ -52,7 +51,7 @@ + ln -sf $@ $(TARGET) + + $(LIBPC): $(LIBPC).in ../VERSION +- sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBBASE):; s:@includedir@:$(INCLUDEDIR):' < $< > $@ ++ sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBDIR):; s:@includedir@:$(INCLUDEDIR):' < $< > $@ + + $(LIBMAP): $(LIBMAP).in + ifneq ($(DISABLE_CIL),y) +@@ -80,16 +79,16 @@ + $(CC) $(CFLAGS) -fPIC -DSHARED -c -o $@ $< + + install: all +- test -d $(LIBDIR) || install -m 755 -d $(LIBDIR) +- install -m 644 $(LIBA) $(LIBDIR) +- test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) +- install -m 755 $(LIBSO) $(SHLIBDIR) +- test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig +- install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig +- $(LN) -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) ++ test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) ++ install -m 644 $(LIBA) $(LIBINSTALL) ++ test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) ++ install -m 755 $(LIBSO) $(LIBINSTALL) ++ test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig ++ install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig ++ $(LN) -sf --relative $(LIBINSTALL)/$(LIBSO) $(LIBINSTALL)/$(TARGET) + + relabel: +- /sbin/restorecon $(SHLIBDIR)/$(LIBSO) ++ /sbin/restorecon $(LIBINSTALL)/$(LIBSO) + + clean: + -rm -f $(LIBPC) $(LIBMAP) $(OBJS) $(LOBJS) $(LIBA) $(LIBSO) $(TARGET) $(CIL_GENERATED) +diff -durN libsepol.orig/utils/Makefile libsepol/utils/Makefile +--- libsepol.orig/utils/Makefile 2018-01-12 12:42:30.915376458 +0100 ++++ libsepol/utils/Makefile 2018-01-12 09:58:04.322148228 +0100 +@@ -1,6 +1,6 @@ + # Installation directories. +-PREFIX ?= $(DESTDIR)/usr +-BINDIR ?= $(PREFIX)/bin ++PREFIX ?= /usr ++BINDIR ?= $(DESTDIR)$(PREFIX)/bin + + CFLAGS ?= -Wall -Werror + override CFLAGS += -I../include diff --git a/package/libsepol/0001-support-static-only.patch b/package/libsepol/0003-support-static-only.patch similarity index 57% rename from package/libsepol/0001-support-static-only.patch rename to package/libsepol/0003-support-static-only.patch index 185a5641de..8cf9a180ff 100644 --- a/package/libsepol/0001-support-static-only.patch +++ b/package/libsepol/0003-support-static-only.patch @@ -15,11 +15,10 @@ Signed-off-by: Adam Duskett src/Makefile | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) -diff --git a/src/Makefile b/src/Makefile -index 819d261..040921d 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -40,7 +40,12 @@ LDFLAGS += -undefined dynamic_lookup +diff -durNw libsepol-2.7.orig/src/Makefile libsepol-2.7/src/Makefile +--- libsepol-2.7.orig/src/Makefile 2018-01-15 21:07:51.285183415 +0100 ++++ libsepol-2.7/src/Makefile 2018-01-15 21:08:56.515182717 +0100 +@@ -39,7 +39,12 @@ LN=gln endif @@ -33,22 +32,14 @@ index 819d261..040921d 100644 $(LIBA): $(OBJS) -@@ -82,11 +87,13 @@ endif +@@ -81,8 +86,10 @@ install: all - test -d $(LIBDIR) || install -m 755 -d $(LIBDIR) - install -m 644 $(LIBA) $(LIBDIR) -- test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) -- install -m 755 $(LIBSO) $(SHLIBDIR) - test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig - install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig + test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) + install -m 644 $(LIBA) $(LIBINSTALL) +ifeq ($(STATIC),) -+ test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) -+ install -m 755 $(LIBSO) $(SHLIBDIR) - $(LN) -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) + test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) + install -m 755 $(LIBSO) $(LIBINSTALL) +endif - - relabel: - /sbin/restorecon $(SHLIBDIR)/$(LIBSO) --- -2.13.6 - + test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig + install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig + $(LN) -sf --relative $(LIBINSTALL)/$(LIBSO) $(LIBINSTALL)/$(TARGET) diff --git a/package/libsepol/0003-revert-ln-relative.patch b/package/libsepol/0004-revert-ln-relative.patch similarity index 54% rename from package/libsepol/0003-revert-ln-relative.patch rename to package/libsepol/0004-revert-ln-relative.patch index 488a9abea0..9d1553ed97 100644 --- a/package/libsepol/0003-revert-ln-relative.patch +++ b/package/libsepol/0004-revert-ln-relative.patch @@ -12,23 +12,16 @@ they are maintained (up to 10 years in some cases?). For the sake of Buildroot, revert the upstream patch. Signed-off-by: "Yann E. MORIN" ---- - src/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/Makefile b/src/Makefile -index 040921d..e811c9e 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -92,7 +92,7 @@ install: all - ifeq ($(STATIC),) - test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) - install -m 755 $(LIBSO) $(SHLIBDIR) -- $(LN) -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) -+ cd $(LIBDIR) && ln -sf ../../`basename $(SHLIBDIR)`/$(LIBSO) $(TARGET) +diff -durNw libsepol-2.7.orig/src/Makefile libsepol-2.7/src/Makefile +--- libsepol-2.7.orig/src/Makefile 2018-01-15 21:37:12.821831315 +0100 ++++ libsepol-2.7/src/Makefile 2018-01-15 21:38:03.838497434 +0100 +@@ -92,7 +92,7 @@ endif + test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig + install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig +- $(LN) -sf --relative $(LIBINSTALL)/$(LIBSO) $(LIBINSTALL)/$(TARGET) ++ cd $(LIBINSTALL) && ln -sf $(LIBSO) $(TARGET) relabel: --- -2.13.6 - + /sbin/restorecon $(LIBINSTALL)/$(LIBSO) diff --git a/package/libsepol/libsepol.mk b/package/libsepol/libsepol.mk index c54c3bfc42..5932ca1464 100644 --- a/package/libsepol/libsepol.mk +++ b/package/libsepol/libsepol.mk @@ -20,9 +20,7 @@ LIBSEPOL_MAKE_FLAGS += STATIC=1 endif define LIBSEPOL_BUILD_CMDS - # DESTDIR is needed during the compile to compute library and - # header paths. - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(STAGING_DIR) + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(LIBSEPOL_MAKE_FLAGS) endef define LIBSEPOL_INSTALL_STAGING_CMDS @@ -35,7 +33,6 @@ endef HOST_LIBSEPOL_MAKE_ENV = \ $(HOST_MAKE_ENV) \ - DESTDIR=$(HOST_DIR) \ PREFIX=$(HOST_DIR) define HOST_LIBSEPOL_BUILD_CMDS diff --git a/package/libsodium/libsodium.hash b/package/libsodium/libsodium.hash index 725281eb2f..5cc076364b 100644 --- a/package/libsodium/libsodium.hash +++ b/package/libsodium/libsodium.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 9c13accb1a9e59ab3affde0e60ef9a2149ed4d6e8f99c93c7a5b97499ee323fd libsodium-1.0.13.tar.gz +# https://download.libsodium.org/libsodium/releases/libsodium-1.0.16.tar.gz.sig +sha256 eeadc7e1e1bcef09680fb4837d448fbdf57224978f865ac1c16745868fbd0533 libsodium-1.0.16.tar.gz +sha256 6faf327c97dca6da69acefc6d3969d7bffb70a24f0707874870fdcfd6b0acf58 LICENSE diff --git a/package/libsodium/libsodium.mk b/package/libsodium/libsodium.mk index b1d8a2613b..ffdd1717ba 100644 --- a/package/libsodium/libsodium.mk +++ b/package/libsodium/libsodium.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBSODIUM_VERSION = 1.0.13 -LIBSODIUM_SITE = https://download.libsodium.org/libsodium/releases +LIBSODIUM_VERSION = 1.0.16 +LIBSODIUM_SITE = https://github.com/jedisct1/libsodium/releases/download/$(LIBSODIUM_VERSION) LIBSODIUM_LICENSE = ISC LIBSODIUM_LICENSE_FILES = LICENSE LIBSODIUM_INSTALL_STAGING = YES diff --git a/package/libsoup/0001-cookie-jar-bail-if-hostname-is-an-empty-string.patch b/package/libsoup/0001-cookie-jar-bail-if-hostname-is-an-empty-string.patch new file mode 100644 index 0000000000..46c7cb4fd8 --- /dev/null +++ b/package/libsoup/0001-cookie-jar-bail-if-hostname-is-an-empty-string.patch @@ -0,0 +1,35 @@ +From 3f5635028bbad44287511fcd3c99f2a2fddf01cd Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Sun, 24 Jun 2018 19:46:19 -0500 +Subject: [PATCH] cookie-jar: bail if hostname is an empty string + +There are several other ways to fix the problem with this function, but +skipping over all of the code is probably the simplest. + +Fixes #3 + + +(cherry picked from commit db2b0d5809d5f8226d47312b40992cadbcde439f) +Signed-off-by: Baruch Siach +--- +Upstream status: commit db2b0d5809d + + libsoup/soup-cookie-jar.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libsoup/soup-cookie-jar.c b/libsoup/soup-cookie-jar.c +index d12bc85a8e60..365da6abf9f4 100644 +--- a/libsoup/soup-cookie-jar.c ++++ b/libsoup/soup-cookie-jar.c +@@ -306,7 +306,7 @@ get_cookies (SoupCookieJar *jar, SoupURI *uri, gboolean for_http, gboolean copy_ + + priv = SOUP_COOKIE_JAR_GET_PRIVATE (jar); + +- if (!uri->host) ++ if (!uri->host || !uri->host[0]) + return NULL; + + /* The logic here is a little weird, but the plan is that if +-- +2.18.0 + diff --git a/package/libsoup/Config.in b/package/libsoup/Config.in index 236d3c428a..599f9594d9 100644 --- a/package/libsoup/Config.in +++ b/package/libsoup/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_LIBSOUP and the GLib main loop, to integrate well with GNOME applications. - http://live.gnome.org/LibSoup + https://wiki.gnome.org/Projects/libsoup if BR2_PACKAGE_LIBSOUP diff --git a/package/libsoxr/Config.in b/package/libsoxr/Config.in index a218ae99c8..ae1ea10280 100644 --- a/package/libsoxr/Config.in +++ b/package/libsoxr/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_LIBSOXR bool "libsoxr" help The SoX Resampler library `libsoxr' performs one-dimensional - sample-rate conversion—it may be used, for example, to + sample-rate conversion. It may be used, for example, to resample PCM-encoded audio. It aims to give fast and high quality results for any constant diff --git a/package/libss7/Config.in b/package/libss7/Config.in index b99c578182..bdf5fbe3a8 100644 --- a/package/libss7/Config.in +++ b/package/libss7/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBSS7 bool "libss7" + depends on BR2_USE_MMU # dahdi-tools <- perl depends on BR2_LINUX_KERNEL depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_DAHDI_LINUX diff --git a/package/libssh/libssh.hash b/package/libssh/libssh.hash index 009a335e3b..257b93cb61 100644 --- a/package/libssh/libssh.hash +++ b/package/libssh/libssh.hash @@ -1,5 +1,5 @@ -# from https://red.libssh.org/projects/libssh/files/ -md5 d3fc864208bf607ad87cdee836894feb libssh-0.7.5.tar.xz -# Locally calculated after checking signature on uncompressed libssh-0.7.5.tar -# https://red.libssh.org/attachments/download/217/libssh-0.7.5.tar.asc -sha256 54e86dd5dc20e5367e58f3caab337ce37675f863f80df85b6b1614966a337095 libssh-0.7.5.tar.xz +# Locally calculated after checking pgp signature +# https://www.libssh.org/files/0.8/libssh-0.8.4.tar.xz.asc +# with key 8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D +sha256 6bb07713021a8586ba2120b2c36c468dc9ac8096d043f9b1726639aa4275b81b libssh-0.8.4.tar.xz +sha256 468cf08f784ef6fd3b3705b60dd8111e2b70fbb8f6549cd503665a6bbb3bc625 COPYING diff --git a/package/libssh/libssh.mk b/package/libssh/libssh.mk index 34716c502a..1ef09b3a21 100644 --- a/package/libssh/libssh.mk +++ b/package/libssh/libssh.mk @@ -4,9 +4,10 @@ # ################################################################################ -LIBSSH_VERSION = 0.7.5 +LIBSSH_VERSION_MAJOR = 0.8 +LIBSSH_VERSION = $(LIBSSH_VERSION_MAJOR).4 LIBSSH_SOURCE = libssh-$(LIBSSH_VERSION).tar.xz -LIBSSH_SITE = https://red.libssh.org/attachments/download/218 +LIBSSH_SITE = https://www.libssh.org/files/$(LIBSSH_VERSION_MAJOR) LIBSSH_LICENSE = LGPL-2.1 LIBSSH_LICENSE_FILES = COPYING LIBSSH_INSTALL_STAGING = YES @@ -16,6 +17,9 @@ LIBSSH_CONF_OPTS = \ -DWITH_SERVER=OFF \ -DWITH_EXAMPLES=OFF +# cmake older than 3.10 require this to avoid try_run() in FindThreads +LIBSSH_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF + ifeq ($(BR2_PACKAGE_ZLIB),y) LIBSSH_CONF_OPTS += -DWITH_ZLIB=ON LIBSSH_DEPENDENCIES += zlib diff --git a/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch b/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch new file mode 100644 index 0000000000..76e08c51a9 --- /dev/null +++ b/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch @@ -0,0 +1,31 @@ +From f4846473f0f0ec313f8ed7ff4cd9f59c1741465d Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 20 Mar 2018 20:21:53 +0200 +Subject: [PATCH] acinclude.m4: add mbedtls to LIBS + +This is useful for static builds so that the Libs.private field in +libssh2.pc contains correct info for the benefit of pkg-config users. +Static link with libssh2 requires this information. + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/libssh2/libssh2/pull/242 + + acinclude.m4 | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/acinclude.m4 b/acinclude.m4 +index c0e89a1a0c98..02c70845d27c 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -441,6 +441,7 @@ m4_case([$1], + [mbedtls], [ + LIBSSH2_LIB_HAVE_LINKFLAGS([mbedcrypto], [], [#include ], [ + AC_DEFINE(LIBSSH2_MBEDTLS, 1, [Use $1]) ++ LIBS="$LIBS $LIBMBEDCRYPTO" + found_crypto="$1" + support_clear_memory=yes + ]) +-- +2.16.2 + diff --git a/package/libssh2/libssh2.mk b/package/libssh2/libssh2.mk index 18e772c722..c5b0bd855e 100644 --- a/package/libssh2/libssh2.mk +++ b/package/libssh2/libssh2.mk @@ -40,4 +40,10 @@ else LIBSSH2_CONF_OPTS += --without-libz endif +HOST_LIBSSH2_DEPENDENCIES += host-openssl +HOST_LIBSSH2_CONF_OPTS += --with-openssl \ + --with-libssl-prefix=$(HOST_DIR)/usr \ + --without-libgcrypt + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/libtasn1/libtasn1.hash b/package/libtasn1/libtasn1.hash index 699c14050a..9ed7a7a42c 100644 --- a/package/libtasn1/libtasn1.hash +++ b/package/libtasn1/libtasn1.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature -sha256 6753da2e621257f33f5b051cc114d417e5206a0818fe0b1ecfd6153f70934753 libtasn1-4.12.tar.gz +# https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.13.tar.gz.sig +sha256 7e528e8c317ddd156230c4e31d082cd13e7ddeb7a54824be82632209550c8cca libtasn1-4.13.tar.gz +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/libtasn1/libtasn1.mk b/package/libtasn1/libtasn1.mk index b34a3b63f0..f14d57abd3 100644 --- a/package/libtasn1/libtasn1.mk +++ b/package/libtasn1/libtasn1.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBTASN1_VERSION = 4.12 +LIBTASN1_VERSION = 4.13 LIBTASN1_SITE = $(BR2_GNU_MIRROR)/libtasn1 LIBTASN1_DEPENDENCIES = host-bison LIBTASN1_LICENSE = GPL-3.0+ (tests, tools), LGPL-2.1+ (library) diff --git a/package/libtirpc/0003-Add-rpcgen-program-from-nfs-utils-sources.patch b/package/libtirpc/0003-Add-rpcgen-program-from-nfs-utils-sources.patch deleted file mode 100644 index 1cf861417c..0000000000 --- a/package/libtirpc/0003-Add-rpcgen-program-from-nfs-utils-sources.patch +++ /dev/null @@ -1,6508 +0,0 @@ -From 866b651bcb9f93f47582e5e2e4f1eb3155025298 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 10 Nov 2012 16:21:01 +0100 -Subject: [PATCH] Add rpcgen program from nfs-utils sources - -Signed-off-by: Thomas Petazzoni -[yann.morin.1998@free.fr: update for 0.3.1] -Signed-off-by: "Yann E. MORIN" ---- - Makefile.am | 2 +- - configure.ac | 14 +- - rpcgen/Makefile.am | 22 ++ - rpcgen/rpc_clntout.c | 217 ++++++++++ - rpcgen/rpc_cout.c | 706 +++++++++++++++++++++++++++++++++ - rpcgen/rpc_hout.c | 490 +++++++++++++++++++++++ - rpcgen/rpc_main.c | 1067 ++++++++++++++++++++++++++++++++++++++++++++++++++ - rpcgen/rpc_output.h | 16 + - rpcgen/rpc_parse.c | 609 ++++++++++++++++++++++++++++ - rpcgen/rpc_parse.h | 166 ++++++++ - rpcgen/rpc_sample.c | 247 ++++++++++++ - rpcgen/rpc_scan.c | 474 ++++++++++++++++++++++ - rpcgen/rpc_scan.h | 103 +++++ - rpcgen/rpc_svcout.c | 882 +++++++++++++++++++++++++++++++++++++++++ - rpcgen/rpc_tblout.c | 165 ++++++++ - rpcgen/rpc_util.c | 479 ++++++++++++++++++++++ - rpcgen/rpc_util.h | 166 ++++++++ - rpcgen/rpcgen.1 | 521 ++++++++++++++++++++++++ - 18 files changed, 6344 insertions(+), 2 deletions(-) - create mode 100644 rpcgen/Makefile.am - create mode 100644 rpcgen/rpc_clntout.c - create mode 100644 rpcgen/rpc_cout.c - create mode 100644 rpcgen/rpc_hout.c - create mode 100644 rpcgen/rpc_main.c - create mode 100644 rpcgen/rpc_output.h - create mode 100644 rpcgen/rpc_parse.c - create mode 100644 rpcgen/rpc_parse.h - create mode 100644 rpcgen/rpc_sample.c - create mode 100644 rpcgen/rpc_scan.c - create mode 100644 rpcgen/rpc_scan.h - create mode 100644 rpcgen/rpc_svcout.c - create mode 100644 rpcgen/rpc_tblout.c - create mode 100644 rpcgen/rpc_util.c - create mode 100644 rpcgen/rpc_util.h - create mode 100644 rpcgen/rpcgen.1 - -diff --git a/Makefile.am b/Makefile.am -index 466b6dd..8558289 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,4 +1,4 @@ --SUBDIRS = src man doc -+SUBDIRS = src man doc rpcgen - ACLOCAL_AMFLAGS = -I m4 - - noinst_HEADERS = tirpc/reentrant.h \ -diff --git a/configure.ac b/configure.ac -index e3cb8af..0ea2e6e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -58,6 +58,18 @@ AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netine - AC_CHECK_LIB([pthread], [pthread_create]) - AC_CHECK_FUNCS([getrpcbyname getrpcbynumber setrpcent endrpcent getrpcent]) - --AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile]) -+AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes) -+ -+AC_MSG_CHECKING([for a C compiler for build tools]) -+if test $cross_compiling = yes; then -+ AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc) -+else -+ CC_FOR_BUILD=$CC -+fi -+AC_MSG_RESULT([$CC_FOR_BUILD]) -+AC_SUBST(CC_FOR_BUILD) -+ -+AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile rpcgen/Makefile]) -+ - AC_OUTPUT(libtirpc.pc) - -diff --git a/rpcgen/Makefile.am b/rpcgen/Makefile.am -new file mode 100644 -index 0000000..2277b6f ---- /dev/null -+++ b/rpcgen/Makefile.am -@@ -0,0 +1,22 @@ -+COMPILE = $(CC_FOR_BUILD) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+ $(CPPFLAGS_FOR_BUILD) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) -+LINK = $(CC_FOR_BUILD) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(AM_LDFLAGS) $(LDFLAGS_FOR_BUILD) -o $@ -+ -+noinst_PROGRAMS = rpcgen -+ -+rpcgen_SOURCES = \ -+ rpc_clntout.c \ -+ rpc_cout.c \ -+ rpc_hout.c \ -+ rpc_main.c \ -+ rpc_parse.c \ -+ rpc_sample.c \ -+ rpc_scan.c \ -+ rpc_svcout.c \ -+ rpc_tblout.c \ -+ rpc_util.c \ -+ rpc_parse.h \ -+ rpc_scan.h \ -+ rpc_util.h -+ -+dist_man1_MANS = rpcgen.1 -diff --git a/rpcgen/rpc_clntout.c b/rpcgen/rpc_clntout.c -new file mode 100644 -index 0000000..e2f4382 ---- /dev/null -+++ b/rpcgen/rpc_clntout.c -@@ -0,0 +1,217 @@ -+/* -+ * Copyright (c) 2009, Sun Microsystems, Inc. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the following disclaimer. -+ * - 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. -+ * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -+ */ -+ -+#if 0 -+static char sccsid[] = "@(#)rpc_clntout.c 1.11 89/02/22 (C) 1987 SMI"; -+#endif -+ -+/* -+ * rpc_clntout.c, Client-stub outputter for the RPC protocol compiler -+ * Copyright (C) 1987, Sun Microsytsems, Inc. -+ */ -+#include -+#include -+#include -+#include "rpc_parse.h" -+#include "rpc_util.h" -+#include "rpc_output.h" -+ -+/* extern pdeclaration(); */ -+/* void printarglist(); */ -+ -+#define DEFAULT_TIMEOUT 25 /* in seconds */ -+static char RESULT[] = "clnt_res"; -+ -+static void write_program(definition *def); -+static void printbody(proc_list *proc); -+ -+ -+void -+write_stubs(void) -+{ -+ list *l; -+ definition *def; -+ -+ f_print(fout, -+ "\n/* Default timeout can be changed using clnt_control() */\n"); -+ f_print(fout, "static struct timeval TIMEOUT = { %d, 0 };\n", -+ DEFAULT_TIMEOUT); -+ for (l = defined; l != NULL; l = l->next) { -+ def = (definition *) l->val; -+ if (def->def_kind == DEF_PROGRAM) { -+ write_program(def); -+ } -+ } -+} -+ -+static void -+write_program(definition *def) -+{ -+ version_list *vp; -+ proc_list *proc; -+ -+ for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { -+ for (proc = vp->procs; proc != NULL; proc = proc->next) { -+ f_print(fout, "\n"); -+ ptype(proc->res_prefix, proc->res_type, 1); -+ f_print(fout, "*\n"); -+ pvname(proc->proc_name, vp->vers_num); -+ printarglist(proc, "clnt", "CLIENT *"); -+ f_print(fout, "{\n"); -+ printbody(proc); -+ f_print(fout, "}\n"); -+ } -+ } -+} -+ -+/* -+ * Writes out declarations of procedure's argument list. -+ * In either ANSI C style, in one of old rpcgen style (pass by reference), -+ * or new rpcgen style (multiple arguments, pass by value); -+ */ -+ -+/* sample addargname = "clnt"; sample addargtype = "CLIENT * " */ -+ -+void -+printarglist(proc_list *proc, char *addargname, char *addargtype) -+{ -+ -+ decl_list *l; -+ -+ if (!newstyle) { /* old style: always pass arg by reference */ -+ if (Cflag) { /* C++ style heading */ -+ f_print(fout, "("); -+ ptype(proc->args.decls->decl.prefix, proc->args.decls->decl.type, 1); -+ f_print(fout, "*argp, %s%s)\n", addargtype, addargname); -+ } else { -+ f_print(fout, "(argp, %s)\n", addargname); -+ f_print(fout, "\t"); -+ ptype(proc->args.decls->decl.prefix, proc->args.decls->decl.type, 1); -+ f_print(fout, "*argp;\n"); -+ } -+ } else if (streq(proc->args.decls->decl.type, "void")) { -+ /* newstyle, 0 argument */ -+ if (Cflag) -+ f_print(fout, "(%s%s)\n", addargtype, addargname); -+ else -+ f_print(fout, "(%s)\n", addargname); -+ } else { -+ /* new style, 1 or multiple arguments */ -+ if (!Cflag) { -+ f_print(fout, "("); -+ for (l = proc->args.decls; l != NULL; l = l->next) -+ f_print(fout, "%s, ", l->decl.name); -+ f_print(fout, "%s)\n", addargname); -+ for (l = proc->args.decls; l != NULL; l = l->next) { -+ pdeclaration(proc->args.argname, &l->decl, 1, ";\n"); -+ } -+ } else { /* C++ style header */ -+ f_print(fout, "("); -+ for (l = proc->args.decls; l != NULL; l = l->next) { -+ pdeclaration(proc->args.argname, &l->decl, 0, ", "); -+ } -+ f_print(fout, " %s%s)\n", addargtype, addargname); -+ } -+ } -+ -+ if (!Cflag) -+ f_print(fout, "\t%s%s;\n", addargtype, addargname); -+} -+ -+ -+ -+static char * -+ampr(char *type) -+{ -+ if (isvectordef(type, REL_ALIAS)) { -+ return (""); -+ } else { -+ return ("&"); -+ } -+} -+ -+static void -+printbody(proc_list *proc) -+{ -+ decl_list *l; -+ bool_t args2 = (proc->arg_num > 1); -+ -+ /* For new style with multiple arguments, need a structure in which -+ * to stuff the arguments. */ -+ if (newstyle && args2) { -+ f_print(fout, "\t%s", proc->args.argname); -+ f_print(fout, " arg;\n"); -+ } -+ f_print(fout, "\tstatic "); -+ if (streq(proc->res_type, "void")) { -+ f_print(fout, "char "); -+ } else { -+ ptype(proc->res_prefix, proc->res_type, 0); -+ } -+ f_print(fout, "%s;\n", RESULT); -+ f_print(fout, "\n"); -+ f_print(fout, "\tmemset((char *)%s%s, 0, sizeof(%s));\n", -+ ampr(proc->res_type), RESULT, RESULT); -+ if (newstyle && !args2 && (streq(proc->args.decls->decl.type, "void"))) { -+ /* newstyle, 0 arguments */ -+ f_print(fout, -+ "\tif (clnt_call(clnt, %s, (xdrproc_t) xdr_void, (caddr_t) NULL, " -+ "(xdrproc_t) xdr_%s, (caddr_t) %s%s, TIMEOUT) != RPC_SUCCESS) {\n", -+ proc->proc_name, -+ stringfix(proc->res_type), ampr(proc->res_type), RESULT); -+ -+ } else if (newstyle && args2) { -+ /* newstyle, multiple arguments: stuff arguments into structure */ -+ for (l = proc->args.decls; l != NULL; l = l->next) { -+ f_print(fout, "\targ.%s = %s;\n", -+ l->decl.name, l->decl.name); -+ } -+ f_print(fout, -+ "\tif (clnt_call(clnt, %s, (xdrproc_t) xdr_%s, (caddr_t) &arg, " -+ "(xdrproc_t) xdr_%s, (caddr_t) %s%s, TIMEOUT) != RPC_SUCCESS) {\n", -+ proc->proc_name, proc->args.argname, -+ stringfix(proc->res_type), ampr(proc->res_type), RESULT); -+ } else { /* single argument, new or old style */ -+ f_print(fout, -+ "\tif (clnt_call(clnt, %s, (xdrproc_t) xdr_%s, " -+ "(caddr_t) %s%s, (xdrproc_t) xdr_%s, (caddr_t) %s%s, TIMEOUT) != RPC_SUCCESS) {\n", -+ proc->proc_name, -+ stringfix(proc->args.decls->decl.type), -+ (newstyle ? "&" : ""), -+ (newstyle ? proc->args.decls->decl.name : "argp"), -+ stringfix(proc->res_type), ampr(proc->res_type), RESULT); -+ } -+ f_print(fout, "\t\treturn (NULL);\n"); -+ f_print(fout, "\t}\n"); -+ if (streq(proc->res_type, "void")) { -+ f_print(fout, "\treturn ((void *)%s%s);\n", -+ ampr(proc->res_type), RESULT); -+ } else { -+ f_print(fout, "\treturn (%s%s);\n", ampr(proc->res_type), RESULT); -+ } -+} -diff --git a/rpcgen/rpc_cout.c b/rpcgen/rpc_cout.c -new file mode 100644 -index 0000000..a61214f ---- /dev/null -+++ b/rpcgen/rpc_cout.c -@@ -0,0 +1,706 @@ -+/* -+ * Copyright (c) 2009, Sun Microsystems, Inc. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the following disclaimer. -+ * - 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. -+ * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -+ */ -+ -+#if 0 -+static char sccsid[] = "@(#)rpc_cout.c 1.13 89/02/22 (C) 1987 SMI"; -+#endif -+ -+/* -+ * rpc_cout.c, XDR routine outputter for the RPC protocol compiler -+ */ -+#include -+#include -+#include -+#include -+#include -+#include "rpc_parse.h" -+#include "rpc_util.h" -+ -+static int findtype(definition *def, char *type); -+static int undefined(char *type); -+static void print_generic_header(char *procname, int pointerp); -+static void print_header(definition *def); -+static void print_prog_header(proc_list *plist); -+static void print_trailer(void); -+static void print_ifopen(int indent, char *name); -+static void print_ifarg(char *arg); -+static void print_ifsizeof(char *prefix, char *type); -+static void print_ifclose(int indent); -+static void print_ifstat(int indent, char *prefix, char *type, relation rel, -+ char *amax, char *objname, char *name); -+static void emit_enum(definition *def); -+static void emit_program(definition *def); -+static void emit_union(definition *def); -+static void emit_struct(definition *def); -+static void emit_typedef(definition *def); -+static void print_stat(int indent, declaration *dec); -+static void emit_inline(declaration *decl, int flag); -+static void emit_single_in_line(declaration *decl, int flag, relation rel); -+static char * upcase(char *str); -+ -+/* -+ * Emit the C-routine for the given definition -+ */ -+void -+emit(definition *def) -+{ -+ if (def->def_kind == DEF_CONST) { -+ return; -+ } -+ if (def->def_kind == DEF_PROGRAM) { -+ emit_program(def); -+ return; -+ } -+ if (def->def_kind == DEF_TYPEDEF) { -+ /* now we need to handle declarations like -+ * struct typedef foo foo; -+ * since we dont want this to be expanded into 2 calls -+ * to xdr_foo */ -+ -+ if (strcmp(def->def.ty.old_type, def->def_name) == 0) -+ return; -+ }; -+ -+ print_header(def); -+ switch (def->def_kind) { -+ case DEF_UNION: -+ emit_union(def); -+ break; -+ case DEF_ENUM: -+ emit_enum(def); -+ break; -+ case DEF_STRUCT: -+ emit_struct(def); -+ break; -+ case DEF_TYPEDEF: -+ emit_typedef(def); -+ break; -+ default: -+ break; -+ } -+ print_trailer(); -+} -+ -+static int -+findtype(definition *def, char *type) -+{ -+ -+ if (def->def_kind == DEF_PROGRAM || def->def_kind == DEF_CONST) { -+ return (0); -+ } else { -+ return (streq(def->def_name, type)); -+ } -+} -+ -+static int -+undefined(char *type) -+{ -+ definition *def; -+ -+ def = (definition *) FINDVAL(defined, type, findtype); -+ -+ return (def == NULL); -+} -+ -+ -+static void -+print_generic_header(char *procname, int pointerp) -+{ -+ f_print(fout, "\n"); -+ f_print(fout, "bool_t\n"); -+ if (Cflag) { -+ f_print(fout, "xdr_%s(", procname); -+ f_print(fout, "XDR *xdrs, "); -+ f_print(fout, "%s ", procname); -+ if (pointerp) -+ f_print(fout, "*"); -+ f_print(fout, "objp)\n{\n\n"); -+ } else { -+ f_print(fout, "xdr_%s(xdrs, objp)\n", procname); -+ f_print(fout, "\tXDR *xdrs;\n"); -+ f_print(fout, "\t%s ", procname); -+ if (pointerp) -+ f_print(fout, "*"); -+ f_print(fout, "objp;\n{\n\n"); -+ } -+} -+ -+static void -+print_header(definition *def) -+{ -+ print_generic_header(def->def_name, -+ def->def_kind != DEF_TYPEDEF || -+ !isvectordef(def->def.ty.old_type, def->def.ty.rel)); -+ -+ /* Now add Inline support */ -+ -+ -+ if (Inline == 0) -+ return; -+} -+ -+static void -+print_prog_header(proc_list *plist) -+{ -+ print_generic_header(plist->args.argname, 1); -+} -+ -+static void -+print_trailer(void) -+{ -+ f_print(fout, "\treturn (TRUE);\n"); -+ f_print(fout, "}\n"); -+} -+ -+ -+static void -+print_ifopen(int indent, char *name) -+{ -+ tabify(fout, indent); -+ f_print(fout, " if (!xdr_%s(xdrs", name); -+} -+ -+static void -+print_ifarg(char *arg) -+{ -+ f_print(fout, ", %s", arg); -+} -+ -+static void -+print_ifsizeof(char *prefix, char *type) -+{ -+ if (streq(type, "bool")) { -+ f_print(fout, ", sizeof(bool_t), (xdrproc_t)xdr_bool"); -+ } else { -+ f_print(fout, ", sizeof("); -+ if (undefined(type) && prefix) { -+ f_print(fout, "%s ", prefix); -+ } -+ f_print(fout, "%s), (xdrproc_t)xdr_%s", type, type); -+ } -+} -+ -+static void -+print_ifclose(int indent) -+{ -+ f_print(fout, ")) {\n"); -+ tabify(fout, indent); -+ f_print(fout, "\t return (FALSE);\n"); -+ tabify(fout, indent); -+ f_print(fout, " }\n"); -+} -+ -+static void -+print_ifstat(int indent, char *prefix, char *type, relation rel, -+ char *amax, char *objname, char *name) -+{ -+ char *alt = NULL; -+ -+ switch (rel) { -+ case REL_POINTER: -+ print_ifopen(indent, "pointer"); -+ print_ifarg("(char **)"); -+ f_print(fout, "%s", objname); -+ print_ifsizeof(prefix, type); -+ break; -+ case REL_VECTOR: -+ if (streq(type, "string")) { -+ alt = "string"; -+ } else if (streq(type, "opaque")) { -+ alt = "opaque"; -+ } -+ if (alt) { -+ print_ifopen(indent, alt); -+ print_ifarg(objname); -+ } else { -+ print_ifopen(indent, "vector"); -+ print_ifarg("(char *)"); -+ f_print(fout, "%s", objname); -+ } -+ print_ifarg(amax); -+ if (!alt) { -+ print_ifsizeof(prefix, type); -+ } -+ break; -+ case REL_ARRAY: -+ if (streq(type, "string")) { -+ alt = "string"; -+ } else if (streq(type, "opaque")) { -+ alt = "bytes"; -+ } -+ if (streq(type, "string")) { -+ print_ifopen(indent, alt); -+ print_ifarg(objname); -+ } else { -+ if (alt) { -+ print_ifopen(indent, alt); -+ } else { -+ print_ifopen(indent, "array"); -+ } -+ /* The (void*) avoids a gcc-4.1 warning */ -+ print_ifarg("(char **)(void*)"); -+ if (*objname == '&') { -+ f_print(fout, "%s.%s_val, (u_int *)%s.%s_len", -+ objname, name, objname, name); -+ } else { -+ f_print(fout, "&%s->%s_val, (u_int *)&%s->%s_len", -+ objname, name, objname, name); -+ } -+ } -+ print_ifarg(amax); -+ if (!alt) { -+ print_ifsizeof(prefix, type); -+ } -+ break; -+ case REL_ALIAS: -+ print_ifopen(indent, type); -+ print_ifarg(objname); -+ break; -+ } -+ print_ifclose(indent); -+} -+ -+static void -+emit_enum(definition *def) -+{ -+ print_ifopen(1, "enum"); -+ print_ifarg("(enum_t *)objp"); -+ print_ifclose(1); -+} -+ -+static void -+emit_program(definition *def) -+{ -+ decl_list *dl; -+ version_list *vlist; -+ proc_list *plist; -+ -+ for (vlist = def->def.pr.versions; vlist != NULL; vlist = vlist->next) -+ for (plist = vlist->procs; plist != NULL; plist = plist->next) { -+ if (!newstyle || plist->arg_num < 2) -+ continue;/* old style, or single argument */ -+ print_prog_header(plist); -+ for (dl = plist->args.decls; dl != NULL; dl = dl->next) -+ print_stat(1, &dl->decl); -+ print_trailer(); -+ } -+} -+ -+ -+static void -+emit_union(definition *def) -+{ -+ declaration *dflt; -+ case_list *cl; -+ declaration *cs; -+ char *object; -+ char *vecformat = "objp->%s_u.%s"; -+ char *format = "&objp->%s_u.%s"; -+ -+ print_stat(1,&def->def.un.enum_decl); -+ f_print(fout, "\tswitch (objp->%s) {\n", def->def.un.enum_decl.name); -+ for (cl = def->def.un.cases; cl != NULL; cl = cl->next) { -+ -+ f_print(fout, "\tcase %s:\n", cl->case_name); -+ if(cl->contflag == 1) /* a continued case statement */ -+ continue; -+ cs = &cl->case_decl; -+ if (!streq(cs->type, "void")) { -+ object = alloc(strlen(def->def_name) + strlen(format) + -+ strlen(cs->name) + 1); -+ if (isvectordef (cs->type, cs->rel)) { -+ s_print(object, vecformat, def->def_name, -+ cs->name); -+ } else { -+ s_print(object, format, def->def_name, -+ cs->name); -+ } -+ print_ifstat(2, cs->prefix, cs->type, cs->rel, cs->array_max, -+ object, cs->name); -+ free(object); -+ } -+ f_print(fout, "\t\tbreak;\n"); -+ } -+ dflt = def->def.un.default_decl; -+ if (dflt != NULL) { -+ if (!streq(dflt->type, "void")) { -+ f_print(fout, "\tdefault:\n"); -+ object = alloc(strlen(def->def_name) + strlen(format) + -+ strlen(dflt->name) + 1); -+ if (isvectordef (dflt->type, dflt->rel)) { -+ s_print(object, vecformat, def->def_name, -+ dflt->name); -+ } else { -+ s_print(object, format, def->def_name, -+ dflt->name); -+ } -+ -+ print_ifstat(2, dflt->prefix, dflt->type, dflt->rel, -+ dflt->array_max, object, dflt->name); -+ free(object); -+ f_print(fout, "\t\tbreak;\n"); -+ } else { -+ /* Avoid gcc warnings about `value not handled in switch' */ -+ f_print(fout, "\tdefault:\n"); -+ f_print(fout, "\t\tbreak;\n"); -+ } -+ } else { -+ f_print(fout, "\tdefault:\n"); -+ f_print(fout, "\t\treturn (FALSE);\n"); -+ } -+ -+ f_print(fout, "\t}\n"); -+} -+ -+static void -+emit_struct(definition *def) -+{ -+ decl_list *dl; -+ int i, j, size, flag; -+ decl_list *cur = NULL, *psav; -+ bas_type *ptr; -+ char *sizestr, *plus; -+ char ptemp[256]; -+ int can_inline; -+ const char *buf_declaration; -+ -+ -+ if (Inline == 0) { -+ for (dl = def->def.st.decls; dl != NULL; dl = dl->next) -+ print_stat(1, &dl->decl); -+ } else { -+ size = 0; -+ can_inline = 0; -+ for (dl = def->def.st.decls; dl != NULL; dl = dl->next) -+ if ((dl->decl.prefix == NULL) && ((ptr = find_type(dl->decl.type)) != NULL) && ((dl->decl.rel == REL_ALIAS) || (dl->decl.rel == REL_VECTOR))) { -+ -+ if (dl->decl.rel == REL_ALIAS) -+ size += ptr->length; -+ else { -+ can_inline = 1; -+ break; /* can be inlined */ -+ }; -+ } else { -+ if (size >= Inline) { -+ can_inline = 1; -+ break; /* can be inlined */ -+ } -+ size = 0; -+ } -+ if (size > Inline) -+ can_inline = 1; -+ -+ if (can_inline == 0) { /* can not inline, drop back to old mode */ -+ for (dl = def->def.st.decls; dl != NULL; dl = dl->next) -+ print_stat(1, &dl->decl); -+ return; -+ }; -+ -+ -+ -+ -+ flag = PUT; -+ for (j = 0; j < 2; j++) { -+ -+ if (flag == PUT) -+ f_print(fout, "\n\t if (xdrs->x_op == XDR_ENCODE) {\n"); -+ else -+ f_print(fout, "\n \t return (TRUE);\n\t} else if (xdrs->x_op == XDR_DECODE) {\n"); -+ -+ -+ i = 0; -+ size = 0; -+ sizestr = NULL; -+ buf_declaration = "int32_t *"; -+ for (dl = def->def.st.decls; dl != NULL; dl = dl->next) { /* xxx */ -+ -+ /* now walk down the list and check for basic types */ -+ if ((dl->decl.prefix == NULL) && ((ptr = find_type(dl->decl.type)) != NULL) && ((dl->decl.rel == REL_ALIAS) || (dl->decl.rel == REL_VECTOR))) { -+ if (i == 0) -+ cur = dl; -+ i++; -+ -+ if (dl->decl.rel == REL_ALIAS) -+ size += ptr->length; -+ else { -+ /* this is required to handle arrays */ -+ -+ if (sizestr == NULL) -+ plus = " "; -+ else -+ plus = "+"; -+ -+ if (ptr->length != 1) -+ s_print(ptemp, " %s %s * %d", plus, dl->decl.array_max, ptr->length); -+ else -+ s_print(ptemp, " %s %s ", plus, dl->decl.array_max); -+ -+ /*now concatenate to sizestr !!!! */ -+ if (sizestr == NULL) -+ sizestr = strdup(ptemp); -+ else { -+ sizestr = realloc(sizestr, strlen(sizestr) + strlen(ptemp) + 1); -+ if (sizestr == NULL) { -+ -+ f_print(stderr, "Fatal error : no memory \n"); -+ crash(); -+ }; -+ sizestr = strcat(sizestr, ptemp); /*build up length of array */ -+ -+ } -+ } -+ -+ } else { -+ if (i > 0) -+ { -+ if (sizestr == NULL && size < Inline) { -+ /* don't expand into inline code if size < inline */ -+ while (cur != dl) { -+ print_stat(1, &cur->decl); -+ cur = cur->next; -+ } -+ } else { -+ -+ -+ -+ /* were already looking at a xdr_inlineable structure */ -+ if (sizestr == NULL) -+ f_print(fout, "\t %sbuf = XDR_INLINE(xdrs,%d * BYTES_PER_XDR_UNIT);", -+ buf_declaration, size); -+ else if (size == 0) -+ f_print(fout, -+ "\t %sbuf = XDR_INLINE(xdrs,%s * BYTES_PER_XDR_UNIT);", -+ buf_declaration, sizestr); -+ else -+ f_print(fout, -+ "\t %sbuf = XDR_INLINE(xdrs,(%d + %s)* BYTES_PER_XDR_UNIT);", -+ buf_declaration, size, sizestr); -+ buf_declaration = ""; -+ -+ f_print(fout, "\n\t if (buf == NULL) {\n"); -+ -+ psav = cur; -+ while (cur != dl) { -+ print_stat(2, &cur->decl); -+ cur = cur->next; -+ } -+ -+ f_print(fout, "\n\t }\n\t else {\n"); -+ -+ cur = psav; -+ while (cur != dl) { -+ emit_inline(&cur->decl, flag); -+ cur = cur->next; -+ } -+ -+ f_print(fout, "\t }\n"); -+ } -+ } -+ size = 0; -+ i = 0; -+ sizestr = NULL; -+ print_stat(1, &dl->decl); -+ } -+ -+ } -+ if (i > 0) -+ { -+ if (sizestr == NULL && size < Inline) { -+ /* don't expand into inline code if size < inline */ -+ while (cur != dl) { -+ print_stat(1, &cur->decl); -+ cur = cur->next; -+ } -+ } else { -+ -+ /* were already looking at a xdr_inlineable structure */ -+ if (sizestr == NULL) -+ f_print(fout, "\t\t%sbuf = XDR_INLINE(xdrs,%d * BYTES_PER_XDR_UNIT);", -+ buf_declaration, size); -+ else if (size == 0) -+ f_print(fout, -+ "\t\t%sbuf = XDR_INLINE(xdrs,%s * BYTES_PER_XDR_UNIT);", -+ buf_declaration, sizestr); -+ else -+ f_print(fout, -+ "\t\t%sbuf = XDR_INLINE(xdrs,(%d + %s)* BYTES_PER_XDR_UNIT);", -+ buf_declaration, size, sizestr); -+ buf_declaration = ""; -+ -+ f_print(fout, "\n\t\tif (buf == NULL) {\n"); -+ -+ psav = cur; -+ while (cur != NULL) { -+ print_stat(2, &cur->decl); -+ cur = cur->next; -+ } -+ f_print(fout, "\n\t }\n\t else {\n"); -+ -+ cur = psav; -+ while (cur != dl) { -+ emit_inline(&cur->decl, flag); -+ cur = cur->next; -+ } -+ -+ f_print(fout, "\t }\n"); -+ -+ } -+ } -+ flag = GET; -+ } -+ f_print(fout, "\t return(TRUE);\n\t}\n\n"); -+ -+ /* now take care of XDR_FREE case */ -+ -+ for (dl = def->def.st.decls; dl != NULL; dl = dl->next) -+ print_stat(1, &dl->decl); -+ } -+} -+ -+ -+ -+ -+static void -+emit_typedef(definition *def) -+{ -+ char *prefix = def->def.ty.old_prefix; -+ char *type = def->def.ty.old_type; -+ char *amax = def->def.ty.array_max; -+ relation rel = def->def.ty.rel; -+ -+ -+ print_ifstat(1, prefix, type, rel, amax, "objp", def->def_name); -+} -+ -+static void -+print_stat(int indent, declaration *dec) -+{ -+ char *prefix = dec->prefix; -+ char *type = dec->type; -+ char *amax = dec->array_max; -+ relation rel = dec->rel; -+ char name[256]; -+ -+ if (isvectordef(type, rel)) { -+ s_print(name, "objp->%s", dec->name); -+ } else { -+ s_print(name, "&objp->%s", dec->name); -+ } -+ print_ifstat(indent, prefix, type, rel, amax, name, dec->name); -+} -+ -+ -+static void -+emit_inline(declaration *decl, int flag) -+{ -+ -+ /*check whether an array or not */ -+ -+ switch (decl->rel) { -+ case REL_ALIAS: -+ emit_single_in_line(decl, flag, REL_ALIAS); -+ break; -+ case REL_VECTOR: -+ f_print(fout, "\t\t{ register %s *genp; \n", decl->type); -+ f_print(fout, "\t\t int i;\n"); -+ f_print(fout, "\t\t for ( i = 0,genp=objp->%s;\n \t\t\ti < %s; i++){\n\t\t", -+ decl->name, decl->array_max); -+ emit_single_in_line(decl, flag, REL_VECTOR); -+ f_print(fout, "\t\t }\n\t\t };\n"); -+ break; -+ default: -+ break; -+ } -+} -+ -+static void -+emit_single_in_line(declaration *decl, int flag, relation rel) -+{ -+ char *upp_case; -+ int freed=0; -+ -+ if(flag == PUT) -+ f_print(fout,"\t\t (void) IXDR_PUT_"); -+ else -+ if(rel== REL_ALIAS) -+ f_print(fout,"\t\t objp->%s = IXDR_GET_",decl->name); -+ else -+ f_print(fout,"\t\t *genp++ = IXDR_GET_"); -+ -+ upp_case=upcase(decl->type); -+ -+ /* hack - XX */ -+ if(strcmp(upp_case,"INT") == 0) -+ { -+ free(upp_case); -+ freed=1; -+ upp_case="INT32"; -+ } -+ -+ if(strcmp(upp_case,"U_INT") == 0) -+ { -+ free(upp_case); -+ freed=1; -+ upp_case="U_INT32"; -+ } -+ -+ -+ if(flag == PUT) -+ if(rel== REL_ALIAS) -+ f_print(fout,"%s(buf,objp->%s);\n",upp_case,decl->name); -+ else -+ f_print(fout,"%s(buf,*genp++);\n",upp_case); -+ -+ else -+ f_print(fout,"%s(buf);\n",upp_case); -+ if(!freed) -+ free(upp_case); -+ -+} -+ -+ -+static char * -+upcase(char *str) -+{ -+ char *ptr, *hptr; -+ -+ -+ ptr = (char *) malloc(strlen(str)+1); -+ if (ptr == (char *) NULL) { -+ f_print(stderr, "malloc failed \n"); -+ exit(1); -+ }; -+ -+ hptr = ptr; -+ while (*str != '\0') -+ *ptr++ = toupper(*str++); -+ -+ *ptr = '\0'; -+ return (hptr); -+ -+} -diff --git a/rpcgen/rpc_hout.c b/rpcgen/rpc_hout.c -new file mode 100644 -index 0000000..ea1cb24 ---- /dev/null -+++ b/rpcgen/rpc_hout.c -@@ -0,0 +1,490 @@ -+/* -+ * Copyright (c) 2009, Sun Microsystems, Inc. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the following disclaimer. -+ * - 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. -+ * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -+ */ -+ -+#if 0 -+static char sccsid[] = "@(#)rpc_hout.c 1.12 89/02/22 (C) 1987 SMI"; -+#endif -+ -+/* -+ * rpc_hout.c, Header file outputter for the RPC protocol compiler -+ */ -+#include -+#include -+#include "rpc_parse.h" -+#include "rpc_util.h" -+#include "rpc_output.h" -+ -+ -+static int undefined2(char *type, char *stop); -+static void pxdrfuncdecl(char *name, int pointerp); -+static void pconstdef(definition *def); -+static void pargdef(definition *def); -+static void pstructdef(definition *def); -+static void puniondef(definition *def); -+static void pdefine(char *name, char *num); -+static void puldefine(char *name, char *num); -+static int define_printed(proc_list *stop, version_list *start); -+static void pprogramdef(definition *def); -+static void pprocdef(proc_list *proc, version_list *vp, -+ char *addargtype, int server_p, int mode); -+static void parglist(proc_list *proc, char *addargtype); -+static void penumdef(definition *def); -+static void ptypedef(definition *def); -+ -+/* -+ * Print the C-version of an xdr definition -+ */ -+void -+print_datadef(definition *def) -+{ -+ -+ if (def->def_kind == DEF_PROGRAM ) /* handle data only */ -+ return; -+ -+ if (def->def_kind != DEF_CONST) { -+ f_print(fout, "\n"); -+ } -+ switch (def->def_kind) { -+ case DEF_STRUCT: -+ pstructdef(def); -+ break; -+ case DEF_UNION: -+ puniondef(def); -+ break; -+ case DEF_ENUM: -+ penumdef(def); -+ break; -+ case DEF_TYPEDEF: -+ ptypedef(def); -+ break; -+ case DEF_PROGRAM: -+ pprogramdef(def); -+ break; -+ case DEF_CONST: -+ pconstdef(def); -+ break; -+ } -+ if (def->def_kind != DEF_PROGRAM && def->def_kind != DEF_CONST) { -+ pxdrfuncdecl( def->def_name, -+ def->def_kind != DEF_TYPEDEF || -+ !isvectordef(def->def.ty.old_type, def->def.ty.rel)); -+ -+ } -+} -+ -+ -+void -+print_funcdef(definition *def) -+{ -+ switch (def->def_kind) { -+ case DEF_PROGRAM: -+ f_print(fout, "\n"); -+ pprogramdef(def); -+ break; -+ default: -+ break; -+ } -+} -+ -+static void -+pxdrfuncdecl(char *name, int pointerp) -+{ -+ f_print(fout, -+ "#ifdef __cplusplus \n" -+ "extern \"C\" bool_t xdr_%s(XDR *, %s%s);\n" -+ "#elif __STDC__ \n" -+ "extern bool_t xdr_%s(XDR *, %s%s);\n" -+ "#else /* Old Style C */ \n" -+ "bool_t xdr_%s();\n" -+ "#endif /* Old Style C */ \n\n", -+ name, name, pointerp ? "*" : "", -+ name, name, pointerp ? "*" : "", -+ name); -+} -+ -+ -+static void -+pconstdef(definition *def) -+{ -+ pdefine(def->def_name, def->def.co); -+} -+ -+/* print out the definitions for the arguments of functions in the -+ header file -+*/ -+static void -+pargdef(definition *def) -+{ -+ decl_list *l; -+ version_list *vers; -+ char *name; -+ proc_list *plist; -+ -+ -+ for (vers = def->def.pr.versions; vers != NULL; vers = vers->next) { -+ for(plist = vers->procs; plist != NULL; -+ plist = plist->next) { -+ -+ if (!newstyle || plist->arg_num < 2) { -+ continue; /* old style or single args */ -+ } -+ name = plist->args.argname; -+ f_print(fout, "struct %s {\n", name); -+ for (l = plist->args.decls; -+ l != NULL; l = l->next) { -+ pdeclaration(name, &l->decl, 1, ";\n" ); -+ } -+ f_print(fout, "};\n"); -+ f_print(fout, "typedef struct %s %s;\n", name, name); -+ pxdrfuncdecl(name, 0); -+ f_print( fout, "\n" ); -+ } -+ } -+ -+} -+ -+ -+static void -+pstructdef(definition *def) -+{ -+ decl_list *l; -+ char *name = def->def_name; -+ -+ f_print(fout, "struct %s {\n", name); -+ for (l = def->def.st.decls; l != NULL; l = l->next) { -+ pdeclaration(name, &l->decl, 1, ";\n"); -+ } -+ f_print(fout, "};\n"); -+ f_print(fout, "typedef struct %s %s;\n", name, name); -+} -+ -+static void -+puniondef(definition *def) -+{ -+ case_list *l; -+ char *name = def->def_name; -+ declaration *decl; -+ -+ f_print(fout, "struct %s {\n", name); -+ decl = &def->def.un.enum_decl; -+ if (streq(decl->type, "bool")) { -+ f_print(fout, "\tbool_t %s;\n", decl->name); -+ } else { -+ f_print(fout, "\t%s %s;\n", decl->type, decl->name); -+ } -+ f_print(fout, "\tunion {\n"); -+ for (l = def->def.un.cases; l != NULL; l = l->next) { -+ if (l->contflag == 0) -+ pdeclaration(name, &l->case_decl, 2, ";\n"); -+ } -+ decl = def->def.un.default_decl; -+ if (decl && !streq(decl->type, "void")) { -+ pdeclaration(name, decl, 2, ";\n"); -+ } -+ f_print(fout, "\t} %s_u;\n", name); -+ f_print(fout, "};\n"); -+ f_print(fout, "typedef struct %s %s;\n", name, name); -+} -+ -+static void -+pdefine(char *name, char *num) -+{ -+ f_print(fout, "#define %s %s\n", name, num); -+} -+ -+static void -+puldefine(char *name, char *num) -+{ -+ f_print(fout, "#define %s ((u_int32_t)%s)\n", name, num); -+} -+ -+static int -+define_printed(proc_list *stop, version_list *start) -+{ -+ version_list *vers; -+ proc_list *proc; -+ -+ for (vers = start; vers != NULL; vers = vers->next) { -+ for (proc = vers->procs; proc != NULL; proc = proc->next) { -+ if (proc == stop) { -+ return (0); -+ } else if (streq(proc->proc_name, stop->proc_name)) { -+ return (1); -+ } -+ } -+ } -+ abort(); -+ /* NOTREACHED */ -+} -+ -+static void -+pprogramdef(definition *def) -+{ -+ version_list *vers; -+ proc_list *proc; -+ int i; -+ char *ext; -+ -+ pargdef(def); -+ -+ puldefine(def->def_name, def->def.pr.prog_num); -+ for (vers = def->def.pr.versions; vers != NULL; vers = vers->next) { -+ if (tblflag) { -+ f_print(fout, "extern struct rpcgen_table %s_%s_table[];\n", -+ locase(def->def_name), vers->vers_num); -+ f_print(fout, "extern %s_%s_nproc;\n", -+ locase(def->def_name), vers->vers_num); -+ } -+ puldefine(vers->vers_name, vers->vers_num); -+ -+ /* -+ * Print out 3 definitions, one for ANSI-C, another for C++, -+ * a third for old style C -+ */ -+ -+ for (i = 0; i < 3; i++) { -+ if (i == 0) { -+ f_print(fout, "\n#ifdef __cplusplus\n"); -+ ext = "extern \"C\" "; -+ } else if (i == 1) { -+ f_print(fout, "\n#elif __STDC__\n"); -+ ext = "extern "; -+ } else { -+ f_print(fout, "\n#else /* Old Style C */ \n"); -+ ext = "extern "; -+ } -+ -+ -+ for (proc = vers->procs; proc != NULL; proc = proc->next) { -+ if (!define_printed(proc, def->def.pr.versions)) { -+ puldefine(proc->proc_name, proc->proc_num); -+ } -+ f_print(fout, "%s", ext); -+ pprocdef(proc, vers, "CLIENT *", 0, i); -+ f_print(fout, "%s", ext); -+ pprocdef(proc, vers, "struct svc_req *", 1, i); -+ -+ } -+ -+ } -+ f_print(fout, "#endif /* Old Style C */ \n"); -+ } -+} -+ -+static void -+pprocdef(proc_list *proc, version_list *vp, char *addargtype, -+ int server_p, int mode) -+{ -+ ptype(proc->res_prefix, proc->res_type, 1); -+ f_print(fout, "* "); -+ if (server_p) -+ pvname_svc(proc->proc_name, vp->vers_num); -+ else -+ pvname(proc->proc_name, vp->vers_num); -+ -+ /* -+ * mode 0 == cplusplus, mode 1 = ANSI-C, mode 2 = old style C -+ */ -+ if (mode == 0 || mode == 1) -+ parglist(proc, addargtype); -+ else -+ f_print(fout, "();\n"); -+} -+ -+ -+ -+/* print out argument list of procedure */ -+static void -+parglist(proc_list *proc, char *addargtype) -+{ -+ decl_list *dl; -+ -+ f_print(fout, "("); -+ -+ if (proc->arg_num < 2 && newstyle && -+ streq(proc->args.decls->decl.type, "void")) { -+ /* 0 argument in new style: do nothing */ -+ } else { -+ for (dl = proc->args.decls; dl != NULL; dl = dl->next) { -+ ptype(dl->decl.prefix, dl->decl.type, 1); -+ if (!newstyle) -+ f_print(fout, "*"); /* old style passes by reference */ -+ -+ f_print(fout, ", "); -+ } -+ } -+ -+ f_print(fout, "%s);\n", addargtype); -+} -+ -+static void -+penumdef(definition *def) -+{ -+ char *name = def->def_name; -+ enumval_list *l; -+ char *last = NULL; -+ int count = 0; -+ -+ f_print(fout, "enum %s {\n", name); -+ for (l = def->def.en.vals; l != NULL; l = l->next) { -+ f_print(fout, "\t%s", l->name); -+ if (l->assignment) { -+ f_print(fout, " = %s", l->assignment); -+ last = l->assignment; -+ count = 1; -+ } else { -+ if (last == NULL) { -+ f_print(fout, " = %d", count++); -+ } else { -+ f_print(fout, " = %s + %d", last, count++); -+ } -+ } -+ f_print(fout, ",\n"); -+ } -+ f_print(fout, "};\n"); -+ f_print(fout, "typedef enum %s %s;\n", name, name); -+} -+ -+static void -+ptypedef(definition *def) -+{ -+ char *name = def->def_name; -+ char *old = def->def.ty.old_type; -+ char prefix[8]; /* enough to contain "struct ", including NUL */ -+ relation rel = def->def.ty.rel; -+ -+ -+ if (!streq(name, old)) { -+ if (streq(old, "string")) { -+ old = "char"; -+ rel = REL_POINTER; -+ } else if (streq(old, "opaque")) { -+ old = "char"; -+ } else if (streq(old, "bool")) { -+ old = "bool_t"; -+ } -+ if (undefined2(old, name) && def->def.ty.old_prefix) { -+ s_print(prefix, "%s ", def->def.ty.old_prefix); -+ } else { -+ prefix[0] = 0; -+ } -+ f_print(fout, "typedef "); -+ switch (rel) { -+ case REL_ARRAY: -+ f_print(fout, "struct {\n"); -+ f_print(fout, "\tu_int %s_len;\n", name); -+ f_print(fout, "\t%s%s *%s_val;\n", prefix, old, name); -+ f_print(fout, "} %s", name); -+ break; -+ case REL_POINTER: -+ f_print(fout, "%s%s *%s", prefix, old, name); -+ break; -+ case REL_VECTOR: -+ f_print(fout, "%s%s %s[%s]", prefix, old, name, -+ def->def.ty.array_max); -+ break; -+ case REL_ALIAS: -+ f_print(fout, "%s%s %s", prefix, old, name); -+ break; -+ } -+ f_print(fout, ";\n"); -+ } -+} -+ -+void -+pdeclaration(char *name, declaration *dec, int tab, char *separator) -+{ -+ char buf[8]; /* enough to hold "struct ", include NUL */ -+ char *prefix; -+ char *type; -+ -+ if (streq(dec->type, "void")) { -+ return; -+ } -+ tabify(fout, tab); -+ if (streq(dec->type, name) && !dec->prefix) { -+ f_print(fout, "struct "); -+ } -+ if (streq(dec->type, "string")) { -+ f_print(fout, "char *%s", dec->name); -+ } else { -+ prefix = ""; -+ if (streq(dec->type, "bool")) { -+ type = "bool_t"; -+ } else if (streq(dec->type, "opaque")) { -+ type = "char"; -+ } else { -+ if (dec->prefix) { -+ s_print(buf, "%s ", dec->prefix); -+ prefix = buf; -+ } -+ type = dec->type; -+ } -+ switch (dec->rel) { -+ case REL_ALIAS: -+ f_print(fout, "%s%s %s", prefix, type, dec->name); -+ break; -+ case REL_VECTOR: -+ f_print(fout, "%s%s %s[%s]", prefix, type, dec->name, -+ dec->array_max); -+ break; -+ case REL_POINTER: -+ f_print(fout, "%s%s *%s", prefix, type, dec->name); -+ break; -+ case REL_ARRAY: -+ f_print(fout, "struct {\n"); -+ tabify(fout, tab); -+ f_print(fout, "\tu_int %s_len;\n", dec->name); -+ tabify(fout, tab); -+ f_print(fout, "\t%s%s *%s_val;\n", prefix, type, dec->name); -+ tabify(fout, tab); -+ f_print(fout, "} %s", dec->name); -+ break; -+ } -+ } -+ f_print(fout, separator ); -+} -+ -+static int -+undefined2(char *type, char *stop) -+{ -+ list *l; -+ definition *def; -+ -+ for (l = defined; l != NULL; l = l->next) { -+ def = (definition *) l->val; -+ if (def->def_kind != DEF_PROGRAM) { -+ if (streq(def->def_name, stop)) { -+ return (1); -+ } else if (streq(def->def_name, type)) { -+ return (0); -+ } -+ } -+ } -+ return (1); -+} -diff --git a/rpcgen/rpc_main.c b/rpcgen/rpc_main.c -new file mode 100644 -index 0000000..28aa60c ---- /dev/null -+++ b/rpcgen/rpc_main.c -@@ -0,0 +1,1067 @@ -+/* -+ * Copyright (c) 2009, Sun Microsystems, Inc. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the following disclaimer. -+ * - 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. -+ * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -+ */ -+ -+#if 0 -+static char sccsid[] = "@(#)rpc_main.c 1.30 89/03/30 (C) 1987 SMI"; -+#endif -+ -+/* -+ * rpc_main.c, Top level of the RPC protocol compiler. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include "rpc_parse.h" -+#include "rpc_util.h" -+#include "rpc_scan.h" -+ -+struct commandline { -+ int cflag; /* xdr C routines */ -+ int hflag; /* header file */ -+ int lflag; /* client side stubs */ -+ int mflag; /* server side stubs */ -+ int nflag; /* netid flag */ -+ int sflag; /* server stubs for the given transport */ -+ int tflag; /* dispatch Table file */ -+ int Ssflag; /* produce server sample code */ -+ int Scflag; /* produce client sample code */ -+ char *infile; /* input module name */ -+ char *outfile; /* output module name */ -+}; -+ -+static char * extendfile(char *file, char *ext); -+static void open_output(char *infile, char *outfile); -+static void add_warning(void); -+static void clear_args(void); -+static void open_input(char *infile, char *define); -+static int check_nettype(char *name, char **list_to_check); -+static void c_output(char *infile, char *define, int extend, char *outfile); -+static void c_initialize(void); -+static char * generate_guard(char *pathname); -+static void h_output(char *infile, char *define, int extend, char *outfile); -+static void s_output(int argc, char **argv, char *infile, -+ char *define, int extend, char *outfile, -+ int nomain, int netflag); -+static void l_output(char *infile, char *define, int extend, char *outfile); -+static void t_output(char *infile, char *define, int extend, char *outfile); -+static void svc_output(char *, char *, int, char *); -+static void clnt_output(char *, char *, int, char *); -+static int do_registers(int argc, char **argv); -+static void addarg(char *cp); -+static void putarg(int where, char *cp); -+static void checkfiles(char *infile, char *outfile); -+static int parseargs(int argc, char **argv, struct commandline *cmd); -+static void usage(void); -+static void options_usage(void); -+ -+/* -+extern void write_sample_svc(); -+int write_sample_clnt(); -+void write_sample_clnt_main(); -+ -+static svc_output(); -+ */ -+ -+#define EXTEND 1 /* alias for TRUE */ -+#define DONT_EXTEND 0 /* alias for FALSE */ -+ -+#define SVR4_CPP "/usr/ccs/lib/cpp" -+#define SUNOS_CPP "/lib/cpp" -+static int cppDefined = 0; /* explicit path for C preprocessor */ -+ -+ -+static char *cmdname; -+ -+static char *svcclosetime = "120"; -+static char *CPP = SVR4_CPP; -+static char CPPFLAGS[] = "-C"; -+static char pathbuf[MAXPATHLEN + 1]; -+static char *allv[] = { -+ "rpcgen", "-s", "udp", "-s", "tcp", -+}; -+static int allc = sizeof(allv)/sizeof(allv[0]); -+static char *allnv[] = { -+ "rpcgen", "-s", "netpath", -+}; -+static int allnc = sizeof(allnv)/sizeof(allnv[0]); -+ -+/* -+ * machinations for handling expanding argument list -+ */ -+#if 0 -+static void addarg(); /* add another argument to the list */ -+static void putarg(); /* put argument at specified location */ -+static void clear_args(); /* clear argument list */ -+static void checkfiles(); /* check if out file already exists */ -+#endif -+ -+ -+ -+#define ARGLISTLEN 20 -+#define FIXEDARGS 2 -+ -+static char *arglist[ARGLISTLEN]; -+static int argcount = FIXEDARGS; -+ -+ -+int nonfatalerrors; /* errors */ -+int inetdflag/* = 1*/; /* Support for inetd */ /* is now the default */ -+int pmflag; /* Support for port monitors */ -+int logflag; /* Use syslog instead of fprintf for errors */ -+int tblflag; /* Support for dispatch table file */ -+ -+/* length at which to start doing an inline */ -+#define INLINE 3 -+ -+int Inline = INLINE; /* length at which to start doing an inline. 3 = default -+ * if 0, no xdr_inline code */ -+ -+int indefinitewait; /* If started by port monitors, hang till it wants */ -+int exitnow; /* If started by port monitors, exit after the call */ -+int timerflag; /* TRUE if !indefinite && !exitnow */ -+int newstyle; /* newstyle of passing arguments (by value) */ -+int Cflag = 0 ; /* ANSI C syntax */ -+static int allfiles; /* generate all files */ -+#ifdef linux -+int tirpcflag = 0; /* no tirpc by default */ -+#else -+int tirpcflag = 1; /* generating code for tirpc, by default */ -+#endif -+ -+int -+main(int argc, char **argv) -+{ -+ struct commandline cmd; -+ -+ (void) memset((char *) &cmd, 0, sizeof(struct commandline)); -+ clear_args(); -+ if (!parseargs(argc, argv, &cmd)) -+ usage(); -+ -+ if (cmd.cflag || cmd.hflag || cmd.lflag || cmd.tflag || cmd.sflag || -+ cmd.mflag || cmd.nflag || cmd.Ssflag || cmd.Scflag) { -+ checkfiles(cmd.infile, cmd.outfile); -+ } else -+ checkfiles(cmd.infile, NULL); -+ -+ if (cmd.cflag) { -+ c_output(cmd.infile, "-DRPC_XDR", DONT_EXTEND, cmd.outfile); -+ } else if (cmd.hflag) { -+ h_output(cmd.infile, "-DRPC_HDR", DONT_EXTEND, cmd.outfile); -+ } else if (cmd.lflag) { -+ l_output(cmd.infile, "-DRPC_CLNT", DONT_EXTEND, cmd.outfile); -+ } else if (cmd.sflag || cmd.mflag || (cmd.nflag)) { -+ s_output(argc, argv, cmd.infile, "-DRPC_SVC", DONT_EXTEND, -+ cmd.outfile, cmd.mflag, cmd.nflag); -+ } else if (cmd.tflag) { -+ t_output(cmd.infile, "-DRPC_TBL", DONT_EXTEND, cmd.outfile); -+ } else if (cmd.Ssflag) { -+ svc_output(cmd.infile, "-DRPC_SERVER", DONT_EXTEND, cmd.outfile); -+ } else if (cmd.Scflag) { -+ clnt_output(cmd.infile, "-DRPC_CLIENT", DONT_EXTEND, cmd.outfile); -+ } else { -+ /* the rescans are required, since cpp may effect input */ -+ c_output(cmd.infile, "-DRPC_XDR", EXTEND, "_xdr.c"); -+ reinitialize(); -+ h_output(cmd.infile, "-DRPC_HDR", EXTEND, ".h"); -+ reinitialize(); -+ l_output(cmd.infile, "-DRPC_CLNT", EXTEND, "_clnt.c"); -+ reinitialize(); -+ if (inetdflag || !tirpcflag) -+ s_output(allc, allv, cmd.infile, "-DRPC_SVC", EXTEND, -+ "_svc.c", cmd.mflag, cmd.nflag); -+ else -+ s_output(allnc, allnv, cmd.infile, "-DRPC_SVC", -+ EXTEND, "_svc.c", cmd.mflag, cmd.nflag); -+ if (tblflag) { -+ reinitialize(); -+ t_output(cmd.infile, "-DRPC_TBL", EXTEND, "_tbl.i"); -+ } -+ if (allfiles) { -+ reinitialize(); -+ svc_output(cmd.infile, "-DRPC_SERVER", EXTEND, "_server.c"); -+ } -+ if (allfiles) { -+ reinitialize(); -+ clnt_output(cmd.infile, "-DRPC_CLIENT", EXTEND, "_client.c"); -+ } -+ } -+ exit(nonfatalerrors); -+ /* NOTREACHED */ -+} -+ -+/* -+ * add extension to filename -+ */ -+static char * -+extendfile(char *file, char *ext) -+{ -+ char *res; -+ char *p; -+ -+ res = alloc(strlen(file) + strlen(ext) + 1); -+ if (res == NULL) { -+ abort(); -+ } -+ p = strrchr(file, '.'); -+ if (p == NULL) { -+ p = file + strlen(file); -+ } -+ (void) strcpy(res, file); -+ (void) strcpy(res + (p - file), ext); -+ return (res); -+} -+ -+/* -+ * Open output file with given extension -+ */ -+static void -+open_output(char *infile, char *outfile) -+{ -+ -+ if (outfile == NULL) { -+ fout = stdout; -+ return; -+ } -+ -+ if (infile != NULL && streq(outfile, infile)) { -+ f_print(stderr, "%s: output would overwrite %s\n", cmdname, -+ infile); -+ crash(); -+ } -+ fout = fopen(outfile, "w"); -+ if (fout == NULL) { -+ f_print(stderr, "%s: unable to open ", cmdname); -+ perror(outfile); -+ crash(); -+ } -+ record_open(outfile); -+ -+} -+ -+static void -+add_warning(void) -+{ -+ f_print(fout, "/*\n"); -+ f_print(fout, " * Please do not edit this file.\n"); -+ f_print(fout, " * It was generated using rpcgen.\n"); -+ f_print(fout, " */\n\n"); -+} -+ -+/* clear list of arguments */ -+static void -+clear_args(void) -+{ -+ int i; -+ for( i=FIXEDARGS; i" : infile; -+ (void) pipe(pd); -+ switch (fork()) { -+ case 0: -+ putarg(0, "cpp"); -+ putarg(1, CPPFLAGS); -+ addarg(define); -+ addarg(infile); -+ addarg((char *)NULL); -+ (void) close(1); -+ (void) dup2(pd[1], 1); -+ (void) close(pd[0]); -+ if (cppDefined) -+ execv(CPP, arglist); -+ else { -+ execvp("cpp", arglist); -+ if (errno == ENOENT) -+ execvp(SVR4_CPP, arglist); -+ if (errno == ENOENT) -+ execvp(SUNOS_CPP, arglist); -+ } -+ perror("execv"); -+ exit(1); -+ case -1: -+ perror("fork"); -+ exit(1); -+ } -+ (void) close(pd[1]); -+ fin = fdopen(pd[0], "r"); -+ if (fin == NULL) { -+ f_print(stderr, "%s: ", cmdname); -+ perror(infilename); -+ crash(); -+ } -+} -+ -+/* valid tirpc nettypes */ -+static char* valid_ti_nettypes[] = -+{ -+ "netpath", -+ "visible", -+ "circuit_v", -+ "datagram_v", -+ "circuit_n", -+ "datagram_n", -+ "udp", -+ "tcp", -+ "raw", -+ NULL -+}; -+ -+/* valid inetd nettypes */ -+static char* valid_i_nettypes[] = -+{ -+ "udp", -+ "tcp", -+ NULL -+}; -+ -+static int -+check_nettype(char *name, char **list_to_check) -+{ -+ int i; -+ for( i = 0; list_to_check[i] != NULL; i++ ) { -+ if( strcmp( name, list_to_check[i] ) == 0 ) { -+ return 1; -+ } -+ } -+ f_print( stderr, "illegal nettype :\'%s\'\n", name ); -+ return 0; -+} -+ -+/* -+ * Compile into an XDR routine output file -+ */ -+ -+static void -+c_output(char *infile, char *define, int extend, char *outfile) -+{ -+ definition *def; -+ char *include; -+ char *outfilename; -+ long tell; -+ -+ c_initialize(); -+ open_input(infile, define); -+ outfilename = extend ? extendfile(infile, outfile) : outfile; -+ open_output(infile, outfilename); -+ add_warning(); -+ if (infile && (include = extendfile(infile, ".h"))) { -+ f_print(fout, "#include \"%s\"\n", include); -+ free(include); -+ /* .h file already contains rpc/rpc.h */ -+ } else -+ f_print(fout, "#include \n"); -+ tell = ftell(fout); -+ while ((def = get_definition()) != NULL) { -+ emit(def); -+ } -+ if (extend && tell == ftell(fout)) { -+ (void) unlink(outfilename); -+ } -+} -+ -+ -+static void -+c_initialize(void) -+{ -+ -+ /* add all the starting basic types */ -+ -+ add_type(1,"int"); -+ add_type(1,"int32_t"); -+ add_type(1,"short"); -+ add_type(1,"bool"); -+ -+ add_type(1,"u_int"); -+ add_type(1,"u_int32_t"); -+ add_type(1,"u_short"); -+ -+} -+ -+char rpcgen_table_dcl[] = "struct rpcgen_table {\n\ -+ char *(*proc)();\n\ -+ xdrproc_t xdr_arg;\n\ -+ unsigned len_arg;\n\ -+ xdrproc_t xdr_res;\n\ -+ unsigned len_res;\n\ -+};\n"; -+ -+ -+static char * -+generate_guard(char *pathname) -+{ -+ char* filename, *guard, *tmp; -+ -+ filename = strrchr(pathname, '/' ); /* find last component */ -+ filename = ((filename == 0) ? pathname : filename+1); -+ guard = strdup(filename); -+ /* convert to upper case */ -+ tmp = guard; -+ while (*tmp) { -+ if (islower(*tmp)) -+ *tmp = toupper(*tmp); -+ tmp++; -+ } -+ -+ guard = extendfile(guard, "_H_RPCGEN"); -+ return( guard ); -+} -+ -+/* -+ * Compile into an XDR header file -+ */ -+static void -+h_output(char *infile, char *define, int extend, char *outfile) -+{ -+ definition *def; -+ char *outfilename; -+ long tell; -+ char *guard; -+ list *l; -+ -+ open_input(infile, define); -+ outfilename = extend ? extendfile(infile, outfile) : outfile; -+ open_output(infile, outfilename); -+ add_warning(); -+ guard = generate_guard( outfilename ? outfilename: infile ); -+ -+ f_print(fout,"#ifndef _%s\n#define _%s\n\n", guard, -+ guard); -+ -+ f_print(fout, "#include \n\n"); -+ -+ f_print(fout, "#ifndef IXDR_GET_INT32\n"); -+ f_print(fout, "#define IXDR_GET_INT32(buf) IXDR_GET_LONG((buf))\n"); -+ f_print(fout, "#endif\n"); -+ f_print(fout, "#ifndef IXDR_PUT_INT32\n"); -+ f_print(fout, "#define IXDR_PUT_INT32(buf, v) IXDR_PUT_LONG((buf), (v))\n"); -+ f_print(fout, "#endif\n"); -+ f_print(fout, "#ifndef IXDR_GET_U_INT32\n"); -+ f_print(fout, "#define IXDR_GET_U_INT32(buf) IXDR_GET_U_LONG((buf))\n"); -+ f_print(fout, "#endif\n"); -+ f_print(fout, "#ifndef IXDR_PUT_U_INT32\n"); -+ f_print(fout, "#define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_U_LONG((buf), (v))\n"); -+ f_print(fout, "#endif\n"); -+ -+ tell = ftell(fout); -+ /* print data definitions */ -+ while ((def = get_definition()) != NULL) { -+ print_datadef(def); -+ } -+ -+ /* print function declarations. -+ Do this after data definitions because they might be used as -+ arguments for functions */ -+ for (l = defined; l != NULL; l = l->next) { -+ print_funcdef(l->val); -+ } -+ if (extend && tell == ftell(fout)) { -+ (void) unlink(outfilename); -+ } else if (tblflag) { -+ f_print(fout, rpcgen_table_dcl); -+ } -+ f_print(fout, "\n#endif /* !_%s */\n", guard); -+} -+ -+/* -+ * Compile into an RPC service -+ */ -+static void -+s_output(int argc, char **argv, char *infile, char *define, int extend, -+ char *outfile, int nomain, int netflag) -+{ -+ char *include; -+ definition *def; -+ int foundprogram = 0; -+ char *outfilename; -+ -+ open_input(infile, define); -+ outfilename = extend ? extendfile(infile, outfile) : outfile; -+ open_output(infile, outfilename); -+ add_warning(); -+ if (infile && (include = extendfile(infile, ".h"))) { -+ f_print(fout, "#include \"%s\"\n", include); -+ free(include); -+ } else -+ f_print(fout, "#include \n"); -+ -+ f_print(fout, "#include \n"); -+ f_print(fout, "#include /* getenv, exit */\n"); -+ if (Cflag) { -+ f_print (fout, "#include /* for pmap_unset */\n"); -+ f_print (fout, "#include /* strcmp */ \n"); -+ } -+ if (strcmp(svcclosetime, "-1") == 0) -+ indefinitewait = 1; -+ else if (strcmp(svcclosetime, "0") == 0) -+ exitnow = 1; -+ else if (inetdflag || pmflag) { -+ f_print(fout, "#include \n"); -+ timerflag = 1; -+ } -+ -+#ifndef linux -+ if( !tirpcflag && inetdflag ) -+ f_print(fout, "#include /* TIOCNOTTY */\n"); -+#else -+ if( !tirpcflag ) -+ f_print(fout, "#include /* TIOCNOTTY */\n"); -+#endif -+ if( Cflag && (inetdflag || pmflag ) ) { -+ f_print(fout, "#ifdef __cplusplus\n"); -+ f_print(fout, "#include /* getdtablesize, open */\n"); -+ f_print(fout, "#endif /* __cplusplus */\n"); -+ -+ if( tirpcflag ) -+ f_print(fout, "#include /* setsid */\n"); -+ } -+ if( tirpcflag ) -+ f_print(fout, "#include \n"); -+ -+ f_print(fout, "#include \n"); -+#ifndef linux -+ f_print(fout, "#include \n"); -+#endif -+ if (inetdflag || !tirpcflag ) { -+ f_print(fout, "#include \n"); -+ f_print(fout, "#include \n"); -+ } -+ -+ if ( (netflag || pmflag) && tirpcflag ) { -+ f_print(fout, "#include \n"); -+ } -+ if (/*timerflag &&*/ tirpcflag) -+ f_print(fout, "#include /* rlimit */\n"); -+ if (logflag || inetdflag || pmflag) { -+#ifdef linux -+ f_print(fout, "#include \n"); -+#else -+ f_print(fout, "#ifdef SYSLOG\n"); -+ f_print(fout, "#include \n"); -+ f_print(fout, "#else\n"); -+ f_print(fout, "#define LOG_ERR 1\n"); -+ f_print(fout, "#define openlog(a, b, c)\n"); -+ f_print(fout, "#endif\n"); -+#endif -+ } -+ -+ /* for ANSI-C */ -+ f_print(fout, "\n#ifdef __STDC__\n#define SIG_PF void(*)(int)\n#endif\n"); -+ -+ f_print(fout, "\n#ifdef DEBUG\n#define RPC_SVC_FG\n#endif\n"); -+ if (timerflag) -+ f_print(fout, "\n#define _RPCSVC_CLOSEDOWN %s\n", svcclosetime); -+ while ((def = get_definition()) != NULL) { -+ foundprogram |= (def->def_kind == DEF_PROGRAM); -+ } -+ if (extend && !foundprogram) { -+ (void) unlink(outfilename); -+ return; -+ } -+ write_most(infile, netflag, nomain); -+ if (!nomain) { -+ if( !do_registers(argc, argv) ) { -+ if (outfilename) -+ (void) unlink(outfilename); -+ usage(); -+ } -+ write_rest(); -+ } -+} -+ -+/* -+ * generate client side stubs -+ */ -+static void -+l_output(char *infile, char *define, int extend, char *outfile) -+{ -+ char *include; -+ definition *def; -+ int foundprogram = 0; -+ char *outfilename; -+ -+ open_input(infile, define); -+ outfilename = extend ? extendfile(infile, outfile) : outfile; -+ open_output(infile, outfilename); -+ add_warning(); -+ if (Cflag) -+ f_print (fout, "#include /* for memset */\n"); -+ if (infile && (include = extendfile(infile, ".h"))) { -+ f_print(fout, "#include \"%s\"\n", include); -+ free(include); -+ } else -+ f_print(fout, "#include \n"); -+ while ((def = get_definition()) != NULL) { -+ foundprogram |= (def->def_kind == DEF_PROGRAM); -+ } -+ if (extend && !foundprogram) { -+ (void) unlink(outfilename); -+ return; -+ } -+ write_stubs(); -+} -+ -+/* -+ * generate the dispatch table -+ */ -+static void -+t_output(char *infile, char *define, int extend, char *outfile) -+{ -+ definition *def; -+ int foundprogram = 0; -+ char *outfilename; -+ -+ open_input(infile, define); -+ outfilename = extend ? extendfile(infile, outfile) : outfile; -+ open_output(infile, outfilename); -+ add_warning(); -+ while ((def = get_definition()) != NULL) { -+ foundprogram |= (def->def_kind == DEF_PROGRAM); -+ } -+ if (extend && !foundprogram) { -+ (void) unlink(outfilename); -+ return; -+ } -+ write_tables(); -+} -+ -+/* sample routine for the server template */ -+static void -+svc_output(char *infile, char *define, int extend, char *outfile) -+{ -+ definition *def; -+ char *include; -+ char *outfilename; -+ long tell; -+ -+ open_input(infile, define); -+ outfilename = extend ? extendfile(infile, outfile) : outfile; -+ checkfiles(infile,outfilename); /*check if outfile already exists. -+ if so, print an error message and exit*/ -+ open_output(infile, outfilename); -+ add_sample_msg(); -+ -+ if (infile && (include = extendfile(infile, ".h"))) { -+ f_print(fout, "#include \"%s\"\n", include); -+ free(include); -+ } else -+ f_print(fout, "#include \n"); -+ -+ tell = ftell(fout); -+ while ((def = get_definition()) != NULL) { -+ write_sample_svc(def); -+ } -+ if (extend && tell == ftell(fout)) { -+ (void) unlink(outfilename); -+ } -+} -+ -+ -+/* sample main routine for client */ -+static void -+clnt_output(char *infile, char *define, int extend, char *outfile) -+{ -+ definition *def; -+ char *include; -+ char *outfilename; -+ long tell; -+ int has_program = 0; -+ -+ open_input(infile, define); -+ outfilename = extend ? extendfile(infile, outfile) : outfile; -+ checkfiles(infile, outfilename); /*check if outfile already exists. -+ if so, print an error message and exit*/ -+ -+ open_output(infile, outfilename); -+ add_sample_msg(); -+ if (infile && (include = extendfile(infile, ".h"))) { -+ f_print(fout, "#include \"%s\"\n", include); -+ free(include); -+ } else -+ f_print(fout, "#include \n"); -+ tell = ftell(fout); -+ while ((def = get_definition()) != NULL) { -+ has_program += write_sample_clnt(def); -+ } -+ -+ if (has_program) -+ write_sample_clnt_main(); -+ -+ if (extend && tell == ftell(fout)) { -+ (void) unlink(outfilename); -+ } -+} -+ -+/* -+ * Perform registrations for service output -+ * Return 0 if failed; 1 otherwise. -+ */ -+static int -+do_registers(int argc, char **argv) -+{ -+ int i; -+ -+ if (inetdflag || !tirpcflag) { -+ for (i = 1; i < argc; i++) { -+ if (streq(argv[i], "-s")) { -+ if (!check_nettype(argv[i + 1], valid_i_nettypes)) -+ return 0; -+ write_inetd_register(argv[i + 1]); -+ i++; -+ } -+ } -+ } else { -+ for (i = 1; i < argc; i++) -+ if (streq(argv[i], "-s")) { -+ if (!check_nettype(argv[i + 1], valid_ti_nettypes)) -+ return 0; -+ write_nettype_register(argv[i + 1]); -+ i++; -+ } else if (streq(argv[i], "-n")) { -+ write_netid_register(argv[i + 1]); -+ i++; -+ } -+ } -+ return 1; -+} -+ -+/* -+ * Add another argument to the arg list -+ */ -+static void -+addarg(char *cp) -+{ -+ if (argcount >= ARGLISTLEN) { -+ f_print(stderr, "rpcgen: too many defines\n"); -+ crash(); -+ /*NOTREACHED*/ -+ } -+ arglist[argcount++] = cp; -+ -+} -+ -+static void -+putarg(int where, char *cp) -+{ -+ if (where >= ARGLISTLEN) { -+ f_print(stderr, "rpcgen: arglist coding error\n"); -+ crash(); -+ /*NOTREACHED*/ -+ } -+ arglist[where] = cp; -+ -+} -+ -+/* -+ * if input file is stdin and an output file is specified then complain -+ * if the file already exists. Otherwise the file may get overwritten -+ * If input file does not exist, exit with an error -+ */ -+ -+static void -+checkfiles(char *infile, char *outfile) -+{ -+ -+ struct stat buf; -+ -+ if(infile) /* infile ! = NULL */ -+ if(stat(infile,&buf) < 0) -+ { -+ perror(infile); -+ crash(); -+ }; -+ if (outfile) { -+ if (stat(outfile, &buf) < 0) -+ return; /* file does not exist */ -+ else { -+ f_print(stderr, -+ "file '%s' already exists and may be overwritten\n", outfile); -+ crash(); -+ } -+ } -+} -+ -+/* -+ * Parse command line arguments -+ */ -+static int -+parseargs(int argc, char **argv, struct commandline *cmd) -+{ -+ int i; -+ int j; -+ char c; -+ char flag[(1 << 8 * sizeof(char))]; -+ int nflags; -+ -+ cmdname = argv[0]; -+ cmd->infile = cmd->outfile = NULL; -+ if (argc < 2) { -+ return (0); -+ } -+ allfiles = 0; -+ flag['c'] = 0; -+ flag['h'] = 0; -+ flag['l'] = 0; -+ flag['m'] = 0; -+ flag['o'] = 0; -+ flag['s'] = 0; -+ flag['n'] = 0; -+ flag['t'] = 0; -+ flag['S'] = 0; -+ flag['C'] = 0; -+ for (i = 1; i < argc; i++) { -+ if (argv[i][0] != '-') { -+ if (cmd->infile) { -+ f_print( stderr, "Cannot specify more than one input file!\n"); -+ -+ return (0); -+ } -+ cmd->infile = argv[i]; -+ } else { -+ for (j = 1; argv[i][j] != 0; j++) { -+ c = argv[i][j]; -+ switch (c) { -+ case 'a': -+ allfiles = 1; -+ break; -+ case 'c': -+ case 'h': -+ case 'l': -+ case 'm': -+ case 't': -+ if (flag[(int) c]) { -+ return (0); -+ } -+ flag[(int) c] = 1; -+ break; -+ case 'S': -+ /* sample flag: Ss or Sc. -+ Ss means set flag['S']; -+ Sc means set flag['C']; */ -+ c = argv[i][++j]; /* get next char */ -+ if( c == 's' ) -+ c = 'S'; -+ else if( c == 'c' ) -+ c = 'C'; -+ else -+ return( 0 ); -+ -+ if (flag[(int) c]) { -+ return (0); -+ } -+ flag[(int) c] = 1; -+ break; -+ case 'C': /* ANSI C syntax */ -+ Cflag = 1; -+ break; -+ -+ case 'b': /* turn TIRPC flag off for -+ generating backward compatible -+ */ -+ tirpcflag = 0; -+ break; -+ -+ case 'I': -+ inetdflag = 1; -+ break; -+ case 'N': -+ newstyle = 1; -+ break; -+ case 'L': -+ logflag = 1; -+ break; -+ case 'K': -+ if (++i == argc) { -+ return (0); -+ } -+ svcclosetime = argv[i]; -+ goto nextarg; -+ case 'T': -+ tblflag = 1; -+ break; -+ case 'i' : -+ if (++i == argc) { -+ return (0); -+ } -+ Inline = atoi(argv[i]); -+ goto nextarg; -+ case 'n': -+ case 'o': -+ case 's': -+ if (argv[i][j - 1] != '-' || -+ argv[i][j + 1] != 0) { -+ return (0); -+ } -+ flag[(int) c] = 1; -+ if (++i == argc) { -+ return (0); -+ } -+ if (c == 's') { -+ if (!streq(argv[i], "udp") && -+ !streq(argv[i], "tcp")) { -+ return (0); -+ } -+ } else if (c == 'o') { -+ if (cmd->outfile) { -+ return (0); -+ } -+ cmd->outfile = argv[i]; -+ } -+ goto nextarg; -+ case 'D': -+ if (argv[i][j - 1] != '-') { -+ return (0); -+ } -+ (void) addarg(argv[i]); -+ goto nextarg; -+ case 'Y': -+ if (++i == argc) { -+ return (0); -+ } -+ (void) strcpy(pathbuf, argv[i]); -+ (void) strcat(pathbuf, "/cpp"); -+ CPP = pathbuf; -+ cppDefined = 1; -+ goto nextarg; -+ -+ -+ -+ default: -+ return (0); -+ } -+ } -+ nextarg: -+ ; -+ } -+ } -+ -+ cmd->cflag = flag['c']; -+ cmd->hflag = flag['h']; -+ cmd->lflag = flag['l']; -+ cmd->mflag = flag['m']; -+ cmd->nflag = flag['n']; -+ cmd->sflag = flag['s']; -+ cmd->tflag = flag['t']; -+ cmd->Ssflag = flag['S']; -+ cmd->Scflag = flag['C']; -+ -+ if( tirpcflag ) { -+ pmflag = inetdflag ? 0 : 1; /* pmflag or inetdflag is always TRUE */ -+ if( (inetdflag && cmd->nflag)) { /* netid not allowed with inetdflag */ -+ f_print(stderr, "Cannot use netid flag with inetd flag!\n"); -+ return (0); -+ } -+ } else { /* 4.1 mode */ -+ pmflag = 0; /* set pmflag only in tirpcmode */ -+ inetdflag = 1; /* inetdflag is TRUE by default */ -+ if( cmd->nflag ) { /* netid needs TIRPC */ -+ f_print( stderr, "Cannot use netid flag without TIRPC!\n"); -+ return( 0 ); -+ } -+ } -+ -+ if( newstyle && ( tblflag || cmd->tflag) ) { -+ f_print( stderr, "Cannot use table flags with newstyle!\n"); -+ return( 0 ); -+ } -+ -+ /* check no conflicts with file generation flags */ -+ nflags = cmd->cflag + cmd->hflag + cmd->lflag + cmd->mflag + -+ cmd->sflag + cmd->nflag + cmd->tflag + cmd->Ssflag + cmd->Scflag; -+ -+ if (nflags == 0) { -+ if (cmd->outfile != NULL || cmd->infile == NULL) { -+ return (0); -+ } -+ } else if (nflags > 1) { -+ f_print( stderr, "Cannot have more than one file generation flag!\n"); -+ return (0); -+ } -+ return (1); -+} -+ -+static void -+usage(void) -+{ -+ f_print(stderr, "usage: %s infile\n", cmdname); -+ f_print(stderr, "\t%s [-a][-b][-C][-Dname[=value]] -i size [-I [-K seconds]] [-L][-N][-T] infile\n", -+ cmdname); -+ f_print(stderr, "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss] [-o outfile] [infile]\n", -+ cmdname); -+ f_print(stderr, "\t%s [-s nettype]* [-o outfile] [infile]\n", cmdname); -+ f_print(stderr, "\t%s [-n netid]* [-o outfile] [infile]\n", cmdname); -+ options_usage(); -+ exit(1); -+} -+ -+static void -+options_usage(void) -+{ -+ f_print(stderr, "options:\n"); -+ f_print(stderr, "-a\t\tgenerate all files, including samples\n"); -+ f_print(stderr, "-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n"); -+ f_print(stderr, "-c\t\tgenerate XDR routines\n"); -+ f_print(stderr, "-C\t\tANSI C mode\n"); -+ f_print(stderr, "-Dname[=value]\tdefine a symbol (same as #define)\n"); -+ f_print(stderr, "-h\t\tgenerate header file\n"); -+ f_print(stderr, "-i size\t\tsize at which to start generating inline code\n"); -+ f_print(stderr, "-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n"); -+ f_print(stderr, "-K seconds\tserver exits after K seconds of inactivity\n"); -+ f_print(stderr, "-l\t\tgenerate client side stubs\n"); -+ f_print(stderr, "-L\t\tserver errors will be printed to syslog\n"); -+ f_print(stderr, "-m\t\tgenerate server side stubs\n"); -+ f_print(stderr, "-n netid\tgenerate server code that supports named netid\n"); -+ f_print(stderr, "-N\t\tsupports multiple arguments and call-by-value\n"); -+ f_print(stderr, "-o outfile\tname of the output file\n"); -+ f_print(stderr, "-s nettype\tgenerate server code that supports named nettype\n"); -+ f_print(stderr, "-Sc\t\tgenerate sample client code that uses remote procedures\n"); -+ f_print(stderr, "-Ss\t\tgenerate sample server code that defines remote procedures\n"); -+ f_print(stderr, "-t\t\tgenerate RPC dispatch table\n"); -+ f_print(stderr, "-T\t\tgenerate code to support RPC dispatch tables\n"); -+ f_print(stderr, "-Y path\t\tdirectory name to find C preprocessor (cpp)\n"); -+ -+ exit(1); -+} -diff --git a/rpcgen/rpc_output.h b/rpcgen/rpc_output.h -new file mode 100644 -index 0000000..eb25a60 ---- /dev/null -+++ b/rpcgen/rpc_output.h -@@ -0,0 +1,16 @@ -+/* -+ * rpc_output.h -+ * -+ * Declarations for output functions -+ * -+ */ -+ -+#ifndef RPCGEN_NEW_OUTPUT_H -+#define RPCGEN_NEW_OUTPUT_H -+ -+void write_msg_out(void); -+int nullproc(proc_list *); -+void printarglist(proc_list *, char *, char *); -+void pdeclaration(char *, declaration *, int, char *); -+ -+#endif /* RPCGEN_NEW_OUTPUT_H */ -diff --git a/rpcgen/rpc_parse.c b/rpcgen/rpc_parse.c -new file mode 100644 -index 0000000..b53a553 ---- /dev/null -+++ b/rpcgen/rpc_parse.c -@@ -0,0 +1,609 @@ -+/* -+ * Copyright (c) 2009, Sun Microsystems, Inc. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the following disclaimer. -+ * - 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. -+ * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -+ */ -+ -+#if 0 -+static char sccsid[] = "@(#)rpc_parse.c 1.8 89/02/22 (C) 1987 SMI"; -+#endif -+ -+/* -+ * rpc_parse.c, Parser for the RPC protocol compiler -+ * Copyright (C) 1987 Sun Microsystems, Inc. -+ */ -+#include -+#include -+#include "rpc/types.h" -+#include "rpc_scan.h" -+#include "rpc_parse.h" -+#include "rpc_util.h" -+ -+#define ARGNAME "arg" -+ -+/* -+extern char *make_argname(); -+extern char *strdup(); -+ */ -+ -+static void isdefined(definition *defp); -+static void def_struct(definition *defp); -+static void def_program(definition *defp); -+static void def_enum(definition *defp); -+static void def_const(definition *defp); -+static void def_union(definition *defp); -+static void check_type_name(char *name, int new_type); -+static void def_typedef(definition *defp); -+static void get_declaration(declaration *dec, defkind dkind); -+static void get_prog_declaration(declaration *dec, defkind dkind, int num); -+static void get_type(char **prefixp, char **typep, defkind dkind); -+static void unsigned_dec(char **typep); -+ -+/* -+ * return the next definition you see -+ */ -+definition * -+get_definition(void) -+{ -+ definition *defp; -+ token tok; -+ -+ defp = ALLOC(definition); -+ get_token(&tok); -+ switch (tok.kind) { -+ case TOK_STRUCT: -+ def_struct(defp); -+ break; -+ case TOK_UNION: -+ def_union(defp); -+ break; -+ case TOK_TYPEDEF: -+ def_typedef(defp); -+ break; -+ case TOK_ENUM: -+ def_enum(defp); -+ break; -+ case TOK_PROGRAM: -+ def_program(defp); -+ break; -+ case TOK_CONST: -+ def_const(defp); -+ break; -+ case TOK_EOF: -+ free(defp); -+ return (NULL); -+ default: -+ error("definition keyword expected"); -+ } -+ scan(TOK_SEMICOLON, &tok); -+ isdefined(defp); -+ return (defp); -+} -+ -+static void -+isdefined(definition *defp) -+{ -+ STOREVAL(&defined, defp); -+} -+ -+static void -+def_struct(definition *defp) -+{ -+ token tok; -+ declaration dec; -+ decl_list *decls; -+ decl_list **tailp; -+ -+ defp->def_kind = DEF_STRUCT; -+ -+ scan(TOK_IDENT, &tok); -+ defp->def_name = tok.str; -+ scan(TOK_LBRACE, &tok); -+ tailp = &defp->def.st.decls; -+ do { -+ get_declaration(&dec, DEF_STRUCT); -+ decls = ALLOC(decl_list); -+ decls->decl = dec; -+ *tailp = decls; -+ tailp = &decls->next; -+ scan(TOK_SEMICOLON, &tok); -+ peek(&tok); -+ } while (tok.kind != TOK_RBRACE); -+ get_token(&tok); -+ *tailp = NULL; -+} -+ -+static void -+def_program(definition *defp) -+{ -+ token tok; -+ declaration dec; -+ decl_list *decls; -+ decl_list **tailp; -+ version_list *vlist; -+ version_list **vtailp; -+ proc_list *plist; -+ proc_list **ptailp; -+ int num_args; -+ bool_t isvoid = FALSE; /* whether first argument is void */ -+ defp->def_kind = DEF_PROGRAM; -+ scan(TOK_IDENT, &tok); -+ defp->def_name = tok.str; -+ scan(TOK_LBRACE, &tok); -+ vtailp = &defp->def.pr.versions; -+ tailp = &defp->def.st.decls; -+ scan(TOK_VERSION, &tok); -+ do { -+ scan(TOK_IDENT, &tok); -+ vlist = ALLOC(version_list); -+ vlist->vers_name = tok.str; -+ scan(TOK_LBRACE, &tok); -+ ptailp = &vlist->procs; -+ do { -+ /* get result type */ -+ plist = ALLOC(proc_list); -+ get_type(&plist->res_prefix, &plist->res_type, -+ DEF_PROGRAM); -+ if (streq(plist->res_type, "opaque")) { -+ error("illegal result type"); -+ } -+ scan(TOK_IDENT, &tok); -+ plist->proc_name = tok.str; -+ scan(TOK_LPAREN, &tok); -+ /* get args - first one*/ -+ num_args = 1; -+ isvoid = FALSE; -+ /* type of DEF_PROGRAM in the first -+ * get_prog_declaration and DEF_STURCT in the next -+ * allows void as argument if it is the only argument -+ */ -+ get_prog_declaration(&dec, DEF_PROGRAM, num_args); -+ if (streq(dec.type, "void")) -+ isvoid = TRUE; -+ decls = ALLOC(decl_list); -+ plist->args.decls = decls; -+ decls->decl = dec; -+ tailp = &decls->next; -+ /* get args */ -+ while(peekscan(TOK_COMMA, &tok)) { -+ num_args++; -+ get_prog_declaration(&dec, DEF_STRUCT, -+ num_args); -+ decls = ALLOC(decl_list); -+ decls->decl = dec; -+ *tailp = decls; -+ if (streq(dec.type, "void")) -+ isvoid = TRUE; -+ tailp = &decls->next; -+ } -+ /* multiple arguments are only allowed in newstyle */ -+ if( !newstyle && num_args > 1 ) { -+ error("only one argument is allowed" ); -+ } -+ if (isvoid && num_args > 1) { -+ error("illegal use of void in program definition"); -+ } -+ *tailp = NULL; -+ scan(TOK_RPAREN, &tok); -+ scan(TOK_EQUAL, &tok); -+ scan_num(&tok); -+ scan(TOK_SEMICOLON, &tok); -+ plist->proc_num = tok.str; -+ plist->arg_num = num_args; -+ *ptailp = plist; -+ ptailp = &plist->next; -+ peek(&tok); -+ } while (tok.kind != TOK_RBRACE); -+ *ptailp = NULL; -+ *vtailp = vlist; -+ vtailp = &vlist->next; -+ scan(TOK_RBRACE, &tok); -+ scan(TOK_EQUAL, &tok); -+ scan_num(&tok); -+ vlist->vers_num = tok.str; -+ /* make the argument structure name for each arg*/ -+ for(plist = vlist->procs; plist != NULL; -+ plist = plist->next) { -+ plist->args.argname = make_argname(plist->proc_name, -+ vlist->vers_num); -+ /* free the memory ??*/ -+ } -+ scan(TOK_SEMICOLON, &tok); -+ scan2(TOK_VERSION, TOK_RBRACE, &tok); -+ } while (tok.kind == TOK_VERSION); -+ scan(TOK_EQUAL, &tok); -+ scan_num(&tok); -+ defp->def.pr.prog_num = tok.str; -+ *vtailp = NULL; -+} -+ -+ -+static void -+def_enum(definition *defp) -+{ -+ token tok; -+ enumval_list *elist; -+ enumval_list **tailp; -+ -+ defp->def_kind = DEF_ENUM; -+ scan(TOK_IDENT, &tok); -+ defp->def_name = tok.str; -+ scan(TOK_LBRACE, &tok); -+ tailp = &defp->def.en.vals; -+ do { -+ scan(TOK_IDENT, &tok); -+ elist = ALLOC(enumval_list); -+ elist->name = tok.str; -+ elist->assignment = NULL; -+ scan3(TOK_COMMA, TOK_RBRACE, TOK_EQUAL, &tok); -+ if (tok.kind == TOK_EQUAL) { -+ scan_num(&tok); -+ elist->assignment = tok.str; -+ scan2(TOK_COMMA, TOK_RBRACE, &tok); -+ } -+ *tailp = elist; -+ tailp = &elist->next; -+ } while (tok.kind != TOK_RBRACE); -+ *tailp = NULL; -+} -+ -+static void -+def_const(definition *defp) -+{ -+ token tok; -+ -+ defp->def_kind = DEF_CONST; -+ scan(TOK_IDENT, &tok); -+ defp->def_name = tok.str; -+ scan(TOK_EQUAL, &tok); -+ scan2(TOK_IDENT, TOK_STRCONST, &tok); -+ defp->def.co = tok.str; -+} -+ -+static void -+def_union(definition *defp) -+{ -+ token tok; -+ declaration dec; -+ case_list *cases; -+ case_list **tailp; -+ -+ defp->def_kind = DEF_UNION; -+ scan(TOK_IDENT, &tok); -+ defp->def_name = tok.str; -+ scan(TOK_SWITCH, &tok); -+ scan(TOK_LPAREN, &tok); -+ get_declaration(&dec, DEF_UNION); -+ defp->def.un.enum_decl = dec; -+ tailp = &defp->def.un.cases; -+ scan(TOK_RPAREN, &tok); -+ scan(TOK_LBRACE, &tok); -+ scan(TOK_CASE, &tok); -+ while (tok.kind == TOK_CASE) { -+ scan2(TOK_IDENT, TOK_CHARCONST, &tok); -+ cases = ALLOC(case_list); -+ cases->case_name = tok.str; -+ scan(TOK_COLON, &tok); -+ /* now peek at next token */ -+ if(peekscan(TOK_CASE,&tok)) -+ { -+ -+ do -+ { -+ scan2(TOK_IDENT, TOK_CHARCONST, &tok); -+ cases->contflag=1; /* continued case statement */ -+ *tailp = cases; -+ tailp = &cases->next; -+ cases = ALLOC(case_list); -+ cases->case_name = tok.str; -+ scan(TOK_COLON, &tok); -+ -+ }while(peekscan(TOK_CASE,&tok)); -+ } -+ -+ get_declaration(&dec, DEF_UNION); -+ cases->case_decl = dec; -+ cases->contflag=0; /* no continued case statement */ -+ *tailp = cases; -+ tailp = &cases->next; -+ scan(TOK_SEMICOLON, &tok); -+ -+ scan3(TOK_CASE, TOK_DEFAULT, TOK_RBRACE, &tok); -+ } -+ *tailp = NULL; -+ if (tok.kind == TOK_DEFAULT) { -+ scan(TOK_COLON, &tok); -+ get_declaration(&dec, DEF_UNION); -+ defp->def.un.default_decl = ALLOC(declaration); -+ *defp->def.un.default_decl = dec; -+ scan(TOK_SEMICOLON, &tok); -+ scan(TOK_RBRACE, &tok); -+ } else { -+ defp->def.un.default_decl = NULL; -+ } -+} -+ -+static char* reserved_words[] = -+{ -+ "array", -+ "bytes", -+ "destroy", -+ "free", -+ "getpos", -+ "inline", -+ "pointer", -+ "reference", -+ "setpos", -+ "sizeof", -+ "union", -+ "vector", -+ NULL -+ }; -+ -+static char* reserved_types[] = -+{ -+ "opaque", -+ "string", -+ NULL -+ }; -+ -+/* check that the given name is not one that would eventually result in -+ xdr routines that would conflict with internal XDR routines. */ -+static void -+check_type_name(char *name, int new_type) -+{ -+ int i; -+ char tmp[100]; -+ -+ for( i = 0; reserved_words[i] != NULL; i++ ) { -+ if( strcmp( name, reserved_words[i] ) == 0 ) { -+ sprintf(tmp, -+ "illegal (reserved) name :\'%s\' in type definition", name ); -+ error(tmp); -+ } -+ } -+ if( new_type ) { -+ for( i = 0; reserved_types[i] != NULL; i++ ) { -+ if( strcmp( name, reserved_types[i] ) == 0 ) { -+ sprintf(tmp, -+ "illegal (reserved) name :\'%s\' in type definition", name ); -+ error(tmp); -+ } -+ } -+ } -+} -+ -+static void -+def_typedef(definition *defp) -+{ -+ declaration dec; -+ -+ defp->def_kind = DEF_TYPEDEF; -+ get_declaration(&dec, DEF_TYPEDEF); -+ defp->def_name = dec.name; -+ check_type_name( dec.name, 1 ); -+ defp->def.ty.old_prefix = dec.prefix; -+ defp->def.ty.old_type = dec.type; -+ defp->def.ty.rel = dec.rel; -+ defp->def.ty.array_max = dec.array_max; -+} -+ -+static void -+get_declaration(declaration *dec, defkind dkind) -+{ -+ token tok; -+ -+ get_type(&dec->prefix, &dec->type, dkind); -+ dec->rel = REL_ALIAS; -+ if (streq(dec->type, "void")) { -+ return; -+ } -+ -+ check_type_name( dec->type, 0 ); -+ -+ scan2(TOK_STAR, TOK_IDENT, &tok); -+ if (tok.kind == TOK_STAR) { -+ dec->rel = REL_POINTER; -+ scan(TOK_IDENT, &tok); -+ } -+ dec->name = tok.str; -+ if (peekscan(TOK_LBRACKET, &tok)) { -+ if (dec->rel == REL_POINTER) { -+ error("no array-of-pointer declarations -- use typedef"); -+ } -+ dec->rel = REL_VECTOR; -+ scan_num(&tok); -+ dec->array_max = tok.str; -+ scan(TOK_RBRACKET, &tok); -+ } else if (peekscan(TOK_LANGLE, &tok)) { -+ if (dec->rel == REL_POINTER) { -+ error("no array-of-pointer declarations -- use typedef"); -+ } -+ dec->rel = REL_ARRAY; -+ if (peekscan(TOK_RANGLE, &tok)) { -+ dec->array_max = "~0"; /* unspecified size, use max */ -+ } else { -+ scan_num(&tok); -+ dec->array_max = tok.str; -+ scan(TOK_RANGLE, &tok); -+ } -+ } -+ if (streq(dec->type, "opaque")) { -+ if (dec->rel != REL_ARRAY && dec->rel != REL_VECTOR) { -+ error("array declaration expected"); -+ } -+ } else if (streq(dec->type, "string")) { -+ if (dec->rel != REL_ARRAY) { -+ error("variable-length array declaration expected"); -+ } -+ } -+} -+ -+ -+static void -+get_prog_declaration(declaration *dec, defkind dkind, int num) -+{ -+ token tok; -+ char name[10]; /* argument name */ -+ -+ if (dkind == DEF_PROGRAM) { -+ peek(&tok); -+ if (tok.kind == TOK_RPAREN) { /* no arguments */ -+ dec->rel = REL_ALIAS; -+ dec->type = "void"; -+ dec->prefix = NULL; -+ dec->name = NULL; -+ return; -+ } -+ } -+ get_type(&dec->prefix, &dec->type, dkind); -+ dec->rel = REL_ALIAS; -+ if (peekscan(TOK_IDENT, &tok)) /* optional name of argument */ -+ strcpy(name, tok.str); -+ else -+ sprintf(name, "%s%d", ARGNAME, num); /* default name of argument */ -+ -+ dec->name = (char *) strdup(name); -+ -+ if (streq(dec->type, "void")) { -+ return; -+ } -+ -+ if (streq(dec->type, "opaque")) { -+ error("opaque -- illegal argument type"); -+ } -+ if (peekscan(TOK_STAR, &tok)) { -+ if (streq(dec->type, "string")) { -+ error("pointer to string not allowed in program arguments\n"); -+ } -+ dec->rel = REL_POINTER; -+ if (peekscan(TOK_IDENT, &tok)) /* optional name of argument */ -+ dec->name = strdup(tok.str); -+ } -+ if (peekscan(TOK_LANGLE, &tok)) { -+ if (!streq(dec->type, "string")) { -+ error("arrays cannot be declared as arguments to procedures -- use typedef"); -+ } -+ dec->rel = REL_ARRAY; -+ if (peekscan(TOK_RANGLE, &tok)) { -+ dec->array_max = "~0";/* unspecified size, use max */ -+ } else { -+ scan_num(&tok); -+ dec->array_max = tok.str; -+ scan(TOK_RANGLE, &tok); -+ } -+ } -+ if (streq(dec->type, "string")) { -+ if (dec->rel != REL_ARRAY) { /* .x specifies just string as -+ * type of argument -+ * - make it string<> -+ */ -+ dec->rel = REL_ARRAY; -+ dec->array_max = "~0";/* unspecified size, use max */ -+ } -+ } -+} -+ -+ -+ -+static void -+get_type(char **prefixp, char **typep, defkind dkind) -+{ -+ token tok; -+ -+ *prefixp = NULL; -+ get_token(&tok); -+ switch (tok.kind) { -+ case TOK_IDENT: -+ *typep = tok.str; -+ break; -+ case TOK_STRUCT: -+ case TOK_ENUM: -+ case TOK_UNION: -+ *prefixp = tok.str; -+ scan(TOK_IDENT, &tok); -+ *typep = tok.str; -+ break; -+ case TOK_UNSIGNED: -+ unsigned_dec(typep); -+ break; -+ case TOK_SHORT: -+ *typep = "short"; -+ (void) peekscan(TOK_INT, &tok); -+ break; -+ case TOK_INT32: -+ *typep = "int32_t"; -+ (void) peekscan(TOK_INT, &tok); -+ break; -+ case TOK_VOID: -+ if (dkind != DEF_UNION && dkind != DEF_PROGRAM) { -+ error("voids allowed only inside union and program definitions with one argument"); -+ } -+ *typep = tok.str; -+ break; -+ case TOK_STRING: -+ case TOK_OPAQUE: -+ case TOK_CHAR: -+ case TOK_INT: -+ case TOK_FLOAT: -+ case TOK_DOUBLE: -+ case TOK_BOOL: -+ *typep = tok.str; -+ break; -+ default: -+ error("expected type specifier"); -+ } -+} -+ -+static void -+unsigned_dec(char **typep) -+{ -+ token tok; -+ -+ peek(&tok); -+ switch (tok.kind) { -+ case TOK_CHAR: -+ get_token(&tok); -+ *typep = "u_char"; -+ break; -+ case TOK_SHORT: -+ get_token(&tok); -+ *typep = "u_short"; -+ (void) peekscan(TOK_INT, &tok); -+ break; -+ case TOK_INT32: -+ get_token(&tok); -+ *typep = "u_int32_"; -+ (void) peekscan(TOK_INT, &tok); -+ break; -+ case TOK_INT: -+ get_token(&tok); -+ *typep = "u_int"; -+ break; -+ default: -+ *typep = "u_int"; -+ break; -+ } -+} -diff --git a/rpcgen/rpc_parse.h b/rpcgen/rpc_parse.h -new file mode 100644 -index 0000000..2afae10 ---- /dev/null -+++ b/rpcgen/rpc_parse.h -@@ -0,0 +1,166 @@ -+/* -+ * Copyright (c) 2009, Sun Microsystems, Inc. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the following disclaimer. -+ * - 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. -+ * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -+ */ -+ -+/* @(#)rpc_parse.h 1.3 90/08/29 (C) 1987 SMI */ -+ -+/* -+ * rpc_parse.h, Definitions for the RPCL parser -+ */ -+ -+enum defkind { -+ DEF_CONST, -+ DEF_STRUCT, -+ DEF_UNION, -+ DEF_ENUM, -+ DEF_TYPEDEF, -+ DEF_PROGRAM -+}; -+typedef enum defkind defkind; -+ -+typedef char *const_def; -+ -+enum relation { -+ REL_VECTOR, /* fixed length array */ -+ REL_ARRAY, /* variable length array */ -+ REL_POINTER, /* pointer */ -+ REL_ALIAS, /* simple */ -+}; -+typedef enum relation relation; -+ -+struct typedef_def { -+ char *old_prefix; -+ char *old_type; -+ relation rel; -+ char *array_max; -+}; -+typedef struct typedef_def typedef_def; -+ -+struct enumval_list { -+ char *name; -+ char *assignment; -+ struct enumval_list *next; -+}; -+typedef struct enumval_list enumval_list; -+ -+struct enum_def { -+ enumval_list *vals; -+}; -+typedef struct enum_def enum_def; -+ -+struct declaration { -+ char *prefix; -+ char *type; -+ char *name; -+ relation rel; -+ char *array_max; -+}; -+typedef struct declaration declaration; -+ -+struct decl_list { -+ declaration decl; -+ struct decl_list *next; -+}; -+typedef struct decl_list decl_list; -+ -+struct struct_def { -+ decl_list *decls; -+}; -+typedef struct struct_def struct_def; -+ -+struct case_list { -+ char *case_name; -+ int contflag; -+ declaration case_decl; -+ struct case_list *next; -+}; -+typedef struct case_list case_list; -+ -+struct union_def { -+ declaration enum_decl; -+ case_list *cases; -+ declaration *default_decl; -+}; -+typedef struct union_def union_def; -+ -+struct arg_list { -+ char *argname; /* name of struct for arg*/ -+ decl_list *decls; -+}; -+ -+typedef struct arg_list arg_list; -+ -+struct proc_list { -+ char *proc_name; -+ char *proc_num; -+ arg_list args; -+ int arg_num; -+ char *res_type; -+ char *res_prefix; -+ struct proc_list *next; -+}; -+typedef struct proc_list proc_list; -+ -+struct version_list { -+ char *vers_name; -+ char *vers_num; -+ proc_list *procs; -+ struct version_list *next; -+}; -+typedef struct version_list version_list; -+ -+struct program_def { -+ char *prog_num; -+ version_list *versions; -+}; -+typedef struct program_def program_def; -+ -+struct definition { -+ char *def_name; -+ defkind def_kind; -+ union { -+ const_def co; -+ struct_def st; -+ union_def un; -+ enum_def en; -+ typedef_def ty; -+ program_def pr; -+ } def; -+}; -+typedef struct definition definition; -+ -+definition *get_definition(); -+ -+ -+struct bas_type -+{ -+ char *name; -+ int length; -+ struct bas_type *next; -+}; -+ -+typedef struct bas_type bas_type; -diff --git a/rpcgen/rpc_sample.c b/rpcgen/rpc_sample.c -new file mode 100644 -index 0000000..2b5c81b ---- /dev/null -+++ b/rpcgen/rpc_sample.c -@@ -0,0 +1,247 @@ -+/* -+ * Copyright (c) 2009, Sun Microsystems, Inc. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the following disclaimer. -+ * - 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. -+ * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -+ */ -+ -+#if 0 -+static char sccsid[] = "@(#)rpc_sample.c 1.1 90/08/30 (C) 1987 SMI"; -+ -+#endif -+ -+/* -+ * rpc_sample.c, Sample client-server code outputter for the RPC protocol compiler -+ */ -+ -+#include -+#include -+#include "rpc_parse.h" -+#include "rpc_util.h" -+ -+ -+static char RQSTP[] = "rqstp"; -+ -+static void write_sample_client(char *program_name, version_list *vp); -+static void write_sample_server(definition * def); -+static void return_type(proc_list *plist); -+ -+void -+write_sample_svc(definition *def) -+{ -+ if (def->def_kind != DEF_PROGRAM) -+ return; -+ write_sample_server(def); -+} -+ -+ -+int -+write_sample_clnt(definition *def) -+{ -+ version_list *vp; -+ int count = 0; -+ -+ if (def->def_kind != DEF_PROGRAM) -+ return (0); -+ /* generate sample code for each version */ -+ for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { -+ write_sample_client(def->def_name, vp); -+ ++count; -+ } -+ return (count); -+} -+ -+ -+static void -+write_sample_client(char *program_name, version_list *vp) -+{ -+ proc_list *proc; -+ int i; -+ decl_list *l; -+ -+ f_print(fout, "\n\nvoid\n"); -+ pvname(program_name, vp->vers_num); -+ if (Cflag) -+ f_print(fout, "( char* host )\n{\n"); -+ else -+ f_print(fout, "(host)\nchar *host;\n{\n"); -+ f_print(fout, "\tCLIENT *clnt;\n"); -+ -+ i = 0; -+ for (proc = vp->procs; proc != NULL; proc = proc->next) { -+ f_print(fout, "\t"); -+ ptype(proc->res_prefix, proc->res_type, 1); -+ f_print(fout, " *result_%d;\n", ++i); -+ /* print out declarations for arguments */ -+ if (proc->arg_num < 2 && !newstyle) { -+ f_print(fout, "\t"); -+ if (!streq(proc->args.decls->decl.type, "void")) -+ ptype(proc->args.decls->decl.prefix, proc->args.decls->decl.type, 1); -+ else -+ f_print(fout, "char* "); /* cannot have "void" type */ -+ f_print(fout, " "); -+ pvname(proc->proc_name, vp->vers_num); -+ f_print(fout, "_arg;\n"); -+ } else if (!streq(proc->args.decls->decl.type, "void")) { -+ for (l = proc->args.decls; l != NULL; l = l->next) { -+ f_print(fout, "\t"); -+ ptype(l->decl.prefix, l->decl.type, 1); -+ f_print(fout, " "); -+ pvname(proc->proc_name, vp->vers_num); -+ f_print(fout, "_%s;\n", l->decl.name); -+ /* pdeclaration(proc->args.argname, &l->decl, 1, ";\n" );*/ -+ } -+ } -+ } -+ -+ /* generate creation of client handle */ -+ f_print(fout, "\tclnt = clnt_create(host, %s, %s, \"%s\");\n", -+ program_name, vp->vers_name, tirpcflag ? "netpath" : "udp"); -+ f_print(fout, "\tif (clnt == NULL) {\n"); -+ f_print(fout, "\t\tclnt_pcreateerror(host);\n"); -+ f_print(fout, "\t\texit(1);\n\t}\n"); -+ -+ /* generate calls to procedures */ -+ i = 0; -+ for (proc = vp->procs; proc != NULL; proc = proc->next) { -+ f_print(fout, "\tresult_%d = ", ++i); -+ pvname(proc->proc_name, vp->vers_num); -+ if (proc->arg_num < 2 && !newstyle) { -+ f_print(fout, "("); -+ if (streq(proc->args.decls->decl.type, "void")) /* cast to void* */ -+ f_print(fout, "(void*)"); -+ f_print(fout, "&"); -+ pvname(proc->proc_name, vp->vers_num); -+ f_print(fout, "_arg, clnt);\n"); -+ } else if (streq(proc->args.decls->decl.type, "void")) { -+ f_print(fout, "(clnt);\n"); -+ } else { -+ f_print(fout, "("); -+ for (l = proc->args.decls; l != NULL; l = l->next) { -+ pvname(proc->proc_name, vp->vers_num); -+ f_print(fout, "_%s, ", l->decl.name); -+ } -+ f_print(fout, "clnt);\n"); -+ } -+ f_print(fout, "\tif (result_%d == NULL) {\n", i); -+ f_print(fout, "\t\tclnt_perror(clnt, \"call failed:\");\n"); -+ f_print(fout, "\t}\n"); -+ } -+ -+ f_print(fout, "\tclnt_destroy( clnt );\n"); -+ f_print(fout, "}\n"); -+} -+ -+static void -+write_sample_server(definition * def) -+{ -+ version_list *vp; -+ proc_list *proc; -+ -+ for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { -+ for (proc = vp->procs; proc != NULL; proc = proc->next) { -+ f_print(fout, "\n"); -+ /* if( Cflag ) -+ f_print( fout, "extern \"C\"{\n"); -+*/ -+ return_type(proc); -+ f_print(fout, "* \n"); -+ if (Cflag) -+ pvname_svc(proc->proc_name, vp->vers_num); -+ else -+ pvname(proc->proc_name, vp->vers_num); -+ printarglist(proc, RQSTP, "struct svc_req *"); -+ -+ f_print(fout, "{\n"); -+ f_print(fout, "\n\tstatic "); -+ if (!streq(proc->res_type, "void")) -+ return_type(proc); -+ else -+ f_print(fout, "char*"); /* cannot have void type */ -+ /* f_print(fout, " result;\n", proc->res_type); */ -+ f_print(fout, " result;\n"); -+ f_print(fout, -+ "\n\t/*\n\t * insert server code here\n\t */\n\n"); -+ if (!streq(proc->res_type, "void")) -+ f_print(fout, "\treturn(&result);\n}\n"); -+ else /* cast back to void * */ -+ f_print(fout, "\treturn((void*) &result);\n}\n"); -+ /* if( Cflag) -+ f_print( fout, "};\n"); -+*/ -+ -+ } -+ } -+} -+ -+ -+ -+static void -+return_type(proc_list *plist) -+{ -+ ptype( plist->res_prefix, plist->res_type, 1 ); -+} -+ -+void -+add_sample_msg(void) -+{ -+ f_print(fout, "/*\n"); -+ f_print(fout, " * This is sample code generated by rpcgen.\n"); -+ f_print(fout, " * These are only templates and you can use them\n"); -+ f_print(fout, " * as a guideline for developing your own functions.\n"); -+ f_print(fout, " */\n\n"); -+} -+ -+void -+write_sample_clnt_main(void) -+{ -+ list *l; -+ definition *def; -+ version_list *vp; -+ -+ f_print(fout, "\n\n" ); -+ if( Cflag ) -+ f_print(fout,"main( int argc, char* argv[] )\n{\n" ); -+ else -+ f_print(fout, "main(argc, argv)\nint argc;\nchar *argv[];\n{\n" ); -+ -+ f_print(fout, "\tchar *host;"); -+ f_print(fout, "\n\n\tif(argc < 2) {"); -+ f_print(fout, "\n\t\tprintf(\"usage: %%s server_host\\n\", argv[0]);\n" ); -+ f_print(fout, "\t\texit(1);\n\t}"); -+ f_print(fout, "\n\thost = argv[1];\n"); -+ -+ for (l = defined; l != NULL; l = l->next) { -+ def = l->val; -+ if (def->def_kind != DEF_PROGRAM) { -+ continue; -+ } -+ for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { -+ f_print( fout, "\t" ); -+ pvname(def->def_name, vp->vers_num); -+ f_print( fout, "( host );\n" ); -+ } -+ } -+ f_print(fout, "}\n"); -+} -diff --git a/rpcgen/rpc_scan.c b/rpcgen/rpc_scan.c -new file mode 100644 -index 0000000..f58fa9f ---- /dev/null -+++ b/rpcgen/rpc_scan.c -@@ -0,0 +1,474 @@ -+/* -+ * Copyright (c) 2009, Sun Microsystems, Inc. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the following disclaimer. -+ * - 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. -+ * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -+ */ -+ -+#if 0 -+static char sccsid[] = "@(#)rpc_scan.c 1.11 89/02/22 (C) 1987 SMI"; -+#endif -+ -+/* -+ * rpc_scan.c, Scanner for the RPC protocol compiler -+ * Copyright (C) 1987, Sun Microsystems, Inc. -+ */ -+#include -+#include -+#include -+#include "rpc_scan.h" -+#include "rpc_parse.h" -+#include "rpc_util.h" -+ -+static void unget_token(token *tokp); -+static void findstrconst(char **str, char **val); -+static void findchrconst(char **str, char **val); -+static void findconst(char **str, char **val); -+static void findkind(char **mark, token *tokp); -+static int cppline(char *line); -+static int directive(char *line); -+static void printdirective(char *line); -+static void docppline(char *line, int *lineno, char **fname); -+ -+#define startcomment(where) (where[0] == '/' && where[1] == '*') -+#define endcomment(where) (where[-1] == '*' && where[0] == '/') -+ -+static int pushed = 0; /* is a token pushed */ -+static token lasttok; /* last token, if pushed */ -+ -+/* -+ * scan expecting 1 given token -+ */ -+void -+scan(tok_kind expect, token *tokp) -+{ -+ get_token(tokp); -+ if (tokp->kind != expect) { -+ expected1(expect); -+ } -+} -+ -+/* -+ * scan expecting any of the 2 given tokens -+ */ -+void -+scan2(tok_kind expect1, tok_kind expect2, token *tokp) -+{ -+ get_token(tokp); -+ if (tokp->kind != expect1 && tokp->kind != expect2) { -+ expected2(expect1, expect2); -+ } -+} -+ -+/* -+ * scan expecting any of the 3 given token -+ */ -+void -+scan3(tok_kind expect1, tok_kind expect2, tok_kind expect3, token *tokp) -+{ -+ get_token(tokp); -+ if (tokp->kind != expect1 && tokp->kind != expect2 -+ && tokp->kind != expect3) { -+ expected3(expect1, expect2, expect3); -+ } -+} -+ -+/* -+ * scan expecting a constant, possibly symbolic -+ */ -+void -+scan_num(token *tokp) -+{ -+ get_token(tokp); -+ switch (tokp->kind) { -+ case TOK_IDENT: -+ break; -+ default: -+ error("constant or identifier expected"); -+ } -+} -+ -+/* -+ * Peek at the next token -+ */ -+void -+peek(token *tokp) -+{ -+ get_token(tokp); -+ unget_token(tokp); -+} -+ -+/* -+ * Peek at the next token and scan it if it matches what you expect -+ */ -+int -+peekscan(tok_kind expect, token *tokp) -+{ -+ peek(tokp); -+ if (tokp->kind == expect) { -+ get_token(tokp); -+ return (1); -+ } -+ return (0); -+} -+ -+/* -+ * Get the next token, printing out any directive that are encountered. -+ */ -+void -+get_token(token *tokp) -+{ -+ int commenting; -+ -+ if (pushed) { -+ pushed = 0; -+ *tokp = lasttok; -+ return; -+ } -+ commenting = 0; -+ for (;;) { -+ if (*where == 0) { -+ for (;;) { -+ if (!fgets(curline, MAXLINESIZE, fin)) { -+ tokp->kind = TOK_EOF; -+ *where = 0; -+ return; -+ } -+ linenum++; -+ if (commenting) { -+ break; -+ } else if (cppline(curline)) { -+ docppline(curline, &linenum, -+ &infilename); -+ } else if (directive(curline)) { -+ printdirective(curline); -+ } else { -+ break; -+ } -+ } -+ where = curline; -+ } else if (isspace(*where)) { -+ while (isspace(*where)) { -+ where++; /* eat */ -+ } -+ } else if (commenting) { -+ for (where++; *where; where++) { -+ if (endcomment(where)) { -+ where++; -+ commenting--; -+ break; -+ } -+ } -+ } else if (startcomment(where)) { -+ where += 2; -+ commenting++; -+ } else { -+ break; -+ } -+ } -+ -+ /* -+ * 'where' is not whitespace, comment or directive Must be a token! -+ */ -+ switch (*where) { -+ case ':': -+ tokp->kind = TOK_COLON; -+ where++; -+ break; -+ case ';': -+ tokp->kind = TOK_SEMICOLON; -+ where++; -+ break; -+ case ',': -+ tokp->kind = TOK_COMMA; -+ where++; -+ break; -+ case '=': -+ tokp->kind = TOK_EQUAL; -+ where++; -+ break; -+ case '*': -+ tokp->kind = TOK_STAR; -+ where++; -+ break; -+ case '[': -+ tokp->kind = TOK_LBRACKET; -+ where++; -+ break; -+ case ']': -+ tokp->kind = TOK_RBRACKET; -+ where++; -+ break; -+ case '{': -+ tokp->kind = TOK_LBRACE; -+ where++; -+ break; -+ case '}': -+ tokp->kind = TOK_RBRACE; -+ where++; -+ break; -+ case '(': -+ tokp->kind = TOK_LPAREN; -+ where++; -+ break; -+ case ')': -+ tokp->kind = TOK_RPAREN; -+ where++; -+ break; -+ case '<': -+ tokp->kind = TOK_LANGLE; -+ where++; -+ break; -+ case '>': -+ tokp->kind = TOK_RANGLE; -+ where++; -+ break; -+ -+ case '"': -+ tokp->kind = TOK_STRCONST; -+ findstrconst(&where, &tokp->str); -+ break; -+ case '\'': -+ tokp->kind = TOK_CHARCONST; -+ findchrconst(&where, &tokp->str); -+ break; -+ -+ case '-': -+ case '0': -+ case '1': -+ case '2': -+ case '3': -+ case '4': -+ case '5': -+ case '6': -+ case '7': -+ case '8': -+ case '9': -+ tokp->kind = TOK_IDENT; -+ findconst(&where, &tokp->str); -+ break; -+ -+ default: -+ if (!(isalpha(*where) || *where == '_')) { -+ char buf[100]; -+ char *p; -+ -+ s_print(buf, "illegal character in file: "); -+ p = buf + strlen(buf); -+ if (isprint(*where)) { -+ s_print(p, "%c", *where); -+ } else { -+ s_print(p, "%d", *where); -+ } -+ error(buf); -+ } -+ findkind(&where, tokp); -+ break; -+ } -+} -+ -+static void -+unget_token(token *tokp) -+{ -+ lasttok = *tokp; -+ pushed = 1; -+} -+ -+static void -+findstrconst(char **str, char **val) -+{ -+ char *p; -+ int size; -+ -+ p = *str; -+ do { -+ *p++; -+ } while (*p && *p != '"'); -+ if (*p == 0) { -+ error("unterminated string constant"); -+ } -+ p++; -+ size = p - *str; -+ *val = alloc(size + 1); -+ (void) strncpy(*val, *str, size); -+ (*val)[size] = 0; -+ *str = p; -+} -+ -+static void -+findchrconst(char **str, char **val) -+{ -+ char *p; -+ int size; -+ -+ p = *str; -+ do { -+ *p++; -+ } while (*p && *p != '\''); -+ if (*p == 0) { -+ error("unterminated string constant"); -+ } -+ p++; -+ size = p - *str; -+ if (size != 3) { -+ error("empty char string"); -+ } -+ *val = alloc(size + 1); -+ (void) strncpy(*val, *str, size); -+ (*val)[size] = 0; -+ *str = p; -+} -+ -+static void -+findconst(char **str, char **val) -+{ -+ char *p; -+ int size; -+ -+ p = *str; -+ if (*p == '0' && *(p + 1) == 'x') { -+ p++; -+ do { -+ p++; -+ } while (isxdigit(*p)); -+ } else { -+ do { -+ p++; -+ } while (isdigit(*p)); -+ } -+ size = p - *str; -+ *val = alloc(size + 1); -+ (void) strncpy(*val, *str, size); -+ (*val)[size] = 0; -+ *str = p; -+} -+ -+static token symbols[] = { -+ {TOK_CONST, "const"}, -+ {TOK_UNION, "union"}, -+ {TOK_SWITCH, "switch"}, -+ {TOK_CASE, "case"}, -+ {TOK_DEFAULT, "default"}, -+ {TOK_STRUCT, "struct"}, -+ {TOK_TYPEDEF, "typedef"}, -+ {TOK_ENUM, "enum"}, -+ {TOK_OPAQUE, "opaque"}, -+ {TOK_BOOL, "bool"}, -+ {TOK_VOID, "void"}, -+ {TOK_CHAR, "char"}, -+ {TOK_INT, "int"}, -+ {TOK_UNSIGNED, "unsigned"}, -+ {TOK_SHORT, "short"}, -+ {TOK_INT32, "int32"}, -+ {TOK_FLOAT, "float"}, -+ {TOK_DOUBLE, "double"}, -+ {TOK_STRING, "string"}, -+ {TOK_PROGRAM, "program"}, -+ {TOK_VERSION, "version"}, -+ {TOK_EOF, "??????"}, -+}; -+ -+static void -+findkind(char **mark, token *tokp) -+{ -+ int len; -+ token *s; -+ char *str; -+ -+ str = *mark; -+ for (s = symbols; s->kind != TOK_EOF; s++) { -+ len = strlen(s->str); -+ if (strncmp(str, s->str, len) == 0) { -+ if (!isalnum(str[len]) && str[len] != '_') { -+ tokp->kind = s->kind; -+ tokp->str = s->str; -+ *mark = str + len; -+ return; -+ } -+ } -+ } -+ tokp->kind = TOK_IDENT; -+ for (len = 0; isalnum(str[len]) || str[len] == '_'; len++); -+ tokp->str = alloc(len + 1); -+ (void) strncpy(tokp->str, str, len); -+ tokp->str[len] = 0; -+ *mark = str + len; -+} -+ -+static int -+cppline(char *line) -+{ -+ return (line == curline && *line == '#'); -+} -+ -+static int -+directive(char *line) -+{ -+ return (line == curline && *line == '%'); -+} -+ -+static void -+printdirective(char *line) -+{ -+ f_print(fout, "%s", line + 1); -+} -+ -+static void -+docppline(char *line, int *lineno, char **fname) -+{ -+ char *file; -+ int num; -+ char *p; -+ -+ line++; -+ while (isspace(*line)) { -+ line++; -+ } -+ num = atoi(line); -+ while (isdigit(*line)) { -+ line++; -+ } -+ while (isspace(*line)) { -+ line++; -+ } -+ if (*line != '"') { -+ error("preprocessor error"); -+ } -+ line++; -+ p = file = alloc(strlen(line) + 1); -+ while (*line && *line != '"') { -+ *p++ = *line++; -+ } -+ if (*line == 0) { -+ error("preprocessor error"); -+ } -+ *p = 0; -+ if (*file == 0) { -+ *fname = NULL; -+ free(file); -+ } else { -+ *fname = file; -+ } -+ *lineno = num - 1; -+} -diff --git a/rpcgen/rpc_scan.h b/rpcgen/rpc_scan.h -new file mode 100644 -index 0000000..16f688c ---- /dev/null -+++ b/rpcgen/rpc_scan.h -@@ -0,0 +1,103 @@ -+/* -+ * Copyright (c) 2009, Sun Microsystems, Inc. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the following disclaimer. -+ * - 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. -+ * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -+ */ -+ -+/* @(#)rpc_scan.h 1.3 90/08/29 (C) 1987 SMI */ -+ -+/* -+ * rpc_scan.h, Definitions for the RPCL scanner -+ */ -+ -+/* -+ * kinds of tokens -+ */ -+enum tok_kind { -+ TOK_IDENT, -+ TOK_CHARCONST, -+ TOK_STRCONST, -+ TOK_LPAREN, -+ TOK_RPAREN, -+ TOK_LBRACE, -+ TOK_RBRACE, -+ TOK_LBRACKET, -+ TOK_RBRACKET, -+ TOK_LANGLE, -+ TOK_RANGLE, -+ TOK_STAR, -+ TOK_COMMA, -+ TOK_EQUAL, -+ TOK_COLON, -+ TOK_SEMICOLON, -+ TOK_CONST, -+ TOK_STRUCT, -+ TOK_UNION, -+ TOK_SWITCH, -+ TOK_CASE, -+ TOK_DEFAULT, -+ TOK_ENUM, -+ TOK_TYPEDEF, -+ TOK_INT, -+ TOK_SHORT, -+ TOK_INT32, -+ TOK_UNSIGNED, -+ TOK_FLOAT, -+ TOK_DOUBLE, -+ TOK_OPAQUE, -+ TOK_CHAR, -+ TOK_STRING, -+ TOK_BOOL, -+ TOK_VOID, -+ TOK_PROGRAM, -+ TOK_VERSION, -+ TOK_EOF -+}; -+typedef enum tok_kind tok_kind; -+ -+/* -+ * a token -+ */ -+struct token { -+ tok_kind kind; -+ char *str; -+}; -+typedef struct token token; -+ -+ -+/* -+ * routine interface -+ */ -+void scan(); -+void scan2(); -+void scan3(); -+void scan_num(); -+void peek(); -+int peekscan(); -+void get_token(); -+void expected1(tok_kind); -+void expected2(tok_kind, tok_kind); -+void expected3(tok_kind, tok_kind, tok_kind); -+ -diff --git a/rpcgen/rpc_svcout.c b/rpcgen/rpc_svcout.c -new file mode 100644 -index 0000000..284a529 ---- /dev/null -+++ b/rpcgen/rpc_svcout.c -@@ -0,0 +1,882 @@ -+/* -+ * Copyright (c) 2009, Sun Microsystems, Inc. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the following disclaimer. -+ * - 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. -+ * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -+ */ -+ -+#if 0 -+ static char sccsid[] = "@(#)rpc_svcout.c 1.29 89/03/30 (C) 1987 SMI"; -+#endif -+ -+/* -+ * rpc_svcout.c, Server-skeleton outputter for the RPC protocol compiler -+ */ -+#include -+#include -+#include "rpc_parse.h" -+#include "rpc_util.h" -+#include "rpc_output.h" -+ -+static void write_real_program(definition *def); -+static void write_program(definition *def, char *storage); -+static void printerr(char *err, char *transp); -+static void printif(char *proc, char *transp, char *prefix, char *arg); -+static void write_inetmost(char *infile); -+static void print_return(char *space); -+static void print_pmapunset(char *space); -+static void print_err_message(char *space); -+static void write_timeout_func(void); -+static void write_pm_most(char *infile, int netflag); -+static void write_rpc_svc_fg(char *infile, char *sp); -+static void open_log_file(char *infile, char *sp); -+ -+static char RQSTP[] = "rqstp"; -+static char TRANSP[] = "transp"; -+static char ARG[] = "argument"; -+static char RESULT[] = "result"; -+static char ROUTINE[] = "local"; -+ -+char _errbuf[256]; /* For all messages */ -+ -+static void -+p_xdrfunc(char *rname, char *typename) -+{ -+ if (Cflag) -+ f_print(fout, "\t\txdr_%s = (xdrproc_t) xdr_%s;\n", rname, -+ stringfix(typename)); -+ else -+ f_print(fout, "\t\txdr_%s = xdr_%s;\n", rname, stringfix(typename)); -+} -+ -+void -+internal_proctype(proc_list *plist) -+{ -+ f_print(fout, "static "); -+ ptype( plist->res_prefix, plist->res_type, 1 ); -+ f_print( fout, "*" ); -+} -+ -+ -+/* -+ * write most of the service, that is, everything but the registrations. -+ */ -+void -+write_most(char *infile, int netflag, int nomain) -+{ -+ if (inetdflag || pmflag) { -+ char* var_type; -+ var_type = (nomain? "extern" : "static"); -+ f_print(fout, "%s int _rpcpmstart;", var_type ); -+ f_print(fout, "\t\t/* Started by a port monitor ? */\n"); -+ f_print(fout, "%s int _rpcfdtype;", var_type ); -+ f_print(fout, "\t\t/* Whether Stream or Datagram ? */\n"); -+ if (timerflag) { -+ f_print(fout, "%s int _rpcsvcdirty;", var_type ); -+ f_print(fout, "\t/* Still serving ? */\n"); -+ } -+ write_svc_aux( nomain ); -+ } -+ /* write out dispatcher and stubs */ -+ write_programs( nomain? (char *)NULL : "static" ); -+ -+ if( nomain ) -+ return; -+ -+ f_print(fout, "\nmain()\n"); -+ f_print(fout, "{\n"); -+ if (inetdflag) { -+ write_inetmost(infile); /* Includes call to write_rpc_svc_fg() */ -+ } else { -+ if( tirpcflag ) { -+ if (netflag) { -+ f_print(fout, "\tregister SVCXPRT *%s;\n", TRANSP); -+ f_print(fout, "\tstruct netconfig *nconf = NULL;\n"); -+ } -+ f_print(fout, "\tpid_t pid;\n"); -+ f_print(fout, "\tint i;\n"); -+ f_print(fout, "\tchar mname[FMNAMESZ + 1];\n\n"); -+ write_pm_most(infile, netflag); -+ f_print(fout, "\telse {\n"); -+ write_rpc_svc_fg(infile, "\t\t"); -+ f_print(fout, "\t}\n"); -+ } else { -+ f_print(fout, "\tregister SVCXPRT *%s;\n", TRANSP); -+ f_print(fout, "\n"); -+ print_pmapunset("\t"); -+ } -+ } -+ -+ if (logflag && !inetdflag) { -+ open_log_file(infile, "\t"); -+ } -+} -+ -+/* -+ * write a registration for the given transport -+ */ -+void -+write_netid_register(char *transp) -+{ -+ list *l; -+ definition *def; -+ version_list *vp; -+ char *sp; -+ char tmpbuf[32]; -+ -+ sp = ""; -+ f_print(fout, "\n"); -+ f_print(fout, "%s\tnconf = getnetconfigent(\"%s\");\n", sp, transp); -+ f_print(fout, "%s\tif (nconf == NULL) {\n", sp); -+ (void) sprintf(_errbuf, "cannot find %s netid.", transp); -+ sprintf(tmpbuf, "%s\t\t", sp); -+ print_err_message(tmpbuf); -+ f_print(fout, "%s\t\texit(1);\n", sp); -+ f_print(fout, "%s\t}\n", sp); -+ f_print(fout, "%s\t%s = svc_tli_create(RPC_ANYFD, nconf, 0, 0, 0);\n", -+ sp, TRANSP); -+ f_print(fout, "%s\tif (%s == NULL) {\n", sp, TRANSP); -+ (void) sprintf(_errbuf, "cannot create %s service.", transp); -+ print_err_message(tmpbuf); -+ f_print(fout, "%s\t\texit(1);\n", sp); -+ f_print(fout, "%s\t}\n", sp); -+ -+ for (l = defined; l != NULL; l = l->next) { -+ def = (definition *) l->val; -+ if (def->def_kind != DEF_PROGRAM) { -+ continue; -+ } -+ for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { -+ f_print(fout, -+ "%s\t(void) rpcb_unset(%s, %s, nconf);\n", -+ sp, def->def_name, vp->vers_name); -+ f_print(fout, -+ "%s\tif (!svc_reg(%s, %s, %s, ", -+ sp, TRANSP, def->def_name, vp->vers_name); -+ pvname(def->def_name, vp->vers_num); -+ f_print(fout, ", nconf)) {\n"); -+ (void) sprintf(_errbuf, "unable to register (%s, %s, %s).", -+ def->def_name, vp->vers_name, transp); -+ print_err_message(tmpbuf); -+ f_print(fout, "%s\t\texit(1);\n", sp); -+ f_print(fout, "%s\t}\n", sp); -+ } -+ } -+ f_print(fout, "%s\tfreenetconfigent(nconf);\n", sp); -+} -+ -+/* -+ * write a registration for the given transport for TLI -+ */ -+void -+write_nettype_register(char *transp) -+{ -+ list *l; -+ definition *def; -+ version_list *vp; -+ -+ for (l = defined; l != NULL; l = l->next) { -+ def = (definition *) l->val; -+ if (def->def_kind != DEF_PROGRAM) { -+ continue; -+ } -+ for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { -+ f_print(fout, "\tif (!svc_create("); -+ pvname(def->def_name, vp->vers_num); -+ f_print(fout, ", %s, %s, \"%s\")) {\n ", -+ def->def_name, vp->vers_name, transp); -+ (void) sprintf(_errbuf, -+ "unable to create (%s, %s) for %s.", -+ def->def_name, vp->vers_name, transp); -+ print_err_message("\t\t"); -+ f_print(fout, "\t\texit(1);\n"); -+ f_print(fout, "\t}\n"); -+ } -+ } -+} -+ -+/* -+ * write the rest of the service -+ */ -+void -+write_rest(void) -+{ -+ f_print(fout, "\n"); -+ if (inetdflag) { -+ f_print(fout, "\tif (%s == (SVCXPRT *)NULL) {\n", TRANSP); -+ (void) sprintf(_errbuf, "could not create a handle"); -+ print_err_message("\t\t"); -+ f_print(fout, "\t\texit(1);\n"); -+ f_print(fout, "\t}\n"); -+ if (timerflag) { -+ f_print(fout, "\tif (_rpcpmstart) {\n"); -+ f_print(fout, -+ "\t\t(void) signal(SIGALRM, %s closedown);\n", -+ Cflag? "(SIG_PF)" : "(void(*)())" ); -+ f_print(fout, "\t\t(void) alarm(_RPCSVC_CLOSEDOWN);\n"); -+ f_print(fout, "\t}\n"); -+ } -+ } -+ f_print(fout, "\tsvc_run();\n"); -+ (void) sprintf(_errbuf, "svc_run returned"); -+ print_err_message("\t"); -+ f_print(fout, "\texit(1);\n"); -+ f_print(fout, "\t/* NOTREACHED */\n"); -+ f_print(fout, "}\n"); -+} -+ -+void -+write_programs(char *storage) -+{ -+ list *l; -+ definition *def; -+ -+ /* write out stubs for procedure definitions */ -+ for (l = defined; l != NULL; l = l->next) { -+ def = (definition *) l->val; -+ if (def->def_kind == DEF_PROGRAM) { -+ write_real_program(def); -+ } -+ } -+ -+ /* write out dispatcher for each program */ -+ for (l = defined; l != NULL; l = l->next) { -+ def = (definition *) l->val; -+ if (def->def_kind == DEF_PROGRAM) { -+ write_program(def, storage); -+ } -+ } -+ -+ -+} -+ -+/* write out definition of internal function (e.g. _printmsg_1(...)) -+ which calls server's defintion of actual function (e.g. printmsg_1(...)). -+ Unpacks single user argument of printmsg_1 to call-by-value format -+ expected by printmsg_1. */ -+static void -+write_real_program(definition *def) -+{ -+ version_list *vp; -+ proc_list *proc; -+ decl_list *l; -+ -+ if( !newstyle ) return; /* not needed for old style */ -+ for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { -+ for (proc = vp->procs; proc != NULL; proc = proc->next) { -+ f_print(fout, "\n"); -+ internal_proctype(proc); -+ f_print(fout, "\n_"); -+ pvname(proc->proc_name, vp->vers_num); -+ if( Cflag ) { -+ f_print(fout, "(" ); -+ /* arg name */ -+ if (proc->arg_num > 1) -+ f_print(fout, proc->args.argname); -+ else -+ ptype(proc->args.decls->decl.prefix, -+ proc->args.decls->decl.type, 0); -+ f_print(fout, " *argp, struct svc_req *%s)\n", -+ RQSTP); -+ } else { -+ f_print(fout, "(argp, %s)\n", RQSTP ); -+ /* arg name */ -+ if (proc->arg_num > 1) -+ f_print(fout, "\t%s *argp;\n", proc->args.argname); -+ else { -+ f_print(fout, "\t"); -+ ptype(proc->args.decls->decl.prefix, -+ proc->args.decls->decl.type, 0); -+ f_print(fout, " *argp;\n"); -+ } -+ f_print(fout, " struct svc_req *%s;\n", RQSTP); -+ } -+ -+ f_print(fout, "{\n"); -+ f_print(fout, "\treturn("); -+ if( Cflag ) -+ pvname_svc(proc->proc_name, vp->vers_num); -+ else -+ pvname(proc->proc_name, vp->vers_num); -+ f_print(fout, "("); -+ if (proc->arg_num < 2) { /* single argument */ -+ if (!streq( proc->args.decls->decl.type, "void")) -+ f_print(fout, "*argp, "); /* non-void */ -+ } else { -+ for (l = proc->args.decls; l != NULL; l = l->next) -+ f_print(fout, "argp->%s, ", l->decl.name); -+ } -+ f_print(fout, "%s));\n}\n", RQSTP); -+ } -+ } -+} -+ -+static void -+write_program(definition *def, char *storage) -+{ -+ version_list *vp; -+ proc_list *proc; -+ int filled; -+ -+ for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { -+ f_print(fout, "\n"); -+ if (storage != NULL) { -+ f_print(fout, "%s ", storage); -+ } -+ f_print(fout, "void\n"); -+ pvname(def->def_name, vp->vers_num); -+ -+ if (Cflag) { -+ f_print(fout, "(struct svc_req *%s, ", RQSTP); -+ f_print(fout, "register SVCXPRT *%s)\n", TRANSP); -+ } else { -+ f_print(fout, "(%s, %s)\n", RQSTP, TRANSP); -+ f_print(fout, " struct svc_req *%s;\n", RQSTP); -+ f_print(fout, " register SVCXPRT *%s;\n", TRANSP); -+ } -+ -+ f_print(fout, "{\n"); -+ -+ filled = 0; -+ f_print(fout, "\tunion {\n"); -+ for (proc = vp->procs; proc != NULL; proc = proc->next) { -+ if (proc->arg_num < 2) { /* single argument */ -+ if (streq(proc->args.decls->decl.type, -+ "void")) { -+ continue; -+ } -+ filled = 1; -+ f_print(fout, "\t\t"); -+ ptype(proc->args.decls->decl.prefix, -+ proc->args.decls->decl.type, 0); -+ pvname(proc->proc_name, vp->vers_num); -+ f_print(fout, "_arg;\n"); -+ -+ } -+ else { -+ filled = 1; -+ f_print(fout, "\t\t%s", proc->args.argname); -+ f_print(fout, " "); -+ pvname(proc->proc_name, vp->vers_num); -+ f_print(fout, "_arg;\n"); -+ } -+ } -+ if (!filled) { -+ f_print(fout, "\t\tint fill;\n"); -+ } -+ f_print(fout, "\t} %s;\n", ARG); -+ f_print(fout, "\tchar *%s;\n", RESULT); -+ -+ if (Cflag) { -+ f_print(fout, "\txdrproc_t xdr_%s, xdr_%s;\n", ARG, RESULT); -+ f_print(fout, -+ "\tchar *(*%s)(char *, struct svc_req *);\n", -+ ROUTINE); -+ } else { -+ f_print(fout, "\tbool_t (*xdr_%s)(), (*xdr_%s)();\n", ARG, RESULT); -+ f_print(fout, "\tchar *(*%s)();\n", ROUTINE); -+ } -+ -+ f_print(fout, "\n"); -+ -+ if (timerflag) -+ f_print(fout, "\t_rpcsvcdirty = 1;\n"); -+ f_print(fout, "\tswitch (%s->rq_proc) {\n", RQSTP); -+ if (!nullproc(vp->procs)) { -+ f_print(fout, "\tcase NULLPROC:\n"); -+ f_print(fout, -+ "\t\t(void) svc_sendreply(%s, (xdrproc_t) xdr_void, (char *)NULL);\n", -+ TRANSP); -+ print_return("\t\t"); -+ f_print(fout, "\n"); -+ } -+ for (proc = vp->procs; proc != NULL; proc = proc->next) { -+ f_print(fout, "\tcase %s:\n", proc->proc_name); -+ if (proc->arg_num < 2) { /* single argument */ -+ p_xdrfunc( ARG, proc->args.decls->decl.type); -+ } else { -+ p_xdrfunc( ARG, proc->args.argname); -+ } -+ p_xdrfunc( RESULT, proc->res_type); -+ if( Cflag ) -+ f_print(fout, -+ "\t\t%s = (char *(*)(char *, struct svc_req *)) ", -+ ROUTINE); -+ else -+ f_print(fout, "\t\t%s = (char *(*)()) ", ROUTINE); -+ -+ if (newstyle) { /* new style: calls internal routine */ -+ f_print(fout,"_"); -+ } -+ /* Not sure about the following... -+ * rpc_hout always generates foobar_1_svc for -+ * the service procedure, so why should we use -+ * foobar_1 here?! --okir */ -+#if 0 -+ if( Cflag && !newstyle ) -+ pvname_svc(proc->proc_name, vp->vers_num); -+ else -+ pvname(proc->proc_name, vp->vers_num); -+#else -+ pvname_svc(proc->proc_name, vp->vers_num); -+#endif -+ f_print(fout, ";\n"); -+ f_print(fout, "\t\tbreak;\n\n"); -+ } -+ f_print(fout, "\tdefault:\n"); -+ printerr("noproc", TRANSP); -+ print_return("\t\t"); -+ f_print(fout, "\t}\n"); -+ -+ f_print(fout, "\t(void) memset((char *)&%s, 0, sizeof (%s));\n", ARG, ARG); -+ if (Cflag) -+ printif("getargs", TRANSP, "(caddr_t) &", ARG); -+ else -+ printif("getargs", TRANSP, "&", ARG); -+ printerr("decode", TRANSP); -+ print_return("\t\t"); -+ f_print(fout, "\t}\n"); -+ -+ if (Cflag) -+ f_print(fout, "\t%s = (*%s)((char *)&%s, %s);\n", -+ RESULT, ROUTINE, ARG, RQSTP); -+ else -+ f_print(fout, "\t%s = (*%s)(&%s, %s);\n", -+ RESULT, ROUTINE, ARG, RQSTP); -+ f_print(fout, -+ "\tif (%s != NULL && !svc_sendreply(%s, " -+ "(xdrproc_t) xdr_%s, %s)) {\n", -+ RESULT, TRANSP, RESULT, RESULT); -+ printerr("systemerr", TRANSP); -+ f_print(fout, "\t}\n"); -+ -+ if (Cflag) -+ printif("freeargs", TRANSP, "(caddr_t) &", ARG); -+ else -+ printif("freeargs", TRANSP, "&", ARG); -+ (void) sprintf(_errbuf, "unable to free arguments"); -+ print_err_message("\t\t"); -+ f_print(fout, "\t\texit(1);\n"); -+ f_print(fout, "\t}\n"); -+ print_return("\t"); -+ f_print(fout, "}\n"); -+ } -+} -+ -+static void -+printerr(char *err, char *transp) -+{ -+ f_print(fout, "\t\tsvcerr_%s(%s);\n", err, transp); -+} -+ -+static void -+printif(char *proc, char *transp, char *prefix, char *arg) -+{ -+ f_print(fout, "\tif (!svc_%s(%s, (xdrproc_t) xdr_%s, (caddr_t) %s%s)) {\n", -+ proc, transp, arg, prefix, arg); -+} -+ -+int -+nullproc(proc_list *proc) -+{ -+ for (; proc != NULL; proc = proc->next) { -+ if (streq(proc->proc_num, "0")) { -+ return (1); -+ } -+ } -+ return (0); -+} -+ -+static void -+write_inetmost(char *infile) -+{ -+ f_print(fout, "\tregister SVCXPRT *%s;\n", TRANSP); -+ f_print(fout, "\tint sock;\n"); -+ f_print(fout, "\tint proto;\n"); -+ f_print(fout, "\tstruct sockaddr_in saddr;\n"); -+ f_print(fout, "\tint asize = sizeof (saddr);\n"); -+ f_print(fout, "\n"); -+ f_print(fout, -+ "\tif (getsockname(0, (struct sockaddr *)&saddr, &asize) == 0) {\n"); -+ f_print(fout, "\t\tint ssize = sizeof (int);\n\n"); -+ f_print(fout, "\t\tif (saddr.sin_family != AF_INET)\n"); -+ f_print(fout, "\t\t\texit(1);\n"); -+ f_print(fout, "\t\tif (getsockopt(0, SOL_SOCKET, SO_TYPE,\n"); -+ f_print(fout, "\t\t\t\t(char *)&_rpcfdtype, &ssize) == -1)\n"); -+ f_print(fout, "\t\t\texit(1);\n"); -+ f_print(fout, "\t\tsock = 0;\n"); -+ f_print(fout, "\t\t_rpcpmstart = 1;\n"); -+ f_print(fout, "\t\tproto = 0;\n"); -+ open_log_file(infile, "\t\t"); -+ f_print(fout, "\t} else {\n"); -+ write_rpc_svc_fg(infile, "\t\t"); -+ f_print(fout, "\t\tsock = RPC_ANYSOCK;\n"); -+ print_pmapunset("\t\t"); -+ f_print(fout, "\t}\n"); -+} -+ -+static void -+print_return(char *space) -+{ -+ if (exitnow) -+ f_print(fout, "%sexit(0);\n", space); -+ else { -+ if (timerflag) -+ f_print(fout, "%s_rpcsvcdirty = 0;\n", space); -+ f_print(fout, "%sreturn;\n", space); -+ } -+} -+ -+static void -+print_pmapunset(char *space) -+{ -+ list *l; -+ definition *def; -+ version_list *vp; -+ -+ for (l = defined; l != NULL; l = l->next) { -+ def = (definition *) l->val; -+ if (def->def_kind == DEF_PROGRAM) { -+ for (vp = def->def.pr.versions; vp != NULL; -+ vp = vp->next) { -+ f_print(fout, "%s(void) pmap_unset(%s, %s);\n", -+ space, def->def_name, vp->vers_name); -+ } -+ } -+ } -+} -+ -+static void -+print_err_message(char *space) -+{ -+ if (logflag) -+ f_print(fout, "%ssyslog(LOG_ERR, \"%s\");\n", space, _errbuf); -+ else if (inetdflag || pmflag) -+ f_print(fout, "%s_msgout(\"%s\");\n", space, _errbuf); -+ else -+ f_print(fout, "%sfprintf(stderr, \"%s\");\n", space, _errbuf); -+} -+ -+/* -+ * Write the server auxiliary function ( _msgout, timeout) -+ */ -+void -+write_svc_aux(int nomain) -+{ -+ if (!logflag) -+ write_msg_out(); -+ if( !nomain ) -+ write_timeout_func(); -+} -+ -+/* -+ * Write the _msgout function -+ */ -+void -+write_msg_out(void) -+{ -+ f_print(fout, "\n"); -+ f_print(fout, "static\n"); -+ if( !Cflag ) { -+ f_print(fout, "void _msgout(msg)\n"); -+ f_print(fout, "\tchar *msg;\n"); -+ } else { -+ f_print(fout, "void _msgout(char* msg)\n"); -+ } -+ f_print(fout, "{\n"); -+ f_print(fout, "#ifdef RPC_SVC_FG\n"); -+ if (inetdflag || pmflag) -+ f_print(fout, "\tif (_rpcpmstart)\n"); -+ f_print(fout, "\t\tsyslog(LOG_ERR, \"%%s\", msg);\n"); -+ f_print(fout, "\telse\n"); -+ f_print(fout, "\t\t(void) fprintf(stderr, \"%%s\\n\", msg);\n"); -+ f_print(fout, "#else\n"); -+ f_print(fout, "\tsyslog(LOG_ERR, \"%%s\", msg);\n"); -+ f_print(fout, "#endif\n"); -+ f_print(fout, "}\n"); -+} -+ -+/* -+ * Write the timeout function -+ */ -+static void -+write_timeout_func(void) -+{ -+ if (!timerflag) -+ return; -+ f_print(fout, "\n"); -+ f_print(fout, "static void\n"); -+ f_print(fout, "closedown()\n"); -+ f_print(fout, "{\n"); -+ f_print(fout, "\tif (_rpcsvcdirty == 0) {\n"); -+ f_print(fout, "\t\tstatic int size;\n"); -+ f_print(fout, "\t\tint i, openfd;\n"); -+ if (tirpcflag && pmflag) { -+ f_print(fout, "\t\tstruct t_info tinfo;\n\n"); -+ f_print(fout, "\t\tif (!t_getinfo(0, &tinfo) && (tinfo.servtype == T_CLTS))\n"); -+ } else { -+ f_print(fout, "\n\t\tif (_rpcfdtype == SOCK_DGRAM)\n"); -+ } -+ f_print(fout, "\t\t\texit(0);\n"); -+ f_print(fout, "\t\tif (size == 0) {\n"); -+ if( tirpcflag ) { -+ f_print(fout, "\t\t\tstruct rlimit rl;\n\n"); -+ f_print(fout, "\t\t\trl.rlim_max = 0;\n"); -+ f_print(fout, "\t\t\tgetrlimit(RLIMIT_NOFILE, &rl);\n"); -+ f_print(fout, "\t\t\tif ((size = rl.rlim_max) == 0)\n"); -+ f_print(fout, "\t\t\t\treturn;\n"); -+ } else { -+ f_print(fout, "\t\t\tsize = getdtablesize();\n"); -+ } -+ f_print(fout, "\t\t}\n"); -+ f_print(fout, "\t\tfor (i = 0, openfd = 0; i < size && openfd < 2; i++)\n"); -+ f_print(fout, "\t\t\tif (FD_ISSET(i, &svc_fdset))\n"); -+ f_print(fout, "\t\t\t\topenfd++;\n"); -+ f_print(fout, "\t\tif (openfd <= 1)\n"); -+ f_print(fout, "\t\t\texit(0);\n"); -+ f_print(fout, "\t}\n"); -+ f_print(fout, "\t(void) alarm(_RPCSVC_CLOSEDOWN);\n"); -+ f_print(fout, "}\n"); -+} -+ -+/* -+ * Write the most of port monitor support -+ */ -+static void -+write_pm_most(char *infile, int netflag) -+{ -+ list *l; -+ definition *def; -+ version_list *vp; -+ -+ f_print(fout, "\tif (!ioctl(0, I_LOOK, mname) &&\n"); -+ f_print(fout, "\t\t(!strcmp(mname, \"sockmod\") ||"); -+ f_print(fout, " !strcmp(mname, \"timod\"))) {\n"); -+ f_print(fout, "\t\tchar *netid;\n"); -+ if (!netflag) { /* Not included by -n option */ -+ f_print(fout, "\t\tstruct netconfig *nconf = NULL;\n"); -+ f_print(fout, "\t\tSVCXPRT *%s;\n", TRANSP); -+ } -+ if( timerflag ) -+ f_print(fout, "\t\tint pmclose;\n"); -+/* not necessary, defined in /usr/include/stdlib */ -+/* f_print(fout, "\t\textern char *getenv();\n");*/ -+ f_print(fout, "\n"); -+ f_print(fout, "\t\t_rpcpmstart = 1;\n"); -+ if (logflag) -+ open_log_file(infile, "\t\t"); -+ f_print(fout, "\t\tif ((netid = getenv(\"NLSPROVIDER\")) == NULL) {\n"); -+ sprintf(_errbuf, "cannot get transport name"); -+ print_err_message("\t\t\t"); -+ f_print(fout, "\t\t} else if ((nconf = getnetconfigent(netid)) == NULL) {\n"); -+ sprintf(_errbuf, "cannot get transport info"); -+ print_err_message("\t\t\t"); -+ f_print(fout, "\t\t}\n"); -+ /* -+ * A kludgy support for inetd services. Inetd only works with -+ * sockmod, and RPC works only with timod, hence all this jugglery -+ */ -+ f_print(fout, "\t\tif (strcmp(mname, \"sockmod\") == 0) {\n"); -+ f_print(fout, "\t\t\tif (ioctl(0, I_POP, 0) || ioctl(0, I_PUSH, \"timod\")) {\n"); -+ sprintf(_errbuf, "could not get the right module"); -+ print_err_message("\t\t\t\t"); -+ f_print(fout, "\t\t\t\texit(1);\n"); -+ f_print(fout, "\t\t\t}\n"); -+ f_print(fout, "\t\t}\n"); -+ if( timerflag ) -+ f_print(fout, "\t\tpmclose = (t_getstate(0) != T_DATAXFER);\n"); -+ f_print(fout, "\t\tif ((%s = svc_tli_create(0, nconf, NULL, 0, 0)) == NULL) {\n", -+ TRANSP); -+ sprintf(_errbuf, "cannot create server handle"); -+ print_err_message("\t\t\t"); -+ f_print(fout, "\t\t\texit(1);\n"); -+ f_print(fout, "\t\t}\n"); -+ f_print(fout, "\t\tif (nconf)\n"); -+ f_print(fout, "\t\t\tfreenetconfigent(nconf);\n"); -+ for (l = defined; l != NULL; l = l->next) { -+ def = (definition *) l->val; -+ if (def->def_kind != DEF_PROGRAM) { -+ continue; -+ } -+ for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { -+ f_print(fout, -+ "\t\tif (!svc_reg(%s, %s, %s, ", -+ TRANSP, def->def_name, vp->vers_name); -+ pvname(def->def_name, vp->vers_num); -+ f_print(fout, ", 0)) {\n"); -+ (void) sprintf(_errbuf, "unable to register (%s, %s).", -+ def->def_name, vp->vers_name); -+ print_err_message("\t\t\t"); -+ f_print(fout, "\t\t\texit(1);\n"); -+ f_print(fout, "\t\t}\n"); -+ } -+ } -+ if (timerflag) { -+ f_print(fout, "\t\tif (pmclose) {\n"); -+ f_print(fout, "\t\t\t(void) signal(SIGALRM, %s closedown);\n", -+ Cflag? "(SIG_PF)" : "(void(*)())" ); -+ f_print(fout, "\t\t\t(void) alarm(_RPCSVC_CLOSEDOWN);\n"); -+ f_print(fout, "\t\t}\n"); -+ } -+ f_print(fout, "\t\tsvc_run();\n"); -+ f_print(fout, "\t\texit(1);\n"); -+ f_print(fout, "\t\t/* NOTREACHED */\n"); -+ f_print(fout, "\t}\n"); -+} -+ -+/* -+ * Support for backgrounding the server if self started. -+ */ -+static void -+write_rpc_svc_fg(char *infile, char *sp) -+{ -+ f_print(fout, "#ifndef RPC_SVC_FG\n"); -+ f_print(fout, "%sint size;\n", sp); -+ if( tirpcflag ) -+ f_print(fout, "%sstruct rlimit rl;\n", sp); -+ if (inetdflag) -+ f_print(fout, "%sint pid, i;\n\n", sp); -+ f_print(fout, "%spid = fork();\n", sp); -+ f_print(fout, "%sif (pid < 0) {\n", sp); -+ f_print(fout, "%s\tperror(\"cannot fork\");\n", sp); -+ f_print(fout, "%s\texit(1);\n", sp); -+ f_print(fout, "%s}\n", sp); -+ f_print(fout, "%sif (pid)\n", sp); -+ f_print(fout, "%s\texit(0);\n", sp); -+ /* get number of file descriptors */ -+ if( tirpcflag ) { -+ f_print(fout, "%srl.rlim_max = 0;\n", sp); -+ f_print(fout, "%sgetrlimit(RLIMIT_NOFILE, &rl);\n", sp); -+ f_print(fout, "%sif ((size = rl.rlim_max) == 0)\n", sp); -+ f_print(fout, "%s\texit(1);\n", sp); -+ } else { -+ f_print(fout, "%ssize = getdtablesize();\n", sp); -+ } -+ -+ f_print(fout, "%sfor (i = 0; i < size; i++)\n", sp); -+ f_print(fout, "%s\t(void) close(i);\n", sp); -+ /* Redirect stderr and stdout to console */ -+ f_print(fout, "%si = open(\"/dev/console\", 2);\n", sp); -+ f_print(fout, "%s(void) dup2(i, 1);\n", sp); -+ f_print(fout, "%s(void) dup2(i, 2);\n", sp); -+ /* This removes control of the controlling terminal */ -+ if( tirpcflag ) -+ f_print(fout, "%ssetsid();\n", sp); -+ else { -+ f_print(fout, "%si = open(\"/dev/tty\", 2);\n", sp); -+ f_print(fout, "%sif (i >= 0) {\n", sp); -+ f_print(fout, "%s\t(void) ioctl(i, TIOCNOTTY, (char *)NULL);\n", sp);; -+ f_print(fout, "%s\t(void) close(i);\n", sp); -+ f_print(fout, "%s}\n", sp); -+ } -+ if (!logflag) -+ open_log_file(infile, sp); -+ f_print(fout, "#endif\n"); -+ if (logflag) -+ open_log_file(infile, sp); -+} -+ -+static void -+open_log_file(char *infile, char *sp) -+{ -+ char *s; -+ -+ s = strrchr(infile, '.'); -+ if (s) -+ *s = '\0'; -+ f_print(fout,"%sopenlog(\"%s\", LOG_PID, LOG_DAEMON);\n", sp, infile); -+ if (s) -+ *s = '.'; -+} -+ -+ -+ -+ -+/* -+ * write a registration for the given transport for Inetd -+ */ -+void -+write_inetd_register(char *transp) -+{ -+ list *l; -+ definition *def; -+ version_list *vp; -+ char *sp; -+ int isudp; -+ char tmpbuf[32]; -+ -+ if (inetdflag) -+ sp = "\t"; -+ else -+ sp = ""; -+ if (streq(transp, "udp")) -+ isudp = 1; -+ else -+ isudp = 0; -+ f_print(fout, "\n"); -+ if (inetdflag) { -+ f_print(fout, "\tif ((_rpcfdtype == 0) || (_rpcfdtype == %s)) {\n", -+ isudp ? "SOCK_DGRAM" : "SOCK_STREAM"); -+ } -+ f_print(fout, "%s\t%s = svc%s_create(%s", -+ sp, TRANSP, transp, inetdflag? "sock": "RPC_ANYSOCK"); -+ if (!isudp) -+ f_print(fout, ", 0, 0"); -+ f_print(fout, ");\n"); -+ f_print(fout, "%s\tif (%s == NULL) {\n", sp, TRANSP); -+ (void) sprintf(_errbuf, "cannot create %s service.", transp); -+ (void) sprintf(tmpbuf, "%s\t\t", sp); -+ print_err_message(tmpbuf); -+ f_print(fout, "%s\t\texit(1);\n", sp); -+ f_print(fout, "%s\t}\n", sp); -+ -+ if (inetdflag) { -+ f_print(fout, "%s\tif (!_rpcpmstart)\n\t", sp); -+ f_print(fout, "%s\tproto = IPPROTO_%s;\n", -+ sp, isudp ? "UDP": "TCP"); -+ } -+ for (l = defined; l != NULL; l = l->next) { -+ def = (definition *) l->val; -+ if (def->def_kind != DEF_PROGRAM) { -+ continue; -+ } -+ for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { -+ f_print(fout, "%s\tif (!svc_register(%s, %s, %s, ", -+ sp, TRANSP, def->def_name, vp->vers_name); -+ pvname(def->def_name, vp->vers_num); -+ if (inetdflag) -+ f_print(fout, ", proto)) {\n"); -+ else -+ f_print(fout, ", IPPROTO_%s)) {\n", -+ isudp ? "UDP": "TCP"); -+ (void) sprintf(_errbuf, "unable to register (%s, %s, %s).", -+ def->def_name, vp->vers_name, transp); -+ print_err_message(tmpbuf); -+ f_print(fout, "%s\t\texit(1);\n", sp); -+ f_print(fout, "%s\t}\n", sp); -+ } -+ } -+ if (inetdflag) -+ f_print(fout, "\t}\n"); -+} -diff --git a/rpcgen/rpc_tblout.c b/rpcgen/rpc_tblout.c -new file mode 100644 -index 0000000..ae002f7 ---- /dev/null -+++ b/rpcgen/rpc_tblout.c -@@ -0,0 +1,165 @@ -+/* -+ * Copyright (c) 2009, Sun Microsystems, Inc. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the following disclaimer. -+ * - 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. -+ * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -+ */ -+ -+#if 0 -+static char sccsid[] = "@(#)rpc_tblout.c 1.4 89/02/22 (C) 1988 SMI"; -+#endif -+ -+/* -+ * rpc_tblout.c, Dispatch table outputter for the RPC protocol compiler -+ */ -+#include -+#include -+#include "rpc_parse.h" -+#include "rpc_util.h" -+#include "rpc_output.h" -+ -+static void write_table(definition *def); -+static void printit(char *prefix, char *type); -+ -+#define TABSIZE 8 -+#define TABCOUNT 5 -+#define TABSTOP (TABSIZE*TABCOUNT) -+ -+static char tabstr[TABCOUNT+1] = "\t\t\t\t\t"; -+ -+static char tbl_hdr[] = "struct rpcgen_table %s_table[] = {\n"; -+static char tbl_end[] = "};\n"; -+ -+static char null_entry[] = "\n\t(char *(*)())0,\n\ -+ \t(xdrproc_t) xdr_void,\t\t\t0,\n\ -+ \t(xdrproc_t) xdr_void,\t\t\t0,\n"; -+ -+ -+static char tbl_nproc[] = "int %s_nproc =\n\tsizeof(%s_table)/sizeof(%s_table[0]);\n\n"; -+ -+void -+write_tables(void) -+{ -+ list *l; -+ definition *def; -+ -+ f_print(fout, "\n"); -+ for (l = defined; l != NULL; l = l->next) { -+ def = (definition *) l->val; -+ if (def->def_kind == DEF_PROGRAM) { -+ write_table(def); -+ } -+ } -+} -+ -+static void -+write_table(definition *def) -+{ -+ version_list *vp; -+ proc_list *proc; -+ int current; -+ int expected; -+ char progvers[100]; -+ int warning; -+ -+ for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { -+ warning = 0; -+ s_print(progvers, "%s_%s", -+ locase(def->def_name), vp->vers_num); -+ /* print the table header */ -+ f_print(fout, tbl_hdr, progvers); -+ -+ if (nullproc(vp->procs)) { -+ expected = 0; -+ } else { -+ expected = 1; -+ f_print(fout, null_entry); -+ } -+ for (proc = vp->procs; proc != NULL; proc = proc->next) { -+ current = atoi(proc->proc_num); -+ if (current != expected++) { -+ f_print(fout, -+ "\n/*\n * WARNING: table out of order\n */\n"); -+ if (warning == 0) { -+ f_print(stderr, -+ "WARNING %s table is out of order\n", -+ progvers); -+ warning = 1; -+ nonfatalerrors = 1; -+ } -+ expected = current + 1; -+ } -+ f_print(fout, "\n\t(char *(*)())RPCGEN_ACTION("); -+ -+ /* routine to invoke */ -+ if( Cflag && !newstyle ) -+ pvname_svc(proc->proc_name, vp->vers_num); -+ else { -+ if( newstyle ) -+ f_print( fout, "_"); /* calls internal func */ -+ pvname(proc->proc_name, vp->vers_num); -+ } -+ f_print(fout, "),\n"); -+ -+ /* argument info */ -+ if( proc->arg_num > 1 ) -+ printit((char*) NULL, proc->args.argname ); -+ else -+ /* do we have to do something special for newstyle */ -+ printit( proc->args.decls->decl.prefix, -+ proc->args.decls->decl.type ); -+ /* result info */ -+ printit(proc->res_prefix, proc->res_type); -+ } -+ -+ /* print the table trailer */ -+ f_print(fout, tbl_end); -+ f_print(fout, tbl_nproc, progvers, progvers, progvers); -+ } -+} -+ -+static void -+printit(char *prefix, char *type) -+{ -+ int len; -+ int tabs; -+ -+ -+ len = fprintf(fout, "\txdr_%s,", stringfix(type)); -+ /* account for leading tab expansion */ -+ len += TABSIZE - 1; -+ /* round up to tabs required */ -+ tabs = (TABSTOP - len + TABSIZE - 1)/TABSIZE; -+ f_print(fout, "%s", &tabstr[TABCOUNT-tabs]); -+ -+ if (streq(type, "void")) { -+ f_print(fout, "0"); -+ } else { -+ f_print(fout, "sizeof ( "); -+ /* XXX: should "follow" be 1 ??? */ -+ ptype(prefix, type, 0); -+ f_print(fout, ")"); -+ } -+ f_print(fout, ",\n"); -+} -diff --git a/rpcgen/rpc_util.c b/rpcgen/rpc_util.c -new file mode 100644 -index 0000000..b67be57 ---- /dev/null -+++ b/rpcgen/rpc_util.c -@@ -0,0 +1,479 @@ -+/* -+ * Copyright (c) 2009, Sun Microsystems, Inc. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the following disclaimer. -+ * - 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. -+ * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -+ */ -+ -+#if 0 -+static char sccsid[] = "@(#)rpc_util.c 1.11 89/02/22 (C) 1987 SMI"; -+#endif -+ -+/* -+ * rpc_util.c, Utility routines for the RPC protocol compiler -+ */ -+#include -+#include -+#include -+#include -+#include "rpc_scan.h" -+#include "rpc_parse.h" -+#include "rpc_util.h" -+ -+static void printwhere(void); -+ -+ -+#define ARGEXT "argument" -+ -+char curline[MAXLINESIZE]; /* current read line */ -+char *where = curline; /* current point in line */ -+int linenum = 0; /* current line number */ -+ -+char *infilename; /* input filename */ -+ -+#define NFILES 7 -+char *outfiles[NFILES]; /* output file names */ -+int nfiles; -+ -+FILE *fout; /* file pointer of current output */ -+FILE *fin; /* file pointer of current input */ -+ -+list *defined; /* list of defined things */ -+ -+/* -+ * Reinitialize the world -+ */ -+void -+reinitialize(void) -+{ -+ memset(curline, 0, MAXLINESIZE); -+ where = curline; -+ linenum = 0; -+ defined = NULL; -+} -+ -+/* -+ * string equality -+ */ -+int -+streq(char *a, char *b) -+{ -+ return (strcmp(a, b) == 0); -+} -+ -+/* -+ * find a value in a list -+ */ -+definition * -+findval(list *lst, char *val, int (*cmp)(definition *, char *)) -+{ -+ -+ for (; lst != NULL; lst = lst->next) { -+ if ((*cmp) (lst->val, val)) { -+ return (lst->val); -+ } -+ } -+ return (NULL); -+} -+ -+/* -+ * store a value in a list -+ */ -+void -+storeval(lstp, val) -+ list **lstp; -+ definition *val; -+{ -+ list **l; -+ list *lst; -+ -+ -+ for (l = lstp; *l != NULL; l = (list **) & (*l)->next); -+ lst = ALLOC(list); -+ lst->val = val; -+ lst->next = NULL; -+ *l = lst; -+} -+ -+static int -+findit(definition *def, char *type) -+{ -+ return (streq(def->def_name, type)); -+} -+ -+static char * -+fixit(char *type, char *orig) -+{ -+ definition *def; -+ -+ def = (definition *) FINDVAL(defined, type, findit); -+ if (def == NULL || def->def_kind != DEF_TYPEDEF) { -+ return (orig); -+ } -+ switch (def->def.ty.rel) { -+ case REL_VECTOR: -+ return (def->def.ty.old_type); -+ case REL_ALIAS: -+ return (fixit(def->def.ty.old_type, orig)); -+ default: -+ return (orig); -+ } -+} -+ -+char * -+fixtype(char *type) -+{ -+ return (fixit(type, type)); -+} -+ -+char * -+stringfix(char *type) -+{ -+ if (streq(type, "string")) { -+ return ("wrapstring"); -+ } else { -+ return (type); -+ } -+} -+ -+void -+ptype(char *prefix, char *type, int follow) -+{ -+ if (prefix != NULL) { -+ if (streq(prefix, "enum")) { -+ f_print(fout, "enum "); -+ } else { -+ f_print(fout, "struct "); -+ } -+ } -+ if (streq(type, "bool")) { -+ f_print(fout, "bool_t "); -+ } else if (streq(type, "string")) { -+ f_print(fout, "char *"); -+ } else { -+ f_print(fout, "%s ", follow ? fixtype(type) : type); -+ } -+} -+ -+static int -+typedefed(definition *def, char *type) -+{ -+ if (def->def_kind != DEF_TYPEDEF || def->def.ty.old_prefix != NULL) { -+ return (0); -+ } else { -+ return (streq(def->def_name, type)); -+ } -+} -+ -+int -+isvectordef(char *type, relation rel) -+{ -+ definition *def; -+ -+ for (;;) { -+ switch (rel) { -+ case REL_VECTOR: -+ return (!streq(type, "string")); -+ case REL_ARRAY: -+ return (0); -+ case REL_POINTER: -+ return (0); -+ case REL_ALIAS: -+ def = (definition *) FINDVAL(defined, type, typedefed); -+ if (def == NULL) { -+ return (0); -+ } -+ type = def->def.ty.old_type; -+ rel = def->def.ty.rel; -+ } -+ } -+} -+ -+char * -+locase(char *str) -+{ -+ char c; -+ static char buf[100]; -+ char *p = buf; -+ -+ while ((c = *str++) != '\0') { -+ *p++ = (c >= 'A' && c <= 'Z') ? (c - 'A' + 'a') : c; -+ } -+ *p = 0; -+ return (buf); -+} -+ -+void -+pvname_svc(char *pname, char *vnum) -+{ -+ f_print(fout, "%s_%s_svc", locase(pname), vnum); -+} -+ -+void -+pvname(char *pname, char *vnum) -+{ -+ f_print(fout, "%s_%s", locase(pname), vnum); -+} -+ -+/* -+ * print a useful (?) error message, and then die -+ */ -+void -+error(char *msg) -+{ -+ printwhere(); -+ f_print(stderr, "%s, line %d: ", infilename, linenum); -+ f_print(stderr, "%s\n", msg); -+ crash(); -+} -+ -+/* -+ * Something went wrong, unlink any files that we may have created and then -+ * die. -+ */ -+void -+crash(void) -+{ -+ int i; -+ -+ for (i = 0; i < nfiles; i++) { -+ (void) unlink(outfiles[i]); -+ } -+ exit(1); -+} -+ -+void -+record_open(char *file) -+{ -+ if (nfiles < NFILES) { -+ outfiles[nfiles++] = file; -+ } else { -+ f_print(stderr, "too many files!\n"); -+ crash(); -+ } -+} -+ -+static char expectbuf[100]; -+static char *toktostr(); -+ -+/* -+ * error, token encountered was not the expected one -+ */ -+void -+expected1(exp1) -+ tok_kind exp1; -+{ -+ s_print(expectbuf, "expected '%s'", -+ toktostr(exp1)); -+ error(expectbuf); -+} -+ -+/* -+ * error, token encountered was not one of two expected ones -+ */ -+void -+expected2(exp1, exp2) -+ tok_kind exp1, exp2; -+{ -+ s_print(expectbuf, "expected '%s' or '%s'", -+ toktostr(exp1), -+ toktostr(exp2)); -+ error(expectbuf); -+} -+ -+/* -+ * error, token encountered was not one of 3 expected ones -+ */ -+void -+expected3(exp1, exp2, exp3) -+ tok_kind exp1, exp2, exp3; -+{ -+ s_print(expectbuf, "expected '%s', '%s' or '%s'", -+ toktostr(exp1), -+ toktostr(exp2), -+ toktostr(exp3)); -+ error(expectbuf); -+} -+ -+void -+tabify(f, tab) -+ FILE *f; -+ int tab; -+{ -+ while (tab--) { -+ (void) fputc('\t', f); -+ } -+} -+ -+ -+static token tokstrings[] = { -+ {TOK_IDENT, "identifier"}, -+ {TOK_CONST, "const"}, -+ {TOK_RPAREN, ")"}, -+ {TOK_LPAREN, "("}, -+ {TOK_RBRACE, "}"}, -+ {TOK_LBRACE, "{"}, -+ {TOK_LBRACKET, "["}, -+ {TOK_RBRACKET, "]"}, -+ {TOK_STAR, "*"}, -+ {TOK_COMMA, ","}, -+ {TOK_EQUAL, "="}, -+ {TOK_COLON, ":"}, -+ {TOK_SEMICOLON, ";"}, -+ {TOK_UNION, "union"}, -+ {TOK_STRUCT, "struct"}, -+ {TOK_SWITCH, "switch"}, -+ {TOK_CASE, "case"}, -+ {TOK_DEFAULT, "default"}, -+ {TOK_ENUM, "enum"}, -+ {TOK_TYPEDEF, "typedef"}, -+ {TOK_INT, "int"}, -+ {TOK_SHORT, "short"}, -+ {TOK_INT32, "int32"}, -+ {TOK_UNSIGNED, "unsigned"}, -+ {TOK_DOUBLE, "double"}, -+ {TOK_FLOAT, "float"}, -+ {TOK_CHAR, "char"}, -+ {TOK_STRING, "string"}, -+ {TOK_OPAQUE, "opaque"}, -+ {TOK_BOOL, "bool"}, -+ {TOK_VOID, "void"}, -+ {TOK_PROGRAM, "program"}, -+ {TOK_VERSION, "version"}, -+ {TOK_EOF, "??????"} -+}; -+ -+static char * -+toktostr(kind) -+ tok_kind kind; -+{ -+ token *sp; -+ -+ for (sp = tokstrings; sp->kind != TOK_EOF && sp->kind != kind; sp++); -+ return (sp->str); -+} -+ -+static void -+printbuf(void) -+{ -+ char c; -+ int i; -+ int cnt; -+ -+# define TABSIZE 4 -+ -+ for (i = 0; (c = curline[i]) != '\0'; i++) { -+ if (c == '\t') { -+ cnt = 8 - (i % TABSIZE); -+ c = ' '; -+ } else { -+ cnt = 1; -+ } -+ while (cnt--) { -+ (void) fputc(c, stderr); -+ } -+ } -+} -+ -+static void -+printwhere(void) -+{ -+ int i; -+ char c; -+ int cnt; -+ -+ printbuf(); -+ for (i = 0; i < where - curline; i++) { -+ c = curline[i]; -+ if (c == '\t') { -+ cnt = 8 - (i % TABSIZE); -+ } else { -+ cnt = 1; -+ } -+ while (cnt--) { -+ (void) fputc('^', stderr); -+ } -+ } -+ (void) fputc('\n', stderr); -+} -+ -+char * -+make_argname(char *pname, char *vname) -+{ -+ char *name; -+ -+ name = malloc(strlen(pname) + strlen(vname) + strlen(ARGEXT) + 3); -+ if (!name) { -+ fprintf(stderr, "failed in malloc"); -+ exit(1); -+ } -+ sprintf(name, "%s_%s_%s", locase(pname), vname, ARGEXT); -+ return(name); -+} -+ -+bas_type *typ_list_h; -+bas_type *typ_list_t; -+ -+void -+add_type(int len, char *type) -+{ -+ bas_type *ptr; -+ -+ -+ if ((ptr = (bas_type *) malloc(sizeof(bas_type))) == (bas_type *) NULL) { -+ fprintf(stderr, "failed in malloc"); -+ exit(1); -+ } -+ ptr->name = type; -+ ptr->length = len; -+ ptr->next = NULL; -+ if (typ_list_t == NULL) { -+ -+ typ_list_t = ptr; -+ typ_list_h = ptr; -+ } else { -+ -+ typ_list_t->next = ptr; -+ typ_list_t = ptr; -+ } -+} -+ -+ -+bas_type * -+find_type(char *type) -+{ -+ bas_type *ptr; -+ -+ ptr = typ_list_h; -+ -+ -+ while (ptr != NULL) { -+ if (strcmp(ptr->name, type) == 0) -+ return (ptr); -+ else -+ ptr = ptr->next; -+ }; -+ return (NULL); -+} -+ -diff --git a/rpcgen/rpc_util.h b/rpcgen/rpc_util.h -new file mode 100644 -index 0000000..fa115be ---- /dev/null -+++ b/rpcgen/rpc_util.h -@@ -0,0 +1,166 @@ -+/* -+ * Copyright (c) 2009, Sun Microsystems, Inc. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the following disclaimer. -+ * - 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. -+ * - Neither the name of Sun Microsystems, Inc. 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. -+ */ -+ -+/* @(#)rpc_util.h 1.5 90/08/29 (C) 1987 SMI */ -+ -+/* -+ * rpc_util.h, Useful definitions for the RPC protocol compiler -+ */ -+ -+#include -+ -+#define alloc(size) malloc((unsigned)(size)) -+#define ALLOC(object) (object *) malloc(sizeof(object)) -+ -+#define s_print (void) sprintf -+#define f_print (void) fprintf -+ -+struct list { -+ definition *val; -+ struct list *next; -+}; -+typedef struct list list; -+ -+#define PUT 1 -+#define GET 2 -+ -+/* -+ * Global variables -+ */ -+#define MAXLINESIZE 1024 -+extern char curline[MAXLINESIZE]; -+extern char *where; -+extern int linenum; -+ -+extern char *infilename; -+extern FILE *fout; -+extern FILE *fin; -+ -+extern list *defined; -+ -+ -+extern bas_type *typ_list_h; -+extern bas_type *typ_list_t; -+ -+/* -+ * All the option flags -+ */ -+extern int inetdflag; -+extern int pmflag; -+extern int tblflag; -+extern int logflag; -+extern int newstyle; -+extern int Cflag; /* C++ flag */ -+extern int tirpcflag; /* flag for generating tirpc code */ -+extern int Inline; /* if this is 0, then do not generate inline code */ -+ -+/* -+ * Other flags related with inetd jumpstart. -+ */ -+extern int indefinitewait; -+extern int exitnow; -+extern int timerflag; -+ -+extern int nonfatalerrors; -+ -+/* -+ * rpc_util routines -+ */ -+void storeval(); -+ -+#define STOREVAL(list,item) \ -+ storeval(list,item) -+ -+definition *findval(); -+ -+#define FINDVAL(list,item,finder) \ -+ findval(list, item, finder) -+ -+ -+/* -+ * rpc_cout routines -+ */ -+void cprint(void); -+void emit(definition *); -+ -+/* -+ * rpc_hout routines -+ */ -+void print_datadef(definition *); -+void print_funcdef(definition *); -+ -+/* -+ * rpc_svcout routines -+ */ -+void write_most(char *, int, int); -+void write_register(void); -+void write_netid_register(char *); -+void write_nettype_register(char *); -+void write_inetd_register(char *); -+void write_rest(void); -+void write_programs(char *); -+void write_svc_aux(int); -+ -+/* -+ * rpc_clntout routines -+ */ -+void write_stubs(void); -+void printarglist(proc_list *, char *, char *); -+ -+/* -+ * rpc_tblout routines -+ */ -+void write_tables(void); -+ -+/* -+ * rpc_util -+ */ -+void pvname_svc(char *, char *); -+void pvname(char *, char *); -+void ptype(char *, char *, int); -+char * make_argname(char *, char *); -+void add_type(int, char *); -+void reinitialize(void); -+void crash(void); -+void error(char *); -+char *fixtype(char *); -+char *stringfix(char *); -+char *locase(char *); -+int isvectordef(char *, relation); -+int streq(char *, char *); -+void tabify(FILE *, int); -+void record_open(char *); -+bas_type *find_type(char *type); -+ -+/* -+ * rpc_sample -+ */ -+void write_sample_svc(definition *); -+int write_sample_clnt(definition *); -+void write_sample_clnt_main(void); -+void add_sample_msg(void); -diff --git a/rpcgen/rpcgen.1 b/rpcgen/rpcgen.1 -new file mode 100644 -index 0000000..89df7ed ---- /dev/null -+++ b/rpcgen/rpcgen.1 -@@ -0,0 +1,521 @@ -+.\" @(#)rpcgen.1 1.35 93/06/02 SMI -+.\" $FreeBSD: src/usr.bin/rpcgen/rpcgen.1,v 1.12.2.4 2002/06/21 15:28:50 charnier Exp $ -+.\" Copyright 1985-1993 Sun Microsystems, Inc. -+.Dd March 28, 1993 -+.Dt RPCGEN 1 -+.Os -+.Sh NAME -+.Nm rpcgen -+.Nd an RPC protocol compiler -+.Sh SYNOPSIS -+.Nm -+.Ar infile -+.Nm -+.Op Fl a -+.Op Fl b -+.Op Fl C -+.Oo -+.Fl D Ns Ar name Ns Op Ar =value -+.Oc -+.Op Fl i Ar size -+.Op Fl I Op Fl K Ar seconds -+.Op Fl L -+.Op Fl M -+.Op Fl N -+.Op Fl T -+.Op Fl Y Ar pathname -+.Ar infile -+.Nm -+.Oo -+.Fl c | -+.Fl h | -+.Fl l | -+.Fl m | -+.Fl t | -+.Fl \&Sc | -+.Fl \&Ss | -+.Fl \&Sm -+.Oc -+.Op Fl o Ar outfile -+.Op Ar infile -+.Nm -+.Op Fl s Ar nettype -+.Op Fl o Ar outfile -+.Op Ar infile -+.Nm -+.Op Fl n Ar netid -+.Op Fl o Ar outfile -+.Op Ar infile -+.\" .SH AVAILABILITY -+.\" .LP -+.\" SUNWcsu -+.Sh DESCRIPTION -+The -+.Nm -+utility is a tool that generates C code to implement an -+.Tn RPC -+protocol. -+The input to -+.Nm -+is a language similar to C known as -+.Tn RPC -+Language (Remote Procedure Call Language). -+.Pp -+The -+.Nm -+utility is normally used as in the first synopsis where -+it takes an input file and generates three output files. -+If the -+.Ar infile -+is named -+.Pa proto.x , -+then -+.Nm -+generates a header in -+.Pa proto.h , -+XDR routines in -+.Pa proto_xdr.c , -+server-side stubs in -+.Pa proto_svc.c , -+and client-side stubs in -+.Pa proto_clnt.c . -+With the -+.Fl T -+option, -+it also generates the -+.Tn RPC -+dispatch table in -+.Pa proto_tbl.i . -+.Pp -+The -+.Nm -+utility can also generate sample client and server files -+that can be customized to suit a particular application. -+The -+.Fl \&Sc , -+.Fl \&Ss -+and -+.Fl \&Sm -+options generate sample client, server and makefile, respectively. -+The -+.Fl a -+option generates all files, including sample files. -+If the -+.Ar infile -+is -+.Pa proto.x , -+then the client side sample file is written to -+.Pa proto_client.c , -+the server side sample file to -+.Pa proto_server.c -+and the sample makefile to -+.Pa makefile.proto . -+.Pp -+The server created can be started both by the port monitors -+(for example, -+.Xr inetd 8 ) -+or by itself. -+When it is started by a port monitor, -+it creates servers only for the transport for which -+the file descriptor -+.Em 0 -+was passed. -+The name of the transport must be specified -+by setting up the environment variable -+.Ev PM_TRANSPORT . -+When the server generated by -+.Nm -+is executed, -+it creates server handles for all the transports -+specified in -+.Ev NETPATH -+environment variable, -+or if it is unset, -+it creates server handles for all the visible transports from -+.Pa /etc/netconfig -+file. -+Note: -+the transports are chosen at run time and not at compile time. -+When the server is self-started, -+it backgrounds itself by default. -+A special define symbol -+.Em RPC_SVC_FG -+can be used to run the server process in foreground. -+.Pp -+The second synopsis provides special features which allow -+for the creation of more sophisticated -+.Tn RPC -+servers. -+These features include support for user provided -+.Em #defines -+and -+.Tn RPC -+dispatch tables. -+The entries in the -+.Tn RPC -+dispatch table contain: -+.Bl -bullet -offset indent -compact -+.It -+pointers to the service routine corresponding to that procedure, -+.It -+a pointer to the input and output arguments, -+.It -+the size of these routines. -+.El -+A server can use the dispatch table to check authorization -+and then to execute the service routine; -+a client library may use it to deal with the details of storage -+management and XDR data conversion. -+.Pp -+The other three synopses shown above are used when -+one does not want to generate all the output files, -+but only a particular one. -+See the -+.Sx EXAMPLES -+section below for examples of -+.Nm -+usage. -+When -+.Nm -+is executed with the -+.Fl s -+option, -+it creates servers for that particular class of transports. -+When -+executed with the -+.Fl n -+option, -+it creates a server for the transport specified by -+.Ar netid . -+If -+.Ar infile -+is not specified, -+.Nm -+accepts the standard input. -+.Pp -+The C preprocessor, -+.Em cc -E -+is run on the input file before it is actually interpreted by -+.Nm . -+For each type of output file, -+.Nm -+defines a special preprocessor symbol for use by the -+.Nm -+programmer: -+.Bl -tag -width indent -+.It RPC_HDR -+defined when compiling into headers -+.It RPC_XDR -+defined when compiling into XDR routines -+.It RPC_SVC -+defined when compiling into server-side stubs -+.It RPC_CLNT -+defined when compiling into client-side stubs -+.It RPC_TBL -+defined when compiling into RPC dispatch tables -+.El -+.Pp -+Any line beginning with -+.Dq % -+is passed directly into the output file, -+uninterpreted by -+.Nm . -+To specify the path name of the C preprocessor use -+.Fl Y -+flag. -+.Pp -+For every data type referred to in -+.Ar infile , -+.Nm -+assumes that there exists a -+routine with the string -+.Em xdr_ -+prepended to the name of the data type. -+If this routine does not exist in the -+.Tn RPC/XDR -+library, it must be provided. -+Providing an undefined data type -+allows customization of -+.Xr xdr 3 -+routines. -+.Sh OPTIONS -+The following options are available: -+.Bl -tag -width indent -+.It Fl a -+Generate all files, including sample files. -+.It Fl b -+Backward compatibility mode. -+Generate transport specific -+.Tn RPC -+code for older versions -+of the operating system. -+.Pp -+Note: in -+.Fx , -+this compatibility flag is turned on by -+default since -+.Fx -+supports only the older -+.Tn ONC RPC -+library. -+.It Fl c -+Compile into -+.Tn XDR -+routines. -+.It Fl C -+Generate header and stub files which can be used with -+.Tn ANSI -+C compilers. Headers generated with this flag can also be -+used with C++ programs. -+.It Fl D Ns Ar name -+.It Fl D Ns Ar name=value -+.\".It Fl D Ns Ar name Ns Op Ar =value -+Define a symbol -+.Ar name . -+Equivalent to the -+.Em #define -+directive in the source. -+If no -+.Ar value -+is given, -+.Ar value -+is defined as -+.Em 1 . -+This option may be specified more than once. -+.It Fl h -+Compile into C data-definitions (a header). -+.Fl T -+option can be used in conjunction to produce a -+header which supports -+.Tn RPC -+dispatch tables. -+.It Fl i Ar size -+Size at which to start generating inline code. -+This option is useful for optimization. -+The default size is 5. -+.Pp -+Note: in order to provide backwards compatibility with the older -+.Nm -+on the -+.Fx -+platform, the default is actually 0 (which means -+that inline code generation is disabled by default). You must specify -+a non-zero value explicitly to override this default. -+.It Fl I -+Compile support for -+.Xr inetd 8 -+in the server side stubs. -+Such servers can be self-started or can be started by -+.Nm inetd . -+When the server is self-started, it backgrounds itself by default. -+A special define symbol -+.Em RPC_SVC_FG -+can be used to run the -+server process in foreground, or the user may simply compile without -+the -+.Fl I -+option. -+.Pp -+If there are no pending client requests, the -+.Nm inetd -+servers exit after 120 seconds (default). -+The default can be changed with the -+.Fl K -+option. -+All the error messages for -+.Nm inetd -+servers -+are always logged with -+.Xr syslog 3 . -+.\" .IP -+.\" Note: -+.\" this option is supported for backward compatibility only. -+.\" By default, -+.\" .B rpcgen -+.\" generates servers that can be invoked through portmonitors. -+.Pp -+.It Fl K Ar seconds -+By default, services created using -+.Nm -+and invoked through -+port monitors wait 120 seconds -+after servicing a request before exiting. -+That interval can be changed using the -+.Fl K -+flag. -+To create a server that exits immediately upon servicing a request, -+use -+.Fl K Ar 0 . -+To create a server that never exits, the appropriate argument is -+.Fl k Ar -1 . -+.Pp -+When monitoring for a server, -+some portmonitors -+.Em always -+spawn a new process in response to a service request. -+If it is known that a server will be used with such a monitor, the -+server should exit immediately on completion. -+For such servers, -+.Nm -+should be used with -+.Fl K Ar 0 . -+.It Fl l -+Compile into client-side stubs. -+.It Fl L -+When the servers are started in foreground, use -+.Xr syslog 3 -+to log the server errors instead of printing them on the standard -+error. -+.It Fl m -+Compile into server-side stubs, -+but do not generate a -+.Qq main -+routine. -+This option is useful for doing callback-routines -+and for users who need to write their own -+.Qq main -+routine to do initialization. -+.It Fl M -+Generate multithread-safe stubs for passing arguments and results between -+rpcgen generated code and user written code. -+This option is useful -+for users who want to use threads in their code. -+However, the -+.Xr rpc_svc_calls 3 -+functions are not yet MT-safe, which means that rpcgen generated server-side -+code will not be MT-safe. -+.It Fl N -+This option allows procedures to have multiple arguments. -+It also uses the style of parameter passing that closely resembles C. -+So, when passing an argument to a remote procedure, you do not have to -+pass a pointer to the argument, but can pass the argument itself. -+This behavior is different from the old style of -+.Nm -+generated code. -+To maintain backward compatibility, -+this option is not the default. -+.It Fl n Ar netid -+Compile into server-side stubs for the transport -+specified by -+.Ar netid . -+There should be an entry for -+.Ar netid -+in the -+netconfig database. -+This option may be specified more than once, -+so as to compile a server that serves multiple transports. -+.It Fl o Ar outfile -+Specify the name of the output file. -+If none is specified, -+standard output is used -+( -+.Fl c , -+.Fl h , -+.Fl l , -+.Fl m , -+.Fl n , -+.Fl s , -+.Fl \&Sc , -+.Fl \&Sm , -+.Fl \&Ss , -+and -+.Fl t -+modes only). -+.It Fl s Ar nettype -+Compile into server-side stubs for all the -+transports belonging to the class -+.Ar nettype . -+The supported classes are -+.Em netpath , -+.Em visible , -+.Em circuit_n , -+.Em circuit_v , -+.Em datagram_n , -+.Em datagram_v , -+.Em tcp , -+and -+.Em udp -+(see -+.Xr rpc 3 -+for the meanings associated with these classes). -+This option may be specified more than once. -+Note: -+the transports are chosen at run time and not at compile time. -+.It Fl \&Sc -+Generate sample client code that uses remote procedure calls. -+.It Fl \&Sm -+Generate a sample -+.Pa Makefile -+which can be used for compiling the application. -+.It Fl \&Ss -+Generate sample server code that uses remote procedure calls. -+.It Fl t -+Compile into -+.Tn RPC -+dispatch table. -+.It Fl T -+Generate the code to support -+.Tn RPC -+dispatch tables. -+.Pp -+The options -+.Fl c , -+.Fl h , -+.Fl l , -+.Fl m , -+.Fl s , -+.Fl \&Sc , -+.Fl \&Sm , -+.Fl \&Ss , -+and -+.Fl t -+are used exclusively to generate a particular type of file, -+while the options -+.Fl D -+and -+.Fl T -+are global and can be used with the other options. -+.It Fl Y Ar pathname -+Give the name of the directory where -+.Nm -+will start looking for the C-preprocessor. -+.El -+.Sh EXAMPLES -+The following example: -+.Dl example% rpcgen -T prot.x -+.Pp -+generates all the five files: -+.Pa prot.h , -+.Pa prot_clnt.c , -+.Pa prot_svc.c , -+.Pa prot_xdr.c -+and -+.Pa prot_tbl.i . -+.Pp -+The following example sends the C data-definitions (header) -+to the standard output. -+.Dl example% rpcgen -h prot.x -+.Pp -+To send the test version of the -+.Fl D Ns Ar TEST , -+server side stubs for -+all the transport belonging to the class -+.Ar datagram_n -+to standard output, use: -+.Dl example% rpcgen -s datagram_n -DTEST prot.x -+.Pp -+To create the server side stubs for the transport indicated -+by -+.Ar netid -+tcp, -+use: -+.Dl example% rpcgen -n tcp -o prot_svc.c prot.x -+.Sh SEE ALSO -+.Xr cc 1 , -+.Xr rpc 3 , -+.Xr syslog 3 , -+.Xr inetd 8 -+.\" .BR rpc_svc_calls (3) -+.Rs -+.%T The rpcgen chapter in the NETP manual -+.Re --- -1.9.1 - diff --git a/package/libtirpc/0004-Automatically-generate-XDR-header-files-from-.x-sour.patch b/package/libtirpc/0003-Automatically-generate-XDR-header-files-from-.x-sour.patch similarity index 98% rename from package/libtirpc/0004-Automatically-generate-XDR-header-files-from-.x-sour.patch rename to package/libtirpc/0003-Automatically-generate-XDR-header-files-from-.x-sour.patch index e302c5d1ce..2712f53c38 100644 --- a/package/libtirpc/0004-Automatically-generate-XDR-header-files-from-.x-sour.patch +++ b/package/libtirpc/0003-Automatically-generate-XDR-header-files-from-.x-sour.patch @@ -1,4 +1,4 @@ -From eba198c27f2b8d3f0b27ea4a42f3dc79d397440c Mon Sep 17 00:00:00 2001 +From 001e3f26dc80b8f21bed7d9b5872fe10e8b4af04 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 10 Nov 2012 17:29:53 +0100 Subject: [PATCH] Automatically generate XDR header files from .x sources using @@ -8,21 +8,23 @@ Subject: [PATCH] Automatically generate XDR header files from .x sources using Signed-off-by: Thomas Petazzoni [yann.morin.1998@free.fr: update for 0.3.1] Signed-off-by: "Yann E. MORIN" +[baruch: use external rpcgen] +Signed-off-by: Baruch Siach --- - Makefile.am | 19 +- + Makefile.am | 16 +- src/Makefile.am | 2 +- - tirpc/rpc/rpcb_prot.h | 797 -------------------------------------------------- - tirpc/rpcsvc/crypt.h | 109 ------- - 4 files changed, 17 insertions(+), 910 deletions(-) + tirpc/rpc/rpcb_prot.h | 797 ------------------------------------------ + tirpc/rpcsvc/crypt.h | 109 ------ + 4 files changed, 14 insertions(+), 910 deletions(-) delete mode 100644 tirpc/rpc/rpcb_prot.h delete mode 100644 tirpc/rpcsvc/crypt.h diff --git a/Makefile.am b/Makefile.am -index 8558289..aa5908e 100644 +index 3f6063771faf..368fb8a1aed2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,9 @@ - SUBDIRS = src man doc rpcgen + SUBDIRS = src man doc ACLOCAL_AMFLAGS = -I m4 +GENFILES = tirpc/rpcsvc/crypt.h \ @@ -39,7 +41,7 @@ index 8558289..aa5908e 100644 tirpc/rpc/xdr.h \ tirpc/rpc/types.h \ tirpc/rpc/svc_soc.h \ -@@ -20,7 +22,6 @@ nobase_include_HEADERS = tirpc/netconfig.h \ +@@ -21,7 +23,6 @@ nobase_include_HEADERS = tirpc/netconfig.h \ tirpc/rpc/rpcent.h \ tirpc/rpc/rpc_com.h \ tirpc/rpc/rpcb_prot.x \ @@ -47,7 +49,7 @@ index 8558289..aa5908e 100644 tirpc/rpc/rpcb_clnt.h \ tirpc/rpc/raw.h \ tirpc/rpc/pmap_rmt.h \ -@@ -51,5 +52,17 @@ endif +@@ -48,5 +49,14 @@ endif pkgconfigdir=$(libdir)/pkgconfig pkgconfig_DATA = libtirpc.pc @@ -55,19 +57,16 @@ index 8558289..aa5908e 100644 +nobase_nodist_include_HEADERS = $(GENFILES) +BUILT_SOURCES = $(GENFILES) + -+$(GENFILES): %.h: %.x $(top_builddir)/rpcgen/rpcgen ++$(GENFILES): %.h: %.x + mkdir -p $(dir $@) -+ $(top_builddir)/rpcgen/rpcgen -h -o $@ $< -+ -+$(top_builddir)/rpcgen/rpcgen: force -+ cd rpcgen && $(MAKE) ++ rpcgen -h -o $@ $< + +force: + +CLEANFILES = cscope.* *~ $(GENFILES) DISTCLEANFILES = Makefile.in libtirpc*.tar.gz diff --git a/src/Makefile.am b/src/Makefile.am -index 7428e92..0356171 100644 +index 2af40f16d03a..0b7e23835c36 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -8,7 +8,7 @@ @@ -81,7 +80,7 @@ index 7428e92..0356171 100644 diff --git a/tirpc/rpc/rpcb_prot.h b/tirpc/rpc/rpcb_prot.h deleted file mode 100644 -index 7ae48b8..0000000 +index 7ae48b805370..000000000000 --- a/tirpc/rpc/rpcb_prot.h +++ /dev/null @@ -1,797 +0,0 @@ @@ -884,7 +883,7 @@ index 7ae48b8..0000000 -#endif /* !_RPCB_PROT_H_RPCGEN */ diff --git a/tirpc/rpcsvc/crypt.h b/tirpc/rpcsvc/crypt.h deleted file mode 100644 -index da1f9cc..0000000 +index da1f9ccb56ea..000000000000 --- a/tirpc/rpcsvc/crypt.h +++ /dev/null @@ -1,109 +0,0 @@ @@ -998,5 +997,5 @@ index da1f9cc..0000000 - -#endif /* !_CRYPT_H_RPCGEN */ -- -1.9.1 +2.17.0 diff --git a/package/libtirpc/0005-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch b/package/libtirpc/0004-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch similarity index 100% rename from package/libtirpc/0005-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch rename to package/libtirpc/0004-Add-more-XDR-files-needed-to-build-rpcbind-on-top-of.patch diff --git a/package/libtirpc/0006-Disable-DES-authentification-support.patch b/package/libtirpc/0005-Disable-DES-authentification-support.patch similarity index 100% rename from package/libtirpc/0006-Disable-DES-authentification-support.patch rename to package/libtirpc/0005-Disable-DES-authentification-support.patch diff --git a/package/libtirpc/0007-include-stdint.h-for-uintptr_t.patch b/package/libtirpc/0006-include-stdint.h-for-uintptr_t.patch similarity index 100% rename from package/libtirpc/0007-include-stdint.h-for-uintptr_t.patch rename to package/libtirpc/0006-include-stdint.h-for-uintptr_t.patch diff --git a/package/libtirpc/libtirpc.mk b/package/libtirpc/libtirpc.mk index d9bf22b83e..319b78c3f0 100644 --- a/package/libtirpc/libtirpc.mk +++ b/package/libtirpc/libtirpc.mk @@ -10,6 +10,7 @@ LIBTIRPC_SITE = http://downloads.sourceforge.net/project/libtirpc/libtirpc/$(LIB LIBTIRPC_LICENSE = BSD-3-Clause LIBTIRPC_LICENSE_FILES = COPYING +LIBTIRPC_DEPENDENCIES = host-nfs-utils LIBTIRPC_INSTALL_STAGING = YES LIBTIRPC_AUTORECONF = YES @@ -18,4 +19,11 @@ LIBTIRPC_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -DGQ" LIBTIRPC_CONF_OPTS = --disable-gssapi +define HOST_LIBTIRPC_INSTALL_CMDS + $(INSTALL) -D -m 0644 $(@D)/tirpc/rpc/types.h $(HOST_DIR)/include/rpc/types.h + $(INSTALL) -D -m 0644 $(@D)/tirpc/netconfig.h $(HOST_DIR)/include/netconfig.h +endef + $(eval $(autotools-package)) +# We are only copying headers; no need for the autotools infrastructure +$(eval $(host-generic-package)) diff --git a/package/libtomcrypt/libtomcrypt.hash b/package/libtomcrypt/libtomcrypt.hash index 6f7720e8a3..be8e9b1bc3 100644 --- a/package/libtomcrypt/libtomcrypt.hash +++ b/package/libtomcrypt/libtomcrypt.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 da9df56a314afaab71963aa71bb6a075ea6bdee3d4db4af045f6bfe23e88b87a crypt-1.18.0.tar.xz +sha256 57c13a34fbfd45696189d19e47864e48f4e5c11590c29b444accb8edbf047f14 crypt-1.18.1.tar.xz diff --git a/package/libtomcrypt/libtomcrypt.mk b/package/libtomcrypt/libtomcrypt.mk index 020ce796fe..ff6222cc91 100644 --- a/package/libtomcrypt/libtomcrypt.mk +++ b/package/libtomcrypt/libtomcrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBTOMCRYPT_VERSION = 1.18.0 +LIBTOMCRYPT_VERSION = 1.18.1 LIBTOMCRYPT_SITE = https://github.com/libtom/libtomcrypt/releases/download/v$(LIBTOMCRYPT_VERSION) LIBTOMCRYPT_SOURCE = crypt-$(LIBTOMCRYPT_VERSION).tar.xz LIBTOMCRYPT_LICENSE = WTFPL @@ -20,7 +20,9 @@ define LIBTOMCRYPT_BUILD_CMDS endef define LIBTOMCRYPT_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(STAGING_DIR)" NODOCS=1 INSTALL_USER=$(shell id -u) INSTALL_GROUP=$(shell id -g) install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(STAGING_DIR)" \ + PREFIX=/usr NODOCS=1 INSTALL_USER=$(shell id -u) \ + INSTALL_GROUP=$(shell id -g) install endef $(eval $(generic-package)) diff --git a/package/libupnp/libupnp.hash b/package/libupnp/libupnp.hash index 314c68e826..e52b7ea9d7 100644 --- a/package/libupnp/libupnp.hash +++ b/package/libupnp/libupnp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 0bdfacb7fa8d99b78343b550800ff193264f92c66ef67852f87f042fd1a1ebbc libupnp-1.6.22.tar.bz2 +sha256 c5a300b86775435c076d58a79cc0d5a977d76027d2a7d721590729b7f369fa43 libupnp-1.6.25.tar.bz2 sha256 0375955c8a79d6e8fa0792d45d00fc4e7710d7ac95bcbd27f9225a83f5c946fd LICENSE diff --git a/package/libupnp/libupnp.mk b/package/libupnp/libupnp.mk index bf01b4d946..8831885ba4 100644 --- a/package/libupnp/libupnp.mk +++ b/package/libupnp/libupnp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUPNP_VERSION = 1.6.22 +LIBUPNP_VERSION = 1.6.25 LIBUPNP_SOURCE = libupnp-$(LIBUPNP_VERSION).tar.bz2 LIBUPNP_SITE = http://downloads.sourceforge.net/project/pupnp/pupnp/libUPnP%20$(LIBUPNP_VERSION) LIBUPNP_CONF_ENV = ac_cv_lib_compat_ftime=no diff --git a/package/libupnp18/Config.in b/package/libupnp18/Config.in new file mode 100644 index 0000000000..58508e4e26 --- /dev/null +++ b/package/libupnp18/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_LIBUPNP18 + bool "libupnp18" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_PACKAGE_LIBUPNP + help + The portable SDK for UPnP(tm) Devices (libupnp) provides + developers with an API and open source code for building + control points, devices, and bridges that are compliant with + Version 1.0 of the Universal Plug and Play Device Architecture + Specification + + http://pupnp.sourceforge.net/ + +comment "libupnp18 needs a toolchain w/ threads" + depends on !BR2_PACKAGE_LIBUPNP + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libupnp18/libupnp18.hash b/package/libupnp18/libupnp18.hash new file mode 100644 index 0000000000..dd59034cd3 --- /dev/null +++ b/package/libupnp18/libupnp18.hash @@ -0,0 +1,5 @@ +# From https://sourceforge.net/projects/pupnp/files/pupnp/libUPnP%201.8.3/libupnp-1.8.3.tar.bz2.sha1 +sha1 e7c28c24905ae972ff3277a7bdaa9b839f6c66b9 libupnp-1.8.3.tar.bz2 +# Locally computed: +sha256 9afa0b09faa9ebd9e8a6425ddbfe8d1d856544c49b1f86fde221219e569a308d libupnp-1.8.3.tar.bz2 +sha256 0375955c8a79d6e8fa0792d45d00fc4e7710d7ac95bcbd27f9225a83f5c946fd LICENSE diff --git a/package/libupnp18/libupnp18.mk b/package/libupnp18/libupnp18.mk new file mode 100644 index 0000000000..a75558e92b --- /dev/null +++ b/package/libupnp18/libupnp18.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# libupnp18 +# +################################################################################ + +LIBUPNP18_VERSION = 1.8.3 +LIBUPNP18_SOURCE = libupnp-$(LIBUPNP18_VERSION).tar.bz2 +LIBUPNP18_SITE = http://downloads.sourceforge.net/project/pupnp/pupnp/libUPnP%20$(LIBUPNP18_VERSION) +LIBUPNP18_CONF_ENV = ac_cv_lib_compat_ftime=no +LIBUPNP18_INSTALL_STAGING = YES +LIBUPNP18_LICENSE = BSD-3-Clause +LIBUPNP18_LICENSE_FILES = LICENSE + +$(eval $(autotools-package)) diff --git a/package/libupnpp/libupnpp.hash b/package/libupnpp/libupnpp.hash index f19e0b5441..fe67987c4e 100644 --- a/package/libupnpp/libupnpp.hash +++ b/package/libupnpp/libupnpp.hash @@ -1,2 +1,5 @@ # Hashes from: http://www.lesbonscomptes.com/upmpdcli/downloads/libupnpp-0.16.0.tar.gz.sha256 sha256 b34b179e69c46993cf360da9e85db646b03c15ab2927b19eb70e27bf3c359017 libupnpp-0.16.0.tar.gz + +# Hash for license file: +sha256 00a89b0d18aacd4114decf79122db87bf35bddaf2bc50e383c9c9f4c263390b2 COPYING diff --git a/package/libupnpp/libupnpp.mk b/package/libupnpp/libupnpp.mk index 4755b706d6..98cb515fe2 100644 --- a/package/libupnpp/libupnpp.mk +++ b/package/libupnpp/libupnpp.mk @@ -6,7 +6,7 @@ LIBUPNPP_VERSION = 0.16.0 LIBUPNPP_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads -LIBUPNPP_LICENSE = GPL-2.0+ +LIBUPNPP_LICENSE = LGPL-2.1+ LIBUPNPP_LICENSE_FILES = COPYING LIBUPNPP_INSTALL_STAGING = YES LIBUPNPP_DEPENDENCIES = expat libcurl libupnp diff --git a/package/liburiparser/liburiparser.hash b/package/liburiparser/liburiparser.hash index 84340f8b9c..9e9517c17f 100644 --- a/package/liburiparser/liburiparser.hash +++ b/package/liburiparser/liburiparser.hash @@ -1,3 +1,5 @@ -# From http://sourceforge.net/projects/uriparser/files/Sources/0.8.1/ -md5 4e4c5f0ee6abb111a431c45e144247aa uriparser-0.8.1.tar.bz2 -sha1 4405d8baa0d9f5bc0319e6d5e68770acab67b602 uriparser-0.8.1.tar.bz2 +# From http://sourceforge.net/projects/uriparser/files/Sources/0.8.4/ +md5 9aabdc3611546f553f4af372167de6d6 uriparser-0.8.4.tar.bz2 +sha1 7a1948c20bed54b04dad0e1d7d2fa8f80fc7b2b3 uriparser-0.8.4.tar.bz2 +# Locally calculated +sha256 c6ef125800c2ef13a41a22126bfc77e8b8c08993a6b96196117695988ea76249 COPYING diff --git a/package/liburiparser/liburiparser.mk b/package/liburiparser/liburiparser.mk index 7466a777a3..856a6aafd4 100644 --- a/package/liburiparser/liburiparser.mk +++ b/package/liburiparser/liburiparser.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBURIPARSER_VERSION = 0.8.1 +LIBURIPARSER_VERSION = 0.8.4 LIBURIPARSER_SOURCE = uriparser-$(LIBURIPARSER_VERSION).tar.bz2 LIBURIPARSER_SITE = http://sourceforge.net/projects/uriparser/files/Sources/$(LIBURIPARSER_VERSION) LIBURIPARSER_LICENSE = BSD-3-Clause diff --git a/package/libuv/libuv.hash b/package/libuv/libuv.hash index 748e1d2f0f..1a2833e786 100644 --- a/package/libuv/libuv.hash +++ b/package/libuv/libuv.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 fe53b53eee3b15db8ae1b25cbfb8740944273e02f5ccd731b176800e2807d832 libuv-v1.16.0.tar.gz +sha256 ccc5f3b43ed171640513786e5e809508cb6308279b4d71a016e4550ad62f1686 libuv-v1.19.2.tar.gz +sha256 6d20216ae022fbeed23916f48508fd807ece3d8464992330643b0e64e5c0c24b LICENSE diff --git a/package/libuv/libuv.mk b/package/libuv/libuv.mk index bbb42823b4..2e07d3a0fa 100644 --- a/package/libuv/libuv.mk +++ b/package/libuv/libuv.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUV_VERSION = v1.16.0 +LIBUV_VERSION = v1.19.2 LIBUV_SITE = $(call github,libuv,libuv,$(LIBUV_VERSION)) LIBUV_DEPENDENCIES = host-pkgconf LIBUV_INSTALL_STAGING = YES diff --git a/package/libv4l/0002-ir-ctl-fixes-for-musl-compile.patch b/package/libv4l/0002-ir-ctl-fixes-for-musl-compile.patch deleted file mode 100644 index 5bce2d916a..0000000000 --- a/package/libv4l/0002-ir-ctl-fixes-for-musl-compile.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 9908872aaa614a6c4bba80d7a5f1adea7ca7117e Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Tue, 14 Feb 2017 21:27:59 +0100 -Subject: [PATCH] ir-ctl: fixes for musl compile - -- add copy of TEMP_FAILURE_RETRY macro -- use strdup instead of strdupa - -Fixes [1]: - - ir-ctl.c:(.text+0xb06): undefined reference to `strndupa' - ir-ctl.c:(.text+0xe01): undefined reference to `TEMP_FAILURE_RETRY' - -[1] http://autobuild.buildroot.net/results/b8b96c7bbf2147dacac62485cbfdbcfd758271a5 - -Signed-off-by: Peter Seiderer ---- - utils/ir-ctl/ir-ctl.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/utils/ir-ctl/ir-ctl.c b/utils/ir-ctl/ir-ctl.c -index bc58cee..e9da777 100644 ---- a/utils/ir-ctl/ir-ctl.c -+++ b/utils/ir-ctl/ir-ctl.c -@@ -44,6 +44,15 @@ - - # define N_(string) string - -+/* taken from glibc unistd.h */ -+#ifndef TEMP_FAILURE_RETRY -+#define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif - - /* See drivers/media/rc/ir-lirc-codec.c line 23 */ - #define LIRCBUF_SIZE 512 -@@ -344,12 +353,14 @@ static struct file *read_scancode(const char *name) - return NULL; - } - -- pstr = strndupa(name, p - name); -+ pstr = strndup(name, p - name); - - if (!protocol_match(pstr, &proto)) { - fprintf(stderr, _("error: protocol '%s' not found\n"), pstr); -+ free(pstr); - return NULL; - } -+ free(pstr); - - if (!strtoscancode(p + 1, &scancode)) { - fprintf(stderr, _("error: invalid scancode '%s'\n"), p + 1); --- -2.11.0 - diff --git a/package/libv4l/0002-keytable-fix-EVIOCSCLOCKID-related-compile-failure.patch b/package/libv4l/0002-keytable-fix-EVIOCSCLOCKID-related-compile-failure.patch new file mode 100644 index 0000000000..656008b708 --- /dev/null +++ b/package/libv4l/0002-keytable-fix-EVIOCSCLOCKID-related-compile-failure.patch @@ -0,0 +1,35 @@ +From 663b7be9d27c979c914011a3ce707e227987bc59 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sat, 3 Feb 2018 22:47:18 +0100 +Subject: [PATCH] keytable: fix EVIOCSCLOCKID related compile failure + +Fixes: + + keytable.c: In function 'test_event': + keytable.c:1351:12: error: 'EVIOCSCLOCKID' undeclared (first use in this function) + ioctl(fd, EVIOCSCLOCKID, &mode); + ^~~~~~~~~~~~~ + +Signed-off-by: Peter Seiderer +--- + utils/keytable/keytable.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/utils/keytable/keytable.c b/utils/keytable/keytable.c +index 34a1522e..925eab00 100644 +--- a/utils/keytable/keytable.c ++++ b/utils/keytable/keytable.c +@@ -55,6 +55,10 @@ struct input_keymap_entry_v2 { + u_int8_t scancode[32]; + }; + ++#ifndef EVIOCSCLOCKID ++#define EVIOCSCLOCKID _IOW('E', 0xa0, int) ++#endif ++ + #ifndef EVIOCGKEYCODE_V2 + #define EVIOCGKEYCODE_V2 _IOR('E', 0x04, struct input_keymap_entry_v2) + #define EVIOCSKEYCODE_V2 _IOW('E', 0x04, struct input_keymap_entry_v2) +-- +2.16.1 + diff --git a/package/libv4l/0003-libdvbv5-add-optional-copy-of-TEMP_FAILURE_RETRY-mac.patch b/package/libv4l/0003-libdvbv5-add-optional-copy-of-TEMP_FAILURE_RETRY-mac.patch new file mode 100644 index 0000000000..cd22be15c4 --- /dev/null +++ b/package/libv4l/0003-libdvbv5-add-optional-copy-of-TEMP_FAILURE_RETRY-mac.patch @@ -0,0 +1,39 @@ +From abfe3e7b2b4af1de9b891f3a7a996b70533b0a27 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sun, 4 Mar 2018 09:07:51 +0100 +Subject: [PATCH] libdvbv5: add optional copy of TEMP_FAILURE_RETRY macro (fix + musl compile) + +Fixes: + + ../../lib/libdvbv5/.libs/libdvbv5.so: undefined reference to `TEMP_FAILURE_RETRY' + +[Upstream: https://www.mail-archive.com/linux-media@vger.kernel.org/msg127134.html] +Signed-off-by: Peter Seiderer +--- + lib/libdvbv5/dvb-dev-local.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/lib/libdvbv5/dvb-dev-local.c b/lib/libdvbv5/dvb-dev-local.c +index 8bc99d1..7a76d65 100644 +--- a/lib/libdvbv5/dvb-dev-local.c ++++ b/lib/libdvbv5/dvb-dev-local.c +@@ -44,6 +44,15 @@ + # define _(string) string + #endif + ++/* taken from glibc unistd.h */ ++#ifndef TEMP_FAILURE_RETRY ++#define TEMP_FAILURE_RETRY(expression) \ ++ ({ long int __result; \ ++ do __result = (long int) (expression); \ ++ while (__result == -1L && errno == EINTR); \ ++ __result; }) ++#endif ++ + struct dvb_dev_local_priv { + dvb_dev_change_t notify_dev_change; + +-- +2.16.2 + diff --git a/package/libv4l/0004-Build-sdlcam-only-if-jpeg-is-enabled.patch b/package/libv4l/0004-Build-sdlcam-only-if-jpeg-is-enabled.patch new file mode 100644 index 0000000000..4c4365f907 --- /dev/null +++ b/package/libv4l/0004-Build-sdlcam-only-if-jpeg-is-enabled.patch @@ -0,0 +1,31 @@ +From 5c407e130f8d0416f91f5a12bcdc2709f00dda65 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 29 Jun 2018 21:15:10 +0200 +Subject: [PATCH] Build sdlcam only if jpeg is enabled + +Fixes: + - http://autobuild.buildroot.net/results/1eded8b44cc369550566c6ce0b3c042f1aec8d44 + +Signed-off-by: Fabrice Fontaine +--- + contrib/test/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/contrib/test/Makefile.am b/contrib/test/Makefile.am +index 0188fe21..c7c38e7a 100644 +--- a/contrib/test/Makefile.am ++++ b/contrib/test/Makefile.am +@@ -17,8 +17,10 @@ noinst_PROGRAMS += v4l2gl + endif + + if HAVE_SDL ++if HAVE_JPEG + noinst_PROGRAMS += sdlcam + endif ++endif + + driver_test_SOURCES = driver-test.c + driver_test_LDADD = ../../utils/libv4l2util/libv4l2util.la +-- +2.14.1 + diff --git a/package/libv4l/0004-configure.ac-clarify-configure-summary.patch b/package/libv4l/0004-configure.ac-clarify-configure-summary.patch deleted file mode 100644 index dc6760082b..0000000000 --- a/package/libv4l/0004-configure.ac-clarify-configure-summary.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 069efd194cf4cb225075440ae58137ea6375fb8b Mon Sep 17 00:00:00 2001 -From: Hans Verkuil -Date: Mon, 15 May 2017 15:13:00 +0200 -Subject: [PATCH] configure.ac: clarify configure summary - -Some of the texts are rather obscure and misleading. Fix those. - -Signed-off-by: Hans Verkuil -Signed-off-by: Hugues Fruchet ---- - configure.ac | 48 ++++++++++++++++++++++++------------------------ - 1 file changed, 24 insertions(+), 24 deletions(-) - -diff --git a/configure.ac b/configure.ac -index e468b3a..3c70969 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -475,28 +475,28 @@ cat < -Date: Wed, 17 May 2017 10:03:09 +0200 -Subject: [PATCH] configure.ac: revisit v4l2-ctl/compliance using libv4l - variable naming - -USE_V4L2_CTL and USE_V4L2_COMPLIANCE are used to trig the fact that -v4l2-ctl and v4l2-compliance are using libv4l2, change namings to not -confuse with overall v4l2-ctl/compliance utilities building. - -Signed-off-by: Hugues Fruchet -Signed-off-by: Hans Verkuil ---- - configure.ac | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 3c70969..5f20fc8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -461,8 +461,8 @@ AM_COND_IF([WITH_QV4L2], [USE_QV4L2="yes"], [USE_QV4L2="no"]) - AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes"], [USE_V4L_PLUGINS="no"]) - AM_COND_IF([WITH_V4L_WRAPPERS], [USE_V4L_WRAPPERS="yes"], [USE_V4L_WRAPPERS="no"]) - AM_COND_IF([WITH_GCONV], [USE_GCONV="yes"], [USE_GCONV="no"]) --AM_COND_IF([WITH_V4L2_CTL_LIBV4L], [USE_V4L2_CTL="yes"], [USE_V4L2_CTL="no"]) --AM_COND_IF([WITH_V4L2_COMPLIANCE_LIBV4L], [USE_V4L2_COMPLIANCE="yes"], [USE_V4L2_COMPLIANCE="no"]) -+AM_COND_IF([WITH_V4L2_CTL_LIBV4L], [USE_V4L2_CTL_LIBV4L="yes"], [USE_V4L2_CTL_LIBV4L="no"]) -+AM_COND_IF([WITH_V4L2_COMPLIANCE_LIBV4L], [USE_V4L2_COMPLIANCE_LIBV4L="yes"], [USE_V4L2_COMPLIANCE_LIBV4L="no"]) - AS_IF([test "x$alsa_pkgconfig" = "xtrue"], [USE_ALSA="yes"], [USE_ALSA="no"]) - - AC_OUTPUT -@@ -497,6 +497,6 @@ compile time options summary - dvbv5-daemon : $USE_DVBV5_REMOTE - v4lutils : $USE_V4LUTILS - qv4l2 : $USE_QV4L2 -- v4l2-ctl uses libv4l : $USE_V4L2_CTL -- v4l2-compliance uses libv4l: $USE_V4L2_COMPLIANCE -+ v4l2-ctl uses libv4l : $USE_V4L2_CTL_LIBV4L -+ v4l2-compliance uses libv4l: $USE_V4L2_COMPLIANCE_LIBV4L - EOF --- -1.9.1 - diff --git a/package/libv4l/0006-configure.ac-revisit-disable-libv4l-to-disable-dyn-l.patch b/package/libv4l/0006-configure.ac-revisit-disable-libv4l-to-disable-dyn-l.patch deleted file mode 100644 index 12f5d0d64a..0000000000 --- a/package/libv4l/0006-configure.ac-revisit-disable-libv4l-to-disable-dyn-l.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 73efcd77d17fe92750bf5f76896786ca8e147a9f Mon Sep 17 00:00:00 2001 -From: Hugues Fruchet -Date: Wed, 17 May 2017 10:03:10 +0200 -Subject: [PATCH] configure.ac: revisit --disable-libv4l to - --disable-dyn-libv4l - ---disable-libv4l is not disabling libv4l compilation, but only -dynamic library support of libv4l libraries. - -Signed-off-by: Hugues Fruchet -Signed-off-by: Hans Verkuil ---- - configure.ac | 16 ++++++++-------- - lib/libv4l1/Makefile.am | 2 +- - lib/libv4l2/Makefile.am | 2 +- - lib/libv4l2rds/Makefile.am | 2 +- - lib/libv4lconvert/Makefile.am | 2 +- - 5 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5f20fc8..8e536cc 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -371,11 +371,11 @@ AC_ARG_ENABLE(libdvbv5, - esac] - ) - --AC_ARG_ENABLE(libv4l, -- AS_HELP_STRING([--disable-libv4l], [disable dynamic libv4l compilation]), -+AC_ARG_ENABLE(dyn-libv4l, -+ AS_HELP_STRING([--disable-dyn-libv4l], [disable dynamic libv4l support]), - [case "${enableval}" in - yes | no ) ;; -- *) AC_MSG_ERROR(bad value ${enableval} for --disable-libv4l) ;; -+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-dyn-libv4l) ;; - esac] - ) - -@@ -427,11 +427,11 @@ AC_SEARCH_LIBS([backtrace], [execinfo], [ - AM_CONDITIONAL([WITH_LIBDVBV5], [test x$enable_libdvbv5 != xno -a x$have_libudev = xyes]) - AM_CONDITIONAL([WITH_DVBV5_REMOTE], [test x$enable_libdvbv5 != xno -a x$have_libudev = xyes -a x$have_pthread = xyes]) - --AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno]) -+AM_CONDITIONAL([WITH_DYN_LIBV4L], [test x$enable_dyn_libv4l != xno]) - AM_CONDITIONAL([WITH_V4LUTILS], [test x$enable_v4l_utils != xno -a x$linux_os = xyes]) - AM_CONDITIONAL([WITH_QV4L2], [test x${qt_pkgconfig} = xtrue -a x$enable_qv4l2 != xno]) --AM_CONDITIONAL([WITH_V4L_PLUGINS], [test x$enable_libv4l != xno -a x$enable_shared != xno]) --AM_CONDITIONAL([WITH_V4L_WRAPPERS], [test x$enable_libv4l != xno -a x$enable_shared != xno]) -+AM_CONDITIONAL([WITH_V4L_PLUGINS], [test x$enable_dyn_libv4l != xno -a x$enable_shared != xno]) -+AM_CONDITIONAL([WITH_V4L_WRAPPERS], [test x$enable_dyn_libv4l != xno -a x$enable_shared != xno]) - AM_CONDITIONAL([WITH_QTGL], [test x${qt_pkgconfig_gl} = xtrue]) - AM_CONDITIONAL([WITH_GCONV], [test x${enable_gconv} = xyes]) - AM_CONDITIONAL([WITH_V4L2_CTL_LIBV4L], [test x${enable_v4l2_ctl_libv4l} != xno]) -@@ -455,7 +455,7 @@ AM_COND_IF([WITH_LIBDVBV5], [USE_LIBDVBV5="yes"], [USE_LIBDVBV5="no"]) - AM_COND_IF([WITH_DVBV5_REMOTE], [USE_DVBV5_REMOTE="yes" - AC_DEFINE([HAVE_DVBV5_REMOTE], [1], [Usage of DVBv5 remote enabled])], - [USE_DVBV5_REMOTE="no"]) --AM_COND_IF([WITH_LIBV4L], [USE_LIBV4L="yes"], [USE_LIBV4L="no"]) -+AM_COND_IF([WITH_DYN_LIBV4L], [USE_DYN_LIBV4L="yes"], [USE_DYN_LIBV4L="no"]) - AM_COND_IF([WITH_V4LUTILS], [USE_V4LUTILS="yes"], [USE_V4LUTILS="no"]) - AM_COND_IF([WITH_QV4L2], [USE_QV4L2="yes"], [USE_QV4L2="no"]) - AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes"], [USE_V4L_PLUGINS="no"]) -@@ -490,7 +490,7 @@ compile time options summary - - gconv : $USE_GCONV - -- dynamic libv4l : $USE_LIBV4L -+ dynamic libv4l : $USE_DYN_LIBV4L - v4l_plugins : $USE_V4L_PLUGINS - v4l_wrappers : $USE_V4L_WRAPPERS - libdvbv5 : $USE_LIBDVBV5 -diff --git a/lib/libv4l1/Makefile.am b/lib/libv4l1/Makefile.am -index f768eaa..42cb3db 100644 ---- a/lib/libv4l1/Makefile.am -+++ b/lib/libv4l1/Makefile.am -@@ -1,4 +1,4 @@ --if WITH_LIBV4L -+if WITH_DYN_LIBV4L - lib_LTLIBRARIES = libv4l1.la - include_HEADERS = ../include/libv4l1.h ../include/libv4l1-videodev.h - pkgconfig_DATA = libv4l1.pc -diff --git a/lib/libv4l2/Makefile.am b/lib/libv4l2/Makefile.am -index 1314a99..811c45c 100644 ---- a/lib/libv4l2/Makefile.am -+++ b/lib/libv4l2/Makefile.am -@@ -1,4 +1,4 @@ --if WITH_LIBV4L -+if WITH_DYN_LIBV4L - lib_LTLIBRARIES = libv4l2.la - include_HEADERS = ../include/libv4l2.h ../include/libv4l-plugin.h - pkgconfig_DATA = libv4l2.pc -diff --git a/lib/libv4l2rds/Makefile.am b/lib/libv4l2rds/Makefile.am -index 4f23a3f..73fdd3e 100644 ---- a/lib/libv4l2rds/Makefile.am -+++ b/lib/libv4l2rds/Makefile.am -@@ -1,4 +1,4 @@ --if WITH_LIBV4L -+if WITH_DYN_LIBV4L - lib_LTLIBRARIES = libv4l2rds.la - include_HEADERS = ../include/libv4l2rds.h - pkgconfig_DATA = libv4l2rds.pc -diff --git a/lib/libv4lconvert/Makefile.am b/lib/libv4lconvert/Makefile.am -index 5c8a1cf..4f332fa 100644 ---- a/lib/libv4lconvert/Makefile.am -+++ b/lib/libv4lconvert/Makefile.am -@@ -1,4 +1,4 @@ --if WITH_LIBV4L -+if WITH_DYN_LIBV4L - lib_LTLIBRARIES = libv4lconvert.la - libv4lconvertpriv_PROGRAMS = ov511-decomp ov518-decomp - include_HEADERS = ../include/libv4lconvert.h --- -1.9.1 - diff --git a/package/libv4l/0007-configure.ac-add-disable-libv4l-option.patch b/package/libv4l/0007-configure.ac-add-disable-libv4l-option.patch deleted file mode 100644 index fed2837f01..0000000000 --- a/package/libv4l/0007-configure.ac-add-disable-libv4l-option.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 702722a43ee6472993fabdd810272d3599064866 Mon Sep 17 00:00:00 2001 -From: Hugues Fruchet -Date: Wed, 17 May 2017 10:03:11 +0200 -Subject: [PATCH] configure.ac: add --disable-libv4l option - -Add an option to disable libv4l libraries and plugins compilation. -If system is not supporting dynamic shared libraries, this option -is automatically set. -dlopen() is no more a mandatory dependency (warning is kept). -lib/ and contrib/ folders are no more built with this option set -because of libv4l dependency. -utils/ folder is still built with this options set but without -rds-ctl because of its libv4l dependency. -v4l2-compliance and v4l2-ctl are also built but without any links -on libv4l and libv4lconvert libraries. - -Signed-off-by: Hugues Fruchet -Signed-off-by: Hans Verkuil ---- - Makefile.am | 11 +++++++++-- - configure.ac | 12 +++++++++++- - utils/Makefile.am | 6 +++++- - utils/v4l2-compliance/Makefile.am | 4 ++++ - utils/v4l2-ctl/Makefile.am | 4 ++++ - 5 files changed, 33 insertions(+), 4 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index e603472..07c3ef8 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,10 +1,17 @@ - AUTOMAKE_OPTIONS = foreign - ACLOCAL_AMFLAGS = -I m4 - --SUBDIRS = v4l-utils-po libdvbv5-po lib -+SUBDIRS = v4l-utils-po libdvbv5-po -+ -+if WITH_LIBV4L -+SUBDIRS += lib -+endif - - if WITH_V4LUTILS --SUBDIRS += utils contrib -+SUBDIRS += utils -+if WITH_LIBV4L -+SUBDIRS += contrib -+endif - endif - - EXTRA_DIST = android-config.h bootstrap.sh doxygen_libdvbv5.cfg include COPYING.libv4l \ -diff --git a/configure.ac b/configure.ac -index 8e536cc..b9fc59a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -285,7 +285,7 @@ dl_saved_libs=$LIBS - AC_SEARCH_LIBS([dlopen], - [dl], - [test "$ac_cv_search_dlopen" = "none required" || DLOPEN_LIBS=$ac_cv_search_dlopen], -- [AC_MSG_ERROR([unable to find the dlopen() function])]) -+ [AC_MSG_WARN([unable to find the dlopen() function])]) - AC_SUBST([DLOPEN_LIBS]) - LIBS=$dl_saved_libs - -@@ -371,6 +371,14 @@ AC_ARG_ENABLE(libdvbv5, - esac] - ) - -+AC_ARG_ENABLE(libv4l, -+ AS_HELP_STRING([--disable-libv4l], [disable libv4l compilation]), -+ [case "${enableval}" in -+ yes | no ) ;; -+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-libv4l) ;; -+ esac] -+) -+ - AC_ARG_ENABLE(dyn-libv4l, - AS_HELP_STRING([--disable-dyn-libv4l], [disable dynamic libv4l support]), - [case "${enableval}" in -@@ -428,6 +436,7 @@ AM_CONDITIONAL([WITH_LIBDVBV5], [test x$enable_libdvbv5 != xno -a x$have_li - AM_CONDITIONAL([WITH_DVBV5_REMOTE], [test x$enable_libdvbv5 != xno -a x$have_libudev = xyes -a x$have_pthread = xyes]) - - AM_CONDITIONAL([WITH_DYN_LIBV4L], [test x$enable_dyn_libv4l != xno]) -+AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno -a x$enable_shared != xno]) - AM_CONDITIONAL([WITH_V4LUTILS], [test x$enable_v4l_utils != xno -a x$linux_os = xyes]) - AM_CONDITIONAL([WITH_QV4L2], [test x${qt_pkgconfig} = xtrue -a x$enable_qv4l2 != xno]) - AM_CONDITIONAL([WITH_V4L_PLUGINS], [test x$enable_dyn_libv4l != xno -a x$enable_shared != xno]) -@@ -455,6 +464,7 @@ AM_COND_IF([WITH_LIBDVBV5], [USE_LIBDVBV5="yes"], [USE_LIBDVBV5="no"]) - AM_COND_IF([WITH_DVBV5_REMOTE], [USE_DVBV5_REMOTE="yes" - AC_DEFINE([HAVE_DVBV5_REMOTE], [1], [Usage of DVBv5 remote enabled])], - [USE_DVBV5_REMOTE="no"]) -+AM_COND_IF([WITH_LIBV4L], [USE_LIBV4L="yes"], [USE_LIBV4L="no"]) - AM_COND_IF([WITH_DYN_LIBV4L], [USE_DYN_LIBV4L="yes"], [USE_DYN_LIBV4L="no"]) - AM_COND_IF([WITH_V4LUTILS], [USE_V4LUTILS="yes"], [USE_V4LUTILS="no"]) - AM_COND_IF([WITH_QV4L2], [USE_QV4L2="yes"], [USE_QV4L2="no"]) -diff --git a/utils/Makefile.am b/utils/Makefile.am -index d7708cc..ce710c2 100644 ---- a/utils/Makefile.am -+++ b/utils/Makefile.am -@@ -13,8 +13,12 @@ SUBDIRS = \ - v4l2-sysfs-path \ - cec-ctl \ - cec-compliance \ -- cec-follower \ -+ cec-follower -+ -+if WITH_LIBV4L -+SUBDIRS += \ - rds-ctl -+endif - - if WITH_LIBDVBV5 - SUBDIRS += \ -diff --git a/utils/v4l2-compliance/Makefile.am b/utils/v4l2-compliance/Makefile.am -index c2b5919..0240a50 100644 ---- a/utils/v4l2-compliance/Makefile.am -+++ b/utils/v4l2-compliance/Makefile.am -@@ -7,12 +7,16 @@ v4l2_compliance_SOURCES = v4l2-compliance.cpp v4l2-test-debug.cpp v4l2-test-inpu - v4l2-test-codecs.cpp v4l2-test-colors.cpp v4l2-compliance.h - v4l2_compliance_CPPFLAGS = -I../common - -+if WITH_LIBV4L - if WITH_V4L2_COMPLIANCE_LIBV4L - v4l2_compliance_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread - else - v4l2_compliance_LDADD = -lrt -lpthread - DEFS += -DNO_LIBV4L2 - endif -+else -+DEFS += -DNO_LIBV4L2 -+endif - - EXTRA_DIST = Android.mk fixme.txt v4l2-compliance.1 - -diff --git a/utils/v4l2-ctl/Makefile.am b/utils/v4l2-ctl/Makefile.am -index 955647d..4475aed 100644 ---- a/utils/v4l2-ctl/Makefile.am -+++ b/utils/v4l2-ctl/Makefile.am -@@ -9,10 +9,14 @@ v4l2_ctl_SOURCES = v4l2-ctl.cpp v4l2-ctl.h v4l2-ctl-common.cpp v4l2-ctl-tuner.cp - v4l2-tpg-colors.c v4l2-tpg-core.c v4l-stream.c - v4l2_ctl_CPPFLAGS = -I../common - -+if WITH_LIBV4L - if WITH_V4L2_CTL_LIBV4L - v4l2_ctl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread - else - DEFS += -DNO_LIBV4L2 - endif -+else -+DEFS += -DNO_LIBV4L2 -+endif - - EXTRA_DIST = Android.mk v4l2-ctl.1 --- -1.9.1 - diff --git a/package/libv4l/0008-configure.ac-fix-build-of-v4l-utils-on-uclinux.patch b/package/libv4l/0008-configure.ac-fix-build-of-v4l-utils-on-uclinux.patch deleted file mode 100644 index 8f57ec9d19..0000000000 --- a/package/libv4l/0008-configure.ac-fix-build-of-v4l-utils-on-uclinux.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f66141af12fe45af4ef3bba26e8f300fb203203a Mon Sep 17 00:00:00 2001 -From: Hugues Fruchet -Date: Wed, 17 May 2017 10:03:12 +0200 -Subject: [PATCH] configure.ac: fix build of v4l-utils on uclinux - -Build of v4-utils is conditional to "linux_os=yes" which was -not set in case of uclinux, fix this. - -Signed-off-by: Hugues Fruchet -Signed-off-by: Hans Verkuil ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index b9fc59a..8dc676e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -149,7 +149,7 @@ AC_CHECK_FUNCS([__secure_getenv secure_getenv]) - - # Check host os - case "$host_os" in -- linux*) -+ *linux*) - linux_os="yes" - ;; - *freebsd*) --- -1.9.1 - diff --git a/package/libv4l/0009-configure.ac-add-USE_LIBV4L-to-summary.patch b/package/libv4l/0009-configure.ac-add-USE_LIBV4L-to-summary.patch deleted file mode 100644 index d9c38e0ab5..0000000000 --- a/package/libv4l/0009-configure.ac-add-USE_LIBV4L-to-summary.patch +++ /dev/null @@ -1,28 +0,0 @@ -From d92eb36658af05286c5aac7e1cc8a5013f766cb4 Mon Sep 17 00:00:00 2001 -From: Hans Verkuil -Date: Mon, 29 May 2017 07:55:18 +0200 -Subject: [PATCH] configure.ac: add USE_LIBV4L to summary - -This was missing, so add it. - -Signed-off-by: Hans Verkuil -Signed-off-by: Hugues Fruchet ---- - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/configure.ac b/configure.ac -index 8dc676e..9031b42 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -500,6 +500,7 @@ compile time options summary - - gconv : $USE_GCONV - -+ libv4l : $USE_LIBV4L - dynamic libv4l : $USE_DYN_LIBV4L - v4l_plugins : $USE_V4L_PLUGINS - v4l_wrappers : $USE_V4L_WRAPPERS --- -1.9.1 - diff --git a/package/libv4l/0010-Build-libv4lconvert-helper-support-only-when-fork-is.patch b/package/libv4l/0010-Build-libv4lconvert-helper-support-only-when-fork-is.patch deleted file mode 100644 index 30a8bdef68..0000000000 --- a/package/libv4l/0010-Build-libv4lconvert-helper-support-only-when-fork-is.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 91e7e4f4765780786e1479d28a70982adea256fc Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 25 Jul 2017 21:04:35 +0200 -Subject: [PATCH] Build libv4lconvert helper support only when fork() is - available - -Upstream: https://git.linuxtv.org/v4l-utils.git/commit/?id=ed6eeee5f7dbc5b1b5b9263ae9281665d3fbe105 - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 3 +++ - lib/libv4lconvert/Makefile.am | 7 ++++++- - lib/libv4lconvert/libv4lconvert.c | 6 ++++++ - 3 files changed, 15 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index ae8f2e2..72c9421 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -299,6 +299,9 @@ argp_saved_libs=$LIBS - AC_SUBST([ARGP_LIBS]) - LIBS=$argp_saved_libs - -+AC_CHECK_FUNCS([fork], AC_DEFINE([HAVE_LIBV4LCONVERT_HELPERS],[1],[whether to use libv4lconvert helpers])) -+AM_CONDITIONAL([HAVE_LIBV4LCONVERT_HELPERS], [test x$ac_cv_func_fork = xyes]) -+ - AC_CHECK_HEADER([linux/i2c-dev.h], [linux_i2c_dev=yes], [linux_i2c_dev=no]) - AM_CONDITIONAL([HAVE_LINUX_I2C_DEV], [test x$linux_i2c_dev = xyes]) - -diff --git a/lib/libv4lconvert/Makefile.am b/lib/libv4lconvert/Makefile.am -index 4f332fa..f266f3e 100644 ---- a/lib/libv4lconvert/Makefile.am -+++ b/lib/libv4lconvert/Makefile.am -@@ -1,6 +1,8 @@ - if WITH_DYN_LIBV4L - lib_LTLIBRARIES = libv4lconvert.la -+if HAVE_LIBV4LCONVERT_HELPERS - libv4lconvertpriv_PROGRAMS = ov511-decomp ov518-decomp -+endif - include_HEADERS = ../include/libv4lconvert.h - pkgconfig_DATA = libv4lconvert.pc - LIBV4LCONVERT_VERSION = -version-info 0 -@@ -16,11 +18,14 @@ libv4lconvert_la_SOURCES = \ - control/libv4lcontrol.c control/libv4lcontrol.h control/libv4lcontrol-priv.h \ - processing/libv4lprocessing.c processing/whitebalance.c processing/autogain.c \ - processing/gamma.c processing/libv4lprocessing.h processing/libv4lprocessing-priv.h \ -- helper.c helper-funcs.h libv4lconvert-priv.h libv4lsyscall-priv.h \ -+ helper-funcs.h libv4lconvert-priv.h libv4lsyscall-priv.h \ - tinyjpeg.h tinyjpeg-internal.h - if HAVE_JPEG - libv4lconvert_la_SOURCES += jpeg_memsrcdest.c jpeg_memsrcdest.h - endif -+if HAVE_LIBV4LCONVERT_HELPERS -+libv4lconvert_la_SOURCES += helper.c -+endif - libv4lconvert_la_CPPFLAGS = $(CFLAG_VISIBILITY) $(ENFORCE_LIBV4L_STATIC) - libv4lconvert_la_LDFLAGS = $(LIBV4LCONVERT_VERSION) -lrt -lm $(JPEG_LIBS) $(ENFORCE_LIBV4L_STATIC) - -diff --git a/lib/libv4lconvert/libv4lconvert.c b/lib/libv4lconvert/libv4lconvert.c -index d60774e..1a5ccec 100644 ---- a/lib/libv4lconvert/libv4lconvert.c -+++ b/lib/libv4lconvert/libv4lconvert.c -@@ -122,8 +122,10 @@ static const struct v4lconvert_pixfmt supported_src_pixfmts[] = { - { V4L2_PIX_FMT_JPEG, 0, 7, 7, 0 }, - { V4L2_PIX_FMT_PJPG, 0, 7, 7, 1 }, - { V4L2_PIX_FMT_JPGL, 0, 7, 7, 1 }, -+#ifdef HAVE_LIBV4LCONVERT_HELPERS - { V4L2_PIX_FMT_OV511, 0, 7, 7, 1 }, - { V4L2_PIX_FMT_OV518, 0, 7, 7, 1 }, -+#endif - /* uncompressed bayer */ - { V4L2_PIX_FMT_SBGGR8, 8, 8, 8, 0 }, - { V4L2_PIX_FMT_SGBRG8, 8, 8, 8, 0 }, -@@ -278,7 +280,9 @@ void v4lconvert_destroy(struct v4lconvert_data *data) - if (data->cinfo_initialized) - jpeg_destroy_decompress(&data->cinfo); - #endif // HAVE_JPEG -+#ifdef HAVE_LIBV4LCONVERT_HELPERS - v4lconvert_helper_cleanup(data); -+#endif - free(data->convert1_buf); - free(data->convert2_buf); - free(data->rotate90_buf); -@@ -833,6 +837,7 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, - return -1; - } - break; -+#ifdef HAVE_LIBV4LCONVERT_HELPERS - case V4L2_PIX_FMT_OV511: - if (v4lconvert_helper_decompress(data, LIBV4LCONVERT_PRIV_DIR "/ov511-decomp", - src, src_size, d, d_size, width, height, yvu)) { -@@ -849,6 +854,7 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, - return -1; - } - break; -+#endif - } - - switch (dest_pix_fmt) { --- -1.9.1 - diff --git a/package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch b/package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch deleted file mode 100644 index 22249197a1..0000000000 --- a/package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch +++ /dev/null @@ -1,217 +0,0 @@ -From 305ae25455b1f19ad2eda92523bd553fd8bc72fd Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 20 Aug 2017 23:58:44 +0200 -Subject: [PATCH] configure.ac: drop --disable-libv4l, disable plugin support - instead - -In commit 2e604dfbcd09b93f0808cedb2a0b324c5569a599 ("configure.ac: add ---disable-libv4l option"), an option --disable-libv4l was added. As -part of this, libv4l is no longer built at all in static linking -configurations, just because libv4l uses dlopen() for plugin support. - -However, plugin support is only a side feature of libv4l, and one may -need to use libv4l in static configurations, just without plugin -support. - -Therefore, this commit: - - - Essentially reverts 2e604dfbcd09b93f0808cedb2a0b324c5569a599, so - that libv4l can be built in static linking configurations again. - - - Adjusts the compilation of libv4l2 so that the plugin support is - not compiled in when dlopen() in static linking configuration - (dlopen is not available). - -Signed-off-by: Thomas Petazzoni -Submitted-upstream: https://www.mail-archive.com/linux-media@vger.kernel.org/msg117449.html ---- - Makefile.am | 11 ++--------- - configure.ac | 15 +++------------ - lib/libv4l2/Makefile.am | 6 +++++- - lib/libv4l2/libv4l2-priv.h | 14 ++++++++++++++ - utils/Makefile.am | 6 +----- - utils/v4l2-compliance/Makefile.am | 4 ---- - utils/v4l2-ctl/Makefile.am | 4 ---- - 7 files changed, 25 insertions(+), 35 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 07c3ef8..e603472 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,17 +1,10 @@ - AUTOMAKE_OPTIONS = foreign - ACLOCAL_AMFLAGS = -I m4 - --SUBDIRS = v4l-utils-po libdvbv5-po -- --if WITH_LIBV4L --SUBDIRS += lib --endif -+SUBDIRS = v4l-utils-po libdvbv5-po lib - - if WITH_V4LUTILS --SUBDIRS += utils --if WITH_LIBV4L --SUBDIRS += contrib --endif -+SUBDIRS += utils contrib - endif - - EXTRA_DIST = android-config.h bootstrap.sh doxygen_libdvbv5.cfg include COPYING.libv4l \ -diff --git a/configure.ac b/configure.ac -index 58fb688..2ecb4a1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -374,14 +374,6 @@ AC_ARG_ENABLE(libdvbv5, - esac] - ) - --AC_ARG_ENABLE(libv4l, -- AS_HELP_STRING([--disable-libv4l], [disable libv4l compilation]), -- [case "${enableval}" in -- yes | no ) ;; -- *) AC_MSG_ERROR(bad value ${enableval} for --disable-libv4l) ;; -- esac] --) -- - AC_ARG_ENABLE(dyn-libv4l, - AS_HELP_STRING([--disable-dyn-libv4l], [disable dynamic libv4l support]), - [case "${enableval}" in -@@ -439,7 +431,6 @@ AM_CONDITIONAL([WITH_LIBDVBV5], [test x$enable_libdvbv5 != xno -a x$have_li - AM_CONDITIONAL([WITH_DVBV5_REMOTE], [test x$enable_libdvbv5 != xno -a x$have_libudev = xyes -a x$have_pthread = xyes]) - - AM_CONDITIONAL([WITH_DYN_LIBV4L], [test x$enable_dyn_libv4l != xno]) --AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno -a x$enable_shared != xno]) - AM_CONDITIONAL([WITH_V4LUTILS], [test x$enable_v4l_utils != xno -a x$linux_os = xyes]) - AM_CONDITIONAL([WITH_QV4L2], [test x${qt_pkgconfig} = xtrue -a x$enable_qv4l2 != xno]) - AM_CONDITIONAL([WITH_V4L_PLUGINS], [test x$enable_dyn_libv4l != xno -a x$enable_shared != xno]) -@@ -467,11 +458,12 @@ AM_COND_IF([WITH_LIBDVBV5], [USE_LIBDVBV5="yes"], [USE_LIBDVBV5="no"]) - AM_COND_IF([WITH_DVBV5_REMOTE], [USE_DVBV5_REMOTE="yes" - AC_DEFINE([HAVE_DVBV5_REMOTE], [1], [Usage of DVBv5 remote enabled])], - [USE_DVBV5_REMOTE="no"]) --AM_COND_IF([WITH_LIBV4L], [USE_LIBV4L="yes"], [USE_LIBV4L="no"]) - AM_COND_IF([WITH_DYN_LIBV4L], [USE_DYN_LIBV4L="yes"], [USE_DYN_LIBV4L="no"]) - AM_COND_IF([WITH_V4LUTILS], [USE_V4LUTILS="yes"], [USE_V4LUTILS="no"]) - AM_COND_IF([WITH_QV4L2], [USE_QV4L2="yes"], [USE_QV4L2="no"]) --AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes"], [USE_V4L_PLUGINS="no"]) -+AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes" -+ AC_DEFINE([HAVE_V4L_PLUGINS], [1], [V4L plugin support enabled])], -+ [USE_V4L_PLUGINS="no"]) - AM_COND_IF([WITH_V4L_WRAPPERS], [USE_V4L_WRAPPERS="yes"], [USE_V4L_WRAPPERS="no"]) - AM_COND_IF([WITH_GCONV], [USE_GCONV="yes"], [USE_GCONV="no"]) - AM_COND_IF([WITH_V4L2_CTL_LIBV4L], [USE_V4L2_CTL_LIBV4L="yes"], [USE_V4L2_CTL_LIBV4L="no"]) -@@ -503,7 +495,6 @@ compile time options summary - - gconv : $USE_GCONV - -- libv4l : $USE_LIBV4L - dynamic libv4l : $USE_DYN_LIBV4L - v4l_plugins : $USE_V4L_PLUGINS - v4l_wrappers : $USE_V4L_WRAPPERS -diff --git a/lib/libv4l2/Makefile.am b/lib/libv4l2/Makefile.am -index 811c45c..3a1bb90 100644 ---- a/lib/libv4l2/Makefile.am -+++ b/lib/libv4l2/Makefile.am -@@ -15,7 +15,11 @@ else - noinst_LTLIBRARIES = libv4l2.la - endif - --libv4l2_la_SOURCES = libv4l2.c v4l2-plugin.c log.c libv4l2-priv.h -+libv4l2_la_SOURCES = libv4l2.c log.c libv4l2-priv.h -+if WITH_V4L_PLUGINS -+libv4l2_la_SOURCES += v4l2-plugin.c -+endif -+ - libv4l2_la_CPPFLAGS = $(CFLAG_VISIBILITY) $(ENFORCE_LIBV4L_STATIC) - libv4l2_la_LDFLAGS = $(LIBV4L2_VERSION) -lpthread $(DLOPEN_LIBS) $(ENFORCE_LIBV4L_STATIC) - libv4l2_la_LIBADD = ../libv4lconvert/libv4lconvert.la -diff --git a/lib/libv4l2/libv4l2-priv.h b/lib/libv4l2/libv4l2-priv.h -index 343db5e..1924c91 100644 ---- a/lib/libv4l2/libv4l2-priv.h -+++ b/lib/libv4l2/libv4l2-priv.h -@@ -107,10 +107,24 @@ struct v4l2_dev_info { - }; - - /* From v4l2-plugin.c */ -+#if defined(HAVE_V4L_PLUGINS) - void v4l2_plugin_init(int fd, void **plugin_lib_ret, void **plugin_priv_ret, - const struct libv4l_dev_ops **dev_ops_ret); - void v4l2_plugin_cleanup(void *plugin_lib, void *plugin_priv, - const struct libv4l_dev_ops *dev_ops); -+#else -+static inline void v4l2_plugin_init(int fd, void **plugin_lib_ret, void **plugin_priv_ret, -+ const struct libv4l_dev_ops **dev_ops_ret) -+{ -+ *dev_ops_ret = v4lconvert_get_default_dev_ops(); -+ *plugin_lib_ret = NULL; -+ *plugin_priv_ret = NULL; -+} -+static inline void v4l2_plugin_cleanup(void *plugin_lib, void *plugin_priv, -+ const struct libv4l_dev_ops *dev_ops) -+{ -+} -+#endif /* WITH_V4L_PLUGINS */ - - /* From log.c */ - extern const char *v4l2_ioctls[]; -diff --git a/utils/Makefile.am b/utils/Makefile.am -index ce710c2..d7708cc 100644 ---- a/utils/Makefile.am -+++ b/utils/Makefile.am -@@ -13,12 +13,8 @@ SUBDIRS = \ - v4l2-sysfs-path \ - cec-ctl \ - cec-compliance \ -- cec-follower -- --if WITH_LIBV4L --SUBDIRS += \ -+ cec-follower \ - rds-ctl --endif - - if WITH_LIBDVBV5 - SUBDIRS += \ -diff --git a/utils/v4l2-compliance/Makefile.am b/utils/v4l2-compliance/Makefile.am -index 0240a50..c2b5919 100644 ---- a/utils/v4l2-compliance/Makefile.am -+++ b/utils/v4l2-compliance/Makefile.am -@@ -7,16 +7,12 @@ v4l2_compliance_SOURCES = v4l2-compliance.cpp v4l2-test-debug.cpp v4l2-test-inpu - v4l2-test-codecs.cpp v4l2-test-colors.cpp v4l2-compliance.h - v4l2_compliance_CPPFLAGS = -I../common - --if WITH_LIBV4L - if WITH_V4L2_COMPLIANCE_LIBV4L - v4l2_compliance_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread - else - v4l2_compliance_LDADD = -lrt -lpthread - DEFS += -DNO_LIBV4L2 - endif --else --DEFS += -DNO_LIBV4L2 --endif - - EXTRA_DIST = Android.mk fixme.txt v4l2-compliance.1 - -diff --git a/utils/v4l2-ctl/Makefile.am b/utils/v4l2-ctl/Makefile.am -index 4475aed..955647d 100644 ---- a/utils/v4l2-ctl/Makefile.am -+++ b/utils/v4l2-ctl/Makefile.am -@@ -9,14 +9,10 @@ v4l2_ctl_SOURCES = v4l2-ctl.cpp v4l2-ctl.h v4l2-ctl-common.cpp v4l2-ctl-tuner.cp - v4l2-tpg-colors.c v4l2-tpg-core.c v4l-stream.c - v4l2_ctl_CPPFLAGS = -I../common - --if WITH_LIBV4L - if WITH_V4L2_CTL_LIBV4L - v4l2_ctl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread - else - DEFS += -DNO_LIBV4L2 - endif --else --DEFS += -DNO_LIBV4L2 --endif - - EXTRA_DIST = Android.mk v4l2-ctl.1 --- -2.9.4 - diff --git a/package/libv4l/libv4l.hash b/package/libv4l/libv4l.hash index fc7bd1b9af..aea9cc988f 100644 --- a/package/libv4l/libv4l.hash +++ b/package/libv4l/libv4l.hash @@ -1,2 +1,7 @@ +# Locally calculated after checking signature +# https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.14.1.tar.bz2.asc +sha256 7974e5626447407d8a1ed531da0461c0fe00e599a696cb548a240d17d3519005 v4l-utils-1.14.1.tar.bz2 # Locally calculated -sha256 0618162ddb0b57fe7c45407d4d66ed79e3a134cdbc9e72598d34e61d3359e20d v4l-utils-1.12.5.tar.bz2 +sha256 391e4da1c54a422a78d83be7bf84b2dfb8bacdd8ad256fa4374e128655584a8a COPYING +sha256 5a7f623a50e384aaf6d2ced068339ddf93d0a50d3a0ecbe86f125b07804ecc78 COPYING.libv4l +sha256 37d0f2c8dc3f267d864cb39d54f82c5092a599beb29cb5caa96d50d27e069a44 lib/libv4l1/libv4l1-kernelcode-license.txt diff --git a/package/libv4l/libv4l.mk b/package/libv4l/libv4l.mk index 9b2b417043..c95b2778cd 100644 --- a/package/libv4l/libv4l.mk +++ b/package/libv4l/libv4l.mk @@ -4,24 +4,15 @@ # ################################################################################ -LIBV4L_VERSION = 1.12.5 +LIBV4L_VERSION = 1.14.1 LIBV4L_SOURCE = v4l-utils-$(LIBV4L_VERSION).tar.bz2 -LIBV4L_SITE = http://linuxtv.org/downloads/v4l-utils +LIBV4L_SITE = https://linuxtv.org/downloads/v4l-utils LIBV4L_INSTALL_STAGING = YES LIBV4L_DEPENDENCIES = host-pkgconf LIBV4L_CONF_OPTS = --disable-doxygen-doc - -# below patches requires autoreconf: -# 0004-configure.ac-clarify-configure-summary.patch -# 0005-configure.ac-revisit-v4l2-ctl-compliance-using-libv4.patch -# 0006-configure.ac-revisit-disable-libv4l-to-disable-dyn-l.patch -# 0007-configure.ac-add-disable-libv4l-option.patch -# 0008-configure.ac-fix-build-of-v4l-utils-on-uclinux.patch -# 0009-configure.ac-add-USE_LIBV4L-to-summary.patch -# 0010-Build-libv4lconvert-helper-support-only-when-fork-is.patch -# 0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch +# We're patching contrib/test/Makefile.am LIBV4L_AUTORECONF = YES -# host-gettext needed for autoreconf to work +# add host-gettext for AM_ICONV macro LIBV4L_DEPENDENCIES += host-gettext # fix uclibc-ng configure/compile @@ -86,6 +77,10 @@ else LIBV4L_CONF_OPTS += --disable-v4l-utils endif +ifeq ($(BR2_PACKAGE_SDL2_IMAGE),y) +LIBV4L_DEPENDENCIES += sdl2_image +endif + LIBV4L_CONF_ENV += LIBS="$(LIBV4L_LIBS)" $(eval $(autotools-package)) diff --git a/package/libva-intel-driver/libva-intel-driver.hash b/package/libva-intel-driver/libva-intel-driver.hash index 75c1e95712..4ffc60cab5 100644 --- a/package/libva-intel-driver/libva-intel-driver.hash +++ b/package/libva-intel-driver/libva-intel-driver.hash @@ -1,4 +1,5 @@ # From https://github.com/01org/intel-vaapi-driver/releases -sha1 b0cfc0807993aafe78e209dd28cdceb4dfa57e78 intel-vaapi-driver-1.8.3.tar.bz2 +sha1 19e83c084a404817263c04371c42345b617900ff intel-vaapi-driver-2.0.0.tar.bz2 # Locally computed -sha256 54411d9e579300ed63f8b9b06152a1a9ec95b7699507d7ffa014cd7b2aeaff6f intel-vaapi-driver-1.8.3.tar.bz2 +sha256 10f6b0a91f34715d8d4d9a9e0fb3cc0afe5fcf85355db1272bd5fff31522f469 intel-vaapi-driver-2.0.0.tar.bz2 +sha256 c86a782ee845b52472dae9b9d79fb915d333628ac0efe49cdce63644814931de COPYING diff --git a/package/libva-intel-driver/libva-intel-driver.mk b/package/libva-intel-driver/libva-intel-driver.mk index 7a064659de..0255038b0a 100644 --- a/package/libva-intel-driver/libva-intel-driver.mk +++ b/package/libva-intel-driver/libva-intel-driver.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBVA_INTEL_DRIVER_VERSION = 1.8.3 +LIBVA_INTEL_DRIVER_VERSION = 2.0.0 LIBVA_INTEL_DRIVER_SOURCE = intel-vaapi-driver-$(LIBVA_INTEL_DRIVER_VERSION).tar.bz2 LIBVA_INTEL_DRIVER_SITE = \ https://github.com/01org/intel-vaapi-driver/releases/download/$(LIBVA_INTEL_DRIVER_VERSION) diff --git a/package/libva-utils/libva-utils.hash b/package/libva-utils/libva-utils.hash index 737b246a01..3429fb53a6 100644 --- a/package/libva-utils/libva-utils.hash +++ b/package/libva-utils/libva-utils.hash @@ -1,4 +1,5 @@ # From https://github.com/01org/libva-utils/releases -sha1 8684aa2b28fc08bf62b1fa5acf95d23fab5faf9a libva-utils-1.8.3.tar.bz2 +sha1 b4dc39459f8539c1ea16e7ca957a853fb7735ec4 libva-utils-2.0.0.tar.bz2 # Locally computed -sha256 c59de4fb6f1021c435b3f49e2410760692324ee5bb464c716d674fcb626a7e03 libva-utils-1.8.3.tar.bz2 +sha256 a921df31311d8f49d2e392a5fc2a068d79f89aeb588309fbff24365310dbc5f6 libva-utils-2.0.0.tar.bz2 +sha256 c6220c9f87832c27abcb8a32eafdd2823e13ce146b3ea63d5deae2a76798ef50 COPYING diff --git a/package/libva-utils/libva-utils.mk b/package/libva-utils/libva-utils.mk index 80ab529fb5..275d599606 100644 --- a/package/libva-utils/libva-utils.mk +++ b/package/libva-utils/libva-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBVA_UTILS_VERSION = 1.8.3 +LIBVA_UTILS_VERSION = 2.0.0 LIBVA_UTILS_SOURCE = libva-utils-$(LIBVA_UTILS_VERSION).tar.bz2 LIBVA_UTILS_SITE = https://github.com/01org/libva-utils/releases/download/$(LIBVA_UTILS_VERSION) LIBVA_UTILS_LICENSE = MIT diff --git a/package/libva/libva.hash b/package/libva/libva.hash index 232adeeeeb..1736575447 100644 --- a/package/libva/libva.hash +++ b/package/libva/libva.hash @@ -1,4 +1,5 @@ # From https://github.com/01org/libva/releases -sha1 8eee9e28b0ae3bfbe8cd44a91396207714967204 libva-1.8.3.tar.bz2 +sha1 762a49f8925ca1d0531c5071afbd629ffea93b90 libva-2.0.0.tar.bz2 # Locally computed -sha256 56ee129deba99b06eb4a8d4f746b117c5d1dc2ec5b7a0bfc06971fca1598ab9b libva-1.8.3.tar.bz2 +sha256 bb0601f9a209e60d8d0b867067323661a7816ff429021441b775452b8589e533 libva-2.0.0.tar.bz2 +sha256 c86a782ee845b52472dae9b9d79fb915d333628ac0efe49cdce63644814931de COPYING diff --git a/package/libva/libva.mk b/package/libva/libva.mk index 61e31801be..8d1e27f270 100644 --- a/package/libva/libva.mk +++ b/package/libva/libva.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBVA_VERSION = 1.8.3 +LIBVA_VERSION = 2.0.0 LIBVA_SOURCE = libva-$(LIBVA_VERSION).tar.bz2 LIBVA_SITE = https://github.com/01org/libva/releases/download/$(LIBVA_VERSION) LIBVA_LICENSE = MIT @@ -17,18 +17,15 @@ LIBVA_CONF_OPTS = \ --enable-drm \ --with-drivers-path="/usr/lib/va" -ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y) -LIBVA_DEPENDENCIES += mesa3d -LIBVA_CONF_OPTS += --enable-glx -else -LIBVA_CONF_OPTS += --disable-glx -endif - ifeq ($(BR2_PACKAGE_XORG7),y) LIBVA_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXfixes LIBVA_CONF_OPTS += --enable-x11 +ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y) +LIBVA_DEPENDENCIES += mesa3d +LIBVA_CONF_OPTS += --enable-glx +endif else -LIBVA_CONF_OPTS += --disable-x11 +LIBVA_CONF_OPTS += --disable-glx --disable-x11 endif ifeq ($(BR2_PACKAGE_WAYLAND),y) @@ -38,11 +35,4 @@ else LIBVA_CONF_OPTS += --disable-wayland endif -ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y) -LIBVA_DEPENDENCIES += libegl -LIBVA_CONF_OPTS += --enable-egl -else -LIBVA_CONF_OPTS += --disable-egl -endif - $(eval $(autotools-package)) diff --git a/package/libvncserver/0001-Limit-client-cut-text-length-to-1-MB.patch b/package/libvncserver/0001-Limit-client-cut-text-length-to-1-MB.patch new file mode 100644 index 0000000000..84a537640d --- /dev/null +++ b/package/libvncserver/0001-Limit-client-cut-text-length-to-1-MB.patch @@ -0,0 +1,65 @@ +From 28afb6c537dc82ba04d5f245b15ca7205c6dbb9c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Mon, 26 Feb 2018 13:48:00 +0100 +Subject: [PATCH] Limit client cut text length to 1 MB + +This patch constrains a client cut text length to 1 MB. Otherwise +a client could make server allocate 2 GB of memory and that seems to +be to much to classify it as a denial of service. + +The limit also prevents from an integer overflow followed by copying +an uninitilized memory when processing msg.cct.length value larger +than SIZE_MAX or INT_MAX - sz_rfbClientCutTextMsg. + +This patch also corrects accepting length value of zero (malloc(0) is +interpreted on differnet systems differently). + +CVE-2018-7225 + + +Signed-off-by: Peter Korsgaard +--- + libvncserver/rfbserver.c | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c +index 116c488..4fc4d9d 100644 +--- a/libvncserver/rfbserver.c ++++ b/libvncserver/rfbserver.c +@@ -88,6 +88,8 @@ + #include + /* strftime() */ + #include ++/* PRIu32 */ ++#include + + #ifdef LIBVNCSERVER_WITH_WEBSOCKETS + #include "rfbssl.h" +@@ -2575,7 +2577,23 @@ rfbProcessClientNormalMessage(rfbClientPtr cl) + + msg.cct.length = Swap32IfLE(msg.cct.length); + +- str = (char *)malloc(msg.cct.length); ++ /* uint32_t input is passed to malloc()'s size_t argument, ++ * to rfbReadExact()'s int argument, to rfbStatRecordMessageRcvd()'s int ++ * argument increased of sz_rfbClientCutTextMsg, and to setXCutText()'s int ++ * argument. Here we impose a limit of 1 MB so that the value fits ++ * into all of the types to prevent from misinterpretation and thus ++ * from accessing uninitialized memory (CVE-2018-7225) and also to ++ * prevent from a denial-of-service by allocating to much memory in ++ * the server. */ ++ if (msg.cct.length > 1<<20) { ++ rfbLog("rfbClientCutText: too big cut text length requested: %" PRIu32 "\n", ++ msg.cct.length); ++ rfbCloseClient(cl); ++ return; ++ } ++ ++ /* Allow zero-length client cut text. */ ++ str = (char *)calloc(msg.cct.length ? msg.cct.length : 1, 1); + if (str == NULL) { + rfbLogPerror("rfbProcessClientNormalMessage: not enough memory"); + rfbCloseClient(cl); +-- +2.11.0 + diff --git a/package/libvorbis/0001-CVE-2017-14160-fix-bounds-check-on-very-low-sample-rates.patch b/package/libvorbis/0001-CVE-2017-14160-fix-bounds-check-on-very-low-sample-rates.patch new file mode 100644 index 0000000000..e84f3d4799 --- /dev/null +++ b/package/libvorbis/0001-CVE-2017-14160-fix-bounds-check-on-very-low-sample-rates.patch @@ -0,0 +1,28 @@ +From: Thomas Daede +Date: Wed, 9 May 2018 21:56:59 +0000 (-0700) +Subject: CVE-2017-14160: fix bounds check on very low sample rates. +X-Git-Url: https://git.xiph.org/?p=vorbis.git;a=commitdiff_plain;h=018ca26dece618457dd13585cad52941193c4a25 + +CVE-2017-14160: fix bounds check on very low sample rates. + +Downloaded from upstream commit +https://git.xiph.org/?p=vorbis.git;a=commitdiff;h=018ca26dece618457dd13585cad52941193c4a25 + +Signed-off-by: Bernd Kuhls +--- + +diff --git a/lib/psy.c b/lib/psy.c +index 422c6f1..1310123 100644 +--- a/lib/psy.c ++++ b/lib/psy.c +@@ -602,8 +602,9 @@ static void bark_noise_hybridmp(int n,const long *b, + for (i = 0, x = 0.f;; i++, x += 1.f) { + + lo = b[i] >> 16; +- if( lo>=0 ) break; + hi = b[i] & 0xffff; ++ if( lo>=0 ) break; ++ if( hi>=n ) break; + + tN = N[hi] + N[-lo]; + tX = X[hi] - X[-lo]; diff --git a/package/libvorbis/libvorbis.hash b/package/libvorbis/libvorbis.hash index e990f4d74f..15bd01f22a 100644 --- a/package/libvorbis/libvorbis.hash +++ b/package/libvorbis/libvorbis.hash @@ -1,2 +1,4 @@ # From http://www.xiph.org/downloads/ -sha256 54f94a9527ff0a88477be0a71c0bab09a4c3febe0ed878b24824906cd4b0e1d1 libvorbis-1.3.5.tar.xz +sha256 af00bb5a784e7c9e69f56823de4637c350643deedaf333d0fa86ecdba6fcb415 libvorbis-1.3.6.tar.xz +# License files, locally calculated +sha256 29e9914e6173b7061b7d48c25e6159fc1438326738bc047cc7248abc01b271f6 COPYING diff --git a/package/libvorbis/libvorbis.mk b/package/libvorbis/libvorbis.mk index 98ec97bfd6..ae2c1efffe 100644 --- a/package/libvorbis/libvorbis.mk +++ b/package/libvorbis/libvorbis.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBVORBIS_VERSION = 1.3.5 +LIBVORBIS_VERSION = 1.3.6 LIBVORBIS_SOURCE = libvorbis-$(LIBVORBIS_VERSION).tar.xz LIBVORBIS_SITE = http://downloads.xiph.org/releases/vorbis LIBVORBIS_INSTALL_STAGING = YES diff --git a/package/libxml2/0001-CVE-2017-8872.patch b/package/libxml2/0001-CVE-2017-8872.patch new file mode 100644 index 0000000000..b7a75c19a7 --- /dev/null +++ b/package/libxml2/0001-CVE-2017-8872.patch @@ -0,0 +1,33 @@ +From 8b329effb610f4138e4e680f6a6867570f6d6179 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 9 Feb 2018 10:58:11 +0200 +Subject: [PATCH] CVE-2017-8872 + +Taken from attachment to upstream bug report comment #9. + +https://bugzilla.gnome.org/show_bug.cgi?id=775200#c9 +https://bugzilla.gnome.org/attachment.cgi?id=366193&action=diff + +Signed-off-by: Baruch Siach +--- + parser.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/parser.c b/parser.c +index 1c5e036ea265..025111067ae8 100644 +--- a/parser.c ++++ b/parser.c +@@ -12467,6 +12467,10 @@ xmlHaltParser(xmlParserCtxtPtr ctxt) { + ctxt->input->cur = BAD_CAST""; + ctxt->input->base = ctxt->input->cur; + ctxt->input->end = ctxt->input->cur; ++ if (ctxt->input->buf) ++ xmlBufEmpty (ctxt->input->buf->buffer); ++ else ++ ctxt->input->length = 0; + } + } + +-- +2.15.1 + diff --git a/package/libxml2/libxml2.hash b/package/libxml2/libxml2.hash index 217a51fc96..f7e046bff6 100644 --- a/package/libxml2/libxml2.hash +++ b/package/libxml2/libxml2.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 4031c1ecee9ce7ba4f313e91ef6284164885cdb69937a123f6a83bb6a72dcd38 libxml2-2.9.5.tar.gz +sha256 f63c5e7d30362ed28b38bfa1ac6313f9a80230720b7fb6c80575eeab3ff5900c libxml2-2.9.7.tar.gz # License files, locally calculated sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd COPYING diff --git a/package/libxml2/libxml2.mk b/package/libxml2/libxml2.mk index 1b870c4cbd..a6285a6946 100644 --- a/package/libxml2/libxml2.mk +++ b/package/libxml2/libxml2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXML2_VERSION = 2.9.5 +LIBXML2_VERSION = 2.9.7 LIBXML2_SITE = ftp://xmlsoft.org/libxml2 LIBXML2_INSTALL_STAGING = YES LIBXML2_LICENSE = MIT diff --git a/package/libxslt/0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch b/package/libxslt/0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch deleted file mode 100644 index 1ad494a6c0..0000000000 --- a/package/libxslt/0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch +++ /dev/null @@ -1,35 +0,0 @@ -From eb1030de31165b68487f288308f9d1810fed6880 Mon Sep 17 00:00:00 2001 -From: Nick Wellnhofer -Date: Fri, 10 Jun 2016 14:23:58 +0200 -Subject: [PATCH] Fix heap overread in xsltFormatNumberConversion - -An empty decimal-separator could cause a heap overread. This can be -exploited to leak a couple of bytes after the buffer that holds the -pattern string. - -Found with afl-fuzz and ASan. - -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit eb1030de311 - - libxslt/numbers.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libxslt/numbers.c b/libxslt/numbers.c -index d1549b46ca26..e78c46b6357b 100644 ---- a/libxslt/numbers.c -+++ b/libxslt/numbers.c -@@ -1090,7 +1090,8 @@ xsltFormatNumberConversion(xsltDecimalFormatPtr self, - } - - /* We have finished the integer part, now work on fraction */ -- if (xsltUTF8Charcmp(the_format, self->decimalPoint) == 0) { -+ if ( (*the_format != 0) && -+ (xsltUTF8Charcmp(the_format, self->decimalPoint) == 0) ) { - format_info.add_decimal = TRUE; - the_format += xsltUTF8Size(the_format); /* Skip over the decimal */ - } --- -2.10.2 - diff --git a/package/libxslt/libxslt.hash b/package/libxslt/libxslt.hash index 8222bc590d..f28150b71e 100644 --- a/package/libxslt/libxslt.hash +++ b/package/libxslt/libxslt.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 b5976e3857837e7617b29f2249ebb5eeac34e249208d31f1fbf7a6ba7a4090ce libxslt-1.1.29.tar.gz +sha256 526ecd0abaf4a7789041622c3950c0e7f2c4c8835471515fd77eec684a355460 libxslt-1.1.32.tar.gz + +# Hash for license file: +sha256 7e48e290b6bfccc2ec1b297023a1d77f2fd87417f71fbb9f50aabef40a851819 COPYING diff --git a/package/libxslt/libxslt.mk b/package/libxslt/libxslt.mk index d89dde8d00..ae58e14a0e 100644 --- a/package/libxslt/libxslt.mk +++ b/package/libxslt/libxslt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXSLT_VERSION = 1.1.29 +LIBXSLT_VERSION = 1.1.32 LIBXSLT_SITE = ftp://xmlsoft.org/libxslt LIBXSLT_INSTALL_STAGING = YES LIBXSLT_LICENSE = MIT @@ -14,10 +14,9 @@ LIBXSLT_CONF_OPTS = \ --with-gnu-ld \ --without-debug \ --without-python \ - --with-libxml-prefix=$(STAGING_DIR)/usr/ \ - --with-libxml-libs-prefix=$(STAGING_DIR)/usr/lib + --with-libxml-prefix=$(STAGING_DIR)/usr LIBXSLT_CONFIG_SCRIPTS = xslt-config -LIBXSLT_DEPENDENCIES = libxml2 +LIBXSLT_DEPENDENCIES = host-pkgconf libxml2 # GCC bug with Os/O2/O3, PR77311 # error: unable to find a register to spill in class 'CCREGS' @@ -35,7 +34,7 @@ endif HOST_LIBXSLT_CONF_OPTS = --without-debug --without-python --without-crypto -HOST_LIBXSLT_DEPENDENCIES = host-libxml2 +HOST_LIBXSLT_DEPENDENCIES = host-pkgconf host-libxml2 $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/libzip/0001-Use-cmake-E-tar-to-extract-test-data.patch b/package/libzip/0001-Use-cmake-E-tar-to-extract-test-data.patch new file mode 100644 index 0000000000..7d40111b1b --- /dev/null +++ b/package/libzip/0001-Use-cmake-E-tar-to-extract-test-data.patch @@ -0,0 +1,40 @@ +From e9244b207c0fc883ff84c1fc46602feb1e2b0347 Mon Sep 17 00:00:00 2001 +From: Thomas Klausner +Date: Wed, 3 Jan 2018 11:41:57 +0100 +Subject: [PATCH] Use 'cmake -E tar' to extract test data. + +For easier cross-compilation (Github issue #21). + +Signed-off-by: Baruch Siach +--- +Patch status: upstream commit e9244b207c0 + + regress/CMakeLists.txt | 12 +++--------- + 1 file changed, 3 insertions(+), 9 deletions(-) + +diff --git a/regress/CMakeLists.txt b/regress/CMakeLists.txt +index e2ce232c774a..3a0d4f77dcf6 100644 +--- a/regress/CMakeLists.txt ++++ b/regress/CMakeLists.txt +@@ -51,15 +51,9 @@ ADD_CUSTOM_TARGET(cleanup + ADD_CUSTOM_TARGET(testinput + ALL + VERBATIM +- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 0 > manyfiles.zip +- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 1 > manyfiles-133000.zip +- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 2 > manyfiles-65536.zip +- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 3 > manyfiles-zip64-modulo.zip +- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 4 > manyfiles-zip64.zip +- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 5 > manyfiles-fewer.zip +- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 6 > manyfiles-more.zip +- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/bigzero-zip.zip cat 0 > bigzero.zip +- DEPENDS ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip ${CMAKE_CURRENT_SOURCE_DIR}/bigzero-zip.zip ++ COMMAND cmake -E tar x ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip ++ COMMAND cmake -E tar x ${CMAKE_CURRENT_SOURCE_DIR}/bigzero-zip.zip ++ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip ${CMAKE_CURRENT_SOURCE_DIR}/bigzero-zip.zip + ) + + SET_PROPERTY(DIRECTORY PROPERTY ADDITIONAL_MAKE_CLEAN_FILES +-- +2.15.1 + diff --git a/package/libzip/libzip.hash b/package/libzip/libzip.hash index d100982bc6..0eeb3130c0 100644 --- a/package/libzip/libzip.hash +++ b/package/libzip/libzip.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 aa936efe34911be7acac2ab07fb5c8efa53ed9bb4d44ad1fe8bff19630e0d373 libzip-1.3.0.tar.xz -sha256 d159ae325ca0b8236c44dfd980ca99810dbcfc057b077c50dbbda1131cbd263a LICENSE +sha256 e508aba025f5f94b267d5120fc33761bcd98440ebe49dbfe2ed3df3afeacc7b1 libzip-1.4.0.tar.xz +sha256 3c964a7eb1abeb6bd6f40035ed3a014728ff8c5437f107dcf24fbbfab16e227e LICENSE diff --git a/package/libzip/libzip.mk b/package/libzip/libzip.mk index 5ffa1cac00..537aa1deeb 100644 --- a/package/libzip/libzip.mk +++ b/package/libzip/libzip.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBZIP_VERSION = 1.3.0 +LIBZIP_VERSION = 1.4.0 LIBZIP_SITE = http://www.nih.at/libzip LIBZIP_SOURCE = libzip-$(LIBZIP_VERSION).tar.xz LIBZIP_LICENSE = BSD-3-Clause @@ -13,10 +13,9 @@ LIBZIP_INSTALL_STAGING = YES LIBZIP_DEPENDENCIES = zlib ifeq ($(BR2_PACKAGE_BZIP2),y) -LIBZIP_CONF_OPTS += --with-bzip2 LIBZIP_DEPENDENCIES += bzip2 else -LIBZIP_CONF_OPTS += --without-bzip2 +LIBZIP_CONF_OPTS += -DCMAKE_DISABLE_FIND_PACKAGE_BZIP2=TRUE endif -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/package/zlib/zlib.hash b/package/libzlib/libzlib.hash similarity index 100% rename from package/zlib/zlib.hash rename to package/libzlib/libzlib.hash diff --git a/package/libzlib/libzlib.mk b/package/libzlib/libzlib.mk new file mode 100644 index 0000000000..eea0c12f22 --- /dev/null +++ b/package/libzlib/libzlib.mk @@ -0,0 +1,78 @@ +################################################################################ +# +# libzlib +# +################################################################################ + +LIBZLIB_VERSION = 1.2.11 +LIBZLIB_SOURCE = zlib-$(LIBZLIB_VERSION).tar.xz +LIBZLIB_SITE = http://www.zlib.net +LIBZLIB_LICENSE = Zlib +LIBZLIB_LICENSE_FILES = README +LIBZLIB_INSTALL_STAGING = YES +LIBZLIB_PROVIDES = zlib + +# It is not possible to build only a shared version of zlib, so we build both +# shared and static, unless we only want the static libs, and we eventually +# selectively remove what we do not want +ifeq ($(BR2_STATIC_LIBS),y) +LIBZLIB_PIC = +LIBZLIB_SHARED = --static +else +LIBZLIB_PIC = -fPIC +LIBZLIB_SHARED = --shared +endif + +define LIBZLIB_CONFIGURE_CMDS + (cd $(@D); rm -rf config.cache; \ + $(TARGET_CONFIGURE_ARGS) \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS) $(LIBZLIB_PIC)" \ + ./configure \ + $(LIBZLIB_SHARED) \ + --prefix=/usr \ + ) +endef + +define HOST_LIBZLIB_CONFIGURE_CMDS + (cd $(@D); rm -rf config.cache; \ + $(HOST_CONFIGURE_ARGS) \ + $(HOST_CONFIGURE_OPTS) \ + ./configure \ + --prefix="$(HOST_DIR)" \ + --sysconfdir="$(HOST_DIR)/etc" \ + ) +endef + +define LIBZLIB_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) +endef + +define HOST_LIBZLIB_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE1) -C $(@D) +endef + +define LIBZLIB_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) DESTDIR=$(STAGING_DIR) LDCONFIG=true install +endef + +define LIBZLIB_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) DESTDIR=$(TARGET_DIR) LDCONFIG=true install +endef + +# We don't care removing the .a from target, since it not used at link +# time to build other packages, and it is anyway removed later before +# assembling the filesystem images anyway. +ifeq ($(BR2_SHARED_LIBS),y) +define LIBZLIB_RM_STATIC_STAGING + rm -f $(STAGING_DIR)/usr/lib/libz.a +endef +LIBZLIB_POST_INSTALL_STAGING_HOOKS += LIBZLIB_RM_STATIC_STAGING +endif + +define HOST_LIBZLIB_INSTALL_CMDS + $(HOST_MAKE_ENV) $(MAKE1) -C $(@D) LDCONFIG=true install +endef + +$(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/lightning/lightning.hash b/package/lightning/lightning.hash index 4805686e98..8e78ef4f81 100644 --- a/package/lightning/lightning.hash +++ b/package/lightning/lightning.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 1fa3a2421852598b3162d6765645bb3cd0fccb5f0c105d0800c64c8428b749a6 lightning-2.1.0.tar.gz +sha256 9b289ed1c977602f9282da507db2e980dcfb5207ee8bd2501536a6852a157a69 lightning-2.1.2.tar.gz +sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSER diff --git a/package/lightning/lightning.mk b/package/lightning/lightning.mk index 2b4931becc..b93946146d 100644 --- a/package/lightning/lightning.mk +++ b/package/lightning/lightning.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIGHTNING_VERSION = 2.1.0 +LIGHTNING_VERSION = 2.1.2 LIGHTNING_SITE = $(BR2_GNU_MIRROR)/lightning LIGHTNING_LICENSE = LGPL-3.0+ LIGHTNING_LICENSE_FILES = COPYING.LESSER diff --git a/package/lighttpd/lighttpd.hash b/package/lighttpd/lighttpd.hash index 36783ff18b..813d1cd0e0 100644 --- a/package/lighttpd/lighttpd.hash +++ b/package/lighttpd/lighttpd.hash @@ -1,2 +1,4 @@ # From http://www.lighttpd.net/ -sha256 1c97225deea33eefba6d4158c2cef27913d47553263516bbe9d2e2760fc43a3f lighttpd-1.4.45.tar.xz +sha256 0f8ad5aac7529d7b948b9d7e8cd0b4a9e177309d85d6bf6516e28e6e40d74f36 lighttpd-1.4.48.tar.xz +# Locally calculated +sha256 5c98cad2fbaf5c5e2562bcbab401a7c557c1bb1bac9914ecc63730925052fb13 COPYING diff --git a/package/lighttpd/lighttpd.mk b/package/lighttpd/lighttpd.mk index 97ddfc63b0..0a09d9127b 100644 --- a/package/lighttpd/lighttpd.mk +++ b/package/lighttpd/lighttpd.mk @@ -5,7 +5,7 @@ ################################################################################ LIGHTTPD_VERSION_MAJOR = 1.4 -LIGHTTPD_VERSION = $(LIGHTTPD_VERSION_MAJOR).45 +LIGHTTPD_VERSION = $(LIGHTTPD_VERSION_MAJOR).48 LIGHTTPD_SOURCE = lighttpd-$(LIGHTTPD_VERSION).tar.xz LIGHTTPD_SITE = http://download.lighttpd.net/lighttpd/releases-$(LIGHTTPD_VERSION_MAJOR).x LIGHTTPD_LICENSE = BSD-3-Clause @@ -96,6 +96,9 @@ define LIGHTTPD_INSTALL_INIT_SYSTEMD ln -fs ../../../../usr/lib/systemd/system/lighttpd.service \ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/lighttpd.service + + $(INSTALL) -D -m 644 package/lighttpd/lighttpd_tmpfiles.conf \ + $(TARGET_DIR)/usr/lib/tmpfiles.d/lighttpd.conf endef $(eval $(autotools-package)) diff --git a/package/lighttpd/lighttpd_tmpfiles.conf b/package/lighttpd/lighttpd_tmpfiles.conf new file mode 100644 index 0000000000..a24f3f7fbf --- /dev/null +++ b/package/lighttpd/lighttpd_tmpfiles.conf @@ -0,0 +1,2 @@ +f /var/log/lighttpd-access.log 0640 www-data www-data - +f /var/log/lighttpd-error.log 0640 www-data www-data - diff --git a/package/linknx/linknx.mk b/package/linknx/linknx.mk index fcef475dba..dfabef550e 100644 --- a/package/linknx/linknx.mk +++ b/package/linknx/linknx.mk @@ -9,7 +9,6 @@ LINKNX_SITE = $(call github,linknx,linknx,$(LINKNX_VERSION)) LINKNX_LICENSE = GPL-2.0+ LINKNX_INSTALL_STAGING = YES LINKNX_CONF_OPTS = \ - --without-lua \ --without-log4cpp \ --without-pth-test \ --with-pth=$(STAGING_DIR)/usr \ @@ -18,6 +17,20 @@ LINKNX_CONF_OPTS = \ LINKNX_DEPENDENCIES = libpthsem \ $(if $(BR2_PACKAGE_ARGP_STANDALONE),argp-standalone) +ifeq ($(BR2_PACKAGE_LIBCURL),y) +LINKNX_CONF_OPTS += --with-libcurl=$(STAGING_DIR)/usr +LINKNX_DEPENDENCIES += libcurl +else +LINKNX_CONF_OPTS += --without-libcurl +endif + +ifeq ($(BR2_PACKAGE_LUA),y) +LINKNX_CONF_OPTS += --with-lua +LINKNX_DEPENDENCIES += lua +else +LINKNX_CONF_OPTS += --without-lua +endif + ifeq ($(BR2_PACKAGE_MYSQL),y) LINKNX_CONF_OPTS += --with-mysql=$(STAGING_DIR)/usr LINKNX_DEPENDENCIES += mysql diff --git a/package/links/links.mk b/package/links/links.mk index dd6adb29b1..651a089fda 100644 --- a/package/links/links.mk +++ b/package/links/links.mk @@ -15,7 +15,10 @@ ifeq ($(BR2_PACKAGE_LINKS_GRAPHICS),y) LINKS_CONF_OPTS += --enable-graphics LINKS_DEPENDENCIES += libpng ifeq ($(BR2_PACKAGE_XLIB_LIBXT),y) -LINKS_CONF_OPTS += --with-x +LINKS_CONF_OPTS += \ + --with-x \ + --x-includes=$(STAGING_DIR)/usr/include \ + --x-libraries=$(STAGING_DIR)/usr/lib LINKS_DEPENDENCIES += xlib_libXt else LINKS_CONF_OPTS += --without-x diff --git a/package/linphone/linphone.hash b/package/linphone/linphone.hash index 2e202cf10e..9ed9d37f77 100644 --- a/package/linphone/linphone.hash +++ b/package/linphone/linphone.hash @@ -1,6 +1,2 @@ # Locally calculated after checking pgp signature sha256 05ba81223e9378c3bce8d33080213b9925af49bd9623cd9004eb3dd22ca9d2a0 linphone-3.6.1.tar.gz -sha256 bc4ef670c0ecc1bb60bcb79374309b555c11d154bacfa363d809a26a58780933 libav9.patch -sha256 a50a8ac2caedb389c224f81393901a029fec055ec2ec83aa18d677e1bfe7fc73 libav10.patch -sha256 e384775c12ea93d3bc35dccfe4ea875c38b74be8af63fcb82e6b7f06e93d1593 libav11.patch -sha256 3367a26f65f49f4101787b1821402127d29cde9b02d3873112a5001a549cc7d9 ffmpeg_2.9.patch diff --git a/package/linphone/linphone.mk b/package/linphone/linphone.mk index a10d6bb208..4129c2a9e3 100644 --- a/package/linphone/linphone.mk +++ b/package/linphone/linphone.mk @@ -15,11 +15,6 @@ LINPHONE_INSTALL_STAGING = YES LINPHONE_DEPENDENCIES = host-pkgconf libeXosip2 speex LINPHONE_LICENSE = GPL-2.0+ LINPHONE_LICENSE_FILES = COPYING -LINPHONE_PATCH = \ - https://sources.debian.net/data/main/l/linphone/3.6.1-2.5/debian/patches/libav9.patch \ - https://sources.debian.net/data/main/l/linphone/3.6.1-2.5/debian/patches/libav10.patch \ - https://sources.debian.net/data/main/l/linphone/3.6.1-2.5/debian/patches/libav11.patch \ - https://sources.debian.net/data/main/l/linphone/3.6.1-2.5/debian/patches/ffmpeg_2.9.patch ifeq ($(BR2_arc),y) # toolchain __arc__ define conflicts with libosip2 source diff --git a/package/linux-firmware/Config.in b/package/linux-firmware/Config.in index ad750e82ff..f93561ee14 100644 --- a/package/linux-firmware/Config.in +++ b/package/linux-firmware/Config.in @@ -78,6 +78,11 @@ config BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271 help Firmware files for the Atheros 9271 module +config BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X + bool "Atheros 10k (QCA998X)" + help + Firmware files for the Atheros QCA988X module + config BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX bool "Broadcom BRCM bcm43xx" help @@ -151,6 +156,12 @@ config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265 Firmware files for the Intel Wifi 8265 devices supported by the iwlwifi kernel driver. +config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_9XXX + bool "Intel iwlwifi 9xxx" + help + Firmware files for the Intel Wifi 9xxx devices supported by + the iwlwifi kernel driver. + config BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8 bool "Libertas SD 8686 v8" help @@ -246,6 +257,11 @@ config BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX help Realtek rtl8821ae +config BR2_PACKAGE_LINUX_FIRMWARE_REDPINE_RS9113 + bool "Redpine rs9113" + help + Firmware files for WLAN and Bluetooth modules rs9113 + config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X bool "TI wl127x" help @@ -338,4 +354,23 @@ config BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_2XXX endmenu +menu "Intel QuickAssist Firmware" + +config BR2_PACKAGE_LINUX_FIRMWARE_QAT_DH895XCC + bool "Support for DH895xCC" + help + Firmware files for Intel DH895xCC devices + +config BR2_PACKAGE_LINUX_FIRMWARE_QAT_C3XXX + bool "Support for C3XXX" + help + Firmware files for Intel C3XXX devices + +config BR2_PACKAGE_LINUX_FIRMWARE_QAT_C62X + bool "Support for C62X" + help + Firmware files for Intel C62X devices + +endmenu + endif diff --git a/package/linux-firmware/linux-firmware.hash b/package/linux-firmware/linux-firmware.hash index 9b8dfedb8e..1beb1f76da 100644 --- a/package/linux-firmware/linux-firmware.hash +++ b/package/linux-firmware/linux-firmware.hash @@ -1,2 +1,27 @@ # Locally calculated -sha256 ec58d9aaf3cf80f768c32ba22d925c0542436ef3ee4588acd3e49b12ca2ed9d9 linux-firmware-a3a26af24e29c818ef9b5661856018e21a5c49fb.tar.gz +sha256 d253f7abb32e0407bcc840a5bddba1dc20190bb4a4bb6d40512f279fde384671 linux-firmware-65b1c68c63f974d72610db38dfae49861117cae2.tar.gz +sha256 8116433f4004fc0c24d72b3d9e497808b724aa0e5e1cd63fc1bf66b715b1e2e9 LICENCE.Abilis +sha256 38f2037aa14631b4b29826d7a99379613c41a97064d1defdee30a7a022138b20 LICENCE.Marvell +sha256 802b7014b26c606cf6248ae8b0ab1ce6d2d1b0db236d38dd269e676cd70710f2 LICENCE.atheros_firmware +sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx +sha256 a5777f9e80aca0603b0648454de996168b1c530322550ccda94d6d78bcf6c061 LICENCE.chelsio_firmware +sha256 60fbc9cccb455e1a3306c97db942d6f24fa93664be61d54c497637e6d0e2ae83 LICENCE.fw_sst_0f28 +sha256 5181b0b51efc79d5acb2c9bb92042878fdbad97a92114d4ab5e32e2b5b52fce4 LICENCE.ibt_firmware +sha256 0e0c11073ba3c832097da38e0905da36b8a3526f219407977b13b71c6675be7d LICENCE.it913x +sha256 e295020afd7597dc1b3bbe50a84a7e432d9cb92bc053c1c5e657b50d2517627b LICENCE.iwlwifi_firmware +sha256 2051d5bf0755a0668f8c3d9a0d1c41d4b8cc411aba70f720fda71ae9e3b4d25c LICENCE.qat_firmware +sha256 4071a11d878dbc0ac6d9e71203d03b151638f9d7a8bc47a54c3cb964100d5822 LICENCE.qla2xxx +sha256 d7bec70668ddd4aae8fb4aa32870e54b49fcdb0b9b007aa9f54b53a1ac7461bd LICENCE.ralink-firmware.txt +sha256 8568352b57f3574f9d5b2753cdb7c6e5eb2b79e82fbb9c9ba6566947467ef508 LICENCE.ralink_a_mediatek_company_firmware +sha256 a61351665b4f264f6c631364f85b907d8f8f41f8b369533ef4021765f9f3b62e LICENCE.rtlwifi_firmware.txt +sha256 106bef96470001e877fcf7ba0337fa6766a317650eb47fcaeb743eeebd62c4ff LICENCE.ti-connectivity +sha256 8ea9f4aee5f53ad877041ff089e8c95d34d615ce19a3111e5e1ea70d990ed7ff LICENCE.xc4000 +sha256 30ec8a66503dc73f83937564ae70ca23aa03259e64727ff4195b5b6f695e782f LICENCE.xc5000 +sha256 f8822049f32fef2e90a197bd8cf259f476db75d549456bdca8567616a9c07ace LICENCE.xc5000c +sha256 337a55102138d7baa143ee4a4c6c91693e0113fece35d380b2a12109e8c23b3f LICENSE.QualcommAtheros_ath10k +sha256 630fd46c95d3ac6544590c2265ba7348fbc930fb386261a1c04dcd9f403645b8 LICENSE.dib0700 +sha256 8542aeabf2761935122d693561e16766ce1bcc2b0d003204f9040b7d6d929f2e LICENSE.i915 +sha256 be904cd28cb292b80cdb6cf412ab0d9159d431671e987ad433c1f62e0988a9bc LICENSE.qcom +sha256 fc6223d4bfe9f2f9e2eddc44b9fe5721d0caf49f01cb08d602906add686d8c6f LICENSE.radeon +sha256 2bdd2e716f05d9737d3f9a20f9a3a3c0caee0e866100ddb0673f1178e42f92b9 LICENSE.sdma_firmware +sha256 9703115e298649dfad003d7d3d55f4b2bd417e28f19e9cf6d5c6f9a906a2c4d9 WHENCE diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk index d238abe9ea..82680937aa 100644 --- a/package/linux-firmware/linux-firmware.mk +++ b/package/linux-firmware/linux-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -LINUX_FIRMWARE_VERSION = a3a26af24e29c818ef9b5661856018e21a5c49fb +LINUX_FIRMWARE_VERSION = 65b1c68c63f974d72610db38dfae49861117cae2 LINUX_FIRMWARE_SITE = http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git LINUX_FIRMWARE_SITE_METHOD = git @@ -70,7 +70,9 @@ LINUX_FIRMWARE_FILES += \ rtlwifi/rtl8192defw.bin rtlwifi/rtl8192sefw.bin \ rtlwifi/rtl8188efw.bin rtlwifi/rtl8188eufw.bin \ rtlwifi/rtl8192cufw_A.bin \ - rtlwifi/rtl8192cufw_B.bin rtlwifi/rtl8192cufw_TMSC.bin + rtlwifi/rtl8192cufw_B.bin rtlwifi/rtl8192cufw_TMSC.bin \ + rtlwifi/rtl8192eefw.bin rtlwifi/rtl8192eu_ap_wowlan.bin \ + rtlwifi/rtl8192eu_nic.bin rtlwifi/rtl8192eu_wowlan.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt endif @@ -78,7 +80,13 @@ endif ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX),y) LINUX_FIRMWARE_FILES += \ rtlwifi/rtl8712u.bin rtlwifi/rtl8723fw.bin \ - rtlwifi/rtl8723fw_B.bin rtlwifi/rtl8723befw.bin + rtlwifi/rtl8723fw_B.bin rtlwifi/rtl8723befw.bin \ + rtlwifi/rtl8723aufw_A.bin rtlwifi/rtl8723aufw_B.bin \ + rtlwifi/rtl8723aufw_B_NoBT.bin rtlwifi/rtl8723befw.bin \ + rtlwifi/rtl8723bs_ap_wowlan.bin rtlwifi/rtl8723bs_bt.bin \ + rtlwifi/rtl8723bs_nic.bin rtlwifi/rtl8723bs_wowlan.bin \ + rtlwifi/rtl8723bu_ap_wowlan.bin rtlwifi/rtl8723bu_nic.bin \ + rtlwifi/rtl8723bu_wowlan.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt endif @@ -86,7 +94,8 @@ endif ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX),y) LINUX_FIRMWARE_FILES += \ rtlwifi/rtl8821aefw.bin \ - rtlwifi/rtl8821aefw_wowlan.bin + rtlwifi/rtl8821aefw_wowlan.bin \ + rtlwifi/rtl8821aefw_29.bin rtlwifi/rtl8822befw.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt endif @@ -126,6 +135,14 @@ LINUX_FIRMWARE_FILES += ar9271.fw htc_9271.fw ath9k_htc/htc_9271-1.4.0.fw LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware endif +# ath10k +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X),y) +LINUX_FIRMWARE_FILES += ath10k/QCA988X/hw2.0/board.bin \ + ath10k/QCA988X/hw2.0/firmware-4.bin \ + ath10k/QCA988X/hw2.0/firmware-5.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware +endif + # sd8686 v8 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8),y) LINUX_FIRMWARE_FILES += libertas/sd8686_v8.bin libertas/sd8686_v8_helper.bin @@ -317,6 +334,11 @@ LINUX_FIRMWARE_FILES += iwlwifi-8265-*.ucode LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware endif +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_9XXX),y) +LINUX_FIRMWARE_FILES += iwlwifi-9???-*.ucode +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware +endif + ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BNX2X),y) LINUX_FIRMWARE_FILES += bnx2x/* # No license file; the license is in the file WHENCE @@ -324,14 +346,12 @@ LINUX_FIRMWARE_FILES += bnx2x/* endif ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4),y) -# cxgb4/t4fw.bin is a symlink to cxgb4/t4fw-1.16.26.0.bin -LINUX_FIRMWARE_FILES += cxgb4/t4fw-1.16.26.0.bin cxgb4/t4fw.bin +LINUX_FIRMWARE_FILES += cxgb4/t4fw*.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware endif ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5),y) -# cxgb4/t5fw.bin is a symlink to cxgb4/t5fw-1.16.26.0.bin -LINUX_FIRMWARE_FILES += cxgb4/t5fw-1.16.26.0.bin cxgb4/t5fw.bin +LINUX_FIRMWARE_FILES += cxgb4/t5fw*.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware endif @@ -407,10 +427,10 @@ LINUX_FIRMWARE_FILES += \ brcm/brcmfmac43236b.bin brcm/brcmfmac43241b0-sdio.bin \ brcm/brcmfmac43241b4-sdio.bin brcm/brcmfmac43241b5-sdio.bin \ brcm/brcmfmac43242a.bin brcm/brcmfmac43340-sdio.bin \ - brcm/brcmfmac43362-sdio.bin brcm/brcmfmac43455-sdio.bin \ + brcm/brcmfmac43362-sdio.bin brcm/brcmfmac43430-sdio.bin \ + brcm/brcmfmac43430a0-sdio.bin brcm/brcmfmac43455-sdio.bin \ brcm/brcmfmac43569.bin brcm/brcmfmac43570-pcie.bin \ - brcm/brcmfmac43602-pcie.ap.bin brcm/brcmfmac43602-pcie.bin \ - brcm/brcmfmac43430-sdio.bin + brcm/brcmfmac43602-pcie.ap.bin brcm/brcmfmac43602-pcie.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx endif @@ -422,11 +442,33 @@ LINUX_FIRMWARE_FILES += \ LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qla2xxx endif +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_REDPINE_RS9113),y) +LINUX_FIRMWARE_FILES += rsi/rs9113_wlan_qspi.rps +# No license file; the license is in the file WHENCE +# which is installed unconditionally +endif + +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_DH895XCC),y) +# qat_mmp.bin is a symlink to qat_895xcc_mmp.bin +LINUX_FIRMWARE_FILES += qat_895xcc.bin qat_895xcc_mmp.bin qat_mmp.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware +endif + +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_C3XXX),y) +LINUX_FIRMWARE_FILES += qat_c3xxx.bin qat_c3xxx_mmp.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware +endif + +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_C62X),y) +LINUX_FIRMWARE_FILES += qat_c62x.bin qat_c62x_mmp.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware +endif + ifneq ($(LINUX_FIRMWARE_FILES),) define LINUX_FIRMWARE_INSTALL_FILES - cd $(@D) ; \ - $(TAR) c $(sort $(LINUX_FIRMWARE_FILES)) | \ - $(TAR) x -C $(TARGET_DIR)/lib/firmware + cd $(@D) && \ + $(TAR) cf install.tar $(sort $(LINUX_FIRMWARE_FILES)) && \ + $(TAR) xf install.tar -C $(TARGET_DIR)/lib/firmware endef endif diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index cff856eaeb..51b8b3768d 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -6,7 +6,7 @@ config BR2_PACKAGE_HOST_LINUX_HEADERS choice prompt "Kernel Headers" default BR2_KERNEL_HEADERS_AS_KERNEL if BR2_LINUX_KERNEL - default BR2_KERNEL_HEADERS_4_13 + default BR2_KERNEL_HEADERS_4_15 help Select the kernel version to get headers from. @@ -31,21 +31,6 @@ config BR2_KERNEL_HEADERS_3_2 depends on !BR2_aarch64 && !BR2_arc && !BR2_nios2 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 -config BR2_KERNEL_HEADERS_3_4 - bool "Linux 3.4.x kernel headers" - depends on !BR2_aarch64 && !BR2_arc && !BR2_nios2 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 - -config BR2_KERNEL_HEADERS_3_10 - bool "Linux 3.10.x kernel headers" - depends on !BR2_nios2 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 - -config BR2_KERNEL_HEADERS_3_12 - bool "Linux 3.12.x kernel headers" - depends on !BR2_nios2 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 - config BR2_KERNEL_HEADERS_4_1 bool "Linux 4.1.x kernel headers" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1 @@ -74,8 +59,24 @@ config BR2_KERNEL_HEADERS_4_13 bool "Linux 4.13.x kernel headers" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 +config BR2_KERNEL_HEADERS_4_14 + bool "Linux 4.14.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + +config BR2_KERNEL_HEADERS_4_15 + bool "Linux 4.15.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 + config BR2_KERNEL_HEADERS_VERSION bool "Manually specified Linux version" + help + This option allows you to use a specific official version from + kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ... + + Note: you cannot use this option to select a _longterm_ 2.6 + kernel, because these kernels are not located at the standard + URL at kernel.org. Instead, select "Custom tarball" and + specify the right URL directly. endchoice @@ -96,6 +97,14 @@ choice This is used to hide/show some packages that have strict requirements on the version of kernel headers. +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15 + bool "4.15.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 + +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14 + bool "4.14.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13 bool "4.13.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 @@ -239,15 +248,14 @@ endchoice config BR2_DEFAULT_KERNEL_HEADERS string - default "3.2.96" if BR2_KERNEL_HEADERS_3_2 - default "3.4.113" if BR2_KERNEL_HEADERS_3_4 - default "3.10.108" if BR2_KERNEL_HEADERS_3_10 - default "3.12.74" if BR2_KERNEL_HEADERS_3_12 - default "4.1.46" if BR2_KERNEL_HEADERS_4_1 - default "4.4.102" if BR2_KERNEL_HEADERS_4_4 - default "4.9.65" if BR2_KERNEL_HEADERS_4_9 + default "3.2.102" if BR2_KERNEL_HEADERS_3_2 + default "4.1.52" if BR2_KERNEL_HEADERS_4_1 + default "4.4.161" if BR2_KERNEL_HEADERS_4_4 + default "4.9.133" if BR2_KERNEL_HEADERS_4_9 default "4.10.17" if BR2_KERNEL_HEADERS_4_10 default "4.11.12" if BR2_KERNEL_HEADERS_4_11 default "4.12.14" if BR2_KERNEL_HEADERS_4_12 default "4.13.16" if BR2_KERNEL_HEADERS_4_13 + default "4.14.76" if BR2_KERNEL_HEADERS_4_14 + default "4.15.18" if BR2_KERNEL_HEADERS_4_15 default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in index e3ccd850f9..fd496bba06 100644 --- a/package/linux-tools/Config.in +++ b/package/linux-tools/Config.in @@ -48,9 +48,11 @@ config BR2_PACKAGE_LINUX_TOOLS_PERF code), single CPU or severals threads. This will build and install the userspace 'perf' - command. It is up to the user to ensure that the kernel - configuration has all the suitable options enabled to allow a - proper operation of 'perf'. + command. + + Your kernel must have CONFIG_PERF_EVENTS enabled to use perf + profiling. Buildroot automatically enables this in the kernel + configuration. https://perf.wiki.kernel.org/ diff --git a/package/linux-tools/linux-tool-iio.mk.in b/package/linux-tools/linux-tool-iio.mk.in index 60d6249d2f..a8cc89e830 100644 --- a/package/linux-tools/linux-tool-iio.mk.in +++ b/package/linux-tools/linux-tool-iio.mk.in @@ -19,9 +19,11 @@ define IIO_BUILD_CMDS $(IIO_MAKE_OPTS) endef +# DESTDIR used since kernel version 4.14 define IIO_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools/iio \ $(IIO_MAKE_OPTS) \ INSTALL_ROOT=$(TARGET_DIR) \ + DESTDIR=$(TARGET_DIR) \ install endef diff --git a/package/linuxptp/0001-missing.h-drop-clock_nanosleep-replacement.patch b/package/linuxptp/0001-missing.h-drop-clock_nanosleep-replacement.patch new file mode 100644 index 0000000000..54ef963ae4 --- /dev/null +++ b/package/linuxptp/0001-missing.h-drop-clock_nanosleep-replacement.patch @@ -0,0 +1,49 @@ +From 947bf03ec3d9eaa0bfc0269eed86b9364e94bc1a Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 5 Aug 2018 15:25:53 +0200 +Subject: [PATCH] missing.h: drop clock_nanosleep() replacement + +Since uClibc-ng commits 68628fe7d463541bf3c33da6b214e63c0cc9feed +("librt: declare clock_nanosleep not only for NPTL") and +ddbb03e77ac1a48740688814b82f45c97ee81f37 ("librt: clock_nanosleep +could be even used without threads"), clock_nanosleep() is always +provided by uClibc, regardless of the thread implementation (none, +linuxthreads, nptl). These commits will be part of the upcoming 1.0.31 +release of uClibc-ng. + +Thanks to this, we can drop the replacement clock_nanosleep() +implementation added by linuxptp. Without this, linuxptp fails to +build with: + +missing.h:117:19: error: static declaration of 'clock_nanosleep' follows non-static declaration + static inline int clock_nanosleep(clockid_t clock_id, int flags, + ^~~~~~~~~~~~~~~ +In file included from clockadj.h:24:0, + from clockadj.c:24: + +Signed-off-by: Thomas Petazzoni +--- + missing.h | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/missing.h b/missing.h +index 2f7adb9..60f89a3 100644 +--- a/missing.h ++++ b/missing.h +@@ -129,13 +129,6 @@ enum { + + #define TFD_TIMER_ABSTIME (1 << 0) + +-static inline int clock_nanosleep(clockid_t clock_id, int flags, +- const struct timespec *request, +- struct timespec *remain) +-{ +- return syscall(__NR_clock_nanosleep, clock_id, flags, request, remain); +-} +- + static inline int timerfd_create(int clockid, int flags) + { + return syscall(__NR_timerfd_create, clockid, flags); +-- +2.14.4 + diff --git a/package/linuxptp/Config.in b/package/linuxptp/Config.in index 3e18a0cb13..a32dbde2e1 100644 --- a/package/linuxptp/Config.in +++ b/package/linuxptp/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LINUXPTP bool "linuxptp" + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # clock_nanosleep() help The Linux PTP Project is the Precision Time Protocol implementation according to IEEE standard 1588 for Linux. @@ -11,3 +12,6 @@ config BR2_PACKAGE_LINUXPTP not a goal. http://linuxptp.sourceforge.net/ + +comment "linuxptp needs a toolchain w/ NPTL" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/linuxptp/linuxptp.hash b/package/linuxptp/linuxptp.hash index 91144df973..ef2db56226 100644 --- a/package/linuxptp/linuxptp.hash +++ b/package/linuxptp/linuxptp.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 40844a69df82853113732f15498f9bce2666d5052293a3d5d40a1983e7b7b6a6 linuxptp-17c9787b1d6891636b5be9e4e5a08278b44e9a7a.tar.gz +sha256 d0ccc4591966e21819cdc248765ebbe02456bc8ca37845eb7c23c2d1ff9bcf6b linuxptp-303b08cbf55096aba55bd08a314e0701e5c33482.tar.gz diff --git a/package/linuxptp/linuxptp.mk b/package/linuxptp/linuxptp.mk index 38d8e09221..f43fee6f69 100644 --- a/package/linuxptp/linuxptp.mk +++ b/package/linuxptp/linuxptp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LINUXPTP_VERSION = 17c9787b1d6891636b5be9e4e5a08278b44e9a7a +LINUXPTP_VERSION = 303b08cbf55096aba55bd08a314e0701e5c33482 LINUXPTP_SITE_METHOD = git LINUXPTP_SITE = git://git.code.sf.net/p/linuxptp/code LINUXPTP_LICENSE = GPL-2.0+ diff --git a/package/live555/0001-Add-a-pkg-config-file-for-the-shared-libraries.patch b/package/live555/0001-Add-a-pkg-config-file-for-the-shared-libraries.patch new file mode 100644 index 0000000000..a2ae1c183a --- /dev/null +++ b/package/live555/0001-Add-a-pkg-config-file-for-the-shared-libraries.patch @@ -0,0 +1,66 @@ +From: Benjamin Drung +Date: Sat, 16 Sep 2017 11:22:03 +0200 +Subject: Add a pkg-config file for the shared libraries + +This patch was downloaded from Debian +https://sources.debian.org/src/liblivemedia/2018.08.05-1/debian/patches/0002-Add-a-pkg-config-file-for-the-shared-libraries.patch/ + +The local/ part of PREXIX and LIBDIR was removed to fit into buildroot. + +A similar version of this patch is part of the vlc source repo: +http://git.videolan.org/?p=vlc.git;a=blob;f=contrib/src/live555/add-pkgconfig-file.patch;hb=HEAD + +Upstream status: Rejected +http://lists.live555.com/pipermail/live-devel/2013-January/016374.html +http://lists.live555.com/pipermail/live-devel/2013-January/016375.html + +Signed-off-by: Bernd Kuhls +--- + Makefile.head | 3 +++ + Makefile.tail | 7 ++++++- + live555.pc.in | 9 +++++++++ + 3 files changed, 18 insertions(+), 1 deletion(-) + create mode 100644 live555.pc.in + +diff --git a/Makefile.head b/Makefile.head +index 458c54c..1571037 100644 +--- a/Makefile.head ++++ b/Makefile.head +@@ -1 +1,4 @@ ++PREFIX = /usr ++LIBDIR = /usr/lib ++VERSION = $(shell grep LIVEMEDIA_LIBRARY_VERSION_STRING liveMedia/include/liveMedia_version.hh | sed 's/.*"\([^"]*\)".*/\1/') + ##### Change the following for your environment: +diff --git a/Makefile.tail b/Makefile.tail +index fc594ea..a20a527 100644 +--- a/Makefile.tail ++++ b/Makefile.tail +@@ -22,7 +22,12 @@ all: + @echo + @echo "For more information about this source code (including your obligations under the LGPL), please see our FAQ at http://live555.com/liveMedia/faq.html" + +-install: ++install_shared_libraries: ++ install -d $(DESTDIR)$(LIBDIR)/pkgconfig ++ sed "s#@PREFIX@#$(PREFIX)#;s#@LIBDIR@#$(LIBDIR)#;s#@VERSION@#$(VERSION)#" live555.pc.in > $(DESTDIR)$(LIBDIR)/pkgconfig/live555.pc ++ chmod 644 $(DESTDIR)$(LIBDIR)/pkgconfig/live555.pc ++ ++install: $(INSTALL2) + cd $(LIVEMEDIA_DIR) ; $(MAKE) install + cd $(GROUPSOCK_DIR) ; $(MAKE) install + cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE) install +diff --git a/live555.pc.in b/live555.pc.in +new file mode 100644 +index 0000000..3736944 +--- /dev/null ++++ b/live555.pc.in +@@ -0,0 +1,9 @@ ++prefix=@PREFIX@ ++libdir=@LIBDIR@ ++includedir=${prefix}/include ++ ++Name: live555 ++Description: multimedia RTSP streaming library ++Version: @VERSION@ ++Cflags: -I${includedir}/liveMedia -I${includedir}/groupsock -I${includedir}/BasicUsageEnvironment -I${includedir}/UsageEnvironment ++Libs: -L${libdir} -lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment diff --git a/package/live555/live555.hash b/package/live555/live555.hash index 67500fb2b7..024dcac124 100644 --- a/package/live555/live555.hash +++ b/package/live555/live555.hash @@ -1,4 +1,5 @@ # From http://live555.com/liveMedia/public/live555-latest-md5.txt -md5 890ee3a3ea7a1df5843df9f9429170d7 live.2017.07.18.tar.gz +md5 3383dea853735b7a73eda6ddb52b6372 live.2018.10.17.tar.gz # Locally generated -sha256 b2e857e47a9bac09958cbf313f160265067555f66f9282f10c6419d63c620ab6 live.2017.07.18.tar.gz +sha256 7c68d9c95b39acd309a2b6a4fc14c3837544a9be3f64062ed38d1ad6f68dc9e8 live.2018.10.17.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/live555/live555.mk b/package/live555/live555.mk index dcd8a955f9..6a6d353650 100644 --- a/package/live555/live555.mk +++ b/package/live555/live555.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIVE555_VERSION = 2017.07.18 +LIVE555_VERSION = 2018.10.17 LIVE555_SOURCE = live.$(LIVE555_VERSION).tar.gz LIVE555_SITE = http://www.live555.com/liveMedia/public LIVE555_LICENSE = LGPL-2.1+ diff --git a/package/ljlinenoise/Config.in b/package/ljlinenoise/Config.in index 61c80df0d1..e6b587e65d 100644 --- a/package/ljlinenoise/Config.in +++ b/package/ljlinenoise/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_LJLINENOISE ljlinenoise is a pure LuaJIT port of linenoise, a small alternative to readline and libedit. - http://fperrad.github.io/ljlinenoise/ + https://fperrad.frama.io/ljlinenoise/ comment "ljlinenoise needs LuaJIT" depends on !BR2_PACKAGE_LUAJIT diff --git a/package/ljlinenoise/ljlinenoise.hash b/package/ljlinenoise/ljlinenoise.hash index 7b4a948c52..c70b5d6807 100644 --- a/package/ljlinenoise/ljlinenoise.hash +++ b/package/ljlinenoise/ljlinenoise.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 a5fa2a88d8232bd0f97d3af9aafe780cd855830b42a9ab87c9ae2a5697b044a1 ljlinenoise-0.1.2-1.src.rock +sha256 7a6c4142b0096106f498d7ee4bea5bf5086c076d1f071893441b8e5c0665fb47 ljlinenoise-0.1.3-1.src.rock diff --git a/package/ljlinenoise/ljlinenoise.mk b/package/ljlinenoise/ljlinenoise.mk index edcbdc95df..f021d9381f 100644 --- a/package/ljlinenoise/ljlinenoise.mk +++ b/package/ljlinenoise/ljlinenoise.mk @@ -4,7 +4,7 @@ # ################################################################################ -LJLINENOISE_VERSION = 0.1.2-1 +LJLINENOISE_VERSION = 0.1.3-1 LJLINENOISE_LICENSE = MIT LJLINENOISE_LICENSE_FILES = $(LJLINENOISE_SUBDIR)/COPYRIGHT diff --git a/package/lldpd/0003-configure-remove-check-on-CXX-compiler.patch b/package/lldpd/0003-configure-remove-check-on-CXX-compiler.patch new file mode 100644 index 0000000000..880f603f71 --- /dev/null +++ b/package/lldpd/0003-configure-remove-check-on-CXX-compiler.patch @@ -0,0 +1,35 @@ +From d28b3bfa1b224f7770004dddf4dfaf10ad7ad6c9 Mon Sep 17 00:00:00 2001 +From: Damien Riegel +Date: Mon, 18 Dec 2017 14:37:08 -0500 +Subject: [PATCH] configure: remove check on CXX compiler + +lldpd fails to build if the toolchain doesn't have a C++ compiler +because configure fails with the following error: + + checking how to run the C++ preprocessor... /lib/cpp + configure: error: in `/home/dkc/src/buildroot/build-zii/build/lldpd-0.9.4': + configure: error: C++ preprocessor "/lib/cpp" fails sanity check + +Since "8d92800b: build: cleaner way to not alter CFLAGS/CPPFLAGS/LDFLAGS", +it seems that the dependency on C++ is not required anymore, so there +is no reason to keep this restriction. Dropping AC_PROG_CXX allows to +build with a toolchain that doesn't have C++ just fine. +--- + configure.ac | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0edceb1..5afe8f2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -48,7 +48,6 @@ AC_PROG_CC_C99 + if test x"$ac_cv_prog_cc_c99" = x"no"; then + AC_MSG_FAILURE([*** C99 support is mandatory]) + fi +-AC_PROG_CXX + AM_PROG_CC_C_O + AC_PROG_LIBTOOL + AC_PROG_LN_S +-- +2.15.1 + diff --git a/package/lldpd/lldpd.mk b/package/lldpd/lldpd.mk index 349c556c14..2bdda0213e 100644 --- a/package/lldpd/lldpd.mk +++ b/package/lldpd/lldpd.mk @@ -9,7 +9,7 @@ LLDPD_SITE = http://media.luffy.cx/files/lldpd LLDPD_DEPENDENCIES = host-pkgconf libevent LLDPD_LICENSE = ISC LLDPD_LICENSE_FILES = README.md -# 0002-configure-do-not-check-for-libbsd.patch +# 0002-configure-do-not-check-for-libbsd.patch / 0003-configure-remove-check-on-CXX-compiler.patch LLDPD_AUTORECONF = YES ifeq ($(BR2_PACKAGE_CHECK),y) diff --git a/package/lm-sensors/lm-sensors.mk b/package/lm-sensors/lm-sensors.mk index f581b5cd8f..6fc7ce4981 100644 --- a/package/lm-sensors/lm-sensors.mk +++ b/package/lm-sensors/lm-sensors.mk @@ -26,7 +26,7 @@ LM_SENSORS_MAKE_OPTS = \ PREFIX=/usr ifeq ($(BR2_STATIC_LIBS),y) -LM_SENSORS_MAKE_OPTS += BUILD_SHARED_LIB=0 +LM_SENSORS_MAKE_OPTS += BUILD_SHARED_LIB=0 EXLDFLAGS=-static else LM_SENSORS_MAKE_OPTS += BUILD_SHARED_LIB=1 endif diff --git a/package/lockfile-progs/lockfile-progs.mk b/package/lockfile-progs/lockfile-progs.mk index 57df573d4a..ed192f1028 100644 --- a/package/lockfile-progs/lockfile-progs.mk +++ b/package/lockfile-progs/lockfile-progs.mk @@ -11,7 +11,7 @@ LOCKFILE_PROGS_DEPENDENCIES = liblockfile LOCKFILE_PROGS_LICENSE = GPL-2.0 LOCKFILE_PROGS_LICENSE_FILES = COPYING -LOCKFILE_BINS = \ +LOCKFILE_PROGS_BINS = \ $(addprefix lockfile-,check create remove touch) \ $(addprefix mail-,lock touchlock unlock) @@ -20,7 +20,7 @@ define LOCKFILE_PROGS_BUILD_CMDS endef define LOCKFILE_PROGS_INSTALL_TARGET_CMDS - for i in $(LOCKFILE_BINS); do \ + for i in $(LOCKFILE_PROGS_BINS); do \ $(INSTALL) -D -m 755 $(@D)/bin/$$i $(TARGET_DIR)/usr/bin/$$i || exit 1; \ done endef diff --git a/package/log4cplus/log4cplus.mk b/package/log4cplus/log4cplus.mk index 292fa66d49..b4a57c36c3 100644 --- a/package/log4cplus/log4cplus.mk +++ b/package/log4cplus/log4cplus.mk @@ -7,7 +7,7 @@ LOG4CPLUS_VERSION = 1.1.2 LOG4CPLUS_SOURCE = log4cplus-$(LOG4CPLUS_VERSION).tar.xz LOG4CPLUS_SITE = http://downloads.sourceforge.net/project/log4cplus/log4cplus-stable/$(LOG4CPLUS_VERSION) -LOG4CPLUS_LICENSE = Apache-2.0 +LOG4CPLUS_LICENSE = Apache-2.0, BSD-2-Clause LOG4CPLUS_LICENSE_FILES = LICENSE LOG4CPLUS_INSTALL_STAGING = YES diff --git a/package/lrzsz/lrzsz.mk b/package/lrzsz/lrzsz.mk index 5dac07a295..25ecf3dead 100644 --- a/package/lrzsz/lrzsz.mk +++ b/package/lrzsz/lrzsz.mk @@ -24,6 +24,10 @@ define LRZSZ_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 -D $(@D)/src/lsz $(TARGET_DIR)/usr/bin/sz ln -sf rz $(TARGET_DIR)/usr/bin/lrz ln -sf sz $(TARGET_DIR)/usr/bin/lsz + ln -sf rz $(TARGET_DIR)/usr/bin/rb + ln -sf sz $(TARGET_DIR)/usr/bin/sb + ln -sf rz $(TARGET_DIR)/usr/bin/rx + ln -sf sz $(TARGET_DIR)/usr/bin/sx endef $(eval $(autotools-package)) diff --git a/package/ltp-testsuite/0002-numa-Fix-numa-v2-detection-for-cross-compilation.patch b/package/ltp-testsuite/0002-numa-Fix-numa-v2-detection-for-cross-compilation.patch new file mode 100644 index 0000000000..6ad1db046e --- /dev/null +++ b/package/ltp-testsuite/0002-numa-Fix-numa-v2-detection-for-cross-compilation.patch @@ -0,0 +1,37 @@ +From 01c134f30be755a43af12a4ae2c31177d04be790 Mon Sep 17 00:00:00 2001 +From: Petr Vorel +Date: Mon, 29 Jan 2018 10:31:40 +0100 +Subject: [PATCH] numa: Fix numa v2 detection for cross compilation + +Changed to AC_COMPILE_IFELSE as AC_RUN_IFELSE cannot be run while +cross compiling. + +Bug found by Buildroot project. + +Signed-off-by: Petr Vorel +Reported-by: Baruch Siach +--- + m4/ltp-numa.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/m4/ltp-numa.m4 b/m4/ltp-numa.m4 +index fc3383e97..633f54c18 100644 +--- a/m4/ltp-numa.m4 ++++ b/m4/ltp-numa.m4 +@@ -28,11 +28,11 @@ AC_DEFUN([LTP_CHECK_SYSCALL_NUMA], [ + AC_CHECK_HEADERS([numa.h numaif.h], [], [have_numa_headers=no]) + + if test "x$have_numa_headers" != "xno"; then +- AC_RUN_IFELSE([AC_LANG_PROGRAM([ ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ + #include + ], [ + #if LIBNUMA_API_VERSION < 2 +-exit(1); ++# error Required numa headers >= 2 + #endif + ])], [have_numa_headers_v2=yes]) + fi +-- +2.16.0 + diff --git a/package/ltp-testsuite/0002-uClibc-ng-has-no-profil-support.patch b/package/ltp-testsuite/0002-uClibc-ng-has-no-profil-support.patch deleted file mode 100644 index c1496037c1..0000000000 --- a/package/ltp-testsuite/0002-uClibc-ng-has-no-profil-support.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 4ab7dc5fd201318e2a62dbd3ba1680b97034ec65 Mon Sep 17 00:00:00 2001 -From: Erico Nunes -Date: Fri, 30 Sep 2016 17:45:03 +0200 -Subject: [PATCH] uClibc-ng has no profil() support - -Signed-off-by: Waldemar Brodkorb -[Erico: Rebase for ltp 20160920] -Signed-off-by: Erico Nunes ---- - testcases/kernel/syscalls/profil/profil01.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/testcases/kernel/syscalls/profil/profil01.c b/testcases/kernel/syscalls/profil/profil01.c -index 2fc47aa..f8afd57 100644 ---- a/testcases/kernel/syscalls/profil/profil01.c -+++ b/testcases/kernel/syscalls/profil/profil01.c -@@ -37,6 +37,9 @@ - #define PROFIL_BUFLEN (32*1024) - - char *TCID = "profil01"; -+ -+#if !defined(__UCLIBC__) -+ - int TST_TOTAL = 1; - - static volatile sig_atomic_t profil_done; -@@ -124,3 +127,9 @@ int main(int ac, char *av[]) - - tst_exit(); - } -+#else /* systems that dont support profil */ -+int main(void) -+{ -+ tst_brkm(TCONF, NULL, "system doesn't have profil support"); -+} -+#endif --- -2.7.4 - diff --git a/package/ltp-testsuite/0003-uClibc-ng-need-__UCLIBC_SV4_DEPRECATED__-enabled-for.patch b/package/ltp-testsuite/0003-uClibc-ng-need-__UCLIBC_SV4_DEPRECATED__-enabled-for.patch deleted file mode 100644 index 14f5888ded..0000000000 --- a/package/ltp-testsuite/0003-uClibc-ng-need-__UCLIBC_SV4_DEPRECATED__-enabled-for.patch +++ /dev/null @@ -1,84 +0,0 @@ -From bb966fd9efc3b9bec3ca72b0e72dd760434e0f10 Mon Sep 17 00:00:00 2001 -From: Erico Nunes -Date: Fri, 30 Sep 2016 17:45:16 +0200 -Subject: [PATCH] uClibc-ng need __UCLIBC_SV4_DEPRECATED__ enabled for ustat - -Signed-off-by: Waldemar Brodkorb -[Erico: Rebase for ltp 20160920] -Signed-off-by: Erico Nunes ---- - testcases/kernel/syscalls/ustat/ustat01.c | 12 ++++++++++++ - testcases/kernel/syscalls/ustat/ustat02.c | 10 ++++++++++ - 2 files changed, 22 insertions(+) - -diff --git a/testcases/kernel/syscalls/ustat/ustat01.c b/testcases/kernel/syscalls/ustat/ustat01.c -index 494647b..35e0bb1 100644 ---- a/testcases/kernel/syscalls/ustat/ustat01.c -+++ b/testcases/kernel/syscalls/ustat/ustat01.c -@@ -21,7 +21,9 @@ - - #include - #include -+#if !defined(__UCLIBC__) || defined(__UCLIBC_SV4_DEPRECATED__) - #include -+#endif - #include - #include - #include "test.h" -@@ -30,6 +32,9 @@ - static void setup(void); - - char *TCID = "ustat01"; -+ -+#if !defined(__UCLIBC__) || defined(__UCLIBC_SV4_DEPRECATED__) -+ - int TST_TOTAL = 1; - - static dev_t dev_num; -@@ -79,3 +84,10 @@ static void setup(void) - - dev_num = buf.st_dev; - } -+#else /* systems that dont support ustat */ -+int main(void) -+{ -+ tst_brkm(TCONF, NULL, "system doesn't have ustat support"); -+} -+#endif -+ -diff --git a/testcases/kernel/syscalls/ustat/ustat02.c b/testcases/kernel/syscalls/ustat/ustat02.c -index edada31..795c605 100644 ---- a/testcases/kernel/syscalls/ustat/ustat02.c -+++ b/testcases/kernel/syscalls/ustat/ustat02.c -@@ -22,7 +22,9 @@ - - #include - #include -+#if !defined(__UCLIBC__) || defined(__UCLIBC_SV4_DEPRECATED__) - #include -+#endif - #include - #include - #include "test.h" -@@ -32,6 +34,8 @@ static void setup(void); - - char *TCID = "ustat02"; - -+#if !defined(__UCLIBC__) || defined(__UCLIBC_SV4_DEPRECATED__) -+ - static dev_t invalid_dev = -1; - static dev_t root_dev; - struct ustat ubuf; -@@ -101,3 +105,9 @@ static void setup(void) - - root_dev = buf.st_dev; - } -+#else /* systems that dont support ustat */ -+int main(void) -+{ -+ tst_brkm(TCONF, NULL, "system doesn't have ustat support"); -+} -+#endif --- -2.7.4 - diff --git a/package/ltp-testsuite/Config.in b/package/ltp-testsuite/Config.in index 4c00e40f33..711c859e6c 100644 --- a/package/ltp-testsuite/Config.in +++ b/package/ltp-testsuite/Config.in @@ -5,11 +5,6 @@ config BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS # provided in ltp-testsuite default y if BR2_TOOLCHAIN_HAS_SYNC_4 default y if BR2_arc - default y if BR2_i386 - default y if BR2_powerpc - default y if BR2_powepc64 - default y if BR2_powerpc64le - default y if BR2_x86_64 # does not build on nios2, cachectl.h issue depends on !BR2_nios2 diff --git a/package/ltp-testsuite/ltp-testsuite.hash b/package/ltp-testsuite/ltp-testsuite.hash index 42feaade27..d75d204385 100644 --- a/package/ltp-testsuite/ltp-testsuite.hash +++ b/package/ltp-testsuite/ltp-testsuite.hash @@ -1,2 +1,2 @@ -# From: https://github.com/linux-test-project/ltp/releases/download/20170929/ltp-full-20170929.tar.xz.sha1 -sha1 a170db3bc7203c9a998a277a369e7020dc61a382 ltp-full-20170929.tar.xz +# From: https://github.com/linux-test-project/ltp/releases/download/20180118/ltp-full-20180118.tar.xz.sha1 +sha1 2e643f1e29cd89efc8059729f60237a427fd409e ltp-full-20180118.tar.xz diff --git a/package/ltp-testsuite/ltp-testsuite.mk b/package/ltp-testsuite/ltp-testsuite.mk index bbeee5b23d..c47f587836 100644 --- a/package/ltp-testsuite/ltp-testsuite.mk +++ b/package/ltp-testsuite/ltp-testsuite.mk @@ -4,7 +4,7 @@ # ################################################################################ -LTP_TESTSUITE_VERSION = 20170929 +LTP_TESTSUITE_VERSION = 20180118 LTP_TESTSUITE_SOURCE = ltp-full-$(LTP_TESTSUITE_VERSION).tar.xz LTP_TESTSUITE_SITE = https://github.com/linux-test-project/ltp/releases/download/$(LTP_TESTSUITE_VERSION) LTP_TESTSUITE_LICENSE = GPL-2.0, GPL-2.0+ @@ -40,6 +40,13 @@ else LTP_TESTSUITE_CONF_ENV += ac_cv_lib_cap_cap_compare=no endif +# No explicit enable/disable options +ifeq ($(BR2_PACKAGE_NUMACTL),y) +LTP_TESTSUITE_DEPENDENCIES += numactl +else +LTP_TESTSUITE_CONF_ENV += have_numa_headers=no +endif + # ltp-testsuite uses , which isn't compatible with largefile # support. LTP_TESTSUITE_CFLAGS = $(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS)) @@ -58,6 +65,9 @@ LTP_TESTSUITE_CONF_ENV += \ LIBS="$(LTP_TESTSUITE_LIBS)" \ SYSROOT="$(STAGING_DIR)" +# Required by patch 0002-numa-Fix-numa-v2-detection-for-cross-compilation.patch +LTP_TESTSUITE_AUTORECONF = YES + # Requires uClibc fts and bessel support, normally not enabled ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) define LTP_TESTSUITE_REMOVE_UNSUPPORTED diff --git a/package/ltrace/Config.in b/package/ltrace/Config.in index 4d5fb723d6..2defbe28a0 100644 --- a/package/ltrace/Config.in +++ b/package/ltrace/Config.in @@ -1,14 +1,20 @@ +config BR2_PACKAGE_LTRACE_ARCH_SUPPORTS + bool + default y if BR2_arm + default y if BR2_i386 + default y if BR2_mips + default y if BR2_mipsel + default y if BR2_powerpc + default y if BR2_sparc + default y if BR2_x86_64 + default y if BR2_xtensa + config BR2_PACKAGE_LTRACE bool "ltrace" depends on BR2_USE_WCHAR # elfutils depends on !BR2_STATIC_LIBS # elfutils depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils - # ltrace normally has mips/mipsel support, but it's currently - # broken (error: 'struct ltelf' has no member named - # 'relplt_count'). Issue reported upstream at - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=756764. - depends on (BR2_i386 || BR2_arm || BR2_mips || BR2_mipsel \ - || BR2_powerpc || BR2_sparc || BR2_x86_64 || BR2_xtensa) + depends on BR2_PACKAGE_LTRACE_ARCH_SUPPORTS select BR2_PACKAGE_ELFUTILS help Debugging program which runs a specified command until it @@ -19,5 +25,6 @@ config BR2_PACKAGE_LTRACE http://ltrace.org comment "ltrace needs a uClibc or glibc toolchain w/ wchar, dynamic library" + depends on BR2_PACKAGE_LTRACE_ARCH_SUPPORTS depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \ || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) diff --git a/package/lttng-libust/0001-configure.ac-add-disable-examples-option-to-not-buil.patch b/package/lttng-libust/0001-configure.ac-add-disable-examples-option-to-not-buil.patch new file mode 100644 index 0000000000..ef817e44bb --- /dev/null +++ b/package/lttng-libust/0001-configure.ac-add-disable-examples-option-to-not-buil.patch @@ -0,0 +1,68 @@ +From 08aa9a26779d4ede3de7857fafd03bd6331ba948 Mon Sep 17 00:00:00 2001 +From: Philippe Proulx +Date: Mon, 6 Nov 2017 15:46:03 -0500 +Subject: [PATCH] configure.ac: add --disable-examples option to not + build/install examples + +Some environments and distributions do not need the LTTng-UST examples +to be built because they remove them anyway. Continue to build them by +default, but add --disable-examples to explicitly disable them. + +Signed-off-by: Philippe Proulx +[Philippe: backport from upstream commit 08aa9a26] +Signed-off-by: Mathieu Desnoyers +--- + configure.ac | 16 ++++++++++++++++ + doc/Makefile.am | 6 +++++- + 2 files changed, 21 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 10087f3f..68f41315 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -423,6 +423,19 @@ AC_DEFINE_UNQUOTED([LTTNG_SYSTEM_RUNDIR], ["$lttng_system_rundir"], + AC_CHECK_PROG([BUILD_GEN_TP_EXAMPLES], [python], ["yes"]) + AM_CONDITIONAL([BUILD_GEN_TP_EXAMPLES], [test "x$BUILD_GEN_TP_EXAMPLES" = "xyes"]) + ++# Enable building examples ++AC_ARG_ENABLE( ++ examples, ++ AS_HELP_STRING( ++ [--disable-examples], ++ [Do not build and install examples] ++ ), ++ [enable_examples=$enableval], ++ [enable_examples=yes] ++) ++ ++AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" != "xno"]) ++ + # Set $IN_GIT_REPO if we're in the Git repository; the `bootstrap` file + # is not distributed in tarballs. + AS_IF([test -f "$srcdir/bootstrap"], [in_git_repo=yes], [in_git_repo=no]) +@@ -596,6 +609,9 @@ PPRINT_PROP_BOOL([NUMA], $value) + AS_ECHO + PPRINT_SET_INDENT(0) + ++test "x$enable_examples" = xyes && value=1 || value=0 ++PPRINT_PROP_BOOL([Build and install examples], $value, $PPRINT_COLOR_SUBTITLE) ++ + # man pages build enabled/disabled + m4_pushdef([build_man_pages_msg], [Build and install man pages]) + +diff --git a/doc/Makefile.am b/doc/Makefile.am +index e110ed85..a67c8c22 100644 +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -1,3 +1,7 @@ +-SUBDIRS = . man examples ++SUBDIRS = . man ++ ++if ENABLE_EXAMPLES ++SUBDIRS += examples ++endif + + dist_doc_DATA = java-agent.txt +-- +2.15.0 + diff --git a/package/lttng-libust/0001-lttng-ust-elf.c-define-NT_GNU_BUILD_ID-if-not-define.patch b/package/lttng-libust/0001-lttng-ust-elf.c-define-NT_GNU_BUILD_ID-if-not-define.patch deleted file mode 100644 index 2e0c8b1da0..0000000000 --- a/package/lttng-libust/0001-lttng-ust-elf.c-define-NT_GNU_BUILD_ID-if-not-define.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d400314757a8d5d52bd5722d263bfd5886bb6595 Mon Sep 17 00:00:00 2001 -From: Philippe Proulx -Date: Sat, 29 Oct 2016 13:32:57 -0400 -Subject: [PATCH] lttng-ust-elf.c: define NT_GNU_BUILD_ID if not defined - -On uClibc, NT_GNU_BUILD_ID is not defined, so we define it -manually in this case. - -Signed-off-by: Philippe Proulx -[Philippe: grabbed from this pull request: - https://github.com/lttng/lttng-ust/pull/39 -] ---- - liblttng-ust/lttng-ust-elf.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/liblttng-ust/lttng-ust-elf.c b/liblttng-ust/lttng-ust-elf.c -index 5f27920..beaa7f3 100644 ---- a/liblttng-ust/lttng-ust-elf.c -+++ b/liblttng-ust/lttng-ust-elf.c -@@ -29,6 +29,10 @@ - - #define BUF_LEN 4096 - -+#ifndef NT_GNU_BUILD_ID -+# define NT_GNU_BUILD_ID 3 -+#endif -+ - /* - * Retrieve the nth (where n is the `index` argument) phdr (program - * header) from the given elf instance. --- -2.9.3 - diff --git a/package/lttng-libust/0002-doc-examples-Makefile.am-define-C-and-C-compilers-fo.patch b/package/lttng-libust/0002-doc-examples-Makefile.am-define-C-and-C-compilers-fo.patch deleted file mode 100644 index 5172dbbf20..0000000000 --- a/package/lttng-libust/0002-doc-examples-Makefile.am-define-C-and-C-compilers-fo.patch +++ /dev/null @@ -1,49 +0,0 @@ -From f54894580da85e33f934c5c9bf5ab32d3fcce18b Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Wed, 30 Nov 2016 16:52:51 +0000 -Subject: [PATCH] doc/examples/Makefile.am: define C and C++ compilers for - CMake - -This prevents build failures when cross-compiling. - -If we don't define the compiler, it will use the one from the host -machine. For instance "/usr/bin/c++", which is incorrect. - -The failure looks like this: - -............................................................. -[ 10%] Building CXX object CMakeFiles/tracepoint-provider.dir/tracepoint-provider.cpp.o -/usr/bin/c++ -Dtracepoint_provider_EXPORTS -I/br/output/build/lttng-libust-2.9.0/doc/examples/cmake-multiple-shared-libraries/. -isystem /br/output/build/lttng-libust-2.9.0/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -o CMakeFiles/tracepoint-provider.dir/tracepoint-provider.cpp.o -c /br/output/build/lttng-libust-2.9.0/doc/examples/cmake-multiple-shared-libraries/tracepoint-provider.cpp -In file included from /br/output/build/lttng-libust-2.9.0/include/lttng/tracepoint.h:29:0, - from /br/output/build/lttng-libust-2.9.0/doc/examples/cmake-multiple-shared-libraries/tracepoint-provider.h:32, - from /br/output/build/lttng-libust-2.9.0/doc/examples/cmake-multiple-shared-libraries/tracepoint-provider.cpp:26: -/br/output/build/lttng-libust-2.9.0/include/lttng/tracepoint-rcu.h:26:27: fatal error: urcu/compiler.h: No such file or directory - #include - ^ -compilation terminated. -............................................................. - -Pull request URL: https://github.com/lttng/lttng-ust/pull/41 - -Signed-off-by: Vicente Olivert Riera ---- - doc/examples/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am -index 424b844..5bc1f4c 100644 ---- a/doc/examples/Makefile.am -+++ b/doc/examples/Makefile.am -@@ -152,7 +152,9 @@ all-local: - cmake \ - -DCMAKE_INCLUDE_PATH="$(abs_top_srcdir)/include;$(abs_top_builddir)/include" \ - -DCMAKE_LIBRARY_PATH="$(abs_top_builddir)/liblttng-ust/.libs" \ -+ -DCMAKE_C_COMPILER="$(CC)" \ - -DCMAKE_C_FLAGS="$(CFLAGS) $(CPPFLAGS)" \ -+ -DCMAKE_CXX_COMPILER="$(CXX)" \ - -DCMAKE_CXX_FLAGS="$(CXXFLAGS) $(CPPFLAGS)" \ - -DCMAKE_EXE_LINKER_FLAGS="$(LDFLAGS)" \ - .. && \ --- -2.10.1 - diff --git a/package/lttng-libust/0003-Validate-the-presence-of-dlmopen-at-configure-time.patch b/package/lttng-libust/0003-Validate-the-presence-of-dlmopen-at-configure-time.patch deleted file mode 100644 index 699f1e0327..0000000000 --- a/package/lttng-libust/0003-Validate-the-presence-of-dlmopen-at-configure-time.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 42330adcefcd1830dad89e2a960c93d8dd1da125 Mon Sep 17 00:00:00 2001 -From: Jonathan Rajotte -Date: Tue, 21 Feb 2017 16:00:27 -0500 -Subject: [PATCH] Validate the presence of dlmopen at configure time - -Signed-off-by: Michael Jeanson -Signed-off-by: Jonathan Rajotte -Signed-off-by: Mathieu Desnoyers -[Backport from upstream commit 42330adcefcd1830dad89e2a960c93d8dd1da125.] -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 8 ++++++++ - liblttng-ust-dl/lttng-ust-dl.c | 8 ++++++++ - liblttng-ust-dl/ust_dl.h | 2 ++ - 3 files changed, 18 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 450b43b..023cfd4 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -125,15 +125,23 @@ AS_IF([test "x${ax_cv_sys_weak_alias}" = "xno"], [ - # Checks for libraries. - AC_CHECK_LIB([dl], [dlopen], [ - have_libdl=yes -+ libdl_name=dl - ], [ - #libdl not found, check for dlopen in libc. - AC_CHECK_LIB([c], [dlopen], [ - have_libc_dl=yes -+ libdl_name=c - ], [ - AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.]) - ]) - ]) - -+# Check if libdl has dlmopen support. -+AH_TEMPLATE([HAVE_DLMOPEN], ["Define to 1 if dlmopen is available."]) -+AC_CHECK_LIB([$libdl_name], [dlmopen], -+ [AC_DEFINE([HAVE_DLMOPEN], [1])] -+) -+ - AM_CONDITIONAL([LTTNG_UST_BUILD_WITH_LIBDL], [test "x$have_libdl" = "xyes"]) - AM_CONDITIONAL([LTTNG_UST_BUILD_WITH_LIBC_DL], [test "x$have_libc_dl" = "xyes"]) - -diff --git a/liblttng-ust-dl/lttng-ust-dl.c b/liblttng-ust-dl/lttng-ust-dl.c -index b0737b6..ce2ae0e 100644 ---- a/liblttng-ust-dl/lttng-ust-dl.c -+++ b/liblttng-ust-dl/lttng-ust-dl.c -@@ -38,8 +38,10 @@ - #include "ust_dl.h" - - static void *(*__lttng_ust_plibc_dlopen)(const char *filename, int flags); -+#ifdef HAVE_DLMOPEN - static void *(*__lttng_ust_plibc_dlmopen)(Lmid_t nsid, const char *filename, - int flags); -+#endif - static int (*__lttng_ust_plibc_dlclose)(void *handle); - - static -@@ -55,6 +57,7 @@ void *_lttng_ust_dl_libc_dlopen(const char *filename, int flags) - return __lttng_ust_plibc_dlopen(filename, flags); - } - -+#ifdef HAVE_DLMOPEN - static - void *_lttng_ust_dl_libc_dlmopen(Lmid_t nsid, const char *filename, - int flags) -@@ -68,6 +71,7 @@ void *_lttng_ust_dl_libc_dlmopen(Lmid_t nsid, const char *filename, - } - return __lttng_ust_plibc_dlmopen(nsid, filename, flags); - } -+#endif - - static - int _lttng_ust_dl_libc_dlclose(void *handle) -@@ -143,6 +147,7 @@ end: - return; - } - -+#ifdef HAVE_DLMOPEN - static - void lttng_ust_dl_dlmopen(void *so_base, Lmid_t nsid, const char *so_name, - int flags, void *ip) -@@ -203,6 +208,7 @@ end: - lttng_ust_elf_destroy(elf); - return; - } -+#endif - - void *dlopen(const char *filename, int flags) - { -@@ -223,6 +229,7 @@ void *dlopen(const char *filename, int flags) - return handle; - } - -+#ifdef HAVE_DLMOPEN - void *dlmopen(Lmid_t nsid, const char *filename, int flags) - { - void *handle; -@@ -243,6 +250,7 @@ void *dlmopen(Lmid_t nsid, const char *filename, int flags) - return handle; - - } -+#endif - - int dlclose(void *handle) - { -diff --git a/liblttng-ust-dl/ust_dl.h b/liblttng-ust-dl/ust_dl.h -index b8cfe82..afa8e84 100644 ---- a/liblttng-ust-dl/ust_dl.h -+++ b/liblttng-ust-dl/ust_dl.h -@@ -51,6 +51,7 @@ TRACEPOINT_EVENT(lttng_ust_dl, dlopen, - ) - ) - -+#ifdef HAVE_DLMOPEN - TRACEPOINT_EVENT(lttng_ust_dl, dlmopen, - TP_ARGS(void *, ip, void *, baddr, Lmid_t, nsid, - const char *, path, int, flags, -@@ -66,6 +67,7 @@ TRACEPOINT_EVENT(lttng_ust_dl, dlmopen, - ctf_integer(uint8_t, has_debug_link, has_debug_link) - ) - ) -+#endif - - TRACEPOINT_EVENT(lttng_ust_dl, build_id, - TP_ARGS( --- -2.7.4 - diff --git a/package/lttng-libust/0004-Fix-include-config.h-to-resolve-HAVE_DLMOPEN.patch b/package/lttng-libust/0004-Fix-include-config.h-to-resolve-HAVE_DLMOPEN.patch deleted file mode 100644 index 734d3c4c4a..0000000000 --- a/package/lttng-libust/0004-Fix-include-config.h-to-resolve-HAVE_DLMOPEN.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0b2253f5c9af73904d49da32085036c16b9d2d75 Mon Sep 17 00:00:00 2001 -From: Jonathan Rajotte -Date: Tue, 21 Feb 2017 18:10:11 -0500 -Subject: [PATCH] Fix: include config.h to resolve HAVE_DLMOPEN - -Fixes commit 42330adcefcd1830dad89e2a960c93d8dd1da125 - -Signed-off-by: Jonathan Rajotte -Signed-off-by: Mathieu Desnoyers -[Backported from upstream commit 0b2253f5c9af73904d49da32085036c16b9d2d75.] -Signed-off-by: Thomas Petazzoni ---- - liblttng-ust-dl/ust_dl.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/liblttng-ust-dl/ust_dl.h b/liblttng-ust-dl/ust_dl.h -index afa8e84..c8a0695 100644 ---- a/liblttng-ust-dl/ust_dl.h -+++ b/liblttng-ust-dl/ust_dl.h -@@ -33,6 +33,7 @@ extern "C" { - - #include - #include -+#include - - #define LTTNG_UST_DL_PROVIDER - #include --- -2.7.4 - diff --git a/package/lttng-libust/lttng-libust.hash b/package/lttng-libust/lttng-libust.hash index e080361a57..6e5fdf23ce 100644 --- a/package/lttng-libust/lttng-libust.hash +++ b/package/lttng-libust/lttng-libust.hash @@ -1,3 +1,3 @@ -# From http://lttng.org/files/lttng-ust/lttng-ust-2.9.0.tar.bz2.{md5,sha1} -md5 77f3378ba37a36801420bce87b702e9c lttng-ust-2.9.0.tar.bz2 -sha1 9937eae64540821b8597cce081e92be76e6b5568 lttng-ust-2.9.0.tar.bz2 +# From http://lttng.org/files/lttng-ust/lttng-ust-2.10.1.tar.bz2.{md5,sha1} +md5 4863cc2f9f0a070b42438bb646bbba06 lttng-ust-2.10.1.tar.bz2 +sha1 3779c9ed75e3fa532797431f2c47979ce73614a7 lttng-ust-2.10.1.tar.bz2 diff --git a/package/lttng-libust/lttng-libust.mk b/package/lttng-libust/lttng-libust.mk index 82923ded1f..d645220ba6 100644 --- a/package/lttng-libust/lttng-libust.mk +++ b/package/lttng-libust/lttng-libust.mk @@ -5,15 +5,14 @@ ################################################################################ LTTNG_LIBUST_SITE = http://lttng.org/files/lttng-ust -LTTNG_LIBUST_VERSION = 2.9.0 +LTTNG_LIBUST_VERSION = 2.10.1 LTTNG_LIBUST_SOURCE = lttng-ust-$(LTTNG_LIBUST_VERSION).tar.bz2 LTTNG_LIBUST_LICENSE = LGPL-2.1, MIT (system headers), GPL-2.0 (liblttng-ust-ctl/ustctl.c used by lttng-sessiond) LTTNG_LIBUST_LICENSE_FILES = COPYING LTTNG_LIBUST_INSTALL_STAGING = YES LTTNG_LIBUST_DEPENDENCIES = liburcu util-linux -LTTNG_LIBUST_CONF_OPTS += --disable-man-pages -# 0002-doc-examples-Makefile.am-define-C-and-C-compilers-fo.patch -# 0003-Validate-the-presence-of-dlmopen-at-configure-time.patch +LTTNG_LIBUST_CONF_OPTS += --disable-man-pages --disable-examples +# 0001-configure.ac-add-disable-examples-option-to-not-buil.patch LTTNG_LIBUST_AUTORECONF = YES ifeq ($(BR2_PACKAGE_PYTHON),y) diff --git a/package/lttng-modules/lttng-modules.hash b/package/lttng-modules/lttng-modules.hash index 6849d5d6a6..8992cbce99 100644 --- a/package/lttng-modules/lttng-modules.hash +++ b/package/lttng-modules/lttng-modules.hash @@ -1,3 +1,3 @@ -# From http://lttng.org/files/lttng-modules/lttng-modules-2.9.2.tar.bz2.{md5,sha1} -md5 6c02645c77fd4d6475a4f83bda1d75ff lttng-modules-2.9.2.tar.bz2 -sha1 da54a8478019c0d551590c37826e78c058e9cb8b lttng-modules-2.9.2.tar.bz2 +# From http://lttng.org/files/lttng-modules/lttng-modules-2.10.6.tar.bz2.{md5,sha1} +md5 8110099f4615fc89a74ffe9189b56cfc lttng-modules-2.10.6.tar.bz2 +sha1 1126b29e055ebdb3fad9201edaf0ef27f88c9369 lttng-modules-2.10.6.tar.bz2 diff --git a/package/lttng-modules/lttng-modules.mk b/package/lttng-modules/lttng-modules.mk index f53b085597..8d48c37bac 100644 --- a/package/lttng-modules/lttng-modules.mk +++ b/package/lttng-modules/lttng-modules.mk @@ -4,7 +4,7 @@ # ################################################################################ -LTTNG_MODULES_VERSION = 2.9.2 +LTTNG_MODULES_VERSION = 2.10.6 LTTNG_MODULES_SITE = http://lttng.org/files/lttng-modules LTTNG_MODULES_SOURCE = lttng-modules-$(LTTNG_MODULES_VERSION).tar.bz2 LTTNG_MODULES_LICENSE = LGPL-2.1/GPL-2.0 (kernel modules), MIT (lib/bitfield.h, lib/prio_heap/*) diff --git a/package/lttng-tools/0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch b/package/lttng-tools/0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch deleted file mode 100644 index 8e14a14413..0000000000 --- a/package/lttng-tools/0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch +++ /dev/null @@ -1,249 +0,0 @@ -From bc1d8ca01415710d40224de312c7ecf6f4223301 Mon Sep 17 00:00:00 2001 -From: Philippe Proulx -Date: Mon, 6 Nov 2017 18:46:41 -0500 -Subject: [PATCH] Fix: detect dlmopen() and disable corresponding tests if not - available -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -musl and uClibc-ng are known not to support dlmopen(). LTTng-UST has -this dlmopen() detection. - -Signed-off-by: Philippe Proulx -[Philippe: backport from upstream commit bc1d8ca0 - edited to remove .gitignore part] -Signed-off-by: Jérémie Galarneau ---- - .gitignore | 1 + - configure.ac | 25 ++++++++++++++++++++++ - tests/regression/ust/ust-dl/prog.c | 17 +++++++++++++-- - tests/regression/ust/ust-dl/test_ust-dl | 32 ---------------------------- - tests/regression/ust/ust-dl/test_ust-dl.in | 34 ++++++++++++++++++++++++++++++ - tests/regression/ust/ust-dl/test_ust-dl.py | 9 +++++++- - tests/utils/test_utils.py | 3 +++ - 7 files changed, 86 insertions(+), 35 deletions(-) - delete mode 100755 tests/regression/ust/ust-dl/test_ust-dl - create mode 100644 tests/regression/ust/ust-dl/test_ust-dl.in - -diff --git a/configure.ac b/configure.ac -index 016c56ec..b6ea39c5 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -196,6 +196,30 @@ AC_CHECK_FUNCS([ \ - # add -lrt to LIBS - AC_CHECK_LIB([rt], [clock_gettime, timer_create, timer_settime, timer_delete]) - -+# Checks for dl. -+AC_CHECK_LIB([dl], [dlopen], [ -+ have_libdl=yes -+ libdl_name=dl -+], [ -+ # libdl not found, check for dlopen in libc. -+ AC_CHECK_LIB([c], [dlopen], [ -+ have_libc_dl=yes -+ libdl_name=c -+ ], [ -+ AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.]) -+ ]) -+]) -+ -+# Check if libdl has dlmopen support. -+AH_TEMPLATE([HAVE_DLMOPEN], ["Define to 1 if dlmopen is available."]) -+AC_CHECK_LIB([$libdl_name], [dlmopen], [ -+ AC_DEFINE([HAVE_DLMOPEN], [1]) -+ HAVE_DLMOPEN=1 -+], [ -+ HAVE_DLMOPEN=0 -+]) -+AC_SUBST(HAVE_DLMOPEN) -+ - # Babeltrace viewer check - AC_ARG_WITH([babeltrace-bin], - AS_HELP_STRING([--with-babeltrace-bin], -@@ -1100,6 +1124,7 @@ AC_CONFIG_FILES([ - AC_CONFIG_FILES([tests/regression/ust/python-logging/test_python_logging],[chmod +x tests/regression/ust/python-logging/test_python_logging]) - # Inject LTTNG_TOOLS_BUILD_WITH_LIBPFM variable in test script. - AC_CONFIG_FILES([tests/perf/test_perf_raw],[chmod +x tests/perf/test_perf_raw]) -+AC_CONFIG_FILES([tests/regression/ust/ust-dl/test_ust-dl],[chmod +x tests/regression/ust/ust-dl/test_ust-dl]) - - AC_OUTPUT - -diff --git a/tests/regression/ust/ust-dl/prog.c b/tests/regression/ust/ust-dl/prog.c -index e8e4b264..669792d9 100644 ---- a/tests/regression/ust/ust-dl/prog.c -+++ b/tests/regression/ust/ust-dl/prog.c -@@ -13,7 +13,12 @@ - */ - int main(int argc, char **argv) - { -- void *h0, *h1, *h2, *h3, *h4; -+ void *h0, *h2, *h3, *h4; -+ -+#ifdef HAVE_DLMOPEN -+ void *h1; -+#endif -+ - char *error; - int (*foo)(void); - -@@ -21,10 +26,14 @@ int main(int argc, char **argv) - if (!h0) { - goto get_error; - } -+ -+#ifdef HAVE_DLMOPEN - h1 = dlmopen(LM_ID_BASE, "libfoo.so", RTLD_LAZY); - if (!h1) { - goto get_error; - } -+#endif -+ - h2 = dlopen("libzzz.so", RTLD_LAZY); - if (!h2) { - goto get_error; -@@ -38,7 +47,7 @@ int main(int argc, char **argv) - goto get_error; - } - -- foo = dlsym(h1, "foo"); -+ foo = dlsym(h3, "foo"); - error = dlerror(); - if (error != NULL) { - goto error; -@@ -49,9 +58,13 @@ int main(int argc, char **argv) - if (dlclose(h0)) { - goto get_error; - } -+ -+#ifdef HAVE_DLMOPEN - if (dlclose(h1)) { - goto get_error; - } -+#endif -+ - if (dlclose(h2)) { - goto get_error; - } -diff --git a/tests/regression/ust/ust-dl/test_ust-dl b/tests/regression/ust/ust-dl/test_ust-dl -deleted file mode 100755 -index 1f2934db..00000000 ---- a/tests/regression/ust/ust-dl/test_ust-dl -+++ /dev/null -@@ -1,32 +0,0 @@ --#!/bin/bash --# --# Copyright (C) - 2013 Jérémie Galarneau --# --# This program is free software; you can redistribute it and/or modify it --# under the terms of the GNU General Public License, version 2 only, as --# published by the Free Software Foundation. --# --# This program is distributed in the hope that it will be useful, but WITHOUT --# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or --# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for --# more details. --# --# You should have received a copy of the GNU General Public License along with --# this program; if not, write to the Free Software Foundation, Inc., 51 --# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- --CURDIR=$(dirname $0) --TESTDIR=${CURDIR}/../../.. -- --source $TESTDIR/utils/utils.sh -- --if [ ! -x "$CURDIR/.libs/libfoo.so" ]; then -- diag "No shared object generated. Skipping all tests." -- exit 0 --fi -- --start_lttng_sessiond_notap -- --python3 ${CURDIR}/test_ust-dl.py -- --stop_lttng_sessiond_notap -diff --git a/tests/regression/ust/ust-dl/test_ust-dl.in b/tests/regression/ust/ust-dl/test_ust-dl.in -new file mode 100644 -index 00000000..61d00d21 ---- /dev/null -+++ b/tests/regression/ust/ust-dl/test_ust-dl.in -@@ -0,0 +1,34 @@ -+#!/bin/bash -+# -+# Copyright (C) - 2013 Jérémie Galarneau -+# -+# This program is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License, version 2 only, as -+# published by the Free Software Foundation. -+# -+# This program is distributed in the hope that it will be useful, but WITHOUT -+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -+# more details. -+# -+# You should have received a copy of the GNU General Public License along with -+# this program; if not, write to the Free Software Foundation, Inc., 51 -+# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -+ -+CURDIR=$(dirname $0) -+TESTDIR=${CURDIR}/../../.. -+ -+source $TESTDIR/utils/utils.sh -+ -+if [ ! -x "$CURDIR/.libs/libfoo.so" ]; then -+ diag "No shared object generated. Skipping all tests." -+ exit 0 -+fi -+ -+export LTTNG_TOOLS_HAVE_DLMOPEN=@HAVE_DLMOPEN@ -+ -+start_lttng_sessiond_notap -+ -+python3 ${CURDIR}/test_ust-dl.py -+ -+stop_lttng_sessiond_notap -diff --git a/tests/regression/ust/ust-dl/test_ust-dl.py b/tests/regression/ust/ust-dl/test_ust-dl.py -index 81972a7d..72459840 100644 ---- a/tests/regression/ust/ust-dl/test_ust-dl.py -+++ b/tests/regression/ust/ust-dl/test_ust-dl.py -@@ -31,6 +31,9 @@ sys.path.append(test_utils_path) - from test_utils import * - - -+have_dlmopen = (os.environ.get('LTTNG_TOOLS_HAVE_DLMOPEN') == '1') -+ -+ - NR_TESTS = 14 - current_test = 1 - print("1..{0}".format(NR_TESTS)) -@@ -113,7 +116,11 @@ current_test += 1 - print_test_result(dlopen_event_found > 0, current_test, "lttng_ust_dl:dlopen event found in resulting trace") - current_test += 1 - --print_test_result(dlmopen_event_found > 0, current_test, "lttng_ust_dl:dlmopen event found in resulting trace") -+if have_dlmopen: -+ print_test_result(dlmopen_event_found > 0, current_test, "lttng_ust_dl:dlmopen event found in resulting trace") -+else: -+ skip_test(current_test, 'dlmopen() is not available') -+ - current_test += 1 - - print_test_result(build_id_event_found > 0, current_test, "lttng_ust_dl:build_id event found in resulting trace") -diff --git a/tests/utils/test_utils.py b/tests/utils/test_utils.py -index 4b38630c..02e632a2 100644 ---- a/tests/utils/test_utils.py -+++ b/tests/utils/test_utils.py -@@ -62,6 +62,9 @@ def print_test_result(result, number, description): - result_string += " {0} - {1}".format(number, description) - print(result_string) - -+def skip_test(number, description): -+ print('ok {} # skip {}'.format(number, description)) -+ - def enable_ust_tracepoint_event(session_info, event_name): - event = Event() - event.name = event_name --- -2.15.0 - diff --git a/package/lttng-tools/0002-Fix-src-common-pipe.h-include-sys-types.h-for-ssize_.patch b/package/lttng-tools/0002-Fix-src-common-pipe.h-include-sys-types.h-for-ssize_.patch deleted file mode 100644 index 914947684d..0000000000 --- a/package/lttng-tools/0002-Fix-src-common-pipe.h-include-sys-types.h-for-ssize_.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 40dde31f7eeb71af169b97b82d8fd1739895dfc3 Mon Sep 17 00:00:00 2001 -From: Philippe Proulx -Date: Wed, 8 Nov 2017 15:19:24 -0500 -Subject: [PATCH] Fix: src/common/pipe.h: include for ssize_t and - mode_t -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Philippe Proulx -[Philippe: backport from upstream commit 40dde31f] -Signed-off-by: Jérémie Galarneau ---- - src/common/pipe.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/common/pipe.h b/src/common/pipe.h -index 2d4fc967..30f7c3f3 100644 ---- a/src/common/pipe.h -+++ b/src/common/pipe.h -@@ -20,6 +20,7 @@ - - #include - #include -+#include - - enum lttng_pipe_state { - LTTNG_PIPE_STATE_OPENED = 1, --- -2.15.0 - diff --git a/package/lttng-tools/0003-Fix-warning-src-bin-lttng-utils.c-cast-incompatible-.patch b/package/lttng-tools/0003-Fix-warning-src-bin-lttng-utils.c-cast-incompatible-.patch deleted file mode 100644 index b353b8f48a..0000000000 --- a/package/lttng-tools/0003-Fix-warning-src-bin-lttng-utils.c-cast-incompatible-.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 56efeab366da412ee4196107c08174f32ed83c9a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Galarneau?= - -Date: Mon, 13 Nov 2017 10:31:29 -0500 -Subject: [PATCH] Fix warning: src/bin/lttng/utils.c: cast incompatible pointer -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reported-by: Philippe Proulx -[Philippe: backport from upstream commit 56efeab3] -Signed-off-by: Jérémie Galarneau ---- - src/bin/lttng/utils.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/bin/lttng/utils.c b/src/bin/lttng/utils.c -index 885f498b..52a2440e 100644 ---- a/src/bin/lttng/utils.c -+++ b/src/bin/lttng/utils.c -@@ -387,7 +387,7 @@ int check_relayd(void) - * A successful connect means the relayd exists thus returning 0 else a - * negative value means it does NOT exists. - */ -- ret = connect(fd, &sin, sizeof(sin)); -+ ret = connect(fd, (struct sockaddr *) &sin, sizeof(sin)); - if (ret < 0) { - /* Not found. */ - ret = 0; --- -2.15.0 - diff --git a/package/lttng-tools/lttng-tools.hash b/package/lttng-tools/lttng-tools.hash index 8a4c2ebda4..f6c01b7dec 100644 --- a/package/lttng-tools/lttng-tools.hash +++ b/package/lttng-tools/lttng-tools.hash @@ -1,3 +1,8 @@ -# From http://lttng.org/files/lttng-tools/lttng-tools-2.9.5.tar.bz2.{md5,sha1} -md5 051224eb991aee07f8721ff1877d0b96 lttng-tools-2.9.5.tar.bz2 -sha1 b988b237f34baa3916242dc9141aa61470e99dfd lttng-tools-2.9.5.tar.bz2 +# From https://lttng.org/files/lttng-tools/lttng-tools-2.10.5.tar.bz2.{md5,sha1} +md5 50e07676d5eb5d6cf4ece804863a6f74 lttng-tools-2.10.5.tar.bz2 +sha1 68790d44529a3b29896c35bb2350e8a0e1226264 lttng-tools-2.10.5.tar.bz2 +# Locally computed +sha256 a4868078ef961e83dc236c4f24fd848161bfa755344b064dece62c4c81a07411 lttng-tools-2.10.5.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 gpl-2.0.txt +sha256 051be1f11b508ef7bb839994f6b58be19a827c56bd9bddfe36d77d3d4be55abe lgpl-2.1.txt +sha256 f07515677547da5f3ee2396bdf491affc1accd5e4765a5378b6e1e98392fd5e7 LICENSE diff --git a/package/lttng-tools/lttng-tools.mk b/package/lttng-tools/lttng-tools.mk index 451f652cdc..ce07ce4b52 100644 --- a/package/lttng-tools/lttng-tools.mk +++ b/package/lttng-tools/lttng-tools.mk @@ -4,14 +4,13 @@ # ################################################################################ -LTTNG_TOOLS_VERSION = 2.9.5 -LTTNG_TOOLS_SITE = http://lttng.org/files/lttng-tools +LTTNG_TOOLS_VERSION = 2.10.5 +LTTNG_TOOLS_SITE = https://lttng.org/files/lttng-tools LTTNG_TOOLS_SOURCE = lttng-tools-$(LTTNG_TOOLS_VERSION).tar.bz2 +LTTNG_TOOLS_INSTALL_STAGING = YES LTTNG_TOOLS_LICENSE = GPL-2.0+, LGPL-2.1+ (include/lttng/*, src/lib/lttng-ctl/*) LTTNG_TOOLS_LICENSE_FILES = gpl-2.0.txt lgpl-2.1.txt LICENSE LTTNG_TOOLS_CONF_OPTS += --disable-man-pages -# 0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch -LTTNG_TOOLS_AUTORECONF = YES LTTNG_TOOLS_DEPENDENCIES = liburcu libxml2 popt util-linux ifeq ($(BR2_PACKAGE_LTTNG_LIBUST),y) diff --git a/package/lua-coat/lua-coat.hash b/package/lua-coat/lua-coat.hash index ad15a38b9f..1f21355660 100644 --- a/package/lua-coat/lua-coat.hash +++ b/package/lua-coat/lua-coat.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 38a8342f6b3883a81931feaa9ef90a6343445289f3d65a296f0924818587c7d4 lua-coat-0.9.1-1.src.rock +sha256 24d0e894d743f46c09a282e4dd272d2a6004557608b618c1c9d9f464dd65af02 lua-coat-0.9.2-1.src.rock diff --git a/package/lua-coat/lua-coat.mk b/package/lua-coat/lua-coat.mk index 80ca6b1278..6555e66cdb 100644 --- a/package/lua-coat/lua-coat.mk +++ b/package/lua-coat/lua-coat.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_COAT_VERSION = 0.9.1-1 +LUA_COAT_VERSION = 0.9.2-1 LUA_COAT_NAME_UPSTREAM = lua-Coat LUA_COAT_LICENSE = MIT LUA_COAT_LICENSE_FILES = $(LUA_COAT_SUBDIR)/COPYRIGHT diff --git a/package/lua-coatpersistent/lua-coatpersistent.hash b/package/lua-coatpersistent/lua-coatpersistent.hash index ddd3c9bb6a..eeb13bb1c9 100644 --- a/package/lua-coatpersistent/lua-coatpersistent.hash +++ b/package/lua-coatpersistent/lua-coatpersistent.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 46f5a1988a47b988d729df2937589756d989df7c26dac6aaf2a331a7b15bf7cf lua-coatpersistent-lsqlite3-0.2.1-1.src.rock -sha256 8053428fa7a6229d70ae161ec55a24b28c210078ac494161d48b6bf74ed000ca lua-coatpersistent-luasql-0.2.1-1.src.rock +sha256 e718ee36a17312108f266e8412f840db150afd89e8587d36e685673fff65f142 lua-coatpersistent-lsqlite3-0.2.2-1.src.rock +sha256 5d36d6a8b413a2d56a466a45314291a0265c514a179e741b3fc95f4dd901abe6 lua-coatpersistent-luasql-0.2.2-1.src.rock diff --git a/package/lua-coatpersistent/lua-coatpersistent.mk b/package/lua-coatpersistent/lua-coatpersistent.mk index be8a4da468..68c60838d6 100644 --- a/package/lua-coatpersistent/lua-coatpersistent.mk +++ b/package/lua-coatpersistent/lua-coatpersistent.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_COATPERSISTENT_VERSION_UPSTREAM = 0.2.1 +LUA_COATPERSISTENT_VERSION_UPSTREAM = 0.2.2 ifeq ($(BR2_PACKAGE_LSQLITE3),y) LUA_COATPERSISTENT_VERSION = lsqlite3-$(LUA_COATPERSISTENT_VERSION_UPSTREAM)-1 else diff --git a/package/lua-csnappy/lua-csnappy.hash b/package/lua-csnappy/lua-csnappy.hash index 136363497f..f887426448 100644 --- a/package/lua-csnappy/lua-csnappy.hash +++ b/package/lua-csnappy/lua-csnappy.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 855331feb8e09a32eea8366ab9bcd4386db6392de82383f08ae5e59adbb7d8a6 lua-csnappy-0.1.4-1.src.rock +sha256 4fc373ba714cb8b428e9971f1725d82de6a43dfea361a0b7894e4762238dc95c lua-csnappy-0.1.5-1.src.rock diff --git a/package/lua-csnappy/lua-csnappy.mk b/package/lua-csnappy/lua-csnappy.mk index 3325f1f53d..cba0a06080 100644 --- a/package/lua-csnappy/lua-csnappy.mk +++ b/package/lua-csnappy/lua-csnappy.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_CSNAPPY_VERSION = 0.1.4-1 +LUA_CSNAPPY_VERSION = 0.1.5-1 LUA_CSNAPPY_LICENSE = BSD-3-Clause LUA_CSNAPPY_LICENSE_FILES = $(LUA_CSNAPPY_SUBDIR)/COPYRIGHT diff --git a/package/lua-flu/0001-use-system-xattr-h.patch b/package/lua-flu/0001-use-system-xattr-h.patch new file mode 100644 index 0000000000..1cd44b4617 --- /dev/null +++ b/package/lua-flu/0001-use-system-xattr-h.patch @@ -0,0 +1,169 @@ +Use system + +The one from attr is no longer installed with latest version. + +ENOATTR was in fact defined as ENODATA, so switch to using that instead. + +Signed-off-by: "Yann E. MORIN" + +--- +Upstream status: merged: + https://bitbucket.org/doub/flu/pull-requests/1 + https://bitbucket.org/doub/flu/commits/2d75cc2be79026b94188b11c6f53b219c24a5f70 + + +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/doc.lua lua-flu-20150331-1/doub-flu-a7daae986339/doc/doc.lua +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/doc.lua 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/doc/doc.lua 2018-05-06 09:22:28.499324049 +0200 +@@ -327,7 +327,7 @@ + name = "fs.getxattr"; + parameters = {"path", "name"}; + results = {"value"}; +- doc = [[Get an extended attribute. If the attribute doesn't exist `ENOATTR` should be thrown.]]; ++ doc = [[Get an extended attribute. If the attribute doesn't exist `ENODATA` should be thrown.]]; + }, + { + name = "fs.listxattr"; +@@ -338,7 +338,7 @@ + { + name = "fs.removexattr"; + parameters = {"path", "name"}; +- doc = [[Remove an extended attribute. If the attribute doesn't exist `ENOATTR` should be thrown.]]; ++ doc = [[Remove an extended attribute. If the attribute doesn't exist `ENODATA` should be thrown.]]; + }, + { + name = "fs.opendir"; +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/luafs.lua lua-flu-20150331-1/doub-flu-a7daae986339/doc/luafs.lua +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/luafs.lua 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/doc/luafs.lua 2018-05-06 09:22:28.495324054 +0200 +@@ -222,8 +222,8 @@ + -- :NOTE: since the filesystem is a pure tree (not a DAG), use the path to find attribs + + function luafs.getxattr(path, name) +- local attrs = assert(xattrs[path], errno.ENOATTR) +- return assert(attrs[name], errno.ENOATTR) ++ local attrs = assert(xattrs[path], errno.ENODATA) ++ return assert(attrs[name], errno.ENODATA) + end + + function luafs.setxattr(path, name, value, flags) +@@ -236,7 +236,7 @@ + end + + function luafs.removexattr(path, name) +- local attrs = assert(xattrs[path], errno.ENOATTR) ++ local attrs = assert(xattrs[path], errno.ENODATA) + attrs[name] = nil + if next(attrs)==nil then + xattrs[path] = nil +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/manual.html lua-flu-20150331-1/doub-flu-a7daae986339/doc/manual.html +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/manual.html 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/doc/manual.html 2018-05-06 09:22:28.499324049 +0200 +@@ -347,7 +347,7 @@ +
      +

      value = fs.getxattr (path, name)

      + +-

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

      ++

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

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

      fs.removexattr (path, name)

      + +-

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

      ++

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

      +
      + +
      +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/errno.c lua-flu-20150331-1/doub-flu-a7daae986339/errno.c +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/errno.c 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/errno.c 2018-05-06 09:23:06.323282527 +0200 +@@ -3,7 +3,7 @@ + #include + #include + #include +-#include ++#include + #include "compat.h" + + /****************************************************************************/ +@@ -103,7 +103,7 @@ + REGISTER_ERROR(EDOM) + REGISTER_ERROR(ERANGE) + REGISTER_ERROR(ENOSYS) +- REGISTER_ERROR(ENOATTR) ++ REGISTER_ERROR(ENODATA) + #undef REGISTER_ERROR + } + +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu-20150331-1.rockspec lua-flu-20150331-1/doub-flu-a7daae986339/flu-20150331-1.rockspec +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu-20150331-1.rockspec 2018-05-06 09:22:04.123351349 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/flu-20150331-1.rockspec 2018-05-06 09:23:06.323282527 +0200 +@@ -14,7 +14,7 @@ + library = 'fuse', + }, + ATTR = { +- header = 'attr/xattr.h', ++ header = 'sys/xattr.h', + }, + } + dependencies = { +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu.c lua-flu-20150331-1/doub-flu-a7daae986339/flu.c +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu.c 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/flu.c 2018-05-06 09:23:06.323282527 +0200 +@@ -15,7 +15,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu.rockspec.in lua-flu-20150331-1/doub-flu-a7daae986339/flu.rockspec.in +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu.rockspec.in 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/flu.rockspec.in 2018-05-06 09:23:06.323282527 +0200 +@@ -14,7 +14,7 @@ + library = 'fuse', + }, + ATTR = { +- header = 'attr/xattr.h', ++ header = 'sys/xattr.h', + }, + } + dependencies = { +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/README.md lua-flu-20150331-1/doub-flu-a7daae986339/README.md +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/README.md 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/README.md 2018-05-06 09:22:28.495324054 +0200 +@@ -345,7 +345,7 @@ + + ### `value = fs.getxattr (path, name)` + +-Get an extended attribute. If the attribute doesn't exist `ENOATTR` should be thrown. ++Get an extended attribute. If the attribute doesn't exist `ENODATA` should be thrown. + + --- + +@@ -357,7 +357,7 @@ + + ### `fs.removexattr (path, name)` + +-Remove an extended attribute. If the attribute doesn't exist `ENOATTR` should be thrown. ++Remove an extended attribute. If the attribute doesn't exist `ENODATA` should be thrown. + + --- + +diff -durN lua-flu-20150331-1.orig/flu-20150331-1.rockspec lua-flu-20150331-1/flu-20150331-1.rockspec +--- lua-flu-20150331-1.orig/flu-20150331-1.rockspec 2015-04-02 23:44:11.000000000 +0200 ++++ lua-flu-20150331-1/flu-20150331-1.rockspec 2018-05-06 09:23:06.323282527 +0200 +@@ -14,7 +14,7 @@ + library = 'fuse', + }, + ATTR = { +- header = 'attr/xattr.h', ++ header = 'sys/xattr.h', + }, + } + dependencies = { diff --git a/package/lua-messagepack/lua-messagepack.hash b/package/lua-messagepack/lua-messagepack.hash index a2b0bd7f69..86ea5d0881 100644 --- a/package/lua-messagepack/lua-messagepack.hash +++ b/package/lua-messagepack/lua-messagepack.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1d7a1cc16ee1e4c99ec213817bab2bf38e48a5b1646b88aa0d6ab4ed4e1aa207 lua-messagepack-0.5.0-1.src.rock -sha256 1bed1efdddbc7f8adb0c37d0dc3d1fd77ce267f648fc75c08af523e3b6bed3fb lua-messagepack-lua53-0.5.0-1.src.rock +sha256 a27d985b8bdb79ebe78dfe255c795e839a04eb2fed1c610a81c7876e3f72fd97 lua-messagepack-0.5.1-1.src.rock +sha256 b7f69ada6aed7e0cdfd690291607d8f41246e67f191107ecdc0a1e592c449abe lua-messagepack-lua53-0.5.1-1.src.rock diff --git a/package/lua-messagepack/lua-messagepack.mk b/package/lua-messagepack/lua-messagepack.mk index ffcebcab05..7c9bb0d876 100644 --- a/package/lua-messagepack/lua-messagepack.mk +++ b/package/lua-messagepack/lua-messagepack.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_MESSAGEPACK_VERSION_UPSTREAM = 0.5.0 +LUA_MESSAGEPACK_VERSION_UPSTREAM = 0.5.1 LUA_MESSAGEPACK_VERSION = $(LUA_MESSAGEPACK_VERSION_UPSTREAM)-1 ifeq ($(BR2_PACKAGE_LUA_5_3),y) LUA_MESSAGEPACK_NAME_UPSTREAM = lua-MessagePack-lua53 diff --git a/package/lua-resty-http/lua-resty-http.hash b/package/lua-resty-http/lua-resty-http.hash index 95f011bbc9..e45df0e91e 100644 --- a/package/lua-resty-http/lua-resty-http.hash +++ b/package/lua-resty-http/lua-resty-http.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 12d9aa9a49efdb752c1afb19a6d0a758de6c8dd2dad24ea48bd09e03f7a0e0f1 lua-resty-http-0.11-0.src.rock +sha256 4628413a5a2828645e3ddb38a2a0c764e81443cbd1a011357eeed7e983750329 lua-resty-http-0.12-0.src.rock diff --git a/package/lua-resty-http/lua-resty-http.mk b/package/lua-resty-http/lua-resty-http.mk index e79982e203..2aee63d782 100644 --- a/package/lua-resty-http/lua-resty-http.mk +++ b/package/lua-resty-http/lua-resty-http.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_RESTY_HTTP_VERSION = 0.11-0 +LUA_RESTY_HTTP_VERSION = 0.12-0 LUA_RESTY_HTTP_SUBDIR = lua-resty-http LUA_RESTY_HTTP_LICENSE = BSD-2-Clause LUA_RESTY_HTTP_LICENSE_FILES = $(LUA_RESTY_HTTP_SUBDIR)/LICENSE diff --git a/package/lua-testmore/lua-testmore.hash b/package/lua-testmore/lua-testmore.hash index 439097b933..8db664f2d6 100644 --- a/package/lua-testmore/lua-testmore.hash +++ b/package/lua-testmore/lua-testmore.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 a76a9b707487bf3e8b6a5362640bc2e010d184c4f66e423de7b28bd480a0db90 lua-testmore-0.3.2-1.src.rock +sha256 163055ef92df9e01d9ae57cd45d6f6aace1ff4dd3abf7e29b9e30ecb1ab76ae2 lua-testmore-0.3.3-1.src.rock diff --git a/package/lua-testmore/lua-testmore.mk b/package/lua-testmore/lua-testmore.mk index 04482e2586..7904776115 100644 --- a/package/lua-testmore/lua-testmore.mk +++ b/package/lua-testmore/lua-testmore.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_TESTMORE_VERSION = 0.3.2-1 +LUA_TESTMORE_VERSION = 0.3.3-1 LUA_TESTMORE_NAME_UPSTREAM = lua-TestMore LUA_TESTMORE_LICENSE = MIT LUA_TESTMORE_LICENSE_FILES = $(LUA_TESTMORE_SUBDIR)/COPYRIGHT diff --git a/package/lua-utf8/Config.in b/package/lua-utf8/Config.in new file mode 100644 index 0000000000..313fa4e45d --- /dev/null +++ b/package/lua-utf8/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_LUA_UTF8 + bool "lua-utf8" + help + This module adds UTF-8 support to Lua. + It's compatible with Lua "string" module. + + http://github.com/starwing/luautf8 diff --git a/package/lua-utf8/lua-utf8.hash b/package/lua-utf8/lua-utf8.hash new file mode 100644 index 0000000000..51fa2439f1 --- /dev/null +++ b/package/lua-utf8/lua-utf8.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c9ceb3a9f327b3215cdf959eebf616970b5b0427ca3fde05b19f8236defa4b91 utf8-1.2-0.src.rock diff --git a/package/lua-utf8/lua-utf8.mk b/package/lua-utf8/lua-utf8.mk new file mode 100644 index 0000000000..7ed4f3fbed --- /dev/null +++ b/package/lua-utf8/lua-utf8.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# lua-utf8 +# +################################################################################ + +LUA_UTF8_VERSION = 1.2-0 +LUA_UTF8_NAME_UPSTREAM = utf8 +LUA_UTF8_SUBDIR = luautf8 +LUA_UTF8_LICENSE = MIT + +$(eval $(luarocks-package)) diff --git a/package/luadbi-sqlite3/Config.in b/package/luadbi-sqlite3/Config.in new file mode 100644 index 0000000000..6ed32a29aa --- /dev/null +++ b/package/luadbi-sqlite3/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LUADBI_SQLITE3 + bool "luadbi-sqlite3" + select BR2_PACKAGE_LUADBI # runtime dependency + select BR2_PACKAGE_SQLITE + help + LuaDBI is a database interface library for Lua. + And this is the SQLite3 backend. + + https://github.com/mwild1/luadbi diff --git a/package/luadbi-sqlite3/luadbi-sqlite3.hash b/package/luadbi-sqlite3/luadbi-sqlite3.hash new file mode 100644 index 0000000000..bd8b927fa5 --- /dev/null +++ b/package/luadbi-sqlite3/luadbi-sqlite3.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 2868dad4d189368fcf5cddd191965c8cb2efaa3a3ba83d50e6a88c30353f74ce luadbi-sqlite3-0.6-2.src.rock diff --git a/package/luadbi-sqlite3/luadbi-sqlite3.mk b/package/luadbi-sqlite3/luadbi-sqlite3.mk new file mode 100644 index 0000000000..422fa1e319 --- /dev/null +++ b/package/luadbi-sqlite3/luadbi-sqlite3.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# luadbi-sqlite3 +# +################################################################################ + +LUADBI_SQLITE3_VERSION = 0.6-2 +LUADBI_SQLITE3_LICENSE = MIT +LUADBI_SQLITE3_SUBDIR = luadbi +LUADBI_SQLITE3_LICENSE_FILES = $(LUADBI_SQLITE3_SUBDIR)/COPYING +LUADBI_SQLITE3_DEPENDENCIES = sqlite + +$(eval $(luarocks-package)) diff --git a/package/luadbi/Config.in b/package/luadbi/Config.in new file mode 100644 index 0000000000..2e29058574 --- /dev/null +++ b/package/luadbi/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_LUADBI + bool "luadbi" + help + LuaDBI is a database interface library for Lua. + It is designed to provide a RDBMS agnostic API for handling + database operations. LuaDBI also provides support for + prepared statement handles, placeholders and bind parameters + for all database operations. + + https://github.com/mwild1/luadbi diff --git a/package/luadbi/luadbi.hash b/package/luadbi/luadbi.hash new file mode 100644 index 0000000000..e5c022bdf4 --- /dev/null +++ b/package/luadbi/luadbi.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 723f63b744b7367ddfd6bbf7a7e6f6867aa1eaabbbc2bab5dc8a90e80b0c34c2 luadbi-0.6-2.src.rock diff --git a/package/luadbi/luadbi.mk b/package/luadbi/luadbi.mk new file mode 100644 index 0000000000..268e0e6287 --- /dev/null +++ b/package/luadbi/luadbi.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# luadbi +# +################################################################################ + +LUADBI_VERSION = 0.6-2 +LUADBI_LICENSE = MIT +LUADBI_SUBDIR = luadbi +LUADBI_LICENSE_FILES = $(LUADBI_SUBDIR)/COPYING + +$(eval $(luarocks-package)) diff --git a/package/luajit/Config.in b/package/luajit/Config.in index 6b9c6e6ae8..7e792c53c4 100644 --- a/package/luajit/Config.in +++ b/package/luajit/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS bool - # -m32 flag is used for 32bit builds and host-luajit has - # limited architecture support - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" default y if BR2_i386 || \ (BR2_x86_64 && BR2_HOSTARCH='x86_64') || \ BR2_powerpc || BR2_arm || BR2_armeb || \ ((BR2_mips || BR2_mipsel) && !BR2_MIPS_SOFT_FLOAT && \ !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6) + # -m32 flag is used for 32bit builds and host-luajit has + # limited architecture support + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" config BR2_PACKAGE_LUAJIT bool "luajit" diff --git a/package/luaossl/luaossl.hash b/package/luaossl/luaossl.hash index 84e6e64e3e..8c91a1fcf5 100644 --- a/package/luaossl/luaossl.hash +++ b/package/luaossl/luaossl.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 9c1df5a0e83f0f867850047f5e42009a15864fb7e40afa028d86523bcc840fae luaossl-20170901-0.src.rock +sha256 f9c94c97579efddf8abad1e373e0fe0ecc93d00cd9d1bd49f48c5716c281a08b luaossl-20171028-0.src.rock diff --git a/package/luaossl/luaossl.mk b/package/luaossl/luaossl.mk index 07d4ef2a06..26021a73a6 100644 --- a/package/luaossl/luaossl.mk +++ b/package/luaossl/luaossl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUAOSSL_VERSION_UPSTREAM = 20170901 +LUAOSSL_VERSION_UPSTREAM = 20171028 LUAOSSL_VERSION = $(LUAOSSL_VERSION_UPSTREAM)-0 LUAOSSL_SUBDIR = luaossl-rel-$(LUAOSSL_VERSION_UPSTREAM) LUAOSSL_LICENSE = MIT diff --git a/package/luasec/luasec.hash b/package/luasec/luasec.hash index 1e9f70ad6f..9d721ed485 100644 --- a/package/luasec/luasec.hash +++ b/package/luasec/luasec.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 d2198cc39b3fa55bd5020046742b34093b6efcb619cf4032948b8c8556202a32 luasec-0.5-2.src.rock +sha256 1d04e2f70bc055348dda3cc3566d27d8408094bc944aa5c6a4ae18bffe5c0007 luasec-0.6-1.src.rock diff --git a/package/luasec/luasec.mk b/package/luasec/luasec.mk index b059e1c6ee..28c4b2c64b 100644 --- a/package/luasec/luasec.mk +++ b/package/luasec/luasec.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUASEC_VERSION = 0.5-2 +LUASEC_VERSION = 0.6-1 LUASEC_SUBDIR = luasec LUASEC_LICENSE = MIT LUASEC_LICENSE_FILES = $(LUASEC_SUBDIR)/LICENSE diff --git a/package/luksmeta/Config.in b/package/luksmeta/Config.in index 62e1f3e42f..ddc9b6f3bf 100644 --- a/package/luksmeta/Config.in +++ b/package/luksmeta/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_LUKSMETA depends on BR2_TOOLCHAIN_HAS_THREADS # cryptsetup -> lvm2 depends on BR2_USE_MMU # cryptsetup -> lvm2 depends on !BR2_STATIC_LIBS # cryptsetup -> lvm2 - depends on !BR2_TOOLCHAIN_USES_MUSL # cryptsetup -> lvm2 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # cryptsetup -> json-c select BR2_PACKAGE_CRYPTSETUP help LUKSMeta is a simple library and utility for storing @@ -11,7 +11,7 @@ config BR2_PACKAGE_LUKSMETA https://github.com/latchset/luksmeta -comment "luksmeta needs a glibc or uClibc toolchain w/ threads, dynamic library" +comment "luksmeta needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ - || BR2_TOOLCHAIN_USES_MUSL + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch b/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch new file mode 100644 index 0000000000..8ca39c2cab --- /dev/null +++ b/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch @@ -0,0 +1,277 @@ +From f563334a76e31442f7b8693d2d350e6981c51c46 Mon Sep 17 00:00:00 2001 +From: Marcin Niestroj +Date: Fri, 20 Jul 2018 14:26:44 +0200 +Subject: [PATCH] configure: Introduce --enable-symvers option + +Only few libc (e.g. glibc) libraries support full symbol version +resolution in runtime. There are lot of standard libraries that do not +support that, such as dietlibc, musl and uclibc. Hence there is no +reason to generate symbol versions when compiling against them. + +Additionally libdevmapper.so was broken when compiled against +uclibc. Runtime linker loader caused calling dm_task_get_info_base() +function recursively, leading to segmentation fault. + +Introduce --enable-symvers[=STYLE] option, which allows to choose +between gnu and disabled symbol versioning. By default gnu symbol +versioning is used to provide backward compatibility. +__GNUC__ check is replaced now with GNU_SYMVER, which is generated by +configure script. Additionally ld version script is included only in +case of gnu option, which slightly reduces output size. + +Providing --disable-symvers to configure script when building against +uclibc library fixes segmentation fault error described above, due to +lack of several versions of the same symbol in libdevmapper.so +library. + +Signed-off-by: Marcin Niestroj +--- + configure | 32 ++++++++++++++++++++++++++++++-- + configure.in | 28 +++++++++++++++++++++++++--- + include/configure.h.in | 3 +++ + lib/misc/lib.h | 10 +++++----- + libdm/datastruct/bitset.c | 5 +---- + libdm/ioctl/libdm-iface.c | 2 +- + libdm/libdm-deptree.c | 2 +- + libdm/libdm-stats.c | 2 +- + 8 files changed, 67 insertions(+), 17 deletions(-) + +diff --git a/configure b/configure +index e1ae0e884..c5d11c1b6 100755 +--- a/configure ++++ b/configure +@@ -985,6 +985,7 @@ enable_fsadm + enable_blkdeactivate + enable_dmeventd + enable_selinux ++enable_symvers + enable_nls + with_localedir + with_confdir +@@ -1729,6 +1730,9 @@ Optional Features: + --disable-blkdeactivate disable blkdeactivate + --enable-dmeventd enable the device-mapper event daemon + --disable-selinux disable selinux support ++ --enable-symvers[=STYLE] ++ enables symbol versioning of the shared library ++ [default=gnu] + --enable-nls enable Native Language Support + + Optional Packages: +@@ -3169,7 +3173,6 @@ if test -z "$CFLAGS"; then : + fi + case "$host_os" in + linux*) +- CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" + ELDFLAGS="-Wl,--export-dynamic" + # FIXME Generate list and use --dynamic-list=.dlopen.sym + CLDWHOLEARCHIVE="-Wl,-whole-archive" +@@ -3190,7 +3193,6 @@ case "$host_os" in + ;; + darwin*) + CFLAGS="$CFLAGS -no-cpp-precomp -fno-common" +- CLDFLAGS="$CLDFLAGS" + ELDFLAGS= + CLDWHOLEARCHIVE="-all_load" + CLDNOWHOLEARCHIVE= +@@ -14609,6 +14611,32 @@ done + LIBS=$lvm_saved_libs + fi + ++################################################################################ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable symbol versioning" >&5 ++$as_echo_n "checking whether to enable symbol versioning... " >&6; } ++# Check whether --enable-symvers was given. ++if test "${enable_symvers+set}" = set; then : ++ enableval=$enable_symvers; ++ case "$enableval" in ++ gnu|no) ;; ++ *) as_fn_error $? "Unknown argument to enable/disable symvers" "$LINENO" 5 ;; ++ esac ++else ++ enable_symvers=gnu ++fi ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_symvers" >&5 ++$as_echo "$enable_symvers" >&6; } ++ ++if test x$GCC = xyes && test x$enable_symvers = xgnu ; then ++ ++$as_echo "#define GNU_SYMVER 1" >>confdefs.h ++ ++ case "$host_os" in ++ linux*) CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" ;; ++ esac ++fi ++ + ################################################################################ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable internationalisation" >&5 + $as_echo_n "checking whether to enable internationalisation... " >&6; } +diff --git a/configure.in b/configure.in +index 2e5e015c8..09c390850 100644 +--- a/configure.in ++++ b/configure.in +@@ -30,12 +30,10 @@ AC_CANONICAL_TARGET([]) + AS_IF([test -z "$CFLAGS"], [COPTIMISE_FLAG="-O2"]) + case "$host_os" in + linux*) +- CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" + ELDFLAGS="-Wl,--export-dynamic" + # FIXME Generate list and use --dynamic-list=.dlopen.sym + CLDWHOLEARCHIVE="-Wl,-whole-archive" + CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive" +- LDDEPS="$LDDEPS .export.sym" + LIB_SUFFIX=so + DEVMAPPER=yes + BUILD_LVMETAD=no +@@ -51,7 +49,6 @@ case "$host_os" in + ;; + darwin*) + CFLAGS="$CFLAGS -no-cpp-precomp -fno-common" +- CLDFLAGS="$CLDFLAGS" + ELDFLAGS= + CLDWHOLEARCHIVE="-all_load" + CLDNOWHOLEARCHIVE= +@@ -1742,6 +1739,31 @@ package as well (which may be called readline-devel or something similar).]) + LIBS=$lvm_saved_libs + fi + ++################################################################################ ++dnl -- Symbol versioning ++AC_MSG_CHECKING(whether to enable symbol versioning) ++AC_ARG_ENABLE(symvers, ++ AC_HELP_STRING([--enable-symvers[[[=STYLE]]]], ++ [enables symbol versioning of the shared library [default=gnu]]), ++ [ ++ case "$enableval" in ++ gnu|no) ;; ++ *) AC_MSG_ERROR(Unknown argument to enable/disable symvers) ;; ++ esac], ++ enable_symvers=gnu) ++AC_MSG_RESULT($enable_symvers) ++ ++if test x$GCC = xyes && test x$enable_symvers = xgnu ; then ++ AC_DEFINE(GNU_SYMVER, 1, ++ [Define to use GNU versioning in the shared library.]) ++ case "$host_os" in ++ linux*) ++ CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" ++ LDDEPS="$LDDEPS .export.sym" ++ ;; ++ esac ++fi ++ + ################################################################################ + dnl -- Internationalisation stuff + AC_MSG_CHECKING(whether to enable internationalisation) +diff --git a/include/configure.h.in b/include/configure.h.in +index 51726506c..3fc181b1e 100644 +--- a/include/configure.h.in ++++ b/include/configure.h.in +@@ -151,6 +151,9 @@ + /* Path to fsadm binary. */ + #undef FSADM_PATH + ++/* Define to use GNU versioning in the shared library. */ ++#undef GNU_SYMVER ++ + /* Define to 1 if you have the `alarm' function. */ + #undef HAVE_ALARM + +diff --git a/lib/misc/lib.h b/lib/misc/lib.h +index 8ed06f81d..9b3ce8a03 100644 +--- a/lib/misc/lib.h ++++ b/lib/misc/lib.h +@@ -42,16 +42,16 @@ + * macro DM_EXPORT_SYMBOL to export the function and bind it to the + * specified version string. + * +- * Since versioning is only available when compiling with GCC the entire +- * compatibility version should be enclosed in '#if defined(__GNUC__)', +- * for example: ++ * Since versioning is only available when compiling with GCC ++ * and GLIBC the entire compatibility version should be enclosed ++ * in '#if defined(GNU_SYMVER)', for example: + * + * int dm_foo(int bar) + * { + * return bar; + * } + * +- * #if defined(__GNUC__) ++ * #if defined(GNU_SYMVER) + * // Backward compatible dm_foo() version 1.02.104 + * int dm_foo_v1_02_104(void); + * int dm_foo_v1_02_104(void) +@@ -68,7 +68,7 @@ + * versions of library symbols prior to the introduction of symbol + * versioning: it must never be used for new symbols. + */ +-#if defined(__GNUC__) ++#if defined(GNU_SYMVER) + #define DM_EXPORT_SYMBOL(func, ver) \ + __asm__(".symver " #func "_v" #ver ", " #func "@DM_" #ver ) + #define DM_EXPORT_SYMBOL_BASE(func) \ +diff --git a/libdm/datastruct/bitset.c b/libdm/datastruct/bitset.c +index b0826e1eb..2ec3f8f84 100644 +--- a/libdm/datastruct/bitset.c ++++ b/libdm/datastruct/bitset.c +@@ -242,7 +242,7 @@ bad: + return NULL; + } + +-#if defined(__GNUC__) ++#if defined(GNU_SYMVER) + /* + * Maintain backward compatibility with older versions that did not + * accept a 'min_num_bits' argument to dm_bitset_parse_list(). +@@ -253,7 +253,4 @@ dm_bitset_t dm_bitset_parse_list_v1_02_129(const char *str, struct dm_pool *mem) + return dm_bitset_parse_list(str, mem, 0); + } + DM_EXPORT_SYMBOL(dm_bitset_parse_list, 1_02_129); +- +-#else /* if defined(__GNUC__) */ +- + #endif +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index c47e08467..b98afb15d 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c +@@ -2137,7 +2137,7 @@ void dm_lib_exit(void) + _version_checked = 0; + } + +-#if defined(__GNUC__) ++#if defined(GNU_SYMVER) + /* + * Maintain binary backward compatibility. + * Version script mechanism works with 'gcc' compatible compilers only. +diff --git a/libdm/libdm-deptree.c b/libdm/libdm-deptree.c +index cf4fd62e7..474871da5 100644 +--- a/libdm/libdm-deptree.c ++++ b/libdm/libdm-deptree.c +@@ -4110,7 +4110,7 @@ void dm_tree_node_set_callback(struct dm_tree_node *dnode, + dnode->callback_data = data; + } + +-#if defined(__GNUC__) ++#if defined(GNU_SYMVER) + /* + * Backward compatible implementations. + * +diff --git a/libdm/libdm-stats.c b/libdm/libdm-stats.c +index bc498675f..d424928c7 100644 +--- a/libdm/libdm-stats.c ++++ b/libdm/libdm-stats.c +@@ -5064,7 +5064,7 @@ int dm_stats_start_filemapd(int fd, uint64_t group_id, const char *path, + * current dm_stats_create_region() version. + */ + +-#if defined(__GNUC__) ++#if defined(GNU_SYMVER) + int dm_stats_create_region_v1_02_106(struct dm_stats *dms, uint64_t *region_id, + uint64_t start, uint64_t len, int64_t step, + int precise, const char *program_id, +-- +2.18.0 + diff --git a/package/lvm2/Config.in b/package/lvm2/Config.in index 2fa3fc134e..0dd6d53b4a 100644 --- a/package/lvm2/Config.in +++ b/package/lvm2/Config.in @@ -25,9 +25,9 @@ if BR2_PACKAGE_LVM2 config BR2_PACKAGE_LVM2_STANDARD_INSTALL bool "standard install instead of only dmsetup" + default y if !BR2_PACKAGE_LVM2_DMSETUP_ONLY # legacy 2013.11 # http://lists.busybox.net/pipermail/buildroot/2016-August/170592.html depends on !BR2_TOOLCHAIN_USES_MUSL - default y if !BR2_PACKAGE_LVM2_DMSETUP_ONLY # legacy 2013.11 help Install the standard suite of lvm2 programs. When this option is not set, only dmsetup is installed. diff --git a/package/lvm2/lvm2.hash b/package/lvm2/lvm2.hash index 9f7a6c6f51..b0dfcfcef3 100644 --- a/package/lvm2/lvm2.hash +++ b/package/lvm2/lvm2.hash @@ -1,2 +1,5 @@ # From ftp://sources.redhat.com/pub/lvm2/releases/sha512.sum sha512 c2ea8beafe006abf9282f51ec98600fd0ebff816d53c10ecbb19bbf336ada4825135cf9c92ccd364afb18f8b1d7e163eff5bdec8dfdd70dfb9ba45db2f6bdd5e LVM2.2.02.173.tgz +# Locally computed sha256 checksums +sha256 e76fbcd2fb97cf202da330301327754d2db5c58b5b4bebd3a8a749393e7603d1 COPYING +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LIB diff --git a/package/lvm2/lvm2.mk b/package/lvm2/lvm2.mk index 20e0dd0d5c..ccdc2c38e6 100644 --- a/package/lvm2/lvm2.mk +++ b/package/lvm2/lvm2.mk @@ -19,7 +19,8 @@ LVM2_CONF_OPTS += \ --enable-pkgconfig \ --enable-cmdlib \ --enable-dmeventd \ - --disable-nls + --disable-nls \ + --disable-symvers LVM2_DEPENDENCIES += host-pkgconf diff --git a/package/lxc/lxc.hash b/package/lxc/lxc.hash index 8adccaf842..d8526e93a3 100644 --- a/package/lxc/lxc.hash +++ b/package/lxc/lxc.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 68663a67450a8d6734e137eac54cc7077209fb15c456eec401a2c26e6386eff6 lxc-2.1.1.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/lynx/0001-src-chrtrans-don-t-build-host-tools-with-target-LDFL.patch b/package/lynx/0001-src-chrtrans-don-t-build-host-tools-with-target-LDFL.patch new file mode 100644 index 0000000000..cc057cee13 --- /dev/null +++ b/package/lynx/0001-src-chrtrans-don-t-build-host-tools-with-target-LDFL.patch @@ -0,0 +1,41 @@ +From bb47abe9e7996147f6b7b325f5c9b2143abf8f13 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 7 May 2018 22:00:52 +0200 +Subject: [PATCH] src/chrtrans: don't build host tools with target LDFLAGS + +In a cross-compilation context, the LDFLAGS variable contains linker +flags used when building things for the target. However, the makeuctb +tool is built for the host machine, and therefore should not use the +same LDFLAGS as the target, which is why BUILD_LDFLAGS exist. + +Using LDFLAGS when building a tool for the host can cause problems +when some flags in LDFLAGS are not supported by the host machine. For +example, if you're linking statically lynx for the target, but the +build machine does not support static linking: + +gcc -I../.. -I../../src -I../../src/chrtrans -I../../WWW/Library/Implementation -I../../ -static -o makeuctb makeuctb.o +/usr/bin/ld: cannot find -lc +collect2: error: ld returned 1 exit status + +Signed-off-by: Thomas Petazzoni +Upstream-status: submitted on the mailing list +--- + src/chrtrans/makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/chrtrans/makefile.in b/src/chrtrans/makefile.in +index aab358f..6e0ef03 100644 +--- a/src/chrtrans/makefile.in ++++ b/src/chrtrans/makefile.in +@@ -123,7 +123,7 @@ OBJS = makeuctb$o + C_SRC = $(OBJS:$o=.c) + + $(MAKEUCTB) : $(OBJS) +- $(BUILD_CC) $(CC_OPTS) $(LDFLAGS) $(BUILD_LDFLAGS) -o $@ $(OBJS) $(INTLLIB) $(BUILD_LIBS) ++ $(BUILD_CC) $(CC_OPTS) $(BUILD_LDFLAGS) -o $@ $(OBJS) $(INTLLIB) $(BUILD_LIBS) + + makeuctb$o : $(srcdir)/UCkd.h $(srcdir)/makeuctb.c + +-- +2.14.3 + diff --git a/package/lynx/Config.in b/package/lynx/Config.in new file mode 100644 index 0000000000..a338f83616 --- /dev/null +++ b/package/lynx/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LYNX + bool "lynx" + depends on BR2_USE_MMU + select BR2_PACKAGE_SLANG if !BR2_PACKAGE_NCURSES + select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_GNUTLS + help + The Text Web-Browser. + + http://lynx.invisible-island.net/ diff --git a/package/lynx/lynx.hash b/package/lynx/lynx.hash new file mode 100644 index 0000000000..c39475aa23 --- /dev/null +++ b/package/lynx/lynx.hash @@ -0,0 +1,3 @@ +# Locally calculated: +sha256 04318a100b052d079d0018fa371aa28cfb41ab68db3a959f3b75c2170eea1bc8 lynx2.8.9dev.16.tar.bz2 +sha256 8406a30ff3134ec23cf752d1ceda92ddaabbe41b4f2dc07ea3cfa139de12d6d6 COPYING diff --git a/package/lynx/lynx.mk b/package/lynx/lynx.mk new file mode 100644 index 0000000000..a95326a14a --- /dev/null +++ b/package/lynx/lynx.mk @@ -0,0 +1,38 @@ +################################################################################ +# +# lynx +# +################################################################################ + +LYNX_VERSION = 2.8.9dev.16 +LYNX_SOURCE = lynx$(LYNX_VERSION).tar.bz2 +LYNX_SITE = ftp://ftp.invisible-island.net/lynx/tarballs +LYNX_LICENSE = GPL-2.0 +LYNX_LICENSE_FILES = COPYING + +LYNX_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) + +ifeq ($(BR2_PACKAGE_NCURSES),y) +LYNX_DEPENDENCIES += ncurses +LYNX_CONF_OPTS += --with-screen=ncurses$(if $(BR2_PACKAGE_NCURSES_WCHAR),w) +else ifeq ($(BR2_PACKAGE_SLANG),y) +LYNX_DEPENDENCIES += slang +LYNX_CONF_OPTS += --with-screen=slang +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LYNX_DEPENDENCIES += openssl +LYNX_CONF_OPTS += --with-ssl +else ifeq ($(BR2_PACKAGE_GNUTLS),y) +LYNX_DEPENDENCIES += gnutls +LYNX_CONF_OPTS += --with-gnutls +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +LYNX_DEPENDENCIES += zlib +LYNX_CONF_OPTS += --with-zlib +else +LYNX_CONF_OPTS += --without-zlib +endif + +$(eval $(autotools-package)) diff --git a/package/lz4/lz4.mk b/package/lz4/lz4.mk index 91ff43b052..de8c311a31 100644 --- a/package/lz4/lz4.mk +++ b/package/lz4/lz4.mk @@ -18,7 +18,7 @@ LZ4_POST_PATCH_HOOKS += LZ4_DISABLE_SHARED endif define HOST_LZ4_BUILD_CMDS - $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) all endef define HOST_LZ4_INSTALL_CMDS @@ -27,7 +27,7 @@ define HOST_LZ4_INSTALL_CMDS endef define LZ4_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/lib + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) all endef define LZ4_INSTALL_STAGING_CMDS @@ -37,7 +37,7 @@ endef define LZ4_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) DESTDIR=$(TARGET_DIR) \ - PREFIX=/usr install -C $(@D)/lib + PREFIX=/usr install -C $(@D) endef $(eval $(generic-package)) diff --git a/package/m4/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch b/package/m4/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch new file mode 100644 index 0000000000..5c5c11b990 --- /dev/null +++ b/package/m4/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch @@ -0,0 +1,166 @@ +From 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Mon, 5 Mar 2018 10:56:29 -0800 +Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by Daniel P. Berrangé in: +https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html +* lib/fbufmode.c (fbufmode): +* lib/fflush.c (clear_ungetc_buffer_preserving_position) +(disable_seek_optimization, rpl_fflush): +* lib/fpending.c (__fpending): +* lib/fpurge.c (fpurge): +* lib/freadable.c (freadable): +* lib/freadahead.c (freadahead): +* lib/freading.c (freading): +* lib/freadptr.c (freadptr): +* lib/freadseek.c (freadptrinc): +* lib/fseeko.c (fseeko): +* lib/fseterr.c (fseterr): +* lib/fwritable.c (fwritable): +* lib/fwriting.c (fwriting): +Check _IO_EOF_SEEN instead of _IO_ftrylockfile. +* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]: +Define if not already defined. + +[yann.morin.1998@free.fr: partially backport from upstream gnulib] +Signed-off-by: "Yann E. MORIN" + +--- + lib/fflush.c | 6 +++--- + lib/fpending.c | 2 +- + lib/fpurge.c | 2 +- + lib/freadahead.c | 2 +- + lib/freading.c | 2 +- + lib/fseeko.c | 4 ++-- + lib/stdio-impl.h | 6 ++++++ + 7 files changed, 15 insertions(+), 9 deletions(-) + +diff --git a/lib/fflush.c b/build-aux/gnulib/lib/fflush.c +index 983ade0ff..a6edfa105 100644 +--- a/lib/fflush.c ++++ b/lib/fflush.c +@@ -33,7 +33,7 @@ + #undef fflush + + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ + static void +@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp) + + #endif + +-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) ++#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) + + # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream) + if (stream == NULL || ! freading (stream)) + return fflush (stream); + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + clear_ungetc_buffer_preserving_position (stream); + +diff --git a/lib/fpending.c b/build-aux/gnulib/lib/fpending.c +index c84e3a5b4..789f50e4e 100644 +--- a/lib/fpending.c ++++ b/lib/fpending.c +@@ -32,7 +32,7 @@ __fpending (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + return fp->_IO_write_ptr - fp->_IO_write_base; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +diff --git a/lib/fpurge.c b/build-aux/gnulib/lib/fpurge.c +index b1d417c7a..3aedcc373 100644 +--- a/lib/fpurge.c ++++ b/lib/fpurge.c +@@ -62,7 +62,7 @@ fpurge (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_IO_read_end = fp->_IO_read_ptr; + fp->_IO_write_ptr = fp->_IO_write_base; + /* Avoid memory leak when there is an active ungetc buffer. */ +diff --git a/lib/freadahead.c b/build-aux/gnulib/lib/freadahead.c +index c2ecb5b28..23ec76ee5 100644 +--- a/lib/freadahead.c ++++ b/lib/freadahead.c +@@ -30,7 +30,7 @@ extern size_t __sreadahead (FILE *); + size_t + freadahead (FILE *fp) + { +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + if (fp->_IO_write_ptr > fp->_IO_write_base) + return 0; + return (fp->_IO_read_end - fp->_IO_read_ptr) +diff --git a/lib/freading.c b/build-aux/gnulib/lib/freading.c +index 73c28acdd..c24d0c88a 100644 +--- a/lib/freading.c ++++ b/lib/freading.c +@@ -31,7 +31,7 @@ freading (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + return ((fp->_flags & _IO_NO_WRITES) != 0 + || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 + && fp->_IO_read_base != NULL)); +diff --git a/lib/fseeko.c b/build-aux/gnulib/lib/fseeko.c +index 0101ab55f..193f4e8ce 100644 +--- a/lib/fseeko.c ++++ b/lib/fseeko.c +@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence) + #endif + + /* These tests are based on fpurge.c. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + if (fp->_IO_read_end == fp->_IO_read_ptr + && fp->_IO_write_ptr == fp->_IO_write_base + && fp->_IO_save_base == NULL) +@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence) + return -1; + } + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags &= ~_IO_EOF_SEEN; + fp->_offset = pos; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ +diff --git a/lib/stdio-impl.h b/build-aux/gnulib/lib/stdio-impl.h +index 78d896e9f..05c5752a2 100644 +--- a/lib/stdio-impl.h ++++ b/lib/stdio-impl.h +@@ -18,6 +18,12 @@ + the same implementation of stdio extension API, except that some fields + have different naming conventions, or their access requires some casts. */ + ++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this ++ problem by defining it ourselves. FIXME: Do not rely on glibc ++ internals. */ ++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN ++# define _IO_IN_BACKUP 0x100 ++#endif + + /* BSD stdio derived implementations. */ + +-- +2.14.1 + diff --git a/package/m4/0002-fflush-be-more-paranoid-about-libio.h-change.patch b/package/m4/0002-fflush-be-more-paranoid-about-libio.h-change.patch new file mode 100644 index 0000000000..a820ca8ca9 --- /dev/null +++ b/package/m4/0002-fflush-be-more-paranoid-about-libio.h-change.patch @@ -0,0 +1,151 @@ +From 74d9d6a293d7462dea8f83e7fc5ac792e956a0ad Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Thu, 8 Mar 2018 16:42:45 -0800 +Subject: [PATCH 2/2] fflush: be more paranoid about libio.h change + +Suggested by Eli Zaretskii in: +https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html +* lib/fbufmode.c (fbufmode): +* lib/fflush.c (clear_ungetc_buffer_preserving_position) +(disable_seek_optimization, rpl_fflush): +* lib/fpending.c (__fpending): +* lib/fpurge.c (fpurge): +* lib/freadable.c (freadable): +* lib/freadahead.c (freadahead): +* lib/freading.c (freading): +* lib/freadptr.c (freadptr): +* lib/freadseek.c (freadptrinc): +* lib/fseeko.c (fseeko): +* lib/fseterr.c (fseterr): +* lib/fwritable.c (fwritable): +* lib/fwriting.c (fwriting): +Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN. +--- + lib/fflush.c | 9 ++++++--- + lib/fpending.c | 3 ++- + lib/fpurge.c | 3 ++- + lib/freadahead.c | 3 ++- + lib/freading.c | 3 ++- + lib/fseeko.c | 6 ++++-- + 6 files changed, 18 insertions(+), 9 deletions(-) + +[yann.morin.1998@free.fr: partially backport from upstream gnulib] +Signed-off-by: "Yann E. MORIN" + +diff --git a/lib/fflush.c b/build-aux/gnulib/lib/fflush.c +index a6edfa105..a140b7ad9 100644 +--- a/lib/fflush.c ++++ b/lib/fflush.c +@@ -33,7 +33,8 @@ + #undef fflush + + +-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 ++/* GNU libc, BeOS, Haiku, Linux libc5 */ + + /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ + static void +@@ -72,7 +73,8 @@ clear_ungetc_buffer (FILE *fp) + + #endif + +-#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) ++#if ! (defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1) ++/* GNU libc, BeOS, Haiku, Linux libc5 */ + + # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +@@ -148,7 +150,8 @@ rpl_fflush (FILE *stream) + if (stream == NULL || ! freading (stream)) + return fflush (stream); + +-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 ++ /* GNU libc, BeOS, Haiku, Linux libc5 */ + + clear_ungetc_buffer_preserving_position (stream); + +diff --git a/lib/fpending.c b/build-aux/gnulib/lib/fpending.c +index 789f50e4e..7bc235ded 100644 +--- a/lib/fpending.c ++++ b/lib/fpending.c +@@ -32,7 +32,8 @@ __fpending (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 ++ /* GNU libc, BeOS, Haiku, Linux libc5 */ + return fp->_IO_write_ptr - fp->_IO_write_base; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +diff --git a/lib/fpurge.c b/build-aux/gnulib/lib/fpurge.c +index 3aedcc373..554790b56 100644 +--- a/lib/fpurge.c ++++ b/lib/fpurge.c +@@ -62,7 +62,8 @@ fpurge (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 ++ /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_IO_read_end = fp->_IO_read_ptr; + fp->_IO_write_ptr = fp->_IO_write_base; + /* Avoid memory leak when there is an active ungetc buffer. */ +diff --git a/lib/freadahead.c b/build-aux/gnulib/lib/freadahead.c +index 23ec76ee5..ed3dd0ebd 100644 +--- a/lib/freadahead.c ++++ b/lib/freadahead.c +@@ -30,7 +30,8 @@ extern size_t __sreadahead (FILE *); + size_t + freadahead (FILE *fp) + { +-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 ++ /* GNU libc, BeOS, Haiku, Linux libc5 */ + if (fp->_IO_write_ptr > fp->_IO_write_base) + return 0; + return (fp->_IO_read_end - fp->_IO_read_ptr) +diff --git a/lib/freading.c b/build-aux/gnulib/lib/freading.c +index c24d0c88a..790f92ca3 100644 +--- a/lib/freading.c ++++ b/lib/freading.c +@@ -31,7 +31,8 @@ freading (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 ++ /* GNU libc, BeOS, Haiku, Linux libc5 */ + return ((fp->_flags & _IO_NO_WRITES) != 0 + || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 + && fp->_IO_read_base != NULL)); +diff --git a/lib/fseeko.c b/build-aux/gnulib/lib/fseeko.c +index 193f4e8ce..e5c5172e7 100644 +--- a/lib/fseeko.c ++++ b/lib/fseeko.c +@@ -47,7 +47,8 @@ fseeko (FILE *fp, off_t offset, int whence) + #endif + + /* These tests are based on fpurge.c. */ +-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 ++ /* GNU libc, BeOS, Haiku, Linux libc5 */ + if (fp->_IO_read_end == fp->_IO_read_ptr + && fp->_IO_write_ptr == fp->_IO_write_base + && fp->_IO_save_base == NULL) +@@ -123,7 +124,8 @@ fseeko (FILE *fp, off_t offset, int whence) + return -1; + } + +-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 ++ /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags &= ~_IO_EOF_SEEN; + fp->_offset = pos; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ +-- +2.14.1 + diff --git a/package/macchanger/Config.in b/package/macchanger/Config.in index a9ebc8ee24..e1a03e1223 100644 --- a/package/macchanger/Config.in +++ b/package/macchanger/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_MACCHANGER bool "macchanger" help - A GNU/Linux utility for viewing/manipulating the MAC address of - network interfaces + A GNU/Linux utility for viewing/manipulating the MAC address + of network interfaces http://www.gnu.org/software/macchanger diff --git a/package/madplay/Config.in b/package/madplay/Config.in index 3baeaa0631..922460e0c2 100644 --- a/package/madplay/Config.in +++ b/package/madplay/Config.in @@ -3,11 +3,11 @@ config BR2_PACKAGE_MADPLAY select BR2_PACKAGE_LIBMAD select BR2_PACKAGE_LIBID3TAG help - Command-line front-end to libmad, a high-quality MPEG audio decoder. - It currently supports MPEG-1 and the MPEG-2 extension to lower - sampling frequencies, as well as the de facto MPEG 2.5 format. All - three audio layers — Layer I, Layer II, and Layer III (i.e. MP3) — - are fully implemented. + Command-line front-end to libmad, a high-quality MPEG audio + decoder. It currently supports MPEG-1 and the MPEG-2 + extension to lower sampling frequencies, as well as the de + facto MPEG 2.5 format. All three audio layers — Layer I, + Layer II, and Layer III (i.e. MP3) — are fully implemented. http://www.underbit.com/products/mad/ diff --git a/package/makedevs/makedevs.c b/package/makedevs/makedevs.c index 1ba5936342..c57b964f5c 100644 --- a/package/makedevs/makedevs.c +++ b/package/makedevs/makedevs.c @@ -510,7 +510,7 @@ int main(int argc, char **argv) linenum++; - if (1 == sscanf(line, "|xattr %254s", xattr)) { + if (1 == sscanf(line, " |xattr %254s", xattr)) { #ifdef EXTENDED_ATTRIBUTES if (!full_name) bb_error_msg_and_die("line %d should be after a file\n", linenum); diff --git a/package/mali-t76x/Config.in b/package/mali-t76x/Config.in index 07f1f31894..a85fa5b27e 100644 --- a/package/mali-t76x/Config.in +++ b/package/mali-t76x/Config.in @@ -7,9 +7,9 @@ config BR2_PACKAGE_MALI_T76X select BR2_PACKAGE_HAS_LIBEGL select BR2_PACKAGE_HAS_LIBGLES help - Install the binary user-space components for the ARM Mali Midgard - T76X GPU. This package requires a kernel with the ARM Mali Midgard - GPU Kernel Drivers enabled. + Install the binary user-space components for the ARM Mali + Midgard T76X GPU. This package requires a kernel with the + ARM Mali Midgard GPU Kernel Drivers enabled. Source: http://malideveloper.arm.com/resources/drivers/ diff --git a/package/mariadb/mariadb.hash b/package/mariadb/mariadb.hash index 1483bf70da..e4736465e0 100644 --- a/package/mariadb/mariadb.hash +++ b/package/mariadb/mariadb.hash @@ -1,5 +1,8 @@ -# From https://downloads.mariadb.org/mariadb/10.1.28/ -sha256 292dc8fff420c4bdaf3a2c3381ec3c99292965db2b09de0d7fec414c00032bbd mariadb-10.1.28.tar.gz +# From https://downloads.mariadb.org/mariadb/10.1.35/ +md5 935f401314ff08a4177beb70fed6055c mariadb-10.1.35.tar.gz +sha1 d322f0da17f4de475832dd534657eba5a936f77b mariadb-10.1.35.tar.gz +sha256 9e91d985ed4f662126e3e5791fe91ec8a2f44ec811113c2b6fbc72fa14553c4d mariadb-10.1.35.tar.gz +sha512 88e6049f3bbc3aa047e108f91a2c4f335758e80f25bfa2974b5f8c2e13f5758824d7835dece021b515c531e5641b9998e4de92256ad4b47b7f694da99bd471aa mariadb-10.1.35.tar.gz # Hash for license files sha256 69ce89a0cadbe35a858398c258be93c388715e84fc0ca04e5a1fd1aa9770dd3a README diff --git a/package/mariadb/mariadb.mk b/package/mariadb/mariadb.mk index 9d30d8f207..e8ccf7a2a9 100644 --- a/package/mariadb/mariadb.mk +++ b/package/mariadb/mariadb.mk @@ -4,7 +4,7 @@ # ################################################################################ -MARIADB_VERSION = 10.1.28 +MARIADB_VERSION = 10.1.35 MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library) # Tarball no longer contains LGPL license text @@ -48,8 +48,12 @@ MARIADB_CONF_OPTS += -DCMAKE_CROSSCOMPILING=1 MARIADB_CONF_OPTS += -DENABLE_DTRACE=0 ifeq ($(BR2_PACKAGE_MARIADB_SERVER),y) +ifeq ($(BR2_PACKAGE_MARIADB_SERVER_EMBEDDED),y) MARIADB_CONF_OPTS += -DWITH_EMBEDDED_SERVER=ON else +MARIADB_CONF_OPTS += -DWITH_EMBEDDED_SERVER=OFF +endif +else MARIADB_CONF_OPTS += -DWITHOUT_SERVER=ON endif @@ -104,13 +108,13 @@ define MARIADB_INSTALL_INIT_SYSTEMD endef endif +# We don't need mysql_config on the target as it's only useful in staging +# We also don't need the test suite on the target define MARIADB_POST_INSTALL mkdir -p $(TARGET_DIR)/var/lib/mysql $(INSTALL) -D -m 644 $(TARGET_DIR)/usr/share/mysql/my-small.cnf \ $(TARGET_DIR)/etc/mysql/my.cnf - # We don't need this on the target as it's only useful in staging $(RM) $(TARGET_DIR)/usr/bin/mysql_config - # Remove test suite $(RM) -r $(TARGET_DIR)/usr/share/mysql/test endef diff --git a/package/matchbox-fakekey/matchbox-fakekey.mk b/package/matchbox-fakekey/matchbox-fakekey.mk index 996206e266..e607c48c15 100644 --- a/package/matchbox-fakekey/matchbox-fakekey.mk +++ b/package/matchbox-fakekey/matchbox-fakekey.mk @@ -14,8 +14,8 @@ MATCHBOX_FAKEKEY_DEPENDENCIES = matchbox-lib xlib_libXtst MATCHBOX_FAKEKEY_CONF_OPTS = --enable-expat define MATCHBOX_FAKEKEY_POST_CONFIGURE_FIXES - $(SED) 's:-I[^$$].*/usr/include/freetype2:-I/usr/include/freetype2:' $(STAGING_DIR)/usr/lib/pkgconfig/libmb.pc - $(SED) 's:^SUBDIRS = fakekey src tests.*:SUBDIRS = fakekey src:g' $(MATCHBOX_FAKEKEY_DIR)/Makefile + $(SED) 's:^SUBDIRS = fakekey src tests.*:SUBDIRS = fakekey src:g' \ + $(@D)/Makefile endef MATCHBOX_FAKEKEY_POST_CONFIGURE_HOOKS += MATCHBOX_FAKEKEY_POST_CONFIGURE_FIXES diff --git a/package/matchbox-lib/Config.in b/package/matchbox-lib/Config.in index e50a5436c1..d758ab35a8 100644 --- a/package/matchbox-lib/Config.in +++ b/package/matchbox-lib/Config.in @@ -1,4 +1,5 @@ config BR2_PACKAGE_MATCHBOX_LIB bool "matchbox-lib" + select BR2_PACKAGE_XLIB_LIBXEXT help Matchbox common functionality library. diff --git a/package/matchbox-lib/matchbox-lib.mk b/package/matchbox-lib/matchbox-lib.mk index ee206b6d82..5541867699 100644 --- a/package/matchbox-lib/matchbox-lib.mk +++ b/package/matchbox-lib/matchbox-lib.mk @@ -10,12 +10,13 @@ MATCHBOX_LIB_SITE = http://downloads.yoctoproject.org/releases/matchbox/libmatch MATCHBOX_LIB_LICENSE = LGPL-2.1+ MATCHBOX_LIB_LICENSE_FILES = COPYING MATCHBOX_LIB_INSTALL_STAGING = YES -MATCHBOX_LIB_DEPENDENCIES = host-pkgconf expat xlib_libXext -MATCHBOX_LIB_CONF_OPTS = --enable-expat --disable-doxygen-docs +MATCHBOX_LIB_DEPENDENCIES = host-pkgconf xlib_libXext +MATCHBOX_LIB_CONF_OPTS = --disable-doxygen-docs MATCHBOX_LIB_CONF_ENV = LIBS="-lX11" define MATCHBOX_LIB_POST_INSTALL_FIXES - $(SED) 's:-I[^$$].*/usr/include/freetype2:-I/usr/include/freetype2:' \ + $(SED) 's:-I$(STAGING_DIR)/:-I/:g' \ + -e 's:-I/usr/include\( \|$$\)::g' \ $(STAGING_DIR)/usr/lib/pkgconfig/libmb.pc endef diff --git a/package/matchbox/Config.in b/package/matchbox/Config.in index 3a9f118f4a..9d212902a0 100644 --- a/package/matchbox/Config.in +++ b/package/matchbox/Config.in @@ -9,7 +9,8 @@ menuconfig BR2_PACKAGE_MATCHBOX Matchbox is an Open Source base environment for the X Window System running on non-desktop embedded platforms such as handhelds, set-top boxes, kiosks and anything else for which - screen space, input mechanisms or system resources are limited. + screen space, input mechanisms or system resources are + limited. https://www.yoctoproject.org/tools-resources/projects/matchbox diff --git a/package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch b/package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch new file mode 100644 index 0000000000..60bf53f6e4 --- /dev/null +++ b/package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch @@ -0,0 +1,74 @@ +From a0ae2ba37ca479c6edddec8634b25686be965e0d Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Mon, 27 Aug 2018 22:50:57 +0200 +Subject: [PATCH] bn_mul.h: fix x86 PIC inline ASM compilation with GCC < 5 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes #1910 + +With ebx added to the MULADDC_STOP clobber list to fix #1550, the inline +assembly fails to build with GCC < 5 in PIC mode with the following error: + +include/mbedtls/bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’ + +This is because older GCC versions treated the x86 ebx register (which is +used for the GOT) as a fixed reserved register when building as PIC. + +This is fixed by an improved register allocator in GCC 5+. From the release +notes: + +Register allocation improvements: Reuse of the PIC hard register, instead of +using a fixed register, was implemented on x86/x86-64 targets. This +improves generated PIC code performance as more hard registers can be used. + +https://www.gnu.org/software/gcc/gcc-5/changes.html + +As a workaround, detect this situation and disable the inline assembly, +similar to the MULADDC_CANNOT_USE_R7 logic. + +Signed-off-by: Peter Korsgaard +Upstream: https://github.com/ARMmbed/mbedtls/pull/1986 +--- + include/mbedtls/bn_mul.h | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git a/include/mbedtls/bn_mul.h b/include/mbedtls/bn_mul.h +index b587317d9..74a2d29be 100644 +--- a/include/mbedtls/bn_mul.h ++++ b/include/mbedtls/bn_mul.h +@@ -50,13 +50,29 @@ + #if defined(__GNUC__) && \ + ( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 ) + ++/* ++ * GCC < 5.0 treated the x86 ebx (which is used for the GOT) as a ++ * fixed reserved register when building as PIC, leading to errors ++ * like: bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’ ++ * ++ * This is fixed by an improved register allocator in GCC 5+. From the ++ * release notes: ++ * Register allocation improvements: Reuse of the PIC hard register, ++ * instead of using a fixed register, was implemented on x86/x86-64 ++ * targets. This improves generated PIC code performance as more hard ++ * registers can be used. ++ */ ++#if defined(__GNUC__) && __GNUC__ < 5 && defined(__PIC__) ++#define MULADDC_CANNOT_USE_EBX ++#endif ++ + /* + * Disable use of the i386 assembly code below if option -O0, to disable all + * compiler optimisations, is passed, detected with __OPTIMIZE__ + * This is done as the number of registers used in the assembly code doesn't + * work with the -O0 option. + */ +-#if defined(__i386__) && defined(__OPTIMIZE__) ++#if defined(__i386__) && defined(__OPTIMIZE__) && !defined(MULADDC_CANNOT_USE_EBX) + + #define MULADDC_INIT \ + asm( \ +-- +2.11.0 + diff --git a/package/mbedtls/Config.in b/package/mbedtls/Config.in index 8836984cb5..a39ba65d98 100644 --- a/package/mbedtls/Config.in +++ b/package/mbedtls/Config.in @@ -24,9 +24,9 @@ config BR2_PACKAGE_MBEDTLS_COMPRESSION Enable support for compression of the content data before it enters the secure channel as described in RFC 3749. - Warning: TLS compression may make you vulnerable to the CRIME - attack. You should not enable it unless you know for sure CRIME - and similar attacks are not applicable to your particular - situation. + Warning: TLS compression may make you vulnerable to the + CRIME attack. You should not enable it unless you know for + sure CRIME and similar attacks are not applicable to your + particular situation. endif diff --git a/package/mbedtls/mbedtls.hash b/package/mbedtls/mbedtls.hash index d04b867754..47e446dd07 100644 --- a/package/mbedtls/mbedtls.hash +++ b/package/mbedtls/mbedtls.hash @@ -1,5 +1,5 @@ -# From https://tls.mbed.org/tech-updates/releases/mbedtls-2.6.0-2.1.9-and-1.3.21-released -sha1 e914288da50977f541773f9d36e26f14926594a5 mbedtls-2.6.0-apache.tgz -sha256 99bc9d4212d3d885eeb96273bcde8ecc649a481404b8d7ea7bb26397c9909687 mbedtls-2.6.0-apache.tgz +# From https://tls.mbed.org/tech-updates/releases/mbedtls-2.12.0-2.7.5-and-2.1.14-released +sha1 180ca49e2bb6df3826113781b793529a81427ce3 mbedtls-2.7.5-apache.tgz +sha256 a1302ad9094aabb9880d2755927b466a6bac8e02b68e04dee77321f3859e9b40 mbedtls-2.7.5-apache.tgz # Locally calculated sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache-2.0.txt diff --git a/package/mbedtls/mbedtls.mk b/package/mbedtls/mbedtls.mk index 64ce18cf6f..e07cc3d71c 100644 --- a/package/mbedtls/mbedtls.mk +++ b/package/mbedtls/mbedtls.mk @@ -5,7 +5,7 @@ ################################################################################ MBEDTLS_SITE = https://tls.mbed.org/code/releases -MBEDTLS_VERSION = 2.6.0 +MBEDTLS_VERSION = 2.7.5 MBEDTLS_SOURCE = mbedtls-$(MBEDTLS_VERSION)-apache.tgz MBEDTLS_CONF_OPTS = \ -DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_MBEDTLS_PROGRAMS),ON,OFF) \ diff --git a/package/mc/Config.in b/package/mc/Config.in index 7030b5f1a2..61f351c41d 100644 --- a/package/mc/Config.in +++ b/package/mc/Config.in @@ -7,10 +7,10 @@ config BR2_PACKAGE_MC # mc prefers slang, but can use ncurses too select BR2_PACKAGE_SLANG if !BR2_PACKAGE_NCURSES help - GNU Midnight Commander is a visual file manager, licensed under - GNU General Public License. It can use either SLang (preferred) - or ncurses for screen handling; if neither is enabled SLang - will be automatically chosen. + GNU Midnight Commander is a visual file manager, licensed + under GNU General Public License. It can use either SLang + (preferred) or ncurses for screen handling; if neither is + enabled SLang will be automatically chosen. https://www.midnight-commander.org diff --git a/package/mc/mc.hash b/package/mc/mc.hash index cb48f2ea9e..d980b8a473 100644 --- a/package/mc/mc.hash +++ b/package/mc/mc.hash @@ -1,2 +1,4 @@ -# Hash from http://ftp.midnight-commander.org/mc-4.8.19.sha256: -sha256 eb9e56bbb5b2893601d100d0e0293983049b302c5ab61bfb544ad0ee2cc1f2df mc-4.8.19.tar.xz +# Hash from http://ftp.midnight-commander.org/mc-4.8.20.sha256: +sha256 017ee7f4f8ae420a04f4d6fcebaabe5b494661075c75442c76e9c8b1923d501c mc-4.8.20.tar.xz +# sha256 locally computed: +sha256 5576bbec76296e1c8e081f7037ebd01bdada388635f58d844a2f20d37bbe4284 COPYING diff --git a/package/mc/mc.mk b/package/mc/mc.mk index a032c2f1a3..a83c5f0ab8 100644 --- a/package/mc/mc.mk +++ b/package/mc/mc.mk @@ -4,7 +4,7 @@ # ################################################################################ -MC_VERSION = 4.8.19 +MC_VERSION = 4.8.20 MC_SOURCE = mc-$(MC_VERSION).tar.xz MC_SITE = http://ftp.midnight-commander.org MC_LICENSE = GPL-3.0+ diff --git a/package/mcelog/Config.in b/package/mcelog/Config.in index f3ccc71e8a..55ebb7c8d0 100644 --- a/package/mcelog/Config.in +++ b/package/mcelog/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_MCELOG depends on BR2_i386 || BR2_x86_64 depends on BR2_USE_MMU # fork() help - mcelog processes machine checks (in particular memory and CPU hardware - errors) on modern x86 Linux systems. + mcelog processes machine checks (in particular memory and + CPU hardware errors) on modern x86 Linux systems. http://www.mcelog.org/ diff --git a/package/mcrypt/Config.in b/package/mcrypt/Config.in index ab2888bb17..e3b9541f04 100644 --- a/package/mcrypt/Config.in +++ b/package/mcrypt/Config.in @@ -4,9 +4,9 @@ config BR2_PACKAGE_MCRYPT select BR2_PACKAGE_LIBMCRYPT select BR2_PACKAGE_LIBMHASH help - MCrypt is a replacement for the old crypt() package and crypt(1) - command, with extensions. - It allows developers to use a wide range of encryption functions, - without making drastic changes to their code. + MCrypt is a replacement for the old crypt() package and + crypt(1) command, with extensions. + It allows developers to use a wide range of encryption + functions, without making drastic changes to their code. http://mcrypt.sourceforge.net/ diff --git a/package/mediastreamer/0002-m4-fix-local-ffmpeg-and-avcodec-function-conflict.patch b/package/mediastreamer/0002-m4-fix-local-ffmpeg-and-avcodec-function-conflict.patch new file mode 100644 index 0000000000..cdaa0fab24 --- /dev/null +++ b/package/mediastreamer/0002-m4-fix-local-ffmpeg-and-avcodec-function-conflict.patch @@ -0,0 +1,42 @@ +From d12e74a559602b3dff9a6bf38fcbb139535c9c9c Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Mon, 3 Sep 2018 20:27:00 +0200 +Subject: [PATCH] m4: fix local ffmpeg and avcodec function conflict + +Autotools miss avcodec function check. +This is due to linker library list order, -ldrm is appended too early +respect to -lavutil. This results in missing drm library functions for +avcodec functions: +- drmGetVersion() +- drmFreeVersion() +So these functions: +- avcodec_get_context_defaults3 +- avcodec_open2 +- avcodec_encode_video2 +can't link correctly during check and they seem not to be present. +Then macros HAVE_FUN_avcodec_* are not defined in mediastreamer-config.h +So local avcodec functions conflict with real avcodec library functions. + +In acinclude.m4 file, swap $FFMPEG_LIBS and -lavutil if avcodec is found. + +Signed-off-by: Giulio Benetti +--- + acinclude.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 6c31ed82..89ff6643 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -110,7 +110,7 @@ AC_DEFUN([MS_CHECK_VIDEO],[ + if test x$avcodec_found = xno ; then + AC_MSG_WARN([Could not find libavcodec (from ffmpeg) headers and library.]) + else +- FFMPEG_LIBS="$FFMPEG_LIBS -lavutil" ++ FFMPEG_LIBS="-lavutil $FFMPEG_LIBS" + fi + + +-- +2.17.1 + diff --git a/package/memcached/Config.in b/package/memcached/Config.in index e011d0890a..93bf02d6c0 100644 --- a/package/memcached/Config.in +++ b/package/memcached/Config.in @@ -5,8 +5,8 @@ config BR2_PACKAGE_MEMCACHED select BR2_PACKAGE_LIBEVENT help Memcached is an in-memory key-value store for small chunks - of arbitrary data (strings, objects) from results of database calls, - API calls, or page rendering. + of arbitrary data (strings, objects) from results of + database calls, API calls, or page rendering. http://www.memcached.org/ diff --git a/package/memcached/memcached.hash b/package/memcached/memcached.hash index 204590d27c..8278933827 100644 --- a/package/memcached/memcached.hash +++ b/package/memcached/memcached.hash @@ -1,4 +1,3 @@ -# From http://www.memcached.org/files/memcached-1.5.0.tar.gz.sha1 -sha1 e12af93e63c05ab7e89398e4cfd0bfc7b7bff1c5 memcached-1.5.0.tar.gz -# Calculated based on the hash above -sha256 c001f812024bb461b5e4d7d0506daab63dff9614eea26f46536c3b7e1e601c32 memcached-1.5.0.tar.gz +# From http://www.memcached.org/files/memcached-1.5.6.tar.gz.sha1 +sha1 ca35929e74b132c2495a6957cfdc80556337fb90 memcached-1.5.6.tar.gz +sha256 9675ee859d7d81f7a950f190a6812720b26f08228d356044ec517d4d5af25f03 memcached-1.5.6.tar.gz diff --git a/package/memcached/memcached.mk b/package/memcached/memcached.mk index d0e3bc01d9..c15abc79bf 100644 --- a/package/memcached/memcached.mk +++ b/package/memcached/memcached.mk @@ -4,7 +4,7 @@ # ################################################################################ -MEMCACHED_VERSION = 1.5.0 +MEMCACHED_VERSION = 1.5.6 MEMCACHED_SITE = http://www.memcached.org/files MEMCACHED_DEPENDENCIES = libevent MEMCACHED_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' diff --git a/package/memtest86/Config.in b/package/memtest86/Config.in index 3a684b63c8..79c0161020 100644 --- a/package/memtest86/Config.in +++ b/package/memtest86/Config.in @@ -16,11 +16,12 @@ config BR2_PACKAGE_MEMTEST86 Memtest86+ will only work on 32-bit or 64-bit x86 targets. It boots as an i486 program and autodetects hardware. It can - be added to the grub2 boot menu by adding the following lines - to the bottom of /boot/grub/grub.cfg - note the use of linux16. + be added to the grub2 boot menu by adding the following + lines to the bottom of /boot/grub/grub.cfg - note the use of + linux16. menuentry "Memtest86+" { - linux16 /boot/memtest86+.bin + linux16 /boot/memtest86+.bin } Other boot loaders will have similar requirements. diff --git a/package/memtester/Config.in b/package/memtester/Config.in index 7a504dc1b7..b988772675 100644 --- a/package/memtester/Config.in +++ b/package/memtester/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_MEMTESTER bool "memtester" help - A userspace utility for testing the memory subsystem for faults. + A userspace utility for testing the memory subsystem for + faults. http://pyropus.ca/software/memtester/ diff --git a/package/mesa3d-demos/mesa3d-demos.mk b/package/mesa3d-demos/mesa3d-demos.mk index cbc15c3b69..9182803748 100644 --- a/package/mesa3d-demos/mesa3d-demos.mk +++ b/package/mesa3d-demos/mesa3d-demos.mk @@ -12,7 +12,6 @@ MESA3D_DEMOS_DEPENDENCIES = host-pkgconf MESA3D_DEMOS_LICENSE = MIT MESA3D_DEMOS_CONF_OPTS += \ - --disable-osmesa \ --disable-gles1 ifeq ($(BR2_PACKAGE_XORG7)$(BR2_PACKAGE_HAS_LIBGL),yy) diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk index c9db3f551b..90f5c3cf31 100644 --- a/package/mesa3d-headers/mesa3d-headers.mk +++ b/package/mesa3d-headers/mesa3d-headers.mk @@ -12,7 +12,7 @@ endif # Not possible to directly refer to mesa3d variables, because of # first/second expansion trickery... -MESA3D_HEADERS_VERSION = 17.2.4 +MESA3D_HEADERS_VERSION = 17.3.6 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive MESA3D_HEADERS_LICENSE = MIT, SGI, Khronos @@ -34,9 +34,9 @@ ifeq ($(BR2_PACKAGE_XORG7),y) # contains -i. define MESA3D_HEADERS_BUILD_DRI_PC sed -e 's:@\(exec_\)\?prefix@:/usr:' \ - -e 's:@libdir@:${exec_prefix}/lib:' \ - -e 's:@includedir@:${prefix}/include:' \ - -e 's:@DRI_DRIVER_INSTALL_DIR@:${libdir}/dri:' \ + -e 's:@libdir@:$${exec_prefix}/lib:' \ + -e 's:@includedir@:$${prefix}/include:' \ + -e 's:@DRI_DRIVER_INSTALL_DIR@:$${libdir}/dri:' \ -e 's:@VERSION@:$(MESA3D_HEADERS_VERSION):' \ -e 's:@DRI_PC_REQ_PRIV@::' \ $(@D)/src/mesa/drivers/dri/dri.pc.in \ diff --git a/package/mesa3d/0002-Fix-endianess-detection-with-musl-based-toolchains.patch b/package/mesa3d/0002-Fix-endianess-detection-with-musl-based-toolchains.patch index 656705b434..4846b34c9d 100644 --- a/package/mesa3d/0002-Fix-endianess-detection-with-musl-based-toolchains.patch +++ b/package/mesa3d/0002-Fix-endianess-detection-with-musl-based-toolchains.patch @@ -1,7 +1,7 @@ -From 61b076689b6308b1c9d0d84ee8654a47e65e67ae Mon Sep 17 00:00:00 2001 +From 4135bd2e13880866deb0440855d1a869397e5024 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Fri, 4 Nov 2016 19:44:37 +0100 -Subject: [PATCH 1/1] Fix endianess detection with musl-based toolchains +Subject: [PATCH] Fix endianess detection with musl-based toolchains Musl does not define __GLIBC__ and will not provide a __MUSL__ macro: http://wiki.musl-libc.org/wiki/FAQ#Q:_why_is_there_no_MUSL_macro_.3F @@ -17,6 +17,8 @@ http://autobuild.buildroot.net/results/e27/e27a9a95f72dba3076549beb2a2ccfdbea2fc Patch sent upstream: https://patchwork.freedesktop.org/patch/119961/ Signed-off-by: Bernd Kuhls +[Romain: rebase on mesa 17.3.1] +Signed-off-by: Romain Naour --- configure.ac | 1 + src/amd/Makefile.addrlib.am | 1 + @@ -24,42 +26,42 @@ Signed-off-by: Bernd Kuhls 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 4761c59..7991b52 100644 +index a02173f244..ee03d6f582 100644 --- a/configure.ac +++ b/configure.ac -@@ -786,6 +786,7 @@ fi +@@ -791,6 +791,7 @@ fi AC_HEADER_MAJOR AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"]) AC_CHECK_HEADER([sys/sysctl.h], [DEFINES="$DEFINES -DHAVE_SYS_SYSCTL_H"]) +AC_CHECK_HEADER([endian.h], [DEFINES="$DEFINES -DHAVE_ENDIAN_H"]) AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"]) AC_CHECK_FUNC([mkostemp], [DEFINES="$DEFINES -DHAVE_MKOSTEMP"]) - + AC_CHECK_FUNC([memfd_create], [DEFINES="$DEFINES -DHAVE_MEMFD_CREATE"]) diff --git a/src/amd/Makefile.addrlib.am b/src/amd/Makefile.addrlib.am -index 64823fc..4e2fb1d 100644 +index 46689637f9..508edfd0d5 100644 --- a/src/amd/Makefile.addrlib.am +++ b/src/amd/Makefile.addrlib.am -@@ -28,6 +28,7 @@ addrlib_libamdgpu_addrlib_la_CPPFLAGS = \ - -I$(srcdir)/addrlib/core \ +@@ -30,6 +30,7 @@ addrlib_libamdgpu_addrlib_la_CPPFLAGS = \ -I$(srcdir)/addrlib/inc/chip/r800 \ + -I$(srcdir)/addrlib/gfx9/chip \ -I$(srcdir)/addrlib/r800/chip \ + $(DEFINES) \ -DBRAHMA_BUILD=1 addrlib_libamdgpu_addrlib_la_CXXFLAGS = \ diff --git a/src/util/u_endian.h b/src/util/u_endian.h -index b9d563d..266fb4a 100644 +index 9e09f80181..038a28fac9 100644 --- a/src/util/u_endian.h +++ b/src/util/u_endian.h @@ -27,7 +27,7 @@ #ifndef U_ENDIAN_H #define U_ENDIAN_H --#if defined(__GLIBC__) || defined(ANDROID) -+#if defined(__GLIBC__) || defined(ANDROID) || defined(HAVE_ENDIAN_H) +-#if defined(__GLIBC__) || defined(ANDROID) || defined(__CYGWIN__) ++#if defined(__GLIBC__) || defined(ANDROID) || defined(__CYGWIN__) || defined(HAVE_ENDIAN_H) #include #if __BYTE_ORDER == __LITTLE_ENDIAN -- -2.10.1 +2.14.3 diff --git a/package/mesa3d/0003-configure.ac-invert-order-for-wayland-scanner-check.patch b/package/mesa3d/0003-configure.ac-invert-order-for-wayland-scanner-check.patch index d6c9a0d453..bfb6376555 100644 --- a/package/mesa3d/0003-configure.ac-invert-order-for-wayland-scanner-check.patch +++ b/package/mesa3d/0003-configure.ac-invert-order-for-wayland-scanner-check.patch @@ -1,4 +1,4 @@ -From 60ee5191a0c074251862a15b12afdc9db0b2df38 Mon Sep 17 00:00:00 2001 +From 11a759c33160db6e887e7640071ba84482e6164f Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 17 Nov 2016 15:36:54 -0300 Subject: [PATCH] configure.ac: invert order for wayland-scanner check @@ -13,16 +13,18 @@ pkg-config. Signed-off-by: Gustavo Zacarias Signed-off-by: Vicente Olivert Riera +[Romain: rebase on 17.3.1] +Signed-off-by: Romain Naour --- configure.ac | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac -index 2c7e636..0198d52 100644 +index ee03d6f582..786b7214b9 100644 --- a/configure.ac +++ b/configure.ac -@@ -2174,11 +2174,11 @@ if test "x$with_platforms" != xauto; then - with_egl_platforms=$with_platforms +@@ -1695,11 +1695,11 @@ if test "x$with_platforms" = xauto; then + with_platforms=$with_egl_platforms fi -PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], @@ -36,7 +38,7 @@ index 2c7e636..0198d52 100644 + WAYLAND_SCANNER='') fi - # Do per-EGL platform setups and checks + PKG_CHECK_EXISTS([wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], [have_wayland_protocols=yes], [have_wayland_protocols=no]) -- -2.7.3 +2.14.3 diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index 9249b1d71a..f141587c4d 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -18,7 +18,8 @@ menuconfig BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7 select BR2_PACKAGE_ZLIB help - Mesa 3D, an open-source implementation of the OpenGL specification. + Mesa 3D, an open-source implementation of the OpenGL + specification. http://mesa3d.org @@ -177,7 +178,8 @@ comment "Off-screen Rendering" config BR2_PACKAGE_MESA3D_OSMESA bool "OSMesa library" help - The OSMesa API provides functions for making off-screen renderings. + The OSMesa API provides functions for making off-screen + renderings. if BR2_PACKAGE_MESA3D_DRIVER @@ -188,15 +190,15 @@ config BR2_PACKAGE_MESA3D_OPENGL_EGL select BR2_PACKAGE_HAS_LIBEGL select BR2_PACKAGE_HAS_LIBEGL_WAYLAND help - Use the Khronos EGL APIs. EGL is a window manager for OpenGL applications - similar to GLX, for X, and WGL, for Windows. + Use the Khronos EGL APIs. EGL is a window manager for OpenGL + applications similar to GLX, for X, and WGL, for Windows. config BR2_PACKAGE_MESA3D_OPENGL_ES bool "OpenGL ES" select BR2_PACKAGE_HAS_LIBGLES help - Use the Khronos OpenGL ES APIs. This is commonly used on embedded - systems and represents a subset of the OpenGL API. + Use the Khronos OpenGL ES APIs. This is commonly used on + embedded systems and represents a subset of the OpenGL API. config BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT bool "OpenGL texture float (patented format)" diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash index 476e1bcb29..a61fe02b6d 100644 --- a/package/mesa3d/mesa3d.hash +++ b/package/mesa3d/mesa3d.hash @@ -1,7 +1,8 @@ -# From https://lists.freedesktop.org/archives/mesa-announce/2017-October/000371.html -md5 cf0b7a297eedd0549cda5ba071d7561f mesa-17.2.4.tar.xz -sha1 2faad5bd48243a1b80f5522a26144a176f841a20 mesa-17.2.4.tar.xz -sha256 5ba408fecd6e1132e5490eec1a2f04466214e4c65c8b89b331be844768c2e550 mesa-17.2.4.tar.xz -sha512 665b63aab6af3f8f263f182d85d9ad71db7a23bcbaf67d62fe53c258cb0f600266ac82e72d681ec20cf7c66b47d4076aad5c3f553519f19110ee577da2707085 mesa-17.2.4.tar.xz +# From https://lists.freedesktop.org/archives/mesa-announce/2018-February/000403.html +md5 ba66ae0f09b9b84482268608557cd175 mesa-17.3.6.tar.xz +sha1 eff29cb8c284a813977d4201dd646d949b1d8fc4 mesa-17.3.6.tar.xz +sha256 e5915680d44ac9d05defdec529db7459ac9edd441c9845266eff2e2d3e57fbf8 mesa-17.3.6.tar.xz +sha512 5164ed5a1d3d25031b712a9f443f0e467a29b2bca0a1aa11324ed5c10279411979c9c7482825053926a813e76c58b78a3439c7c81fcd51a7808f53977080828f mesa-17.3.6.tar.xz # License -sha256 630e75b4fdeb75ee2bf9e55db54dd1e3ff7353d52d9314ca8512bfd460f8e24c license.html +sha256 630e75b4fdeb75ee2bf9e55db54dd1e3ff7353d52d9314ca8512bfd460f8e24c docs/license.html +sha256 a75ee0cec909515ff80a3ec07155b7fb0aafe8051abe1f0e45d5c4c5e2539366 docs/patents.txt diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index 5627344f02..5f4832c0f0 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -5,7 +5,7 @@ ################################################################################ # When updating the version, please also update mesa3d-headers -MESA3D_VERSION = 17.2.4 +MESA3D_VERSION = 17.3.6 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz MESA3D_SITE = https://mesa.freedesktop.org/archive MESA3D_LICENSE = MIT, SGI, Khronos diff --git a/package/meson/cross-compilation.conf.in b/package/meson/cross-compilation.conf.in new file mode 100644 index 0000000000..0eec74087b --- /dev/null +++ b/package/meson/cross-compilation.conf.in @@ -0,0 +1,23 @@ +# Note: Buildroot's and Meson's terminologies differ about the meaning +# of 'build', 'host' and 'target': +# - Buildroot's 'host' is Meson's 'build' +# - Buildroot's 'target' is Meson's 'host' + +[binaries] +c = '@TARGET_CROSS@gcc' +cpp = '@TARGET_CROSS@g++' +ar = '@TARGET_CROSS@ar' +strip = '@TARGET_CROSS@strip' +pkgconfig = '@HOST_DIR@/usr/bin/pkg-config' + +[properties] +c_args = [@TARGET_CFLAGS@] +c_link_args = [@TARGET_LDFLAGS@] +cpp_args = [@TARGET_CXXFLAGS@] +cpp_link_args = [@TARGET_LDFLAGS@] + +[host_machine] +system = 'linux' +cpu_family ='@TARGET_ARCH@' +cpu = '@TARGET_CPU@' +endian = '@TARGET_ENDIAN@' diff --git a/package/meson/meson.hash b/package/meson/meson.hash new file mode 100644 index 0000000000..279dd93a51 --- /dev/null +++ b/package/meson/meson.hash @@ -0,0 +1,4 @@ +# Locally calculated after checking pgp signature +# https://github.com/mesonbuild/meson/releases/download/0.44.0/meson-0.44.0.tar.gz.asc +sha256 50f9b12b77272ef6ab064d26b7e06667f07fa9f931e6a20942bba2216ba4281b meson-0.44.0.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/package/meson/meson.mk b/package/meson/meson.mk new file mode 100644 index 0000000000..764c187ee7 --- /dev/null +++ b/package/meson/meson.mk @@ -0,0 +1,39 @@ +################################################################################ +# +# meson +# +################################################################################ + +MESON_VERSION = 0.44.0 +MESON_SITE = https://github.com/mesonbuild/meson/releases/download/$(MESON_VERSION) +MESON_LICENSE = Apache-2.0 +MESON_LICENSE_FILES = COPYING +MESON_SETUP_TYPE = setuptools + +HOST_MESON_DEPENDENCIES = host-ninja +HOST_MESON_NEEDS_HOST_PYTHON = python3 + +HOST_MESON_TARGET_ENDIAN = $(call LOWERCASE,$(BR2_ENDIAN)) +HOST_MESON_TARGET_CPU = $(call qstrip,$(BR2_GCC_TARGET_CPU)) + +HOST_MESON_SED_CFLAGS = $(if $(TARGET_CFLAGS),`printf '"%s"$(comma) ' $(TARGET_CFLAGS)`) +HOST_MESON_SED_LDFLAGS = $(if $(TARGET_LDFLAGS),`printf '"%s"$(comma) ' $(TARGET_LDFLAGS)`) +HOST_MESON_SED_CXXFLAGS = $(if $(TARGET_CXXFLAGS),`printf '"%s"$(comma) ' $(TARGET_CXXFLAGS)`) + +define HOST_MESON_INSTALL_CROSS_CONF + mkdir -p $(HOST_DIR)/etc/meson + sed -e "s%@TARGET_CROSS@%$(TARGET_CROSS)%g" \ + -e "s%@TARGET_ARCH@%$(ARCH)%g" \ + -e "s%@TARGET_CPU@%$(HOST_MESON_TARGET_CPU)%g" \ + -e "s%@TARGET_ENDIAN@%$(HOST_MESON_TARGET_ENDIAN)%g" \ + -e "s%@TARGET_CFLAGS@%$(HOST_MESON_SED_CFLAGS)%g" \ + -e "s%@TARGET_LDFLAGS@%$(HOST_MESON_SED_LDFLAGS)%g" \ + -e "s%@TARGET_CXXFLAGS@%$(HOST_MESON_SED_CXXFLAGS)%g" \ + -e "s%@HOST_DIR@%$(HOST_DIR)%g" \ + $(HOST_MESON_PKGDIR)/cross-compilation.conf.in \ + > $(HOST_DIR)/etc/meson/cross-compilation.conf +endef + +HOST_MESON_POST_INSTALL_HOOKS += HOST_MESON_INSTALL_CROSS_CONF + +$(eval $(host-python-package)) diff --git a/package/mfgtools/Config.in.host b/package/mfgtools/Config.in.host index 1cb5a7f095..4bbdde38e2 100644 --- a/package/mfgtools/Config.in.host +++ b/package/mfgtools/Config.in.host @@ -11,4 +11,4 @@ config BR2_PACKAGE_HOST_MFGTOOLS production. The communication is done over USB using the Freescale UTP protocol. - https://github.com/NXPmicro/mfgtools + https://github.com/codeauroraforum/mfgtools diff --git a/package/mfgtools/mfgtools.hash b/package/mfgtools/mfgtools.hash index e73a7fa13a..4932a80dba 100644 --- a/package/mfgtools/mfgtools.hash +++ b/package/mfgtools/mfgtools.hash @@ -1,2 +1,4 @@ # locally computed -sha256 6ce93a33c269282df305cf7e517d2d14fde78203537d8ea75b064966afe48464 mfgtools-b219fc219a35c365010897ed093c40750f8cdac6.tar.gz +sha256 055d71227d18883d6e8bc9e854c076015f9a7749820a94272e19071bf0b25c89 mfgtools-v0.02.tar.gz +sha256 2655559a6bb1179eae514f5c7166f4ede4f2453efa9cf4dc3c045cab5d57dede LICENSE +sha256 0963b6e5086bf454265b0f57821a02b681d1211e40ad74c310231cb4d94815c9 README.txt diff --git a/package/mfgtools/mfgtools.mk b/package/mfgtools/mfgtools.mk index 00a011af85..e4663a8af9 100644 --- a/package/mfgtools/mfgtools.mk +++ b/package/mfgtools/mfgtools.mk @@ -4,11 +4,11 @@ # ################################################################################ -MFGTOOLS_VERSION = b219fc219a35c365010897ed093c40750f8cdac6 -MFGTOOLS_SITE = $(call github,NXPmicro,mfgtools,$(MFGTOOLS_VERSION)) +MFGTOOLS_VERSION = v0.02 +MFGTOOLS_SITE = $(call github,codeauroraforum,mfgtools,$(MFGTOOLS_VERSION)) MFGTOOLS_SUBDIR = MfgToolLib MFGTOOLS_LICENSE = BSD-3-Clause or CPOL -MFGTOOLS_LICENSE_FILES = LICENSE CPOL.htm +MFGTOOLS_LICENSE_FILES = LICENSE README.txt HOST_MFGTOOLS_DEPENDENCIES = host-libusb HOST_MFGTOOLS_CFLAGS = \ diff --git a/package/micropython/Config.in b/package/micropython/Config.in index ac06d7ffc1..00649d4fb6 100644 --- a/package/micropython/Config.in +++ b/package/micropython/Config.in @@ -6,8 +6,9 @@ config BR2_PACKAGE_MICROPYTHON depends on !BR2_bfin select BR2_PACKAGE_LIBFFI help - Micro Python is a lean and fast implementation of the Python 3 - programming language that is optimised to run on a microcontroller. + Micro Python is a lean and fast implementation of the Python + 3 programming language that is optimised to run on a + microcontroller. http://micropython.org diff --git a/package/midori/Config.in b/package/midori/Config.in index bc37c6a95b..f0767c85f9 100644 --- a/package/midori/Config.in +++ b/package/midori/Config.in @@ -1,7 +1,7 @@ -comment "midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 5, host gcc >= 4.8" +comment "midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 6, host gcc >= 4.8" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 || \ - !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ + !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_6 || \ !BR2_TOOLCHAIN_USES_GLIBC config BR2_PACKAGE_MIDORI @@ -10,7 +10,7 @@ config BR2_PACKAGE_MIDORI depends on BR2_PACKAGE_LIBGTK3 depends on BR2_INSTALL_LIBSTDCPP # webkitgtk depends on BR2_HOST_GCC_AT_LEAST_4_8 # webkitgtk -> icu - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # webkitgtk + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # webkitgtk depends on BR2_TOOLCHAIN_USES_GLIBC # webkitgtk depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS # GCR can only be used with the X11 backend diff --git a/package/minicom/minicom.hash b/package/minicom/minicom.hash index ca3087160b..f49e430c67 100644 --- a/package/minicom/minicom.hash +++ b/package/minicom/minicom.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 532f836b7a677eb0cb1dca8d70302b73729c3d30df26d58368d712e5cca041f1 minicom-2.7.1.tar.gz +sha256 cf80a758014eefbf068afffe3d462fc34ff4f528527524d8e100329c42094e15 COPYING diff --git a/package/minidlna/Config.in b/package/minidlna/Config.in index a8311afe22..0083c9d803 100644 --- a/package/minidlna/Config.in +++ b/package/minidlna/Config.in @@ -14,8 +14,8 @@ config BR2_PACKAGE_MINIDLNA select BR2_PACKAGE_JPEG select BR2_PACKAGE_SQLITE help - MiniDLNA (aka ReadyDLNA) is server software with the aim of being - fully compliant with DLNA/UPnP-AV clients. + MiniDLNA (aka ReadyDLNA) is server software with the aim of + being fully compliant with DLNA/UPnP-AV clients. http://minidlna.sourceforge.net/ diff --git a/package/minissdpd/minissdpd.hash b/package/minissdpd/minissdpd.hash index 8d670f3e86..dd166775be 100644 --- a/package/minissdpd/minissdpd.hash +++ b/package/minissdpd/minissdpd.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 dfd637b185731e1acb412a86faa9718eb93c04ca08280541a6d22d14d1fb890f minissdpd-1.5.tar.gz +sha256 c432d6ee83deb6a0c105a2c3ebd11e3855ab91498b0847a8657e68ce8e4491a5 LICENSE diff --git a/package/mkpasswd/mkpasswd.c b/package/mkpasswd/mkpasswd.c index 5820f32501..fd16230468 100644 --- a/package/mkpasswd/mkpasswd.c +++ b/package/mkpasswd/mkpasswd.c @@ -44,6 +44,11 @@ #include #endif +/* glibc without crypt() */ +#ifndef _XOPEN_CRYPT +#include +#endif + /* Application-specific */ #include "utils.h" diff --git a/package/moarvm/Config.in b/package/moarvm/Config.in index c318ab4b86..c370a0f229 100644 --- a/package/moarvm/Config.in +++ b/package/moarvm/Config.in @@ -12,10 +12,12 @@ config BR2_PACKAGE_MOARVM select BR2_PACKAGE_LIBATOMIC_OPS # dyncall does not work on MIPS; libffi needs to be used. # See: https://github.com/MoarVM/MoarVM/issues/222 - select BR2_PACKAGE_LIBFFI if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + # dyncall does not work also on powerpc64 and powerpc64le + select BR2_PACKAGE_LIBFFI if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || BR2_powerpc64 || BR2_powerpc64le help - Short for "Metamodel On A Runtime", MoarVM is a virtual machine - built especially for Rakudo Perl 6 and the NQP Compiler Toolchain. + Short for "Metamodel On A Runtime", MoarVM is a virtual + machine built especially for Rakudo Perl 6 and the NQP + Compiler Toolchain. http://moarvm.com diff --git a/package/modplugtools/Config.in b/package/modplugtools/Config.in index 89c32206fb..33acad6305 100644 --- a/package/modplugtools/Config.in +++ b/package/modplugtools/Config.in @@ -4,9 +4,9 @@ config BR2_PACKAGE_MODPLUGTOOLS select BR2_PACKAGE_LIBAO select BR2_PACKAGE_LIBMODPLUG help - This installs the 'modplug123' command line tool to play music files - in the tracker formats supported by libmodplug: MOD, S3M, XM etc. - Audio output is handled by libao. + This installs the 'modplug123' command line tool to play + music files in the tracker formats supported by libmodplug: + MOD, S3M, XM etc. Audio output is handled by libao. http://modplug-xmms.sourceforge.net/ diff --git a/package/mongodb/Config.in b/package/mongodb/Config.in index a78bb27e70..ed3ad56916 100644 --- a/package/mongodb/Config.in +++ b/package/mongodb/Config.in @@ -14,11 +14,12 @@ config BR2_PACKAGE_MONGODB depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 help - MongoDB is a cross-platform document-oriented database (NoSQL). + MongoDB is a cross-platform document-oriented database + (NoSQL). - It uses JSON-like documents with dynamic schemas (BSON), making - the integration of data in certain types of applications easier - and faster. + It uses JSON-like documents with dynamic schemas (BSON), + making the integration of data in certain types of + applications easier and faster. https://www.mongodb.org/ diff --git a/package/mongoose/0001-Fix-body-length-calculation-in-mg_handle_cgi.patch b/package/mongoose/0001-Fix-body-length-calculation-in-mg_handle_cgi.patch new file mode 100644 index 0000000000..a696042436 --- /dev/null +++ b/package/mongoose/0001-Fix-body-length-calculation-in-mg_handle_cgi.patch @@ -0,0 +1,46 @@ +From 9e93f71556f8d5ba62fccec46ee5689e385d6d37 Mon Sep 17 00:00:00 2001 +From: Deomid Ryabkov +Date: Mon, 13 Aug 2018 15:50:01 +0300 +Subject: [PATCH] Fix body length calculation in mg_handle_cgi + +Fixes https://nvd.nist.gov/vuln/detail/CVE-2018-10945 + +CL: mg: Fix body length calculation in mg_handle_cgi + +PUBLISHED_FROM=0c30cf36fdb67c75f6148468701e23d6ee72d953 + +[Thomas: backported from upstream commit +f33d3a4e0225d6e009b90193402141025e9ea74d, dropping the changes in +src/mg_http_cgi.c, because back in 6.7, the initial mongoose sources +were not in the tree, only the amalgamated version.] +Signed-off-by: Thomas Petazzoni +--- + mongoose.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/mongoose.c b/mongoose.c +index 7e55896..f5b0177 100644 +--- a/mongoose.c ++++ b/mongoose.c +@@ -8308,7 +8308,6 @@ MG_INTERNAL void mg_handle_cgi(struct mg_connection *nc, const char *prog, + + if (mg_start_process(opts->cgi_interpreter, prog, blk.buf, blk.vars, dir, + fds[1]) != 0) { +- size_t n = nc->recv_mbuf.len - (hm->message.len - hm->body.len); + struct mg_connection *cgi_nc = + mg_add_sock(nc->mgr, fds[0], mg_cgi_ev_handler); + struct mg_http_proto_data *cgi_pd = mg_http_get_proto_data(cgi_nc); +@@ -8316,8 +8315,8 @@ MG_INTERNAL void mg_handle_cgi(struct mg_connection *nc, const char *prog, + cgi_pd->cgi.cgi_nc->user_data = nc; + nc->flags |= MG_F_USER_1; + /* Push POST data to the CGI */ +- if (n > 0 && n < nc->recv_mbuf.len) { +- mg_send(cgi_pd->cgi.cgi_nc, hm->body.p, n); ++ if (hm->body.len > 0) { ++ mg_send(cgi_pd->cgi.cgi_nc, hm->body.p, hm->body.len); + } + mbuf_remove(&nc->recv_mbuf, nc->recv_mbuf.len); + } else { +-- +2.14.4 + diff --git a/package/monkey/Config.in b/package/monkey/Config.in index 001c415351..9054aa05c2 100644 --- a/package/monkey/Config.in +++ b/package/monkey/Config.in @@ -4,7 +4,8 @@ config BR2_PACKAGE_MONKEY depends on !BR2_STATIC_LIBS # dlopen() depends on BR2_USE_MMU # fork() help - Monkey Server is a fast and lightweight web server for Linux platforms. + Monkey Server is a fast and lightweight web server for Linux + platforms. http://monkey-project.com/ diff --git a/package/mono/Config.in b/package/mono/Config.in index d45ad376fe..d162237086 100644 --- a/package/mono/Config.in +++ b/package/mono/Config.in @@ -1,5 +1,11 @@ +config BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS + bool + default y if BR2_HOSTARCH = "x86_64" + default y if BR2_HOSTARCH = "x86" + config BR2_PACKAGE_MONO_ARCH_SUPPORTS bool + depends on BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS default y if (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || \ BR2_mipsel || BR2_powerpc || BR2_x86_64) diff --git a/package/mosquitto/0001-websockets.c-unbreak-build-without-TLS.patch b/package/mosquitto/0001-websockets.c-unbreak-build-without-TLS.patch new file mode 100644 index 0000000000..e977fae56c --- /dev/null +++ b/package/mosquitto/0001-websockets.c-unbreak-build-without-TLS.patch @@ -0,0 +1,49 @@ +From 4822aa97da80a86033ec6e4a8b2f4ad0911235cf Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sat, 3 Mar 2018 11:04:47 +0100 +Subject: [PATCH] websockets.c: unbreak build without TLS + +Commit 7943072b1f3b (Fix use_identity_as_username not working on websockets +clients) added code which unconditionally accesses mosq-ssl, breaking the +build when TLS support is disabled. + +Fix it by guarding this logic inside #ifdef WITH_TLS. + +[Upstream: https://dev.eclipse.org/mhonarc/lists/mosquitto-dev/msg01813.html] +Signed-off-by: Peter Korsgaard +--- + src/websockets.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/websockets.c b/src/websockets.c +index d4d7961..a796f0a 100644 +--- a/src/websockets.c ++++ b/src/websockets.c +@@ -201,12 +201,14 @@ static int callback_mqtt(struct libwebsocket_context *context, + mosq->ws_context = context; + #endif + mosq->wsi = wsi; ++#ifdef WITH_TLS + if(in){ + mosq->ssl = (SSL *)in; + if(!mosq->listener->ssl_ctx){ + mosq->listener->ssl_ctx = SSL_get_SSL_CTX(mosq->ssl); + } + } ++#endif + u->mosq = mosq; + }else{ + return -1; +@@ -240,7 +242,9 @@ static int callback_mqtt(struct libwebsocket_context *context, + mosq->pollfd_index = -1; + } + mosq->wsi = NULL; ++#ifdef WITH_TLS + mosq->ssl = NULL; ++#endif + do_disconnect(db, mosq); + } + break; +-- +2.11.0 + diff --git a/package/mosquitto/mosquitto.hash b/package/mosquitto/mosquitto.hash index f6f17aa5ef..91c855cb4e 100644 --- a/package/mosquitto/mosquitto.hash +++ b/package/mosquitto/mosquitto.hash @@ -1,5 +1,5 @@ -# From http://www.eclipse.org/downloads/download.php?file=/mosquitto/source/mosquitto-1.4.14.tar.gz -sha512 dc75a971354f87deeb79f32435acfae9bc561a1a24a75ee4940a35176ff91758071930d2105d8dee2a090e07527dbfaa5692bece67e03cc87e8b4b8b46f846c2 mosquitto-1.4.14.tar.gz +# Locally calculated after checking gpg signature +sha256 7d3b3e245a3b4ec94b05678c8199c806359737949f4cfe0bf936184f6ca89a83 mosquitto-1.4.15.tar.gz # License files sha256 cc77e25bafd40637b7084f04086d606f0a200051b61806f97c93405926670bc1 LICENSE.txt diff --git a/package/mosquitto/mosquitto.mk b/package/mosquitto/mosquitto.mk index c9b4418d04..ec5fc02f9f 100644 --- a/package/mosquitto/mosquitto.mk +++ b/package/mosquitto/mosquitto.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOSQUITTO_VERSION = 1.4.14 +MOSQUITTO_VERSION = 1.4.15 MOSQUITTO_SITE = https://mosquitto.org/files/source MOSQUITTO_LICENSE = EPL-1.0 or EDLv1.0 MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v10 edl-v10 diff --git a/package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch b/package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch deleted file mode 100644 index 4211fe67bd..0000000000 --- a/package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 5a1081d36bf2861ffc882354c583a0eb6b0ee3d5 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Tue, 25 Oct 2016 21:27:41 +0200 -Subject: [PATCH] configure.ac: use given CFLAGS/LIBS for mysqlclient library - check - -Needed for static linking of mysql with enabled libz. - -Signed-off-by: Peter Seiderer ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5782fd6..aa5d9dd 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -618,8 +618,8 @@ else - #LDFLAGS="-L$MYSQL_LIBDIR" - saved_CFLAGS=$CFLAGS - saved_LIBS=$LIBS -- CFLAGS="-I$MYSQL_INCDIR" -- LIBS="-L$MYSQL_LIBDIR" -+ CFLAGS="-I$MYSQL_INCDIR $CFLAGS" -+ LIBS="-L$MYSQL_LIBDIR $LIBS" - AC_CHECK_LIB(mysqlclient,mysql_init,[ - TEMP_LIBS="$TEMP_LIBS -L$MYSQL_LIBDIR -lmysqlclient -lz" - TEMP_CFLAGS="$TEMP_CFLAGS -I$MYSQL_INCDIR" --- -2.8.1 - diff --git a/package/motion/0002-Rename-base64_encode.patch b/package/motion/0002-Rename-base64_encode.patch deleted file mode 100644 index 8b06309252..0000000000 --- a/package/motion/0002-Rename-base64_encode.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 0da5428bdfe67eb17ee03f22f68e66b044abdf70 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 30 Oct 2016 19:30:46 +0100 -Subject: [PATCH] Rename base64_encode - -base64_encode is already defined in gnutls so rename it as -motion_base64_encode to prevent a definition clash when linking -statically with gnutls - -Fixes: - - http://autobuild.buildroot.org/results/592672b8826f4c731c50d29725da964d876573c4 - -Applied upstream: - - https://github.com/Motion-Project/motion/commit/cc3c25527d4bada0fe98a734fa2df29f8d6cf1ad - -Signed-off-by: Fabrice Fontaine ---- - netcam.c | 4 ++-- - netcam_wget.c | 4 ++-- - netcam_wget.h | 2 +- - stream.c | 4 ++-- - webhttpd.c | 4 ++-- - 5 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/netcam.c b/netcam.c -index a9df33a..38d4ca3 100644 ---- a/netcam.c -+++ b/netcam.c -@@ -2019,7 +2019,7 @@ static int netcam_http_build_url(netcam_context_ptr netcam, struct url_t *url) - else - ptr = url->userpass; - -- /* base64_encode needs up to 3 additional chars. */ -+ /* motion_base64_encode needs up to 3 additional chars. */ - if (ptr) { - userpass = mymalloc(strlen(ptr) + 3); - strcpy(userpass, ptr); -@@ -2045,7 +2045,7 @@ static int netcam_http_build_url(netcam_context_ptr netcam, struct url_t *url) - /* Allocate space for the base64-encoded string. */ - encuserpass = mymalloc(BASE64_LENGTH(strlen(userpass)) + 1); - /* Fill in the value. */ -- base64_encode(userpass, encuserpass, strlen(userpass)); -+ motion_base64_encode(userpass, encuserpass, strlen(userpass)); - /* Now create the last part (authorization) of the request. */ - request_pass = mymalloc(strlen(connect_auth_req) + - strlen(encuserpass) + 1); -diff --git a/netcam_wget.c b/netcam_wget.c -index 4491760..f5c1dc2 100644 ---- a/netcam_wget.c -+++ b/netcam_wget.c -@@ -210,13 +210,13 @@ int skip_lws(const char *string) - - - /** -- * base64_encode -+ * motion_base64_encode - * - * Encode the string S of length LENGTH to base64 format and place it - * to STORE. STORE will be 0-terminated, and must point to a writable - * buffer of at least 1+BASE64_LENGTH(length) bytes. - */ --void base64_encode(const char *s, char *store, int length) -+void motion_base64_encode(const char *s, char *store, int length) - { - /* Conversion table. */ - static const char tbl[64] = { -diff --git a/netcam_wget.h b/netcam_wget.h -index 9a091bf..e9b02b5 100644 ---- a/netcam_wget.h -+++ b/netcam_wget.h -@@ -72,7 +72,7 @@ int rbuf_read_bufferful(netcam_context_ptr); - /* How many bytes it will take to store LEN bytes in base64. */ - #define BASE64_LENGTH(len) (4 * (((len) + 2) / 3)) - --void base64_encode(const char *, char *, int); -+void motion_base64_encode(const char *, char *, int); - char *strdupdelim(const char *, const char *); - int http_process_type(const char *, void *); - -diff --git a/stream.c b/stream.c -index 04e67ee..ca201ac 100644 ---- a/stream.c -+++ b/stream.c -@@ -211,10 +211,10 @@ static void* handle_basic_auth(void* param) - - authentication = mymalloc(BASE64_LENGTH(auth_size) + 1); - userpass = mymalloc(auth_size + 4); -- /* base64_encode can read 3 bytes after the end of the string, initialize it. */ -+ /* motion_base64_encode can read 3 bytes after the end of the string, initialize it. */ - memset(userpass, 0, auth_size + 4); - strcpy(userpass, p->conf->stream_authentication); -- base64_encode(userpass, authentication, auth_size); -+ motion_base64_encode(userpass, authentication, auth_size); - free(userpass); - - if (strcmp(auth, authentication)) { -diff --git a/webhttpd.c b/webhttpd.c -index 6df2d11..36e8beb 100644 ---- a/webhttpd.c -+++ b/webhttpd.c -@@ -2616,10 +2616,10 @@ void httpd_run(struct context **cnt) - - authentication = mymalloc(BASE64_LENGTH(auth_size) + 1); - userpass = mymalloc(auth_size + 4); -- /* base64_encode can read 3 bytes after the end of the string, initialize it */ -+ /* motion_base64_encode can read 3 bytes after the end of the string, initialize it */ - memset(userpass, 0, auth_size + 4); - strcpy(userpass, cnt[0]->conf.webcontrol_authentication); -- base64_encode(userpass, authentication, auth_size); -+ motion_base64_encode(userpass, authentication, auth_size); - free(userpass); - } - --- -2.5.0 - diff --git a/package/motion/motion.mk b/package/motion/motion.mk index ce64a9328b..0f4898674b 100644 --- a/package/motion/motion.mk +++ b/package/motion/motion.mk @@ -4,17 +4,15 @@ # ################################################################################ -MOTION_VERSION = release-4.0.1 +MOTION_VERSION = release-4.1.1 MOTION_SITE = $(call github,Motion-Project,motion,$(MOTION_VERSION)) MOTION_LICENSE = GPL-2.0 MOTION_LICENSE_FILES = COPYING MOTION_DEPENDENCIES = host-pkgconf jpeg -# From git and patched configure.ac +# From git MOTION_AUTORECONF = YES -# motion does not use any specific function of jpeg-turbo, so just relies on -# jpeg selection -MOTION_CONF_OPTS += --without-jpeg-turbo --without-optimizecpu +MOTION_CONF_OPTS += --without-optimizecpu ifeq ($(BR2_PACKAGE_FFMPEG_SWSCALE),y) MOTION_DEPENDENCIES += ffmpeg @@ -29,10 +27,6 @@ MOTION_CONF_OPTS += \ --with-mysql \ --with-mysql-include=$(STAGING_DIR)/usr/include/mysql \ --with-mysql-lib=$(STAGING_DIR)/usr/lib -# static link of mysql needs -lz -ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_ZLIB),yy) -MOTION_CONF_ENV += LIBS="-lz" -endif else MOTION_CONF_OPTS += --without-mysql endif @@ -47,16 +41,6 @@ else MOTION_CONF_OPTS += --without-pgsql endif -ifeq ($(BR2_PACKAGE_SDL),y) -MOTION_DEPENDENCIES += sdl -MOTION_CONF_OPTS += --with-sdl=$(STAGING_DIR)/usr -# overwrite ac_cv_path_CONFIG_SDL in case sdl development is -# installed on the host -MOTION_CONF_ENV += ac_cv_path_CONFIG_SDL=$(STAGING_DIR)/usr/bin/sdl-config -else -MOTION_CONF_OPTS += --without-sdl -endif - ifeq ($(BR2_PACKAGE_SQLITE),y) MOTION_DEPENDENCIES += sqlite MOTION_CONF_OPTS += --with-sqlite3 @@ -64,11 +48,18 @@ else MOTION_CONF_OPTS += --without-sqlite3 endif +ifeq ($(BR2_PACKAGE_WEBP_MUX),y) +MOTION_DEPENDENCIES += webp +MOTION_CONF_OPTS += --with-webp +else +MOTION_CONF_OPTS += --without-webp +endif + # Do not use default install target as it installs many unneeded files and # directories: docs, examples and init scripts define MOTION_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0644 $(@D)/motion-dist.conf \ - $(TARGET_DIR)/etc/motion.conf + $(TARGET_DIR)/etc/motion/motion.conf $(INSTALL) -D -m 0755 $(@D)/motion $(TARGET_DIR)/usr/bin/motion endef diff --git a/package/mpd/Config.in b/package/mpd/Config.in index 5991b6f4bb..31afb49602 100644 --- a/package/mpd/Config.in +++ b/package/mpd/Config.in @@ -254,13 +254,19 @@ config BR2_PACKAGE_MPD_OSS config BR2_PACKAGE_MPD_PULSEAUDIO bool "pulseaudio" - depends on !BR2_STATIC_LIBS # pulseaudio + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + depends on BR2_USE_MMU select BR2_PACKAGE_PULSEAUDIO help Enable pulseaudio output support. -comment "pulseaudio support needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS +comment "pulseaudio support needs a toolchain w/ threads, wchar, dynamic library" + depends on BR2_USE_MMU + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || !BR2_USE_WCHAR config BR2_PACKAGE_MPD_SHOUTCAST bool "shoutcast" diff --git a/package/mpd/mpd.hash b/package/mpd/mpd.hash index 717b92188f..735ea700ff 100644 --- a/package/mpd/mpd.hash +++ b/package/mpd/mpd.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 e9227d9daf32a63d6f34bf2ea18b3179b4a383e9d2b49d548702a37451e514bc mpd-0.20.11.tar.xz +sha256 c69c4f67e665380ea3bbde6cff8958edc85f7cd40e7918ae5ce0a2184ca9eb40 mpd-0.20.15.tar.xz diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk index b337196762..482859518a 100644 --- a/package/mpd/mpd.mk +++ b/package/mpd/mpd.mk @@ -5,7 +5,7 @@ ################################################################################ MPD_VERSION_MAJOR = 0.20 -MPD_VERSION = $(MPD_VERSION_MAJOR).11 +MPD_VERSION = $(MPD_VERSION_MAJOR).15 MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz MPD_SITE = http://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR) MPD_DEPENDENCIES = host-pkgconf boost diff --git a/package/mpg123/Config.in b/package/mpg123/Config.in index eacefada5d..73ca1c740c 100644 --- a/package/mpg123/Config.in +++ b/package/mpg123/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_MPG123 bool "mpg123" depends on BR2_USE_MMU # fork - in the application help - Fast, free and portable MPEG audio player for Unix. It supports - MPEG 1.0/2.0 layers 1, 2 and 3. + Fast, free and portable MPEG audio player for Unix. It + supports MPEG 1.0/2.0 layers 1, 2 and 3. http://www.mpg123.de/ diff --git a/package/mpg123/mpg123.hash b/package/mpg123/mpg123.hash index cbab6f3ee9..22db5bca3c 100644 --- a/package/mpg123/mpg123.hash +++ b/package/mpg123/mpg123.hash @@ -1,5 +1,7 @@ -# Locally calculated after checking pgp signature -sha256 5314b0fb8ad291bfc79ff4c5c321b971916819a65233ec065434358fcf8aee38 mpg123-1.25.2.tar.bz2 - +# From https://sourceforge.net/projects/mpg123/files/mpg123/1.25.10/ +sha1 604784ddbcfe282bffdc595d1d45c677c7cf381f mpg123-1.25.10.tar.bz2 +md5 ea32caa61d41d8be797f0b04a1b43ad9 mpg123-1.25.10.tar.bz2 +# Locally calculated +sha256 6c1337aee2e4bf993299851c70b7db11faec785303cfca3a5c3eb5f329ba7023 mpg123-1.25.10.tar.bz2 # License file sha256 f40e0dd86b27b52e429b693a87b3ca63ae0a98a4d142e77207aa6bdf1db7a295 COPYING diff --git a/package/mpg123/mpg123.mk b/package/mpg123/mpg123.mk index 01923d7990..dd2d39d978 100644 --- a/package/mpg123/mpg123.mk +++ b/package/mpg123/mpg123.mk @@ -4,7 +4,7 @@ # ################################################################################ -MPG123_VERSION = 1.25.2 +MPG123_VERSION = 1.25.10 MPG123_SOURCE = mpg123-$(MPG123_VERSION).tar.bz2 MPG123_SITE = http://downloads.sourceforge.net/project/mpg123/mpg123/$(MPG123_VERSION) MPG123_CONF_OPTS = --disable-lfs-alias diff --git a/package/mplayer/Config.in b/package/mplayer/Config.in index a10ad26b29..15c903ae7b 100644 --- a/package/mplayer/Config.in +++ b/package/mplayer/Config.in @@ -16,8 +16,8 @@ config BR2_PACKAGE_MPLAYER depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_TOOLCHAIN_HAS_THREADS help - MPlayer is a movie player which runs on many systems and supports - many different file formats. + MPlayer is a movie player which runs on many systems and + supports many different file formats. http://www.mplayerhq.hu/ diff --git a/package/mpv/0003-rpi-fix-linking-errors.patch b/package/mpv/0003-rpi-fix-linking-errors.patch new file mode 100644 index 0000000000..0e65a5a3eb --- /dev/null +++ b/package/mpv/0003-rpi-fix-linking-errors.patch @@ -0,0 +1,90 @@ +From fe482a600d507dc7ce77f6d154a9e8b395f74fdd Mon Sep 17 00:00:00 2001 +From: Mahyar Koshkouei +Date: Tue, 24 Oct 2017 09:47:38 +0100 +Subject: [PATCH] rpi: fix linking errors + +Fixes linking issues when compiling with Raspberry Pi support. + +Signed-off-by: Mahyar Koshkouei +--- +Status: pull request https://github.com/mpv-player/mpv/pull/4883 +--- + waftools/checks/custom.py | 26 +++++++++++++++++++++++++- + wscript | 18 +----------------- + 2 files changed, 26 insertions(+), 18 deletions(-) + +diff --git a/waftools/checks/custom.py b/waftools/checks/custom.py +index d8065a3..9086795 100644 +--- a/waftools/checks/custom.py ++++ b/waftools/checks/custom.py +@@ -4,7 +4,7 @@ from waflib import Utils + import os + + __all__ = ["check_pthreads", "check_iconv", "check_lua", +- "check_cocoa", "check_openal"] ++ "check_cocoa", "check_openal", "check_rpi"] + + pthreads_program = load_fragment('pthreads.c') + +@@ -103,3 +103,27 @@ def check_openal(ctx, dependency_identifier): + if fn(ctx, dependency_identifier): + return True + return False ++ ++def check_rpi(ctx, dependency_identifier): ++ # We need MMAL/bcm_host/dispmanx APIs. ++ # Upstream keeps pkgconfig files in '/opt/vc/lib/pkgconfig'. ++ # See https://github.com/raspberrypi/userland/issues/245 ++ # PKG_CONFIG_SYSROOT_DIR helps with cross compilation. ++ prev_pkg_path = os.getenv('PKG_CONFIG_PATH', '') ++ os.environ['PKG_CONFIG_PATH'] = os.pathsep.join( ++ filter(None, [os.path.join(os.getenv('PKG_CONFIG_SYSROOT_DIR', '/'), ++ 'opt/vc/lib/pkgconfig'), ++ prev_pkg_path])) ++ ++ checks = [ ++ # We still need all OpenGL symbols, because the vo_opengl code is ++ # generic and supports anything from GLES2/OpenGL 2.1 to OpenGL 4 core. ++ check_pkg_config('bcm_host', uselib_store='bcm_host'), ++ check_pkg_config('egl'), ++ check_pkg_config('glesv2'), ++ check_cc(lib=['mmal_core', 'mmal_util', 'mmal_vc_client'], use=['bcm_host']), ++ ] ++ ++ ret = all((fn(ctx, dependency_identifier) for fn in checks)) ++ os.environ['PKG_CONFIG_PATH'] = prev_pkg_path ++ return ret +diff --git a/wscript b/wscript +index 9d88588..84e5f2e 100644 +--- a/wscript ++++ b/wscript +@@ -732,25 +732,9 @@ video_output_features = [ + 'desc': 'Android support', + 'func': check_statement('android/api-level.h', '(void)__ANDROID__'), # arbitrary android-specific header + }, { +- # We need MMAL/bcm_host/dispmanx APIs. Also, most RPI distros require +- # every project to hardcode the paths to the include directories. Also, +- # these headers are so broken that they spam tons of warnings by merely +- # including them (compensate with -isystem and -fgnu89-inline). + 'name': '--rpi', + 'desc': 'Raspberry Pi support', +- 'func': compose_checks( +- check_cc(cflags="-isystem/opt/vc/include/ "+ +- "-isystem/opt/vc/include/interface/vcos/pthreads " + +- "-isystem/opt/vc/include/interface/vmcs_host/linux " + +- "-fgnu89-inline", +- linkflags="-L/opt/vc/lib", +- header_name="bcm_host.h", +- lib=['mmal_core', 'mmal_util', 'mmal_vc_client', 'bcm_host']), +- # We still need all OpenGL symbols, because the vo_opengl code is +- # generic and supports anything from GLES2/OpenGL 2.1 to OpenGL 4 core. +- check_cc(lib="EGL"), +- check_cc(lib="GLESv2"), +- ), ++ 'func': check_rpi, + } , { + 'name': '--ios-gl', + 'desc': 'iOS OpenGL ES hardware decoding interop support', +-- +2.14.2 + diff --git a/package/mpv/0004-libva20.patch b/package/mpv/0004-libva20.patch new file mode 100644 index 0000000000..349dd3cb14 --- /dev/null +++ b/package/mpv/0004-libva20.patch @@ -0,0 +1,93 @@ +From 2ecf240b1cd20875991a5b18efafbe799864ff7f Mon Sep 17 00:00:00 2001 +From: Mark Thompson +Date: Mon, 9 Oct 2017 20:10:26 +0100 +Subject: [PATCH] vaapi: Use libva2 message callbacks + +They are no longer global, so they work vaguely sensibly. + +Downloaded from upstream commit: +https://github.com/mpv-player/mpv/commit/2ecf240b1cd20875991a5b18efafbe799864ff7f + +Signed-off-by: Bernd Kuhls +--- + video/vaapi.c | 32 +++++++++++++++++++++++++++++--- + 1 file changed, 29 insertions(+), 3 deletions(-) + +diff --git a/video/vaapi.c b/video/vaapi.c +index 6bedbbaa18..3b1cb9cc41 100644 +--- a/video/vaapi.c ++++ b/video/vaapi.c +@@ -40,9 +40,27 @@ int va_get_colorspace_flag(enum mp_csp csp) + return 0; + } + +-// VA message callbacks are global and do not have a context parameter, so it's +-// impossible to know from which VADisplay they originate. Try to route them +-// to existing mpv/libmpv instances within this process. ++#if VA_CHECK_VERSION(1, 0, 0) ++static void va_message_callback(void *context, const char *msg, int mp_level) ++{ ++ struct mp_vaapi_ctx *res = context; ++ mp_msg(res->log, mp_level, "libva: %s", msg); ++} ++ ++static void va_error_callback(void *context, const char *msg) ++{ ++ va_message_callback(context, msg, MSGL_ERR); ++} ++ ++static void va_info_callback(void *context, const char *msg) ++{ ++ va_message_callback(context, msg, MSGL_V); ++} ++#else ++// Pre-libva2 VA message callbacks are global and do not have a context ++// parameter, so it's impossible to know from which VADisplay they ++// originate. Try to route them to existing mpv/libmpv instances within ++// this process. + static pthread_mutex_t va_log_mutex = PTHREAD_MUTEX_INITIALIZER; + static struct mp_vaapi_ctx **va_mpv_clients; + static int num_va_mpv_clients; +@@ -77,6 +95,7 @@ static void va_info_callback(const char *msg) + { + va_message_callback(msg, MSGL_V); + } ++#endif + + static void open_lavu_vaapi_device(struct mp_vaapi_ctx *ctx) + { +@@ -108,6 +127,10 @@ struct mp_vaapi_ctx *va_initialize(VADisplay *display, struct mp_log *plog, + }, + }; + ++#if VA_CHECK_VERSION(1, 0, 0) ++ vaSetErrorCallback(display, va_error_callback, res); ++ vaSetInfoCallback(display, va_info_callback, res); ++#else + pthread_mutex_lock(&va_log_mutex); + MP_TARRAY_APPEND(NULL, va_mpv_clients, num_va_mpv_clients, res); + pthread_mutex_unlock(&va_log_mutex); +@@ -118,6 +141,7 @@ struct mp_vaapi_ctx *va_initialize(VADisplay *display, struct mp_log *plog, + vaSetErrorCallback(va_error_callback); + vaSetInfoCallback(va_info_callback); + #endif ++#endif + + int major, minor; + int status = vaInitialize(display, &major, &minor); +@@ -154,6 +178,7 @@ void va_destroy(struct mp_vaapi_ctx *ctx) + if (ctx->destroy_native_ctx) + ctx->destroy_native_ctx(ctx->native_ctx); + ++#if !VA_CHECK_VERSION(1, 0, 0) + pthread_mutex_lock(&va_log_mutex); + for (int n = 0; n < num_va_mpv_clients; n++) { + if (va_mpv_clients[n] == ctx) { +@@ -164,6 +189,7 @@ void va_destroy(struct mp_vaapi_ctx *ctx) + if (num_va_mpv_clients == 0) + TA_FREEP(&va_mpv_clients); // avoid triggering leak detectors + pthread_mutex_unlock(&va_log_mutex); ++#endif + + talloc_free(ctx); + } diff --git a/package/mpv/mpv.hash b/package/mpv/mpv.hash index 60fb84335e..1dac3a4940 100644 --- a/package/mpv/mpv.hash +++ b/package/mpv/mpv.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 341d8bf18b75c1f78d5b681480b5b7f5c8b87d97a0d4f53a5648ede9c219a49c v0.27.0.tar.gz +sha256 2ad104d83fd3b2b9457716615acad57e479fd1537b8fc5e37bfe9065359b50be v0.27.2.tar.gz diff --git a/package/mpv/mpv.mk b/package/mpv/mpv.mk index 730ced6c64..f38a6b916f 100644 --- a/package/mpv/mpv.mk +++ b/package/mpv/mpv.mk @@ -4,7 +4,7 @@ # ################################################################################ -MPV_VERSION = 0.27.0 +MPV_VERSION = 0.27.2 MPV_SITE = https://github.com/mpv-player/mpv/archive MPV_SOURCE = v$(MPV_VERSION).tar.gz MPV_DEPENDENCIES = \ @@ -26,13 +26,13 @@ MPV_CONF_OPTS = \ --disable-cuda-hwaccel \ --disable-libv4l2 \ --disable-opensles \ - --disable-rpi \ --disable-rsound \ --disable-rubberband \ --disable-uchardet \ --disable-vapoursynth \ --disable-vapoursynth-lazy \ - --disable-vdpau + --disable-vdpau \ + --disable-mali-fbdev # ALSA support requires pcm+mixer ifeq ($(BR2_PACKAGE_ALSA_LIB_MIXER)$(BR2_PACKAGE_ALSA_LIB_PCM),yy) @@ -169,6 +169,14 @@ else MPV_CONF_OPTS += --disable-sdl1 --disable-sdl2 endif +# Raspberry Pi support +ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) +MPV_CONF_OPTS += --enable-rpi --enable-gl +MPV_DEPENDENCIES += rpi-userland +else +MPV_CONF_OPTS += --disable-rpi +endif + # va-api support # This requires one or more of the egl-drm, wayland, x11 backends # For now we support wayland and x11 diff --git a/package/mraa/Config.in b/package/mraa/Config.in index 2e5d3b128c..cdd7b9e8f1 100644 --- a/package/mraa/Config.in +++ b/package/mraa/Config.in @@ -4,9 +4,9 @@ config BR2_PACKAGE_MRAA depends on BR2_arm || BR2_i386 || BR2_x86_64 help mraa is a C/C++ library with bindings to javascript & python - to interface with the IO on Galileo, Edison & other platforms, - with a structured and sane API where port names/numbering matches - the board that you are on. + to interface with the IO on Galileo, Edison & other + platforms, with a structured and sane API where port + names/numbering matches the board that you are on. http://iotdk.intel.com/docs/master/mraa diff --git a/package/msgpack/Config.in b/package/msgpack/Config.in index b8e82138fa..b7ae35a0c6 100644 --- a/package/msgpack/Config.in +++ b/package/msgpack/Config.in @@ -5,8 +5,8 @@ config BR2_PACKAGE_MSGPACK help MessagePack is an efficient binary serialization format. - It lets you exchange data among multiple languages like JSON but - it's faster and smaller. + It lets you exchange data among multiple languages like JSON + but it's faster and smaller. http://msgpack.org/ diff --git a/package/msmtp/msmtp.hash b/package/msmtp/msmtp.hash index d0de8e04fd..10d6cea6ad 100644 --- a/package/msmtp/msmtp.hash +++ b/package/msmtp/msmtp.hash @@ -1,3 +1,6 @@ -# From http://sourceforge.net/projects/msmtp/files/msmtp/1.6.5/ -md5 50a8c9bb72f8222779db6b4aae2965e0 msmtp-1.6.5.tar.xz -sha1 27d1fc609cd453a7e4c55c4ec55d455949bc53f1 msmtp-1.6.5.tar.xz +# From http://sourceforge.net/projects/msmtp/files/msmtp/1.6.6/ +md5 82b0520b57db4b2cf05333d11fb5974d msmtp-1.6.6.tar.xz +sha1 f997f40dfb3f882df837cfd9a63bd4d271dcdc41 msmtp-1.6.6.tar.xz +# Locally calculated after checking signature +# http://downloads.sourceforge.net/project/msmtp/msmtp/1.6.6/msmtp-1.6.6.tar.xz.sig +sha256 da15db1f62bd0201fce5310adb89c86188be91cd745b7cb3b62b81a501e7fb5e msmtp-1.6.6.tar.xz diff --git a/package/msmtp/msmtp.mk b/package/msmtp/msmtp.mk index 1821d39ed2..a1bd9e1437 100644 --- a/package/msmtp/msmtp.mk +++ b/package/msmtp/msmtp.mk @@ -4,7 +4,7 @@ # ################################################################################ -MSMTP_VERSION = 1.6.5 +MSMTP_VERSION = 1.6.6 MSMTP_SITE = http://downloads.sourceforge.net/project/msmtp/msmtp/$(MSMTP_VERSION) MSMTP_SOURCE = msmtp-$(MSMTP_VERSION).tar.xz MSMTP_DEPENDENCIES = host-pkgconf diff --git a/package/mtd/0001-revert-return-correct-error-number-in-ubi_get_vol_info1.patch b/package/mtd/0001-revert-return-correct-error-number-in-ubi_get_vol_info1.patch new file mode 100644 index 0000000000..1fd4f7693b --- /dev/null +++ b/package/mtd/0001-revert-return-correct-error-number-in-ubi_get_vol_info1.patch @@ -0,0 +1,92 @@ +From 0f833ac73ad631248826386e2918d8571ecf0347 Mon Sep 17 00:00:00 2001 +From: David Oberhollenzer +Date: Sat, 9 Jun 2018 16:45:22 +0200 +Subject: [PATCH] Revert "Return correct error number in ubi_get_vol_info1" + +This reverts commit dede98ffb706676309488d7cc660f569548d5930. + +The original commit tried to fix a descrepancy between the implementation +and the documentation by making the implementation comply. + +When making the change, it was overlooked, that ubinfo and ubirename were +written against the implementation instead of the behaviour specified by +the documentation. So were further internal functions like +ubi_get_vol_info1_nm which further breaks ubirmvol. + +A report with an outline of a resulting problem can be read on +the mailing list: + +http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html + +From the report: + +steps to reproduce: have mtd-utils 2.0.1 or 2.0.2 + +0. make a bunch of ubi volumes in sequential order + +ubimkvol /dev/ubi0 -s 64KiB -N test1 +ubimkvol /dev/ubi0 -s 64KiB -N test2 +ubimkvol /dev/ubi0 -s 64KiB -N test3 +ubimkvol /dev/ubi0 -s 64KiB -N test4 +.. + +1. delete the test1 volume, making a hole in the volume table + +ubirmvol /dev/ubi0 -N test1 + +2. try an affected tool (i.e. "ubirmvol /dev/ubi0 -N test4" ) + + |root at mr24:/# ubirmvol /dev/ubi0 -N test4 + |ubirmvol: error!: cannot find UBI volume "test4" + | error 19 (No such device) + +or "ubinfo -a" + + | root at mr24:/# ubinfo -a + | UBI version: 1 + | Count of UBI devices: 1 + | UBI control device major/minor: 10:59 + | Present UBI devices: ubi0 + | + | ubi0 + | Volumes count: 11 + | Logical eraseblock size: 15872 bytes, 15.5 KiB + | Total amount of logical eraseblocks: 1952 (30982144 bytes, 29.5 MiB) + | Amount of available logical eraseblocks: 75 (1190400 bytes, 1.1 MiB) + | Maximum count of volumes 92 + | Count of bad physical eraseblocks: 0 + | Count of reserved physical eraseblocks: 40 + | Current maximum erase counter value: 984 + | Minimum input/output unit size: 512 bytes + | Character device major/minor: 251:0 + | ubinfo: error!: libubi failed to probe volume 5 on ubi0 + | error 19 (No such device) + | Present volumes: 0, 1, 2, 3, 4root at mr24:/# + +Reported-by: Christian Lamparter +Signed-off-by: David Oberhollenzer +Signed-off-by: David Owens +--- + lib/libubi.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/lib/libubi.c b/lib/libubi.c +index b50e68a..978b433 100644 +--- a/lib/libubi.c ++++ b/lib/libubi.c +@@ -1240,11 +1240,8 @@ int ubi_get_vol_info1(libubi_t desc, int dev_num, int vol_id, + info->dev_num = dev_num; + info->vol_id = vol_id; + +- if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor)) { +- if (errno == ENOENT) +- errno = ENODEV; ++ if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor)) + return -1; +- } + + ret = vol_read_data(lib->vol_type, dev_num, vol_id, buf, 50); + if (ret < 0) +-- +2.14.4 + diff --git a/package/mtd/mtd.hash b/package/mtd/mtd.hash index c452654bfb..4bd0cda097 100644 --- a/package/mtd/mtd.hash +++ b/package/mtd/mtd.hash @@ -1,3 +1,4 @@ # Locally calculated after checking pgp signature -# ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.0.1.tar.bz2.asc -sha256 312baa0446e4e728ceb413c53533e41e547d1c13ffa0752b2f879fd289fc2f63 mtd-utils-2.0.1.tar.bz2 +# ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.0.2.tar.bz2.asc +sha256 fb3de61be8e932abb424e8ea3c30298f553d5f970ad158a737bb303bbf9660b8 mtd-utils-2.0.2.tar.bz2 +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk index a69ef4082e..83bd6a6ae9 100644 --- a/package/mtd/mtd.mk +++ b/package/mtd/mtd.mk @@ -4,7 +4,7 @@ # ################################################################################ -MTD_VERSION = 2.0.1 +MTD_VERSION = 2.0.2 MTD_SOURCE = mtd-utils-$(MTD_VERSION).tar.bz2 MTD_SITE = ftp://ftp.infradead.org/pub/mtd-utils MTD_LICENSE = GPL-2.0 @@ -45,7 +45,10 @@ MTD_CONF_OPTS += --without-xattr endif HOST_MTD_DEPENDENCIES = host-zlib host-lzo host-util-linux -HOST_MTD_CONF_OPTS = --disable-tests +HOST_MTD_CONF_OPTS = \ + --with-jffs \ + --with-ubifs \ + --disable-tests MKFS_JFFS2 = $(HOST_DIR)/sbin/mkfs.jffs2 SUMTOOL = $(HOST_DIR)/sbin/sumtool diff --git a/package/mtools/Config.in b/package/mtools/Config.in index e51bac121c..99a073ca83 100644 --- a/package/mtools/Config.in +++ b/package/mtools/Config.in @@ -3,10 +3,10 @@ config BR2_PACKAGE_MTOOLS depends on BR2_USE_WCHAR depends on BR2_USE_MMU # fork() help - Mtools is a collection of utilities to access MS-DOS disks from - Unix without mounting them. It supports Win'95 style long file - names, OS/2 Xdf disks and 2m disks (store up to 1992k on a high - density 3 1/2 disk). + Mtools is a collection of utilities to access MS-DOS disks + from Unix without mounting them. It supports Win'95 style + long file names, OS/2 Xdf disks and 2m disks (store up to + 1992k on a high density 3 1/2 disk). http://www.gnu.org/software/mtools/ diff --git a/package/mtools/Config.in.host b/package/mtools/Config.in.host index 96b332b039..42cb6f80fb 100644 --- a/package/mtools/Config.in.host +++ b/package/mtools/Config.in.host @@ -1,9 +1,9 @@ config BR2_PACKAGE_HOST_MTOOLS bool "host mtools" help - Mtools is a collection of utilities to access MS-DOS disks from - Unix without mounting them. It supports Win'95 style long file - names, OS/2 Xdf disks and 2m disks (store up to 1992k on a high - density 3 1/2 disk). + Mtools is a collection of utilities to access MS-DOS disks + from Unix without mounting them. It supports Win'95 style long + file names, OS/2 Xdf disks and 2m disks (store up to 1992k on + a high density 3 1/2 disk). http://www.gnu.org/software/mtools/ diff --git a/package/multicat/Config.in b/package/multicat/Config.in index 1359358163..85f306d56c 100644 --- a/package/multicat/Config.in +++ b/package/multicat/Config.in @@ -3,7 +3,8 @@ config BR2_PACKAGE_MULTICAT depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_BITSTREAM help - Simple and efficient multicast and transport stream manipulation. + Simple and efficient multicast and transport stream + manipulation. http://www.videolan.org/projects/multicat.html diff --git a/package/musepack/Config.in b/package/musepack/Config.in index 2a966a473c..f368764ba9 100644 --- a/package/musepack/Config.in +++ b/package/musepack/Config.in @@ -3,9 +3,10 @@ config BR2_PACKAGE_MUSEPACK select BR2_PACKAGE_LIBCUEFILE select BR2_PACKAGE_LIBREPLAYGAIN help - Musepack is an audio compression format with a strong emphasis - on high quality. It's not lossless, but it is designed - for transparency, so that you won't be able to hear differences - between the original wave file and the much smaller MPC file. + Musepack is an audio compression format with a strong + emphasis on high quality. It's not lossless, but it is + designed for transparency, so that you won't be able to hear + differences between the original wave file and the much + smaller MPC file. http://www.musepack.net/ diff --git a/package/musl/0002-add-additional-uapi-guards-for-Linux-kernel-header-f.patch b/package/musl/0002-add-additional-uapi-guards-for-Linux-kernel-header-f.patch new file mode 100644 index 0000000000..cbfc9b668f --- /dev/null +++ b/package/musl/0002-add-additional-uapi-guards-for-Linux-kernel-header-f.patch @@ -0,0 +1,69 @@ +From b583c5d3b4cc2c54c68eef5eb7855ecfacee8bfc Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens +Date: Sat, 6 Jan 2018 23:32:52 +0100 +Subject: [PATCH] add additional uapi guards for Linux kernel header files + +With Linux kernel 4.16 it will be possible to guard more parts of the +Linux header files from a libc. Make use of this in musl to guard all +the structures and other definitions from the Linux header files which +are also defined by the header files provided by musl. This will make +it possible to compile source files which include both the libc +headers and the kernel userspace headers. + +This extends the definitions done in commit 04983f227238 ("make +netinet/in.h suppress clashing definitions from kernel headers") + +Signed-off-by: Baruch Siach +--- +Patch status: upstream commit b583c5d3b4cc + + include/net/if.h | 7 +++++++ + include/netinet/if_ether.h | 1 + + include/sys/xattr.h | 2 ++ + 3 files changed, 10 insertions(+) + +diff --git a/include/net/if.h b/include/net/if.h +index 2f2fcc10e484..774cbff0b506 100644 +--- a/include/net/if.h ++++ b/include/net/if.h +@@ -125,6 +125,13 @@ struct ifconf { + #define ifc_req ifc_ifcu.ifcu_req + #define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0) + ++#define __UAPI_DEF_IF_IFCONF 0 ++#define __UAPI_DEF_IF_IFMAP 0 ++#define __UAPI_DEF_IF_IFNAMSIZ 0 ++#define __UAPI_DEF_IF_IFREQ 0 ++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0 ++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0 ++ + #endif + + #ifdef __cplusplus +diff --git a/include/netinet/if_ether.h b/include/netinet/if_ether.h +index d9a131aa2d1d..97134d75b480 100644 +--- a/include/netinet/if_ether.h ++++ b/include/netinet/if_ether.h +@@ -133,5 +133,6 @@ do { \ + (enaddr)[5] = ((uint8_t *)ipaddr)[3]; \ + } while(0) + ++#define __UAPI_DEF_ETHHDR 0 + + #endif +diff --git a/include/sys/xattr.h b/include/sys/xattr.h +index 6479fcc62e5f..eeeaafc44f09 100644 +--- a/include/sys/xattr.h ++++ b/include/sys/xattr.h +@@ -24,6 +24,8 @@ int removexattr(const char *, const char *); + int lremovexattr(const char *, const char *); + int fremovexattr(int, const char *); + ++#define __UAPI_DEF_XATTR 0 ++ + #ifdef __cplusplus + } + #endif +-- +2.15.1 + diff --git a/package/musl/0002-arm-atomics-asm-with-new-binutils.patch b/package/musl/0002-arm-atomics-asm-with-new-binutils.patch deleted file mode 100644 index 3790889d7f..0000000000 --- a/package/musl/0002-arm-atomics-asm-with-new-binutils.patch +++ /dev/null @@ -1,43 +0,0 @@ -From b261a24256792177a5f0531dbb25cc6267220ca5 Mon Sep 17 00:00:00 2001 -From: Rich Felker -Date: Wed, 15 Feb 2017 17:05:50 -0500 -Subject: fix build regression in arm atomics asm with new binutils - -binutils commit bada43421274615d0d5f629a61a60b7daa71bc15 tightened -immediate fixup handling in gas in such a way that the final .arch of -an object file must be compatible with the fixups used when the -instruction was assembled; this in turn broke assembling of atomics.s, -at least in thumb mode. - -it's not clear whether this should be considered a bug in gas, but -.object_arch is preferable anyway for our purpose here of controlling -the ISA level tag on the object file being produced, and it's the -intended directive for use in object files with runtime code -selection. research by Szabolcs Nagy confirmed that .object_arch is -supported in all relevant versions of binutils and clang's integrated -assembler. - -patch by Reiner Herrmann. - -Signed-off-by: Timothy Lee -[Backport from upstream https://git.musl-libc.org/cgit/musl/commit/?id=b261a24256792177a5f0531dbb25cc6267220ca5.] ---- - src/thread/arm/atomics.s | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/thread/arm/atomics.s b/src/thread/arm/atomics.s -index 202faa4..101ad39 100644 ---- a/src/thread/arm/atomics.s -+++ b/src/thread/arm/atomics.s -@@ -84,7 +84,7 @@ __a_gettp_cp15: - bx lr - - /* Tag this file with minimum ISA level so as not to affect linking. */ --.arch armv4t -+.object_arch armv4t - .eabi_attribute 6,2 - - .data --- -cgit v0.11.2 - diff --git a/package/musl/0003-in-dns-parsing-callback-enforce-MAXADDRS-to-preclude.patch b/package/musl/0003-in-dns-parsing-callback-enforce-MAXADDRS-to-preclude.patch deleted file mode 100644 index c6b5ef26b4..0000000000 --- a/package/musl/0003-in-dns-parsing-callback-enforce-MAXADDRS-to-preclude.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 45ca5d3fcb6f874bf5ba55d0e9651cef68515395 Mon Sep 17 00:00:00 2001 -From: Rich Felker -Date: Wed, 18 Oct 2017 14:50:03 -0400 -Subject: [PATCH] in dns parsing callback, enforce MAXADDRS to preclude - overflow - -MAXADDRS was chosen not to need enforcement, but the logic used to -compute it assumes the answers received match the RR types of the -queries. specifically, it assumes that only one replu contains A -record answers. if the replies to both the A and the AAAA query have -their answer sections filled with A records, MAXADDRS can be exceeded -and clobber the stack of the calling function. - -this bug was found and reported by Felix Wilhelm. - -Signed-off-by: Peter Korsgaard ---- - src/network/lookup_name.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/network/lookup_name.c b/src/network/lookup_name.c -index 066be4d5..209c20f0 100644 ---- a/src/network/lookup_name.c -+++ b/src/network/lookup_name.c -@@ -111,6 +111,7 @@ static int dns_parse_callback(void *c, int rr, const void *data, int len, const - { - char tmp[256]; - struct dpc_ctx *ctx = c; -+ if (ctx->cnt >= MAXADDRS) return -1; - switch (rr) { - case RR_A: - if (len != 4) return -1; --- -2.11.0 - diff --git a/package/musl/musl.hash b/package/musl/musl.hash index f3f3741092..68e6aab1fd 100644 --- a/package/musl/musl.hash +++ b/package/musl/musl.hash @@ -1,2 +1,3 @@ -# Locally calculated after checking pgp signature -sha256 937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011 musl-1.1.16.tar.gz +# Locally calculated after checking pgp signature from +# http://www.musl-libc.org/releases/musl-1.1.18.tar.gz.asc +sha256 d017ee5d01aec0c522a1330fdff06b1e428cb409e1db819cc4935d5da4a5a118 musl-1.1.18.tar.gz diff --git a/package/musl/musl.mk b/package/musl/musl.mk index 6d5603398b..b1aace0400 100644 --- a/package/musl/musl.mk +++ b/package/musl/musl.mk @@ -4,7 +4,7 @@ # ################################################################################ -MUSL_VERSION = 1.1.16 +MUSL_VERSION = 1.1.18 MUSL_SITE = http://www.musl-libc.org/releases MUSL_LICENSE = MIT MUSL_LICENSE_FILES = COPYRIGHT diff --git a/package/mysql/Config.in b/package/mysql/Config.in index 69ad586548..66bd0faa57 100644 --- a/package/mysql/Config.in +++ b/package/mysql/Config.in @@ -17,6 +17,7 @@ choice config BR2_PACKAGE_MARIADB bool "mariadb" depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LIBAIO select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_NCURSES @@ -24,12 +25,16 @@ config BR2_PACKAGE_MARIADB select BR2_PACKAGE_READLINE select BR2_PACKAGE_HAS_MYSQL help - MariaDB is one of the most popular database servers in the world. - It's made by the original developers of MySQL and guaranteed to - stay open source. + MariaDB is one of the most popular database servers in the + world. It's made by the original developers of MySQL and + guaranteed to stay open source. http://www.mariadb.org/ +comment "mariadb needs a toolchain w/ dynamic library" + depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_ORACLE_MYSQL bool "oracle mysql" select BR2_PACKAGE_NCURSES @@ -49,6 +54,12 @@ config BR2_PACKAGE_MARIADB_SERVER help Install the mariadb server on the target. +config BR2_PACKAGE_MARIADB_SERVER_EMBEDDED + depends on BR2_PACKAGE_MARIADB_SERVER + bool "mariadb embedded server" + help + Install the mariadb embedded server on the target. + endif if BR2_PACKAGE_ORACLE_MYSQL diff --git a/package/nano/0001-fix-compilation-when-configured-with-enable-tiny.patch b/package/nano/0001-fix-compilation-when-configured-with-enable-tiny.patch deleted file mode 100644 index db684f9832..0000000000 --- a/package/nano/0001-fix-compilation-when-configured-with-enable-tiny.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 28cfab7580c42a6d6c9c5d787ce736094fd51a0c Mon Sep 17 00:00:00 2001 -From: Benno Schulenberg -Date: Tue, 29 Aug 2017 19:28:44 +0200 -Subject: tweaks: fix compilation when configured with --enable-tiny - -When moving the cursor to the top-left corner, it is not necessary -to compute leftedge because firstcolumn IS the relevant leftedge. - -Reported-by: Jordi Mallach - -Downloaded from upstream master branch: -http://git.savannah.gnu.org/cgit/nano.git/commit/?id=28cfab7580c42a6d6c9c5d787ce736094fd51a0c - -Signed-off-by: Bernd Kuhls ---- - src/move.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/move.c b/src/move.c -index d138356..ce276e4 100644 ---- a/src/move.c -+++ b/src/move.c -@@ -121,7 +121,7 @@ void do_page_up(void) - openfile->current = openfile->edittop; - openfile->current_y = 0; - -- leftedge = leftedge_for(openfile->firstcolumn, openfile->edittop); -+ leftedge = openfile->firstcolumn; - target_column = 0; - } else - get_edge_and_target(&leftedge, &target_column); -@@ -152,7 +152,7 @@ void do_page_down(void) - openfile->current = openfile->edittop; - openfile->current_y = 0; - -- leftedge = leftedge_for(openfile->firstcolumn, openfile->edittop); -+ leftedge = openfile->firstcolumn; - target_column = 0; - } else - get_edge_and_target(&leftedge, &target_column); --- -cgit v1.0-41-gc330 - diff --git a/package/nano/nano.hash b/package/nano/nano.hash index 4e0abc4489..c09f0313d3 100644 --- a/package/nano/nano.hash +++ b/package/nano/nano.hash @@ -1,2 +1,3 @@ # Locally calculated after checking pgp signature -sha256 fbe31746958698d73c6726ee48ad8b0612697157961a2e9aaa83b4aa53d1165a nano-2.8.7.tar.xz +sha256 d2d30c39caef53aba1ec1b4baff4186d4496f35d2411b0848242a5f2e27e129e nano-2.9.0.tar.xz +sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/nano/nano.mk b/package/nano/nano.mk index f1c172ffd5..458174a473 100644 --- a/package/nano/nano.mk +++ b/package/nano/nano.mk @@ -4,8 +4,8 @@ # ################################################################################ -NANO_VERSION_MAJOR = 2.8 -NANO_VERSION = $(NANO_VERSION_MAJOR).7 +NANO_VERSION_MAJOR = 2.9 +NANO_VERSION = $(NANO_VERSION_MAJOR).0 NANO_SITE = https://www.nano-editor.org/dist/v$(NANO_VERSION_MAJOR) NANO_SOURCE = nano-$(NANO_VERSION).tar.xz NANO_LICENSE = GPL-3.0+ diff --git a/package/nanocom/Config.in b/package/nanocom/Config.in index 51d628aec5..bc0a05869e 100644 --- a/package/nanocom/Config.in +++ b/package/nanocom/Config.in @@ -1,11 +1,12 @@ config BR2_PACKAGE_NANOCOM bool "nanocom" help - Nanocom is based upon microcom (http://microcom.port5.com/) but - removes the scripting and logging features while introducing support - for setting local/remote echo, parity and stop bits. It also follows - a more standard command line style using the getopt function. - Internally much of the code has been rewritten and reformatted, the - menu system in particular is almost entirely different. + Nanocom is based upon microcom (http://microcom.port5.com/) + but removes the scripting and logging features while + introducing support for setting local/remote echo, parity + and stop bits. It also follows a more standard command line + style using the getopt function. Internally much of the + code has been rewritten and reformatted, the menu system in + particular is almost entirely different. http://nanocom.sourceforge.net/ diff --git a/package/nasm/0001-nasmlib-Drop-unused-seg_init.patch b/package/nasm/0001-nasmlib-Drop-unused-seg_init.patch new file mode 100644 index 0000000000..a18d121bfb --- /dev/null +++ b/package/nasm/0001-nasmlib-Drop-unused-seg_init.patch @@ -0,0 +1,32 @@ +From 5eb1838b4d3752fd863d19442943983a2a5ee87c Mon Sep 17 00:00:00 2001 +From: Cyrill Gorcunov +Date: Sat, 10 Feb 2018 00:33:41 +0300 +Subject: [PATCH] nasmlib: Drop unused seg_init + +The helper has been eliminated in 2c4a4d5810d0a59b033a07876a2648ef5d4c2859 + +https://bugzilla.nasm.us/show_bug.cgi?id=3392461 + +Signed-off-by: Cyrill Gorcunov +--- + include/nasmlib.h | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/include/nasmlib.h b/include/nasmlib.h +index 79e866b5..fee1b5ea 100644 +--- a/include/nasmlib.h ++++ b/include/nasmlib.h +@@ -188,10 +188,8 @@ int64_t readnum(char *str, bool *error); + int64_t readstrnum(char *str, int length, bool *warn); + + /* +- * seg_init: Initialise the segment-number allocator. + * seg_alloc: allocate a hitherto unused segment number. + */ +-void pure_func seg_init(void); + int32_t pure_func seg_alloc(void); + + /* +-- +2.17.0 + diff --git a/package/nasm/nasm.hash b/package/nasm/nasm.hash index b88671c10a..db5b857193 100644 --- a/package/nasm/nasm.hash +++ b/package/nasm/nasm.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 aa0213008f0433ecbe07bb628506a5c4be8079be20fc3532a5031fd639db9a5e nasm-2.13.01.tar.xz +sha256 812ecfb0dcbc5bd409aaa8f61c7de94c5b8752a7b00c632883d15b2ed6452573 nasm-2.13.03.tar.xz +sha256 1563996c52e220e15ef2418e67d39488255aa8c28c89e617074d3afe3ee329e0 LICENSE diff --git a/package/nasm/nasm.mk b/package/nasm/nasm.mk index 3e2515e2ee..76bcca3bbf 100644 --- a/package/nasm/nasm.mk +++ b/package/nasm/nasm.mk @@ -4,7 +4,7 @@ # ################################################################################ -NASM_VERSION = 2.13.01 +NASM_VERSION = 2.13.03 NASM_SOURCE = nasm-$(NASM_VERSION).tar.xz NASM_SITE = http://www.nasm.us/pub/nasm/releasebuilds/$(NASM_VERSION) NASM_LICENSE = BSD-2-Clause diff --git a/package/ncftp/Config.in b/package/ncftp/Config.in index 135ab5350f..6a939aa88c 100644 --- a/package/ncftp/Config.in +++ b/package/ncftp/Config.in @@ -3,8 +3,9 @@ config BR2_PACKAGE_NCFTP # fork() depends on BR2_USE_MMU help - NcFTP Client (also known as just NcFTP) is a set of FREE application - programs implementing the File Transfer Protocol (FTP). + NcFTP Client (also known as just NcFTP) is a set of FREE + application programs implementing the File Transfer Protocol + (FTP). http://www.ncftp.com/ncftp/ diff --git a/package/ncurses/Config.in b/package/ncurses/Config.in index 92be16435a..bb45bd8dc0 100644 --- a/package/ncurses/Config.in +++ b/package/ncurses/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_NCURSES bool "ncurses" help - The Ncurses (new curses) library is a free software emulation of - curses in System V Release 4.0, and more. + The Ncurses (new curses) library is a free software + emulation of curses in System V Release 4.0, and more. This package installs only a few vital termcap entries diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk index 94c8c9ade3..7552cc2591 100644 --- a/package/ncurses/ncurses.mk +++ b/package/ncurses/ncurses.mk @@ -50,6 +50,7 @@ NCURSES_TERMINFO_FILES = \ d/dumb \ l/linux \ p/putty \ + p/putty-256color \ p/putty-vt100 \ s/screen \ s/screen-256color \ @@ -59,6 +60,8 @@ NCURSES_TERMINFO_FILES = \ v/vt200 \ v/vt220 \ x/xterm \ + x/xterm+256color \ + x/xterm-256color \ x/xterm-color \ x/xterm-xfree86 @@ -97,10 +100,6 @@ NCURSES_LINK_STAGING_LIBS = \ NCURSES_LINK_STAGING_PC = $(call NCURSES_LINK_PC) NCURSES_CONF_OPTS += --enable-ext-colors -NCURSES_TERMINFO_FILES += \ - p/putty-256color \ - x/xterm+256color \ - x/xterm-256color NCURSES_POST_INSTALL_STAGING_HOOKS += NCURSES_LINK_STAGING_LIBS NCURSES_POST_INSTALL_STAGING_HOOKS += NCURSES_LINK_STAGING_PC @@ -152,6 +151,8 @@ HOST_NCURSES_CONF_OPTS = \ --without-cxx \ --without-cxx-binding \ --without-ada \ + --with-default-terminfo-dir=/usr/share/terminfo \ + --disable-db-install \ --without-normal $(eval $(autotools-package)) diff --git a/package/ndisc6/Config.in b/package/ndisc6/Config.in index a397ea6410..5531123851 100644 --- a/package/ndisc6/Config.in +++ b/package/ndisc6/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_NDISC6 bool "ndisc6 tools" depends on BR2_USE_MMU # fork() help - NDisc6 is a small collection of useful tools for IPv6 networking + NDisc6 is a small collection of useful tools for IPv6 + networking http://www.remlab.net/ndisc6/ diff --git a/package/neard/Config.in b/package/neard/Config.in index d32d6360de..277e467ced 100644 --- a/package/neard/Config.in +++ b/package/neard/Config.in @@ -9,8 +9,9 @@ config BR2_PACKAGE_NEARD select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBNL help - Near Field Communication (NFC) manager. This userspace daemon is - a part of the NFC stack provided by the Linux NFC project. + Near Field Communication (NFC) manager. This userspace + daemon is a part of the NFC stack provided by the Linux NFC + project. http://git.kernel.org/?p=network/nfc/neard.git;a=summary diff --git a/package/netatalk/Config.in b/package/netatalk/Config.in index ce1731830b..1560a18747 100644 --- a/package/netatalk/Config.in +++ b/package/netatalk/Config.in @@ -10,8 +10,9 @@ config BR2_PACKAGE_NETATALK select BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_LIBGPG_ERROR help - Netatalk can be used to turn a *NIX machine into an extremely - high-performance and reliable file server for Macintosh computers. + Netatalk can be used to turn a *NIX machine into an + extremely high-performance and reliable file server for + Macintosh computers. http://netatalk.sourceforge.net/ diff --git a/package/netcat-openbsd/Config.in b/package/netcat-openbsd/Config.in index 6df87ec688..4734ff9901 100644 --- a/package/netcat-openbsd/Config.in +++ b/package/netcat-openbsd/Config.in @@ -4,22 +4,25 @@ config BR2_PACKAGE_NETCAT_OPENBSD depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 select BR2_PACKAGE_LIBBSD help - A simple Unix utility which reads and writes data across network - connections using TCP or UDP protocol. It is designed to be a - reliable "back-end" tool that can be used directly or easily driven - by other programs and scripts. At the same time it is a feature-rich - network debugging and exploration tool, since it can create almost - any kind of connection you would need and has several interesting + A simple Unix utility which reads and writes data across + network connections using TCP or UDP protocol. It is + designed to be a reliable "back-end" tool that can be used + directly or easily driven by other programs and scripts. At + the same time it is a feature-rich network debugging and + exploration tool, since it can create almost any kind of + connection you would need and has several interesting built-in capabilities. - This package contains the OpenBSD rewrite of netcat, including - support for IPv6, proxies, and Unix sockets. + This package contains the OpenBSD rewrite of netcat, + including support for IPv6, proxies, and Unix sockets. https://packages.debian.org/sid/netcat-openbsd -comment "netcat-openbsd needs a glibc toolchain w/ threads" +comment "netcat-openbsd needs a glibc toolchain w/ threads, headers >= 3.12" depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS diff --git a/package/netcat-openbsd/netcat-openbsd.hash b/package/netcat-openbsd/netcat-openbsd.hash new file mode 100644 index 0000000000..1bf62bbcd6 --- /dev/null +++ b/package/netcat-openbsd/netcat-openbsd.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 63d72b4e5ea629af148d6d655125dcbe48f4996a8a2a8c5e234c62eba2856b5f netcat-openbsd-debian_1.187-1.tar.gz +sha256 e2e86d58c38f044a49f51e45515747585db58a2305419c73323eaad88fcaef5c debian/copyright diff --git a/package/netcat-openbsd/netcat-openbsd.mk b/package/netcat-openbsd/netcat-openbsd.mk index e1a6fee574..6d3be500eb 100644 --- a/package/netcat-openbsd/netcat-openbsd.mk +++ b/package/netcat-openbsd/netcat-openbsd.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETCAT_OPENBSD_VERSION = debian/1.105-7 +NETCAT_OPENBSD_VERSION = debian/1.187-1 NETCAT_OPENBSD_SITE = git://anonscm.debian.org/collab-maint/netcat-openbsd NETCAT_OPENBSD_LICENSE = BSD-3-Clause NETCAT_OPENBSD_LICENSE_FILES = debian/copyright diff --git a/package/netcat/Config.in b/package/netcat/Config.in index 924069ee1f..26bc7fa43d 100644 --- a/package/netcat/Config.in +++ b/package/netcat/Config.in @@ -2,12 +2,14 @@ config BR2_PACKAGE_NETCAT bool "netcat" depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help - Netcat is a featured networking utility which reads and writes data - across network connections, using the TCP/IP protocol. - It is designed to be a reliable "back-end" tool that can be used - directly or easily driven by other programs and scripts. At the - same time, it is a feature-rich network debugging and exploration - tool, since it can create almost any kind of connection you would - need and has several interesting built-in capabilities. + Netcat is a featured networking utility which reads and + writes data across network connections, using the TCP/IP + protocol. + It is designed to be a reliable "back-end" tool that can be + used directly or easily driven by other programs and + scripts. At the same time, it is a feature-rich network + debugging and exploration tool, since it can create almost + any kind of connection you would need and has several + interesting built-in capabilities. http://netcat.sourceforge.net/download.php diff --git a/package/netplug/S29netplug b/package/netplug/S29netplug index d3df9ddff5..66459061b3 100755 --- a/package/netplug/S29netplug +++ b/package/netplug/S29netplug @@ -22,8 +22,8 @@ elif [ -f /etc/rc.d/init.d/functions ]; then fi # Source networking configuration. -if [ -f /etc/sysconfig/network ]; then - . /etc/sysconfig/network +if [ -f /etc/default/network ]; then + . /etc/default/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 @@ -32,10 +32,8 @@ elif [ ! -f /etc/network/interfaces ]; then exit 0 fi -[ -x /sbin/netplugd ] || exit 0 - -if [ -f /etc/sysconfig/netplugd ]; then - . /etc/sysconfig/netplugd +if [ -f /etc/default/netplugd ]; then + . /etc/default/netplugd fi # See how we were called. @@ -43,7 +41,7 @@ case "$1" in start) # Start daemon. printf "Starting network plug daemon: " - start-stop-daemon -S -q -p /var/run/netplugd.pid -x /sbin/netplugd ${NETPLUGDARGS} + start-stop-daemon -S -q -x /sbin/netplugd -- -p /var/run/netplugd.pid ${NETPLUGDARGS} RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/netplugd @@ -51,7 +49,7 @@ case "$1" in stop) # Stop daemon. printf "Shutting down network plug daemon: " - start-stop-daemon -K -n netplugd + start-stop-daemon -K -q -p /var/run/netplugd.pid RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/netplugd diff --git a/package/netsniff-ng/0001-flowtop-take-PKG_CONFIG-into-account-for-libnetfilte.patch b/package/netsniff-ng/0001-flowtop-take-PKG_CONFIG-into-account-for-libnetfilte.patch deleted file mode 100644 index bd7619ba7a..0000000000 --- a/package/netsniff-ng/0001-flowtop-take-PKG_CONFIG-into-account-for-libnetfilte.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 2d38d16d86db941fcb4d4fb8ad761e7e163c01e5 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Sun, 16 Apr 2017 07:41:38 +0300 -Subject: [PATCH] flowtop: take PKG_CONFIG into account for - libnetfilter_conntrack - -Use $PKG_CONFIG to determine the linker flags for libnetfilter_conntrack. This -fixes static link failure like the following: - - LD flowtop -.../usr/x86_64-buildroot-linux-musl/sysroot/usr/lib/../lib64/libnetfilter_conntrack.a(main.o): In function `nfct_open_nfnl': -main.c:(.text+0x52): undefined reference to `nfnl_subsys_open' -main.c:(.text+0x69): undefined reference to `nfnl_subsys_close' -main.c:(.text+0x87): undefined reference to `nfnl_subsys_open' -main.c:(.text+0xa3): undefined reference to `nfnl_subsys_close' -.../usr/x86_64-buildroot-linux-musl/sysroot/usr/lib/../lib64/libnetfilter_conntrack.a(main.o): In function `nfct_open': -main.c:(.text+0xc9): undefined reference to `nfnl_open' -main.c:(.text+0xf0): undefined reference to `nfnl_close' -... - -Signed-off-by: Baruch Siach ---- - -Patch status: sent upstream -http://www.mail-archive.com/netsniff-ng%40googlegroups.com/msg01971.html - - flowtop/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/flowtop/Makefile b/flowtop/Makefile -index effe7eb33fc3..e001ce8aaf13 100644 ---- a/flowtop/Makefile -+++ b/flowtop/Makefile -@@ -1,5 +1,5 @@ - flowtop-libs = -lurcu \ -- -lnetfilter_conntrack \ -+ $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --libs libnetfilter_conntrack 2> /dev/null ) \ - $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --libs ncurses 2> /dev/null \ - || echo '-lncurses') \ - $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --libs tinfo 2> /dev/null ) \ --- -2.11.0 - diff --git a/package/netsniff-ng/0002-proc.h-add-missing-headers.patch b/package/netsniff-ng/0002-proc.h-add-missing-headers.patch deleted file mode 100644 index 6968445659..0000000000 --- a/package/netsniff-ng/0002-proc.h-add-missing-headers.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 28773ac06d0e0f00d6a56973eacae4f5df9e8cc2 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Sun, 16 Apr 2017 08:11:20 +0300 -Subject: [PATCH] proc.h: add missing headers - -ino_t and pid_t require stat.h and types.h, respectively. Fixes the following -build failure with musl libc: - -In file included from cpp.c:7:0: -proc.h:11:31: error: unknown type name ‘ino_t’ - extern int proc_find_by_inode(ino_t ino, char *cmdline, size_t len, pid_t *pid); - ^ -proc.h:11:69: error: unknown type name ‘pid_t’ - extern int proc_find_by_inode(ino_t ino, char *cmdline, size_t len, pid_t *pid); - ^ -proc.h:12:25: error: unknown type name ‘pid_t’ - extern bool proc_exists(pid_t pid); - ^ - -Signed-off-by: Baruch Siach ---- - -Patch status: sent upstream -http://www.mail-archive.com/netsniff-ng%40googlegroups.com/msg01972.html - - proc.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/proc.h b/proc.h -index 4c34a6412a81..2ce0c6e7a932 100644 ---- a/proc.h -+++ b/proc.h -@@ -2,6 +2,8 @@ - #define PROC_H - - #include -+#include -+#include - - extern void cpu_affinity(int cpu); - extern int set_proc_prio(int prio); --- -2.11.0 - diff --git a/package/netsniff-ng/0003-pcap_io.h-fix-if_arp.h-musl-libc-kernel-headers-conf.patch b/package/netsniff-ng/0003-pcap_io.h-fix-if_arp.h-musl-libc-kernel-headers-conf.patch deleted file mode 100644 index 23b02848e2..0000000000 --- a/package/netsniff-ng/0003-pcap_io.h-fix-if_arp.h-musl-libc-kernel-headers-conf.patch +++ /dev/null @@ -1,62 +0,0 @@ -From f937049ea82ac74635861b3a780d1372f681cc6b Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Sun, 16 Apr 2017 08:18:10 +0300 -Subject: [PATCH] pcap_io.h: fix if_arp.h musl libc/kernel headers conflict - -Use libc provided arp definitions to avoid build failure with musl libc: - -In file included from pcap_io.h:19:0, - from trafgen.c:59: -.../usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/if_arp.h:113:8: error: redefinition of ‘struct arpreq’ - struct arpreq { - ^ -In file included from .../usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netinet/if_ether.h:111:0, - from .../usr/x86_64-buildroot-linux-musl/sysroot/usr/include/net/ethernet.h:10, - from trafgen.c:23: -.../usr/x86_64-buildroot-linux-musl/sysroot/usr/include/net/if_arp.h:99:8: note: originally defined here - struct arpreq { - ^ - -Add a local definition of the ARPHRD_CAN macro that glibc does not provide. - -Signed-off-by: Baruch Siach ---- - -Patch status: sent upstream -http://www.mail-archive.com/netsniff-ng%40googlegroups.com/msg01974.html - - built_in.h | 4 ++++ - pcap_io.h | 2 +- - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/built_in.h b/built_in.h -index d10579abd689..fa8af60d6029 100644 ---- a/built_in.h -+++ b/built_in.h -@@ -382,6 +382,10 @@ static inline u64 cpu_to_le64(u64 val) - # define PACKET_QDISC_BYPASS 20 - #endif - -+#ifndef ARPHRD_CAN -+# define ARPHRD_CAN 280 -+#endif -+ - #ifndef ARPHRD_IEEE802154_MONITOR - # define ARPHRD_IEEE802154_MONITOR 805 - #endif -diff --git a/pcap_io.h b/pcap_io.h -index 3d70b217ada6..088858e89ccd 100644 ---- a/pcap_io.h -+++ b/pcap_io.h -@@ -16,7 +16,7 @@ - #include - #include - #include --#include -+#include - - #include "built_in.h" - #include "die.h" --- -2.11.0 - diff --git a/package/netsniff-ng/0004-staging-compilation-fix-with-new-gcc.patch b/package/netsniff-ng/0004-staging-compilation-fix-with-new-gcc.patch deleted file mode 100644 index fce604e6c6..0000000000 --- a/package/netsniff-ng/0004-staging-compilation-fix-with-new-gcc.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 551aa0ee996132e443b5d12cbb6f114ac9aabcd3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= -Date: Mon, 3 Jul 2017 18:24:32 +0200 -Subject: [PATCH] staging: compilation fix with new gcc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Jaroslav Škarvada - -Upstream patch 551aa0ee996132e443b5d12cbb6f114ac9aabcd3 -Signed-off-by: Romain Naour ---- - staging/mz.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/staging/mz.h b/staging/mz.h -index 5ed05a7..aa2c36f 100644 ---- a/staging/mz.h -+++ b/staging/mz.h -@@ -40,6 +40,7 @@ - #include - #include - #include -+#include - - extern int verbose_level; - --- -2.9.5 - diff --git a/package/netsniff-ng/netsniff-ng.hash b/package/netsniff-ng/netsniff-ng.hash index fea2dada14..576e000878 100644 --- a/package/netsniff-ng/netsniff-ng.hash +++ b/package/netsniff-ng/netsniff-ng.hash @@ -1,2 +1,2 @@ # Locally calculated after checking signature -sha256 f8e0094f77de8a70f91240bfa77137d5631ac48138cb29fcf962c0bcbe81f04a netsniff-ng-0.6.3.tar.xz +sha256 fd67150e0954b7079b6d0c72fb0ef1f34091357ad559b45c68e8752376bdc307 netsniff-ng-0.6.4.tar.xz diff --git a/package/netsniff-ng/netsniff-ng.mk b/package/netsniff-ng/netsniff-ng.mk index 73c840cf0f..fb1c2c7a4e 100644 --- a/package/netsniff-ng/netsniff-ng.mk +++ b/package/netsniff-ng/netsniff-ng.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETSNIFF_NG_VERSION = 0.6.3 +NETSNIFF_NG_VERSION = 0.6.4 NETSNIFF_NG_SITE = http://pub.netsniff-ng.org/netsniff-ng NETSNIFF_NG_SOURCE = netsniff-ng-$(NETSNIFF_NG_VERSION).tar.xz NETSNIFF_NG_LICENSE = GPL-2.0 diff --git a/package/netsnmp/0001-configure-Eliminate-the-hard-coded-libnl-3-include-p.patch b/package/netsnmp/0001-configure-Eliminate-the-hard-coded-libnl-3-include-p.patch deleted file mode 100644 index cf0592233e..0000000000 --- a/package/netsnmp/0001-configure-Eliminate-the-hard-coded-libnl-3-include-p.patch +++ /dev/null @@ -1,300 +0,0 @@ -From 57d6c3d36045aab8957ffeb7324728bf17faf8bd Mon Sep 17 00:00:00 2001 -From: Bart Van Assche -Date: Mon, 2 Feb 2015 20:31:29 +0100 -Subject: [PATCH] configure: Eliminate the hard-coded libnl-3 include path - -See also commit 3dde41998625fe0e24119a2e1f4509ba3ba2fd9a. - -(cherry picked from commit 852dcd644cfe4cfc7177649eaec163d6221f2be1) - -Original commit included modifications to configure script. -Do not keep these modifications, since they caused lots of conflicts, and -configure script is meant to be automatically generated. - -Signed-off-by: Julien Floret - -Conflicts: - configure ---- - aclocal.m4 | 1 + - configure.d/config_os_libs2 | 30 ++++++- - m4/pkg.m4 | 214 ++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 243 insertions(+), 2 deletions(-) - create mode 100644 m4/pkg.m4 - -diff --git a/aclocal.m4 b/aclocal.m4 -index cd80c7486f2f..45e3608ed480 100644 ---- a/aclocal.m4 -+++ b/aclocal.m4 -@@ -22,3 +22,4 @@ m4_include([m4/ltversion.m4]) - m4_include([m4/lt~obsolete.m4]) - m4_include([m4/netsnmp_arg.m4]) - m4_include([m4/netsnmp_search_libs.m4]) -+m4_include([m4/pkg.m4]) -diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 -index 47491e24ce0a..10bd414b879e 100644 ---- a/configure.d/config_os_libs2 -+++ b/configure.d/config_os_libs2 -@@ -225,11 +225,37 @@ fi - if test "x$with_nl" != "xno"; then - case $target_os in - linux*) # Check for libnl (linux) -+ # The test below verifies whether the libnl-3 package been installed. -+ # This test works as follows: -+ # - If pkg-config was not installed at the time autogen.sh was run, -+ # the definition of the PKG_CHECK_EXISTS() macro will not be found by -+ # autogen.sh. Augogen.sh will generate a configure script that prints -+ # a warning about pkg-config and proceeds as if libnl-3 has not been -+ # installed. -+ # - If pkg-config was installed at the time autogen.sh was run, -+ # the generated configure script will try to detect the presence of -+ # the libnl-3 library by looking up compile and linker flags in the -+ # file called libnl-3.pc. -+ # - pkg-config settings can be overridden via the configure variables -+ # LIBNL3_CFLAGS and LIBNL3_LIBS (added by the pkg-config m4 macro's to -+ # the configure script -- see also ./configure --help). -+ # - The LIBNL3_CFLAGS and LIBNL3_LIBS configure variables can be used -+ # even if the pkg-config executable is not present on the system on -+ # which the configure script is run. -+ ifdef( -+ [PKG_CHECK_EXISTS], -+ [PKG_CHECK_EXISTS([libnl-3.0], -+ [PKG_CHECK_MODULES([LIBNL3], [libnl-3.0])]) -+ ], -+ AC_MSG_WARN([pkg-config has not been installed or is too old.]) -+ AC_MSG_WARN([Detection of libnl-3.0 will be skipped.]) -+ ) -+ - netsnmp_save_CPPFLAGS="$CPPFLAGS" -- CPPFLAGS="-I/usr/include/libnl3 $CPPFLAGS" -+ CPPFLAGS="${LIBNL3_CFLAGS} $CPPFLAGS" - NETSNMP_SEARCH_LIBS(nl_connect, nl-3, - [AC_CHECK_HEADERS(netlink/netlink.h) -- EXTERNAL_MIBGROUP_INCLUDES="$EXTERNAL_MIBGROUP_INCLUDES -I/usr/include/libnl3"], -+ EXTERNAL_MIBGROUP_INCLUDES="$EXTERNAL_MIBGROUP_INCLUDES ${LIBNL3_CFLAGS}"], - [CPPFLAGS="$netsnmp_save_CPPFLAGS"], [], [], [LMIBLIBS]) - if test "x$ac_cv_header_netlink_netlink_h" != xyes; then - NETSNMP_SEARCH_LIBS(nl_connect, nl, [ -diff --git a/m4/pkg.m4 b/m4/pkg.m4 -new file mode 100644 -index 000000000000..c5b26b52e6cd ---- /dev/null -+++ b/m4/pkg.m4 -@@ -0,0 +1,214 @@ -+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -+# serial 1 (pkg-config-0.24) -+# -+# Copyright © 2004 Scott James Remnant . -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, but -+# WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+# General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+# -+# As a special exception to the GNU General Public License, if you -+# distribute this file as part of a program that contains a -+# configuration script generated by Autoconf, you may include it under -+# the same distribution terms that you use for the rest of that program. -+ -+# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -+# ---------------------------------- -+AC_DEFUN([PKG_PROG_PKG_CONFIG], -+[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) -+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) -+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) -+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) -+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) -+ -+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then -+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -+fi -+if test -n "$PKG_CONFIG"; then -+ _pkg_min_version=m4_default([$1], [0.9.0]) -+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) -+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then -+ AC_MSG_RESULT([yes]) -+ else -+ AC_MSG_RESULT([no]) -+ PKG_CONFIG="" -+ fi -+fi[]dnl -+])# PKG_PROG_PKG_CONFIG -+ -+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -+# -+# Check to see whether a particular set of modules exists. Similar -+# to PKG_CHECK_MODULES(), but does not set variables or print errors. -+# -+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -+# only at the first occurence in configure.ac, so if the first place -+# it's called might be skipped (such as if it is within an "if", you -+# have to call PKG_CHECK_EXISTS manually -+# -------------------------------------------------------------- -+AC_DEFUN([PKG_CHECK_EXISTS], -+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -+if test -n "$PKG_CONFIG" && \ -+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then -+ m4_default([$2], [:]) -+m4_ifvaln([$3], [else -+ $3])dnl -+fi]) -+ -+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -+# --------------------------------------------- -+m4_define([_PKG_CONFIG], -+[if test -n "$$1"; then -+ pkg_cv_[]$1="$$1" -+ elif test -n "$PKG_CONFIG"; then -+ PKG_CHECK_EXISTS([$3], -+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` -+ test "x$?" != "x0" && pkg_failed=yes ], -+ [pkg_failed=yes]) -+ else -+ pkg_failed=untried -+fi[]dnl -+])# _PKG_CONFIG -+ -+# _PKG_SHORT_ERRORS_SUPPORTED -+# ----------------------------- -+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], -+[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then -+ _pkg_short_errors_supported=yes -+else -+ _pkg_short_errors_supported=no -+fi[]dnl -+])# _PKG_SHORT_ERRORS_SUPPORTED -+ -+ -+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -+# [ACTION-IF-NOT-FOUND]) -+# -+# -+# Note that if there is a possibility the first call to -+# PKG_CHECK_MODULES might not happen, you should be sure to include an -+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -+# -+# -+# -------------------------------------------------------------- -+AC_DEFUN([PKG_CHECK_MODULES], -+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl -+ -+pkg_failed=no -+AC_MSG_CHECKING([for $1]) -+ -+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) -+_PKG_CONFIG([$1][_LIBS], [libs], [$2]) -+ -+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS -+and $1[]_LIBS to avoid the need to call pkg-config. -+See the pkg-config man page for more details.]) -+ -+if test $pkg_failed = yes; then -+ AC_MSG_RESULT([no]) -+ _PKG_SHORT_ERRORS_SUPPORTED -+ if test $_pkg_short_errors_supported = yes; then -+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` -+ else -+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` -+ fi -+ # Put the nasty error message in config.log where it belongs -+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD -+ -+ m4_default([$4], [AC_MSG_ERROR( -+[Package requirements ($2) were not met: -+ -+$$1_PKG_ERRORS -+ -+Consider adjusting the PKG_CONFIG_PATH environment variable if you -+installed software in a non-standard prefix. -+ -+_PKG_TEXT])[]dnl -+ ]) -+elif test $pkg_failed = untried; then -+ AC_MSG_RESULT([no]) -+ m4_default([$4], [AC_MSG_FAILURE( -+[The pkg-config script could not be found or is too old. Make sure it -+is in your PATH or set the PKG_CONFIG environment variable to the full -+path to pkg-config. -+ -+_PKG_TEXT -+ -+To get pkg-config, see .])[]dnl -+ ]) -+else -+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS -+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS -+ AC_MSG_RESULT([yes]) -+ $3 -+fi[]dnl -+])# PKG_CHECK_MODULES -+ -+ -+# PKG_INSTALLDIR(DIRECTORY) -+# ------------------------- -+# Substitutes the variable pkgconfigdir as the location where a module -+# should install pkg-config .pc files. By default the directory is -+# $libdir/pkgconfig, but the default can be changed by passing -+# DIRECTORY. The user can override through the --with-pkgconfigdir -+# parameter. -+AC_DEFUN([PKG_INSTALLDIR], -+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) -+m4_pushdef([pkg_description], -+ [pkg-config installation directory @<:@]pkg_default[@:>@]) -+AC_ARG_WITH([pkgconfigdir], -+ [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, -+ [with_pkgconfigdir=]pkg_default) -+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) -+m4_popdef([pkg_default]) -+m4_popdef([pkg_description]) -+]) dnl PKG_INSTALLDIR -+ -+ -+# PKG_NOARCH_INSTALLDIR(DIRECTORY) -+# ------------------------- -+# Substitutes the variable noarch_pkgconfigdir as the location where a -+# module should install arch-independent pkg-config .pc files. By -+# default the directory is $datadir/pkgconfig, but the default can be -+# changed by passing DIRECTORY. The user can override through the -+# --with-noarch-pkgconfigdir parameter. -+AC_DEFUN([PKG_NOARCH_INSTALLDIR], -+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) -+m4_pushdef([pkg_description], -+ [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) -+AC_ARG_WITH([noarch-pkgconfigdir], -+ [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, -+ [with_noarch_pkgconfigdir=]pkg_default) -+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) -+m4_popdef([pkg_default]) -+m4_popdef([pkg_description]) -+]) dnl PKG_NOARCH_INSTALLDIR -+ -+ -+# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, -+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -+# ------------------------------------------- -+# Retrieves the value of the pkg-config variable for the given module. -+AC_DEFUN([PKG_CHECK_VAR], -+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl -+ -+_PKG_CONFIG([$1], [variable="][$3]["], [$2]) -+AS_VAR_COPY([$1], [pkg_cv_][$1]) -+ -+AS_VAR_IF([$1], [""], [$5], [$4])dnl -+])# PKG_CHECK_VAR --- -2.1.0 - diff --git a/package/netsnmp/0001-configure-static-linking-Fix-SSL-checks.patch b/package/netsnmp/0001-configure-static-linking-Fix-SSL-checks.patch new file mode 100644 index 0000000000..8431d46868 --- /dev/null +++ b/package/netsnmp/0001-configure-static-linking-Fix-SSL-checks.patch @@ -0,0 +1,142 @@ +From bd59be8e4e339870a1400f6866a7b73ca11f6460 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 12 Sep 2018 20:16:39 +0200 +Subject: [PATCH 1/3] configure, static linking: Fix SSL checks + +During checking of DTLS_method, the stub program is linked only with -ssl +libssl.a lacks some function from -lcrypto: +RAND_*() +ERR_*() +BUF_MEM_*() +etc. +and -lz: +- inflate() +- deflate() + +Append -lcrypto and -lz to LIBS variable when checking DTLS_method. + +See also https://sourceforge.net/p/net-snmp/patches/1374/. + +Signed-off-by: Giulio Benetti +[bvanassche: Edited subject / rewrote this patch] +--- + configure | 52 ++++++++++++++++++++++++++++++++++--- + configure.d/config_os_libs2 | 14 +++++++--- + 2 files changed, 58 insertions(+), 8 deletions(-) + +diff --git a/configure b/configure +index 6504a8e58..1116cecaa 100755 +--- a/configure ++++ b/configure +@@ -23228,16 +23228,60 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_EVP_md5" >&5 + $as_echo "$ac_cv_lib_crypto_EVP_md5" >&6; } + if test "x$ac_cv_lib_crypto_EVP_md5" = xyes; then : +- CRYPTO="crypto" ++ CRYPTO="crypto"; LIBCRYPTO="-lcrypto" ++else ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVP_md5 in -lcrypto" >&5 ++$as_echo_n "checking for EVP_md5 in -lcrypto... " >&6; } ++if ${ac_cv_lib_crypto_EVP_md5+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lcrypto -lz $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char EVP_md5 (); ++int ++main () ++{ ++return EVP_md5 (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_crypto_EVP_md5=yes ++else ++ ac_cv_lib_crypto_EVP_md5=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_EVP_md5" >&5 ++$as_echo "$ac_cv_lib_crypto_EVP_md5" >&6; } ++if test "x$ac_cv_lib_crypto_EVP_md5" = xyes; then : ++ CRYPTO="crypto"; LIBCRYPTO="-lcrypto -lz" + fi + +- fi ++ ++fi ++ ++ else ++ LIBCRYPTO="-l${CRYPTO}" ++ fi + + if test x$CRYPTO != x; then + + $as_echo "#define HAVE_LIBCRYPTO 1" >>confdefs.h + +- LIBCRYPTO="-l${CRYPTO}" + netsnmp_save_LIBS="$LIBS" + LIBS="$LIBCRYPTO" + for ac_func in AES_cfb128_encrypt EVP_sha224 EVP_sha384 EVP_MD_CTX_create EVP_MD_CTX_destroy EVP_MD_CTX_new EVP_MD_CTX_free DH_set0_pqg DH_get0_pqg DH_get0_key ASN1_STRING_get0_data X509_NAME_ENTRY_get_object X509_NAME_ENTRY_get_data X509_get_signature_nid +@@ -23291,7 +23335,7 @@ _ACEOF + LIBS="$netsnmp_save_LIBS" + fi + netsnmp_save_LIBS="$LIBS" +- LIBS="-lssl" ++ LIBS="-lssl $LIBCRYPTO" + for ac_func in TLS_method TLSv1_method DTLS_method DTLSv1_method SSL_library_init SSL_load_error_strings + do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 +index 4a1ad1551..75214cfff 100644 +--- a/configure.d/config_os_libs2 ++++ b/configure.d/config_os_libs2 +@@ -306,13 +306,19 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then + LIBS="$netsnmp_save_LIBS" + + if test x$CRYPTO = x; then +- AC_CHECK_LIB([crypto], [EVP_md5], [CRYPTO="crypto"]) +- fi ++ AC_CHECK_LIB([crypto], [EVP_md5], ++ [CRYPTO="crypto"; LIBCRYPTO="-lcrypto"], [ ++ AC_CHECK_LIB([crypto], [EVP_md5], ++ [CRYPTO="crypto"; LIBCRYPTO="-lcrypto -lz"], [], ++ [-lz]) ++ ]) ++ else ++ LIBCRYPTO="-l${CRYPTO}" ++ fi + + if test x$CRYPTO != x; then + AC_DEFINE(HAVE_LIBCRYPTO, 1, + [Define to 1 if you have the OpenSSL library (-lcrypto or -leay32).]) +- LIBCRYPTO="-l${CRYPTO}" + netsnmp_save_LIBS="$LIBS" + LIBS="$LIBCRYPTO" + AC_CHECK_FUNCS([AES_cfb128_encrypt]dnl +@@ -342,7 +348,7 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then + LIBS="$netsnmp_save_LIBS" + fi + netsnmp_save_LIBS="$LIBS" +- LIBS="-lssl" ++ LIBS="-lssl $LIBCRYPTO" + AC_CHECK_FUNCS([TLS_method TLSv1_method DTLS_method DTLSv1_method]dnl + [SSL_library_init SSL_load_error_strings]) + LIBS="$netsnmp_save_LIBS" +-- +2.17.1 + diff --git a/package/netsnmp/0002-configure-Fix-lcrypto-lz-test.patch b/package/netsnmp/0002-configure-Fix-lcrypto-lz-test.patch new file mode 100644 index 0000000000..3ec0c2278f --- /dev/null +++ b/package/netsnmp/0002-configure-Fix-lcrypto-lz-test.patch @@ -0,0 +1,41 @@ +From d8694929b12b47febb0f7f43f46041387874fe52 Mon Sep 17 00:00:00 2001 +From: Bart Van Assche +Date: Mon, 17 Sep 2018 07:33:34 -0700 +Subject: [PATCH 2/3] configure: Fix -lcrypto -lz test + +Avoid that the second crypto library test uses the cached result from +the first test by explicitly clearing the cached test result. + +Signed-off-by: Giulio Benetti +--- + configure | 1 + + configure.d/config_os_libs2 | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/configure b/configure +index 1116cecaa..33b8c93e5 100755 +--- a/configure ++++ b/configure +@@ -23231,6 +23231,7 @@ if test "x$ac_cv_lib_crypto_EVP_md5" = xyes; then : + CRYPTO="crypto"; LIBCRYPTO="-lcrypto" + else + ++ unset ac_cv_lib_crypto_EVP_md5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVP_md5 in -lcrypto" >&5 + $as_echo_n "checking for EVP_md5 in -lcrypto... " >&6; } + if ${ac_cv_lib_crypto_EVP_md5+:} false; then : +diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 +index 75214cfff..81788a209 100644 +--- a/configure.d/config_os_libs2 ++++ b/configure.d/config_os_libs2 +@@ -308,6 +308,7 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then + if test x$CRYPTO = x; then + AC_CHECK_LIB([crypto], [EVP_md5], + [CRYPTO="crypto"; LIBCRYPTO="-lcrypto"], [ ++ unset ac_cv_lib_crypto_EVP_md5 + AC_CHECK_LIB([crypto], [EVP_md5], + [CRYPTO="crypto"; LIBCRYPTO="-lcrypto -lz"], [], + [-lz]) +-- +2.17.1 + diff --git a/package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch b/package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch new file mode 100644 index 0000000000..0829042128 --- /dev/null +++ b/package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch @@ -0,0 +1,39 @@ +From 8e273c688aa235ed9c68570a700d31596bac14df Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Mon, 15 Oct 2018 19:07:05 +0200 +Subject: [PATCH 1/2] configure: fix AC_CHECK_FUNCS(EVP_sha224 EVP_sha384 ...) + failure on static linking + +If building as static lib, AC_CHECK_FUNCS(EVP_sha224 EVP_sha384 ...) +fails due to missing -lz in $LIBS. +At the moment, $LIBS contains $LIBCRYPTO only discarding previous $LIBS +content. + +Add $LIBS to: +LIBS="$LIBCRYPTO" +as: +LIBS="$LIBCRYPTO $LIBS" +This way $LIBS will contain -lz at the end of linking command that in +static linking build is mandatory. + +Signed-off-by: Giulio Benetti +--- + configure.d/config_os_libs2 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 +index 81788a209..93044000b 100644 +--- a/configure.d/config_os_libs2 ++++ b/configure.d/config_os_libs2 +@@ -321,7 +321,7 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then + AC_DEFINE(HAVE_LIBCRYPTO, 1, + [Define to 1 if you have the OpenSSL library (-lcrypto or -leay32).]) + netsnmp_save_LIBS="$LIBS" +- LIBS="$LIBCRYPTO" ++ LIBS="$LIBCRYPTO $LIBS" + AC_CHECK_FUNCS([AES_cfb128_encrypt]dnl + [EVP_sha224 EVP_sha384 ]dnl + [EVP_MD_CTX_create EVP_MD_CTX_destroy]dnl +-- +2.17.1 + diff --git a/package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch b/package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch new file mode 100644 index 0000000000..a731f25761 --- /dev/null +++ b/package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch @@ -0,0 +1,39 @@ +From 1ab6e3fc3cf61fa5a7b7363e59095e868474524b Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Mon, 15 Oct 2018 19:34:26 +0200 +Subject: [PATCH 2/2] configure: fix AC_CHECK_FUNCS(TLS_method TLSv1_method + ...) failure on static linking + +If building as static lib, AC_CHECK_FUNCS(TLS_method TLSv1_method ...) +fails due to missing -lz in $LIBS. +At the moment, $LIBS contains "-lssl $LIBCRYPTO" only discarding +previous $LIBS content. + +Add $LIBS to: +LIBS="-lssl $LIBCRYPTO" +as: +LIBS="-lssl $LIBCRYPTO $LIBS" +This way $LIBS will contain -lz at the end of linking command that in +static linking build is mandatory. + +Signed-off-by: Giulio Benetti +--- + configure.d/config_os_libs2 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 +index 93044000b..c811c63ec 100644 +--- a/configure.d/config_os_libs2 ++++ b/configure.d/config_os_libs2 +@@ -349,7 +349,7 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then + LIBS="$netsnmp_save_LIBS" + fi + netsnmp_save_LIBS="$LIBS" +- LIBS="-lssl $LIBCRYPTO" ++ LIBS="-lssl $LIBCRYPTO $LIBS" + AC_CHECK_FUNCS([TLS_method TLSv1_method DTLS_method DTLSv1_method]dnl + [SSL_library_init SSL_load_error_strings]) + LIBS="$netsnmp_save_LIBS" +-- +2.17.1 + diff --git a/package/netsnmp/Config.in b/package/netsnmp/Config.in index 57cc6b93fd..f22e38b335 100644 --- a/package/netsnmp/Config.in +++ b/package/netsnmp/Config.in @@ -46,9 +46,9 @@ config BR2_PACKAGE_NETSNMP_ENABLE_DEBUGGING bool "Enable debugging code" help By default net-snmp is compiled without debugging support - (--disable-debugging). Enable this options if you need debugging - support, including the ability to log with DEBUGMSG(), - DEBUGMSGTL() and companion macros. + (--disable-debugging). Enable this options if you need + debugging support, including the ability to log with + DEBUGMSG(), DEBUGMSGTL() and companion macros. config BR2_PACKAGE_NETSNMP_OPENSSL_INTERNAL bool "Enable minimal internal OpenSSL code" diff --git a/package/netsnmp/netsnmp.hash b/package/netsnmp/netsnmp.hash index fc77926023..d05a7de9da 100644 --- a/package/netsnmp/netsnmp.hash +++ b/package/netsnmp/netsnmp.hash @@ -1,3 +1,6 @@ -# From http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.3/ -md5 d4a3459e1577d0efa8d96ca70a885e53 net-snmp-5.7.3.tar.gz -sha1 97dc25077257680815de44e34128d365c76bd839 net-snmp-5.7.3.tar.gz +# From http://sourceforge.net/projects/net-snmp/files/net-snmp/5.8/ +md5 63bfc65fbb86cdb616598df1aff6458a net-snmp-5.8.tar.gz +sha1 78f70731df9dcdb13fe8f60eb7d80d7583da4d2c net-snmp-5.8.tar.gz +# Locally computed +sha256 b2fc3500840ebe532734c4786b0da4ef0a5f67e51ef4c86b3345d697e4976adf net-snmp-5.8.tar.gz +sha256 ed869ea395a1f125819a56676385ab0557a21507764bf56f2943302011381e59 COPYING diff --git a/package/netsnmp/netsnmp.mk b/package/netsnmp/netsnmp.mk index 742fa6e3b3..65a3f16a4d 100644 --- a/package/netsnmp/netsnmp.mk +++ b/package/netsnmp/netsnmp.mk @@ -4,8 +4,8 @@ # ################################################################################ -NETSNMP_VERSION = 5.7.3 -NETSNMP_SITE = http://downloads.sourceforge.net/project/net-snmp/net-snmp/$(NETSNMP_VERSION) +NETSNMP_VERSION = 5.8 +NETSNMP_SITE = https://downloads.sourceforge.net/project/net-snmp/net-snmp/$(NETSNMP_VERSION) NETSNMP_SOURCE = net-snmp-$(NETSNMP_VERSION).tar.gz NETSNMP_LICENSE = Various BSD-like NETSNMP_LICENSE_FILES = COPYING diff --git a/package/nettle/Config.in b/package/nettle/Config.in index 55776216e4..4890970120 100644 --- a/package/nettle/Config.in +++ b/package/nettle/Config.in @@ -2,8 +2,9 @@ config BR2_PACKAGE_NETTLE bool "nettle" select BR2_PACKAGE_GMP help - Nettle is a cryptographic library that is designed to fit easily - in more or less any context: In crypto toolkits for object-oriented - languages, in applications like LSH or GNUPG, or even in kernel space + Nettle is a cryptographic library that is designed to fit + easily in more or less any context: In crypto toolkits for + object-oriented languages, in applications like LSH or + GNUPG, or even in kernel space http://www.lysator.liu.se/~nisse/nettle/ diff --git a/package/nettle/nettle.hash b/package/nettle/nettle.hash index cd911c0d13..473be1c2df 100644 --- a/package/nettle/nettle.hash +++ b/package/nettle/nettle.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature -sha256 46942627d5d0ca11720fec18d81fc38f7ef837ea4197c1f630e71ce0d470b11e nettle-3.3.tar.gz +# https://ftp.gnu.org/gnu/nettle/nettle-3.4.tar.gz.sig +sha256 ae7a42df026550b85daca8389b6a60ba6313b0567f374392e54918588a411e94 nettle-3.4.tar.gz +# Locally calculated +sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSERv3 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 diff --git a/package/nettle/nettle.mk b/package/nettle/nettle.mk index e5012d2bf0..9582815048 100644 --- a/package/nettle/nettle.mk +++ b/package/nettle/nettle.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETTLE_VERSION = 3.3 +NETTLE_VERSION = 3.4 NETTLE_SITE = http://www.lysator.liu.se/~nisse/archive NETTLE_DEPENDENCIES = gmp NETTLE_INSTALL_STAGING = YES diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in index 04bb651325..ca508185f0 100644 --- a/package/network-manager/Config.in +++ b/package/network-manager/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_NETWORK_MANAGER - bool "networkmanager" + bool "network-manager" depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt depends on !BR2_STATIC_LIBS # gnutls depends on BR2_USE_MMU # dbus @@ -21,12 +21,12 @@ config BR2_PACKAGE_NETWORK_MANAGER select BR2_PACKAGE_READLINE select BR2_PACKAGE_LIBNDP help - NetworkManager is a set of co-operative tools that make networking - simple and straightforward. Whether WiFi, wired, 3G, or Bluetooth, - NetworkManager allows you to quickly move from one network to - another: once a network has been configured and joined once, it - can be detected and re-joined automatically the next time it's - available. + NetworkManager is a set of co-operative tools that make + networking simple and straightforward. Whether WiFi, wired, + 3G, or Bluetooth, NetworkManager allows you to quickly move + from one network to another: once a network has been + configured and joined once, it can be detected and re-joined + automatically the next time it's available. http://projects.gnome.org/NetworkManager/ @@ -56,10 +56,16 @@ config BR2_PACKAGE_NETWORK_MANAGER_PPPD comment "pppd support needs a glibc or uClibc toolchain" depends on BR2_TOOLCHAIN_USES_MUSL +config BR2_PACKAGE_NETWORK_MANAGER_OVS + bool "OpenVSwitch support" + select BR2_PACKAGE_JANSSON + help + This option enables support for OpenVSwitch + endif -comment "NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.7, dynamic library" +comment "NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.2, dynamic library" depends on BR2_USE_MMU depends on !BR2_PACKAGE_HAS_UDEV || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 || \ !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS diff --git a/package/network-manager/network-manager.hash b/package/network-manager/network-manager.hash index 3262ad3b00..8fedc64729 100644 --- a/package/network-manager/network-manager.hash +++ b/package/network-manager/network-manager.hash @@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/1.8/NetworkManager-1.8.4.sha256sum -sha256 625e2eb36386dcae599075226200140d010f213b47f7202d83b3b1a202029212 NetworkManager-1.8.4.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/1.10/NetworkManager-1.10.2.sha256sum +sha256 169c34f50770e3c96b431f7d2cff654455246f2e6ccd46eccfb4454d4595625b NetworkManager-1.10.2.tar.xz diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk index caf462e26e..a520aad9c0 100644 --- a/package/network-manager/network-manager.mk +++ b/package/network-manager/network-manager.mk @@ -4,8 +4,8 @@ # ################################################################################ -NETWORK_MANAGER_VERSION_MAJOR = 1.8 -NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).4 +NETWORK_MANAGER_VERSION_MAJOR = 1.10 +NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).2 NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.xz NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/$(NETWORK_MANAGER_VERSION_MAJOR) NETWORK_MANAGER_INSTALL_STAGING = YES @@ -75,6 +75,13 @@ ifeq ($(BR2_PACKAGE_DHCPCD),y) NETWORK_MANAGER_CONF_OPTS += --with-dhcpcd=/sbin/dhcpcd endif +ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_OVS),y) +NETWORK_MANAGER_CONF_OPTS += --enable-ovs +NETWORK_MANAGER_DEPENDENCIES += jansson +else +NETWORK_MANAGER_CONF_OPTS += --disable-ovs +endif + # uClibc by default doesn't have backtrace support, so don't use it ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) NETWORK_MANAGER_CONF_OPTS += --disable-crashtrace diff --git a/package/newt/Config.in b/package/newt/Config.in index c59af1cd19..42a9eca729 100644 --- a/package/newt/Config.in +++ b/package/newt/Config.in @@ -6,7 +6,8 @@ config BR2_PACKAGE_NEWT select BR2_PACKAGE_SLANG select BR2_PACKAGE_POPT help - Programming library for color text mode, widget based user interfaces. + Programming library for color text mode, widget based user + interfaces. http://www.redhat.com/ diff --git a/package/nfs-utils/Config.in b/package/nfs-utils/Config.in index 4e139363fc..055b711f0d 100644 --- a/package/nfs-utils/Config.in +++ b/package/nfs-utils/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_NFS_UTILS help The NFS Linux kernel server. - http://sourceforge.net/projects/nfs + http://linux-nfs.org/ if BR2_PACKAGE_NFS_UTILS diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk index 26112d69f2..9fa7ae200b 100644 --- a/package/nfs-utils/nfs-utils.mk +++ b/package/nfs-utils/nfs-utils.mk @@ -24,6 +24,20 @@ NFS_UTILS_CONF_OPTS = \ --with-statedir=/run/nfs \ --with-rpcgen=internal +HOST_NFS_UTILS_CONF_OPTS = \ + --disable-nfsv4 \ + --disable-nfsv41 \ + --disable-gss \ + --disable-uuid \ + --disable-ipv6 \ + --without-tcp-wrappers \ + --with-statedir=/run/nfs \ + --disable-caps \ + --disable-tirpc \ + --without-systemd \ + --with-rpcgen=internal +HOST_NFS_UTILS_DEPENDENCIES = host-pkgconf host-libtirpc + NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPCDEBUG) += usr/sbin/rpcdebug NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_LOCKD) += usr/sbin/rpc.lockd NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_RQUOTAD) += usr/sbin/rpc.rquotad @@ -89,4 +103,13 @@ endef # nfsiostat is interpreted python, so remove it unless it's in the target NFS_UTILS_POST_INSTALL_TARGET_HOOKS += $(if $(BR2_PACKAGE_PYTHON),,NFS_UTILS_REMOVE_NFSIOSTAT) +define HOST_NFS_UTILS_BUILD_CMDS + $(MAKE) -C $(@D)/tools/rpcgen +endef + +define HOST_NFS_UTILS_INSTALL_CMDS + $(INSTALL) -D -m 0755 $(@D)/tools/rpcgen/rpcgen $(HOST_DIR)/bin/rpcgen +endef + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/nftables/0001-src-fix-build-with-older-glibc.patch b/package/nftables/0001-src-fix-build-with-older-glibc.patch new file mode 100644 index 0000000000..d1ba295306 --- /dev/null +++ b/package/nftables/0001-src-fix-build-with-older-glibc.patch @@ -0,0 +1,38 @@ +From 381eaa40735385a1a60e5ab0a7daf4bb847fc2ab Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 9 Feb 2018 14:42:31 +0200 +Subject: [PATCH] src: fix build with older glibc + +glibc before 2.19 missed the definition of IPPROTO_MH. This leads to +build failure: + +parser_bison.y: In function 'nft_parse': +parser_bison.y:3793:21: error: 'IPPROTO_MH' undeclared (first use in this function) + | MH { $$ = IPPROTO_MH; } + ^ + +Since we have a local definition of IPPROTO_MH in headers.h use that to +fix the build. + +Signed-off-by: Baruch Siach +--- +Upstream status: https://marc.info/?l=netfilter-devel&m=151818061103886&w=2 + + src/parser_bison.y | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/parser_bison.y b/src/parser_bison.y +index 2e79109f4da3..578bfdc10429 100644 +--- a/src/parser_bison.y ++++ b/src/parser_bison.y +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.15.1 + diff --git a/package/nftables/Config.in b/package/nftables/Config.in index 7c0abe0daf..6452ab4f52 100644 --- a/package/nftables/Config.in +++ b/package/nftables/Config.in @@ -8,9 +8,9 @@ config BR2_PACKAGE_NFTABLES help nftables is the project that aims to replace the existing {ip,ip6,arp,eb}tables framework. - Basically, this project provides a new packet filtering framework, - a new userspace utility and also a compatibility layer - for {ip,ip6}tables. + Basically, this project provides a new packet filtering + framework, a new userspace utility and also a compatibility + layer for {ip,ip6}tables. http://www.netfilter.org/projects/nftables/index.html diff --git a/package/nftables/nftables.hash b/package/nftables/nftables.hash index a743476ae9..d6ccf7b479 100644 --- a/package/nftables/nftables.hash +++ b/package/nftables/nftables.hash @@ -1,2 +1,6 @@ -# From http://www.netfilter.org/projects/nftables/downloads.html#nftables-0.7 -sha1 c003fa8b63b1b44c52de345a4d84487d81865a98 nftables-0.7.tar.bz2 +# From http://www.netfilter.org/projects/nftables/downloads.html +sha1 51fd436845718f1221ee198128656ef9055c2588 nftables-0.8.1.tar.bz2 +# Locally calculated after checking pgp signature +# http://www.netfilter.org/projects/nftables/files/nftables-0.8.1.tar.bz2.sig +sha256 8aead66cce70d68c70e4be917813abcbcf62811ee6de4c7761d0e34391772fc4 nftables-0.8.1.tar.bz2 +sha256 c17bc4fa5b2434c6f283ffcb2312e5bf3c7cdf5787b79505f094d8de734ac53e COPYING diff --git a/package/nftables/nftables.mk b/package/nftables/nftables.mk index d1e605565e..329b9871fe 100644 --- a/package/nftables/nftables.mk +++ b/package/nftables/nftables.mk @@ -4,7 +4,7 @@ # ################################################################################ -NFTABLES_VERSION = 0.7 +NFTABLES_VERSION = 0.8.1 NFTABLES_SOURCE = nftables-$(NFTABLES_VERSION).tar.bz2 NFTABLES_SITE = http://www.netfilter.org/projects/nftables/files NFTABLES_DEPENDENCIES = gmp libmnl libnftnl host-bison host-flex \ @@ -22,9 +22,6 @@ endif ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_LIBNFTNL_JSON),yy) NFTABLES_LIBS += -ljansson -lm endif -ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_LIBNFTNL_XML),yy) -NFTABLES_LIBS += -lmxml -lpthread -endif NFTABLES_CONF_ENV = \ ac_cv_prog_CONFIG_PDF=no \ diff --git a/package/nginx-dav-ext/nginx-dav-ext.hash b/package/nginx-dav-ext/nginx-dav-ext.hash index ea7eb8632e..a711f8c6ff 100644 --- a/package/nginx-dav-ext/nginx-dav-ext.hash +++ b/package/nginx-dav-ext/nginx-dav-ext.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 d428a0236c933779cb40ac8c91afb19d5c25a376dc3caab825bfd543e1ee530d nginx-dav-ext-v0.0.3.tar.gz +sha256 6b004eed8ea16ad8de4d304027bf0413cc323a95914e58625a7dc066481aae3a nginx-dav-ext-v0.1.0.tar.gz +sha256 40581cf424621965adaf1461e97129520ff4fcfb62ed9965ec6fd50b7f4ddfca LICENSE diff --git a/package/nginx-dav-ext/nginx-dav-ext.mk b/package/nginx-dav-ext/nginx-dav-ext.mk index 1ba6e10a3f..436bc295ad 100644 --- a/package/nginx-dav-ext/nginx-dav-ext.mk +++ b/package/nginx-dav-ext/nginx-dav-ext.mk @@ -4,10 +4,10 @@ # ################################################################################ -NGINX_DAV_EXT_VERSION = v0.0.3 +NGINX_DAV_EXT_VERSION = v0.1.0 NGINX_DAV_EXT_SITE = $(call github,arut,nginx-dav-ext-module,$(NGINX_DAV_EXT_VERSION)) NGINX_DAV_EXT_LICENSE = BSD-2-Clause -NGINX_DAV_EXT_LICENSE_FILES = ngx_http_dav_ext_module.c +NGINX_DAV_EXT_LICENSE_FILES = LICENSE NGINX_DAV_EXT_DEPENDENCIES = expat $(eval $(generic-package)) diff --git a/package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch b/package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch index b315909c34..103f90b305 100644 --- a/package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch +++ b/package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch @@ -15,13 +15,14 @@ diff --git a/auto/lib/libxslt/conf b/auto/lib/libxslt/conf index 3a0f37b..3c2a60e 100644 --- a/auto/lib/libxslt/conf +++ b/auto/lib/libxslt/conf -@@ -12,8 +12,8 @@ +@@ -12,8 +12,9 @@ #include #include #include " - ngx_feature_path="/usr/include/libxml2" - ngx_feature_libs="-lxml2 -lxslt" -+ ngx_feature_path="$(${PKG_CONFIG:=pkg-config} --cflags-only-I libxslt|sed 's/-I//g')" ++ ngx_feature_path="$(${PKG_CONFIG:=pkg-config} --cflags-only-I libxslt| ++ sed -re 's/(^|\s)-I\s*(\S+)/\1\2/g')" + ngx_feature_libs="$(${PKG_CONFIG:=pkg-config} --libs libxslt)" ngx_feature_test="xmlParserCtxtPtr ctxt = NULL; xsltStylesheetPtr sheet = NULL; diff --git a/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch b/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch index 0c94890625..0bd4d337c8 100644 --- a/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch +++ b/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch @@ -15,13 +15,14 @@ diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf index 39d9602..995c6f3 100644 --- a/auto/lib/openssl/conf +++ b/auto/lib/openssl/conf -@@ -58,8 +58,8 @@ else +@@ -58,8 +58,9 @@ else ngx_feature_name="NGX_OPENSSL" ngx_feature_run=no ngx_feature_incs="#include " - ngx_feature_path= - ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL" -+ ngx_feature_path="$(${PKG_CONFIG:=pkg-config} --cflags-only-I openssl|sed 's/-I//g')" ++ ngx_feature_path="$(${PKG_CONFIG:=pkg-config} --cflags-only-I openssl| ++ sed -re 's/(^|\s)-I\s*(\S+)/\1\2/g')" + ngx_feature_libs="$(${PKG_CONFIG:=pkg-config} --libs openssl)" ngx_feature_test="SSL_CTX_set_options(NULL, 0)" . auto/feature diff --git a/package/nginx/Config.in b/package/nginx/Config.in index 36fa69cd2a..5c34f11edd 100644 --- a/package/nginx/Config.in +++ b/package/nginx/Config.in @@ -3,8 +3,8 @@ menuconfig BR2_PACKAGE_NGINX depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBATOMIC_OPS if BR2_sparc_v8 || BR2_sparc_leon3 help - nginx is an HTTP and reverse proxy server, as well as a mail proxy - server. + nginx is an HTTP and reverse proxy server, as well as a mail + proxy server. http://nginx.org/ diff --git a/package/nginx/nginx.hash b/package/nginx/nginx.hash index 6eef1dbdc5..9936ca1dfa 100644 --- a/package/nginx/nginx.hash +++ b/package/nginx/nginx.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 8793bf426485a30f91021b6b945a9fd8a84d87d17b566562c3797aba8fac76fb nginx-1.12.1.tar.gz +sha256 305f379da1d5fb5aefa79e45c829852ca6983c7cd2a79328f8e084a324cf0416 nginx-1.12.2.tar.gz # License files, locally calculated sha256 75820469c890db641e54078df018e497fde0542211aa704e15320316a2175780 LICENSE diff --git a/package/nginx/nginx.mk b/package/nginx/nginx.mk index ceb80229d3..e5652af6df 100644 --- a/package/nginx/nginx.mk +++ b/package/nginx/nginx.mk @@ -4,7 +4,7 @@ # ################################################################################ -NGINX_VERSION = 1.12.1 +NGINX_VERSION = 1.12.2 NGINX_SITE = http://nginx.org/download NGINX_LICENSE = BSD-2-Clause NGINX_LICENSE_FILES = LICENSE diff --git a/package/nilfs-utils/0001-nilfs-utils-use-_POSIX_MAX_INPUT.patch b/package/nilfs-utils/0001-nilfs-utils-use-_POSIX_MAX_INPUT.patch new file mode 100644 index 0000000000..f14079a5c5 --- /dev/null +++ b/package/nilfs-utils/0001-nilfs-utils-use-_POSIX_MAX_INPUT.patch @@ -0,0 +1,32 @@ +From c6e5a79b130ac33093c36f972be49454f506be7e Mon Sep 17 00:00:00 2001 +From: Kurt Van Dijck +Date: Thu, 28 Dec 2017 20:06:38 +0100 +Subject: [PATCH] nilfs-utils: use _POSIX_MAX_INPUT + +musl does provide _POSIX_MAX_INPUT, but no MAX_INPUT out of the box. +This commit assigns _POSIX_MAX_INPUT to MAX_INPUT. + +Signed-off-by: Kurt Van Dijck +--- + bin/rmcp.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/bin/rmcp.c b/bin/rmcp.c +index 0140f56..6773912 100644 +--- a/bin/rmcp.c ++++ b/bin/rmcp.c +@@ -47,6 +47,11 @@ + #include + #endif /* HAVE_LIMITS_H */ + ++/* define MAX_INPUT for musl */ ++#ifndef MAX_INPUT ++#define MAX_INPUT _POSIX_MAX_INPUT ++#endif ++ + #include + #include "nilfs.h" + #include "parser.h" +-- +1.8.5.rc3 + diff --git a/package/nilfs-utils/0002-nilfs_cleanerd-link-dynamically.patch b/package/nilfs-utils/0002-nilfs_cleanerd-link-dynamically.patch new file mode 100644 index 0000000000..ab057b292e --- /dev/null +++ b/package/nilfs-utils/0002-nilfs_cleanerd-link-dynamically.patch @@ -0,0 +1,32 @@ +From 7888f8f24ec08cdfd51929cde4e177396d7504e7 Mon Sep 17 00:00:00 2001 +From: Kurt Van Dijck +Date: Thu, 28 Dec 2017 20:22:00 +0100 +Subject: [PATCH] nilfs_cleanerd: link dynamically + +When nilfs_cleanerd does not run due to shared object problems, +nilfs2 filesystems may run out of space soon. +This logic that justified linking nilfs_cleanerd statically +does IMO not apply to embedded systems built by buildroot. +This commit therefore drops the static linking. + +Signed-off-by: Kurt Van Dijck +--- + sbin/cleanerd/Makefile.am | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/sbin/cleanerd/Makefile.am b/sbin/cleanerd/Makefile.am +index 3a5335d..06f0847 100644 +--- a/sbin/cleanerd/Makefile.am ++++ b/sbin/cleanerd/Makefile.am +@@ -9,8 +9,6 @@ nilfs_cleanerd_SOURCES = cleanerd.c cldconfig.c \ + nilfs_cleanerd_CFLAGS = -Wall + nilfs_cleanerd_CPPFLAGS = -I$(top_srcdir)/include \ + -DSYSCONFDIR=\"$(sysconfdir)\" +-# Use -static option to make nilfs_cleanerd self-contained. +-nilfs_cleanerd_LDFLAGS = -static + + dist_sysconf_DATA = nilfs_cleanerd.conf + +-- +1.8.5.rc3 + diff --git a/package/nilfs-utils/0003-mount.nilfs-drop-include-rpc-types.h.patch b/package/nilfs-utils/0003-mount.nilfs-drop-include-rpc-types.h.patch new file mode 100644 index 0000000000..9d54c40fcc --- /dev/null +++ b/package/nilfs-utils/0003-mount.nilfs-drop-include-rpc-types.h.patch @@ -0,0 +1,32 @@ +From a924a05ea6fd8c5284983a09d1ea8993124b6b77 Mon Sep 17 00:00:00 2001 +From: Kurt Van Dijck +Date: Thu, 28 Dec 2017 20:26:09 +0100 +Subject: [PATCH] mount.nilfs: drop include rpc/types.h + +rpc/types.h does not exist on low-footprint musl toolchains, +and is only required for the boolean types, which musl provides +elsewhere. +This commit drops the include completely. + +Signed-off-by: Kurt Van Dijck +--- + sbin/mount/sundries.h | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/sbin/mount/sundries.h b/sbin/mount/sundries.h +index b3064a7..94d8ce4 100644 +--- a/sbin/mount/sundries.h ++++ b/sbin/mount/sundries.h +@@ -15,9 +15,6 @@ + #include + #include + #include +-#if !defined(bool_t) && !defined(__GLIBC__) +-#include +-#endif + + extern int mount_quiet; + +-- +1.8.5.rc3 + diff --git a/package/nilfs-utils/0004-autoconf-use-PKG_CHECK_MODULES-for-libmount-and-libb.patch b/package/nilfs-utils/0004-autoconf-use-PKG_CHECK_MODULES-for-libmount-and-libb.patch new file mode 100644 index 0000000000..49cdd26610 --- /dev/null +++ b/package/nilfs-utils/0004-autoconf-use-PKG_CHECK_MODULES-for-libmount-and-libb.patch @@ -0,0 +1,141 @@ +From 65ce9b4817544734770e410c5c2779065152f991 Mon Sep 17 00:00:00 2001 +From: Kurt Van Dijck +Date: Thu, 4 Jan 2018 09:47:45 +0100 +Subject: [PATCH] autoconf: use PKG_CHECK_MODULES for libmount and libblkid + +The dependencies of libmount to libblkid and libblkid to libuuid +were not handled correctly, and only work for the shared object scenario. +This commit switches the autoconfiguration to use PKG_CHECK_MODULES +which handles the static vs. dynamic case. +This commit has been compile-tested using buildroot on different compilers, +including static & dynamic ones + +Signed-off-by: Kurt Van Dijck +--- + configure.ac | 13 +++---------- + sbin/mkfs/Makefile.am | 4 ++-- + sbin/mkfs/mkfs.c | 6 +++--- + sbin/mount/Makefile.am | 4 ++-- + sbin/mount/mount_libmount.c | 4 +--- + sbin/mount/umount_libmount.c | 4 +--- + 6 files changed, 12 insertions(+), 23 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 6fa8c41..3e31e55 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -104,13 +104,10 @@ AC_CHECK_HEADERS([ctype.h err.h fcntl.h grp.h libintl.h limits.h \ + + # Check for conditional libraries and headers. + if test "${with_libmount}" = "yes"; then +- AC_CHECK_LIB(mount, mnt_context_do_mount, [LIB_MOUNT="-lmount"], +- AC_MSG_ERROR([Mount library is enabled but libmount not found])) +- AC_CHECK_HEADERS([libmount/libmount.h]) ++ PKG_CHECK_MODULES([MOUNT], [mount]) + with_selinux=no + fi + AM_CONDITIONAL(CONFIG_LIBMOUNT, [test "$with_libmount" = "yes"]) +-AC_SUBST(LIB_MOUNT) + + if test "${with_selinux}" = "yes"; then + AC_CHECK_LIB(selinux, getprevcon, +@@ -125,15 +122,11 @@ fi + AC_SUBST([LIB_SELINUX]) + + if test "${with_blkid}" = "yes"; then +- AC_CHECK_LIB(blkid, blkid_new_probe_from_filename, ++ PKG_CHECK_MODULES([BLKID], [blkid], + [AC_DEFINE(HAVE_LIBBLKID, 1, + [Define to 1 if you have the 'blkid' library (-lblkid).]) +- LIB_BLKID="-lblkid" +- ], +- AC_MSG_ERROR([BLKID library not found])) +- AC_CHECK_HEADERS([blkid/blkid.h]) ++ ]) + fi +-AC_SUBST(LIB_BLKID) + + # Checks for typedefs, structures, and compiler characteristics. + AC_C_CONST +diff --git a/sbin/mkfs/Makefile.am b/sbin/mkfs/Makefile.am +index 28f5128..408c976 100644 +--- a/sbin/mkfs/Makefile.am ++++ b/sbin/mkfs/Makefile.am +@@ -1,8 +1,8 @@ + ## Makefile.am + +-AM_CFLAGS = -Wall ++AM_CFLAGS = -Wall $(BLKID_CFLAGS) + AM_CPPFLAGS = -I$(top_srcdir)/include +-LDADD = -luuid $(LIB_BLKID) $(top_builddir)/lib/libnilfsfeature.la \ ++LDADD = -luuid $(BLKID_LIBS) $(top_builddir)/lib/libnilfsfeature.la \ + $(top_builddir)/lib/libmountchk.la \ + $(top_builddir)/lib/libcrc32.la + +diff --git a/sbin/mkfs/mkfs.c b/sbin/mkfs/mkfs.c +index d7f161e..0c45d6a 100644 +--- a/sbin/mkfs/mkfs.c ++++ b/sbin/mkfs/mkfs.c +@@ -66,9 +66,9 @@ + + #include + +-#if HAVE_BLKID_BLKID_H +-#include +-#endif /* HAVE_BLKID_BLKID_H */ ++#if HAVE_LIBBLKID ++#include ++#endif /* HAVE_LIBBLKID */ + + #include "nilfs.h" + #include "util.h" +diff --git a/sbin/mount/Makefile.am b/sbin/mount/Makefile.am +index f5d3c27..9554aa5 100644 +--- a/sbin/mount/Makefile.am ++++ b/sbin/mount/Makefile.am +@@ -6,10 +6,10 @@ COMMONHEADERS = mount.nilfs2.h sundries.h xmalloc.h + LEGACYSOURCES = fstab.c mount_mntent.c mount_opts.c + LEGACYHEADERS = fstab.h mount_constants.h mount_mntent.h mount_opts.h + +-AM_CFLAGS = -Wall ++AM_CFLAGS = -Wall $(MOUNT_CFLAGS) + AM_CPPFLAGS = -I$(top_srcdir)/include + LDADD = $(top_builddir)/lib/librealpath.la \ +- $(top_builddir)/lib/libcleanerexec.la $(LIB_MOUNT) $(LIB_SELINUX) \ ++ $(top_builddir)/lib/libcleanerexec.la $(MOUNT_LIBS) $(LIB_SELINUX) \ + $(LIB_POSIX_TIMER) + + root_sbin_PROGRAMS = mount.nilfs2 umount.nilfs2 +diff --git a/sbin/mount/mount_libmount.c b/sbin/mount/mount_libmount.c +index ef40e68..a7fec00 100644 +--- a/sbin/mount/mount_libmount.c ++++ b/sbin/mount/mount_libmount.c +@@ -67,9 +67,7 @@ + #include + #endif /* HAVE_SYSLOG_H */ + +-#if HAVE_LIBMOUNT_LIBMOUNT_H +-#include +-#endif /* HAVE_LIBMOUNT_H */ ++#include + + #include + #include +diff --git a/sbin/mount/umount_libmount.c b/sbin/mount/umount_libmount.c +index ae5a337..b678f54 100644 +--- a/sbin/mount/umount_libmount.c ++++ b/sbin/mount/umount_libmount.c +@@ -59,9 +59,7 @@ + #include + #endif /* HAVE_SYSLOG_H */ + +-#if HAVE_LIBMOUNT_LIBMOUNT_H +-#include +-#endif /* HAVE_LIBMOUNT_H */ ++#include + + #include + #include +-- +1.8.5.rc3 + diff --git a/package/nilfs-utils/Config.in b/package/nilfs-utils/Config.in new file mode 100644 index 0000000000..e245dc4656 --- /dev/null +++ b/package/nilfs-utils/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_NILFS_UTILS + bool "nilfs-utils" + depends on BR2_USE_MMU # util-linux libmount, libblkid + depends on BR2_TOOLCHAIN_HAS_THREADS # sem_open() + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # clock_nanosleep() + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID + select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT + select BR2_PACKAGE_UTIL_LINUX + help + Tools for creating and managing NILFS2 filesystems. + + https://github.com/nilfs-dev/nilfs-utils + +comment "nilfs-utils needs a toolchain w/ threads, NPTL" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/nilfs-utils/nilfs-utils.hash b/package/nilfs-utils/nilfs-utils.hash new file mode 100644 index 0000000000..bf80367068 --- /dev/null +++ b/package/nilfs-utils/nilfs-utils.hash @@ -0,0 +1,3 @@ +# Locally calculated after checking pgp signature +sha512 8a73b807bbdb2dc56b100ab8fbffe8129c9db31a6cbceecf267bdeb726fc13dd6844ce8ef96690bd7786709cb884881a3cd6d3cf24290248c5abc457976e9487 nilfs-utils-v2.2.7.tar.gz +sha512 4fc92d3998910acb108f81b1aee70a55a572b661a2766d0e57a55e48e2b737eea41415356cbd62593f26aec5797ab9fbb40211d7782b5834b4855ff1ce6ad5f7 COPYING diff --git a/package/nilfs-utils/nilfs-utils.mk b/package/nilfs-utils/nilfs-utils.mk new file mode 100644 index 0000000000..3fde94fd4f --- /dev/null +++ b/package/nilfs-utils/nilfs-utils.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# nilfs-utils +# +################################################################################ + +NILFS_UTILS_VERSION = v2.2.7 +NILFS_UTILS_SITE = $(call github,nilfs-dev,nilfs-utils,$(NILFS_UTILS_VERSION)) +NILFS_UTILS_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) +NILFS_UTILS_LICENSE_FILES = COPYING + +# need libuuid, libblkid, libmount +NILFS_UTILS_DEPENDENCIES = host-pkgconf util-linux + +# we're fetching from github +NILFS_UTILS_AUTORECONF = YES + +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +NILFS_UTILS_CONF_OPTS += --with-selinux +NILFS_UTILS_DEPENDENCIES += libselinux +else +NILFS_UTILS_CONF_OPTS += --without-selinux +endif + +$(eval $(autotools-package)) diff --git a/package/nmap/Config.in b/package/nmap/Config.in index 79f587afd1..1f2f996a64 100644 --- a/package/nmap/Config.in +++ b/package/nmap/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_NMAP depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBLINEAR select BR2_PACKAGE_LIBPCAP select BR2_PACKAGE_PCRE help diff --git a/package/nmap/nmap.mk b/package/nmap/nmap.mk index ceb08ec006..3110dfeba9 100644 --- a/package/nmap/nmap.mk +++ b/package/nmap/nmap.mk @@ -7,11 +7,11 @@ NMAP_VERSION = 7.60 NMAP_SITE = https://nmap.org/dist NMAP_SOURCE = nmap-$(NMAP_VERSION).tar.bz2 -NMAP_DEPENDENCIES = libpcap pcre host-autoconf +NMAP_DEPENDENCIES = libpcap liblinear pcre host-autoconf NMAP_CONF_OPTS = --without-liblua --without-zenmap \ - --with-libdnet=included --with-liblinear=included \ + --with-libdnet=included \ --with-libpcre="$(STAGING_DIR)/usr" --without-ncat -NMAP_LICENSE = GPL-2.0 +NMAP_LICENSE = nmap license NMAP_LICENSE_FILES = COPYING # nmap doesn't autoreconf properly, so we just re-generate the diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in index 345fe1047d..d2846f8d57 100644 --- a/package/nodejs/Config.in +++ b/package/nodejs/Config.in @@ -31,7 +31,8 @@ config BR2_PACKAGE_NODEJS select BR2_PACKAGE_LIBUV select BR2_PACKAGE_ZLIB help - Event-driven I/O server-side JavaScript environment based on V8. + Event-driven I/O server-side JavaScript environment based on + V8. http://nodejs.org/ @@ -42,8 +43,8 @@ config BR2_PACKAGE_NODEJS_NPM select BR2_PACKAGE_OPENSSL help NPM is the package manager for the Node JavaScript platform. - Note that enabling NPM on the target also selects OpenSSL for the - target. + Note that enabling NPM on the target also selects OpenSSL + for the target. http://www.npmjs.org @@ -58,20 +59,23 @@ config BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL download and save tgz files or clone git repos for the components you care about. - Example: serialport uglify-js@1.3.4 /my/module/mymodule.tgz git://github.com/someuser/somemodule.git#v1.2 + Example: + serialport uglify-js@1.3.4 /my/module/mymodule.tgz \ + git://github.com/someuser/somemodule.git#v1.2 - This would install the serialport module (at the newest version), - the uglify-js module at 1.3.4, a module from a filesystem path, - and a module from a git repository. + This would install the serialport module (at the newest + version), the uglify-js module at 1.3.4, a module from a + filesystem path, and a module from a git repository. config BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS string "Additional module dependencies" help - List of space-separated buildroot recipes which must be built before - your npms can be installed. For example, if in 'Additional modules' - you specified 'node-curl' (see: - https://github.com/jiangmiao/node-curl), you could then specify - 'libcurl' here, to ensure that buildroot builds the libcurl package, - and does so before building your node modules. + List of space-separated buildroot recipes which must be + built before your npms can be installed. For example, if in + 'Additional modules' you specified 'node-curl' (see: + https://github.com/jiangmiao/node-curl), you could then + specify 'libcurl' here, to ensure that buildroot builds the + libcurl package, and does so before building your node + modules. endif diff --git a/package/nodejs/nodejs.hash b/package/nodejs/nodejs.hash index 658f80baaa..8285172215 100644 --- a/package/nodejs/nodejs.hash +++ b/package/nodejs/nodejs.hash @@ -1,2 +1,5 @@ -# From http://nodejs.org/dist/v8.9.1/SHASUMS256.txt -sha256 ef160c21f60f8aca64145985e01b4044435e381dc16e8f0640ed0223e84f17e0 node-v8.9.1.tar.xz +# From http://nodejs.org/dist/v8.11.4/SHASUMS256.txt +sha256 fbce7de6d96b0bcb0db0bf77f0e6ea999b6755e6930568aedaab06847552a609 node-v8.11.4.tar.xz + +# Hash for license file +sha256 b87be6c1479ed977481115869c2dd8b6d59e5ea55aa09939d6c898242121b2f5 LICENSE diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk index 9cf26da601..3c5e40a4d6 100644 --- a/package/nodejs/nodejs.mk +++ b/package/nodejs/nodejs.mk @@ -4,7 +4,7 @@ # ################################################################################ -NODEJS_VERSION = 8.9.1 +NODEJS_VERSION = 8.11.4 NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) NODEJS_DEPENDENCIES = host-python host-nodejs c-ares \ @@ -154,6 +154,7 @@ NPM = $(TARGET_CONFIGURE_OPTS) \ npm_config_build_from_source=true \ npm_config_nodedir=$(BUILD_DIR)/nodejs-$(NODEJS_VERSION) \ npm_config_prefix=$(TARGET_DIR)/usr \ + npm_config_cache=$(BUILD_DIR)/.npm-cache \ $(HOST_DIR)/bin/npm # diff --git a/package/ntp/0003-fix-nommu.patch b/package/ntp/0003-fix-nommu.patch new file mode 100644 index 0000000000..0959fa0ba5 --- /dev/null +++ b/package/ntp/0003-fix-nommu.patch @@ -0,0 +1,29 @@ +Fix no-MMU build + +The detach_from_terminal() is unused for no-MMU, but it depends on symbols +that are not defined for no-MMU. Don't define detach_from_terminal() when +HAVE_WORKING_FORK is not defined. + +Signed-off-by: Baruch Siach +--- +Upstream status: http://bugs.ntp.org/show_bug.cgi?id=3538 + +diff -Nuar ntp-4.2.8p12.orig/ntpd/ntpd.c ntp-4.2.8p12/ntpd/ntpd.c +--- ntp-4.2.8p12.orig/ntpd/ntpd.c 2018-08-14 14:51:30.000000000 +0300 ++++ ntp-4.2.8p12/ntpd/ntpd.c 2018-10-13 21:25:25.858261249 +0300 +@@ -534,6 +534,7 @@ + * Detach from terminal (much like daemon()) + * Nothe that this function calls exit() + */ ++# ifdef HAVE_WORKING_FORK + static void + detach_from_terminal( + int pipe_fds[2], +@@ -617,6 +618,7 @@ + + return; + } ++# endif /* HAVE_WORKING_FORK */ + + #ifdef HAVE_DROPROOT + /* diff --git a/package/ntp/0003-ntpq-fpic.patch b/package/ntp/0003-ntpq-fpic.patch deleted file mode 100644 index 6e05a677c5..0000000000 --- a/package/ntp/0003-ntpq-fpic.patch +++ /dev/null @@ -1,23 +0,0 @@ -ntpq/Makefile.am: add NTP_HARD_CFLAGS - -Pass NTP_HARD_CFLAGS when building ntpq, like in all other ntp -modules, to make sure -fPIC is passed. - -Originally taken from -https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=494143c3b4921a5c8b8596d58f2c8b98296bf688. - -Signed-off-by: Thomas Petazzoni - -Index: b/ntpq/Makefile.am -=================================================================== ---- a/ntpq/Makefile.am -+++ b/ntpq/Makefile.am -@@ -23,7 +23,7 @@ - ntpq_LDADD += $(LDADD_NTP) - noinst_HEADERS= ntpq.h - noinst_LIBRARIES= libntpq.a --libntpq_a_CFLAGS= -DNO_MAIN_ALLOWED -DBUILD_AS_LIB -+libntpq_a_CFLAGS= $(NTP_HARD_CFLAGS) -DNO_MAIN_ALLOWED -DBUILD_AS_LIB - CLEANFILES= - DISTCLEANFILES= .version version.c config.log $(man_MANS) - ETAGS_ARGS= Makefile.am diff --git a/package/ntp/0004-fix-work-fork-without-droproot.patch b/package/ntp/0004-fix-work-fork-without-droproot.patch new file mode 100644 index 0000000000..cb6fec0125 --- /dev/null +++ b/package/ntp/0004-fix-work-fork-without-droproot.patch @@ -0,0 +1,26 @@ +Fix work_fork build when droproot is disabled + +The set_user_group_ids() depends on HAVE_DROPROOT. When HAVE_DROPROOT is not +enabled, work_fork.c code causes a link failure: + +../libntp/libntp.a(work_fork.o): In function `send_blocking_req_internal': +work_fork.c:(.text+0x498): undefined reference to `set_user_group_ids' + +Make the set_user_group_ids() call depend on HAVE_DROPROOT. + +Signed-off-by: Baruch Siach +--- +Upstream status: http://bugs.ntp.org/show_bug.cgi?id=3539 + +--- ntp-4.2.8p12.orig/libntp/work_fork.c 2018-08-14 14:51:06.000000000 +0300 ++++ ntp-4.2.8p12/libntp/work_fork.c 2018-10-15 21:10:54.580917962 +0300 +@@ -594,7 +594,9 @@ + init_logging("ntp_intres", 0, FALSE); + setup_logfile(NULL); + ++#if defined(HAVE_DROPROOT) + (void) set_user_group_ids(); ++#endif + + /* + * And now back to the portable code diff --git a/package/ntp/Config.in b/package/ntp/Config.in index 8ce9a5b0bb..efd47e1895 100644 --- a/package/ntp/Config.in +++ b/package/ntp/Config.in @@ -30,16 +30,16 @@ config BR2_PACKAGE_NTP_NTP_WAIT depends on BR2_PACKAGE_PERL help ntp-wait waits until the locally running ntpd is in state 4 - (synchronized). This could be useful at boot time, to delay the - boot sequence until after "ntpd -g" has set the time. + (synchronized). This could be useful at boot time, to delay + the boot sequence until after "ntpd -g" has set the time. config BR2_PACKAGE_NTP_NTPD bool "ntpd" default y help ntpd is the time synchronization daemon keeping your local - system date and time in sync and optionally serving time and date - information on the network via the NTP protocol. + system date and time in sync and optionally serving time and + date information on the network via the NTP protocol. config BR2_PACKAGE_NTP_NTPD_ATOM_PPS bool "PPS support" @@ -51,8 +51,8 @@ config BR2_PACKAGE_NTP_NTPD_ATOM_PPS config BR2_PACKAGE_NTP_NTPDATE bool "ntpdate" help - The ntpdate utility program is used to set the local date and time - from an NTP server given as an argument. + The ntpdate utility program is used to set the local date + and time from an NTP server given as an argument. config BR2_PACKAGE_NTP_NTPDC bool "ntpdc" @@ -63,8 +63,9 @@ config BR2_PACKAGE_NTP_NTPDC config BR2_PACKAGE_NTP_NTPQ bool "ntpq" help - The ntpq utility program is used to query NTP servers requesting - information about current state and/or changes in that state. + The ntpq utility program is used to query NTP servers + requesting information about current state and/or changes in + that state. config BR2_PACKAGE_NTP_NTPSNMPD bool "ntpsnmpd" @@ -76,16 +77,16 @@ config BR2_PACKAGE_NTP_NTPSNMPD config BR2_PACKAGE_NTP_NTPTIME bool "ntptime" help - The ntptime utility program is used to read and set kernel time - variables. + The ntptime utility program is used to read and set kernel + time variables. config BR2_PACKAGE_NTP_NTPTRACE bool "ntptrace" depends on BR2_PACKAGE_PERL help - ntptrace is a perl script that uses the ntpq utility program to - follow the chain of NTP servers from a given host back to the - primary time source + ntptrace is a perl script that uses the ntpq utility program + to follow the chain of NTP servers from a given host back to + the primary time source config BR2_PACKAGE_NTP_TICKADJ bool "tickadj" diff --git a/package/ntp/ntp.hash b/package/ntp/ntp.hash index d8b7083c47..2fd8a8322b 100644 --- a/package/ntp/ntp.hash +++ b/package/ntp/ntp.hash @@ -1,4 +1,5 @@ -# From https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p10.tar.gz.md5 -md5 745384ed0dedb3f66b33fe84d66466f9 ntp-4.2.8p10.tar.gz +# From https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p12.tar.gz.md5 +md5 1522d66574bae14abb2622746dad2bdc ntp-4.2.8p12.tar.gz # Calculated based on the hash above -sha256 ddd2366e64219b9efa0f7438e06800d0db394ac5c88e13c17b70d0dcdf99b99f ntp-4.2.8p10.tar.gz +sha256 709b222b5013d77d26bfff532b5ea470a8039497ef29d09363931c036cb30454 ntp-4.2.8p12.tar.gz +sha256 62c87b269365b38b55359b16dfde7ec28c683c722ef489db90afd0f2e478e4a1 COPYRIGHT diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk index 6605c3b85b..edd3d521aa 100644 --- a/package/ntp/ntp.mk +++ b/package/ntp/ntp.mk @@ -5,7 +5,7 @@ ################################################################################ NTP_VERSION_MAJOR = 4.2 -NTP_VERSION = $(NTP_VERSION_MAJOR).8p10 +NTP_VERSION = $(NTP_VERSION_MAJOR).8p12 NTP_SITE = https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR) NTP_DEPENDENCIES = host-pkgconf libevent $(if $(BR2_PACKAGE_BUSYBOX),busybox) NTP_LICENSE = NTP @@ -17,23 +17,22 @@ NTP_CONF_OPTS = \ --disable-tickadj \ --disable-debugging \ --with-yielding-select=yes \ - --disable-local-libevent \ + --disable-local-libevent # 0002-ntp-syscalls-fallback.patch -# 0003-ntpq-fpic.patch NTP_AUTORECONF = YES -ifeq ($(BR2_PACKAGE_OPENSSL),y) -NTP_CONF_OPTS += --with-crypto +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +NTP_CONF_OPTS += --with-crypto --enable-openssl-random NTP_DEPENDENCIES += openssl else NTP_CONF_OPTS += --without-crypto --disable-openssl-random endif ifeq ($(BR2_TOOLCHAIN_HAS_SSP),y) -NTP_CONF_OPTS += --with-locfile=linux +NTP_CONF_OPTS += --with-hardenfile=linux else -NTP_CONF_OPTS += --with-locfile=default +NTP_CONF_OPTS += --with-hardenfile=default endif ifeq ($(BR2_PACKAGE_LIBCAP),y) diff --git a/package/numactl/Config.in b/package/numactl/Config.in index f18e28d9ff..95057d3c33 100644 --- a/package/numactl/Config.in +++ b/package/numactl/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_NUMACTL bool "numactl" # numactl uses some system calls that are not available on all # architectures. - depends on BR2_i386 || BR2_mips || BR2_mipsel || \ + depends on BR2_aarch64 || BR2_i386 || BR2_mips || BR2_mipsel || \ BR2_mips64 || BR2_mips64el || BR2_powerpc || BR2_x86_64 help numactl allows you to run your application on specific cpus diff --git a/package/nut/Config.in b/package/nut/Config.in index 659c9586f5..df647b9b48 100644 --- a/package/nut/Config.in +++ b/package/nut/Config.in @@ -9,9 +9,10 @@ config BR2_PACKAGE_NUT help Network UPS tools - The primary goal of the Network UPS Tools (NUT) project is to provide - support for Power Devices, such as Uninterruptible Power Supplies, - Power Distribution Units and Solar Controllers. + The primary goal of the Network UPS Tools (NUT) project is + to provide support for Power Devices, such as + Uninterruptible Power Supplies, Power Distribution Units and + Solar Controllers. http://www.networkupstools.org/ @@ -20,7 +21,7 @@ if BR2_PACKAGE_NUT config BR2_PACKAGE_NUT_DRIVERS string "drivers" help - Select the individual drivers to enable, in a comma-separated list. - Leave empty for all. + Select the individual drivers to enable, in a + comma-separated list. Leave empty for all. endif # BR2_PACKAGE_NUT diff --git a/package/nut/nut.mk b/package/nut/nut.mk index 332ccf9071..4ea9947128 100644 --- a/package/nut/nut.mk +++ b/package/nut/nut.mk @@ -14,6 +14,9 @@ NUT_DEPENDENCIES = host-pkgconf # Our patch changes m4 macros, so we need to autoreconf NUT_AUTORECONF = YES +# Race condition in tools generation +NUT_MAKE = $(MAKE1) + # Put the PID files in a read-write place (/var/run is a tmpfs) # since the default location (/var/state/ups) maybe readonly. NUT_CONF_OPTS = \ diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in b/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in index 573ab90bea..3494c5b9a8 100644 --- a/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in +++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in @@ -7,8 +7,8 @@ config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES select BR2_PACKAGE_HAS_LIBGLES select BR2_PACKAGE_HAS_LIBOPENMAX help - Those packages provide libraries, drivers and firmware that comes from - NVIDIA Linux For Tegra. + Those packages provide libraries, drivers and firmware that + comes from NVIDIA Linux For Tegra. https://developer.nvidia.com/linux-tegra diff --git a/package/ocrad/ocrad.hash b/package/ocrad/ocrad.hash index 5f093d241e..5cde4d3ac4 100644 --- a/package/ocrad/ocrad.hash +++ b/package/ocrad/ocrad.hash @@ -1,2 +1,3 @@ # Locally calculated after checking pgp signature sha256 c383d37869baa0990d38d38836d4d567e9e2862aa0cd704868b62dafeac18e3c ocrad-0.26.tar.lz +sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING diff --git a/package/odhcp6c/Config.in b/package/odhcp6c/Config.in index 329b55c1c6..97ea4b44ef 100644 --- a/package/odhcp6c/Config.in +++ b/package/odhcp6c/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_ODHCP6C bool "odhcp6c" depends on BR2_USE_MMU # fork() help - odhcp6c is a minimal DHCPv6 and RA-client for use in embedded Linux - systems, especially routers. + odhcp6c is a minimal DHCPv6 and RA-client for use in + embedded Linux systems, especially routers. https://github.com/sbyx/odhcp6c diff --git a/package/omap-u-boot-utils/Config.in.host b/package/omap-u-boot-utils/Config.in.host index 87dcc06938..1549674f01 100644 --- a/package/omap-u-boot-utils/Config.in.host +++ b/package/omap-u-boot-utils/Config.in.host @@ -3,7 +3,7 @@ config BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS depends on BR2_arm || BR2_armeb help U-Boot Utilities for Texas Instrument's OMAP platforms. - This is a set of tools to control U-Boot from scripts, generate - OMAP-specific signed image files and more. + This is a set of tools to control U-Boot from scripts, + generate OMAP-specific signed image files and more. https://github.com/nmenon/omap-u-boot-utils diff --git a/package/omniorb/Config.in b/package/omniorb/Config.in index b8c4e0a59e..4af91a4db7 100644 --- a/package/omniorb/Config.in +++ b/package/omniorb/Config.in @@ -7,11 +7,13 @@ config BR2_PACKAGE_OMNIORB depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS help - omniORB is a robust high performance CORBA ORB for C++ and Python. - omniORB is largely CORBA 2.6 compliant. omniORB is one of only - three ORBs to have been awarded the Open Group's Open Brand for - CORBA. This means that omniORB has been tested and certified - CORBA compliant, to version 2.1 of the CORBA specification. + omniORB is a robust high performance CORBA ORB for C++ and + Python. + omniORB is largely CORBA 2.6 compliant. omniORB is one of + only three ORBs to have been awarded the Open Group's Open + Brand for CORBA. This means that omniORB has been tested and + certified CORBA compliant, to version 2.1 of the CORBA + specification. http://omniorb.sourceforge.net/ diff --git a/package/omxplayer/0001-Makefiles-clean-up-the-cruft.patch b/package/omxplayer/0001-Makefiles-clean-up-the-cruft.patch deleted file mode 100644 index 2dc6166975..0000000000 --- a/package/omxplayer/0001-Makefiles-clean-up-the-cruft.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 563dafc1129848419482b540d149d0b8687cac1e Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 10 Apr 2016 16:22:53 +0200 -Subject: [PATCH] Makefiles: clean up the cruft - -Most of the variables that Makefile.include tries (but fails) to set, -are already available from Buildroot's variables: - - AR, AS, CC, CXX, OBJDUMP... - - CFLAGS, CXXFLAGS, CPPFLAGS... - -This leaves us with a few select variables that define include and -library paths local to the omxplayer package, plus a few optimisations. - -Finally, also remove hard-coded, absolute paths pointing to the host -system (won't work for cross-compilation, so our paranoid wrapper would -catch those paths). - -Signed-off-by: "Yann E. MORIN" ---- - Makefile | 2 +- - Makefile.include | 20 ++------------------ - 2 files changed, 3 insertions(+), 19 deletions(-) - -diff --git a/Makefile b/Makefile -index bcfadfb..3dc1a03 100644 ---- a/Makefile -+++ b/Makefile -@@ -4,7 +4,7 @@ CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX - - LDFLAGS+=-L./ -Lffmpeg_compiled/usr/local/lib/ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz - --INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/ -I /usr/include/dbus-1.0 -I /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -+INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/ - - DIST ?= omxplayer-dist - -diff --git a/Makefile.include b/Makefile.include -index 58e9560..79ca277 100644 ---- a/Makefile.include -+++ b/Makefile.include -@@ -20,21 +20,5 @@ endif - - JOBS=7 - --CFLAGS := -isystem$(PREFIX)/include --CXXFLAGS := $(CFLAGS) --CPPFLAGS := $(CFLAGS) --LDFLAGS := -L$(BUILDROOT)/lib --LD := $(TOOLCHAIN)/bin/$(HOST)-ld --sysroot=$(SYSROOT) --CC := $(TOOLCHAIN)/bin/$(HOST)-gcc --sysroot=$(SYSROOT) --CXX := $(TOOLCHAIN)/bin/$(HOST)-g++ --sysroot=$(SYSROOT) --OBJDUMP := $(TOOLCHAIN)/bin/$(HOST)-objdump --RANLIB := $(TOOLCHAIN)/bin/$(HOST)-ranlib --STRIP := $(TOOLCHAIN)/bin/$(HOST)-strip --AR := $(TOOLCHAIN)/bin/$(HOST)-ar --CXXCP := $(CXX) -E --PATH := $(PREFIX)/bin:$(BUILDROOT)/output/host/usr/bin:$(PATH) -- --CFLAGS += -pipe -mfloat-abi=$(FLOAT) -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog --LDFLAGS += -L$(SDKSTAGE)/lib -L$(SDKSTAGE)/usr/lib -L$(SDKSTAGE)/opt/vc/lib/ -Lpcre/build --#INCLUDES += -isystem$(SDKSTAGE)/usr/include -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -isystem$(SDKSTAGE)/usr/include/freetype2 --INCLUDES += -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -Ipcre/build -Iboost-trunk -Ifreetype2/include -+CFLAGS += -fomit-frame-pointer -Wno-psabi -mno-apcs-stack-check \ -+ -mstructure-size-boundary=32 -mno-sched-prolog --- -1.9.1 - diff --git a/package/omxplayer/0001-Update-Makefile-to-be-compatible-with-buildroot.patch b/package/omxplayer/0001-Update-Makefile-to-be-compatible-with-buildroot.patch new file mode 100644 index 0000000000..8f8bfad73e --- /dev/null +++ b/package/omxplayer/0001-Update-Makefile-to-be-compatible-with-buildroot.patch @@ -0,0 +1,39 @@ +From 40bf9c0960becaf0e592cac901466af93f24e52b Mon Sep 17 00:00:00 2001 +From: Julius Kriukas +Date: Fri, 1 Dec 2017 18:29:24 +0200 +Subject: [PATCH] Update Makefile to be compatible with buildroot + +- Append to existing CFLAGS instead of overwriting. +- Remove cross-compilation specific options from CFLAGS, they will be + set by buildroot. +- Remove local ffmpeg_compiled include, buildroot will build ffmpeg + separately. +- Remove hard-coded dbus, freetype, rpi-firmware include paths, they + will be added by buildroot. + +Signed-off-by: Julius Kriukas +--- + Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 5f4e414..53fa1bc 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,10 +1,10 @@ +-CFLAGS=-pipe -mfloat-abi=hard -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog ++CFLAGS+=-fomit-frame-pointer -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog + CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST + + LDFLAGS=-L$(SDKSTAGE)/opt/vc/lib/ +-LDFLAGS+=-L./ -Lffmpeg_compiled/usr/local/lib/ -lc -lbrcmGLESv2 -lbrcmEGL -lbcm_host -lopenmaxil -lfreetype -lz -lasound ++LDFLAGS+=-L./ -lc -lbrcmGLESv2 -lbrcmEGL -lbcm_host -lopenmaxil -lfreetype -lz -lasound + +-INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/ -I /usr/include/dbus-1.0 -I /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -I/usr/include/freetype2 -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads ++INCLUDES+=-I./ -Ilinux + + DIST ?= omxplayer-dist + STRIP ?= strip +-- +2.11.0 + diff --git a/package/omxplayer/Config.in b/package/omxplayer/Config.in index b417aa3b0b..80e48d09c8 100644 --- a/package/omxplayer/Config.in +++ b/package/omxplayer/Config.in @@ -4,9 +4,10 @@ config BR2_PACKAGE_OMXPLAYER depends on BR2_USE_MMU # dbus depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS # ffmpeg depends on BR2_INSTALL_LIBSTDCPP # boost - depends on BR2_TOOLCHAIN_HAS_THREADS # boost, libusb + depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib, boost, libusb depends on BR2_USE_WCHAR # boost depends on BR2_PACKAGE_RPI_USERLAND + select BR2_PACKAGE_ALSA_LIB select BR2_PACKAGE_BOOST select BR2_PACKAGE_DBUS select BR2_PACKAGE_FFMPEG @@ -18,9 +19,9 @@ config BR2_PACKAGE_OMXPLAYER select BR2_PACKAGE_PCRE select BR2_PACKAGE_ZLIB help - OMXPlayer is a commandline OMX player for the Raspberry Pi. It was - developed as a testbed for the XBMC Raspberry PI implementation - and is quite handy to use standalone. + OMXPlayer is a commandline OMX player for the Raspberry + Pi. It was developed as a testbed for the XBMC Raspberry PI + implementation and is quite handy to use standalone. https://github.com/popcornmix/omxplayer diff --git a/package/omxplayer/omxplayer.hash b/package/omxplayer/omxplayer.hash index 4ee215b767..ad084e2643 100644 --- a/package/omxplayer/omxplayer.hash +++ b/package/omxplayer/omxplayer.hash @@ -1,3 +1,6 @@ -# Locally computed -sha1 23eb444757e445c127a7114ae233569cac64f984 omxplayer-6c90c7503ba4658221774759edf7f2ae816711de.tar.gz -sha256 93ebfd654314231749936e4fc09f5ec4a361806cdb640d7579a5106921e00299 omxplayer-6c90c7503ba4658221774759edf7f2ae816711de.tar.gz +# Locally computed: +sha1 258316ff94a1f1e5e47a5bb1a28d324ab08871a9 omxplayer-2ee17b22a6149a043a2e402580504f282c615373.tar.gz +sha256 c16498258ee78c59f9705b621e4b5b7b0673e1687d94681f9dc52451b1ceba48 omxplayer-2ee17b22a6149a043a2e402580504f282c615373.tar.gz + +# Hash for license file: +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/omxplayer/omxplayer.mk b/package/omxplayer/omxplayer.mk index 9bb58778c2..6999269161 100644 --- a/package/omxplayer/omxplayer.mk +++ b/package/omxplayer/omxplayer.mk @@ -4,13 +4,13 @@ # ################################################################################ -OMXPLAYER_VERSION = 6c90c7503ba4658221774759edf7f2ae816711de +OMXPLAYER_VERSION = 2ee17b22a6149a043a2e402580504f282c615373 OMXPLAYER_SITE = $(call github,popcornmix,omxplayer,$(OMXPLAYER_VERSION)) OMXPLAYER_LICENSE = GPL-2.0+ OMXPLAYER_LICENSE_FILES = COPYING OMXPLAYER_DEPENDENCIES = \ - host-pkgconf boost dbus ffmpeg freetype libidn libusb pcre \ + host-pkgconf alsa-lib boost dbus ffmpeg freetype libidn libusb pcre \ rpi-userland zlib OMXPLAYER_EXTRA_CFLAGS = \ @@ -23,14 +23,7 @@ OMXPLAYER_EXTRA_CFLAGS = \ # procedure is, well, tainted. Fix this by forcing the real, # correct values. OMXPLAYER_MAKE_ENV = \ - USE_BUILDROOT=1 \ - BUILDROOT=$(TOP_DIR) \ SDKSTAGE=$(STAGING_DIR) \ - TARGETFS=$(TARGET_DIR) \ - TOOLCHAIN=$(HOST_DIR) \ - HOST=$(GNU_TARGET_NAME) \ - SYSROOT=$(STAGING_DIR) \ - JOBS=$(PARALLEL_JOBS) \ $(TARGET_CONFIGURE_OPTS) \ STRIP=true \ CFLAGS="$(TARGET_CFLAGS) $(OMXPLAYER_EXTRA_CFLAGS)" diff --git a/package/on2-8170-modules/Config.in b/package/on2-8170-modules/Config.in index 06ce992fb4..8c51e0c8d4 100644 --- a/package/on2-8170-modules/Config.in +++ b/package/on2-8170-modules/Config.in @@ -3,7 +3,8 @@ config BR2_PACKAGE_ON2_8170_MODULES depends on BR2_LINUX_KERNEL depends on BR2_arm926t help - Kernel modules for Hantro x170 hardware video decompression support. + Kernel modules for Hantro x170 hardware video decompression + support. http://www.at91.com/linux4sam/bin/view/Linux4SAM/SAM9M10Gstreamer diff --git a/package/open-lldp/0001-vdptool-fixed-compile-error-for-getline.patch b/package/open-lldp/0001-vdptool-fixed-compile-error-for-getline.patch new file mode 100644 index 0000000000..c20267786e --- /dev/null +++ b/package/open-lldp/0001-vdptool-fixed-compile-error-for-getline.patch @@ -0,0 +1,27 @@ +From 3c7887bb8a61a3b49a2989329c756a038023c544 Mon Sep 17 00:00:00 2001 +From: Laurent Charpentier +Date: Fri, 12 Jan 2018 12:25:41 +0100 +Subject: [PATCH] vdptool: fixed compile error for getline() + +vdptool.c was generating an error: implicit declaration for the getline() function. + +Signed-off-by: Laurent Charpentier +--- + vdptool.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/vdptool.c b/vdptool.c +index b805372..4930f6a 100644 +--- a/vdptool.c ++++ b/vdptool.c +@@ -36,6 +36,7 @@ + * set and query VSI profile settings. + */ + ++#define _GNU_SOURCE + #include + #include + #include +-- +2.14.3 + diff --git a/package/open-lldp/0002-get-inline-functions-work-with-both-gnu11-and-gnu89.patch b/package/open-lldp/0002-get-inline-functions-work-with-both-gnu11-and-gnu89.patch new file mode 100644 index 0000000000..57a23b2a70 --- /dev/null +++ b/package/open-lldp/0002-get-inline-functions-work-with-both-gnu11-and-gnu89.patch @@ -0,0 +1,73 @@ +From e186ca9ebda181f62504a1922559ef3ddae5e3b6 Mon Sep 17 00:00:00 2001 +From: Laurent Charpentier +Date: Mon, 15 Jan 2018 11:24:45 +0100 +Subject: [PATCH] get inline functions work with both gnu11 and gnu89 + +After gcc upgraded to gcc5, and if the codes are compiled without optimization(-O0), and the below error will happen: + +./include/lldp_8021qaz.h:237:12: error: inline function 'ieee8021qaz_clif_cmd' declared but never defined [-Werror] + inline int ieee8021qaz_clif_cmd(void *data, struct sockaddr_un *from, + ^ +./include/lldp_8021qaz.h:222:13: error: inline function 'set_prio_map' declared but never defined [-Werror] + inline void set_prio_map(u32 *prio_map, u8 prio, int tc); + ^ +./include/lldp_8021qaz.h:221:12: error: inline function 'get_prio_map' declared but never defined [-Werror] + inline int get_prio_map(u32 prio_map, int tc); + +gcc5 defaults to -std=gnu11 instead of -std=gnu89, and it requires that exactly one C source file has the callable copy of the inline function. + +Signed-off-by: Laurent Charpentier +--- + include/lldp_8021qaz.h | 6 ------ + lldp_8021qaz.c | 4 ++-- + 2 files changed, 2 insertions(+), 8 deletions(-) + +diff --git a/include/lldp_8021qaz.h b/include/lldp_8021qaz.h +index 55353b8..09dee20 100644 +--- a/include/lldp_8021qaz.h ++++ b/include/lldp_8021qaz.h +@@ -218,9 +218,6 @@ int ieee8021qaz_mod_app(struct app_tlv_head *head, int peer, + u8 prio, u8 sel, u16 proto, u32 ops); + int ieee8021qaz_app_sethw(char *ifname, struct app_tlv_head *head); + +-inline int get_prio_map(u32 prio_map, int tc); +-inline void set_prio_map(u32 *prio_map, u8 prio, int tc); +- + struct ieee8021qaz_tlvs *ieee8021qaz_data(const char *); + + int ieee8021qaz_tlvs_rxed(const char *ifname); +@@ -234,9 +231,6 @@ int ieee8021qaz_rchange(struct port *port, struct lldp_agent *, + void ieee8021qaz_ifup(char *ifname, struct lldp_agent *); + void ieee8021qaz_ifdown(char *ifname, struct lldp_agent *); + u8 ieee8021qaz_mibDeleteObject(struct port *port, struct lldp_agent *); +-inline int ieee8021qaz_clif_cmd(void *data, struct sockaddr_un *from, +- socklen_t fromlen, char *ibuf, int ilen, +- char *rbuf); + int ieee8021qaz_check_operstate(void); + int get_dcbx_hw(const char *ifname, __u8 *dcbx); + +diff --git a/lldp_8021qaz.c b/lldp_8021qaz.c +index 094676d..f154317 100644 +--- a/lldp_8021qaz.c ++++ b/lldp_8021qaz.c +@@ -396,7 +396,7 @@ static int read_cfg_file(char *ifname, struct lldp_agent *agent, + return 0; + } + +-inline int get_prio_map(u32 prio_map, int prio) ++static inline int get_prio_map(u32 prio_map, int prio) + { + if (prio > 7) + return 0; +@@ -404,7 +404,7 @@ inline int get_prio_map(u32 prio_map, int prio) + return (prio_map >> (4 * (7-prio))) & 0xF; + } + +-inline void set_prio_map(u32 *prio_map, u8 prio, int tc) ++static inline void set_prio_map(u32 *prio_map, u8 prio, int tc) + { + u32 mask = ~(0xffffffff & (0xF << (4 * (7-prio)))); + *prio_map &= mask; +-- +2.14.3 + diff --git a/package/open-lldp/0003-Makefile.am-disable-Werror.patch b/package/open-lldp/0003-Makefile.am-disable-Werror.patch new file mode 100644 index 0000000000..d6393bdc68 --- /dev/null +++ b/package/open-lldp/0003-Makefile.am-disable-Werror.patch @@ -0,0 +1,38 @@ +From c350f263136801fd54d42322a07a3b5ad2181dd9 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 18 Jan 2018 09:29:32 +0100 +Subject: [PATCH] Makefile.am: disable -Werror + +Due to additional warnings in recent gcc versions and the use of +-Werror the build fails for reasons that are not that important. For +example: + +clif.c:54:2: error: implicit declaration of function 'memset' [-Werror=implicit-function-declaration] + memset(clif, 0, sizeof(*clif)); + +or: + +log.c:46:30: error: format '%ld' expects argument of type 'long int', but argument 5 has type '__suseconds_t {aka int}' [-Werror=format=] + printf("%02d:%02d:%02d.%06ld ", + +Signed-off-by: Thomas Petazzoni +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 551d4c7..62a52a5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -16,7 +16,7 @@ ACLOCAL_AMFLAGS = -I m4 + parse_cli.o: CFLAGS+=-U_FORTIFY_SOURCE -Wno-error + + ## system requires a shared libconfig +-AM_CFLAGS = -Wall -Werror -Wextra -Wformat=2 $(LIBCONFIG_CFLAGS) $(LIBNL_CFLAGS) ++AM_CFLAGS = -Wall -Wextra -Wformat=2 $(LIBCONFIG_CFLAGS) $(LIBNL_CFLAGS) + AM_LDFLAGS = $(LIBCONFIG_LIBS) $(LIBNL_LIBS) -lrt + + ## header files to be installed, for programs using the client interface to lldpad +-- +2.14.3 + diff --git a/package/open-lldp/0004-fixed-unknown-type-pid_t.patch b/package/open-lldp/0004-fixed-unknown-type-pid_t.patch new file mode 100644 index 0000000000..2d3b9148e0 --- /dev/null +++ b/package/open-lldp/0004-fixed-unknown-type-pid_t.patch @@ -0,0 +1,41 @@ +From 41e9e6b5aa13d65480cc960a7f15f97d74d64090 Mon Sep 17 00:00:00 2001 +From: Laurent Charpentier +Date: Mon, 22 Jan 2018 10:49:45 +0100 +Subject: [PATCH] fixed unknown type pid_t + +Fixed 'unknown type pid_t' gcc compile error in dcbtool_cmds.c and +lldptool_cmds.c + +Signed-off-by: Laurent Charpentier +--- + dcbtool_cmds.c | 1 + + lldptool_cmds.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/dcbtool_cmds.c b/dcbtool_cmds.c +index a5cd0fe..ee5c144 100644 +--- a/dcbtool_cmds.c ++++ b/dcbtool_cmds.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + #include "clif.h" + #include "dcbtool.h" + #include "lldp_dcbx_cmds.h" +diff --git a/lldptool_cmds.c b/lldptool_cmds.c +index daef8c8..c793e34 100644 +--- a/lldptool_cmds.c ++++ b/lldptool_cmds.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + #include "clif.h" + #include "dcb_types.h" + #include "lldptool.h" +-- +2.14.3 + diff --git a/package/open-lldp/Config.in b/package/open-lldp/Config.in new file mode 100644 index 0000000000..b40bff8996 --- /dev/null +++ b/package/open-lldp/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_OPEN_LLDP + bool "open-lldp" + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_HAS_THREADS # libnl + select BR2_PACKAGE_LIBCONFIG + select BR2_PACKAGE_LIBNL + select BR2_PACKAGE_READLINE + help + This package contains the Linux user space daemon and + configuration tool for Intel LLDP Agent with Enhanced Ethernet + support for the Data Center. + + http://open-lldp.org/ + +comment "open-lldp needs a toolchain w/ dynamic library, threads" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/open-lldp/open-lldp.hash b/package/open-lldp/open-lldp.hash new file mode 100644 index 0000000000..fdd85fed4f --- /dev/null +++ b/package/open-lldp/open-lldp.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 f2c8a3307970374b01ad832ea18cf6d9abce6f00b3d8aed9305aa1428ad8252d open-lldp-036e314bd93602f7388262cc37faf8b626980af1.tar.gz +sha256 67af5abeb092213cd9c53781503320f635ba28b641e0c3f24d367e8e93a9839b COPYING diff --git a/package/open-lldp/open-lldp.mk b/package/open-lldp/open-lldp.mk new file mode 100644 index 0000000000..b650aea3c1 --- /dev/null +++ b/package/open-lldp/open-lldp.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# open-lldp +# +################################################################################ + +OPEN_LLDP_VERSION = 036e314bd93602f7388262cc37faf8b626980af1 +OPEN_LLDP_SITE = git://open-lldp.org/open-lldp.git +OPEN_LLDP_DEPENDENCIES = readline libnl libconfig host-pkgconf +OPEN_LLDP_LICENSE = GPL-2.0 +OPEN_LLDP_LICENSE_FILES = COPYING + +# Fetching from git, need to generate configure/Makefile.in +OPEN_LLDP_AUTORECONF = YES + +# Create the m4 directory (missing from the archive). +# This is required for autoconf. +define OPEN_LLDP_CREATE_M4 + mkdir -p $(@D)/m4 +endef + +OPEN_LLDP_PRE_CONFIGURE_HOOKS += OPEN_LLDP_CREATE_M4 + +$(eval $(autotools-package)) diff --git a/package/open-plc-utils/open-plc-utils.mk b/package/open-plc-utils/open-plc-utils.mk index d45bb9d4f5..e1e66bf7e0 100644 --- a/package/open-plc-utils/open-plc-utils.mk +++ b/package/open-plc-utils/open-plc-utils.mk @@ -15,8 +15,14 @@ OPEN_PLC_UTILS_LICENSE_FILES = LICENSE # Yes, we're passing __UCLIBC__ in EXTRA_CFLAGS, as it fixes a build # issue for non-uClibc toolchains. It is the very crappy solution # suggested at https://github.com/qca/open-plc-utils/issues/36. +OPEN_PLC_UTILS_MAKE_OPTS = \ + EXTRA_CFLAGS="$(TARGET_CFLAGS) -D__UCLIBC__" \ + EXTRA_CXXFLAGS="$(TARGET_CXXFLAGS)" \ + EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" + define OPEN_PLC_UTILS_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) CROSS=$(TARGET_CROSS) EXTRA_CFLAGS="-D__UCLIBC__" -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE) CROSS=$(TARGET_CROSS) \ + $(OPEN_PLC_UTILS_MAKE_OPTS) -C $(@D) endef define OPEN_PLC_UTILS_INSTALL_TARGET_CMDS diff --git a/package/openblas/Config.in b/package/openblas/Config.in index bc628960f5..8e71a43f98 100644 --- a/package/openblas/Config.in +++ b/package/openblas/Config.in @@ -3,10 +3,10 @@ config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET default "P2" if BR2_x86_pentium2 default "KATMAI" if BR2_x86_pentium3 default "NORTHWOOD" if BR2_x86_pentium4 - default "PRESCOTT" if BR2_x86_prescott + default "PRESCOTT" if BR2_x86_prescott || BR2_x86_nocona default "BANIAS" if BR2_x86_pentium_m default "CORE2" if BR2_x86_core2 - default "NEHALEM" if BR2_x86_corei7 + default "NEHALEM" if BR2_x86_corei7 || BR2_x86_silvermont default "SANDYBRIDGE" if BR2_x86_corei7_avx default "HASWELL" if BR2_x86_core_avx2 default "ATOM" if BR2_x86_atom @@ -14,9 +14,9 @@ config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET default "OPTERON" if BR2_x86_opteron default "OPTERON_SSE3" if BR2_x86_opteron_sse3 default "BARCELONA" if BR2_x86_barcelona + default "JAGUAR" if BR2_x86_jaguar default "STEAMROLLER" if BR2_x86_steamroller default "VIAC3" if BR2_x86_c3 || BR2_x86_c32 - default "SSE_GENERIC" if BR2_X86_CPU_HAS_SSE default "POWER4" if BR2_powerpc_power4 default "POWER5" if BR2_powerpc_power5 default "POWER6" if BR2_powerpc_power6 diff --git a/package/opencore-amr/Config.in b/package/opencore-amr/Config.in index 1ccc631966..e35c8dddae 100644 --- a/package/opencore-amr/Config.in +++ b/package/opencore-amr/Config.in @@ -2,8 +2,9 @@ config BR2_PACKAGE_OPENCORE_AMR bool "opencore-amr" depends on BR2_INSTALL_LIBSTDCPP help - Library of OpenCORE Framework implementation of Adaptive Multi Rate - Narrowband and Wideband (AMR-NB and AMR-WB) speech codec. + Library of OpenCORE Framework implementation of Adaptive + Multi Rate Narrowband and Wideband (AMR-NB and AMR-WB) + speech codec. http://opencore-amr.sourceforge.net/ diff --git a/package/opencv/Config.in b/package/opencv/Config.in index 26109a707d..b7c8c41682 100644 --- a/package/opencv/Config.in +++ b/package/opencv/Config.in @@ -5,8 +5,8 @@ menuconfig BR2_PACKAGE_OPENCV depends on BR2_USE_WCHAR select BR2_PACKAGE_ZLIB help - OpenCV (Open Source Computer Vision) is a library of programming - functions for real time computer vision. + OpenCV (Open Source Computer Vision) is a library of + programming functions for real time computer vision. http://opencv.org/ @@ -135,8 +135,8 @@ config BR2_PACKAGE_OPENCV_LIB_SUPERRES select BR2_PACKAGE_OPENCV_LIB_IMGPROC select BR2_PACKAGE_OPENCV_LIB_VIDEO help - Include opencv_superres "super resolution" - module into the OpenCV - build. + Include opencv_superres "super resolution" - module into the + OpenCV build. config BR2_PACKAGE_OPENCV_LIB_TS bool "ts (touchscreen)" @@ -218,7 +218,6 @@ comment "gstreamer-0.10 support needs a toolchain w/ wchar, threads, dynamic lib depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ BR2_STATIC_LIBS - config BR2_PACKAGE_OPENCV_WITH_GSTREAMER1 bool "gstreamer-1.x" depends on BR2_USE_MMU # gstreamer1 -> libglib2 @@ -290,7 +289,8 @@ config BR2_PACKAGE_OPENCV_WITH_V4L help Enable Video 4 Linux support. - If the package libv4l is enabled, its support is automatically enabled. + If the package libv4l is enabled, its support is + automatically enabled. comment "Install options" diff --git a/package/opencv3/Config.in b/package/opencv3/Config.in index 2214ee80ca..80a297a904 100644 --- a/package/opencv3/Config.in +++ b/package/opencv3/Config.in @@ -8,8 +8,8 @@ menuconfig BR2_PACKAGE_OPENCV3 depends on !BR2_PACKAGE_OPENCV select BR2_PACKAGE_ZLIB help - OpenCV (Open Source Computer Vision) is a library of programming - functions for real time computer vision. + OpenCV (Open Source Computer Vision) is a library of + programming functions for real time computer vision. Note that the opencv_core module and the opencv_hal library are always built and installed, not matter which other @@ -26,8 +26,8 @@ config BR2_PACKAGE_OPENCV3_LIB_CALIB3D select BR2_PACKAGE_OPENCV3_LIB_FEATURES2D select BR2_PACKAGE_OPENCV3_LIB_IMGPROC help - Include opencv_calib3d (camera calibration and 3d reconstruction) module - into the OpenCV build. + Include opencv_calib3d (camera calibration and 3d + reconstruction) module into the OpenCV build. config BR2_PACKAGE_OPENCV3_LIB_FEATURES2D bool "features2d" @@ -35,15 +35,15 @@ config BR2_PACKAGE_OPENCV3_LIB_FEATURES2D select BR2_PACKAGE_OPENCV3_LIB_IMGPROC select BR2_PACKAGE_OPENCV3_LIB_ML help - Include opencv_features2d (2d features framework) module into the OpenCV - build. + Include opencv_features2d (2d features framework) module + into the OpenCV build. config BR2_PACKAGE_OPENCV3_LIB_FLANN bool "flann" # opencv_core dependency is already enabled help - Include opencv_flann (clustering and search in multi-dimensional spaces) - module into the OpenCV build. + Include opencv_flann (clustering and search in + multi-dimensional spaces) module into the OpenCV build. config BR2_PACKAGE_OPENCV3_LIB_HIGHGUI bool "highgui" @@ -51,8 +51,8 @@ config BR2_PACKAGE_OPENCV3_LIB_HIGHGUI select BR2_PACKAGE_OPENCV3_LIB_IMGPROC select BR2_PACKAGE_OPENCV3_LIB_VIDEOIO help - Include opencv_highgui (high-level gui and media i/o) module into the - OpenCV build. + Include opencv_highgui (high-level gui and media i/o) module + into the OpenCV build. if BR2_PACKAGE_OPENCV3_LIB_HIGHGUI @@ -89,7 +89,8 @@ config BR2_PACKAGE_OPENCV3_WITH_QT select BR2_PACKAGE_QT_GUI_MODULE select BR2_PACKAGE_QT_TEST help - Use Qt4 with QtTest and QtGui modules and STL support, as GUI toolkit. + Use Qt4 with QtTest and QtGui modules and STL support, as + GUI toolkit. comment "qt4 support needs qt" depends on BR2_USE_MMU # qt @@ -103,8 +104,8 @@ config BR2_PACKAGE_OPENCV3_WITH_QT5 select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_WIDGETS help - Use Qt5 with base, concurrent, test, gui and widgets components, as GUI - toolkit. + Use Qt5 with base, concurrent, test, gui and widgets + components, as GUI toolkit. comment "qt5 support needs qt5" depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 @@ -133,19 +134,22 @@ config BR2_PACKAGE_OPENCV3_LIB_IMGCODECS bool "imgcodecs" select BR2_PACKAGE_OPENCV3_LIB_IMGPROC help - Include opencv_imgcodecs (image codecs) module into the OpenCV build. + Include opencv_imgcodecs (image codecs) module into the + OpenCV build. config BR2_PACKAGE_OPENCV3_LIB_IMGPROC bool "imgproc" # opencv_core dependency is already enabled help - Include opencv_imgproc (image processing) module into the OpenCV build. + Include opencv_imgproc (image processing) module into the + OpenCV build. config BR2_PACKAGE_OPENCV3_LIB_ML bool "ml" # opencv_core dependency is already enabled help - Include opencv_ml (machine learning) module into the OpenCV build. + Include opencv_ml (machine learning) module into the OpenCV + build. config BR2_PACKAGE_OPENCV3_LIB_OBJDETECT bool "objdetect" @@ -153,14 +157,15 @@ config BR2_PACKAGE_OPENCV3_LIB_OBJDETECT select BR2_PACKAGE_OPENCV3_LIB_IMGPROC select BR2_PACKAGE_OPENCV3_LIB_ML help - Include opencv_objdetect (object detection) module into the OpenCV build. + Include opencv_objdetect (object detection) module into the + OpenCV build. config BR2_PACKAGE_OPENCV3_LIB_PHOTO bool "photo" select BR2_PACKAGE_OPENCV3_LIB_IMGPROC help - Include opencv_photo (computational photography) module into the OpenCV - build. + Include opencv_photo (computational photography) module into + the OpenCV build. config BR2_PACKAGE_OPENCV3_LIB_PYTHON bool "python" @@ -168,8 +173,8 @@ config BR2_PACKAGE_OPENCV3_LIB_PYTHON depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS select BR2_PACKAGE_PYTHON_NUMPY help - Include opencv_python module into the OpenCV build. - No python example is installed. + Include opencv_python module into the OpenCV build. No + python example is installed. config BR2_PACKAGE_OPENCV3_LIB_SHAPE bool "shape" @@ -177,8 +182,8 @@ config BR2_PACKAGE_OPENCV3_LIB_SHAPE select BR2_PACKAGE_OPENCV3_LIB_IMGPROC select BR2_PACKAGE_OPENCV3_LIB_VIDEO help - Include opencv_shape (shape descriptors and matchers) module into the - OpenCV build. + Include opencv_shape (shape descriptors and matchers) module + into the OpenCV build. config BR2_PACKAGE_OPENCV3_LIB_STITCHING bool "stitching" @@ -187,14 +192,16 @@ config BR2_PACKAGE_OPENCV3_LIB_STITCHING select BR2_PACKAGE_OPENCV3_LIB_IMGPROC select BR2_PACKAGE_OPENCV3_LIB_OBJDETECT help - Include opencv_stitching (images stitching) module into the OpenCV build. + Include opencv_stitching (images stitching) module into the + OpenCV build. config BR2_PACKAGE_OPENCV3_LIB_SUPERRES bool "superres" select BR2_PACKAGE_OPENCV3_LIB_IMGPROC select BR2_PACKAGE_OPENCV3_LIB_VIDEO help - Include opencv_superres (super resolution) module into the OpenCV build. + Include opencv_superres (super resolution) module into the + OpenCV build. config BR2_PACKAGE_OPENCV3_LIB_TS bool "ts" @@ -211,13 +218,15 @@ config BR2_PACKAGE_OPENCV3_LIB_VIDEOIO select BR2_PACKAGE_OPENCV3_LIB_IMGCODECS select BR2_PACKAGE_OPENCV3_LIB_IMGPROC help - Include opencv_videoio (media i/o) module into the OpenCV build. + Include opencv_videoio (media i/o) module into the OpenCV + build. config BR2_PACKAGE_OPENCV3_LIB_VIDEO bool "video" select BR2_PACKAGE_OPENCV3_LIB_IMGPROC help - Include opencv_video (video analysis) module into the OpenCV build. + Include opencv_video (video analysis) module into the OpenCV + build. config BR2_PACKAGE_OPENCV3_LIB_VIDEOSTAB bool "videostab" @@ -227,8 +236,8 @@ config BR2_PACKAGE_OPENCV3_LIB_VIDEOSTAB select BR2_PACKAGE_OPENCV3_LIB_PHOTO select BR2_PACKAGE_OPENCV3_LIB_VIDEO help - Include opencv_videostab (video stabilization) module into the OpenCV - build. + Include opencv_videostab (video stabilization) module into + the OpenCV build. comment "Test sets" config BR2_PACKAGE_OPENCV3_BUILD_TESTS @@ -318,16 +327,17 @@ config BR2_PACKAGE_OPENCV3_WITH_V4L help Enable Video 4 Linux support. - If the package libv4l is enabled, its support is automatically enabled. + If the package libv4l is enabled, its support is + automatically enabled. comment "Install options" config BR2_PACKAGE_OPENCV3_INSTALL_DATA bool "install extra data" help - Install various data that is used by cv libraries and/or demo - applications, specifically for haarcascades and lbpcascades - features. + Install various data that is used by cv libraries and/or + demo applications, specifically for haarcascades and + lbpcascades features. For further information: see OpenCV documentation. diff --git a/package/opencv3/opencv3.mk b/package/opencv3/opencv3.mk index cffe66b892..15e4eadfe3 100644 --- a/package/opencv3/opencv3.mk +++ b/package/opencv3/opencv3.mk @@ -327,6 +327,7 @@ OPENCV3_CONF_OPTS += \ -DPYTHON3_NUMPY_VERSION=$(PYTHON_NUMPY_VERSION) OPENCV3_DEPENDENCIES += python3 endif +OPENCV3_CONF_ENV += $(PKG_PYTHON_DISTUTILS_ENV) OPENCV3_DEPENDENCIES += python-numpy else OPENCV3_CONF_OPTS += \ diff --git a/package/openldap/Config.in b/package/openldap/Config.in index 3085a5c87e..bd39d0d022 100644 --- a/package/openldap/Config.in +++ b/package/openldap/Config.in @@ -3,8 +3,8 @@ config BR2_PACKAGE_OPENLDAP depends on BR2_USE_WCHAR depends on BR2_USE_MMU # needs fork() help - OpenLDAP Software is an open source implementation of - the Lightweight Directory Access Protocol. + OpenLDAP Software is an open source implementation of the + Lightweight Directory Access Protocol. This only installs client-side support. @@ -16,9 +16,9 @@ config BR2_PACKAGE_OPENLDAP_CLIENTS bool "openldap client binaries" default y help - Install the OpenLDAP client tools (ldapadd, ldapcompare, ldapdelete, - ldapexop, ldapmodify, ldapmodrdn, ldappasswd, ldapsearch, ldapurl, - ldapwhoami) + Install the OpenLDAP client tools (ldapadd, ldapcompare, + ldapdelete, ldapexop, ldapmodify, ldapmodrdn, ldappasswd, + ldapsearch, ldapurl, ldapwhoami) endif diff --git a/package/openntpd/0001-Revert-use-__dead-macro-from-sys-cdefs.h.patch b/package/openntpd/0001-Revert-use-__dead-macro-from-sys-cdefs.h.patch deleted file mode 100644 index 418f7a2098..0000000000 --- a/package/openntpd/0001-Revert-use-__dead-macro-from-sys-cdefs.h.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 17aa5d98191c4dc85d0645443fc97a12601ae8da Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 26 Sep 2017 14:55:31 +0300 -Subject: [PATCH] Revert "use __dead macro from sys/cdefs.h" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This partially reverts commit a7577667d673f49800e15461fe384817a1572eae. - -The musl C library does not use an internal cdefs.h header. As a result, -the definitions in sys/cdefs.h have no effect. This breads the build as -follows: - -In file included from adjfreq_linux.c:23:0: -../src/ntpd.h:448:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’ - __dead void fatal(const char *, ...) - ^~~~ -../src/ntpd.h:450:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’ - __dead void fatalx(const char *, ...) - ^~~~ - -Refer the related musl FAQ about cdefs.h: - - http://wiki.musl-libc.org/wiki/FAQ#Q:_I.27m_trying_to_compile_something_against_musl_and_I_get_error_messages_about_sys.2Fcdefs.h - -Keep the compiler attribute definition. - -Remove also from noinst_HEADERS. - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/openntpd-portable/openntpd-portable/pull/45 - - include/Makefile.am | 1 - - include/sys/cdefs.h | 16 ---------------- - include/sys/types.h | 4 ++++ - 3 files changed, 4 insertions(+), 17 deletions(-) - delete mode 100644 include/sys/cdefs.h - -diff --git a/include/Makefile.am b/include/Makefile.am -index a552026e8f25..3a5a01620d82 100644 ---- a/include/Makefile.am -+++ b/include/Makefile.am -@@ -1,6 +1,5 @@ - noinst_HEADERS = - noinst_HEADERS += machine/endian.h --noinst_HEADERS += sys/cdefs.h - noinst_HEADERS += sys/queue.h - noinst_HEADERS += sys/socket.h - noinst_HEADERS += sys/types.h -diff --git a/include/sys/cdefs.h b/include/sys/cdefs.h -deleted file mode 100644 -index 3dec43deec28..000000000000 ---- a/include/sys/cdefs.h -+++ /dev/null -@@ -1,16 +0,0 @@ --/* -- * Public domain -- * sys/cdefs.h compatibility shim -- */ -- --#include_next -- --#ifndef LIBCOMPAT_SYS_CDEFS_H --#define LIBCOMPAT_SYS_CDEFS_H -- --#if !defined(HAVE_ATTRIBUTE__DEAD) && !defined(__dead) --#define __dead __attribute__((__noreturn__)) --#define __pure __attribute__((__const__)) --#endif -- --#endif -diff --git a/include/sys/types.h b/include/sys/types.h -index 56aef0b61af8..86821c732ec3 100644 ---- a/include/sys/types.h -+++ b/include/sys/types.h -@@ -14,6 +14,10 @@ - #include <_bsd_types.h> - #endif - -+#if !defined(HAVE_ATTRIBUTE__DEAD) && !defined(__dead) -+#define __dead __attribute__((__noreturn__)) -+#endif -+ - #if !defined(HAVE_ATTRIBUTE__BOUNDED__) && !defined(__bounded__) - # define __bounded__(x, y, z) - #endif --- -2.14.1 - diff --git a/package/openntpd/0002-fix-musl.patch b/package/openntpd/0001-fix-musl.patch similarity index 100% rename from package/openntpd/0002-fix-musl.patch rename to package/openntpd/0001-fix-musl.patch diff --git a/package/openntpd/Config.in b/package/openntpd/Config.in index 1b856c03b8..c84d0ba25b 100644 --- a/package/openntpd/Config.in +++ b/package/openntpd/Config.in @@ -9,6 +9,9 @@ config BR2_PACKAGE_OPENNTPD to remote NTP servers and can act as NTP server itself, redistributing the local clock. It just works. + Crypto support is available if the LibreSSL library is + enabled. + http://www.openntpd.org/ comment "openntpd needs a toolchain w/ NPTL" diff --git a/package/openntpd/openntpd.hash b/package/openntpd/openntpd.hash index 1a73e8dc0b..4d00b7bb9d 100644 --- a/package/openntpd/openntpd.hash +++ b/package/openntpd/openntpd.hash @@ -1,2 +1,5 @@ +# from http://ftp.openbsd.org/pub/OpenBSD/OpenNTPD/SHA256 +sha256 7b02691524197e01ba6b1b4b7595b33956e657ba6d5c4cf2fc20ea3f4914c13a openntpd-6.2p3.tar.gz + # Locally computed -sha256 5808a4137b008a4db20907e1a482f474734b120f254e3c5feb90db15e0820fb2 openntpd-6.2p2.tar.gz +sha256 6c1822ee950652c12bb3773849db18794f62c63452a70d018edf23e8cba71839 COPYING diff --git a/package/openntpd/openntpd.mk b/package/openntpd/openntpd.mk index 308a1b1258..f5a5690479 100644 --- a/package/openntpd/openntpd.mk +++ b/package/openntpd/openntpd.mk @@ -4,13 +4,19 @@ # ################################################################################ -OPENNTPD_VERSION = 6.2p2 +OPENNTPD_VERSION = 6.2p3 OPENNTPD_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenNTPD OPENNTPD_LICENSE = MIT-like, BSD-2-Clause, BSD-3-Clause OPENNTPD_LICENSE_FILES = COPYING -# Patching include/Makefile.am +# Need to autoreconf for our libtool patch to apply properly OPENNTPD_AUTORECONF = YES +# Openntpd searches for tls_config_set_ca_mem which is only available +# in LibreSSL +ifeq ($(BR2_PACKAGE_LIBRESSL),y) +OPENNTPD_DEPENDENCIES += openssl +endif + # openntpd uses pthread functions for arc4random emulation but forgets # to use -pthread OPENNTPD_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -pthread" diff --git a/package/openocd/0003-CVE-2018-5704-Prevent-some-forms-of-Cross-Protocol-S.patch b/package/openocd/0003-CVE-2018-5704-Prevent-some-forms-of-Cross-Protocol-S.patch new file mode 100644 index 0000000000..ba19bf5735 --- /dev/null +++ b/package/openocd/0003-CVE-2018-5704-Prevent-some-forms-of-Cross-Protocol-S.patch @@ -0,0 +1,50 @@ +From 3a223ca3ebc7ac24d7726a0cd58e5695bc813657 Mon Sep 17 00:00:00 2001 +From: Andreas Fritiofson +Date: Sat, 13 Jan 2018 21:00:47 +0100 +Subject: [PATCH] CVE-2018-5704: Prevent some forms of Cross Protocol Scripting + attacks + +OpenOCD can be targeted by a Cross Protocol Scripting attack from +a web browser running malicious code, such as the following PoC: + +var x = new XMLHttpRequest(); +x.open("POST", "http://127.0.0.1:4444", true); +x.send("exec xcalc\r\n"); + +This mitigation should provide some protection from browser-based +attacks and is based on the corresponding fix in Redis: + +https://github.com/antirez/redis/blob/8075572207b5aebb1385c4f233f5302544439325/src/networking.c#L1758 + + +Upstream-status: Under review: http://openocd.zylin.com/#/c/4335/ +Change-Id: Ia96ebe19b74b5805dc228bf7364c7971a90a4581 +Signed-off-by: Andreas Fritiofson +Reported-by: Josef Gajdusek +Signed-off-by: Peter Korsgaard +--- + src/server/startup.tcl | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/src/server/startup.tcl b/src/server/startup.tcl +index 64ace407..dd1b31e4 100644 +--- a/src/server/startup.tcl ++++ b/src/server/startup.tcl +@@ -8,3 +8,14 @@ proc ocd_gdb_restart {target_id} { + # one target + reset halt + } ++ ++proc prevent_cps {} { ++ echo "Possible SECURITY ATTACK detected." ++ echo "It looks like somebody is sending POST or Host: commands to OpenOCD." ++ echo "This is likely due to an attacker attempting to use Cross Protocol Scripting" ++ echo "to compromise your OpenOCD instance. Connection aborted." ++ exit ++} ++ ++proc POST {args} { prevent_cps } ++proc Host: {args} { prevent_cps } +-- +2.11.0 + diff --git a/package/openocd/openocd.mk b/package/openocd/openocd.mk index 9d2576ceeb..548d8b81a0 100644 --- a/package/openocd/openocd.mk +++ b/package/openocd/openocd.mk @@ -11,7 +11,12 @@ OPENOCD_LICENSE = GPL-2.0+ OPENOCD_LICENSE_FILES = COPYING # 0002-configure-enable-build-on-uclinux.patch patches configure.ac OPENOCD_AUTORECONF = YES -OPENOCD_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=gnu99" + +# The bundled jimtcl really wants to find a existing $CXX, so feed it +# false when we do not have one. +OPENOCD_CONF_ENV = \ + $(if $(BR2_INSTALL_LIBSTDCPP),,CXX=false) \ + CFLAGS="$(TARGET_CFLAGS) -std=gnu99" OPENOCD_CONF_OPTS = \ --oldincludedir=$(STAGING_DIR)/usr/include \ diff --git a/package/openpowerlink/0004-use-contrib-getopt-only-on-Windows.patch b/package/openpowerlink/0004-use-contrib-getopt-only-on-Windows.patch deleted file mode 100644 index 9680c279c2..0000000000 --- a/package/openpowerlink/0004-use-contrib-getopt-only-on-Windows.patch +++ /dev/null @@ -1,102 +0,0 @@ -From e7e421526b17c179d5ac33a982b180ff5f7ef7a7 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 27 May 2017 23:51:41 +0200 -Subject: [PATCH] use contrib getopt() only on Windows - -Otherwise, contrib getopt will clash with the one from the libc when -building statically. - -lib64/libc.a(getopt.os):(.data+0x8): multiple definition of `optind' -CMakeFiles/demo_mn_console.dir/__/__/contrib/getopt/getopt.c.o:(.data+0x8): first defined here -lib64/libc.a(getopt.os):(.data+0x4): multiple definition of `opterr' -CMakeFiles/demo_mn_console.dir/__/__/contrib/getopt/getopt.c.o:(.data+0xc): first defined here -/lib64/libc.a(getopt.os): In function `__GI_getopt': -getopt.c:(.text+0x76e): multiple definition of `getopt' - -Signed-off-by: Romain Naour ---- - apps/demo_cn_console/CMakeLists.txt | 2 +- - apps/demo_cn_console/src/main.c | 6 ++++++ - apps/demo_mn_console/CMakeLists.txt | 2 +- - apps/demo_mn_console/src/main.c | 6 ++++++ - 4 files changed, 14 insertions(+), 2 deletions(-) - -diff --git a/apps/demo_cn_console/CMakeLists.txt b/apps/demo_cn_console/CMakeLists.txt -index 3bb8f25..800797a 100644 ---- a/apps/demo_cn_console/CMakeLists.txt -+++ b/apps/demo_cn_console/CMakeLists.txt -@@ -61,7 +61,6 @@ SET(DEMO_SOURCES - ${COMMON_SOURCE_DIR}/eventlog/eventlog.c - ${COMMON_SOURCE_DIR}/eventlog/eventlogstring.c - ${CONTRIB_SOURCE_DIR}/console/printlog.c -- ${CONTRIB_SOURCE_DIR}/getopt/getopt.c - ) - - INCLUDE_DIRECTORIES( -@@ -114,6 +113,7 @@ ENDIF (CFG_KERNEL_STACK_DIRECTLINK) - IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") - include(linux.cmake) - ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "Windows") -+ SET(DEMO_SOURCES ${DEMO_SOURCES} ${CONTRIB_SOURCE_DIR}/getopt/getopt.c) - include (windows.cmake) - ELSE() - MESSAGE(FATAL_ERROR "System ${CMAKE_SYSTEM_NAME} is not supported!") -diff --git a/apps/demo_cn_console/src/main.c b/apps/demo_cn_console/src/main.c -index d64536c..f790570 100644 ---- a/apps/demo_cn_console/src/main.c -+++ b/apps/demo_cn_console/src/main.c -@@ -50,7 +50,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include - #include -+ -+#if (TARGET_SYSTEM == _WIN32_) - #include -+#else -+#include -+#endif -+ - #include - #include - -diff --git a/apps/demo_mn_console/CMakeLists.txt b/apps/demo_mn_console/CMakeLists.txt -index 6f9c5a1..2e74529 100644 ---- a/apps/demo_mn_console/CMakeLists.txt -+++ b/apps/demo_mn_console/CMakeLists.txt -@@ -68,7 +68,6 @@ SET(DEMO_SOURCES - ${COMMON_SOURCE_DIR}/eventlog/eventlog.c - ${COMMON_SOURCE_DIR}/eventlog/eventlogstring.c - ${CONTRIB_SOURCE_DIR}/console/printlog.c -- ${CONTRIB_SOURCE_DIR}/getopt/getopt.c - ${FIRMWARE_MANAGER_SOURCES} - ) - -@@ -131,6 +130,7 @@ ENDIF() - IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") - include(linux.cmake) - ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "Windows") -+ SET(DEMO_SOURCES ${DEMO_SOURCES} ${CONTRIB_SOURCE_DIR}/getopt/getopt.c) - include (windows.cmake) - ELSE() - MESSAGE(FATAL_ERROR "System ${CMAKE_SYSTEM_NAME} is not supported!") -diff --git a/apps/demo_mn_console/src/main.c b/apps/demo_mn_console/src/main.c -index cba747d..b766ed1 100644 ---- a/apps/demo_mn_console/src/main.c -+++ b/apps/demo_mn_console/src/main.c -@@ -50,7 +50,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include - #include -+ -+#if (TARGET_SYSTEM == _WIN32_) - #include -+#else -+#include -+#endif -+ - #include - #include - #include --- -2.9.4 - diff --git a/package/openpowerlink/0005-use-pcap-config-to-fix-static-linking-with-libpcap.patch b/package/openpowerlink/0005-use-pcap-config-to-fix-static-linking-with-libpcap.patch deleted file mode 100644 index e2c0311544..0000000000 --- a/package/openpowerlink/0005-use-pcap-config-to-fix-static-linking-with-libpcap.patch +++ /dev/null @@ -1,166 +0,0 @@ -From 88c0af910edd156075acf04d8497f541ed377d4b Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 28 May 2017 00:25:11 +0200 -Subject: [PATCH] use pcap-config to fix static linking with libpcap - -When linking demo_mn_console statically with pcap, the CMake build -system forget to link with other libraries linked with libpcap -(-lnl-genl-3 -lnl-3 -ldbus-1 -pthread). - -[100%] Linking C executable demo_mn_console -lib64/libpcap.a(pcap-linux.o): In function nl80211_init': pcap-linux.c:(.text+0x41e): undefined reference tonl_socket_alloc' - -To fix this, the build system could use pcap-config: -pcap-config --libs --static --L/path/to/sysroot/usr/lib -lpcap -L/path/to/sysroot/usr/lib/.libs --lnl-genl-3 -lnl-3 -L/path/to/sysroot/usr/lib -ldbus-1 -pthread - -Fixes: -http://autobuild.buildroot.net/results/f43/f437d09ac6c689c911e1885b95da33b692f2cb3c -http://autobuild.buildroot.net/results/385/3859dc0f4de7e3284a96d5841f040f69f71842df -https://github.com/OpenAutomationTechnologies/openPOWERLINK_V2/issues/187 - -Signed-off-by: Romain Naour ---- - apps/demo_cn_console/linux.cmake | 20 ++++++++++++++++++++ - apps/demo_mn_console/linux.cmake | 20 ++++++++++++++++++++ - apps/demo_mn_qt/linux.cmake | 22 +++++++++++++++++++++- - drivers/linux/drv_daemon_pcap/CMakeLists.txt | 22 +++++++++++++++++++++- - 4 files changed, 82 insertions(+), 2 deletions(-) - -diff --git a/apps/demo_cn_console/linux.cmake b/apps/demo_cn_console/linux.cmake -index 1c6f51c..7752917 100644 ---- a/apps/demo_cn_console/linux.cmake -+++ b/apps/demo_cn_console/linux.cmake -@@ -46,8 +46,28 @@ SET (DEMO_ARCH_SOURCES - ################################################################################ - # Set architecture specific libraries - -+IF (NOT CFG_COMPILE_SHARED_LIBRARY) -+ SET(PCAP_CONFIG_OPTS --static) -+ENDIF() -+ - IF (CFG_KERNEL_STACK_DIRECTLINK OR CFG_KERNEL_STACK_USERSPACE_DAEMON) -+ -+find_program(PCAP_CONFIG NAMES pcap-config PATHS) -+ -+if (PCAP_CONFIG) -+ message (STATUS "Looking for pcap-config... ${PCAP_CONFIG}") -+ -+ execute_process (COMMAND ${PCAP_CONFIG} --libs ${PCAP_CONFIG_OPTS} -+ OUTPUT_VARIABLE PCAP_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) -+ execute_process (COMMAND ${PCAP_CONFIG} --cflags ${PCAP_CONFIG_OPTS} -+ OUTPUT_VARIABLE PCAP_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) -+ -+ SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} ${PCAP_LDFLAGS}) -+else (PCAP_CONFIG) -+ message (STATUS "pcap-config not found, using defaults...") - SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pcap) -+endif (PCAP_CONFIG) -+ - ENDIF (CFG_KERNEL_STACK_DIRECTLINK OR CFG_KERNEL_STACK_USERSPACE_DAEMON) - SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pthread rt) - -diff --git a/apps/demo_mn_console/linux.cmake b/apps/demo_mn_console/linux.cmake -index d24e4fc..5951dbf 100644 ---- a/apps/demo_mn_console/linux.cmake -+++ b/apps/demo_mn_console/linux.cmake -@@ -46,8 +46,28 @@ SET (DEMO_ARCH_SOURCES - ################################################################################ - # Set architecture specific libraries - -+IF (NOT CFG_COMPILE_SHARED_LIBRARY) -+ SET(PCAP_CONFIG_OPTS --static) -+ENDIF() -+ - IF (CFG_KERNEL_STACK_DIRECTLINK OR CFG_KERNEL_STACK_USERSPACE_DAEMON) -+ -+find_program(PCAP_CONFIG NAMES pcap-config PATHS) -+ -+if (PCAP_CONFIG) -+ message (STATUS "Looking for pcap-config... ${PCAP_CONFIG}") -+ -+ execute_process (COMMAND ${PCAP_CONFIG} --libs ${PCAP_CONFIG_OPTS} -+ OUTPUT_VARIABLE PCAP_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) -+ execute_process (COMMAND ${PCAP_CONFIG} --cflags ${PCAP_CONFIG_OPTS} -+ OUTPUT_VARIABLE PCAP_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) -+ -+ SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} ${PCAP_LDFLAGS}) -+else (PCAP_CONFIG) -+ message (STATUS "pcap-config not found, using defaults...") - SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pcap) -+endif (PCAP_CONFIG) -+ - ENDIF (CFG_KERNEL_STACK_DIRECTLINK OR CFG_KERNEL_STACK_USERSPACE_DAEMON) - SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pthread rt) - -diff --git a/apps/demo_mn_qt/linux.cmake b/apps/demo_mn_qt/linux.cmake -index 6ed75ee..c69dbd9 100644 ---- a/apps/demo_mn_qt/linux.cmake -+++ b/apps/demo_mn_qt/linux.cmake -@@ -37,8 +37,28 @@ - ################################################################################ - # Set architecture specific libraries - -+IF (NOT CFG_COMPILE_SHARED_LIBRARY) -+ SET(PCAP_CONFIG_OPTS --static) -+ENDIF() -+ - IF(CFG_KERNEL_STACK_DIRECTLINK OR CFG_KERNEL_STACK_USERSPACE_DAEMON) -- SET(ARCH_LIBRARIES ${ARCH_LIBRARIES} pcap) -+ -+find_program(PCAP_CONFIG NAMES pcap-config PATHS) -+ -+if (PCAP_CONFIG) -+ message (STATUS "Looking for pcap-config... ${PCAP_CONFIG}") -+ -+ execute_process (COMMAND ${PCAP_CONFIG} --libs ${PCAP_CONFIG_OPTS} -+ OUTPUT_VARIABLE PCAP_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) -+ execute_process (COMMAND ${PCAP_CONFIG} --cflags ${PCAP_CONFIG_OPTS} -+ OUTPUT_VARIABLE PCAP_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) -+ -+ SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} ${PCAP_LDFLAGS}) -+else (PCAP_CONFIG) -+ message (STATUS "pcap-config not found, using defaults...") -+ SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pcap) -+endif (PCAP_CONFIG) -+ - ENDIF() - SET(ARCH_LIBRARIES ${ARCH_LIBRARIES} pthread rt) - -diff --git a/drivers/linux/drv_daemon_pcap/CMakeLists.txt b/drivers/linux/drv_daemon_pcap/CMakeLists.txt -index ecceb4c..b362a34 100644 ---- a/drivers/linux/drv_daemon_pcap/CMakeLists.txt -+++ b/drivers/linux/drv_daemon_pcap/CMakeLists.txt -@@ -140,7 +140,27 @@ INCLUDE_DIRECTORIES( - ${CONTRIB_SOURCE_DIR} - ) - --SET (ARCH_LIBRARIES pcap pthread rt) -+IF (NOT CFG_COMPILE_SHARED_LIBRARY) -+ SET(PCAP_CONFIG_OPTS --static) -+ENDIF() -+ -+find_program(PCAP_CONFIG NAMES pcap-config PATHS) -+ -+if (PCAP_CONFIG) -+ message (STATUS "Looking for pcap-config... ${PCAP_CONFIG}") -+ -+ execute_process (COMMAND ${PCAP_CONFIG} --libs ${PCAP_CONFIG_OPTS} -+ OUTPUT_VARIABLE PCAP_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) -+ execute_process (COMMAND ${PCAP_CONFIG} --cflags ${PCAP_CONFIG_OPTS} -+ OUTPUT_VARIABLE PCAP_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) -+ -+ SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} ${PCAP_LDFLAGS}) -+else (PCAP_CONFIG) -+ message (STATUS "pcap-config not found, using defaults...") -+ SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pcap) -+endif (PCAP_CONFIG) -+ -+SET (ARCH_LIBRARIES ${ARCH_LIBRARIES} pthread rt) - - ADD_EXECUTABLE(${EXE_NAME} ${DRV_SOURCES}) - SET_PROPERTY(TARGET ${EXE_NAME} PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG;DEF_DEBUG_LVL=${CFG_DEBUG_LVL}) --- -2.9.4 - diff --git a/package/openpowerlink/openpowerlink.hash b/package/openpowerlink/openpowerlink.hash index 5c95431c73..f69950ddcf 100644 --- a/package/openpowerlink/openpowerlink.hash +++ b/package/openpowerlink/openpowerlink.hash @@ -1,5 +1,5 @@ -# From http://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.6.1/ -md5 9f53ccc72356cf421ecd089f91421393 openPOWERLINK_V2.6.1.tar.gz -sha1 dfb97845937e8d1de3e554c17b951a115352faa6 openPOWERLINK_V2.6.1.tar.gz +# From http://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.6.2/ +md5 bbb268e33e55424de563cb677703d8f7 openPOWERLINK_V2.6.2.tar.gz +sha1 bf6a8b202c1192b531ce6d6c4c6254e5689c65fe openPOWERLINK_V2.6.2.tar.gz # sha256 locally computed -sha256 89a8b321938f965aa03610f40c38d2f17242aab1b0b5f24b93c4542f2f3fbd5c openPOWERLINK_V2.6.1.tar.gz +sha256 38d7a93c05cc0167be5c498e625d1efddeac2616ceb1bc8c3c6679552ae6da15 openPOWERLINK_V2.6.2.tar.gz diff --git a/package/openpowerlink/openpowerlink.mk b/package/openpowerlink/openpowerlink.mk index c9ca4ccf05..e2958b30b1 100644 --- a/package/openpowerlink/openpowerlink.mk +++ b/package/openpowerlink/openpowerlink.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENPOWERLINK_VERSION = V2.6.1 +OPENPOWERLINK_VERSION = V2.6.2 OPENPOWERLINK_SITE = http://downloads.sourceforge.net/project/openpowerlink/openPOWERLINK/$(OPENPOWERLINK_VERSION) OPENPOWERLINK_SOURCE = openPOWERLINK_$(OPENPOWERLINK_VERSION).tar.gz OPENPOWERLINK_LICENSE = BSD-2-Clause, GPL-2.0 diff --git a/package/openssh/0001-configure-ac-detect-mips-abi.patch b/package/openssh/0001-configure-ac-detect-mips-abi.patch deleted file mode 100644 index 0d43e6baf0..0000000000 --- a/package/openssh/0001-configure-ac-detect-mips-abi.patch +++ /dev/null @@ -1,44 +0,0 @@ -From f4fcd8c788a4854d4ebae400cf55e3957f906835 Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Tue, 20 Jun 2017 16:42:11 +0100 -Subject: [PATCH] configure.ac: detect MIPS ABI - -Signed-off-by: Vicente Olivert Riera -[Upstream commit: ttps://github.com/openssh/openssh-portable/commit/f4fcd8c788a4854d4ebae400cf55e3957f906835] -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 18079acba..f990cfe08 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -746,6 +746,27 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) - fi - AC_CHECK_HEADERS([linux/seccomp.h linux/filter.h linux/audit.h], [], - [], [#include ]) -+ # Obtain MIPS ABI -+ case "$host" in -+ mips*) -+ AC_COMPILE_IFELSE([ -+#if _MIPS_SIM != _ABIO32 -+#error -+#endif -+ ],[mips_abi="o32"],[AC_COMPILE_IFELSE([ -+#if _MIPS_SIM != _ABIN32 -+#error -+#endif -+ ],[mips_abi="n32"],[AC_COMPILE_IFELSE([ -+#if _MIPS_SIM != _ABI64 -+#error -+#endif -+ ],[mips_abi="n64"],[AC_MSG_ERROR([unknown MIPS ABI]) -+ ]) -+ ]) -+ ]) -+ ;; -+ esac - AC_MSG_CHECKING([for seccomp architecture]) - seccomp_audit_arch= - case "$host" in diff --git a/package/openssh/0003-fix-pam-uclibc-pthreads-clash.patch b/package/openssh/0001-fix-pam-uclibc-pthreads-clash.patch similarity index 100% rename from package/openssh/0003-fix-pam-uclibc-pthreads-clash.patch rename to package/openssh/0001-fix-pam-uclibc-pthreads-clash.patch diff --git a/package/openssh/0002-configure-ac-properly-set-seccomp-audit-arch-for-mips64.patch b/package/openssh/0002-configure-ac-properly-set-seccomp-audit-arch-for-mips64.patch deleted file mode 100644 index 879af5e3d5..0000000000 --- a/package/openssh/0002-configure-ac-properly-set-seccomp-audit-arch-for-mips64.patch +++ /dev/null @@ -1,63 +0,0 @@ -From afc3e31b637db9dae106d4fad78f7b481c8c24e3 Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Tue, 20 Jun 2017 16:42:28 +0100 -Subject: [PATCH] configure.ac: properly set seccomp_audit_arch for MIPS64 - -Currently seccomp_audit_arch is set to AUDIT_ARCH_MIPS64 or -AUDIT_ARCH_MIPSEL64 (depending on the endinness) when openssh is built -for MIPS64. However, that's only valid for n64 ABI. The right macros for -n32 ABI defined in seccomp.h are AUDIT_ARCH_MIPS64N32 and -AUDIT_ARCH_MIPSEL64N32, for big and little endian respectively. - -Because of that an sshd built for MIPS64 n32 rejects connection attempts -and the output of strace reveals that the problem is related to seccomp -audit: - -[pid 194] prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, {len=57, -filter=0x555d5da0}) = 0 -[pid 194] write(7, "\0\0\0]\0\0\0\5\0\0\0Ulist_hostkey_types: "..., 97) = ? -[pid 193] <... poll resumed> ) = 2 ([{fd=5, revents=POLLIN|POLLHUP}, -{fd=6, revents=POLLHUP}]) -[pid 194] +++ killed by SIGSYS +++ - -This patch fixes that problem by setting the right value to -seccomp_audit_arch taking into account the MIPS64 ABI. - -Signed-off-by: Vicente Olivert Riera -[Upstream commit: https://github.com/openssh/openssh-portable/commit/afc3e31b637db9dae106d4fad78f7b481c8c24e3] -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 18 ++++++++++++++++-- - 1 file changed, 16 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index f990cfe08..5d640f679 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -801,10 +801,24 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) - seccomp_audit_arch=AUDIT_ARCH_MIPSEL - ;; - mips64-*) -- seccomp_audit_arch=AUDIT_ARCH_MIPS64 -+ case "$mips_abi" in -+ "n32") -+ seccomp_audit_arch=AUDIT_ARCH_MIPS64N32 -+ ;; -+ "n64") -+ seccomp_audit_arch=AUDIT_ARCH_MIPS64 -+ ;; -+ esac - ;; - mips64el-*) -- seccomp_audit_arch=AUDIT_ARCH_MIPSEL64 -+ case "$mips_abi" in -+ "n32") -+ seccomp_audit_arch=AUDIT_ARCH_MIPSEL64N32 -+ ;; -+ "n64") -+ seccomp_audit_arch=AUDIT_ARCH_MIPSEL64 -+ ;; -+ esac - ;; - esac - if test "x$seccomp_audit_arch" != "x" ; then diff --git a/package/openssh/0004-fix-howmany-include.patch b/package/openssh/0002-fix-howmany-include.patch similarity index 100% rename from package/openssh/0004-fix-howmany-include.patch rename to package/openssh/0002-fix-howmany-include.patch diff --git a/package/openssh/0005-openbsd-compat-bsd-getpagesize.c-include-includes.h-.patch b/package/openssh/0005-openbsd-compat-bsd-getpagesize.c-include-includes.h-.patch deleted file mode 100644 index ce60072934..0000000000 --- a/package/openssh/0005-openbsd-compat-bsd-getpagesize.c-include-includes.h-.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 9a43657a3dcb868b4f36ade3aba5dcf0871fb412 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Mon, 30 Oct 2017 23:36:56 +0100 -Subject: [PATCH] openbsd-compat/bsd-getpagesize.c: include includes.h for - config.h defines - -The configure script checks for getpagesize() and sets HAVE_GETPAGESIZE in -config.h, but bsd-getpagesize.c forgot to include includes.h (which -indirectly includes config.h) so the checks always fails, causing linker -issues when linking statically on systems with getpagesize(): - -http://autobuild.buildroot.net/results/8cc/8cc30818a400c7a392a3de787cabc9cd8425495f/build-end.log - -Fix it by including includes.h - -Signed-off-by: Peter Korsgaard ---- - openbsd-compat/bsd-getpagesize.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/openbsd-compat/bsd-getpagesize.c b/openbsd-compat/bsd-getpagesize.c -index 9daddfbd..416a8d4c 100644 ---- a/openbsd-compat/bsd-getpagesize.c -+++ b/openbsd-compat/bsd-getpagesize.c -@@ -1,5 +1,7 @@ - /* Placed in the public domain */ - -+#include "includes.h" -+ - #ifndef HAVE_GETPAGESIZE - - #include --- -2.11.0 - diff --git a/package/openssh/Config.in b/package/openssh/Config.in index 75911402ae..683a9c0e51 100644 --- a/package/openssh/Config.in +++ b/package/openssh/Config.in @@ -4,7 +4,8 @@ config BR2_PACKAGE_OPENSSH select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_ZLIB help - A free version of the SSH protocol suite of network connectivity - tools. The standard 'ssh', 'sshd', 'scp', and friends. + A free version of the SSH protocol suite of network + connectivity tools. The standard 'ssh', 'sshd', 'scp', and + friends. http://www.openssh.com/ diff --git a/package/openssh/openssh.hash b/package/openssh/openssh.hash index d8a4da32ad..0b31f70ecc 100644 --- a/package/openssh/openssh.hash +++ b/package/openssh/openssh.hash @@ -1,4 +1,4 @@ -# From http://www.openssh.com/txt/release-7.6 (base64 encoded) -sha256 a323caeeddfe145baaa0db16e98d784b1fbc7dd436a6bf1f479dfd5cd1d21723 openssh-7.6p1.tar.gz +# From http://www.openssh.com/txt/release-7.8 (base64 encoded) +sha256 1a484bb15152c183bb2514e112aa30dd34138c3cfb032eee5490a66c507144ca openssh-7.8p1.tar.gz # Locally calculated sha256 05a4c25ef464e19656c5259bd4f4da8428efab01044f3541b79fbb3ff209350f LICENCE diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk index b7271b4a9e..bfa616bdd9 100644 --- a/package/openssh/openssh.mk +++ b/package/openssh/openssh.mk @@ -4,14 +4,10 @@ # ################################################################################ -OPENSSH_VERSION = 7.6p1 +OPENSSH_VERSION = 7.8p1 OPENSSH_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable OPENSSH_LICENSE = BSD-3-Clause, BSD-2-Clause, Public Domain OPENSSH_LICENSE_FILES = LICENCE -# Autoreconf needed due to the following patches modifying configure.ac: -# 0001-configure-ac-detect-mips-abi.patch -# 0002-configure-ac-properly-set-seccomp-audit-arch-for-mips64.patch -OPENSSH_AUTORECONF = YES OPENSSH_CONF_ENV = LD="$(TARGET_CC)" LDFLAGS="$(TARGET_CFLAGS)" OPENSSH_CONF_OPTS = \ --sysconfdir=/data/etc \ @@ -73,4 +69,10 @@ define OPENSSH_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S50sshd endef +define OPENSSH_INSTALL_SSH_COPY_ID + $(INSTALL) -D -m 755 $(@D)/contrib/ssh-copy-id $(TARGET_DIR)/usr/bin/ssh-copy-id +endef + +OPENSSH_POST_INSTALL_TARGET_HOOKS += OPENSSH_INSTALL_SSH_COPY_ID + $(eval $(autotools-package)) diff --git a/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch b/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch new file mode 100644 index 0000000000..90a945bb27 --- /dev/null +++ b/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch @@ -0,0 +1,74 @@ +From 9462847f23a25524fdc2112cbc8de3f2c02a1669 Mon Sep 17 00:00:00 2001 +From: Jan Heylen +Date: Fri, 22 Dec 2017 22:04:29 +0100 +Subject: [PATCH] CMake: make shared/static target a configurable option + +Signed-off-by: Jan Heylen +--- + CMakeLists.txt | 40 ++++++++++++++++++++++++++++------------ + 1 file changed, 28 insertions(+), 12 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aadf2f9..d03bd00 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -70,18 +70,36 @@ endif() + include_directories(include) + include_directories(SYSTEM 3rd_party/include) + ++option(BUILD_SHARED_LIBS "Build as a shared library" ON) ++option(BUILD_STATIC_LIBS "Build as a static library" ON) ++ ++if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) ++ message(FATAL_ERROR "One or both of BUILD_SHARED_LIBS or BUILD_STATIC_LIBS must be set to ON to build") ++endif() ++ + set(SRCS src/propagation.cpp src/noop.cpp src/tracer.cpp) +-add_library(opentracing SHARED ${SRCS}) +-target_include_directories(opentracing INTERFACE "$") +-set_target_properties(opentracing PROPERTIES VERSION ${OPENTRACING_VERSION_STRING} ++ ++if (BUILD_SHARED_LIBS) ++ add_library(opentracing SHARED ${SRCS}) ++ target_include_directories(opentracing INTERFACE "$") ++ set_target_properties(opentracing PROPERTIES VERSION ${OPENTRACING_VERSION_STRING} + SOVERSION ${OPENTRACING_VERSION_MAJOR}) +-add_library(opentracing-static STATIC ${SRCS}) +-set_target_properties(opentracing-static PROPERTIES OUTPUT_NAME opentracing) +-target_include_directories(opentracing-static INTERFACE "$") +-if (CLANG_TIDY_EXE) +- set_target_properties(opentracing PROPERTIES ++ install(TARGETS opentracing EXPORT OpenTracingTargets ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) ++ if (CLANG_TIDY_EXE) ++ set_target_properties(opentracing PROPERTIES + CXX_CLANG_TIDY "${DO_CLANG_TIDY}") +-endif() ++ endif() ++endif(BUILD_SHARED_LIBS) ++ ++if (BUILD_STATIC_LIBS) ++ add_library(opentracing-static STATIC ${SRCS}) ++ set_target_properties(opentracing-static PROPERTIES OUTPUT_NAME opentracing) ++ target_include_directories(opentracing-static INTERFACE "$") ++ install(TARGETS opentracing-static EXPORT OpenTracingTargets ++ ARCHIVE DESTINATION lib) ++endif(BUILD_STATIC_LIBS) + + + install(DIRECTORY 3rd_party/include/opentracing DESTINATION include +@@ -89,9 +107,7 @@ install(DIRECTORY 3rd_party/include/opentracing DESTINATION include + PATTERN "*.h") + install(DIRECTORY include/opentracing DESTINATION include + FILES_MATCHING PATTERN "*.h") +-install(TARGETS opentracing opentracing-static EXPORT OpenTracingTargets +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) ++ + + # ============================================================================== + # Package configuration setup +-- +2.7.4 + diff --git a/package/opentracing-cpp/Config.in b/package/opentracing-cpp/Config.in new file mode 100644 index 0000000000..4ee7b29de2 --- /dev/null +++ b/package/opentracing-cpp/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_OPENTRACING_CPP + bool "opentracing-cpp" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr + help + OpenTracing API for C++ + + http://opentracing.io + +comment "opentracing-cpp needs a toolchain w/ C++, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + +comment "opentracing-cpp needs exception_ptr" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/opentracing-cpp/opentracing-cpp.hash b/package/opentracing-cpp/opentracing-cpp.hash new file mode 100644 index 0000000000..d25dbafeea --- /dev/null +++ b/package/opentracing-cpp/opentracing-cpp.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 c77041cb2f147ac81b2b0702abfced5565a9cebc318d045c060a4c3e074009ee opentracing-cpp-v1.2.0.tar.gz +sha256 b80bffcfee825a69645f7ca97ddba48714031ea5c845198d184714d5490798b6 COPYING diff --git a/package/opentracing-cpp/opentracing-cpp.mk b/package/opentracing-cpp/opentracing-cpp.mk new file mode 100644 index 0000000000..4e296fc9fb --- /dev/null +++ b/package/opentracing-cpp/opentracing-cpp.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# opentracing-cpp +# +################################################################################ + +OPENTRACING_CPP_VERSION = v1.2.0 +OPENTRACING_CPP_SITE = $(call github,opentracing,opentracing-cpp,$(OPENTRACING_CPP_VERSION)) +OPENTRACING_CPP_LICENSE = MIT +OPENTRACING_CPP_LICENSE_FILES = COPYING + +OPENTRACING_CPP_INSTALL_STAGING = YES + +# BUILD_SHARED_LIBS is handled in pkg-cmake.mk as it is a generic cmake variable +# although BUILD_STATIC_LIBS=ON is default, make it explicit, +# cmake and static/shared libs is confusing enough already. +ifeq ($(BR2_STATIC_LIBS),y) +OPENTRACING_CPP_CONF_OPTS += -DBUILD_STATIC_LIBS=ON +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +OPENTRACING_CPP_CONF_OPTS += -DBUILD_STATIC_LIBS=ON +else ifeq ($(BR2_SHARED_LIBS),y) +OPENTRACING_CPP_CONF_OPTS += -DBUILD_STATIC_LIBS=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/opentyrian-data/Config.in b/package/opentyrian-data/Config.in index df25c218ea..dd3b0c1328 100644 --- a/package/opentyrian-data/Config.in +++ b/package/opentyrian-data/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_OPENTYRIAN_DATA bool "OpenTyrian data" depends on BR2_PACKAGE_OPENTYRIAN help - Data files to use with OpenTyrian game. Currently only the original - Tyrian 2.1 data files, that have been released as Freeware in 2004, - are compatible. + Data files to use with OpenTyrian game. Currently only the + original Tyrian 2.1 data files, that have been released as + Freeware in 2004, are compatible. http://code.google.com/p/opentyrian/wiki/FAQ diff --git a/package/opentyrian/Config.in b/package/opentyrian/Config.in index b0c519fae8..cbc73e5d5b 100644 --- a/package/opentyrian/Config.in +++ b/package/opentyrian/Config.in @@ -3,11 +3,11 @@ config BR2_PACKAGE_OPENTYRIAN select BR2_PACKAGE_SDL select BR2_PACKAGE_OPENTYRIAN_DATA help - OpenTyrian is a port of the DOS shoot-em-up Tyrian. It uses SDL, - making it easily cross-platform. + OpenTyrian is a port of the DOS shoot-em-up Tyrian. It uses + SDL, making it easily cross-platform. It requires the original data files to run. - A display with minimum 640x480 resolution and a keyboard are needed - to play the game. + A display with minimum 640x480 resolution and a keyboard are + needed to play the game. If you want some sound, activate ALSA with OSS emulation. https://bitbucket.org/opentyrian/opentyrian/wiki/Home diff --git a/package/openvmtools/Config.in b/package/openvmtools/Config.in index f76bdf2d44..66d4f1b158 100644 --- a/package/openvmtools/Config.in +++ b/package/openvmtools/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_OPENVMTOOLS depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC depends on BR2_ENABLE_LOCALE - depends on !BR2_TOOLCHAIN_USES_UCLIBC + depends on BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBDNET help @@ -14,10 +14,11 @@ config BR2_PACKAGE_OPENVMTOOLS http://open-vm-tools.sourceforge.net/ - ICU locales, Xerces, and X11 tools are currently not supported. + ICU locales, Xerces, and X11 tools are currently not + supported. - NOTE: Support for vmblock-fuse will be enabled in openvmtools if the - libfuse package is selected. + NOTE: Support for vmblock-fuse will be enabled in + openvmtools if the libfuse package is selected. if BR2_PACKAGE_OPENVMTOOLS @@ -46,9 +47,9 @@ comment "PAM support needs a glibc toolchain w/ dynamic library" endif -comment "openvmtools needs a glibc or musl toolchain w/ wchar, threads, RPC, locale" +comment "openvmtools needs a glibc toolchain w/ wchar, threads, RPC, locale" depends on BR2_i386 || BR2_x86_64 depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_HAS_NATIVE_RPC || !BR2_ENABLE_LOCALE || \ - BR2_TOOLCHAIN_USES_UCLIBC + !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/openvmtools/openvmtools.mk b/package/openvmtools/openvmtools.mk index cc71324ff0..9501ef3361 100644 --- a/package/openvmtools/openvmtools.mk +++ b/package/openvmtools/openvmtools.mk @@ -17,7 +17,7 @@ OPENVMTOOLS_CONF_OPTS = --with-dnet \ --without-gtkmm --without-kernel-modules \ --disable-deploypkg --without-xerces OPENVMTOOLS_CONF_ENV += CUSTOM_DNET_CPPFLAGS=" " -OPENVMTOOLS_DEPENDENCIES = libglib2 libdnet +OPENVMTOOLS_DEPENDENCIES = host-nfs-utils libglib2 libdnet # When libfuse is available, openvmtools can build vmblock-fuse, so # make sure that libfuse gets built first diff --git a/package/openzwave/Config.in b/package/openzwave/Config.in index 190b88b656..86f45dc7b6 100644 --- a/package/openzwave/Config.in +++ b/package/openzwave/Config.in @@ -5,10 +5,10 @@ config BR2_PACKAGE_OPENZWAVE depends on BR2_PACKAGE_HAS_UDEV depends on BR2_USE_WCHAR help - Free software library that interfaces with selected Z-Wave PC - controllers, allowing anyone to create applications that manipulate - and respond to devices on a Z-Wave network, without requiring - in-depth knowledge of the Z-Wave protocol + Free software library that interfaces with selected Z-Wave + PC controllers, allowing anyone to create applications that + manipulate and respond to devices on a Z-Wave network, + without requiring in-depth knowledge of the Z-Wave protocol http://www.openzwave.net diff --git a/package/openzwave/openzwave.hash b/package/openzwave/openzwave.hash index cd1231f80d..f3a677bd47 100644 --- a/package/openzwave/openzwave.hash +++ b/package/openzwave/openzwave.hash @@ -1,2 +1,6 @@ # Locally computed: sha256 abfb4c7e7728e86ba374c2e0ef7de912594eb24a8c44935457352df844530238 openzwave-V1.5.tar.gz +sha256 c8db08727d03bea1213cdb29459b4b489b0d68a0866765df40ff205c6cd7224b license/license.txt +sha256 4da452226e9064b597020ad404e1c78d8175bc31ad7c1908485a92c0a4d70284 license/lgpl.txt +sha256 33ffdead480674d5f33e2934822a3b93c93e3f8c894667a3bf30bd1195b38f83 license/gpl.txt +sha256 6f50ebf9af9b6658c7936ffcc6fedd99254df984c0fec2e6ffb9f3aa1c4ef3e1 license/Apache-License-2.0.txt diff --git a/package/opkg/Config.in b/package/opkg/Config.in index a188a7bbff..20f6fa2f53 100644 --- a/package/opkg/Config.in +++ b/package/opkg/Config.in @@ -8,13 +8,14 @@ config BR2_PACKAGE_OPKG depends on BR2_USE_WCHAR # libarchive select BR2_PACKAGE_LIBARCHIVE help - Opkg is a lightweight package management system, based on ipkg. It is - written in C and resembles apt/dpkg in operation. It is intended for - use on embedded Linux devices. - Opkg is maintained, stable, robust and conservative in its memory - usage, despite its buggy ipkg ancestry. As best it can, opkg - maintains backwards compatibility with ipkg and conforms to a subset - of debian's policy manual regarding control files. + Opkg is a lightweight package management system, based on + ipkg. It is written in C and resembles apt/dpkg in + operation. It is intended for use on embedded Linux devices. + Opkg is maintained, stable, robust and conservative in its + memory usage, despite its buggy ipkg ancestry. As best it + can, opkg maintains backwards compatibility with ipkg and + conforms to a subset of debian's policy manual regarding + control files. http://code.google.com/p/opkg/ diff --git a/package/opus-tools/opus-tools.mk b/package/opus-tools/opus-tools.mk index a81e75eb0e..ab00ced705 100644 --- a/package/opus-tools/opus-tools.mk +++ b/package/opus-tools/opus-tools.mk @@ -6,7 +6,7 @@ OPUS_TOOLS_VERSION = 0.1.10 OPUS_TOOLS_SITE = https://downloads.xiph.org/releases/opus -OPUS_TOOLS_LICENSE = BSD-2-Clause +OPUS_TOOLS_LICENSE = BSD-2-Clause, GPL-2.0 (opusinfo) OPUS_TOOLS_LICENSE_FILES = COPYING OPUS_TOOLS_CONF_OPTS = --disable-oggtest --disable-opustest OPUS_TOOLS_DEPENDENCIES = opus libogg host-pkgconf diff --git a/package/opusfile/Config.in b/package/opusfile/Config.in index fe8a1b9ce1..63e0786f99 100644 --- a/package/opusfile/Config.in +++ b/package/opusfile/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_OPUSFILE select BR2_PACKAGE_LIBOGG select BR2_PACKAGE_OPUS help - A convenient high-level API for decoding and basic manipulation - of all Ogg Opus audio streams. + A convenient high-level API for decoding and basic + manipulation of all Ogg Opus audio streams. http://opus-codec.org diff --git a/package/orbit/Config.in b/package/orbit/Config.in index c35c475e81..8df42a8380 100644 --- a/package/orbit/Config.in +++ b/package/orbit/Config.in @@ -6,8 +6,8 @@ config BR2_PACKAGE_ORBIT select BR2_PACKAGE_LUAFILESYSTEM select BR2_PACKAGE_WSAPI_XAVANTE help - An MVC web framework for Lua. The design is inspired by lightweight - Ruby frameworks such as Camping + An MVC web framework for Lua. The design is inspired by + lightweight Ruby frameworks such as Camping http://keplerproject.github.com/orbit diff --git a/package/owl-linux/Config.in b/package/owl-linux/Config.in index 595a1db798..bf412d361e 100644 --- a/package/owl-linux/Config.in +++ b/package/owl-linux/Config.in @@ -3,9 +3,11 @@ config BR2_PACKAGE_OWL_LINUX depends on BR2_LINUX_KERNEL depends on (BR2_arm920t || BR2_arm922t || BR2_arm926t) help - Linux kernel driver for the H&D Wireless SPB104 SD-card WiFi SIP. + Linux kernel driver for the H&D Wireless SPB104 SD-card WiFi + SIP. - owl-linux requires the hidden kernel option WIRELESS_EXT enabled. + owl-linux requires the hidden kernel option WIRELESS_EXT + enabled. http://linux.hd-wireless.se/bin/view/Linux/GettingStarted diff --git a/package/p7zip/Config.in b/package/p7zip/Config.in index 840949c8ff..a3adab5b3d 100644 --- a/package/p7zip/Config.in +++ b/package/p7zip/Config.in @@ -4,8 +4,8 @@ config BR2_PACKAGE_P7ZIP depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR help - p7zip is a quick port of the command line version of 7-zip for Unix. - (see http://www.7-zip.org) + p7zip is a quick port of the command line version of 7-zip + for Unix (see http://www.7-zip.org) 7-Zip is a file archiver with highest compression ratio. diff --git a/package/pango/Config.in b/package/pango/Config.in index dd2117aa4a..e8a5318675 100644 --- a/package/pango/Config.in +++ b/package/pango/Config.in @@ -13,11 +13,12 @@ config BR2_PACKAGE_PANGO select BR2_PACKAGE_HARFBUZZ select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 help - Pango is a library for laying out and rendering of text, with an - emphasis on internationalization. Pango can be used anywhere that - text layout is needed, though most of the work on Pango so far has - been done in the context of the GTK+ widget toolkit. Pango forms the - core of text and font handling for GTK+-2.x. + Pango is a library for laying out and rendering of text, + with an emphasis on internationalization. Pango can be used + anywhere that text layout is needed, though most of the work + on Pango so far has been done in the context of the GTK+ + widget toolkit. Pango forms the core of text and font + handling for GTK+-2.x. http://www.pango.org/ diff --git a/package/pango/pango.hash b/package/pango/pango.hash index 1b6da7d32b..6df08e9cfc 100644 --- a/package/pango/pango.hash +++ b/package/pango/pango.hash @@ -1,2 +1,3 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-1.40.12.sha256sum -sha256 75f1a9a8e4e2b28cbc078b50c1fa927ee4ded994d1ade97c5603e2d1f3161cfc pango-1.40.12.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-1.40.14.sha256sum +sha256 90af1beaa7bf9e4c52db29ec251ec4fd0a8f2cc185d521ad1f88d01b3a6a17e3 pango-1.40.14.tar.xz +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/pango/pango.mk b/package/pango/pango.mk index 79283e885c..805d35e12f 100644 --- a/package/pango/pango.mk +++ b/package/pango/pango.mk @@ -5,7 +5,7 @@ ################################################################################ PANGO_VERSION_MAJOR = 1.40 -PANGO_VERSION = $(PANGO_VERSION_MAJOR).12 +PANGO_VERSION = $(PANGO_VERSION_MAJOR).14 PANGO_SOURCE = pango-$(PANGO_VERSION).tar.xz PANGO_SITE = http://ftp.gnome.org/pub/GNOME/sources/pango/$(PANGO_VERSION_MAJOR) PANGO_AUTORECONF = YES diff --git a/package/parted/0005-linux-Include-sys-sysmacros.h-for-major-macro.patch b/package/parted/0005-linux-Include-sys-sysmacros.h-for-major-macro.patch new file mode 100644 index 0000000000..e0b4c2acba --- /dev/null +++ b/package/parted/0005-linux-Include-sys-sysmacros.h-for-major-macro.patch @@ -0,0 +1,27 @@ +From ba5e0451b51c983e40afd123b6e0d3eddb55e610 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sat, 24 Mar 2018 17:37:02 +0000 +Subject: [PATCH] linux: Include for major() macro. + +Since glibc 2.27 this header is required. + +Signed-off-by: Giulio Benetti +--- + libparted/arch/linux.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c +index 31b98ab..7e86b51 100644 +--- a/libparted/arch/linux.c ++++ b/libparted/arch/linux.c +@@ -41,6 +41,7 @@ + #include /* for uname() */ + #include + #include ++#include + #ifdef ENABLE_DEVICE_MAPPER + #include + #endif +-- +2.17.1 + diff --git a/package/patch/0001-Fix-segfault-with-mangled-rename-patch.patch b/package/patch/0001-Fix-segfault-with-mangled-rename-patch.patch new file mode 100644 index 0000000000..19a67573c4 --- /dev/null +++ b/package/patch/0001-Fix-segfault-with-mangled-rename-patch.patch @@ -0,0 +1,33 @@ +From f290f48a621867084884bfff87f8093c15195e6a Mon Sep 17 00:00:00 2001 +From: Andreas Gruenbacher +Date: Mon, 12 Feb 2018 16:48:24 +0100 +Subject: [PATCH] Fix segfault with mangled rename patch + +http://savannah.gnu.org/bugs/?53132 +* src/pch.c (intuit_diff_type): Ensure that two filenames are specified +for renames and copies (fix the existing check). + +Signed-off-by: Baruch Siach +--- +Patch status: upstream commit f290f48a6218 + + src/pch.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/pch.c b/src/pch.c +index ff9ed2cebb8a..bc6278c4032c 100644 +--- a/src/pch.c ++++ b/src/pch.c +@@ -974,7 +974,8 @@ intuit_diff_type (bool need_header, mode_t *p_file_type) + if ((pch_rename () || pch_copy ()) + && ! inname + && ! ((i == OLD || i == NEW) && +- p_name[! reverse] && ++ p_name[reverse] && p_name[! reverse] && ++ name_is_valid (p_name[reverse]) && + name_is_valid (p_name[! reverse]))) + { + say ("Cannot %s file without two valid file names\n", pch_rename () ? "rename" : "copy"); +-- +2.16.1 + diff --git a/package/patch/0002-Allow-input-files-to-be-missing-for-ed-style-patches.patch b/package/patch/0002-Allow-input-files-to-be-missing-for-ed-style-patches.patch new file mode 100644 index 0000000000..7d5757d1af --- /dev/null +++ b/package/patch/0002-Allow-input-files-to-be-missing-for-ed-style-patches.patch @@ -0,0 +1,37 @@ +From b5a91a01e5d0897facdd0f49d64b76b0f02b43e1 Mon Sep 17 00:00:00 2001 +From: Andreas Gruenbacher +Date: Fri, 6 Apr 2018 11:34:51 +0200 +Subject: [PATCH] Allow input files to be missing for ed-style patches + +* src/pch.c (do_ed_script): Allow input files to be missing so that new +files will be created as with non-ed-style patches. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit b5a91a01e5d0 + + src/pch.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/src/pch.c b/src/pch.c +index bc6278c4032c..0c5cc2623079 100644 +--- a/src/pch.c ++++ b/src/pch.c +@@ -2394,9 +2394,11 @@ do_ed_script (char const *inname, char const *outname, + + if (! dry_run && ! skip_rest_of_patch) { + int exclusive = *outname_needs_removal ? 0 : O_EXCL; +- assert (! inerrno); +- *outname_needs_removal = true; +- copy_file (inname, outname, 0, exclusive, instat.st_mode, true); ++ if (inerrno != ENOENT) ++ { ++ *outname_needs_removal = true; ++ copy_file (inname, outname, 0, exclusive, instat.st_mode, true); ++ } + sprintf (buf, "%s %s%s", editor_program, + verbosity == VERBOSE ? "" : "- ", + outname); +-- +2.16.3 + diff --git a/package/patch/0003-Fix-arbitrary-command-execution-in-ed-style-patches-.patch b/package/patch/0003-Fix-arbitrary-command-execution-in-ed-style-patches-.patch new file mode 100644 index 0000000000..b44bdd0fac --- /dev/null +++ b/package/patch/0003-Fix-arbitrary-command-execution-in-ed-style-patches-.patch @@ -0,0 +1,157 @@ +From 123eaff0d5d1aebe128295959435b9ca5909c26d Mon Sep 17 00:00:00 2001 +From: Andreas Gruenbacher +Date: Fri, 6 Apr 2018 12:14:49 +0200 +Subject: [PATCH] Fix arbitrary command execution in ed-style patches + (CVE-2018-1000156) + +* src/pch.c (do_ed_script): Write ed script to a temporary file instead +of piping it to ed: this will cause ed to abort on invalid commands +instead of rejecting them and carrying on. +* tests/ed-style: New test case. +* tests/Makefile.am (TESTS): Add test case. + +[baruch: drop test hunks to avoid autoreconf] +Signed-off-by: Baruch Siach +--- +Upstream status: commit 123eaff0d5d1 + + src/pch.c | 91 ++++++++++++++++++++++++++++++++++++++++--------------- + tests/Makefile.am | 1 + + tests/ed-style | 41 +++++++++++++++++++++++++ + 3 files changed, 108 insertions(+), 25 deletions(-) + create mode 100644 tests/ed-style + +diff --git a/src/pch.c b/src/pch.c +index 0c5cc2623079..4fd5a05a6f5c 100644 +--- a/src/pch.c ++++ b/src/pch.c +@@ -33,6 +33,7 @@ + # include + #endif + #include ++#include + + #define INITHUNKMAX 125 /* initial dynamic allocation size */ + +@@ -2389,24 +2390,28 @@ do_ed_script (char const *inname, char const *outname, + static char const editor_program[] = EDITOR_PROGRAM; + + file_offset beginning_of_this_line; +- FILE *pipefp = 0; + size_t chars_read; ++ FILE *tmpfp = 0; ++ char const *tmpname; ++ int tmpfd; ++ pid_t pid; ++ ++ if (! dry_run && ! skip_rest_of_patch) ++ { ++ /* Write ed script to a temporary file. This causes ed to abort on ++ invalid commands such as when line numbers or ranges exceed the ++ number of available lines. When ed reads from a pipe, it rejects ++ invalid commands and treats the next line as a new command, which ++ can lead to arbitrary command execution. */ ++ ++ tmpfd = make_tempfile (&tmpname, 'e', NULL, O_RDWR | O_BINARY, 0); ++ if (tmpfd == -1) ++ pfatal ("Can't create temporary file %s", quotearg (tmpname)); ++ tmpfp = fdopen (tmpfd, "w+b"); ++ if (! tmpfp) ++ pfatal ("Can't open stream for file %s", quotearg (tmpname)); ++ } + +- if (! dry_run && ! skip_rest_of_patch) { +- int exclusive = *outname_needs_removal ? 0 : O_EXCL; +- if (inerrno != ENOENT) +- { +- *outname_needs_removal = true; +- copy_file (inname, outname, 0, exclusive, instat.st_mode, true); +- } +- sprintf (buf, "%s %s%s", editor_program, +- verbosity == VERBOSE ? "" : "- ", +- outname); +- fflush (stdout); +- pipefp = popen(buf, binary_transput ? "wb" : "w"); +- if (!pipefp) +- pfatal ("Can't open pipe to %s", quotearg (buf)); +- } + for (;;) { + char ed_command_letter; + beginning_of_this_line = file_tell (pfp); +@@ -2417,14 +2422,14 @@ do_ed_script (char const *inname, char const *outname, + } + ed_command_letter = get_ed_command_letter (buf); + if (ed_command_letter) { +- if (pipefp) +- if (! fwrite (buf, sizeof *buf, chars_read, pipefp)) ++ if (tmpfp) ++ if (! fwrite (buf, sizeof *buf, chars_read, tmpfp)) + write_fatal (); + if (ed_command_letter != 'd' && ed_command_letter != 's') { + p_pass_comments_through = true; + while ((chars_read = get_line ()) != 0) { +- if (pipefp) +- if (! fwrite (buf, sizeof *buf, chars_read, pipefp)) ++ if (tmpfp) ++ if (! fwrite (buf, sizeof *buf, chars_read, tmpfp)) + write_fatal (); + if (chars_read == 2 && strEQ (buf, ".\n")) + break; +@@ -2437,13 +2442,49 @@ do_ed_script (char const *inname, char const *outname, + break; + } + } +- if (!pipefp) ++ if (!tmpfp) + return; +- if (fwrite ("w\nq\n", sizeof (char), (size_t) 4, pipefp) == 0 +- || fflush (pipefp) != 0) ++ if (fwrite ("w\nq\n", sizeof (char), (size_t) 4, tmpfp) == 0 ++ || fflush (tmpfp) != 0) + write_fatal (); +- if (pclose (pipefp) != 0) +- fatal ("%s FAILED", editor_program); ++ ++ if (lseek (tmpfd, 0, SEEK_SET) == -1) ++ pfatal ("Can't rewind to the beginning of file %s", quotearg (tmpname)); ++ ++ if (! dry_run && ! skip_rest_of_patch) { ++ int exclusive = *outname_needs_removal ? 0 : O_EXCL; ++ *outname_needs_removal = true; ++ if (inerrno != ENOENT) ++ { ++ *outname_needs_removal = true; ++ copy_file (inname, outname, 0, exclusive, instat.st_mode, true); ++ } ++ sprintf (buf, "%s %s%s", editor_program, ++ verbosity == VERBOSE ? "" : "- ", ++ outname); ++ fflush (stdout); ++ ++ pid = fork(); ++ if (pid == -1) ++ pfatal ("Can't fork"); ++ else if (pid == 0) ++ { ++ dup2 (tmpfd, 0); ++ execl ("/bin/sh", "sh", "-c", buf, (char *) 0); ++ _exit (2); ++ } ++ else ++ { ++ int wstatus; ++ if (waitpid (pid, &wstatus, 0) == -1 ++ || ! WIFEXITED (wstatus) ++ || WEXITSTATUS (wstatus) != 0) ++ fatal ("%s FAILED", editor_program); ++ } ++ } ++ ++ fclose (tmpfp); ++ safe_unlink (tmpname); + + if (ofp) + { +-- +2.16.3 + diff --git a/package/patch/Config.in b/package/patch/Config.in index c5b93e9fd5..13fa7bfc52 100644 --- a/package/patch/Config.in +++ b/package/patch/Config.in @@ -1,13 +1,15 @@ config BR2_PACKAGE_PATCH bool "patch" + depends on BR2_USE_MMU # fork() depends on BR2_USE_WCHAR depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help - Take patch files (containing difference listings) and apply them - to original files, producing patched versions. + Take patch files (containing difference listings) and apply + them to original files, producing patched versions. http://www.gnu.org/software/patch/ comment "patch needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR + depends on BR2_USE_MMU depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS diff --git a/package/patch/patch.hash b/package/patch/patch.hash index d6e3a2d261..917d951a94 100644 --- a/package/patch/patch.hash +++ b/package/patch/patch.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 fd95153655d6b95567e623843a0e77b81612d502ecf78a489a4aed7867caa299 patch-2.7.5.tar.xz +sha256 ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd patch-2.7.6.tar.xz +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/patch/patch.mk b/package/patch/patch.mk index 4c76a3123b..d581682c70 100644 --- a/package/patch/patch.mk +++ b/package/patch/patch.mk @@ -4,17 +4,17 @@ # ################################################################################ -PATCH_VERSION = 2.7.5 +PATCH_VERSION = 2.7.6 PATCH_SOURCE = patch-$(PATCH_VERSION).tar.xz PATCH_SITE = $(BR2_GNU_MIRROR)/patch PATCH_LICENSE = GPL-3.0+ PATCH_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_ATTR),y) -PATCH_CONF_OPTS += --enable-attr +PATCH_CONF_OPTS += --enable-xattr PATCH_DEPENDENCIES += attr else -PATCH_CONF_OPTS += --disable-attr +PATCH_CONF_OPTS += --disable-xattr endif $(eval $(autotools-package)) diff --git a/package/patchelf/0004-patchelf-Check-ELF-endianness-before-writing-new-run.patch b/package/patchelf/0004-patchelf-Check-ELF-endianness-before-writing-new-run.patch new file mode 100644 index 0000000000..8a89d3a631 --- /dev/null +++ b/package/patchelf/0004-patchelf-Check-ELF-endianness-before-writing-new-run.patch @@ -0,0 +1,40 @@ +From 8c75599b674c73fbfe9c15afeccad54ae88243f5 Mon Sep 17 00:00:00 2001 +From: Bryce Ferguson +Date: Mon, 25 Jun 2018 13:05:07 -0500 +Subject: [PATCH] patchelf: Check ELF endianness before writing new runpath + +This commit modifies the way fields are written in the dynamic +section in order to account the architecture of the target ELF +file. Instead of copying the raw data, use the helper functions +to convert endianness. + +Link to upstream PR: https://github.com/NixOS/patchelf/pull/151 + +Signed-off-by: Bryce Ferguson +--- + src/patchelf.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/patchelf.cc b/src/patchelf.cc +index 35b4a33..a33f644 100644 +--- a/src/patchelf.cc ++++ b/src/patchelf.cc +@@ -1315,13 +1315,13 @@ void ElfFile::modifyRPath(RPathOp op, string rootDir, string + debug("new rpath is `%s'\n", newRPath.c_str()); + + if (!forceRPath && dynRPath && !dynRunPath) { /* convert DT_RPATH to DT_RUNPATH */ +- dynRPath->d_tag = DT_RUNPATH; ++ wri(dynRPath->d_tag, DT_RUNPATH); + dynRunPath = dynRPath; + dynRPath = 0; + } + + if (forceRPath && dynRPath && dynRunPath) { /* convert DT_RUNPATH to DT_RPATH */ +- dynRunPath->d_tag = DT_IGNORE; ++ wri(dynRunPath->d_tag, DT_IGNORE); + } + + if (newRPath.size() <= rpathSize) { +-- +2.17.0 + diff --git a/package/pcmanfm/Config.in b/package/pcmanfm/Config.in index 979e74777d..69ddf00232 100644 --- a/package/pcmanfm/Config.in +++ b/package/pcmanfm/Config.in @@ -11,9 +11,9 @@ config BR2_PACKAGE_PCMANFM select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11 help - PCMan File Manager (PCManFM) is a file manager application developed - by Hong Jen Yee from Taiwan which is meant to be a replacement for - Nautilus, Konqueror and Thunar. + PCMan File Manager (PCManFM) is a file manager application + developed by Hong Jen Yee from Taiwan which is meant to be a + replacement for Nautilus, Konqueror and Thunar. http://wiki.lxde.org/en/PCManFM diff --git a/package/pcre2/0001-fix-heapframe-alignment.patch b/package/pcre2/0001-fix-heapframe-alignment.patch new file mode 100644 index 0000000000..a10e9e793f --- /dev/null +++ b/package/pcre2/0001-fix-heapframe-alignment.patch @@ -0,0 +1,49 @@ +src/pcre2_intmodedep.h: fix alignment of fields in struct heapframe + +pcre2_intmodedep.h has a check to verify that the size of the struct +heapframe is a multiple of 4 bytes. On most architectures this works +fine, but not on m68k. Indeed, when building the 16-bit variant of +pcre2, the heapframe structure contains: + + PCRE2_UCHAR occu[2]; + PCRE2_SPTR eptr; + +Where PCRE2_UCHAR is a 16-bit data type, and PCRE2_SPTR is a +pointer. The occu[] array starts at byte 0x32, so not aligned on a +32-bit boundary. With 2 x 16-bit, the occur[] array ends at byte 0x36. + +Now, on most architectures, the alignment required for a pointer will +make the eptr field start at 0x38 (on 32 bit architectures). However, +on m68k, it is fine to have a pointer aligned only on a 16-bit +boundary, and the eptr pointer will be at offset 0x36. + +This doesn't cause a problem per-se, but breaks the check that +heapframe should be a multiple of 4 bytes. + +To fix this, we make sure eptr is aligned by introducing an unused +field of 16 bits after the occu[] array (in the 16-bit variant) or +after the occu[] array (in the 32-bit variant). These choices have +been made to keep the structure layout unchanged. + +Fixes the following build failure on m68k: + +src/pcre2_intmodedep.h:818:14: error: size of array 'check_heapframe_size' is negative + typedef char check_heapframe_size[ + ^~~~~~~~~~~~~~~~~~~~ + +Signed-off-by: Thomas Petazzoni +Upstream: https://bugs.exim.org/show_bug.cgi?id=2247 + +Index: src/pcre2_intmodedep.h +=================================================================== +--- a/src/pcre2_intmodedep.h (revision 923) ++++ b/src/pcre2_intmodedep.h (working copy) +@@ -797,7 +797,9 @@ + PCRE2_UCHAR occu[6]; /* Used for other case code units */ + #elif PCRE2_CODE_UNIT_WIDTH == 16 + PCRE2_UCHAR occu[2]; /* Used for other case code units */ ++ uint8_t unused[2]; /* Ensure 32 bit alignment */ + #else ++ uint8_t unused[2]; /* Ensure 32 bit alignment */ + PCRE2_UCHAR occu[1]; /* Used for other case code units */ + #endif diff --git a/package/pcre2/Config.in b/package/pcre2/Config.in index b49d306ff5..bb576c75a1 100644 --- a/package/pcre2/Config.in +++ b/package/pcre2/Config.in @@ -1,9 +1,11 @@ + config BR2_PACKAGE_PCRE2 bool "pcre2" help Perl Compatible Regular Expressions. By default, only the 8-bits libpcre2 is built. To get the 16-bits and/or 32-bits - variants libpcre2-16/libpcre2-32, use the package sub-options. + variants libpcre2-16/libpcre2-32, use the package + sub-options. http://www.pcre.org/ @@ -12,11 +14,13 @@ if BR2_PACKAGE_PCRE2 config BR2_PACKAGE_PCRE2_16 bool "16-bit pcre2" help - This option builds the 16-bits pcre2 library, i.e 'libpcre2-16' + This option builds the 16-bits pcre2 library, i.e + 'libpcre2-16' config BR2_PACKAGE_PCRE2_32 bool "32-bit pcre2" help - This option builds the 32-bits pcre2 library, i.e 'libpcre2-32' + This option builds the 32-bits pcre2 library, i.e + 'libpcre2-32' endif diff --git a/package/pdbg/0001-template.S-fix-to-build-on-architecture-with-non-emp.patch b/package/pdbg/0001-template.S-fix-to-build-on-architecture-with-non-emp.patch deleted file mode 100644 index 15c0eef611..0000000000 --- a/package/pdbg/0001-template.S-fix-to-build-on-architecture-with-non-emp.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 50ae93273376ede704012030009c29bd58d6a569 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 26 Nov 2017 16:22:25 +0100 -Subject: [PATCH] template.S: fix to build on architecture with non-empty - __USER_LABEL_PREFIX__ - -Blackfin has a non-empty __USER_LABEL_PREFIX__, which means that a -symbol called "foo" in C must be named "_foo" in assembler. - -Interestingly, it seems like "$(CC) -xassembler - -c" doesn't pass the -input source file through the C preprocessor, so we do this -explicitly. - -Submitted-upstream: https://github.com/open-power/pdbg/pull/26 -Signed-off-by: Thomas Petazzoni ---- - Makefile.am | 2 +- - template.S | 22 +++++++++++++++------- - 2 files changed, 16 insertions(+), 8 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 9d34bff..82e0856 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -62,4 +62,4 @@ p9z-fsi.dtb.o: p9z-fsi.dts p9-fsi.dtsi - %.dtb.o: %.dts - dtc -i$(dir $@) -I dts $< -O dtb > $@.tmp - symbol_prefix=`echo $@ | tr '.-' '_'` ; \ -- sed "s%SYMBOL_PREFIX%$${symbol_prefix}%g; s%FILENAME%$@.tmp%g" $(top_srcdir)/template.S | $(CC) -xassembler - -c -o $@ -+ sed "s%SYMBOL_PREFIX%$${symbol_prefix}%g; s%FILENAME%$@.tmp%g" $(top_srcdir)/template.S | $(CPP) - | $(CC) -xassembler - -c -o $@ -diff --git a/template.S b/template.S -index 2e6cbdb..1407a7c 100644 ---- a/template.S -+++ b/template.S -@@ -1,10 +1,18 @@ -+#ifdef __USER_LABEL_PREFIX__ -+#define CONCAT1(a, b) CONCAT2(a, b) -+#define CONCAT2(a, b) a ## b -+#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) -+#else -+#define SYM(x) x -+#endif -+ - .section .data --_binary_SYMBOL_PREFIX_start: -+SYM(_binary_SYMBOL_PREFIX_start): - .incbin "FILENAME" - .align 4 --_binary_SYMBOL_PREFIX_end: --_binary_SYMBOL_PREFIX_size: -- .long _binary_SYMBOL_PREFIX_end - _binary_SYMBOL_PREFIX_start --.globl _binary_SYMBOL_PREFIX_start --.globl _binary_SYMBOL_PREFIX_end --.globl _binary_SYMBOL_PREFIX_size -+SYM(_binary_SYMBOL_PREFIX_end): -+SYM(_binary_SYMBOL_PREFIX_size): -+ .long SYM(_binary_SYMBOL_PREFIX_end) - SYM(_binary_SYMBOL_PREFIX_start) -+.globl SYM(_binary_SYMBOL_PREFIX_start) -+.globl SYM(_binary_SYMBOL_PREFIX_end) -+.globl SYM(_binary_SYMBOL_PREFIX_size) --- -2.13.6 - diff --git a/package/pdbg/Config.in b/package/pdbg/Config.in index 4a902694f5..a0b3d86679 100644 --- a/package/pdbg/Config.in +++ b/package/pdbg/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_PDBG Power8 and Power9 CPU over FSI. pdbg runs on a BMC, which is generally an ARM-powered system - monitoring/controlling a host CPU. It can also run on the host. + monitoring/controlling a host CPU. It can also run on the + host. https://github.com/open-power/pdbg diff --git a/package/pdbg/pdbg.hash b/package/pdbg/pdbg.hash index 6fef128084..39aa33e12c 100644 --- a/package/pdbg/pdbg.hash +++ b/package/pdbg/pdbg.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 e9143607b0d15693ace9f50b27f931020127a9d605c45f8609f1fe8608be7949 pdbg-527fe54e1c95e031efd3db008c3f4e096cb3ea58.tar.gz +sha256 2d6174d30b12cb46d24c260ecc0714a757c2cb899be3f5106c148d4c359bd319 pdbg-139ba071c222a5b0c20075f7c2265029ddd59449.tar.gz diff --git a/package/pdbg/pdbg.mk b/package/pdbg/pdbg.mk index f16a392aa6..ba9aa15d02 100644 --- a/package/pdbg/pdbg.mk +++ b/package/pdbg/pdbg.mk @@ -4,7 +4,7 @@ # ################################################################################ -PDBG_VERSION = 527fe54e1c95e031efd3db008c3f4e096cb3ea58 +PDBG_VERSION = 139ba071c222a5b0c20075f7c2265029ddd59449 PDBG_SITE = $(call github,open-power,pdbg,$(PDBG_VERSION)) PDBG_LICENSE = Apache-2.0 PDBG_LICENSE_FILES = COPYING diff --git a/package/perl-gd/perl-gd.hash b/package/perl-gd/perl-gd.hash index 3fc062895d..ad30e0a170 100644 --- a/package/perl-gd/perl-gd.hash +++ b/package/perl-gd/perl-gd.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 5c89ea8861810ca41bc4aca98e3fdfda GD-2.66.tar.gz -sha256 ea28343301b82ea862bc58c0c2d1953a074e23cf8d1d09df94c05c52f1c98281 GD-2.66.tar.gz +md5 b9cfc5a677b5e9fa607be1379f789855 GD-2.67.tar.gz +sha256 93a47c2259979cf20c6a39c9e03e0da87a9a855d8b650fb68a08d16a96684246 GD-2.67.tar.gz diff --git a/package/perl-gd/perl-gd.mk b/package/perl-gd/perl-gd.mk index ae3dfbc96a..81070a939d 100644 --- a/package/perl-gd/perl-gd.mk +++ b/package/perl-gd/perl-gd.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_GD_VERSION = 2.66 +PERL_GD_VERSION = 2.67 PERL_GD_SOURCE = GD-$(PERL_GD_VERSION).tar.gz PERL_GD_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RURBAN PERL_GD_DEPENDENCIES = zlib libpng freetype gd diff --git a/package/perl-http-daemon/Config.in b/package/perl-http-daemon/Config.in index e09328c963..7544ece1ae 100644 --- a/package/perl-http-daemon/Config.in +++ b/package/perl-http-daemon/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_PERL_HTTP_DAEMON select BR2_PACKAGE_PERL_HTTP_MESSAGE select BR2_PACKAGE_PERL_LWP_MEDIATYPES help - Instances of the `HTTP::Daemon' class are HTTP/1.1 servers that listen - on a socket for incoming requests. + Instances of the `HTTP::Daemon' class are HTTP/1.1 servers + that listen on a socket for incoming requests. http://github.com/gisle/http-daemon diff --git a/package/perl-http-date/Config.in b/package/perl-http-date/Config.in index c45335fb23..5ce4781394 100644 --- a/package/perl-http-date/Config.in +++ b/package/perl-http-date/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PERL_HTTP_DATE bool "perl-http-date" help - This module provides functions that deal the date formats used by the - HTTP protocol (and then some more) + This module provides functions that deal the date formats + used by the HTTP protocol (and then some more) https://github.com/gisle/http-date diff --git a/package/perl-http-message/perl-http-message.hash b/package/perl-http-message/perl-http-message.hash index bb52dea28e..a34d0456b1 100644 --- a/package/perl-http-message/perl-http-message.hash +++ b/package/perl-http-message/perl-http-message.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 4c1b7c6ee114c1cff69379ec9651d9ac HTTP-Message-6.13.tar.gz -sha256 f25f38428de851e5661e72f124476494852eb30812358b07f1c3a289f6f5eded HTTP-Message-6.13.tar.gz +md5 e4c6e183860c42cbdff65dcd76c333b0 HTTP-Message-6.14.tar.gz +sha256 71aab9f10eb4b8ec6e8e3a85fc5acb46ba04db1c93eb99613b184078c5cf2ac9 HTTP-Message-6.14.tar.gz diff --git a/package/perl-http-message/perl-http-message.mk b/package/perl-http-message/perl-http-message.mk index 41434321ad..722d6be671 100644 --- a/package/perl-http-message/perl-http-message.mk +++ b/package/perl-http-message/perl-http-message.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_HTTP_MESSAGE_VERSION = 6.13 +PERL_HTTP_MESSAGE_VERSION = 6.14 PERL_HTTP_MESSAGE_SOURCE = HTTP-Message-$(PERL_HTTP_MESSAGE_VERSION).tar.gz PERL_HTTP_MESSAGE_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_HTTP_MESSAGE_DEPENDENCIES = perl-encode-locale perl-http-date perl-io-html perl-lwp-mediatypes perl-uri diff --git a/package/perl-http-negotiate/Config.in b/package/perl-http-negotiate/Config.in index 2b7f7b9b9a..dcb1bbbfb9 100644 --- a/package/perl-http-negotiate/Config.in +++ b/package/perl-http-negotiate/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_PERL_HTTP_NEGOTIATE bool "perl-http-negotiate" select BR2_PACKAGE_PERL_HTTP_MESSAGE help - This module provides a complete implementation of the HTTP content - negotiation algorithm specified in draft-ietf-http-v11-spec-00.ps - chapter 12. + This module provides a complete implementation of the HTTP + content negotiation algorithm specified in + draft-ietf-http-v11-spec-00.ps chapter 12. http://github.com/gisle/http-negotiate diff --git a/package/perl-io-html/Config.in b/package/perl-io-html/Config.in index 69770226b3..86038af007 100644 --- a/package/perl-io-html/Config.in +++ b/package/perl-io-html/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PERL_IO_HTML bool "perl-io-html" help - Perl module that opens a file and performs automatic charset detection + Perl module that opens a file and performs automatic charset + detection https://github.com/madsen/io-html diff --git a/package/perl-io-socket-ssl/perl-io-socket-ssl.hash b/package/perl-io-socket-ssl/perl-io-socket-ssl.hash index 617a97387d..3bf0421ee2 100644 --- a/package/perl-io-socket-ssl/perl-io-socket-ssl.hash +++ b/package/perl-io-socket-ssl/perl-io-socket-ssl.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 98184d4ce23b2c5faf2e89120a683a07 IO-Socket-SSL-2.050.tar.gz -sha256 54e6716e40df8b1c168d8f54a0b8f215313739bd99dda17adb7c00fe94656692 IO-Socket-SSL-2.050.tar.gz +md5 26c9bcdfb4ba8763ef89264f21326a48 IO-Socket-SSL-2.052.tar.gz +sha256 e4897a9b17cb18a3c44aa683980d52cef534cdfcb8063d6877c879bfa2f26673 IO-Socket-SSL-2.052.tar.gz diff --git a/package/perl-io-socket-ssl/perl-io-socket-ssl.mk b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk index a1ba9939ec..62fc2298c8 100644 --- a/package/perl-io-socket-ssl/perl-io-socket-ssl.mk +++ b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_IO_SOCKET_SSL_VERSION = 2.050 +PERL_IO_SOCKET_SSL_VERSION = 2.052 PERL_IO_SOCKET_SSL_SOURCE = IO-Socket-SSL-$(PERL_IO_SOCKET_SSL_VERSION).tar.gz PERL_IO_SOCKET_SSL_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SU/SULLR PERL_IO_SOCKET_SSL_DEPENDENCIES = perl-net-ssleay diff --git a/package/perl-json-tiny/perl-json-tiny.hash b/package/perl-json-tiny/perl-json-tiny.hash index 4b6bb89ce8..86478da9a8 100644 --- a/package/perl-json-tiny/perl-json-tiny.hash +++ b/package/perl-json-tiny/perl-json-tiny.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 52a57f8bd5b7727bc0ee8c4591431045 JSON-Tiny-0.56.tar.gz -sha256 f5e3eecd278ddc0b15e3b3d8d108f89fa47cc039852bdb80b909b6bc1b538d04 JSON-Tiny-0.56.tar.gz +md5 aa006882222e17a94295b3a655aab91b JSON-Tiny-0.58.tar.gz +sha256 ad42e9137f5148df7fdb22aa52186b306032977bcd70d49f44a288070e4f0f23 JSON-Tiny-0.58.tar.gz diff --git a/package/perl-json-tiny/perl-json-tiny.mk b/package/perl-json-tiny/perl-json-tiny.mk index 3892da601a..6b45613c5a 100644 --- a/package/perl-json-tiny/perl-json-tiny.mk +++ b/package/perl-json-tiny/perl-json-tiny.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_JSON_TINY_VERSION = 0.56 +PERL_JSON_TINY_VERSION = 0.58 PERL_JSON_TINY_SOURCE = JSON-Tiny-$(PERL_JSON_TINY_VERSION).tar.gz PERL_JSON_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DA/DAVIDO PERL_JSON_TINY_LICENSE = Artistic-2.0 diff --git a/package/perl-libwww-perl/perl-libwww-perl.hash b/package/perl-libwww-perl/perl-libwww-perl.hash index 24e077d38f..7ce0853049 100644 --- a/package/perl-libwww-perl/perl-libwww-perl.hash +++ b/package/perl-libwww-perl/perl-libwww-perl.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 457bf4a4f40af3e2f43653329a9c6ab7 libwww-perl-6.26.tar.gz -sha256 d0c5435275f8638ff36fff8f655ad2ccad1156e66cc47bfacfb9e44fc585b24f libwww-perl-6.26.tar.gz +md5 688284bc6282562948c6916f9e8563b0 libwww-perl-6.31.tar.gz +sha256 525d5386d39d1c1d7da8a0e9dd0cbab95cba2a4bfcfd9b83b257f49be4eecae3 libwww-perl-6.31.tar.gz diff --git a/package/perl-libwww-perl/perl-libwww-perl.mk b/package/perl-libwww-perl/perl-libwww-perl.mk index fd4857cf56..cdff6b41b4 100644 --- a/package/perl-libwww-perl/perl-libwww-perl.mk +++ b/package/perl-libwww-perl/perl-libwww-perl.mk @@ -4,9 +4,9 @@ # ################################################################################ -PERL_LIBWWW_PERL_VERSION = 6.26 +PERL_LIBWWW_PERL_VERSION = 6.31 PERL_LIBWWW_PERL_SOURCE = libwww-perl-$(PERL_LIBWWW_PERL_VERSION).tar.gz -PERL_LIBWWW_PERL_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS +PERL_LIBWWW_PERL_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER PERL_LIBWWW_PERL_DEPENDENCIES = \ perl-encode-locale \ perl-file-listing \ diff --git a/package/perl-lwp-mediatypes/Config.in b/package/perl-lwp-mediatypes/Config.in index b362e9c13b..ae2056adef 100644 --- a/package/perl-lwp-mediatypes/Config.in +++ b/package/perl-lwp-mediatypes/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PERL_LWP_MEDIATYPES bool "perl-lwp-mediatypes" help - This module provides functions for handling media (also known as MIME) - types and encodings. + This module provides functions for handling media (also + known as MIME) types and encodings. https://github.com/gisle/lwp-mediatypes diff --git a/package/perl-mailtools/Config.in b/package/perl-mailtools/Config.in index e02d3cba6b..2123c61ea3 100644 --- a/package/perl-mailtools/Config.in +++ b/package/perl-mailtools/Config.in @@ -2,6 +2,6 @@ config BR2_PACKAGE_PERL_MAILTOOLS bool "perl-mailtools" select BR2_PACKAGE_PERL_TIMEDATE help - Various e-mail related modules + Various ancient e-mail related modules https://metacpan.org/release/MailTools diff --git a/package/perl-mailtools/perl-mailtools.hash b/package/perl-mailtools/perl-mailtools.hash index 65a424b068..cb33453ecd 100644 --- a/package/perl-mailtools/perl-mailtools.hash +++ b/package/perl-mailtools/perl-mailtools.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 972468ab5207b90398d77bed4ffc361d MailTools-2.18.tar.gz -sha256 dfee9e770257371112f20d978e637759e81bc4f19e97b083585c71ecab37b527 MailTools-2.18.tar.gz +md5 a00b9d3c3dec64bd15de8c50f1b73d05 MailTools-2.19.tar.gz +sha256 c17ed702efea8eab56fe92961c07cd4980cee26ca6f13aff2688dc8af69c5e1a MailTools-2.19.tar.gz diff --git a/package/perl-mailtools/perl-mailtools.mk b/package/perl-mailtools/perl-mailtools.mk index bddaf9f2cc..75079f9e8b 100644 --- a/package/perl-mailtools/perl-mailtools.mk +++ b/package/perl-mailtools/perl-mailtools.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MAILTOOLS_VERSION = 2.18 +PERL_MAILTOOLS_VERSION = 2.19 PERL_MAILTOOLS_SOURCE = MailTools-$(PERL_MAILTOOLS_VERSION).tar.gz PERL_MAILTOOLS_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MA/MARKOV PERL_MAILTOOLS_DEPENDENCIES = perl-timedate diff --git a/package/perl-mime-base64/Config.in b/package/perl-mime-base64/Config.in index 22563dd5ad..702259853a 100644 --- a/package/perl-mime-base64/Config.in +++ b/package/perl-mime-base64/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_PERL_MIME_BASE64 bool "perl-mime-base64" depends on !BR2_STATIC_LIBS help - This package contains a base64 encoder/decoder and a quoted-printable - encoder/decoder. + This package contains a base64 encoder/decoder and a + quoted-printable encoder/decoder. http://github.com/gisle/mime-base64 diff --git a/package/perl-mojolicious/perl-mojolicious.hash b/package/perl-mojolicious/perl-mojolicious.hash index 45bfd5ac5e..0593a3cc62 100644 --- a/package/perl-mojolicious/perl-mojolicious.hash +++ b/package/perl-mojolicious/perl-mojolicious.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 a07d9d3fc06a35cc7336b35e6e531e43 Mojolicious-7.43.tar.gz -sha256 ca177da7b0c1e2a31a1880c4a06afbbd1ada1da57146bfa030b7912a3d608b5e Mojolicious-7.43.tar.gz +md5 47d198ea987b4913818c24107cd9673d Mojolicious-7.61.tar.gz +sha256 386ade41021bf0470879a0abceeccc305f773b41b76245cc3cdce92d7dc8897d Mojolicious-7.61.tar.gz diff --git a/package/perl-mojolicious/perl-mojolicious.mk b/package/perl-mojolicious/perl-mojolicious.mk index b3bec15e6e..4e94c47a71 100644 --- a/package/perl-mojolicious/perl-mojolicious.mk +++ b/package/perl-mojolicious/perl-mojolicious.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MOJOLICIOUS_VERSION = 7.43 +PERL_MOJOLICIOUS_VERSION = 7.61 PERL_MOJOLICIOUS_SOURCE = Mojolicious-$(PERL_MOJOLICIOUS_VERSION).tar.gz PERL_MOJOLICIOUS_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SR/SRI PERL_MOJOLICIOUS_LICENSE = Artistic-2.0 diff --git a/package/perl-net-dns/perl-net-dns.hash b/package/perl-net-dns/perl-net-dns.hash index a7234b27bc..1572a9f3c2 100644 --- a/package/perl-net-dns/perl-net-dns.hash +++ b/package/perl-net-dns/perl-net-dns.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 7e7c6cf8184df4d49500a003d998764a Net-DNS-1.12.tar.gz -sha256 25ff01fe79de3fb759d190fadb0971c326f4afc2e6a4541d10d624f65b34c1ff Net-DNS-1.12.tar.gz +md5 0da1099c0a3548d36ea9e31d5bb9e122 Net-DNS-1.14.tar.gz +sha256 83c38a594eeb2c85d66e60047a0f5b403f34bd92a5d13606f02e828d450299fc Net-DNS-1.14.tar.gz diff --git a/package/perl-net-dns/perl-net-dns.mk b/package/perl-net-dns/perl-net-dns.mk index 2aad6bdc47..0066a31ba3 100644 --- a/package/perl-net-dns/perl-net-dns.mk +++ b/package/perl-net-dns/perl-net-dns.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_NET_DNS_VERSION = 1.12 +PERL_NET_DNS_VERSION = 1.14 PERL_NET_DNS_SOURCE = Net-DNS-$(PERL_NET_DNS_VERSION).tar.gz PERL_NET_DNS_SITE = $(BR2_CPAN_MIRROR)/authors/id/N/NL/NLNETLABS PERL_NET_DNS_DEPENDENCIES = perl-digest-hmac diff --git a/package/perl-net-http/perl-net-http.hash b/package/perl-net-http/perl-net-http.hash index 31cf85af9e..ff59a0d9d3 100644 --- a/package/perl-net-http/perl-net-http.hash +++ b/package/perl-net-http/perl-net-http.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 7d4f31e5b346e1926c0b9b4b27b07500 Net-HTTP-6.16.tar.gz -sha256 70c45b6aaf3e9fb1ce30a1fc3cf828cfaee45c5c0bd147b2f617efade1765e78 Net-HTTP-6.16.tar.gz +md5 068fa02fd3c8a5b63316025b5a24844c Net-HTTP-6.17.tar.gz +sha256 1e8624b1618dc6f7f605f5545643ebb9b833930f4d7485d4124aa2f2f26d1611 Net-HTTP-6.17.tar.gz diff --git a/package/perl-net-http/perl-net-http.mk b/package/perl-net-http/perl-net-http.mk index 027853763f..f13614e346 100644 --- a/package/perl-net-http/perl-net-http.mk +++ b/package/perl-net-http/perl-net-http.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_NET_HTTP_VERSION = 6.16 +PERL_NET_HTTP_VERSION = 6.17 PERL_NET_HTTP_SOURCE = Net-HTTP-$(PERL_NET_HTTP_VERSION).tar.gz PERL_NET_HTTP_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_NET_HTTP_DEPENDENCIES = perl-uri diff --git a/package/perl-net-ssleay/perl-net-ssleay.hash b/package/perl-net-ssleay/perl-net-ssleay.hash index 08b2aee2e1..daa2c186b3 100644 --- a/package/perl-net-ssleay/perl-net-ssleay.hash +++ b/package/perl-net-ssleay/perl-net-ssleay.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 71932ce34d4db44de8d00399c3405792 Net-SSLeay-1.81.tar.gz -sha256 00cbb6174e628b42178e1445c9fd5a3c5ae2cfd6a5a43e03610ba14786f21b7d Net-SSLeay-1.81.tar.gz +md5 cfbe968487149626978f427cc9fb8c77 Net-SSLeay-1.84.tar.gz +sha256 823ec3cbb428309d6a9e56f362a9300693ce3215b7fede109adb7be361fff177 Net-SSLeay-1.84.tar.gz diff --git a/package/perl-net-ssleay/perl-net-ssleay.mk b/package/perl-net-ssleay/perl-net-ssleay.mk index e91b344061..3814038ccd 100644 --- a/package/perl-net-ssleay/perl-net-ssleay.mk +++ b/package/perl-net-ssleay/perl-net-ssleay.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_NET_SSLEAY_VERSION = 1.81 +PERL_NET_SSLEAY_VERSION = 1.84 PERL_NET_SSLEAY_SOURCE = Net-SSLeay-$(PERL_NET_SSLEAY_VERSION).tar.gz PERL_NET_SSLEAY_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIKEM PERL_NET_SSLEAY_DEPENDENCIES = openssl diff --git a/package/perl-time-hires/perl-time-hires.hash b/package/perl-time-hires/perl-time-hires.hash index 210f6302d9..f3ab700ea3 100644 --- a/package/perl-time-hires/perl-time-hires.hash +++ b/package/perl-time-hires/perl-time-hires.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 728dc2c2715313a056792191d7d0726c Time-HiRes-1.9746.tar.gz -sha256 89408c81bb827bc908c98eec50071e6e1158f38fa462865ecc3dc03aebf5f596 Time-HiRes-1.9746.tar.gz +md5 b98099e0cb7702210606776e9746e103 Time-HiRes-1.9753.tar.gz +sha256 0fbfd5f99cdd26011d5c0bc3a8e369dacc4a9e1d1658f4663ac6018f2cec4915 Time-HiRes-1.9753.tar.gz diff --git a/package/perl-time-hires/perl-time-hires.mk b/package/perl-time-hires/perl-time-hires.mk index 7f52625fe3..c8dde49f2f 100644 --- a/package/perl-time-hires/perl-time-hires.mk +++ b/package/perl-time-hires/perl-time-hires.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_TIME_HIRES_VERSION = 1.9746 +PERL_TIME_HIRES_VERSION = 1.9753 PERL_TIME_HIRES_SOURCE = Time-HiRes-$(PERL_TIME_HIRES_VERSION).tar.gz PERL_TIME_HIRES_SITE = $(BR2_CPAN_MIRROR)/authors/id/J/JH/JHI PERL_TIME_HIRES_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-try-tiny/perl-try-tiny.hash b/package/perl-try-tiny/perl-try-tiny.hash index c6dbd44f47..85f6040119 100644 --- a/package/perl-try-tiny/perl-try-tiny.hash +++ b/package/perl-try-tiny/perl-try-tiny.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 e2f8af601a62981aab30df15a6f47475 Try-Tiny-0.28.tar.gz -sha256 f1d166be8aa19942c4504c9111dade7aacb981bc5b3a2a5c5f6019646db8c146 Try-Tiny-0.28.tar.gz +md5 eb362c3cb32c42f9f28de9ddb7f2ead6 Try-Tiny-0.30.tar.gz +sha256 da5bd0d5c903519bbf10bb9ba0cb7bcac0563882bcfe4503aee3fb143eddef6b Try-Tiny-0.30.tar.gz diff --git a/package/perl-try-tiny/perl-try-tiny.mk b/package/perl-try-tiny/perl-try-tiny.mk index b4d35ab198..f9113e7069 100644 --- a/package/perl-try-tiny/perl-try-tiny.mk +++ b/package/perl-try-tiny/perl-try-tiny.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_TRY_TINY_VERSION = 0.28 +PERL_TRY_TINY_VERSION = 0.30 PERL_TRY_TINY_SOURCE = Try-Tiny-$(PERL_TRY_TINY_VERSION).tar.gz PERL_TRY_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER PERL_TRY_TINY_LICENSE = MIT diff --git a/package/perl-uri/perl-uri.hash b/package/perl-uri/perl-uri.hash index a11924fdb4..5f27230e5e 100644 --- a/package/perl-uri/perl-uri.hash +++ b/package/perl-uri/perl-uri.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 cd56d81ed429efaa97e7f3ff08851b48 URI-1.72.tar.gz -sha256 35f14431d4b300de4be1163b0b5332de2d7fbda4f05ff1ed198a8e9330d40a32 URI-1.72.tar.gz +md5 37d44a08e599aa945b32a9434ffe00a5 URI-1.73.tar.gz +sha256 cca7ab4a6f63f3ccaacae0f2e1337e8edf84137e73f18548ec7d659f23efe413 URI-1.73.tar.gz diff --git a/package/perl-uri/perl-uri.mk b/package/perl-uri/perl-uri.mk index 75f374a29b..690a0eb8c7 100644 --- a/package/perl-uri/perl-uri.mk +++ b/package/perl-uri/perl-uri.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_URI_VERSION = 1.72 +PERL_URI_VERSION = 1.73 PERL_URI_SOURCE = URI-$(PERL_URI_VERSION).tar.gz PERL_URI_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER PERL_URI_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-www-robotrules/Config.in b/package/perl-www-robotrules/Config.in index e80f5a0d9d..3e7175e331 100644 --- a/package/perl-www-robotrules/Config.in +++ b/package/perl-www-robotrules/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_PERL_WWW_ROBOTRULES bool "perl-www-robotrules" select BR2_PACKAGE_PERL_URI help - This module provides functions that deal the date formats used by the - HTTP protocol (and then some more) + This module provides functions that deal the date formats + used by the HTTP protocol (and then some more) http://github.com/gisle/www-robotrules diff --git a/package/perl-xml-libxml/perl-xml-libxml.hash b/package/perl-xml-libxml/perl-xml-libxml.hash index 092ec15d62..bbe841a603 100644 --- a/package/perl-xml-libxml/perl-xml-libxml.hash +++ b/package/perl-xml-libxml/perl-xml-libxml.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 5806b69d54a2d7884b8d22b395888436 XML-LibXML-2.0129.tar.gz -sha256 5ca0269ba06800c84061a7f3333c85fab5584d69cd7b4e0641963da7fd36b366 XML-LibXML-2.0129.tar.gz +md5 43546fd9a3974f19323f9fb04861ece9 XML-LibXML-2.0132.tar.gz +sha256 721452e3103ca188f5968ab06d5ba29fe8e00e49f4767790882095050312d476 XML-LibXML-2.0132.tar.gz diff --git a/package/perl-xml-libxml/perl-xml-libxml.mk b/package/perl-xml-libxml/perl-xml-libxml.mk index 8ef6fcbc26..ff831bb070 100644 --- a/package/perl-xml-libxml/perl-xml-libxml.mk +++ b/package/perl-xml-libxml/perl-xml-libxml.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_XML_LIBXML_VERSION = 2.0129 +PERL_XML_LIBXML_VERSION = 2.0132 PERL_XML_LIBXML_SOURCE = XML-LibXML-$(PERL_XML_LIBXML_VERSION).tar.gz PERL_XML_LIBXML_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SH/SHLOMIF PERL_XML_LIBXML_DEPENDENCIES = zlib libxml2 perl-xml-namespacesupport perl-xml-sax perl-xml-sax-base diff --git a/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch b/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch new file mode 100644 index 0000000000..5223b78c01 --- /dev/null +++ b/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch @@ -0,0 +1,46 @@ +From ae65651eab053fc6dc4590dbb863a268215c1fc5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Fri, 8 Jun 2018 11:45:40 +0100 +Subject: [PATCH] [PATCH] Remove existing files before overwriting them + +Archive should extract only the latest same-named entry. +Extracted regular file should not be writtent into existing block +device (or any other one). + +https://rt.cpan.org/Ticket/Display.html?id=125523 + +[Peter: rewrite path to match perl tarball with sed 's|\(lib/Archive\)|cpan/Archive-Tar/\1|g'] +Signed-off-by: Chris 'BinGOs' Williams +Signed-off-by: Peter Korsgaard +--- + cpan/Archive-Tar/lib/Archive/Tar.pm | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/cpan/Archive-Tar/lib/Archive/Tar.pm b/cpan/Archive-Tar/lib/Archive/Tar.pm +index 6244369..a83975f 100644 +--- a/cpan/Archive-Tar/lib/Archive/Tar.pm ++++ b/cpan/Archive-Tar/lib/Archive/Tar.pm +@@ -845,6 +845,20 @@ sub _extract_file { + return; + } + ++ ### If a file system already contains a block device with the same name as ++ ### the being extracted regular file, we would write the file's content ++ ### to the block device. So remove the existing file (block device) now. ++ ### If an archive contains multiple same-named entries, the last one ++ ### should replace the previous ones. So remove the old file now. ++ ### If the old entry is a symlink to a file outside of the CWD, the new ++ ### entry would create a file there. This is CVE-2018-12015 ++ ### . ++ if (-l $full || -e _) { ++ if (!unlink $full) { ++ $self->_error( qq[Could not remove old file '$full': $!] ); ++ return; ++ } ++ } + if( length $entry->type && $entry->is_file ) { + my $fh = IO::File->new; + $fh->open( $full, '>' ) or ( +-- +2.11.0 + diff --git a/package/perl/Config.in b/package/perl/Config.in index cdd5aaba20..32a3fd2ee9 100644 --- a/package/perl/Config.in +++ b/package/perl/Config.in @@ -3,8 +3,8 @@ config BR2_PACKAGE_PERL depends on BR2_USE_MMU # fork() help Larry Wall's Practical Extraction and Report Language - An interpreted scripting language, known among some as "Unix's Swiss - Army Chainsaw". + An interpreted scripting language, known among some as + "Unix's Swiss Army Chainsaw". http://www.perl.org/ @@ -13,8 +13,8 @@ if BR2_PACKAGE_PERL config BR2_PACKAGE_PERL_MODULES string "custom module selection" help - List of space-separated perl modules (without .pm) to copy to the - rootfs. + List of space-separated perl modules (without .pm) to copy + to the rootfs. Examples: constant Getopt/Std Time/Local diff --git a/package/perl/perl.hash b/package/perl/perl.hash index 14e6b117ca..210f6d581b 100644 --- a/package/perl/perl.hash +++ b/package/perl/perl.hash @@ -1,7 +1,7 @@ -# Hashes from: http://www.cpan.org/src/5.0/perl-5.26.1.tar.xz.{md5,sha1,sha256}.txt -md5 70e988b4318739b0cf3ad5e120bfde88 perl-5.26.1.tar.xz -sha1 403bb1804cb41416153d908eea093f2be22a77f6 perl-5.26.1.tar.xz -sha256 fe8208133e73e47afc3251c08d2c21c5a60160165a8ab8b669c43a420e4ec680 perl-5.26.1.tar.xz +# Hashes from: http://www.cpan.org/src/5.0/perl-5.26.2.tar.xz.{md5,sha1,sha256}.txt +md5 1fa1b53eeff76aa37b17bfc9b2771671 perl-5.26.2.tar.xz +sha1 bfa5c7921ed7bf5e035dbf2f7ff81367b81e372c perl-5.26.2.tar.xz +sha256 0f8c0fb1b0db4681adb75c3ba0dd77a0472b1b359b9e80efd79fc27b4352132c perl-5.26.2.tar.xz -# Hashes from: http://github.com/arsv/perl-cross/releases/download/1.1.8/perl-cross-1.1.8.hash -sha256 08e626ed9c419b8a695a8762ff8b41a553023175e4ad67b5e858fc9b4322521c perl-cross-1.1.8.tar.gz +# Hashes from: http://github.com/arsv/perl-cross/releases/download/1.1.9/perl-cross-1.1.9.hash +sha256 0bbb450e48d07e7fdf867d578b1780ac8f0e8dc284d52301dac4d763b42f6041 perl-cross-1.1.9.tar.gz diff --git a/package/perl/perl.mk b/package/perl/perl.mk index 58bf3eb6ae..7b4a2710b1 100644 --- a/package/perl/perl.mk +++ b/package/perl/perl.mk @@ -6,14 +6,14 @@ # When updating the version here, also update utils/scancpan PERL_VERSION_MAJOR = 26 -PERL_VERSION = 5.$(PERL_VERSION_MAJOR).1 +PERL_VERSION = 5.$(PERL_VERSION_MAJOR).2 PERL_SITE = http://www.cpan.org/src/5.0 PERL_SOURCE = perl-$(PERL_VERSION).tar.xz PERL_LICENSE = Artistic or GPL-1.0+ PERL_LICENSE_FILES = Artistic Copying README PERL_INSTALL_STAGING = YES -PERL_CROSS_VERSION = 1.1.8 +PERL_CROSS_VERSION = 1.1.9 # DO NOT refactor with the github helper (the result is not the same) PERL_CROSS_SITE = https://github.com/arsv/perl-cross/releases/download/$(PERL_CROSS_VERSION) PERL_CROSS_SOURCE = perl-cross-$(PERL_CROSS_VERSION).tar.gz diff --git a/package/phidgetwebservice/Config.in b/package/phidgetwebservice/Config.in index db7577d744..50018e0af9 100644 --- a/package/phidgetwebservice/Config.in +++ b/package/phidgetwebservice/Config.in @@ -5,14 +5,15 @@ config BR2_PACKAGE_PHIDGETWEBSERVICE select BR2_PACKAGE_LIBPHIDGET help phidgetwebservice (the Phidget WebService) provides an HTTP - front-end to the libphidget device control API. This provides - an alternative to the libphidget C linkage interface for - controlling locally attached Phidgets USB devices and it also - allows you to control Phidget USB devices remotely when the host - running the phidgetwebservice has an exposed network interface. + front-end to the libphidget device control API. This + provides an alternative to the libphidget C linkage + interface for controlling locally attached Phidgets USB + devices and it also allows you to control Phidget USB + devices remotely when the host running the phidgetwebservice + has an exposed network interface. - The phidgetwebservice client program uses the libphidget HTTP - functions to send commands to the phidgetwebservice. + The phidgetwebservice client program uses the libphidget + HTTP functions to send commands to the phidgetwebservice. http://phidgets.com/ diff --git a/package/php-amqp/Config.in b/package/php-amqp/Config.in index 0aa2021f5a..dc779f0ee0 100644 --- a/package/php-amqp/Config.in +++ b/package/php-amqp/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_PHP_AMQP bool "php-amqp" depends on BR2_PACKAGE_PHP depends on BR2_TOOLCHAIN_HAS_THREADS # rabbitmq-c + select BR2_PACKAGE_OPENSSL # rabbitmq-c: amqp_ssl_socket.h select BR2_PACKAGE_RABBITMQ_C help Communicate with any AMQP compliant server. diff --git a/package/php/0001-acinclude.m4-don-t-unset-variables.patch b/package/php/0001-acinclude.m4-don-t-unset-variables.patch index d507775b8a..b23911322f 100644 --- a/package/php/0001-acinclude.m4-don-t-unset-variables.patch +++ b/package/php/0001-acinclude.m4-don-t-unset-variables.patch @@ -7,6 +7,8 @@ Unsetting ac_cv_{func,lib}_* is bad, you can't feed the configure cache. Terminate them with extreme prejudice. Signed-off-by: Gustavo Zacarias +Signed-off-by: Adam Duskett +[aduskett@gmail.com: Update for 7.2.2] --- acinclude.m4 | 4 ---- 1 file changed, 4 deletions(-) @@ -15,7 +17,7 @@ diff --git a/acinclude.m4 b/acinclude.m4 index 28506b6..af4aa06 100644 --- a/acinclude.m4 +++ b/acinclude.m4 -@@ -1898,8 +1898,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,])) +@@ -1890,8 +1890,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,])) dnl AC_DEFUN([PHP_CHECK_FUNC_LIB],[ ifelse($2,,:,[ @@ -24,7 +26,7 @@ index 28506b6..af4aa06 100644 unset found AC_CHECK_LIB($2, $1, [found=yes], [ AC_CHECK_LIB($2, __$1, [found=yes], [found=no]) -@@ -1931,8 +1929,6 @@ dnl in the default libraries and as a fall back in the specified library. +@@ -1923,8 +1921,6 @@ dnl in the default libraries and as a fall back in the specified library. dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS. dnl AC_DEFUN([PHP_CHECK_FUNC],[ diff --git a/package/php/0002-iconv-tweak-iconv-detection.patch b/package/php/0002-iconv-tweak-iconv-detection.patch index a34664930b..e921030d29 100644 --- a/package/php/0002-iconv-tweak-iconv-detection.patch +++ b/package/php/0002-iconv-tweak-iconv-detection.patch @@ -13,6 +13,8 @@ PHP_ICONV_H_PATH which, again, uses test and absolute paths. Signed-off-by: Gustavo Zacarias [Gustavo: convert to nice m4 instead of patching configure] [Gustavo: update for 5.6.10] +Signed-off-by: Adam Duskett +[aduskett@gmail.com: Update for 7.2.2] --- acinclude.m4 | 2 +- ext/iconv/config.m4 | 22 ---------------------- @@ -22,7 +24,7 @@ diff --git a/acinclude.m4 b/acinclude.m4 index af4aa06..1bd2652 100644 --- a/acinclude.m4 +++ b/acinclude.m4 -@@ -2471,7 +2471,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ +@@ -2463,7 +2463,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ dnl if test "$found_iconv" = "no"; then diff --git a/package/php/0003-configure-disable-the-phar-tool.patch b/package/php/0003-configure-disable-the-phar-tool.patch index 3b64b7b6bf..e41584e8e5 100644 --- a/package/php/0003-configure-disable-the-phar-tool.patch +++ b/package/php/0003-configure-disable-the-phar-tool.patch @@ -10,15 +10,17 @@ on the target. Signed-off-by: Gustavo Zacarias [Gustavo: update for autoreconf/configure.in] +Signed-off-by: Adam Duskett +[Aduskett: update for 7.2.2] --- - configure.in | 9 ++------- + configure.ac | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) -diff --git a/configure.in b/configure.in -index 25c8abf..4dc8a09 100644 ---- a/configure.in -+++ b/configure.in -@@ -1445,13 +1445,8 @@ CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag" +diff --git a/configure.ac b/configure.ac +index d20af76..7f02f1a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1420,13 +1420,8 @@ CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag" INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag" CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)" @@ -35,5 +37,5 @@ index 25c8abf..4dc8a09 100644 all_targets="$lcov_target \$(OVERALL_TARGET) \$(PHP_MODULES) \$(PHP_ZEND_EX) \$(PHP_BINARIES) $pharcmd" install_targets="$install_sapi $install_modules $install_binaries install-build install-headers install-programs $install_pear $pharcmd_install" -- -2.7.4 +2.14.3 diff --git a/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch b/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch index a36c2a3ae0..257ac70f4f 100644 --- a/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch +++ b/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch @@ -5,6 +5,8 @@ Subject: [PATCH] ext/fileinfo/config.m4: allow cache answer for strcasestr discovery Signed-off-by: Gustavo Zacarias +[aduskett@gmail.com: Update for 7.2.2] +Signed-off-by: Adam Duskett --- ext/fileinfo/config.m4 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) @@ -13,14 +15,14 @@ diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4 index 7e98d62..8561962 100644 --- a/ext/fileinfo/config.m4 +++ b/ext/fileinfo/config.m4 -@@ -14,6 +14,7 @@ if test "$PHP_FILEINFO" != "no"; then - libmagic/readcdf.c libmagic/softmagic.c" +@@ -15,6 +15,7 @@ libmagic/readcdf.c libmagic/softmagic.c libmagic/der.c" AC_MSG_CHECKING([for strcasestr]) + AC_CACHE_VAL(ac_cv_func_strcasestr, AC_TRY_RUN([ #include #include + #include @@ -46,7 +47,7 @@ int main(void) AC_MSG_RESULT(no) AC_MSG_NOTICE(using libmagic strcasestr implementation) diff --git a/package/php/0007-avoid-bfin-gcc-segfault.patch b/package/php/0006-avoid-bfin-gcc-segfault.patch similarity index 88% rename from package/php/0007-avoid-bfin-gcc-segfault.patch rename to package/php/0006-avoid-bfin-gcc-segfault.patch index 4dccb25f1f..7f8cb24e7a 100644 --- a/package/php/0007-avoid-bfin-gcc-segfault.patch +++ b/package/php/0006-avoid-bfin-gcc-segfault.patch @@ -1,11 +1,12 @@ Avoid gcc segmentation fault Signed-off-by: Waldemar Brodkorb - +Signed-off-by: Adam Duskett +[aduskett@gmail.com: Update for 7.2.2] diff -Nur php-7.0.12.orig/Zend/zend_portability.h php-7.0.12/Zend/zend_portability.h --- php-7.0.12.orig/Zend/zend_portability.h 2016-10-13 16:04:17.000000000 +0200 +++ php-7.0.12/Zend/zend_portability.h 2016-11-08 02:49:39.118388999 +0100 -@@ -97,7 +97,7 @@ +@@ -95,7 +95,7 @@ #if defined(ZEND_WIN32) && !defined(__clang__) # define ZEND_ASSUME(c) __assume(c) diff --git a/package/php/0009-Call-apxs-with-correct-prefix.patch b/package/php/0007-Call-apxs-with-correct-prefix.patch similarity index 95% rename from package/php/0009-Call-apxs-with-correct-prefix.patch rename to package/php/0007-Call-apxs-with-correct-prefix.patch index b850ab7755..c81711d2a0 100644 --- a/package/php/0009-Call-apxs-with-correct-prefix.patch +++ b/package/php/0007-Call-apxs-with-correct-prefix.patch @@ -15,6 +15,8 @@ httpd.conf will only be correct in the staging directory. To fix this, add -S PREFIX='$(INSTALL_ROOT)/usr' to apxs call in configure Signed-off-by: Fabrice Fontaine +Signed-off-by: Adam Duskett +[aduskett@gmail.com: Update for 7.2.2] --- sapi/apache2handler/config.m4 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package/php/0008-ext-xml-expat_compat.h-add-missing-php.h-include.patch b/package/php/0008-ext-xml-expat_compat.h-add-missing-php.h-include.patch new file mode 100644 index 0000000000..daf004dcf7 --- /dev/null +++ b/package/php/0008-ext-xml-expat_compat.h-add-missing-php.h-include.patch @@ -0,0 +1,71 @@ +From fb1f0e17eed729204a6d5caf590715d6257dceb3 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 5 Apr 2018 22:50:00 +0200 +Subject: [PATCH] ext/xml/expat_compat.h: add missing php.h include + +When expat support is disabled and libxml support is enabled, the +following part of the code in expat_compat.h gets used: + +and therefore "php".h" is included. However, when libexpat support is +enabled, HAVE_LIBEXPAT is defined, and therefore the following part of +the code is used: + +In this case, "php.h" is not included. Due to this, zend_alloc.h is +never included when building the ext/xmlrpc/libxmlrpc/xml_element.c +file, and therefore the estrdup -> _estrdup macros are never defined, +causing the following link time failure: + +ext/xmlrpc/libxmlrpc/xml_element.o: In function `xml_element_serialize': +/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:462: undefined reference to `efree' +ext/xmlrpc/libxmlrpc/xml_element.o: In function `xml_elem_entity_escape': +/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:347: undefined reference to `emalloc' +ext/xmlrpc/libxmlrpc/xml_element.o: In function `_xmlrpc_charHandler': +/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:646: undefined reference to `efree' +ext/xmlrpc/libxmlrpc/xml_element.o: In function `xml_elem_free_non_recurse': +/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:198: undefined reference to `efree' +/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:199: undefined reference to `efree' +/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:200: undefined reference to `efree' +/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:207: undefined reference to `efree' +ext/xmlrpc/libxmlrpc/xml_element.o: In function `xml_elem_new': +/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:263: undefined reference to `ecalloc' +ext/xmlrpc/libxmlrpc/xml_element.o: In function `_xmlrpc_startElement': +/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:602: undefined reference to `estrdup' +/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:607: undefined reference to `emalloc' +/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:609: undefined reference to `estrdup' +/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:610: undefined reference to `estrdup' +ext/xmlrpc/libxmlrpc/xml_element.o: In function `xml_elem_free_non_recurse': +/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:211: undefined reference to `efree' +collect2: error: ld returned 1 exit status +make: *** [Makefile:248: sapi/cgi/php-cgi] Error 1 + +This link time failure can be produced with: + +./configure --prefix=/usr --with-libdir=/usr/lib64 --disable-all \ + --without-pear --with-config-file-path=/etc --disable-phpdbg \ + --disable-cli --enable-cgi --disable-fpm --enable-xmlreader \ + --enable-xmlwriter --enable-libxml --enable-wddx --with-xmlrpc \ + --with-libexpat-dir=/ + +We fix it by including "php.h" in the HAVE_LIBEXPAT case. + +Signed-off-by: Thomas Petazzoni +Upstream-status: https://github.com/php/php-src/pull/3212 +--- + ext/xml/expat_compat.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ext/xml/expat_compat.h b/ext/xml/expat_compat.h +index ed621ab53d..29fe48a7dd 100644 +--- a/ext/xml/expat_compat.h ++++ b/ext/xml/expat_compat.h +@@ -154,6 +154,7 @@ PHP_XML_API const XML_Char *XML_ExpatVersion(void); + PHP_XML_API void XML_ParserFree(XML_Parser); + + #elif defined(HAVE_LIBEXPAT) ++#include "php.h" + #include + #endif /* HAVE_LIBEXPAT */ + +-- +2.14.3 + diff --git a/package/php/0008-fix-asm-constraints-in-aarch64-multiply-macro.patch b/package/php/0008-fix-asm-constraints-in-aarch64-multiply-macro.patch deleted file mode 100644 index f4812daaa5..0000000000 --- a/package/php/0008-fix-asm-constraints-in-aarch64-multiply-macro.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 1622f24fde4220967bd907bf8f0325d444bf9339 Mon Sep 17 00:00:00 2001 -From: Andy Postnikov -Date: Sat, 10 Dec 2016 23:51:17 +0300 -Subject: [PATCH] Fix bug #70015 - Compilation failure on aarch64 - -Fixes build at -O0. - -[From pull request https://github.com/php/php-src/pull/2236.] -Signed-off-by: Tatsuyuki Ishi ---- - Zend/zend_multiply.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Zend/zend_multiply.h b/Zend/zend_multiply.h -index 75769db..fbd69ab 100644 ---- a/Zend/zend_multiply.h -+++ b/Zend/zend_multiply.h -@@ -75,8 +75,8 @@ - __asm__("mul %0, %2, %3\n" \ - "smulh %1, %2, %3\n" \ - "sub %1, %1, %0, asr #63\n" \ -- : "=X"(__tmpvar), "=X"(usedval) \ -- : "X"(a), "X"(b)); \ -+ : "=&r"(__tmpvar), "=&r"(usedval) \ -+ : "r"(a), "r"(b)); \ - if (usedval) (dval) = (double) (a) * (double) (b); \ - else (lval) = __tmpvar; \ - } while (0) diff --git a/package/php/Config.ext b/package/php/Config.ext index 6b3d86925d..51dcbbf4a4 100644 --- a/package/php/Config.ext +++ b/package/php/Config.ext @@ -113,6 +113,7 @@ endif config BR2_PACKAGE_PHP_EXT_MYSQLI bool "Mysqli" + select BR2_PACKAGE_PHP_EXT_HASH help MySQL Improved extension support @@ -131,6 +132,7 @@ if BR2_PACKAGE_PHP_EXT_PDO config BR2_PACKAGE_PHP_EXT_PDO_MYSQL bool "MySQL" + select BR2_PACKAGE_PHP_EXT_HASH help PDO driver for MySQL diff --git a/package/php/Config.in b/package/php/Config.in index 0fb80063af..11514e04b1 100644 --- a/package/php/Config.in +++ b/package/php/Config.in @@ -6,6 +6,10 @@ config BR2_PACKAGE_PHP !BR2_PACKAGE_PHP_SAPI_FPM && \ BR2_USE_MMU select BR2_PACKAGE_PHP_SAPI_CLI if !BR2_USE_MMU + # PHP uses -export-dynamic, which breaks with elf2flt with a + # message like "ld.real: section .junk LMA [...,...] overlaps + # section .text LMA [...,...]" + depends on !BR2_BINFMT_FLAT help PHP is a widely-used general-purpose scripting language that is especially suited for Web development diff --git a/package/php/php.hash b/package/php/php.hash index d1f36f2d34..2774c44d6d 100644 --- a/package/php/php.hash +++ b/package/php/php.hash @@ -1,5 +1,5 @@ # From http://php.net/downloads.php -sha256 074093e9d7d21afedc5106904218a80a47b854abe368d2728ed22184c884893e php-7.1.11.tar.xz +sha256 01c2154a3a8e3c0818acbdbc1a956832c828a0380ce6d1d14fea495ea21804f0 php-7.2.10.tar.xz # License file -sha256 a44951f93b10c87c3f7cd9f311d95999c57c95ed950eec32b14c1c7ea6baf25e LICENSE +sha256 00e567a8d50359d93ee1f9afdd9511277660c1e70a0cbf3229f84403aa9aebb1 LICENSE diff --git a/package/php/php.mk b/package/php/php.mk index aaeacde69a..f92e9b6565 100644 --- a/package/php/php.mk +++ b/package/php/php.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_VERSION = 7.1.11 +PHP_VERSION = 7.2.10 PHP_SITE = http://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES @@ -137,7 +137,7 @@ endif ifeq ($(BR2_PACKAGE_PHP_EXT_LIBXML2),y) PHP_CONF_ENV += php_cv_libxml_build_works=yes -PHP_CONF_OPTS += --enable-libxml --with-libxml-dir=${STAGING_DIR}/usr +PHP_CONF_OPTS += --enable-libxml --with-libxml-dir=$(STAGING_DIR)/usr PHP_DEPENDENCIES += libxml2 endif @@ -228,9 +228,10 @@ ifneq ($(BR2_PACKAGE_PHP_EXT_MYSQLI)$(BR2_PACKAGE_PHP_EXT_PDO_MYSQL),) PHP_CONF_OPTS += --with-mysql-sock=$(MYSQL_SOCKET) endif -define PHP_DISABLE_PCRE_JIT - $(SED) '/^#define SUPPORT_JIT/d' $(@D)/ext/pcre/pcrelib/config.h +define PHP_DISABLE_VALGRIND + $(SED) '/^#define HAVE_VALGRIND/d' $(@D)/main/php_config.h endef +PHP_POST_CONFIGURE_HOOKS += PHP_DISABLE_VALGRIND ### Use external PCRE if it's available ifeq ($(BR2_PACKAGE_PCRE),y) @@ -244,8 +245,10 @@ ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) PHP_CFLAGS += -DSLJIT_SINGLE_THREADED=1 endif # check ext/pcre/pcrelib/sljit/sljitConfigInternal.h for supported archs -ifeq ($(BR2_i386)$(BR2_x86_64)$(BR2_arm)$(BR2_armeb)$(BR2_aarch64)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_powerpc)$(BR2_sparc),) -PHP_POST_CONFIGURE_HOOKS += PHP_DISABLE_PCRE_JIT +ifeq ($(BR2_i386)$(BR2_x86_64)$(BR2_arm)$(BR2_armeb)$(BR2_aarch64)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_powerpc)$(BR2_sparc),y) +PHP_CONF_OPTS += --with-pcre-jit +else +PHP_CONF_OPTS += --without-pcre-jit endif endif diff --git a/package/physfs/0001-Fix-builds-with-modern-GCC.patch b/package/physfs/0001-Fix-builds-with-modern-GCC.patch deleted file mode 100644 index 710b4ff94d..0000000000 --- a/package/physfs/0001-Fix-builds-with-modern-GCC.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 61d3b63abcba8e9615dcb8a3d1fc026bf7f8d5f8 Mon Sep 17 00:00:00 2001 -From: Jacob Burroughs -Date: Thu, 23 Jun 2016 13:03:47 -0500 -Subject: [PATCH] Fix builds with modern GCC - -From SuperTux project: -https://github.com/SuperTux/physfs/commit/61d3b63abcba8e9615dcb8a3d1fc026bf7f8d5f8 - -Signed-off-by: Romain Naour ---- - CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2a371af..94c4844 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -50,7 +50,7 @@ endif() - # Add some gcc-specific command lines. - if(CMAKE_COMPILER_IS_GNUCC) - # Always build with debug symbols...you can strip it later. -- add_definitions(-g -pipe -Werror -fsigned-char) -+ add_definitions(-g -pipe -fsigned-char) - - # Stupid BeOS generates warnings in the system headers. - if(NOT BEOS) -@@ -304,7 +304,7 @@ if(PHYSFS_BUILD_TEST) - if(READLINE_LIBRARY) - set(HAVE_SYSTEM_READLINE TRUE) - set(TEST_PHYSFS_LIBS ${TEST_PHYSFS_LIBS} ${READLINE_LIBRARY} ${CURSES_LIBRARY}) -- include_directories(${READLINE_H} ${HISTORY_H}) -+ include_directories(SYSTEM ${READLINE_H} ${HISTORY_H}) - add_definitions(-DPHYSFS_HAVE_READLINE=1) - endif() - endif() --- -2.9.3 - diff --git a/package/physfs/Config.in b/package/physfs/Config.in index dad3ab43ce..c272d8879f 100644 --- a/package/physfs/Config.in +++ b/package/physfs/Config.in @@ -1,10 +1,11 @@ config BR2_PACKAGE_PHYSFS bool "physfs" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS help PhysicsFS; a portable, flexible file i/o abstraction. http://icculus.org/physfs -comment "physfs needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "physfs needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/physfs/physfs.hash b/package/physfs/physfs.hash new file mode 100644 index 0000000000..3d97fe0b0d --- /dev/null +++ b/package/physfs/physfs.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 b77b9f853168d9636a44f75fca372b363106f52d789d18a2f776397bf117f2f1 physfs-3.0.1.tar.bz2 +sha256 7ce475991f6cc09958ef0d57312522eba78e36d984307c95f9a3965adf7e4e2b LICENSE.txt diff --git a/package/physfs/physfs.mk b/package/physfs/physfs.mk index 9193ad5ec0..78176be4bf 100644 --- a/package/physfs/physfs.mk +++ b/package/physfs/physfs.mk @@ -4,12 +4,12 @@ # ################################################################################ -PHYSFS_VERSION = be27dfd07d97336145e7f49d3fd200a6e902f85e -PHYSFS_SITE = https://hg.icculus.org/icculus/physfs -PHYSFS_SITE_METHOD = hg +PHYSFS_VERSION = 3.0.1 +PHYSFS_SOURCE = physfs-$(PHYSFS_VERSION).tar.bz2 +PHYSFS_SITE = https://icculus.org/physfs/downloads -PHYSFS_LICENSE = Zlib (physfs), LGPL with exceptions (lzma) -PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/LGPL.txt +PHYSFS_LICENSE = Zlib +PHYSFS_LICENSE_FILES = LICENSE.txt PHYSFS_INSTALL_STAGING = YES diff --git a/package/picocom/Config.in b/package/picocom/Config.in index 671d01fb5a..9f8efc4a9a 100644 --- a/package/picocom/Config.in +++ b/package/picocom/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_PICOCOM bool "picocom" depends on BR2_USE_MMU # fork() help - picocom is a minimal dumb-terminal emulation program. It is, in - principle, very much like minicom, only it's pico instead of mini! + picocom is a minimal dumb-terminal emulation program. It is, + in principle, very much like minicom, only it's pico instead + of mini! https://github.com/npat-efault/picocom/ diff --git a/package/picocom/picocom.hash b/package/picocom/picocom.hash index 16db03e104..f155830493 100644 --- a/package/picocom/picocom.hash +++ b/package/picocom/picocom.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 3e3904158d675541f0fcfdcd1f671b38445338f536080f5de8d6674b5f33d4ce picocom-2.2.tar.gz +sha256 a539db95bde3a5ebd52ae58a21f40d00cc2c97bf14b1f50caffc07257989112e picocom-3.0.tar.gz +sha256 9273c6b2c55be95f0f0df292d87e8900e5bfdf5b510a6ea09e80306cf45c10f6 LICENSE.txt diff --git a/package/picocom/picocom.mk b/package/picocom/picocom.mk index 4e25556f4c..0fa60f99c3 100644 --- a/package/picocom/picocom.mk +++ b/package/picocom/picocom.mk @@ -4,14 +4,13 @@ # ################################################################################ -PICOCOM_VERSION = 2.2 +PICOCOM_VERSION = 3.0 PICOCOM_SITE = $(call github,npat-efault,picocom,$(PICOCOM_VERSION)) PICOCOM_LICENSE = GPL-2.0+ PICOCOM_LICENSE_FILES = LICENSE.txt define PICOCOM_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ - LDFLAGS="$(TARGET_LDFLAGS)" -C $(@D) + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) endef define PICOCOM_INSTALL_TARGET_CMDS diff --git a/package/pimd/Config.in b/package/pimd/Config.in new file mode 100644 index 0000000000..d6a579bda2 --- /dev/null +++ b/package/pimd/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PIMD + bool "pimd" + depends on BR2_USE_MMU # fork() + help + pimd is a lightweight stand-alone PIM-SM v2 multicast routing + daemon. + + http://troglobit.com/project/pimd/ diff --git a/package/pimd/pimd.hash b/package/pimd/pimd.hash new file mode 100644 index 0000000000..98c717d2e8 --- /dev/null +++ b/package/pimd/pimd.hash @@ -0,0 +1,6 @@ +# Locally computed: +sha256 c77a9812751f114490a28a6839b16aac8b020c8d9fd6aa22bf3880c054e19f1d pimd-2.3.2.tar.gz + +# Hash for license files: +sha256 3379436c16caccdef9b40a49fbdfdbb45aad8ecb05870834490b8fb080126009 LICENSE +sha256 4328a21f0822caa9976356623118bcdcc9970c7a0f9a3deeba23c779b7cfb5d1 LICENSE.mrouted diff --git a/package/pimd/pimd.mk b/package/pimd/pimd.mk new file mode 100644 index 0000000000..7a12f8fe0d --- /dev/null +++ b/package/pimd/pimd.mk @@ -0,0 +1,37 @@ +################################################################################ +# +# pimd +# +################################################################################ + +PIMD_VERSION = 2.3.2 +PIMD_SITE = https://github.com/troglobit/pimd/releases/download/$(PIMD_VERSION) + +PIMD_LICENSE = BSD-3-Clause +PIMD_LICENSE_FILES = LICENSE LICENSE.mrouted + +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC)$(BR2_TOOLCHAIN_USES_MUSL),y) +PIMD_CONF_OPTS += --embedded-libc +endif + +# The configure script is not autoconf based, so we use the +# generic-package infrastructure +define PIMD_CONFIGURE_CMDS + (cd $(@D); \ + $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_CONFIGURE_ARGS) \ + ./configure $(PIMD_CONF_OPTS) \ + ) +endef + +define PIMD_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) CROSS=$(TARGET_CROSS) \ + CC=$(TARGET_CC) -C $(@D) +endef + +define PIMD_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) \ + prefix=/usr -C $(@D) install +endef + +$(eval $(generic-package)) diff --git a/package/pinentry/Config.in b/package/pinentry/Config.in index 781901bbaf..5f2cb58fbb 100644 --- a/package/pinentry/Config.in +++ b/package/pinentry/Config.in @@ -63,6 +63,7 @@ config BR2_PACKAGE_PINENTRY_QT5 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS depends on !BR2_PACKAGE_PINENTRY_QT4 + depends on !BR2_PACKAGE_QT select BR2_PACKAGE_QT5 select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_WIDGETS diff --git a/package/pinentry/pinentry.mk b/package/pinentry/pinentry.mk index 4081a8a5d6..d0179728bd 100644 --- a/package/pinentry/pinentry.mk +++ b/package/pinentry/pinentry.mk @@ -18,6 +18,10 @@ PINENTRY_CONF_OPTS += \ --with-libgpg-error-prefix=$(STAGING_DIR)/usr \ --without-libcap # requires PAM +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +PINENTRY_CONF_ENV += LIBS=-latomic +endif + # build with X if available ifeq ($(BR2_PACKAGE_XORG7),y) PINENTRY_CONF_OPTS += --with-x diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk index db78d897d8..9b07798a1e 100644 --- a/package/pkg-cmake.mk +++ b/package/pkg-cmake.mk @@ -80,6 +80,14 @@ ifndef $(2)_CONFIGURE_CMDS ifeq ($(4),target) # Configure package for target +# +# - We are passing BUILD_SHARED_LIBS because it is documented as a +# standard CMake variable to control the build of shared libraries +# (see https://cmake.org/cmake/help/v3.8/manual/cmake-variables.7.html#variables-that-change-behavior) +# - We are not passing BUILD_STATIC_LIBS because it is *not* +# documented as a standard CMake variable. If a package supports it, +# it must handle it explicitly. +# define $(2)_CONFIGURE_CMDS (mkdir -p $$($$(PKG)_BUILDDIR) && \ cd $$($$(PKG)_BUILDDIR) && \ @@ -124,6 +132,7 @@ define $(2)_CONFIGURE_CMDS -DCMAKE_C_FLAGS="$$(HOST_CFLAGS)" \ -DCMAKE_CXX_FLAGS="$$(HOST_CXXFLAGS)" \ -DCMAKE_EXE_LINKER_FLAGS="$$(HOST_LDFLAGS)" \ + -DCMAKE_SHARED_LINKER_FLAGS="$$(HOST_LDFLAGS)" \ -DCMAKE_ASM_COMPILER="$$(HOSTAS)" \ -DCMAKE_C_COMPILER="$$(CMAKE_HOST_C_COMPILER)" \ -DCMAKE_CXX_COMPILER="$$(CMAKE_HOST_CXX_COMPILER)" \ @@ -224,7 +233,7 @@ else ifeq ($(BR2_ARM_CPU_ARMV6),y) CMAKE_SYSTEM_PROCESSOR_ARM_VARIANT = armv6 else ifeq ($(BR2_ARM_CPU_ARMV7A),y) CMAKE_SYSTEM_PROCESSOR_ARM_VARIANT = armv7 -else ifeq ($(BR2_ARM_CPU_ARMV8),y) +else ifeq ($(BR2_ARM_CPU_ARMV8A),y) CMAKE_SYSTEM_PROCESSOR_ARM_VARIANT = armv8 endif diff --git a/package/pkg-download.mk b/package/pkg-download.mk index fbbc2d7391..6f15deba28 100644 --- a/package/pkg-download.mk +++ b/package/pkg-download.mk @@ -68,9 +68,6 @@ export BR_NO_CHECK_HASH_FOR = # ssh authentication. DOWNLOAD_WGET is the normal wget-based download # mechanism. # -# The SOURCE_CHECK_* helpers are in charge of simply checking that the source -# is available for download. This can be used to make sure one will be able -# to get all the sources needed for one's build configuration. ################################################################################ define DOWNLOAD_GIT @@ -82,16 +79,10 @@ define DOWNLOAD_GIT -- \ $($(PKG)_SITE) \ $($(PKG)_DL_VERSION) \ - $($(PKG)_RAW_BASE_NAME) \ + $($(PKG)_BASENAME_RAW) \ $($(PKG)_DL_OPTS) endef -# TODO: improve to check that the given PKG_DL_VERSION exists on the remote -# repository -define SOURCE_CHECK_GIT - $(GIT) ls-remote --heads $($(PKG)_SITE) > /dev/null -endef - define DOWNLOAD_BZR $(EXTRA_ENV) $(DL_WRAPPER) -b bzr \ -o $(DL_DIR)/$($(PKG)_SOURCE) \ @@ -99,14 +90,10 @@ define DOWNLOAD_BZR -- \ $($(PKG)_SITE) \ $($(PKG)_DL_VERSION) \ - $($(PKG)_RAW_BASE_NAME) \ + $($(PKG)_BASENAME_RAW) \ $($(PKG)_DL_OPTS) endef -define SOURCE_CHECK_BZR - $(BZR) ls --quiet $($(PKG)_SITE) > /dev/null -endef - define DOWNLOAD_CVS $(EXTRA_ENV) $(DL_WRAPPER) -b cvs \ -o $(DL_DIR)/$($(PKG)_SOURCE) \ @@ -115,15 +102,10 @@ define DOWNLOAD_CVS $(call stripurischeme,$(call qstrip,$($(PKG)_SITE))) \ $($(PKG)_DL_VERSION) \ $($(PKG)_RAWNAME) \ - $($(PKG)_RAW_BASE_NAME) \ + $($(PKG)_BASENAME_RAW) \ $($(PKG)_DL_OPTS) endef -# Not all CVS servers support ls/rls, use login to see if we can connect -define SOURCE_CHECK_CVS - $(CVS) -d:pserver:anonymous:@$(call stripurischeme,$(call qstrip,$($(PKG)_SITE))) login -endef - define DOWNLOAD_SVN $(EXTRA_ENV) $(DL_WRAPPER) -b svn \ -o $(DL_DIR)/$($(PKG)_SOURCE) \ @@ -131,14 +113,10 @@ define DOWNLOAD_SVN -- \ $($(PKG)_SITE) \ $($(PKG)_DL_VERSION) \ - $($(PKG)_RAW_BASE_NAME) \ + $($(PKG)_BASENAME_RAW) \ $($(PKG)_DL_OPTS) endef -define SOURCE_CHECK_SVN - $(SVN) ls $($(PKG)_SITE)@$($(PKG)_DL_VERSION) > /dev/null -endef - # SCP URIs should be of the form scp://[user@]host:filepath # Note that filepath is relative to the user's home directory, so you may want # to prepend the path with a slash: scp://[user@]host:/absolutepath @@ -152,10 +130,6 @@ define DOWNLOAD_SCP $($(PKG)_DL_OPTS) endef -define SOURCE_CHECK_SCP - $(SSH) $(call domain,$(1),:) ls '$(call notdomain,$(1),:)' > /dev/null -endef - define DOWNLOAD_HG $(EXTRA_ENV) $(DL_WRAPPER) -b hg \ -o $(DL_DIR)/$($(PKG)_SOURCE) \ @@ -163,16 +137,10 @@ define DOWNLOAD_HG -- \ $($(PKG)_SITE) \ $($(PKG)_DL_VERSION) \ - $($(PKG)_RAW_BASE_NAME) \ + $($(PKG)_BASENAME_RAW) \ $($(PKG)_DL_OPTS) endef -# TODO: improve to check that the given PKG_DL_VERSION exists on the remote -# repository -define SOURCE_CHECK_HG - $(HG) incoming --force -l1 $($(PKG)_SITE) > /dev/null -endef - define DOWNLOAD_WGET $(EXTRA_ENV) $(DL_WRAPPER) -b wget \ -o $(DL_DIR)/$(2) \ @@ -183,10 +151,6 @@ define DOWNLOAD_WGET $($(PKG)_DL_OPTS) endef -define SOURCE_CHECK_WGET - $(WGET) --spider '$(call qstrip,$(1))' -endef - define DOWNLOAD_LOCALFILES $(EXTRA_ENV) $(DL_WRAPPER) -b cp \ -o $(DL_DIR)/$(2) \ @@ -197,10 +161,6 @@ define DOWNLOAD_LOCALFILES $($(PKG)_DL_OPTS) endef -define SOURCE_CHECK_LOCALFILES - test -e $(call stripurischeme,$(call qstrip,$(1))) -endef - ################################################################################ # DOWNLOAD -- Download helper. Will try to download source from: # 1) BR2_PRIMARY_SITE if enabled @@ -221,10 +181,6 @@ define DOWNLOAD $(call DOWNLOAD_INNER,$(1),$(notdir $(1)),DOWNLOAD) endef -define SOURCE_CHECK - $(call DOWNLOAD_INNER,$(1),$(notdir $(1)),SOURCE_CHECK) -endef - define DOWNLOAD_INNER $(Q)$(if $(filter bzr cvs hg svn,$($(PKG)_SITE_METHOD)),export BR_NO_CHECK_HASH_FOR=$(2);) \ if test -n "$(call qstrip,$(BR2_PRIMARY_SITE))" ; then \ diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index 0e28675fbe..a689dde4d2 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -57,40 +57,28 @@ GLOBAL_INSTRUMENTATION_HOOKS += step_time # Hooks to collect statistics about installed files -define _step_pkg_size_get_file_list - (cd $(TARGET_DIR) ; \ - ( \ - find . -xtype f -print0 | xargs -0 md5sum ; \ - find . -xtype d -print0 | xargs -0 -I{} printf 'directory {}\n'; \ - ) \ - ) | sort > $1 -endef - -# This hook will be called before the target installation of a -# package. We store in a file named .br_filelist_before the list of -# files currently installed in the target. Note that the MD5 is also -# stored, in order to identify if the files are overwritten. -define step_pkg_size_start - $(call _step_pkg_size_get_file_list,$($(PKG)_DIR)/.br_filelist_before) -endef - -# This hook will be called after the target installation of a -# package. We store in a file named .br_filelist_after the list of -# files (and their MD5) currently installed in the target. We then do -# a diff with the .br_filelist_before to compute the list of files -# installed by this package. -define step_pkg_size_end - $(call _step_pkg_size_get_file_list,$($(PKG)_DIR)/.br_filelist_after) - comm -13 $($(PKG)_DIR)/.br_filelist_before $($(PKG)_DIR)/.br_filelist_after | \ - while read hash file ; do \ - echo "$(1),$${file}" >> $(BUILD_DIR)/packages-file-list.txt ; \ - done +# The suffix is typically empty for the target variant, for legacy backward +# compatibility. +# $(1): package name +# $(2): base directory to search in +# $(3): suffix of file (optional) +define step_pkg_size_inner + @touch $(BUILD_DIR)/packages-file-list$(3).txt + $(SED) '/^$(1),/d' $(BUILD_DIR)/packages-file-list$(3).txt + cd $(2); \ + find . \( -type f -o -type l \) \ + -newer $($(PKG)_DIR)/.stamp_built \ + -exec printf '$(1),%s\n' {} + \ + >> $(BUILD_DIR)/packages-file-list$(3).txt endef define step_pkg_size $(if $(filter install-target,$(2)),\ - $(if $(filter start,$(1)),$(call step_pkg_size_start,$(3))) \ - $(if $(filter end,$(1)),$(call step_pkg_size_end,$(3)))) + $(if $(filter end,$(1)),$(call step_pkg_size_inner,$(3),$(TARGET_DIR)))) + $(if $(filter install-staging,$(2)),\ + $(if $(filter end,$(1)),$(call step_pkg_size_inner,$(3),$(STAGING_DIR),-staging))) + $(if $(filter install-host,$(2)),\ + $(if $(filter end,$(1)),$(call step_pkg_size_inner,$(3),$(HOST_DIR),-host))) endef GLOBAL_INSTRUMENTATION_HOOKS += step_pkg_size @@ -99,6 +87,7 @@ define check_bin_arch $(if $(filter end-install-target,$(1)-$(2)),\ support/scripts/check-bin-arch -p $(3) \ -l $(BUILD_DIR)/packages-file-list.txt \ + $(foreach i,$($(PKG)_BIN_ARCH_EXCLUDE),-i "$(i)") \ -r $(TARGET_READELF) \ -a $(BR2_READELF_ARCH_NAME)) endef @@ -439,10 +428,10 @@ ifdef $(3)_OVERRIDE_SRCDIR $(2)_OVERRIDE_SRCDIR ?= $$($(3)_OVERRIDE_SRCDIR) endif -$(2)_BASE_NAME = $$(if $$($(2)_VERSION),$(1)-$$($(2)_VERSION),$(1)) -$(2)_RAW_BASE_NAME = $$(if $$($(2)_VERSION),$$($(2)_RAWNAME)-$$($(2)_VERSION),$$($(2)_RAWNAME)) +$(2)_BASENAME = $$(if $$($(2)_VERSION),$(1)-$$($(2)_VERSION),$(1)) +$(2)_BASENAME_RAW = $$(if $$($(2)_VERSION),$$($(2)_RAWNAME)-$$($(2)_VERSION),$$($(2)_RAWNAME)) $(2)_DL_DIR = $$(DL_DIR) -$(2)_DIR = $$(BUILD_DIR)/$$($(2)_BASE_NAME) +$(2)_DIR = $$(BUILD_DIR)/$$($(2)_BASENAME) ifndef $(2)_SUBDIR ifdef $(3)_SUBDIR @@ -471,7 +460,7 @@ ifndef $(2)_SOURCE ifdef $(3)_SOURCE $(2)_SOURCE = $$($(3)_SOURCE) else ifdef $(2)_VERSION - $(2)_SOURCE ?= $$($(2)_RAW_BASE_NAME).tar.gz + $(2)_SOURCE ?= $$($(2)_BASENAME_RAW).tar.gz endif endif @@ -521,6 +510,9 @@ ifeq ($$($(2)_SITE_METHOD),local) ifeq ($$($(2)_OVERRIDE_SRCDIR),) $(2)_OVERRIDE_SRCDIR = $$($(2)_SITE) endif +ifeq ($$($(2)_OVERRIDE_SRCDIR),) +$$(error $(1) has local site method, but `$(2)_SITE` is not defined) +endif endif ifndef $(2)_LICENSE @@ -545,7 +537,7 @@ endif $(2)_REDISTRIBUTE ?= YES -$(2)_REDIST_SOURCES_DIR = $$(REDIST_SOURCES_DIR_$$(call UPPERCASE,$(4)))/$$($(2)_RAW_BASE_NAME) +$(2)_REDIST_SOURCES_DIR = $$(REDIST_SOURCES_DIR_$$(call UPPERCASE,$(4)))/$$($(2)_BASENAME_RAW) # When a target package is a toolchain dependency set this variable to # 'NO' so the 'toolchain' dependency is not added to prevent a circular @@ -706,10 +698,6 @@ $(1)-legal-source: $$($(2)_TARGET_ACTUAL_SOURCE) endif # actual sources != sources endif # actual sources != "" -$(1)-source-check: PKG=$(2) -$(1)-source-check: - $$(foreach p,$$($(2)_ALL_DOWNLOADS),$$(call SOURCE_CHECK,$$(p))$$(sep)) - $(1)-external-deps: @for p in $$($(2)_SOURCE) $$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS) ; do \ echo `basename $$$$p` ; \ @@ -734,9 +722,6 @@ $(1)-rsync: $$($(2)_TARGET_RSYNC) $(1)-source: $(1)-legal-source: -$(1)-source-check: - test -d $$($(2)_OVERRIDE_SRCDIR) - $(1)-external-deps: @echo "file://$$($(2)_OVERRIDE_SRCDIR)" endif @@ -762,9 +747,6 @@ $(1)-graph-rdepends: graph-depends-requirements $(1)-all-source: $(1)-source $(1)-all-source: $$(foreach p,$$($(2)_FINAL_ALL_DEPENDENCIES),$$(p)-all-source) -$(1)-all-source-check: $(1)-source-check -$(1)-all-source-check: $$(foreach p,$$($(2)_FINAL_ALL_DEPENDENCIES),$$(p)-all-source-check) - $(1)-all-external-deps: $(1)-external-deps $(1)-all-external-deps: $$(foreach p,$$($(2)_FINAL_ALL_DEPENDENCIES),$$(p)-all-external-deps) @@ -861,9 +843,9 @@ ifneq ($$(call qstrip,$$($(2)_SOURCE)),) # is that the license still applies to the files distributed as part # of the rootfs, even if the sources are not themselves redistributed. ifeq ($$(call qstrip,$$($(2)_LICENSE_FILES)),) - $(Q)$$(call legal-warning-pkg,$$($(2)_RAW_BASE_NAME),cannot save license ($(2)_LICENSE_FILES not defined)) + $(Q)$$(call legal-warning-pkg,$$($(2)_BASENAME_RAW),cannot save license ($(2)_LICENSE_FILES not defined)) else - $(Q)$$(foreach F,$$($(2)_LICENSE_FILES),$$(call legal-license-file,$$($(2)_RAWNAME),$$($(2)_RAW_BASE_NAME),$$($(2)_PKGDIR),$$(F),$$($(2)_DIR)/$$(F),$$(call UPPERCASE,$(4)))$$(sep)) + $(Q)$$(foreach F,$$($(2)_LICENSE_FILES),$$(call legal-license-file,$$($(2)_RAWNAME),$$($(2)_BASENAME_RAW),$$($(2)_PKGDIR),$$(F),$$($(2)_DIR)/$$(F),$$(call UPPERCASE,$(4)))$$(sep)) endif # license files ifeq ($$($(2)_SITE_METHOD),local) @@ -964,7 +946,6 @@ DL_TOOLS_DEPENDENCIES += $$(call extractor-dependency,$$($(2)_SOURCE)) $(1)-all-external-deps \ $(1)-all-legal-info \ $(1)-all-source \ - $(1)-all-source-check \ $(1)-build \ $(1)-clean-for-rebuild \ $(1)-clean-for-reconfigure \ @@ -989,8 +970,7 @@ DL_TOOLS_DEPENDENCIES += $$(call extractor-dependency,$$($(2)_SOURCE)) $(1)-rsync \ $(1)-show-depends \ $(1)-show-version \ - $(1)-source \ - $(1)-source-check + $(1)-source ifneq ($$($(2)_SOURCE),) ifeq ($$($(2)_SITE),) diff --git a/package/pkg-virtual.mk b/package/pkg-virtual.mk index 0de79d49be..05bd63eb18 100644 --- a/package/pkg-virtual.mk +++ b/package/pkg-virtual.mk @@ -41,6 +41,11 @@ $$(error No implementation selected for virtual package $(1). Configuration erro endif endif +# explicitly set these so we do not get confused by environment +# variables with the same names. +$(2)_VERSION = +$(2)_SOURCE = + $(2)_IS_VIRTUAL = YES # Add dependency against the provider diff --git a/package/pkgconf/Config.in b/package/pkgconf/Config.in index 9d5d9ab194..76fa394c94 100644 --- a/package/pkgconf/Config.in +++ b/package/pkgconf/Config.in @@ -1,9 +1,10 @@ config BR2_PACKAGE_PKGCONF bool "pkgconf" help - pkgconf is a program which helps to configure compiler and linker - flags for development frameworks. It is similar to pkg-config, - but was written from scratch in the summer of 2011 to replace - pkg-config, which now needs itself to build itself + pkgconf is a program which helps to configure compiler and + linker flags for development frameworks. It is similar to + pkg-config, but was written from scratch in the summer of + 2011 to replace pkg-config, which now needs itself to build + itself https://github.com/pkgconf/pkgconf diff --git a/package/pkgconf/Config.in.host b/package/pkgconf/Config.in.host index 437a7bf6f9..56836a5cbf 100644 --- a/package/pkgconf/Config.in.host +++ b/package/pkgconf/Config.in.host @@ -1,9 +1,10 @@ config BR2_PACKAGE_HOST_PKGCONF bool "host pkgconf" help - pkgconf is a program which helps to configure compiler and linker - flags for development frameworks. It is similar to pkg-config, - but was written from scratch in the summer of 2011 to replace - pkg-config, which now needs itself to build itself + pkgconf is a program which helps to configure compiler and + linker flags for development frameworks. It is similar to + pkg-config, but was written from scratch in the summer of + 2011 to replace pkg-config, which now needs itself to build + itself https://github.com/pkgconf/pkgconf diff --git a/package/pkgconf/pkg-config.in b/package/pkgconf/pkg-config.in index 4dec48789a..99c0add8fb 100644 --- a/package/pkgconf/pkg-config.in +++ b/package/pkgconf/pkg-config.in @@ -1,2 +1,5 @@ #!/bin/sh -PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR:-@PKG_CONFIG_LIBDIR@} PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR:-@STAGING_DIR@} $(dirname $0)/pkgconf @STATIC@ $@ +PKGCONFDIR=$(dirname $0) +DEFAULT_PKG_CONFIG_LIBDIR=${PKGCONFDIR}/../@STAGING_SUBDIR@/usr/lib/pkgconfig:${PKGCONFDIR}/../@STAGING_SUBDIR@/usr/share/pkgconfig +DEFAULT_PKG_CONFIG_SYSROOT_DIR=${PKGCONFDIR}/../@STAGING_SUBDIR@ +PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR:-${DEFAULT_PKG_CONFIG_LIBDIR}} PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR:-${DEFAULT_PKG_CONFIG_SYSROOT_DIR}} exec ${PKGCONFDIR}/pkgconf @STATIC@ "$@" diff --git a/package/pkgconf/pkgconf.mk b/package/pkgconf/pkgconf.mk index cc190d26da..00b2d017ee 100644 --- a/package/pkgconf/pkgconf.mk +++ b/package/pkgconf/pkgconf.mk @@ -19,8 +19,7 @@ endef define HOST_PKGCONF_INSTALL_WRAPPER $(INSTALL) -m 0755 -D package/pkgconf/pkg-config.in \ $(HOST_DIR)/bin/pkg-config - $(SED) 's,@PKG_CONFIG_LIBDIR@,$(STAGING_DIR)/usr/lib/pkgconfig:$(STAGING_DIR)/usr/share/pkgconfig,' \ - -e 's,@STAGING_DIR@,$(STAGING_DIR),' \ + $(SED) 's,@STAGING_SUBDIR@,$(STAGING_SUBDIR),g' \ $(HOST_DIR)/bin/pkg-config endef diff --git a/package/poco/poco.hash b/package/poco/poco.hash index 7f96f04d78..0c0266f472 100644 --- a/package/poco/poco.hash +++ b/package/poco/poco.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 150b8d8486fbd01f4bbe359a56439ccf14b62fb9994991baa9663a2656acee27 poco-poco-1.7.9-release.tar.gz +sha256 43cc469c01d1f799efc51e2bfde6ffdf467b98a8a0901e6b33db86958619b3af poco-poco-1.8.1-release.tar.gz +sha256 c4b1e1e5f36d8331737231fefcc30f5714326aec7c387ad59a8115eb0ba7d6b5 LICENSE diff --git a/package/poco/poco.mk b/package/poco/poco.mk index 29752e24c9..fd3db6f52f 100644 --- a/package/poco/poco.mk +++ b/package/poco/poco.mk @@ -4,7 +4,7 @@ # ################################################################################ -POCO_VERSION = poco-1.7.9-release +POCO_VERSION = poco-1.8.1-release POCO_SITE = $(call github,pocoproject,poco,$(POCO_VERSION)) POCO_LICENSE = BSL-1.0 POCO_LICENSE_FILES = LICENSE @@ -37,6 +37,11 @@ ifeq ($(BR2_sh4a)$(BR2_nios2),y) POCO_CONF_OPTS += --no-fpenvironment endif +# disable fpenvironment for soft floating point configuration +ifeq ($(BR2_SOFT_FLOAT),y) +POCO_CONF_OPTS += --no-fpenvironment +endif + ifeq ($(BR2_STATIC_LIBS),y) POCO_MAKE_TARGET = static_release else ifeq ($(BR2_SHARED_LIBS),y) diff --git a/package/poppler/Config.in b/package/poppler/Config.in index 79078a84bb..9b03df8d27 100644 --- a/package/poppler/Config.in +++ b/package/poppler/Config.in @@ -6,7 +6,8 @@ config BR2_PACKAGE_POPPLER select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 help - Poppler is a PDF rendering library based on the xpdf-3.0 code base. + Poppler is a PDF rendering library based on the xpdf-3.0 + code base. http://poppler.freedesktop.org/ diff --git a/package/poppler/poppler.mk b/package/poppler/poppler.mk index 5946cbec24..bad61a6613 100644 --- a/package/poppler/poppler.mk +++ b/package/poppler/poppler.mk @@ -14,6 +14,10 @@ POPPLER_INSTALL_STAGING = YES POPPLER_CONF_OPTS = --with-font-configuration=fontconfig \ --enable-xpdf-headers +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +POPPLER_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -latomic" +endif + ifeq ($(BR2_PACKAGE_CAIRO),y) POPPLER_CONF_OPTS += --enable-cairo-output POPPLER_DEPENDENCIES += cairo diff --git a/package/postgresql/Config.in b/package/postgresql/Config.in index e9b8f48d4a..9dda54bf9f 100644 --- a/package/postgresql/Config.in +++ b/package/postgresql/Config.in @@ -19,4 +19,5 @@ config BR2_PACKAGE_POSTGRESQL http://www.postgresql.org comment "postgresql needs a toolchain w/ dynamic library" + depends on BR2_USE_MMU depends on BR2_STATIC_LIBS diff --git a/package/postgresql/postgresql.hash b/package/postgresql/postgresql.hash index e62838911e..a9cc93c76c 100644 --- a/package/postgresql/postgresql.hash +++ b/package/postgresql/postgresql.hash @@ -1,4 +1,5 @@ -# From https://ftp.postgresql.org/pub/source/v9.6.6/postgresql-9.6.6.tar.bz2.sha256 -sha256 399cdffcb872f785ba67e25d275463d74521566318cfef8fe219050d063c8154 postgresql-9.6.6.tar.bz2 +# From https://ftp.postgresql.org/pub/source/v10.5/postgresql-10.5.tar.bz2.sha256 +sha256 6c8e616c91a45142b85c0aeb1f29ebba4a361309e86469e0fb4617b6a73c4011 postgresql-10.5.tar.bz2 + # License file, Locally calculated -sha256 7dc8de32741ad1b03e21710771b55a1b9d460671d47f28a8840f917e38c66676 COPYRIGHT +sha256 24cfc70cf16b3a23242c49ffce39510683bdd48cbedb8a46fe03976ee5f5c21e COPYRIGHT diff --git a/package/postgresql/postgresql.mk b/package/postgresql/postgresql.mk index 50ce212c1c..f6dad978e3 100644 --- a/package/postgresql/postgresql.mk +++ b/package/postgresql/postgresql.mk @@ -4,7 +4,7 @@ # ################################################################################ -POSTGRESQL_VERSION = 9.6.6 +POSTGRESQL_VERSION = 10.5 POSTGRESQL_SOURCE = postgresql-$(POSTGRESQL_VERSION).tar.bz2 POSTGRESQL_SITE = http://ftp.postgresql.org/pub/source/v$(POSTGRESQL_VERSION) POSTGRESQL_LICENSE = PostgreSQL @@ -56,6 +56,11 @@ endif ifeq ($(BR2_PACKAGE_OPENSSL),y) POSTGRESQL_DEPENDENCIES += openssl POSTGRESQL_CONF_OPTS += --with-openssl +else +# PostgreSQL checks for /dev/urandom and fails if it's being cross-compiled and +# an SSL library isn't found. Since /dev/urandom is guaranteed to be provided +# on Linux systems, explicitly tell the configure script it's available. +POSTGRESQL_CONF_ENV += ac_cv_file__dev_urandom=yes endif ifeq ($(BR2_PACKAGE_OPENLDAP),y) diff --git a/package/pound/0001-fix-openssl-1.0.2.patch b/package/pound/0001-fix-openssl-1.0.2.patch new file mode 100644 index 0000000000..b20fdb36f1 --- /dev/null +++ b/package/pound/0001-fix-openssl-1.0.2.patch @@ -0,0 +1,127 @@ +From eb471de8f26e0367dd08d299d2252fa8b2b958a9 Mon Sep 17 00:00:00 2001 +From: Emilio +Date: Mon, 17 Jul 2017 09:41:32 +0200 +Subject: [PATCH] [Improvement] Added support to compile pound with openssl + 1.0.2 + +Signed-off-by: Emilio + + new file: dh2048.h + modified: svc.c + +Patch was downloaded from 3rd-party repo: +https://github.com/zevenet/pound/commit/eb471de8f26e0367dd08d299d2252fa8b2b958a9 + +This repo was announced on upstream mailinglist: +http://www.apsis.ch/pound/pound_list/archive/2017/2017-07/1500287626000#1500287626000 + +Signed-off-by: Bernd Kuhls +--- + dh2048.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + svc.c | 33 +++++++++++++++++++++++++++++++++ + 2 files changed, 86 insertions(+) + create mode 100644 dh2048.h + +diff --git a/dh2048.h b/dh2048.h +new file mode 100644 +index 0000000..79c693c +--- /dev/null ++++ b/dh2048.h +@@ -0,0 +1,53 @@ ++#ifndef HEADER_DH_H ++# include ++#endif ++ ++DH *get_dh2048() ++{ ++ static unsigned char dhp_2048[] = { ++ 0xBF, 0x6C, 0xC6, 0xBD, 0xEA, 0x10, 0x84, 0x59, 0x40, 0xC2, ++ 0xC6, 0xA2, 0x9B, 0x19, 0xD3, 0x2E, 0x2F, 0xAB, 0xE6, 0xE4, ++ 0x1E, 0x91, 0x0D, 0x59, 0xDC, 0x96, 0x3F, 0x6E, 0x65, 0x38, ++ 0xB9, 0xBE, 0xBB, 0x8F, 0xDF, 0x73, 0xAC, 0xAC, 0xB3, 0x2F, ++ 0xA7, 0x02, 0x0B, 0x87, 0xB7, 0x3F, 0x3A, 0x42, 0x8A, 0x94, ++ 0xDD, 0xEC, 0x33, 0xA4, 0x25, 0xB1, 0xBF, 0x84, 0x91, 0x87, ++ 0xD8, 0x1C, 0x42, 0xB9, 0x8E, 0x00, 0x1F, 0x49, 0xED, 0x57, ++ 0xA4, 0x48, 0xB0, 0xCC, 0xD8, 0xB8, 0x83, 0xCA, 0x3E, 0xDF, ++ 0xA2, 0xF2, 0x07, 0x71, 0x71, 0x18, 0x1F, 0x50, 0x45, 0x3A, ++ 0x66, 0x04, 0x7F, 0x15, 0xB2, 0xA8, 0x02, 0x77, 0xCE, 0xC6, ++ 0xF9, 0x7C, 0x63, 0xE4, 0x52, 0x41, 0xFA, 0x62, 0xB9, 0x0D, ++ 0xDC, 0x08, 0x62, 0xEC, 0x00, 0xAB, 0xB0, 0xF7, 0x79, 0x48, ++ 0x75, 0x22, 0x85, 0xCC, 0x67, 0x3C, 0xEA, 0x09, 0x32, 0xAC, ++ 0x30, 0xED, 0x1E, 0x67, 0xDC, 0x74, 0xF8, 0xD9, 0xC3, 0xD0, ++ 0xA0, 0x60, 0x4D, 0xCE, 0x52, 0xBC, 0xA3, 0xE5, 0x18, 0x7B, ++ 0x0B, 0xC8, 0xCE, 0x70, 0xA2, 0xC8, 0x21, 0xCA, 0xCE, 0xA5, ++ 0xD4, 0xCB, 0x85, 0xFC, 0xC7, 0x07, 0x5C, 0x05, 0x87, 0xFC, ++ 0x2F, 0x67, 0x4D, 0x2D, 0x4F, 0xA4, 0xEE, 0x63, 0x98, 0x49, ++ 0xE4, 0x2E, 0xD7, 0x3F, 0x7D, 0x69, 0x68, 0x0A, 0xA2, 0x3E, ++ 0x5A, 0x04, 0xD4, 0xDD, 0xBB, 0xC7, 0xB4, 0x34, 0xB7, 0x21, ++ 0xD3, 0xAC, 0x99, 0xD7, 0x87, 0x45, 0x5E, 0x18, 0x68, 0x16, ++ 0x3A, 0xAF, 0xE2, 0x04, 0x57, 0xB8, 0x6A, 0xB8, 0x2F, 0x75, ++ 0xD5, 0x79, 0x96, 0x60, 0x8D, 0xD1, 0xCC, 0xD1, 0x33, 0x85, ++ 0x53, 0x88, 0x87, 0x34, 0xA6, 0x4B, 0x49, 0x24, 0x53, 0xD6, ++ 0xF1, 0x1E, 0x4E, 0x98, 0x4D, 0x6B, 0x44, 0x31, 0x94, 0xFF, ++ 0x46, 0xC2, 0x38, 0x2E, 0xEA, 0xBB ++ }; ++ static unsigned char dhg_2048[] = { ++ 0x05 ++ }; ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ ++ if (dh == NULL) ++ return NULL; ++ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); ++ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) { ++ DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); ++ return NULL; ++ } ++ return dh; ++} +diff --git a/svc.c b/svc.c +index 1341397..758dfbd 100644 +--- a/svc.c ++++ b/svc.c +@@ -1512,6 +1512,39 @@ do_RSAgen(void) + return; + } + ++ ++#if OPENSSL_VERSION_NUMBER < 0x10100000 ++static inline int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) ++{ ++ /* If the fields p and g in d are NULL, the corresponding input ++ * parameters MUST be non-NULL. q may remain NULL. ++ */ ++ if ((dh->p == NULL && p == NULL) ++ || (dh->g == NULL && g == NULL)) ++ return 0; ++ ++ if (p != NULL) { ++ BN_free(dh->p); ++ dh->p = p; ++ } ++ if (q != NULL) { ++ BN_free(dh->q); ++ dh->q = q; ++ } ++ if (g != NULL) { ++ BN_free(dh->g); ++ dh->g = g; ++ } ++ ++ if (q != NULL) { ++ dh->length = BN_num_bits(q); ++ } ++ ++ return 1; ++} ++#endif ++ ++ + #include "dh512.h" + + #if DH_LEN == 1024 diff --git a/package/powerpc-utils/Config.in b/package/powerpc-utils/Config.in index b0ca84789e..d04d81c08a 100644 --- a/package/powerpc-utils/Config.in +++ b/package/powerpc-utils/Config.in @@ -10,7 +10,7 @@ config BR2_PACKAGE_POWERPC_UTILS help System utilities for PowerPC machines. - https://github.com/nfont/powerpc-utils + https://github.com/ibm-power-utilities/powerpc-utils.git if BR2_PACKAGE_POWERPC_UTILS diff --git a/package/powertop/Config.in b/package/powertop/Config.in index 36701f8c64..714b16295a 100644 --- a/package/powertop/Config.in +++ b/package/powertop/Config.in @@ -8,7 +8,8 @@ config BR2_PACKAGE_POWERTOP select BR2_PACKAGE_PCIUTILS select BR2_PACKAGE_LIBNL help - A tool to diagnose issues with power consumption and power management + A tool to diagnose issues with power consumption and power + management https://01.org/powertop/ diff --git a/package/pps-tools/Config.in b/package/pps-tools/Config.in index 83308f4f32..0c4bb112a9 100644 --- a/package/pps-tools/Config.in +++ b/package/pps-tools/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PPS_TOOLS bool "pps-tools" help - Pulse per second tools. Provides timepps.h and other PPS utilities. + Pulse per second tools. Provides timepps.h and other PPS + utilities. https://github.com/ago/pps-tools/ diff --git a/package/prboom/Config.in b/package/prboom/Config.in index 8e445e98b8..7dc635d75c 100644 --- a/package/prboom/Config.in +++ b/package/prboom/Config.in @@ -4,8 +4,9 @@ config BR2_PACKAGE_PRBOOM select BR2_PACKAGE_SDL_MIXER select BR2_PACKAGE_SDL_NET help - PrBoom is a Doom client which allows you to play the good old game on - newer hardware. It even supports higher resolution and better - rendering, while still keeping the old style alive. + PrBoom is a Doom client which allows you to play the good + old game on newer hardware. It even supports higher + resolution and better rendering, while still keeping the old + style alive. http://prboom.sourceforge.net/ diff --git a/package/procps-ng/0001-remove-index.patch b/package/procps-ng/0001-remove-index.patch deleted file mode 100644 index 1d85b31cb5..0000000000 --- a/package/procps-ng/0001-remove-index.patch +++ /dev/null @@ -1,16 +0,0 @@ -sysctl: remove use of legacy index() - -[yann.morin.1998@free.fr: adapt to procps-ng] -Signed-off-by: "Yann E. MORIN" -diff -durN procps-v3.3.9.orig/sysctl.c procps-v3.3.9/sysctl.c ---- procps-v3.3.9.orig/sysctl.c 2013-12-03 12:16:18.000000000 +0100 -+++ procps-v3.3.9/sysctl.c 2014-05-31 00:45:00.869748741 +0200 -@@ -794,7 +794,7 @@ - program_invocation_short_name); - - for ( ; *argv; argv++) { -- if (WriteMode || index(*argv, '=')) -+ if (WriteMode || strchr(*argv, '=')) - ReturnCode += WriteSetting(*argv); - else - ReturnCode += ReadSetting(*argv); diff --git a/package/procps-ng/0002-use-pkgconfig-for-ncursesw-cflags.patch b/package/procps-ng/0002-use-pkgconfig-for-ncursesw-cflags.patch deleted file mode 100644 index 1329ac4bbd..0000000000 --- a/package/procps-ng/0002-use-pkgconfig-for-ncursesw-cflags.patch +++ /dev/null @@ -1,57 +0,0 @@ -Don't assume ncursesw headers are in ../usr/include/ncursesw/.. -On a pure build/system without legacy ncurses that may not be true. -Since we're using pkg-config let it provide the correct include path. - -Status: contacted one of the maintainers on sf.net -(ticket submission closed to the public, no other way of contacting them). - -Signed-off-by: Gustavo Zacarias -[Bernd: Rebased for version 3.3.11] - -diff -Nura procps-ng-3.3.10.orig/configure.ac procps-ng-3.3.10/configure.ac ---- procps-ng-3.3.10.orig/configure.ac 2015-04-07 19:21:55.729819952 -0300 -+++ procps-ng-3.3.10/configure.ac 2015-04-07 19:32:09.511706653 -0300 -@@ -138,7 +138,8 @@ - ]) - AM_CONDITIONAL(WITH_NCURSES, true) - if test "$enable_watch8bit" = yes; then -- PKG_CHECK_MODULES([NCURSESW], [ncursesw], [WATCH_NCURSES_LIBS="$NCURSESW_LIBS"], [ -+ PKG_CHECK_MODULES([NCURSESW], [ncursesw], [WATCH_NCURSES_LIBS="$NCURSESW_LIBS"] -+ [WATCH_NCURSES_CFLAGS="$NCURSESW_CFLAGS"], [ - AC_CHECK_LIB([ncursesw], [addwstr], [WATCH_NCURSES_LIBS=-lncursesw], - [AC_MSG_ERROR([Cannot find ncurses wide library ncursesw with --enable-watch8bit])]) - ]) -@@ -148,6 +149,7 @@ - fi - AC_SUBST([NCURSES_LIBS]) - AC_SUBST([WATCH_NCURSES_LIBS]) -+AC_SUBST([WATCH_NCURSES_CFLAGS]) - - AC_ARG_WITH([systemd], - [AS_HELP_STRING([--with-systemd], [enable systemd support])], -diff -Nura procps-ng-3.3.10.orig/Makefile.am procps-ng-3.3.10/Makefile.am ---- procps-ng-3.3.10.orig/Makefile.am 2015-04-07 19:21:55.655817434 -0300 -+++ procps-ng-3.3.10/Makefile.am 2015-04-07 19:32:54.516238136 -0300 -@@ -97,6 +97,7 @@ - slabtop_LDADD = $(LDADD) @NCURSES_LIBS@ - watch_SOURCES = watch.c lib/strutils.c lib/fileutils.c - watch_LDADD = @WATCH_NCURSES_LIBS@ $(CYGWINFLAGS) -+watch_CFLAGS = @WATCH_NCURSES_CFLAGS@ - top_top_SOURCES = \ - top/top.h \ - top/top.c \ -diff -Nura procps-ng-3.3.10.orig/watch.c procps-ng-3.3.10/watch.c ---- procps-ng-3.3.10.orig/watch.c 2015-04-07 19:21:55.707819203 -0300 -+++ procps-ng-3.3.10/watch.c 2015-04-07 19:22:27.323895083 -0300 -@@ -51,10 +51,8 @@ - #ifdef WITH_WATCH8BIT - # include - # include --# include --#else --# include - #endif /* WITH_WATCH8BIT */ -+#include - - #ifdef FORCE_8BIT - # undef isprint diff --git a/package/procps-ng/0003-ps-output.c-include-dlfcn.h-only-when-necessary.patch b/package/procps-ng/0003-ps-output.c-include-dlfcn.h-only-when-necessary.patch deleted file mode 100644 index dca28fab14..0000000000 --- a/package/procps-ng/0003-ps-output.c-include-dlfcn.h-only-when-necessary.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 4fc9a348026a945aec8eddffc7613de9cb10b10c Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 7 Aug 2016 11:08:26 +0200 -Subject: [PATCH] ps/output.c: include only when necessary - -dlopen() functionality is only used when SELinux support is enabled, so - only needs to be included when ENABLE_LIBSELINUX is -defined. This fixes the build in configurations where is not -available. - -Signed-off-by: Thomas Petazzoni ---- - ps/output.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/ps/output.c b/ps/output.c -index 42c04cf..f540832 100644 ---- a/ps/output.c -+++ b/ps/output.c -@@ -46,7 +46,9 @@ - */ - - #include -+#if ENABLE_LIBSELINUX - #include -+#endif - #include - #include - #include --- -2.7.4 - diff --git a/package/procps-ng/Config.in b/package/procps-ng/Config.in index 6ff8983202..d9e884faee 100644 --- a/package/procps-ng/Config.in +++ b/package/procps-ng/Config.in @@ -2,9 +2,14 @@ config BR2_PACKAGE_PROCPS_NG bool "procps-ng" depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + depends on !BR2_TOOLCHAIN_USES_MUSL # fopencookie() select BR2_PACKAGE_NCURSES help Standard informational utilities and process-handling tools. Provides things like kill, ps, uptime, free, top, etc... http://sourceforge.net/projects/procps-ng/ + +comment "procps-ng needs a glibc or uclibc toolchain" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_USES_MUSL diff --git a/package/procps-ng/procps-ng.hash b/package/procps-ng/procps-ng.hash index 62d61727b1..123db992ef 100644 --- a/package/procps-ng/procps-ng.hash +++ b/package/procps-ng/procps-ng.hash @@ -1,3 +1,8 @@ # From http://sourceforge.net/projects/procps-ng/files/Production/ -md5 957e42e8b193490b2111252e4a2b443c procps-ng-3.3.12.tar.xz -sha1 82c0745f150f1385ca01fe7d24f05f74e31c94c6 procps-ng-3.3.12.tar.xz +md5 2b0717a7cb474b3d6dfdeedfbad2eccc procps-ng-3.3.15.tar.xz +sha1 2929bc64f0cf7b2db997eef79b7187658e47230d procps-ng-3.3.15.tar.xz +# Locally calculated after checking signature +# http://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-3.3.15.tar.xz.asc +sha256 10bd744ffcb3de2d591d2f6acf1a54a7ba070fdcc432a855931a5057149f0465 procps-ng-3.3.15.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 681e386e44a19d7d0674b4320272c90e66b6610b741e7e6305f8219c42e85366 COPYING.LIB diff --git a/package/procps-ng/procps-ng.mk b/package/procps-ng/procps-ng.mk index 22ebc1a8fd..e1fddea32c 100644 --- a/package/procps-ng/procps-ng.mk +++ b/package/procps-ng/procps-ng.mk @@ -4,7 +4,7 @@ # ################################################################################ -PROCPS_NG_VERSION = 3.3.12 +PROCPS_NG_VERSION = 3.3.15 PROCPS_NG_SOURCE = procps-ng-$(PROCPS_NG_VERSION).tar.xz PROCPS_NG_SITE = http://downloads.sourceforge.net/project/procps-ng/Production PROCPS_NG_LICENSE = GPL-2.0+, LGPL-2.0+ (libproc and libps) @@ -12,9 +12,6 @@ PROCPS_NG_LICENSE_FILES = COPYING COPYING.LIB PROCPS_NG_INSTALL_STAGING = YES PROCPS_NG_DEPENDENCIES = ncurses host-pkgconf $(TARGET_NLS_DEPENDENCIES) PROCPS_NG_CONF_OPTS = LIBS=$(TARGET_NLS_LIBS) -# For 0002-use-pkgconfig-for-ncursesw-cflags.patch -PROCPS_NG_AUTORECONF = YES -PROCPS_NG_GETTEXTIZE = YES # If both procps-ng and busybox are selected, make certain procps-ng # wins the fight over who gets to have their utils actually installed. @@ -43,6 +40,10 @@ PROCPS_NG_CONF_OPTS += \ --enable-watch8bit endif +ifeq ($(BR2_USE_WCHAR),) +PROCPS_NG_CONF_OPTS += CPPFLAGS=-DOFF_XTRAWIDE +endif + # numa support requires libdl, so explicitly disable it when # BR2_STATIC_LIBS=y ifeq ($(BR2_STATIC_LIBS),y) diff --git a/package/proftpd/Config.in b/package/proftpd/Config.in index 07a5d86cc6..e979d407cf 100644 --- a/package/proftpd/Config.in +++ b/package/proftpd/Config.in @@ -17,7 +17,7 @@ config BR2_PACKAGE_PROFTPD_MOD_REDIS bool "mod_redis support" select BR2_PACKAGE_HIREDIS help - The mod_redis module enables ProFTPD support for caching data in Redis - servers, using the hiredis client library. + The mod_redis module enables ProFTPD support for caching + data in Redis servers, using the hiredis client library. endif diff --git a/package/proj/Config.in b/package/proj/Config.in new file mode 100644 index 0000000000..788aee8319 --- /dev/null +++ b/package/proj/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_PROJ + bool "proj" + depends on BR2_TOOLCHAIN_HAS_THREADS + help + proj.4 is a standard UNIX filter function which converts + geographic longitude and latitude coordinates into cartesian + coordinates (and vice versa), and it is a C API for software + developers to include coordinate transformation in their own + software. + + http://proj4.org/ + +comment "proj needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/proj/proj.hash b/package/proj/proj.hash new file mode 100644 index 0000000000..6a791baae4 --- /dev/null +++ b/package/proj/proj.hash @@ -0,0 +1,5 @@ +# Fetched from http://download.osgeo.org/proj/proj-4.9.3.tar.gz.md5 +md5 d598336ca834742735137c5674b214a1 proj-4.9.3.tar.gz +# Locally calculated +sha256 6984542fea333488de5c82eea58d699e4aff4b359200a9971537cd7e047185f7 proj-4.9.3.tar.gz +sha256 2dcac4af6990093ef48b896bfb81452d46a31b08d46cce34b27e83f93b2e37f6 COPYING diff --git a/package/proj/proj.mk b/package/proj/proj.mk new file mode 100644 index 0000000000..6d029bba06 --- /dev/null +++ b/package/proj/proj.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# proj +# +################################################################################ + +PROJ_VERSION = 4.9.3 +PROJ_SITE = http://download.osgeo.org/proj +PROJ_LICENSE = MIT +PROJ_LICENSE_FILES = COPYING +PROJ_INSTALL_STAGING = YES + +$(eval $(autotools-package)) diff --git a/package/protobuf/Config.in b/package/protobuf/Config.in index 8287035756..c91e401508 100644 --- a/package/protobuf/Config.in +++ b/package/protobuf/Config.in @@ -34,8 +34,9 @@ config BR2_PACKAGE_PROTOBUF depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 depends on !BR2_STATIC_LIBS help - Protocol buffers are Google's language-neutral, platform-neutral, - extensible mechanism for serializing structured data. + Protocol buffers are Google's language-neutral, + platform-neutral, extensible mechanism for serializing + structured data. https://developers.google.com/protocol-buffers diff --git a/package/proxychains-ng/Config.in b/package/proxychains-ng/Config.in index 1f89b1317f..e27283ad6a 100644 --- a/package/proxychains-ng/Config.in +++ b/package/proxychains-ng/Config.in @@ -3,7 +3,8 @@ config BR2_PACKAGE_PROXYCHAINS_NG depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS help - Force any tcp connections to flow through a proxy (or proxy chain) + Force any tcp connections to flow through a proxy (or proxy + chain) https://github.com/rofl0r/proxychains diff --git a/package/psmisc/Config.in b/package/psmisc/Config.in index 0d1d061a06..84e30967e3 100644 --- a/package/psmisc/Config.in +++ b/package/psmisc/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_PSMISC depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS select BR2_PACKAGE_NCURSES help - Helpful /proc related utilities such as pstree, fuser, and killall + Helpful /proc related utilities such as pstree, fuser, and + killall https://gitlab.com/psmisc/psmisc diff --git a/package/psmisc/psmisc.mk b/package/psmisc/psmisc.mk index 3d9a80462d..6c343a4f2e 100644 --- a/package/psmisc/psmisc.mk +++ b/package/psmisc/psmisc.mk @@ -7,7 +7,7 @@ PSMISC_VERSION = 23.1 PSMISC_SITE = http://downloads.sourceforge.net/project/psmisc/psmisc PSMISC_SOURCE = psmisc-$(PSMISC_VERSION).tar.xz -PSMISC_LICENSE = GPL-2.0 +PSMISC_LICENSE = GPL-2.0+ PSMISC_LICENSE_FILES = COPYING PSMISC_DEPENDENCIES = ncurses $(TARGET_NLS_DEPENDENCIES) # Patching Makefile.am diff --git a/package/psplash/Config.in b/package/psplash/Config.in index d68aaa210f..5053ebacf7 100644 --- a/package/psplash/Config.in +++ b/package/psplash/Config.in @@ -2,18 +2,18 @@ config BR2_PACKAGE_PSPLASH bool "psplash" depends on BR2_USE_WCHAR help - PSplash is a userspace graphical boot splash screen for mainly - embedded Linux devices supporting a 16bpp or 32bpp framebuffer. - It has few dependencies (just libc), supports basic images and - text and handles rotation. Its visual look is configurable by - basic source changes. + PSplash is a userspace graphical boot splash screen for + mainly embedded Linux devices supporting a 16bpp or 32bpp + framebuffer. It has few dependencies (just libc), supports + basic images and text and handles rotation. Its visual look + is configurable by basic source changes. Also included is a 'client' command utility for sending information to psplash such as boot progress information. - Start the drawing process with 'psplash -n&' as early as possible. - Note: psplash creates a FIFO in /tmp for communication with - psplash-write. + Start the drawing process with 'psplash -n&' as early as + possible. Note: psplash creates a FIFO in /tmp for + communication with psplash-write. Usage: * Set progress bar to 50 percent: diff --git a/package/ptpd2/0002-ntp_isc_md5-rename-EVP_MD_CTX-into-PTPD_EVP_MD_CTX.patch b/package/ptpd2/0002-ntp_isc_md5-rename-EVP_MD_CTX-into-PTPD_EVP_MD_CTX.patch new file mode 100644 index 0000000000..e655ff3354 --- /dev/null +++ b/package/ptpd2/0002-ntp_isc_md5-rename-EVP_MD_CTX-into-PTPD_EVP_MD_CTX.patch @@ -0,0 +1,46 @@ +From af1d16d90ff273413a57cd02689f4fb005403609 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Fri, 31 Aug 2018 18:46:56 +0200 +Subject: [PATCH] ntp_isc_md5: rename EVP_MD_CTX into PTPD_EVP_MD_CTX + +EVP_MD_CTX can conflict with openssl that defines a completely different +typedef with same name. + +Since this typedef is used only twice in the entire ptpd, +substitute EVP_MD_CTX with PTPD_EVP_MD_CTX. + +Signed-off-by: Giulio Benetti +--- + src/dep/ntpengine/ntp_isc_md5.c | 2 +- + src/dep/ntpengine/ntp_isc_md5.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/dep/ntpengine/ntp_isc_md5.c b/src/dep/ntpengine/ntp_isc_md5.c +index 850d004..3216de8 100644 +--- a/src/dep/ntpengine/ntp_isc_md5.c ++++ b/src/dep/ntpengine/ntp_isc_md5.c +@@ -262,7 +262,7 @@ MD5authencrypt( + { + u_char digest[64]; + u_int len; +- EVP_MD_CTX ctx; ++ PTPD_EVP_MD_CTX ctx; + pkt[length / 4] = htonl(keyid); + EVP_DigestInit(&ctx); + EVP_DigestUpdate(&ctx, (u_char *)key, (u_int)strlen(key)); +diff --git a/src/dep/ntpengine/ntp_isc_md5.h b/src/dep/ntpengine/ntp_isc_md5.h +index fa6e2ee..236c0e4 100644 +--- a/src/dep/ntpengine/ntp_isc_md5.h ++++ b/src/dep/ntpengine/ntp_isc_md5.h +@@ -80,7 +80,7 @@ isc_md5_final(isc_md5_t *ctx, unsigned char *digest); + # define MD5Init(c) isc_md5_init(c) + # define MD5Update(c, p, s) isc_md5_update(c, p, s) + # define MD5Final(d, c) isc_md5_final((c), (d)) /* swapped */ +- typedef MD5_CTX EVP_MD_CTX; ++ typedef MD5_CTX PTPD_EVP_MD_CTX; + # define EVP_DigestInit(c) MD5Init(c) + # define EVP_DigestUpdate(c, p, s) MD5Update(c, p, s) + # define EVP_DigestFinal(c, d, pdl) \ +-- +2.14.4 + diff --git a/package/ptpd2/0003-Solve-issue-25-Removing-type-U64-from-net-snmp-relat.patch b/package/ptpd2/0003-Solve-issue-25-Removing-type-U64-from-net-snmp-relat.patch new file mode 100644 index 0000000000..f952755d36 --- /dev/null +++ b/package/ptpd2/0003-Solve-issue-25-Removing-type-U64-from-net-snmp-relat.patch @@ -0,0 +1,28 @@ +From 84157b11e8f27318f7291823c657f6313c3b60af Mon Sep 17 00:00:00 2001 +From: Jan Breuer +Date: Tue, 12 Jul 2016 18:07:08 +0200 +Subject: [PATCH] Solve issue #25 - Removing type U64 from net-snmp related + code + +[Thomas: Backport to 2.3.1.] +Signed-off-by: Thomas Petazzoni +--- + src/dep/snmp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/dep/snmp.c b/src/dep/snmp.c +index 5c08aaa..3086c86 100644 +--- a/src/dep/snmp.c ++++ b/src/dep/snmp.c +@@ -221,7 +221,7 @@ snmpHeaderIndexBest(struct snmpHeaderIndex *idx) + + #define SNMP_LOCAL_VARIABLES \ + static unsigned long long_ret; \ +- static U64 counter64_ret; \ ++ static struct counter64 counter64_ret; \ + static uint32_t ipaddr; \ + Integer64 bigint; \ + struct snmpHeaderIndex idx; \ +-- +2.14.4 + diff --git a/package/pugixml/Config.in b/package/pugixml/Config.in index d67e69573c..c37b1df9e5 100644 --- a/package/pugixml/Config.in +++ b/package/pugixml/Config.in @@ -2,15 +2,18 @@ config BR2_PACKAGE_PUGIXML bool "pugixml" depends on BR2_INSTALL_LIBSTDCPP help - Light-weight, simple and fast XML parser for C++ with XPath support + Light-weight, simple and fast XML parser for C++ with XPath + support Features: - * DOM-like interface with rich traversal/modification capabilities - * Extremely fast non-validating XML parser which constructs the DOM tree - from an XML file/buffer - * XPath 1.0 implementation for complex data-driven tree queries - * Full Unicode support with Unicode interface variants and automatic - encoding conversions + * DOM-like interface with rich traversal/modification + capabilities + * Extremely fast non-validating XML parser which constructs + the DOM tree from an XML file/buffer + * XPath 1.0 implementation for complex data-driven tree + queries + * Full Unicode support with Unicode interface variants and + automatic encoding conversions http://pugixml.org/ https://github.com/zeux/pugixml diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk index b021fc93a4..13fcec52a3 100644 --- a/package/pulseaudio/pulseaudio.mk +++ b/package/pulseaudio/pulseaudio.mk @@ -17,8 +17,6 @@ PULSEAUDIO_CONF_OPTS = \ PULSEAUDIO_DEPENDENCIES = \ host-pkgconf libtool libsndfile speex host-intltool \ - $(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) \ - $(if $(BR2_PACKAGE_ALSA_LIB),alsa-lib) \ $(if $(BR2_PACKAGE_LIBGLIB2),libglib2) \ $(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \ $(if $(BR2_PACKAGE_DBUS),dbus) \ @@ -26,6 +24,13 @@ PULSEAUDIO_DEPENDENCIES = \ $(if $(BR2_PACKAGE_FFTW),fftw) \ $(if $(BR2_PACKAGE_SYSTEMD),systemd) +ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y) +PULSEAUDIO_CONF_OPTS += --enable-samplerate +PULSEAUDIO_DEPENDENCIES += libsamplerate +else +PULSEAUDIO_CONF_OPTS += --disable-samplerate +endif + ifeq ($(BR2_PACKAGE_GDBM),y) PULSEAUDIO_CONF_OPTS += --with-database=gdbm PULSEAUDIO_DEPENDENCIES += gdbm @@ -119,7 +124,10 @@ PULSEAUDIO_CONF_OPTS += --enable-neon-opt=no endif # pulseaudio alsa backend needs pcm/mixer apis -ifneq ($(BR2_PACKAGE_ALSA_LIB_PCM)$(BR2_PACKAGE_ALSA_LIB_MIXER),yy) +ifeq ($(BR2_PACKAGE_ALSA_LIB_PCM)$(BR2_PACKAGE_ALSA_LIB_MIXER),yy) +PULSEAUDIO_DEPENDENCIES += alsa-lib +PULSEAUDIO_CONF_OPTS += --enable-alsa +else PULSEAUDIO_CONF_OPTS += --disable-alsa endif @@ -140,11 +148,17 @@ else PULSEAUDIO_CONF_OPTS += --disable-x11 endif +# ConsoleKit module init failure breaks user daemon startup +define PULSEAUDIO_REMOVE_CONSOLE_KIT + rm -f $(TARGET_DIR)/usr/lib/pulse-$(PULSEAUDIO_VERSION)/modules/module-console-kit.so +endef + define PULSEAUDIO_REMOVE_VALA rm -rf $(TARGET_DIR)/usr/share/vala endef -PULSEAUDIO_POST_INSTALL_TARGET_HOOKS += PULSEAUDIO_REMOVE_VALA +PULSEAUDIO_POST_INSTALL_TARGET_HOOKS += PULSEAUDIO_REMOVE_VALA \ + PULSEAUDIO_REMOVE_CONSOLE_KIT ifeq ($(BR2_PACKAGE_PULSEAUDIO_DAEMON),y) define PULSEAUDIO_USERS diff --git a/package/pure-ftpd/Config.in b/package/pure-ftpd/Config.in index 0e1e9c264e..c060102650 100644 --- a/package/pure-ftpd/Config.in +++ b/package/pure-ftpd/Config.in @@ -3,11 +3,12 @@ config BR2_PACKAGE_PURE_FTPD depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help - Pure-FTPd is a free (BSD), secure, production-quality and standard- - conformant FTP server. It doesn't provide useless bells and whistles, - but focuses on efficiency and ease of use. It provides simple answers - to common needs, plus unique useful features for personal users as - well as hosting providers. + Pure-FTPd is a free (BSD), secure, production-quality and + standard- conformant FTP server. It doesn't provide useless + bells and whistles, but focuses on efficiency and ease of + use. It provides simple answers to common needs, plus unique + useful features for personal users as well as hosting + providers. http://www.pureftpd.org @@ -16,16 +17,23 @@ if BR2_PACKAGE_PURE_FTPD config BR2_PACKAGE_PURE_FTPD_FTPWHO bool "ftpwho" help - Enable the pure-ftpd command. Pure-ftpwho shows current Pure-ftpd - client sessions. Only the system administrator may run this. Output - can be text (default), HTML, XML data and parser-optimized. + Enable the pure-ftpd command. Pure-ftpwho shows current + Pure-ftpd client sessions. Only the system administrator + may run this. Output can be text (default), HTML, XML data + and parser-optimized. config BR2_PACKAGE_PURE_FTPD_QUOTAS bool "quotas" help Enable virtual quotas. With virtual quotas, restrictions can be placed on the maximum number of files a user can store in - his account. In addition, restrictions can also be placed - on the total size. + his account. In addition, restrictions can also be placed on + the total size. + +config BR2_PACKAGE_PURE_FTPD_UPLOADSCRIPT + bool "uploadscript" + help + Enable pure-upload script. Automatically run an external + program after a successful upload. endif diff --git a/package/pure-ftpd/pure-ftpd.mk b/package/pure-ftpd/pure-ftpd.mk index 815de90f3b..457e67ea60 100644 --- a/package/pure-ftpd/pure-ftpd.mk +++ b/package/pure-ftpd/pure-ftpd.mk @@ -53,4 +53,8 @@ ifeq ($(BR2_PACKAGE_PURE_FTPD_QUOTAS),y) PURE_FTPD_CONF_OPTS += --with-quotas endif +ifeq ($(BR2_PACKAGE_PURE_FTPD_UPLOADSCRIPT),y) +PURE_FTPD_CONF_OPTS += --with-uploadscript +endif + $(eval $(autotools-package)) diff --git a/package/putty/Config.in b/package/putty/Config.in index 420a7532ef..cd8b3bb213 100644 --- a/package/putty/Config.in +++ b/package/putty/Config.in @@ -3,9 +3,10 @@ config BR2_PACKAGE_PUTTY depends on BR2_USE_MMU # fork() depends on BR2_USE_WCHAR help - PuTTY is a free SSH and Telnet client. Without GTK2 activated, - only the commandline tools plink, pscp, psftp, and puttygen are - built; enable GTK2 for the graphical client. + PuTTY is a free SSH and Telnet client. Without GTK2 + activated, only the commandline tools plink, pscp, psftp, + and puttygen are built; enable GTK2 for the graphical + client. http://www.chiark.greenend.org.uk/~sgtatham/putty/ diff --git a/package/pv/0001-configure.in-tighten-AIX-test.patch b/package/pv/0001-configure.in-tighten-AIX-test.patch new file mode 100644 index 0000000000..2e0d2af247 --- /dev/null +++ b/package/pv/0001-configure.in-tighten-AIX-test.patch @@ -0,0 +1,57 @@ +From cd7605723eb8e6d8231644f1cf62f1e80badf074 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Mon, 20 Aug 2018 15:57:22 +0200 +Subject: [PATCH] configure.in: tighten AIX test + +Depending on the configuration, the cpp output may contain the string 'yes' +in a comment if built under a path containing 'yes', confusing the _AIX +test: + +${CROSS}-cpp conftest.h +\# 1 "conftest.h" +\# 1 "" +\# 1 "" +\# 31 "" +\# 1 "/home/peko/source/buildroot/output-yes/host/x86_64-buildroot-linux-gnu/sysroot/usr/include/stdc-predef.h" 1 3 4 +\# 32 "" 2 +\# 1 "conftest.txt" + +Fix it by only matching on 'yes' on a line by itself. + +Upstream-status: submitted to author +Signed-off-by: Peter Korsgaard +--- + + autoconf/configure.in | 2 +- + configure | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/autoconf/configure.in b/autoconf/configure.in +index bd45004..487c42b 100644 +--- a/autoconf/configure.in ++++ b/autoconf/configure.in +@@ -86,7 +86,7 @@ AC_PROG_MAKE_SET + + dnl AIX needs -lc128 + dnl +-AC_EGREP_CPP([yes], [#ifdef _AIX ++AC_EGREP_CPP([^yes$], [#ifdef _AIX + yes + #endif + ], [LIBS="$LIBS -lc128"]) +diff --git a/configure b/configure +index 7c11be0..59267b9 100755 +--- a/configure ++++ b/configure +@@ -3377,7 +3377,7 @@ yes + + _ACEOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "yes" >/dev/null 2>&1; then ++ $EGREP "^yes$" >/dev/null 2>&1; then + LIBS="$LIBS -lc128" + fi + rm -f conftest* +-- +2.11.0 + diff --git a/package/pwgen/Config.in b/package/pwgen/Config.in index 7bbc1d6d55..441605c78c 100644 --- a/package/pwgen/Config.in +++ b/package/pwgen/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PWGEN bool "pwgen" help - Pwgen is a small, GPL'ed password generator which creates passwords - which can be easily memorized by a human. + Pwgen is a small, GPL'ed password generator which creates + passwords which can be easily memorized by a human. http://sourceforge.net/projects/pwgen/ diff --git a/package/pwgen/Config.in.host b/package/pwgen/Config.in.host index 0c56851dcb..20b55f3fc0 100644 --- a/package/pwgen/Config.in.host +++ b/package/pwgen/Config.in.host @@ -1,7 +1,7 @@ config BR2_PACKAGE_HOST_PWGEN bool "host pwgen" help - Pwgen is a small, GPL'ed password generator which creates passwords - which can be easily memorized by a human. + Pwgen is a small, GPL'ed password generator which creates + passwords which can be easily memorized by a human. http://sourceforge.net/projects/pwgen/ diff --git a/package/python-asn1crypto/Config.in b/package/python-asn1crypto/Config.in index 345c73988c..fe3b5ebbfc 100644 --- a/package/python-asn1crypto/Config.in +++ b/package/python-asn1crypto/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_PYTHON_ASN1CRYPTO bool "python-asn1crypto" help - Fast ASN.1 parser and serializer with definitions for private keys, - public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, - PKCS#12, PKCS#5, X.509 and TSP. + Fast ASN.1 parser and serializer with definitions for + private keys, public keys, certificates, CRL, OCSP, CMS, + PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP. https://github.com/wbond/asn1crypto diff --git a/package/python-autobahn/python-autobahn.hash b/package/python-autobahn/python-autobahn.hash index cae9160ef8..32c99167e9 100644 --- a/package/python-autobahn/python-autobahn.hash +++ b/package/python-autobahn/python-autobahn.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/autobahn/json, sha256 locally computed -md5 9850702d0078c5a4aa17170afe2f233c autobahn-0.16.0.tar.gz -sha256 a1dcb4315a0914da56ec484659816de72dfad229be4ac19fa61bbc0111ada884 autobahn-0.16.0.tar.gz +md5 f8c8d74bf73644719b751e6fb11dc4a3 autobahn-17.10.1.tar.gz +sha256 8cf74132a18da149c5ea3dcbb5e055f6f4fe5a0238b33258d29e89bd276a8078 autobahn-17.10.1.tar.gz +sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE diff --git a/package/python-autobahn/python-autobahn.mk b/package/python-autobahn/python-autobahn.mk index a5e9aeea77..3ba91c5e14 100644 --- a/package/python-autobahn/python-autobahn.mk +++ b/package/python-autobahn/python-autobahn.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AUTOBAHN_VERSION = 0.16.0 +PYTHON_AUTOBAHN_VERSION = 17.10.1 PYTHON_AUTOBAHN_SOURCE = autobahn-$(PYTHON_AUTOBAHN_VERSION).tar.gz -PYTHON_AUTOBAHN_SITE = https://pypi.python.org/packages/68/37/2523309412f0fb93a7784c65e5c5639b4b5d7a84f91374ad6c3c2d5af60b +PYTHON_AUTOBAHN_SITE = https://pypi.python.org/packages/e4/2e/01a64212b1eb580d601fa20f146c962235e3493795f46e3b254597ec635d PYTHON_AUTOBAHN_LICENSE = MIT PYTHON_AUTOBAHN_LICENSE_FILES = LICENSE PYTHON_AUTOBAHN_SETUP_TYPE = setuptools diff --git a/package/python-bottle/Config.in b/package/python-bottle/Config.in index f9b60ca724..5e37f6e3c1 100644 --- a/package/python-bottle/Config.in +++ b/package/python-bottle/Config.in @@ -1,8 +1,9 @@ config BR2_PACKAGE_PYTHON_BOTTLE bool "python-bottle" help - Bottle is a fast, simple and lightweight WSGI micro web-framework - for Python. It is distributed as a single file module and has no - dependencies other than the Python Standard Library. + Bottle is a fast, simple and lightweight WSGI micro + web-framework for Python. It is distributed as a single file + module and has no dependencies other than the Python + Standard Library. http://bottlepy.org diff --git a/package/python-can/Config.in b/package/python-can/Config.in index 3e1b012914..94b16ab335 100644 --- a/package/python-can/Config.in +++ b/package/python-can/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_PYTHON_CAN select BR2_PACKAGE_PYTHON_SQLITE if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON3_SQLITE if BR2_PACKAGE_PYTHON3 # runtime help - This module provides controller area network support for Python. + This module provides controller area network support for + Python. https://bitbucket.org/hardbyte/python-can diff --git a/package/python-certifi/python-certifi.hash b/package/python-certifi/python-certifi.hash index 7aef735be2..e3e2f07770 100644 --- a/package/python-certifi/python-certifi.hash +++ b/package/python-certifi/python-certifi.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/certifi/json, sha256 locally computed -md5 db40445044feda1437ce3ccd5fc28a57 certifi-2017.4.17.tar.gz -sha256 f7527ebf7461582ce95f7a9e03dd141ce810d40590834f4ec20cddd54234c10a certifi-2017.4.17.tar.gz +md5 068fd5c3c690ae47504b3e0bf4e56c4c certifi-2018.1.18.tar.gz +sha256 edbc3f203427eef571f79a7692bb160a2b0f7ccaa31953e99bd17e307cf63f7d certifi-2018.1.18.tar.gz +sha256 6a70a4bf6b010016d59a64b8ae4ad8dc7f5ef16f1fb453cc2ecd771c5a341131 LICENSE diff --git a/package/python-certifi/python-certifi.mk b/package/python-certifi/python-certifi.mk index 207d4f9a0e..084893f5c1 100644 --- a/package/python-certifi/python-certifi.mk +++ b/package/python-certifi/python-certifi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CERTIFI_VERSION = 2017.4.17 +PYTHON_CERTIFI_VERSION = 2018.1.18 PYTHON_CERTIFI_SOURCE = certifi-$(PYTHON_CERTIFI_VERSION).tar.gz -PYTHON_CERTIFI_SITE = https://pypi.python.org/packages/dd/0e/1e3b58c861d40a9ca2d7ea4ccf47271d4456ae4294c5998ad817bd1b4396 +PYTHON_CERTIFI_SITE = https://pypi.python.org/packages/15/d4/2f888fc463d516ff7bf2379a4e9a552fef7f22a94147655d9b1097108248 PYTHON_CERTIFI_SETUP_TYPE = setuptools PYTHON_CERTIFI_LICENSE = ISC (Python code), MPL-2.0 (cacert.pem) PYTHON_CERTIFI_LICENSE_FILES = LICENSE diff --git a/package/python-cffi/Config.in b/package/python-cffi/Config.in index 3805d3d10a..bc9f6a296d 100644 --- a/package/python-cffi/Config.in +++ b/package/python-cffi/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PYTHON_CFFI bool "python-cffi" select BR2_PACKAGE_LIBFFI + select BR2_PACKAGE_PYTHON_PYCPARSER # runtime help This is the Foreign Function Interface for Python calling C code. The aim of this project is to provide a convenient diff --git a/package/python-characteristic/python-characteristic.mk b/package/python-characteristic/python-characteristic.mk index dc3e8bb299..7ea8d95cd4 100644 --- a/package/python-characteristic/python-characteristic.mk +++ b/package/python-characteristic/python-characteristic.mk @@ -6,7 +6,7 @@ PYTHON_CHARACTERISTIC_VERSION = 14.3.0 PYTHON_CHARACTERISTIC_SOURCE = characteristic-$(PYTHON_CHARACTERISTIC_VERSION).tar.gz -PYTHON_CHARACTERISTIC_SITE = http://pypi.python.org/packages/source/c/characteristic +PYTHON_CHARACTERISTIC_SITE = https://pypi.python.org/packages/source/c/characteristic PYTHON_CHARACTERISTIC_LICENSE = MIT PYTHON_CHARACTERISTIC_LICENSE_FILES = LICENSE PYTHON_CHARACTERISTIC_SETUP_TYPE = setuptools diff --git a/package/python-cheetah/Config.in b/package/python-cheetah/Config.in index e98dc39249..12749a1681 100644 --- a/package/python-cheetah/Config.in +++ b/package/python-cheetah/Config.in @@ -2,11 +2,12 @@ config BR2_PACKAGE_PYTHON_CHEETAH bool "python-cheetah" depends on BR2_PACKAGE_PYTHON help - Cheetah is an open source template engine and code generation tool. + Cheetah is an open source template engine and code + generation tool. - It can be used standalone or combined with other tools and frameworks. - Web development is its principle use, but Cheetah is very flexible - and is also being used to generate C++ game code, Java, sql, form - emails and even Python code. + It can be used standalone or combined with other tools and + frameworks. Web development is its principle use, but + Cheetah is very flexible and is also being used to generate + C++ game code, Java, sql, form emails and even Python code. https://pypi.python.org/pypi/Cheetah/ diff --git a/package/python-cheetah/python-cheetah.mk b/package/python-cheetah/python-cheetah.mk index af7d1f5494..eee87fcee7 100644 --- a/package/python-cheetah/python-cheetah.mk +++ b/package/python-cheetah/python-cheetah.mk @@ -6,7 +6,7 @@ PYTHON_CHEETAH_VERSION = 2.4.4 PYTHON_CHEETAH_SOURCE = Cheetah-$(PYTHON_CHEETAH_VERSION).tar.gz -PYTHON_CHEETAH_SITE = http://pypi.python.org/packages/source/C/Cheetah +PYTHON_CHEETAH_SITE = https://pypi.python.org/packages/source/C/Cheetah PYTHON_CHEETAH_LICENSE = MIT PYTHON_CHEETAH_SETUP_TYPE = setuptools diff --git a/package/python-cheroot/python-cheroot.hash b/package/python-cheroot/python-cheroot.hash index 348b82d1ca..664ad1002d 100644 --- a/package/python-cheroot/python-cheroot.hash +++ b/package/python-cheroot/python-cheroot.hash @@ -1,3 +1,4 @@ -# md5 from https://pypi.python.org/pypi/cheroot/json, sha256 locally computed -md5 e5503b0e67bdba29c6585965e7f42099 cheroot-5.5.0.tar.gz -sha256 59e349f91b9230930f7078646bb92b3a5b0f9cf19a6ff949777409fd289a1eba cheroot-5.5.0.tar.gz +# md5 from https://pypi.python.org/pypi/Cheroot/json, sha256 locally computed +md5 d256a0ccd28c3426a7764868e98a9020 cheroot-5.10.0.tar.gz +sha256 a408f1b80a3f93a3b49fc330f68eea40d8d30b9b07084f374607d1a5cc2e824f cheroot-5.10.0.tar.gz +sha256 02f4efe6e7dcd218c33cfa065c0552de983b5ad563b053e97697c5abd2ef14f9 LICENSE diff --git a/package/python-cheroot/python-cheroot.mk b/package/python-cheroot/python-cheroot.mk index 3f4b6893d5..07775e577b 100644 --- a/package/python-cheroot/python-cheroot.mk +++ b/package/python-cheroot/python-cheroot.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_CHEROOT_VERSION = 5.5.0 +PYTHON_CHEROOT_VERSION = 5.10.0 PYTHON_CHEROOT_SOURCE = cheroot-$(PYTHON_CHEROOT_VERSION).tar.gz -PYTHON_CHEROOT_SITE = https://pypi.python.org/packages/a5/43/f8a461762dc62e9f273d4944fb8c140757c11a29c91c91d3fbd5fafb1570 +PYTHON_CHEROOT_SITE = https://pypi.python.org/packages/14/dc/afc41e7f7e797973808d8520e6aef21c4efd00550aa32f5b726327d36be0 PYTHON_CHEROOT_LICENSE = BSD-3-Clause -PYTHON_CHEROOT_LICENSE_FILES = LICENSE.md +PYTHON_CHEROOT_LICENSE_FILES = LICENSE PYTHON_CHEROOT_SETUP_TYPE = setuptools PYTHON_CHEROOT_DEPENDENCIES = host-python-setuptools-scm diff --git a/package/python-cherrypy/Config.in b/package/python-cherrypy/Config.in index c04997269b..622dd1f49b 100644 --- a/package/python-cherrypy/Config.in +++ b/package/python-cherrypy/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PYTHON_CHERRYPY bool "python-cherrypy" select BR2_PACKAGE_PYTHON_CHEROOT # runtime + select BR2_PACKAGE_PYTHON_JARACO_CLASSES # runtime select BR2_PACKAGE_PYTHON_PORTEND # runtime select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime diff --git a/package/python-cherrypy/python-cherrypy.hash b/package/python-cherrypy/python-cherrypy.hash index ac3b982ba8..d8f97af0f7 100644 --- a/package/python-cherrypy/python-cherrypy.hash +++ b/package/python-cherrypy/python-cherrypy.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/CherryPy/json, sha256 locally computed -md5 105cbcd4f7cd139ab4107f1b0e39afe3 CherryPy-10.2.2.tar.gz -sha256 32d93334df765c7fd5d22815ab643333e850f0cc4f6d51fee62a68f23eea8ff8 CherryPy-10.2.2.tar.gz +md5 e21fd0c5706504a8f26c46d808a14255 CherryPy-12.0.1.tar.gz +sha256 6a3a90a43b1e05bd4634c60acfdcf34efe74f9f8746aca14dbe95a9b69db30ea CherryPy-12.0.1.tar.gz +sha256 02f4efe6e7dcd218c33cfa065c0552de983b5ad563b053e97697c5abd2ef14f9 LICENSE.md diff --git a/package/python-cherrypy/python-cherrypy.mk b/package/python-cherrypy/python-cherrypy.mk index 2820b69828..72b17bc876 100644 --- a/package/python-cherrypy/python-cherrypy.mk +++ b/package/python-cherrypy/python-cherrypy.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CHERRYPY_VERSION = 10.2.2 +PYTHON_CHERRYPY_VERSION = 12.0.1 PYTHON_CHERRYPY_SOURCE = CherryPy-$(PYTHON_CHERRYPY_VERSION).tar.gz -PYTHON_CHERRYPY_SITE = https://pypi.python.org/packages/a2/de/dddea0c4d4be436724bfc2d1486c99368541d93c269bfa2a7fa3d132021e +PYTHON_CHERRYPY_SITE = https://pypi.python.org/packages/be/d8/a8ef56bfe1c39d466b8d55b496b64459cc43dec71361d88edf904901637f PYTHON_CHERRYPY_LICENSE = BSD-3-Clause PYTHON_CHERRYPY_LICENSE_FILES = LICENSE.md PYTHON_CHERRYPY_SETUP_TYPE = setuptools diff --git a/package/python-crossbar/0002-Rework-runtime-dependencies.patch b/package/python-crossbar/0002-Rework-runtime-dependencies.patch new file mode 100644 index 0000000000..784949c2dd --- /dev/null +++ b/package/python-crossbar/0002-Rework-runtime-dependencies.patch @@ -0,0 +1,37 @@ +From 35b2ec4949c9d1620551efde6e3a3d46323899de Mon Sep 17 00:00:00 2001 +From: Yegor Yefremov +Date: Thu, 11 Jan 2018 10:13:18 +0100 +Subject: [PATCH 2/2] Rework runtime dependencies + +Add python version requirement to Python2 only packages like +ipaddress and enum34 and bump h2 package version. + +Signed-off-by: Yegor Yefremov +--- + requirements-min.txt | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/requirements-min.txt b/requirements-min.txt +index 83820cd1..5cbf35c4 100644 +--- a/requirements-min.txt ++++ b/requirements-min.txt +@@ -2,7 +2,7 @@ click>=6.6 + setuptools>=28.3.0 + zope.interface>=4.3.2 + Twisted>=17.1.0 +-h2<3.0.0 ++h2>=3.0.1 + priority>=1.3.0 + txaio>=2.8.0 + autobahn>=17.6.2 +@@ -33,5 +33,5 @@ bitstring>=3.1.5 + attrs>=16.2.0 + incremental>=16.10.1 + constantly>=15.1.0 +-enum34>=1.1.6 +-ipaddress>=1.0.18 ++enum34>=1.1.6; python_version < '3.4' ++ipaddress>=1.0.18; python_version < '3.3' +-- +2.11.0 + diff --git a/package/python-crossbar/Config.in b/package/python-crossbar/Config.in index faec922e50..96a25c2c69 100644 --- a/package/python-crossbar/Config.in +++ b/package/python-crossbar/Config.in @@ -2,15 +2,23 @@ config BR2_PACKAGE_PYTHON_CROSSBAR bool "python-crossbar" depends on BR2_INSTALL_LIBSTDCPP # python-pyasn # All the following dependencies are runtime dependencies + select BR2_PACKAGE_PYTHON_ATTRS select BR2_PACKAGE_PYTHON_AUTOBAHN + select BR2_PACKAGE_PYTHON_BITSTRING + select BR2_PACKAGE_PYTHON_CONSTANTLY select BR2_PACKAGE_PYTHON_CBOR select BR2_PACKAGE_PYTHON_CLICK - select BR2_PACKAGE_PYTHON_PYCPARSER select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY + select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_IDNA + select BR2_PACKAGE_PYTHON_INCREMENTAL + select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON select BR2_PACKAGE_PYTHON_JINJA2 + select BR2_PACKAGE_PYTHON_H2 select BR2_PACKAGE_PYTHON_LMDB select BR2_PACKAGE_PYTHON_MISTUNE select BR2_PACKAGE_PYTHON_NETADDR + select BR2_PACKAGE_PYTHON_PRIORITY select BR2_PACKAGE_PYTHON_PSUTIL select BR2_PACKAGE_PYTHON_PYASN select BR2_PACKAGE_PYTHON_PYASN_MODULES @@ -18,6 +26,7 @@ config BR2_PACKAGE_PYTHON_CROSSBAR select BR2_PACKAGE_PYTHON_PYINOTIFY select BR2_PACKAGE_PYTHON_PYNACL select BR2_PACKAGE_PYTHON_PYOPENSSL + select BR2_PACKAGE_PYTHON_PYQRCODE select BR2_PACKAGE_PYTHON_PYTRIE select BR2_PACKAGE_PYTHON_PYYAML select BR2_PACKAGE_PYTHON_SDNOTIFY @@ -25,13 +34,12 @@ config BR2_PACKAGE_PYTHON_CROSSBAR select BR2_PACKAGE_PYTHON_SERVICE_IDENTITY select BR2_PACKAGE_PYTHON_SETPROCTITLE select BR2_PACKAGE_PYTHON_SETUPTOOLS - select BR2_PACKAGE_PYTHON_SHUTILWHICH if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_SHUTILWHICH select BR2_PACKAGE_PYTHON_TREQ select BR2_PACKAGE_PYTHON_TWISTED select BR2_PACKAGE_PYTHON_U_MSGPACK select BR2_PACKAGE_PYTHON_UBJSON select BR2_PACKAGE_PYTHON_WATCHDOG - select BR2_PACKAGE_PYTHON_WSACCEL help Crossbar.io is an open-source WAMP application router that allows to build advanced applications from loosely-coupled diff --git a/package/python-crossbar/python-crossbar.hash b/package/python-crossbar/python-crossbar.hash index a500bcf69f..b9bfea8938 100644 --- a/package/python-crossbar/python-crossbar.hash +++ b/package/python-crossbar/python-crossbar.hash @@ -1,3 +1,4 @@ -# md5 from https://pypi.python.org/pypi/crossbar/json, sha256 locally computed. -md5 516478cc368503a0a0babc1dc28c5085 crossbar-0.14.0.tar.gz -sha256 6242ef34c56061850743d750d042993590ca7ec8ebe7b28c21ed05bb0904d71b crossbar-0.14.0.tar.gz +# md5 from https://pypi.python.org/pypi/crossbar/json, sha256 locally computed +md5 d557615f34e7736f749e59b4d3ddbea0 crossbar-17.6.1.post3.tar.gz +sha256 8d023af0a772404f4e57add5888583fc0068d62a7a2249bea4539a6d7b70fbd9 crossbar-17.6.1.post3.tar.gz +sha256 57c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d6 LICENSE diff --git a/package/python-crossbar/python-crossbar.mk b/package/python-crossbar/python-crossbar.mk index 77cecfa26d..5ebeddc76a 100644 --- a/package/python-crossbar/python-crossbar.mk +++ b/package/python-crossbar/python-crossbar.mk @@ -4,11 +4,9 @@ # ################################################################################ -# don't bump version as newer setuptools package is needed, -# that still didn't make its way into Buildroot -PYTHON_CROSSBAR_VERSION = 0.14.0 +PYTHON_CROSSBAR_VERSION = 17.6.1.post3 PYTHON_CROSSBAR_SOURCE = crossbar-$(PYTHON_CROSSBAR_VERSION).tar.gz -PYTHON_CROSSBAR_SITE = https://pypi.python.org/packages/f0/9a/e0b77e15698c47b6293655bc0e1996dd8e87bd8af7bc7434a5c8281a024e +PYTHON_CROSSBAR_SITE = https://pypi.python.org/packages/6a/25/9bc78947a4552c5fe27671ca2abe3be0559b8c76bc93d52157a6333ea971 PYTHON_CROSSBAR_LICENSE = AGPL-3.0 PYTHON_CROSSBAR_LICENSE_FILES = LICENSE PYTHON_CROSSBAR_SETUP_TYPE = setuptools diff --git a/package/python-cssselect/Config.in b/package/python-cssselect/Config.in index 9c1ffe4610..18d6372005 100644 --- a/package/python-cssselect/Config.in +++ b/package/python-cssselect/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PYTHON_CSSSELECT bool "python-cssselect" help - cssselect parses CSS3 Selectors and translates them to XPath 1.0 + cssselect parses CSS3 Selectors and translates them to XPath + 1.0 http://packages.python.org/cssselect/ diff --git a/package/python-cssselect/python-cssselect.hash b/package/python-cssselect/python-cssselect.hash index 4825950cc3..dd05bebe55 100644 --- a/package/python-cssselect/python-cssselect.hash +++ b/package/python-cssselect/python-cssselect.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/cssselect/json, sha256 locally computed -md5 3fa03bf82a9f0b1223c0f1eb1369e139 cssselect-1.0.1.tar.gz -sha256 73db1c054b9348409e2862fc6c0dde5c4e4fbe4da64c5c5a9e05fbea45744077 cssselect-1.0.1.tar.gz +md5 50422c9ec04b74cd60c571f74ddc1a80 cssselect-1.0.3.tar.gz +sha256 066d8bc5229af09617e24b3ca4d52f1f9092d9e061931f4184cd572885c23204 cssselect-1.0.3.tar.gz +sha256 5c8da9f744e0afba81a48c9b5dbe73048f798b3287d6f1af8a05ee08ebb10892 LICENSE diff --git a/package/python-cssselect/python-cssselect.mk b/package/python-cssselect/python-cssselect.mk index 7136a524a8..4ecc07aef6 100644 --- a/package/python-cssselect/python-cssselect.mk +++ b/package/python-cssselect/python-cssselect.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CSSSELECT_VERSION = 1.0.1 +PYTHON_CSSSELECT_VERSION = 1.0.3 PYTHON_CSSSELECT_SOURCE = cssselect-$(PYTHON_CSSSELECT_VERSION).tar.gz -PYTHON_CSSSELECT_SITE = https://pypi.python.org/packages/77/ff/9c865275cd19290feba56344eba570e719efb7ca5b34d67ed12b22ebbb0d +PYTHON_CSSSELECT_SITE = https://pypi.python.org/packages/52/ea/f31e1d2e9eb130fda2a631e22eac369dc644e8807345fbed5113f2d6f92b PYTHON_CSSSELECT_SETUP_TYPE = setuptools PYTHON_CSSSELECT_LICENSE = BSD-3-Clause PYTHON_CSSSELECT_LICENSE_FILES = LICENSE diff --git a/package/python-dataproperty/Config.in b/package/python-dataproperty/Config.in index 7ef7f085be..1868709047 100644 --- a/package/python-dataproperty/Config.in +++ b/package/python-dataproperty/Config.in @@ -1,9 +1,7 @@ config BR2_PACKAGE_PYTHON_DATAPROPERTY bool "python-dataproperty" - select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime - select BR2_PACKAGE_PYTHON_DATEUTIL # runtime - select BR2_PACKAGE_PYTHON_PYTZ # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_LOGBOOK # runtime + select BR2_PACKAGE_PYTHON_TYPEPY # runtime help Python library for extract property from data. diff --git a/package/python-dataproperty/python-dataproperty.hash b/package/python-dataproperty/python-dataproperty.hash index be7eecb285..0e74acac5a 100644 --- a/package/python-dataproperty/python-dataproperty.hash +++ b/package/python-dataproperty/python-dataproperty.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/DataProperty/json, sha256 locally computed -md5 6e757aa2537721681b437cfeacd7c599 DataProperty-0.25.6.tar.gz -sha256 07c36a290311102fd10552a7855baf5c94e9f60506afa37e0dfb88db5b3f5406 DataProperty-0.25.6.tar.gz +md5 66ecca45ae5e00b2a88799a2795a0cf8 DataProperty-0.29.1.tar.gz +sha256 3e547003b1af16126ff48b1c284241bc8a46d1e38e334ecd3a5ba87955446806 DataProperty-0.29.1.tar.gz +sha256 a93d75bcb0774e2990106380cadad6dcb2de193c55d435ffc56ba345a08b1dc2 LICENSE diff --git a/package/python-dataproperty/python-dataproperty.mk b/package/python-dataproperty/python-dataproperty.mk index 96a7739df1..900cd04608 100644 --- a/package/python-dataproperty/python-dataproperty.mk +++ b/package/python-dataproperty/python-dataproperty.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DATAPROPERTY_VERSION = 0.25.6 +PYTHON_DATAPROPERTY_VERSION = 0.29.1 PYTHON_DATAPROPERTY_SOURCE = DataProperty-$(PYTHON_DATAPROPERTY_VERSION).tar.gz -PYTHON_DATAPROPERTY_SITE = https://pypi.python.org/packages/bb/4b/d9a8d24aa27bd2827d70e68f1f389cdd824e5bea7541993fac8cb35100ed +PYTHON_DATAPROPERTY_SITE = https://pypi.python.org/packages/38/6f/bf65cf1398ca34c709bf14ca9bc33821588498abe50c4652b0d345b9c08c PYTHON_DATAPROPERTY_SETUP_TYPE = setuptools PYTHON_DATAPROPERTY_LICENSE = MIT PYTHON_DATAPROPERTY_LICENSE_FILES = LICENSE diff --git a/package/python-dicttoxml/Config.in b/package/python-dicttoxml/Config.in index 152afbb6bf..e38a5f7909 100644 --- a/package/python-dicttoxml/Config.in +++ b/package/python-dicttoxml/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_PYTHON_DICTTOXML select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 help - Converts a Python dictionary or other native data type into a valid - XML string. + Converts a Python dictionary or other native data type into + a valid XML string. https://github.com/quandyfactory/dicttoxml diff --git a/package/python-django/Config.in b/package/python-django/Config.in index ff84227593..75322d1bb2 100644 --- a/package/python-django/Config.in +++ b/package/python-django/Config.in @@ -7,10 +7,10 @@ config BR2_PACKAGE_PYTHON_DJANGO help Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. It takes your - Web applications from concept to launch in a matter of hours. - Django takes care of user authentication, content administration, - site maps, RSS feeds, user comments and many more tasks. - Django takes security seriously and helps developers avoid - many common security mistakes + Web applications from concept to launch in a matter of + hours. Django takes care of user authentication, content + administration, site maps, RSS feeds, user comments and many + more tasks. Django takes security seriously and helps + developers avoid many common security mistakes https://www.djangoproject.com/ diff --git a/package/python-django/python-django.hash b/package/python-django/python-django.hash index 09be18440b..6e6e7708db 100644 --- a/package/python-django/python-django.hash +++ b/package/python-django/python-django.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/django/json, sha256 locally computed -md5 693dfeabad62c561cb205900d32c2a98 Django-1.10.7.tar.gz -sha256 593d779dbc2350a245c4f76d26bdcad58a39895e87304fe6d725bbdf84b5b0b8 Django-1.10.7.tar.gz +# From https://www.djangoproject.com/m/pgp/Django-1.11.16.checksum.txt +sha256 29268cc47816a44f27308e60f71da635f549c47d8a1d003b28de55141df75791 Django-1.11.16.tar.gz +sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/package/python-django/python-django.mk b/package/python-django/python-django.mk index 9056f00cf0..9f43ffab85 100644 --- a/package/python-django/python-django.mk +++ b/package/python-django/python-django.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_DJANGO_VERSION = 1.10.7 +PYTHON_DJANGO_VERSION = 1.11.16 PYTHON_DJANGO_SOURCE = Django-$(PYTHON_DJANGO_VERSION).tar.gz # The official Django site has an unpractical URL -PYTHON_DJANGO_SITE = https://pypi.python.org/packages/15/b4/d4bb7313e02386bd23a60e1eb5670321313fb67289c6f36ec43bce747aff +PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/35/1d/59836bce4c9cfded261e21c0abd6a4629de6d289522d0fd928117d8eb985 PYTHON_DJANGO_LICENSE = BSD-3-Clause PYTHON_DJANGO_LICENSE_FILES = LICENSE PYTHON_DJANGO_SETUP_TYPE = setuptools diff --git a/package/python-enum34/python-enum34.mk b/package/python-enum34/python-enum34.mk index c612cb65e2..09d1143ab9 100644 --- a/package/python-enum34/python-enum34.mk +++ b/package/python-enum34/python-enum34.mk @@ -12,3 +12,4 @@ PYTHON_ENUM34_LICENSE = BSD-3-Clause PYTHON_ENUM34_LICENSE_FILES = enum/LICENSE $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-flask-cors/Config.in b/package/python-flask-cors/Config.in new file mode 100644 index 0000000000..e2e84797f9 --- /dev/null +++ b/package/python-flask-cors/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_FLASK_CORS + bool "python-flask-cors" + select BR2_PACKAGE_PYTHON_FLASK # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + help + A Flask extension adding a decorator for CORS support. + + https://github.com/corydolphin/flask-cors diff --git a/package/python-flask-cors/python-flask-cors.hash b/package/python-flask-cors/python-flask-cors.hash new file mode 100644 index 0000000000..5a8256ef97 --- /dev/null +++ b/package/python-flask-cors/python-flask-cors.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/flask-cors/json, sha256 locally computed +md5 ddc12bdf8fa19a4ce1504ab9d0b0a8bc Flask-Cors-3.0.3.tar.gz +sha256 62ebc5ad80dc21ca0ea9f57466c2c74e24a62274af890b391790c260eb7b754b Flask-Cors-3.0.3.tar.gz +sha256 6e1a1bdc54834c1e0740cbce5d5f6f2cae1c846fd2a7f482b11649594fafbd5d LICENSE diff --git a/package/python-flask-cors/python-flask-cors.mk b/package/python-flask-cors/python-flask-cors.mk new file mode 100644 index 0000000000..6d5900b486 --- /dev/null +++ b/package/python-flask-cors/python-flask-cors.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-flask-cors +# +################################################################################ + +PYTHON_FLASK_CORS_VERSION = 3.0.3 +PYTHON_FLASK_CORS_SOURCE = Flask-Cors-$(PYTHON_FLASK_CORS_VERSION).tar.gz +PYTHON_FLASK_CORS_SITE = https://pypi.python.org/packages/64/e8/e6bcf79dcad7b7c10f8c8c35d78b5710f2ddcd8ed38e607dd6a4853ab8a8 +PYTHON_FLASK_CORS_SETUP_TYPE = setuptools +PYTHON_FLASK_CORS_LICENSE = MIT +PYTHON_FLASK_CORS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-functools32/Config.in b/package/python-functools32/Config.in index acfd0f3b0d..cc12557edc 100644 --- a/package/python-functools32/Config.in +++ b/package/python-functools32/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_PYTHON_FUNCTOOLS32 bool "python-functools32" depends on BR2_PACKAGE_PYTHON help - Backport of the functools module from Python 3.2.3 for use on 2.7 and PyPy. + Backport of the functools module from Python 3.2.3 for use on 2.7 + and PyPy. https://github.com/MiCHiLU/python-functools32 diff --git a/package/python-functools32/python-functools32.hash b/package/python-functools32/python-functools32.hash new file mode 100644 index 0000000000..606de81774 --- /dev/null +++ b/package/python-functools32/python-functools32.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/functools32/json, sha256 locally computed +md5 09f24ffd9af9f6cd0f63cb9f4e23d4b2 functools32-3.2.3-2.tar.gz +sha256 f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d functools32-3.2.3-2.tar.gz +sha256 3f9ea6b89abe1556b72aff67b987d64c8272564815cd6a2832e6c4f6abdfe3b1 LICENSE diff --git a/package/python-functools32/python-functools32.mk b/package/python-functools32/python-functools32.mk index 1590c51238..8a88bb2a7f 100644 --- a/package/python-functools32/python-functools32.mk +++ b/package/python-functools32/python-functools32.mk @@ -8,6 +8,7 @@ PYTHON_FUNCTOOLS32_VERSION = 3.2.3-2 PYTHON_FUNCTOOLS32_SOURCE = functools32-$(PYTHON_FUNCTOOLS32_VERSION).tar.gz PYTHON_FUNCTOOLS32_SITE = https://pypi.python.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db PYTHON_FUNCTOOLS32_SETUP_TYPE = distutils +PYTHON_FUNCTOOLS32_LICENSE = Python-2.0 +PYTHON_FUNCTOOLS32_LICENSE_FILES = LICENSE $(eval $(python-package)) - diff --git a/package/python-iowait/python-iowait.hash b/package/python-iowait/python-iowait.hash index 67dac15f4a..fcaf8cc564 100644 --- a/package/python-iowait/python-iowait.hash +++ b/package/python-iowait/python-iowait.hash @@ -1,4 +1,4 @@ -# md5 from https://pypi.python.org/pypi/iowait/json +# md5 from https://pypi.python.org/pypi/iowait/json, sha256 locally computed md5 f49ca7766fe4a67e03a731e575614f87 iowait-0.2.tar.gz -# sha256 calculated by scanpypi sha256 ab1bc2eb84c22ccf61f17a0024f9fb6df781b39f1852764a66a7769d5adfb299 iowait-0.2.tar.gz +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LESSER diff --git a/package/python-ipaddr/python-ipaddr.mk b/package/python-ipaddr/python-ipaddr.mk index 8bfb543791..84c486dc56 100644 --- a/package/python-ipaddr/python-ipaddr.mk +++ b/package/python-ipaddr/python-ipaddr.mk @@ -6,7 +6,7 @@ PYTHON_IPADDR_VERSION = 2.1.11 PYTHON_IPADDR_SOURCE = ipaddr-$(PYTHON_IPADDR_VERSION).tar.gz -PYTHON_IPADDR_SITE = http://pypi.python.org/packages/source/i/ipaddr +PYTHON_IPADDR_SITE = https://pypi.python.org/packages/source/i/ipaddr PYTHON_IPADDR_SETUP_TYPE = distutils PYTHON_IPADDR_LICENSE = Apache-2.0 PYTHON_IPADDR_LICENSE_FILES = COPYING diff --git a/package/python-jaraco-classes/Config.in b/package/python-jaraco-classes/Config.in new file mode 100644 index 0000000000..05c11237ab --- /dev/null +++ b/package/python-jaraco-classes/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_JARACO_CLASSES + bool "python-jaraco-classes" + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Utility functions for Python class constructs. + + https://github.com/jaraco/jaraco.classes diff --git a/package/python-jaraco-classes/python-jaraco-classes.hash b/package/python-jaraco-classes/python-jaraco-classes.hash new file mode 100644 index 0000000000..bc30c5f79b --- /dev/null +++ b/package/python-jaraco-classes/python-jaraco-classes.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/jaraco.classes/json, sha256 locally computed +md5 c0cb1a0ce529e3cdbca9d99742071a04 jaraco.classes-1.4.3.tar.gz +sha256 e347f2b502521bfc35c57ab4695e8b6d7371625c392a0ca0d46742ee93359d3e jaraco.classes-1.4.3.tar.gz +sha256 a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd LICENSE diff --git a/package/python-jaraco-classes/python-jaraco-classes.mk b/package/python-jaraco-classes/python-jaraco-classes.mk new file mode 100644 index 0000000000..c361e97a68 --- /dev/null +++ b/package/python-jaraco-classes/python-jaraco-classes.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-jaraco-classes +# +################################################################################ + +PYTHON_JARACO_CLASSES_VERSION = 1.4.3 +PYTHON_JARACO_CLASSES_SOURCE = jaraco.classes-$(PYTHON_JARACO_CLASSES_VERSION).tar.gz +PYTHON_JARACO_CLASSES_SITE = https://pypi.python.org/packages/b3/ce/031a6004619c2a3744b977b4a8414d7e8087afe6247110efcac797fee7f1 +PYTHON_JARACO_CLASSES_LICENSE = MIT +PYTHON_JARACO_CLASSES_LICENSE_FILES = LICENSE +PYTHON_JARACO_CLASSES_SETUP_TYPE = setuptools +PYTHON_JARACO_CLASSES_DEPENDENCIES = host-python-setuptools-scm + +$(eval $(python-package)) diff --git a/package/python-jsonschema/Config.in b/package/python-jsonschema/Config.in index 7002653722..b547f4ae1a 100644 --- a/package/python-jsonschema/Config.in +++ b/package/python-jsonschema/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PYTHON_JSONSCHEMA bool "python-jsonschema" + select BR2_PACKAGE_PYTHON_FUNCTOOLS32 if BR2_PACKAGE_PYTHON # runtime help An implementation of JSON Schema validation for Python. diff --git a/package/python-keyring/Config.in b/package/python-keyring/Config.in index a6eacf52a5..23d86a4822 100644 --- a/package/python-keyring/Config.in +++ b/package/python-keyring/Config.in @@ -1,8 +1,12 @@ config BR2_PACKAGE_PYTHON_KEYRING bool "python-keyring" - depends on BR2_PACKAGE_PYTHON + depends on BR2_INSTALL_LIBSTDCPP # python-secretstorage + select BR2_PACKAGE_PYTHON_SECRETSTORAGE # runtime help The Python keyring lib provides a easy way to access the system keyring service from Python. https://pypi.python.org/pypi/keyring + +comment "python-keyring needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-keyring/python-keyring.hash b/package/python-keyring/python-keyring.hash index cd1683a7d1..a57419039e 100644 --- a/package/python-keyring/python-keyring.hash +++ b/package/python-keyring/python-keyring.hash @@ -1,2 +1,4 @@ -# locally computed -sha256 c3f0665ee2d969170dcd6b9e83e76cc7fca2be5a40943700ce2624a0a02f9658 keyring-3.0.5.zip +# md5 from https://pypi.python.org/pypi/keyring/json, sha256 locally computed +md5 9c53e4f2427ebaa59d304a826311fbcf keyring-10.5.0.tar.gz +sha256 0e6129e8c5bc80da34cc1942d30daad79ed40419fcaaa538278c3b2ff235b313 keyring-10.5.0.tar.gz +sha256 a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd LICENSE diff --git a/package/python-keyring/python-keyring.mk b/package/python-keyring/python-keyring.mk index ef8b8af261..27db2802ed 100644 --- a/package/python-keyring/python-keyring.mk +++ b/package/python-keyring/python-keyring.mk @@ -4,16 +4,12 @@ # ################################################################################ -PYTHON_KEYRING_VERSION = 3.0.5 -PYTHON_KEYRING_SOURCE = keyring-$(PYTHON_KEYRING_VERSION).zip -PYTHON_KEYRING_SITE = http://pypi.python.org/packages/source/k/keyring +PYTHON_KEYRING_VERSION = 10.5.0 +PYTHON_KEYRING_SOURCE = keyring-$(PYTHON_KEYRING_VERSION).tar.gz +PYTHON_KEYRING_SITE = https://pypi.python.org/packages/42/2e/51bd1739fe335095a2174db3f2f230346762e7e572471059540146a521f6 PYTHON_KEYRING_SETUP_TYPE = setuptools -PYTHON_KEYRING_LICENSE = python software foundation license - -define PYTHON_KEYRING_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(DL_DIR)/$(PYTHON_KEYRING_SOURCE) - mv $(@D)/keyring-$(PYTHON_KEYRING_VERSION)/* $(@D) - $(RM) -r $(@D)/keyring-$(PYTHON_KEYRING_VERSION) -endef +PYTHON_KEYRING_LICENSE = MIT +PYTHON_KEYRING_LICENSE_FILES = LICENSE +PYTHON_KEYRING_DEPENDENCIES = host-python-setuptools-scm $(eval $(python-package)) diff --git a/package/python-more-itertools/Config.in b/package/python-more-itertools/Config.in new file mode 100644 index 0000000000..dc5fb7ce54 --- /dev/null +++ b/package/python-more-itertools/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_MORE_ITERTOOLS + bool "python-more-itertools" + select BR2_PACKAGE_PYTHON_SIX # runtime + help + More routines for operating on iterables, beyond itertools. + + https://github.com/erikrose/more-itertools diff --git a/package/python-more-itertools/python-more-itertools.hash b/package/python-more-itertools/python-more-itertools.hash new file mode 100644 index 0000000000..36748cb395 --- /dev/null +++ b/package/python-more-itertools/python-more-itertools.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/more-itertools/json, sha256 locally computed +md5 fef89b28d050e325fbb7eb209e75ab45 more-itertools-4.0.1.tar.gz +sha256 5d21dcefa19782f9ec9aa64e0bfd903f5024512b1e1f17519800b193b2e64d31 more-itertools-4.0.1.tar.gz +sha256 09f1c8c9e941af3e584d59641ea9b87d83c0cb0fd007eb5ef391a7e2643c1a46 LICENSE diff --git a/package/python-more-itertools/python-more-itertools.mk b/package/python-more-itertools/python-more-itertools.mk new file mode 100644 index 0000000000..971a338626 --- /dev/null +++ b/package/python-more-itertools/python-more-itertools.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-more-itertools +# +################################################################################ + +PYTHON_MORE_ITERTOOLS_VERSION = 4.0.1 +PYTHON_MORE_ITERTOOLS_SOURCE = more-itertools-$(PYTHON_MORE_ITERTOOLS_VERSION).tar.gz +PYTHON_MORE_ITERTOOLS_SITE = https://pypi.python.org/packages/a2/28/d02c111c230a769a32fd97e9f6d42bfb0136da381f356b945db38367b3d3 +PYTHON_MORE_ITERTOOLS_SETUP_TYPE = setuptools +PYTHON_MORE_ITERTOOLS_LICENSE = MIT +PYTHON_MORE_ITERTOOLS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-mwclient/0001-use-exec-in-py3-compatible-manner.patch b/package/python-mwclient/0001-use-exec-in-py3-compatible-manner.patch deleted file mode 100644 index ac7838a7f7..0000000000 --- a/package/python-mwclient/0001-use-exec-in-py3-compatible-manner.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 5de1bb82465d39962e26175c62f644a3e423d030 Mon Sep 17 00:00:00 2001 -From: Adam Williamson -Date: Thu, 21 Jan 2016 17:21:52 -0800 -Subject: [PATCH] use 'exec' in py3-compatible manner - -per https://docs.python.org/2/reference/simple_stmts.html , -as exec is a function not a statement in py3, the py2 version -has been set to allow the subsequent statement to be a tuple, -so we can invoke it like this to make it both py2 and py3 -compatible. Without this, byte-compiling the file fails under -py3. - -Signed-off-by: Bernd Kuhls ---- -downloaded from upstream commit: -https://github.com/mwclient/mwclient/commit/5de1bb82465d39962e26175c62f644a3e423d030 - - mwclient/ex.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mwclient/ex.py b/mwclient/ex.py -index db4006c..c0b1eae 100644 ---- a/mwclient/ex.py -+++ b/mwclient/ex.py -@@ -12,7 +12,7 @@ def read_config(config_files, **predata): - - def _read_config_file(_config_file, predata): - _file = open(_config_file) -- exec _file in globals(), predata -+ exec(_file, globals(), predata) - _file.close() - - for _k, _v in predata.iteritems(): --- -2.9.3 - diff --git a/package/python-mwclient/Config.in b/package/python-mwclient/Config.in index be8897864c..76bf794892 100644 --- a/package/python-mwclient/Config.in +++ b/package/python-mwclient/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_MWCLIENT bool "python-mwclient" - select BR2_PACKAGE_PYTHON_REQUESTS # runtime + select BR2_PACKAGE_PYTHON_REQUESTS_OAUTHLIB # runtime select BR2_PACKAGE_PYTHON_SIX # runtime help MediaWiki API client. diff --git a/package/python-mwclient/python-mwclient.hash b/package/python-mwclient/python-mwclient.hash index 109897173e..3fb643e601 100644 --- a/package/python-mwclient/python-mwclient.hash +++ b/package/python-mwclient/python-mwclient.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/mwclient/json, sha256 locally computed -md5 c1334facf2d6ca54fe6dba4ab75ecf34 mwclient-0.8.1.tar.gz -sha256 5f892711cc0b23ff2a6d8b7986ee63cd43fd1ec92b0783604ffa7613cd1662e4 mwclient-0.8.1.tar.gz +md5 486d3109e73d298d512d967501b23647 mwclient-0.8.7.tar.gz +sha256 3bdaaa48fda6386b190651e49484a549bd0c48b97573dbda34a8b7c4c80430ed mwclient-0.8.7.tar.gz +sha256 d29eaa80939b6d8fc3ab458bab90f4af879fa9e0430ed7e0fb2b94752e7eb33f mwclient/__init__.py diff --git a/package/python-mwclient/python-mwclient.mk b/package/python-mwclient/python-mwclient.mk index 1f1e209661..5f18ef7d1b 100644 --- a/package/python-mwclient/python-mwclient.mk +++ b/package/python-mwclient/python-mwclient.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MWCLIENT_VERSION = 0.8.1 +PYTHON_MWCLIENT_VERSION = 0.8.7 PYTHON_MWCLIENT_SOURCE = mwclient-$(PYTHON_MWCLIENT_VERSION).tar.gz -PYTHON_MWCLIENT_SITE = https://pypi.python.org/packages/19/79/481b288a497f625ee8f76141ff3472d81428b1f14b7155a28a63a3247197 +PYTHON_MWCLIENT_SITE = https://pypi.python.org/packages/63/05/ddf7d1b0d3a1dc9ee650dcaef7ddfbb980b4d2f0c41128c5f9e6fed5e8e2 PYTHON_MWCLIENT_LICENSE = MIT PYTHON_MWCLIENT_LICENSE_FILES = mwclient/__init__.py PYTHON_MWCLIENT_SETUP_TYPE = setuptools diff --git a/package/python-networkmanager/Config.in b/package/python-networkmanager/Config.in index fcbce5748d..9b2b474d4b 100644 --- a/package/python-networkmanager/Config.in +++ b/package/python-networkmanager/Config.in @@ -4,7 +4,8 @@ config BR2_PACKAGE_PYTHON_NETWORKMANAGER depends on BR2_USE_WCHAR # dbus-python depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-python depends on BR2_PACKAGE_DBUS # dbus-python - select BR2_PACKAGE_DBUS_PYTHON + select BR2_PACKAGE_DBUS_PYTHON # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime help python-networkmanager wraps NetworkManagers D-Bus interface so you can be less verbose when talking to NetworkManager diff --git a/package/python-networkmanager/python-networkmanager.hash b/package/python-networkmanager/python-networkmanager.hash index cbd6febcd1..1fed4befb7 100644 --- a/package/python-networkmanager/python-networkmanager.hash +++ b/package/python-networkmanager/python-networkmanager.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=97c84c19b84b1124903a06379b107f77, sha256 locally computed -md5 97c84c19b84b1124903a06379b107f77 python-networkmanager-1.2.1.tar.gz -sha256 7107c07383f8077cfac33fdbb3c4cda4de40be20a6b20d30840055eb519a0e89 python-networkmanager-1.2.1.tar.gz +# md5 from https://pypi.python.org/pypi/python-networkmanager/json, sha256 locally computed +md5 5fc644a65463031295c6b7dd51a0f1bd python-networkmanager-2.0.1.tar.gz +sha256 bc36507506ad29bfdac941b0987ebd1cc9633c9a9291d7378e229e4515a0a517 python-networkmanager-2.0.1.tar.gz diff --git a/package/python-networkmanager/python-networkmanager.mk b/package/python-networkmanager/python-networkmanager.mk index d0e4011421..29afb5e564 100644 --- a/package/python-networkmanager/python-networkmanager.mk +++ b/package/python-networkmanager/python-networkmanager.mk @@ -4,11 +4,10 @@ # ################################################################################ -PYTHON_NETWORKMANAGER_VERSION = 1.2.1 -PYTHON_NETWORKMANAGER_SITE = https://pypi.python.org/packages/e7/b1/09993250ceea9e03bc65fbabcd5286540200292c011b22237b2963c11471 -PYTHON_NETWORKMANAGER_SETUP_TYPE = distutils -PYTHON_NETWORKMANAGER_LICENSE = GPL-3.0+ +PYTHON_NETWORKMANAGER_VERSION = 2.0.1 +PYTHON_NETWORKMANAGER_SITE = https://pypi.python.org/packages/d7/f9/5cbd99fd24a072875ce048e48d1754285f137aab447de8fee63b6cba990a +PYTHON_NETWORKMANAGER_SETUP_TYPE = setuptools +PYTHON_NETWORKMANAGER_LICENSE = Zlib PYTHON_NETWORKMANAGER_LICENSE_FILES = COPYING -PYTHON_NETWORKMANAGER_DEPENDENCIES = dbus-python $(eval $(python-package)) diff --git a/package/python-oauthlib/Config.in b/package/python-oauthlib/Config.in new file mode 100644 index 0000000000..d6617f3898 --- /dev/null +++ b/package/python-oauthlib/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_OAUTHLIB + bool "python-oauthlib" + help + A generic, spec-compliant, thorough implementation of the + OAuth request-signing logic. + + https://github.com/idan/oauthlib diff --git a/package/python-oauthlib/python-oauthlib.hash b/package/python-oauthlib/python-oauthlib.hash new file mode 100644 index 0000000000..f8e1324244 --- /dev/null +++ b/package/python-oauthlib/python-oauthlib.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/oauthlib/json, sha256 locally computed +md5 277a9a966cc8c72e492b4eeb41332445 oauthlib-2.0.6.tar.gz +sha256 ce57b501e906ff4f614e71c36a3ab9eacbb96d35c24d1970d2539bbc3ec70ce1 oauthlib-2.0.6.tar.gz +sha256 9e1ae8725f5815738dadb6cbb09f450453d94e07c7b5efaee864f546a6209a95 LICENSE diff --git a/package/python-oauthlib/python-oauthlib.mk b/package/python-oauthlib/python-oauthlib.mk new file mode 100644 index 0000000000..ab39800247 --- /dev/null +++ b/package/python-oauthlib/python-oauthlib.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-oauthlib +# +################################################################################ + +PYTHON_OAUTHLIB_VERSION = 2.0.6 +PYTHON_OAUTHLIB_SOURCE = oauthlib-$(PYTHON_OAUTHLIB_VERSION).tar.gz +PYTHON_OAUTHLIB_SITE = https://pypi.python.org/packages/a5/8a/212e9b47fb54be109f3ff0684165bb38c51117f34e175c379fce5c7df754 +PYTHON_OAUTHLIB_SETUP_TYPE = setuptools +PYTHON_OAUTHLIB_LICENSE = BSD-3-Clause +PYTHON_OAUTHLIB_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-protobuf/Config.in b/package/python-protobuf/Config.in index 607fe48c2a..500c82a531 100644 --- a/package/python-protobuf/Config.in +++ b/package/python-protobuf/Config.in @@ -7,7 +7,8 @@ config BR2_PACKAGE_PYTHON_PROTOBUF help Python implementation of the Google Protocol Buffers. - Protocol buffers are Google's language-neutral, platform-neutral, - extensible mechanism for serializing structured data. + Protocol buffers are Google's language-neutral, + platform-neutral, extensible mechanism for serializing + structured data. https://github.com/protobuf-c/protobuf-c diff --git a/package/python-pyasn-modules/python-pyasn-modules.mk b/package/python-pyasn-modules/python-pyasn-modules.mk index 4e8f9b9a68..b5e853aa2a 100644 --- a/package/python-pyasn-modules/python-pyasn-modules.mk +++ b/package/python-pyasn-modules/python-pyasn-modules.mk @@ -6,7 +6,7 @@ PYTHON_PYASN_MODULES_VERSION = 0.0.8 PYTHON_PYASN_MODULES_SOURCE = pyasn1-modules-$(PYTHON_PYASN_MODULES_VERSION).tar.gz -PYTHON_PYASN_MODULES_SITE = http://pypi.python.org/packages/source/p/pyasn1-modules +PYTHON_PYASN_MODULES_SITE = https://pypi.python.org/packages/source/p/pyasn1-modules PYTHON_PYASN_MODULES_LICENSE = BSD-2-Clause PYTHON_PYASN_MODULES_LICENSE_FILES = LICENSE.txt PYTHON_PYASN_MODULES_SETUP_TYPE = setuptools diff --git a/package/python-pyftpdlib/python-pyftpdlib.hash b/package/python-pyftpdlib/python-pyftpdlib.hash index 9726f9f723..3ed16018df 100644 --- a/package/python-pyftpdlib/python-pyftpdlib.hash +++ b/package/python-pyftpdlib/python-pyftpdlib.hash @@ -1,3 +1,4 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=61b23e2362df23d0dfa5fe76f6e2ab55, sha256 locally computed -md5 61b23e2362df23d0dfa5fe76f6e2ab55 pyftpdlib-1.5.1.tar.gz -sha256 7bcd7fc825123414a157718c6dcdcb0978208d3c865d4650564acef4acce3354 pyftpdlib-1.5.1.tar.gz +# md5 from https://pypi.python.org/pypi/pyftpdlib/json, sha256 locally computed +md5 f1c7e7f859b3310769149dea4ac26916 pyftpdlib-1.5.3.tar.gz +sha256 7b9ea701f91bee280c5a930a9c4ceaea91b6d4aaf82b8b8ede82fb84a32081a7 pyftpdlib-1.5.3.tar.gz +sha256 18a4ff1ddf890838e36504b307581e3eb42c890a7272ce28b18b3ce1205b7ea8 LICENSE diff --git a/package/python-pyftpdlib/python-pyftpdlib.mk b/package/python-pyftpdlib/python-pyftpdlib.mk index 85d0b56adf..a34b563cb7 100644 --- a/package/python-pyftpdlib/python-pyftpdlib.mk +++ b/package/python-pyftpdlib/python-pyftpdlib.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYFTPDLIB_VERSION = 1.5.1 +PYTHON_PYFTPDLIB_VERSION = 1.5.3 PYTHON_PYFTPDLIB_SOURCE = pyftpdlib-$(PYTHON_PYFTPDLIB_VERSION).tar.gz -PYTHON_PYFTPDLIB_SITE = https://pypi.python.org/packages/a8/f8/0f6db156898616dbcbd7bf865660295c81479071ab0fcd1898fe1b3a4fc4 +PYTHON_PYFTPDLIB_SITE = https://pypi.python.org/packages/c5/fb/74f6425fbb7f2a87969e1aa01bb9684601de431a3488b95f64509bf985ef PYTHON_PYFTPDLIB_SETUP_TYPE = setuptools PYTHON_PYFTPDLIB_LICENSE = MIT PYTHON_PYFTPDLIB_LICENSE_FILES = LICENSE diff --git a/package/python-pygame/Config.in b/package/python-pygame/Config.in index 932b0f1229..0a738527ea 100644 --- a/package/python-pygame/Config.in +++ b/package/python-pygame/Config.in @@ -2,9 +2,10 @@ config BR2_PACKAGE_PYTHON_PYGAME bool "python-pygame" select BR2_PACKAGE_SDL help - Pygame is a cross-platfrom library designed to make it easy to write - multimedia software, such as games, in Python. Pygame requires the - Python language and SDL multimedia library. + Pygame is a cross-platfrom library designed to make it easy + to write multimedia software, such as games, in + Python. Pygame requires the Python language and SDL + multimedia library. It can also make use of several other popular libraries. http://www.pygame.org/ @@ -23,7 +24,8 @@ config BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES bool "pygame.examples" help Include examples. - Selecting this option adds about 1.5 MB to the target file system. + Selecting this option adds about 1.5 MB to the target file + system. config BR2_PACKAGE_PYTHON_PYGAME_FONT bool "pygame.font" diff --git a/package/python-pynacl/Config.in b/package/python-pynacl/Config.in index 5a53648cb9..256f9d5eb6 100644 --- a/package/python-pynacl/Config.in +++ b/package/python-pynacl/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_PYTHON_PYNACL select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_CFFI # runtime help - Python binding to the Networking and Cryptography (NaCl) library. + Python binding to the Networking and Cryptography (NaCl) + library. https://pypi.python.org/pypi/PyNaCl diff --git a/package/python-pynacl/python-pynacl.mk b/package/python-pynacl/python-pynacl.mk index e1769b8f70..469ddda474 100644 --- a/package/python-pynacl/python-pynacl.mk +++ b/package/python-pynacl/python-pynacl.mk @@ -6,7 +6,7 @@ PYTHON_PYNACL_VERSION = 1.0.1 PYTHON_PYNACL_SOURCE = PyNaCl-$(PYTHON_PYNACL_VERSION).tar.gz -PYTHON_PYNACL_SITE = http://pypi.python.org/packages/source/P/PyNaCl +PYTHON_PYNACL_SITE = https://pypi.python.org/packages/source/P/PyNaCl PYTHON_PYNACL_LICENSE = Apache-2.0 PYTHON_PYNACL_LICENSE_FILES = LICENSE PYTHON_PYNACL_SETUP_TYPE = setuptools diff --git a/package/python-pyparsing/Config.in b/package/python-pyparsing/Config.in index b926286cc4..425ffe326b 100644 --- a/package/python-pyparsing/Config.in +++ b/package/python-pyparsing/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_PYTHON_PYPARSING bool "python-pyparsing" help - The pyparsing module is an alternative approach to creating and - executing simple grammars, vs. the traditional lex/yacc approach, - or the use of regular expressions. The pyparsing module provides - a library of classes that client code uses to construct the grammar - directly in Python code. + The pyparsing module is an alternative approach to creating + and executing simple grammars, vs. the traditional lex/yacc + approach, or the use of regular expressions. The pyparsing + module provides a library of classes that client code uses + to construct the grammar directly in Python code. http://pyparsing.wikispaces.com/ diff --git a/package/python-pypcap/Config.in b/package/python-pypcap/Config.in index ed336ca356..9b71575c0b 100644 --- a/package/python-pypcap/Config.in +++ b/package/python-pypcap/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_PYTHON_PYPCAP depends on BR2_PACKAGE_PYTHON select BR2_PACKAGE_LIBPCAP help - The pypcap module is an object-oriented wrapper of the C libpcap library. + The pypcap module is an object-oriented wrapper of the C + libpcap library. https://code.google.com/p/pypcap/ diff --git a/package/python-pyro/Config.in b/package/python-pyro/Config.in index eb998c3970..6372a1d376 100644 --- a/package/python-pyro/Config.in +++ b/package/python-pyro/Config.in @@ -2,8 +2,9 @@ config BR2_PACKAGE_PYTHON_PYRO bool "python-pyro" depends on BR2_PACKAGE_PYTHON help - python-pyro is a Python library stands for PYthon Remote Objects. - It is an advanced and powerful Distributed Object Technology system - written entirely in Python, that is designed to be very easy to use.. + python-pyro is a Python library stands for PYthon Remote + Objects. It is an advanced and powerful Distributed Object + Technology system written entirely in Python, that is + designed to be very easy to use.. https://pypi.python.org/pypi/Pyro/ diff --git a/package/python-pysmb/Config.in b/package/python-pysmb/Config.in index 42a9984ef7..32a6878fbf 100644 --- a/package/python-pysmb/Config.in +++ b/package/python-pysmb/Config.in @@ -4,10 +4,10 @@ config BR2_PACKAGE_PYTHON_PYSMB select BR2_PACKAGE_PYTHON_PYASN help pysmb is an experimental SMB/CIFS library written in Python. - It implements the client-side SMB/CIFS protocol (SMB1 and SMB2) - which allows your Python application to access and transfer files - to/from SMB/CIFS shared folders like your Windows file sharing and - Samba folders. + It implements the client-side SMB/CIFS protocol (SMB1 and + SMB2) which allows your Python application to access and + transfer files to/from SMB/CIFS shared folders like your + Windows file sharing and Samba folders. https://miketeo.net/wp/index.php/projects/pysmb diff --git a/package/python-pytablereader/Config.in b/package/python-pytablereader/Config.in index fa3dd29f16..29951ab0aa 100644 --- a/package/python-pytablereader/Config.in +++ b/package/python-pytablereader/Config.in @@ -12,6 +12,7 @@ config BR2_PACKAGE_PYTHON_PYTABLEREADER select BR2_PACKAGE_PYTHON_PYPARSING # runtime select BR2_PACKAGE_PYTHON_REQUESTS # runtime select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_TABLEDATA # runtime select BR2_PACKAGE_PYTHON_TYPEPY # runtime select BR2_PACKAGE_PYTHON_XLRD # runtime help diff --git a/package/python-pytablereader/python-pytablereader.hash b/package/python-pytablereader/python-pytablereader.hash index 5682779271..ade5df3df3 100644 --- a/package/python-pytablereader/python-pytablereader.hash +++ b/package/python-pytablereader/python-pytablereader.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/pytablereader/json, sha256 locally computed -md5 60a00cb5ca16aaa16cc4813ef094f803 pytablereader-0.13.3.tar.gz -sha256 96d5eb060f5ab3bc9072e98c3dbeb22b152ce4ce64f33502e7c2cc394526c60b pytablereader-0.13.3.tar.gz +md5 bad666f031a336466c0e9d5c0f4c5783 pytablereader-0.15.0.tar.gz +sha256 edd7d78ceb1692a1b29254f45574f85f03cd04311d2dfd2256a299c6634cc022 pytablereader-0.15.0.tar.gz +sha256 7588265082eed5e9f4afd5090c57e610b740ec547b16aaaab739ba07c5eefb15 LICENSE diff --git a/package/python-pytablereader/python-pytablereader.mk b/package/python-pytablereader/python-pytablereader.mk index a2dd1b9893..ce1de4e4df 100644 --- a/package/python-pytablereader/python-pytablereader.mk +++ b/package/python-pytablereader/python-pytablereader.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTABLEREADER_VERSION = 0.13.3 +PYTHON_PYTABLEREADER_VERSION = 0.15.0 PYTHON_PYTABLEREADER_SOURCE = pytablereader-$(PYTHON_PYTABLEREADER_VERSION).tar.gz -PYTHON_PYTABLEREADER_SITE = https://pypi.python.org/packages/c3/47/550949034950f43d3db3b60b94aa8ee60d548d9f657612d816ad4420f24b +PYTHON_PYTABLEREADER_SITE = https://pypi.python.org/packages/34/53/e2f51f2efe42c4045ad0822d4ffe739788a74cca35ba7d0bc59a53ec9424 PYTHON_PYTABLEREADER_SETUP_TYPE = setuptools PYTHON_PYTABLEREADER_LICENSE = MIT PYTHON_PYTABLEREADER_LICENSE_FILES = LICENSE diff --git a/package/python-pytablewriter/Config.in b/package/python-pytablewriter/Config.in index 1ef27be18a..10672dc467 100644 --- a/package/python-pytablewriter/Config.in +++ b/package/python-pytablewriter/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_PYTHON_PYTABLEWRITER select BR2_PACKAGE_PYTHON_PYTABLEREADER # runtime select BR2_PACKAGE_PYTHON_SIMPLESQLITE # runtime select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_TABLEDATA # runtime select BR2_PACKAGE_PYTHON_TOML # runtime select BR2_PACKAGE_PYTHON_TYPEPY # runtime select BR2_PACKAGE_PYTHON_XLSXWRITER # runtime diff --git a/package/python-pytablewriter/python-pytablewriter.hash b/package/python-pytablewriter/python-pytablewriter.hash index abe5ad0d4e..36e1453920 100644 --- a/package/python-pytablewriter/python-pytablewriter.hash +++ b/package/python-pytablewriter/python-pytablewriter.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/pytablewriter/json, sha256 locally computed -md5 f7655aaf8d3b2496e08a36bce4c38b91 pytablewriter-0.24.0.tar.gz -sha256 94741a1837502fb8172bf6b2f4410a42804efaeffdf34660c375ed0a9424df4e pytablewriter-0.24.0.tar.gz +md5 7d7eff9665b1d9e0c0189c34f8c562c3 pytablewriter-0.27.1.tar.gz +sha256 89e43bffc60ea93f0ed0cc8d8ddbf34ac0b74f8cf781c6c39f4c8bc3a7e4c436 pytablewriter-0.27.1.tar.gz +sha256 a93d75bcb0774e2990106380cadad6dcb2de193c55d435ffc56ba345a08b1dc2 LICENSE diff --git a/package/python-pytablewriter/python-pytablewriter.mk b/package/python-pytablewriter/python-pytablewriter.mk index ac1480c003..dd87213e2c 100644 --- a/package/python-pytablewriter/python-pytablewriter.mk +++ b/package/python-pytablewriter/python-pytablewriter.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTABLEWRITER_VERSION = 0.24.0 +PYTHON_PYTABLEWRITER_VERSION = 0.27.1 PYTHON_PYTABLEWRITER_SOURCE = pytablewriter-$(PYTHON_PYTABLEWRITER_VERSION).tar.gz -PYTHON_PYTABLEWRITER_SITE = https://pypi.python.org/packages/65/b0/efafdd9e4d5b08069371530e46acde684ac7fb18bffa09b635e2af091d82 +PYTHON_PYTABLEWRITER_SITE = https://pypi.python.org/packages/c2/88/6a9f6cbdabd773ba6de6c41d7a0af58eed37ca97b1d666b04819d0bf9b54 PYTHON_PYTABLEWRITER_SETUP_TYPE = setuptools PYTHON_PYTABLEWRITER_LICENSE = MIT PYTHON_PYTABLEWRITER_LICENSE_FILES = LICENSE diff --git a/package/python-pytrie/python-pytrie.mk b/package/python-pytrie/python-pytrie.mk index b651352cad..0fe78fdb17 100644 --- a/package/python-pytrie/python-pytrie.mk +++ b/package/python-pytrie/python-pytrie.mk @@ -5,7 +5,7 @@ ################################################################################ PYTHON_PYTRIE_VERSION = 0.2 -PYTHON_PYTRIE_SITE = http://pypi.python.org/packages/source/P/PyTrie +PYTHON_PYTRIE_SITE = https://pypi.python.org/packages/source/P/PyTrie PYTHON_PYTRIE_SOURCE = PyTrie-$(PYTHON_PYTRIE_VERSION).tar.gz PYTHON_PYTRIE_LICENSE = BSD-3-Clause PYTHON_PYTRIE_LICENSE_FILES = LICENSE diff --git a/package/python-pytz/python-pytz.hash b/package/python-pytz/python-pytz.hash index fbccc52bce..dd3ff2c2ad 100644 --- a/package/python-pytz/python-pytz.hash +++ b/package/python-pytz/python-pytz.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/pytz/json, sha256 locally computed -md5 88b1d6c50c764579292edce3493c8a3a pytz-2016.10.tar.bz2 -sha256 7016b2c4fa075c564b81c37a252a5fccf60d8964aa31b7f5eae59aeb594ae02b pytz-2016.10.tar.bz2 +md5 7006b56c0d68a162d9fe57d4249c3171 pytz-2017.3.zip +sha256 fae4cffc040921b8a2d60c6cf0b5d662c1190fe54d718271db4eb17d44a185b7 pytz-2017.3.zip +sha256 a1c7102a51ef9ed37766f7388c71fd41bae2a7a95c30673c419ab84e1acc5f02 LICENSE.txt diff --git a/package/python-pytz/python-pytz.mk b/package/python-pytz/python-pytz.mk index 9a8bd07e0f..6e130a6b2f 100644 --- a/package/python-pytz/python-pytz.mk +++ b/package/python-pytz/python-pytz.mk @@ -4,11 +4,17 @@ # ################################################################################ -PYTHON_PYTZ_VERSION = 2016.10 -PYTHON_PYTZ_SOURCE = pytz-$(PYTHON_PYTZ_VERSION).tar.bz2 -PYTHON_PYTZ_SITE = https://pypi.python.org/packages/d0/e1/aca6ef73a7bd322a7fc73fd99631ee3454d4fc67dc2bee463e2adf6bb3d3 +PYTHON_PYTZ_VERSION = 2017.3 +PYTHON_PYTZ_SOURCE = pytz-$(PYTHON_PYTZ_VERSION).zip +PYTHON_PYTZ_SITE = https://pypi.python.org/packages/60/88/d3152c234da4b2a1f7a989f89609ea488225eaea015bc16fbde2b3fdfefa PYTHON_PYTZ_SETUP_TYPE = setuptools PYTHON_PYTZ_LICENSE = MIT PYTHON_PYTZ_LICENSE_FILES = LICENSE.txt +define PYTHON_PYTZ_EXTRACT_CMDS + unzip $(DL_DIR)/$(PYTHON_PYTZ_SOURCE) -d $(@D) + mv $(@D)/pytz-$(PYTHON_PYTZ_VERSION)/* $(@D) + rmdir $(@D)/pytz-$(PYTHON_PYTZ_VERSION) +endef + $(eval $(python-package)) diff --git a/package/python-pyudev/Config.in b/package/python-pyudev/Config.in index 137a983ae7..fb853956e8 100644 --- a/package/python-pyudev/Config.in +++ b/package/python-pyudev/Config.in @@ -5,8 +5,9 @@ config BR2_PACKAGE_PYTHON_PYUDEV select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime select BR2_PACKAGE_PYTHON_SIX # runtime help - pyudev is a LGPL licenced, pure Python 2/3 binding to libudev, - the device and hardware management and information library of Linux. + pyudev is a LGPL licenced, pure Python 2/3 binding to + libudev, the device and hardware management and information + library of Linux. https://github.com/pyudev/pyudev diff --git a/package/python-pyxb/Config.in b/package/python-pyxb/Config.in index f1226717ab..6555ed80b6 100644 --- a/package/python-pyxb/Config.in +++ b/package/python-pyxb/Config.in @@ -1,7 +1,8 @@ config BR2_PACKAGE_PYTHON_PYXB bool "python-pyxb" help - PyXB is a pure Python package that generates Python code - for classes that correspond to data structures defined by XMLSchema. + PyXB is a pure Python package that generates Python code for + classes that correspond to data structures defined by + XMLSchema. http://pyxb.sourceforge.net/ diff --git a/package/python-raven/Config.in b/package/python-raven/Config.in new file mode 100644 index 0000000000..0d4b26c054 --- /dev/null +++ b/package/python-raven/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_PYTHON_RAVEN + bool "python-raven" + select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_UNICODEDATA if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON3_UNICODEDATA if BR2_PACKAGE_PYTHON3 + help + Raven is a client for Sentry (https://getsentry.com). + + https://github.com/getsentry/raven-python diff --git a/package/python-raven/python-raven.hash b/package/python-raven/python-raven.hash new file mode 100644 index 0000000000..66452a7fc1 --- /dev/null +++ b/package/python-raven/python-raven.hash @@ -0,0 +1,5 @@ +# md5 from https://pypi.python.org/pypi/raven/json, sha256 locally computed +md5 4471e9e881da64f057ee7740345a6b27 raven-6.5.0.tar.gz +sha256 84da75114739191bdf2388f296ffd6177e83567a7fbaf2701e034ad6026e4f3b raven-6.5.0.tar.gz +# License file, locally calculated +sha256 5ce9459bc19ced99cc9eb135d4f559ed01e336354bdf16dd998be85aa688c233 LICENSE diff --git a/package/python-raven/python-raven.mk b/package/python-raven/python-raven.mk new file mode 100644 index 0000000000..4a4cdee353 --- /dev/null +++ b/package/python-raven/python-raven.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-raven +# +################################################################################ + +PYTHON_RAVEN_VERSION = 6.5.0 +PYTHON_RAVEN_SOURCE = raven-$(PYTHON_RAVEN_VERSION).tar.gz +PYTHON_RAVEN_SITE = https://pypi.python.org/packages/e0/26/1bdd4431f59ff92fee7f2378b7d54eb175eb69f68c40c6c9b15161f6774f +PYTHON_RAVEN_SETUP_TYPE = setuptools +PYTHON_RAVEN_LICENSE = BSD-3-Clause +PYTHON_RAVEN_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-remi/Config.in b/package/python-remi/Config.in new file mode 100644 index 0000000000..553c89c343 --- /dev/null +++ b/package/python-remi/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_REMI + bool "python-remi" + help + Remi is a GUI library for Python applications which transpiles + an application's interface into HTML to be rendered in a web + browser. This removes platform-specific dependencies and lets + you easily develop cross-platform applications in Python! + + https://github.com/dddomodossola/remi/tree/master diff --git a/package/python-remi/python-remi.hash b/package/python-remi/python-remi.hash new file mode 100644 index 0000000000..e3df6cbb03 --- /dev/null +++ b/package/python-remi/python-remi.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 69ab3f7438de76708bfc40396f791b76452f84bb8bca6dafbdaca510c17e9526 python-remi-v1.0.tar.gz +sha256 bc198f9846c1da3a1c1b1fa2b12909b021365d1e7fe9b4039245edfcec3b7f7f LICENSE diff --git a/package/python-remi/python-remi.mk b/package/python-remi/python-remi.mk new file mode 100644 index 0000000000..3356430ddb --- /dev/null +++ b/package/python-remi/python-remi.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-remi +# +################################################################################ + +PYTHON_REMI_VERSION = v1.0 +PYTHON_REMI_SITE = $(call github,dddomodossola,remi,$(PYTHON_REMI_VERSION)) +PYTHON_REMI_LICENSE = Apache-2.0 +PYTHON_REMI_LICENSE_FILES = LICENSE +PYTHON_REMI_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-requests-oauthlib/Config.in b/package/python-requests-oauthlib/Config.in new file mode 100644 index 0000000000..85283b209c --- /dev/null +++ b/package/python-requests-oauthlib/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_REQUESTS_OAUTHLIB + bool "python-requests-oauthlib" + select BR2_PACKAGE_PYTHON_OAUTHLIB # runtime + select BR2_PACKAGE_PYTHON_REQUESTS # runtime + help + OAuthlib authentication support for Requests. + + https://github.com/requests/requests-oauthlib diff --git a/package/python-requests-oauthlib/python-requests-oauthlib.hash b/package/python-requests-oauthlib/python-requests-oauthlib.hash new file mode 100644 index 0000000000..be0f644b80 --- /dev/null +++ b/package/python-requests-oauthlib/python-requests-oauthlib.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/requests_oauthlib/json, sha256 locally computed +md5 4358a879a4377393bcfd37d0f9ae6d4d requests-oauthlib-0.8.0.tar.gz +sha256 883ac416757eada6d3d07054ec7092ac21c7f35cb1d2cf82faf205637081f468 requests-oauthlib-0.8.0.tar.gz +sha256 ae01846afad8a8291fe6a08966f3015af9a8ff675d84b981f9793c122f7876e8 LICENSE diff --git a/package/python-requests-oauthlib/python-requests-oauthlib.mk b/package/python-requests-oauthlib/python-requests-oauthlib.mk new file mode 100644 index 0000000000..02e3114e59 --- /dev/null +++ b/package/python-requests-oauthlib/python-requests-oauthlib.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-requests-oauthlib +# +################################################################################ + +PYTHON_REQUESTS_OAUTHLIB_VERSION = 0.8.0 +PYTHON_REQUESTS_OAUTHLIB_SOURCE = requests-oauthlib-$(PYTHON_REQUESTS_OAUTHLIB_VERSION).tar.gz +PYTHON_REQUESTS_OAUTHLIB_SITE = https://pypi.python.org/packages/80/14/ad120c720f86c547ba8988010d5186102030591f71f7099f23921ca47fe5 +PYTHON_REQUESTS_OAUTHLIB_SETUP_TYPE = setuptools +PYTHON_REQUESTS_OAUTHLIB_LICENSE = ISC +PYTHON_REQUESTS_OAUTHLIB_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-requests/Config.in b/package/python-requests/Config.in index d2726fb26a..30158b8d25 100644 --- a/package/python-requests/Config.in +++ b/package/python-requests/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_PYTHON_REQUESTS select BR2_PACKAGE_PYTHON_CHARDET # runtime select BR2_PACKAGE_PYTHON_IDNA # runtime select BR2_PACKAGE_PYTHON_URLLIB3 # runtime + select BR2_PACKAGE_PYTHON_HASHLIB if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime diff --git a/package/python-schedule/Config.in b/package/python-schedule/Config.in new file mode 100644 index 0000000000..d00c245948 --- /dev/null +++ b/package/python-schedule/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_SCHEDULE + bool "python-schedule" + help + Job scheduling for humans. + + https://github.com/dbader/schedule diff --git a/package/python-schedule/python-schedule.hash b/package/python-schedule/python-schedule.hash new file mode 100644 index 0000000000..2b2f0489e8 --- /dev/null +++ b/package/python-schedule/python-schedule.hash @@ -0,0 +1,5 @@ +# md5 from https://pypi.python.org/pypi/schedule/json, sha256 locally computed +md5 ab135a73458547d2b836beddd168528b schedule-0.4.3.tar.gz +sha256 31a160546a17838842199c792ba267575cf41339ca730aaf060567b798f4f46e schedule-0.4.3.tar.gz +# License file, locally calculated +sha256 30a8352c318ce1b645acde0299697342d4380ed2637d7ca18a8ad25661e3b41b LICENSE.txt diff --git a/package/python-schedule/python-schedule.mk b/package/python-schedule/python-schedule.mk new file mode 100644 index 0000000000..26a3f5bce1 --- /dev/null +++ b/package/python-schedule/python-schedule.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-schedule +# +################################################################################ + +PYTHON_SCHEDULE_VERSION = 0.4.3 +PYTHON_SCHEDULE_SOURCE = schedule-$(PYTHON_SCHEDULE_VERSION).tar.gz +PYTHON_SCHEDULE_SITE = https://pypi.python.org/packages/ee/68/ba6b0bb69b2be13b32983971bca6c5adf22df6321945232e1419bc34a82f +PYTHON_SCHEDULE_SETUP_TYPE = setuptools +PYTHON_SCHEDULE_LICENSE = MIT +PYTHON_SCHEDULE_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-secretstorage/Config.in b/package/python-secretstorage/Config.in new file mode 100644 index 0000000000..87aaf6a728 --- /dev/null +++ b/package/python-secretstorage/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_SECRETSTORAGE + bool "python-secretstorage" + depends on BR2_INSTALL_LIBSTDCPP # python-cryptography + select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime + help + Python bindings to FreeDesktop.org Secret Service API. + + https://github.com/mitya57/secretstorage + +comment "python-secretstorage needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-secretstorage/python-secretstorage.hash b/package/python-secretstorage/python-secretstorage.hash new file mode 100644 index 0000000000..b45fb5719a --- /dev/null +++ b/package/python-secretstorage/python-secretstorage.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/secretstorage/json, sha256 locally computed +md5 3b9465831b069e2622973afb7deb7bc2 SecretStorage-2.3.1.tar.gz +sha256 3af65c87765323e6f64c83575b05393f9e003431959c9395d1791d51497f29b6 SecretStorage-2.3.1.tar.gz +sha256 1debb9ff5d6759fd23cdb40e3ba34b1fa68dd0b19672b6d154599fb0ab704c57 LICENSE diff --git a/package/python-secretstorage/python-secretstorage.mk b/package/python-secretstorage/python-secretstorage.mk new file mode 100644 index 0000000000..b9776d6644 --- /dev/null +++ b/package/python-secretstorage/python-secretstorage.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-secretstorage +# +################################################################################ + +PYTHON_SECRETSTORAGE_VERSION = 2.3.1 +PYTHON_SECRETSTORAGE_SOURCE = SecretStorage-$(PYTHON_SECRETSTORAGE_VERSION).tar.gz +PYTHON_SECRETSTORAGE_SITE = https://pypi.python.org/packages/a5/a5/0830cfe34a4cfd0d1c3c8b614ede1edb2aaf999091ac8548dd19cb352e79 +PYTHON_SECRETSTORAGE_SETUP_TYPE = setuptools +PYTHON_SECRETSTORAGE_LICENSE = BSD-3-Clause +PYTHON_SECRETSTORAGE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-see/Config.in b/package/python-see/Config.in new file mode 100644 index 0000000000..f3049fd8e7 --- /dev/null +++ b/package/python-see/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_SEE + bool "python-see" + help + dir for humans. + + https://ljcooke.github.io/see/ diff --git a/package/python-see/python-see.hash b/package/python-see/python-see.hash new file mode 100644 index 0000000000..c48ee88b8b --- /dev/null +++ b/package/python-see/python-see.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/see/json, sha256 locally computed +md5 cb3bf4d314f73a8f7a2fd3d2d99aab54 see-1.4.1.tar.gz +sha256 14f8f8a88a909a7d7dea81f0016e3fdfabd3b5d335992e102a382e1a71672bd1 see-1.4.1.tar.gz +sha256 dccbd040a7deacee7f05e5e46a8eba6e786ac319f0cb94c36f92d789585911a6 LICENSE diff --git a/package/python-see/python-see.mk b/package/python-see/python-see.mk new file mode 100644 index 0000000000..982962beb3 --- /dev/null +++ b/package/python-see/python-see.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-see +# +################################################################################ + +PYTHON_SEE_VERSION = 1.4.1 +PYTHON_SEE_SOURCE = see-$(PYTHON_SEE_VERSION).tar.gz +PYTHON_SEE_SITE = https://pypi.python.org/packages/ff/fc/fcabb6a9bfe7c56798285839780cae67342256b823b97e94d862b0ba21d6 +PYTHON_SEE_SETUP_TYPE = setuptools +PYTHON_SEE_LICENSE = BSD-3-Clause +PYTHON_SEE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-setuptools/Config.in b/package/python-setuptools/Config.in index c72c59fbc8..f203d0f814 100644 --- a/package/python-setuptools/Config.in +++ b/package/python-setuptools/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_PYTHON_SETUPTOOLS select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime help - Download, build, install, upgrade, and uninstall Python packages. + Download, build, install, upgrade, and uninstall Python + packages. http://pypi.python.org/pypi/setuptools diff --git a/package/python-setuptools/python-setuptools.hash b/package/python-setuptools/python-setuptools.hash index de6ad56d44..f116a69f74 100644 --- a/package/python-setuptools/python-setuptools.hash +++ b/package/python-setuptools/python-setuptools.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 99339ac1b4c9bc0a74745d6ff196a207ddfb5f7ca75df76f3d8d081a7f70cecc python-setuptools-v36.0.1.tar.gz +sha256 2599b4c452e77824bbd6da28d16b1fe8159c7a4c203d8d419d8b348fde7b9549 python-setuptools-v38.4.0.tar.gz +sha256 c32a3ac395af6321efd28be73d06a00f0db6ab887d1c21d4fec46128d2056d5a LICENSE diff --git a/package/python-setuptools/python-setuptools.mk b/package/python-setuptools/python-setuptools.mk index 28d4f29b5b..004fc0db2a 100644 --- a/package/python-setuptools/python-setuptools.mk +++ b/package/python-setuptools/python-setuptools.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_SETUPTOOLS_VERSION = v36.0.1 +PYTHON_SETUPTOOLS_VERSION = v38.4.0 PYTHON_SETUPTOOLS_SITE = $(call github,pypa,setuptools,$(PYTHON_SETUPTOOLS_VERSION)) PYTHON_SETUPTOOLS_LICENSE = MIT PYTHON_SETUPTOOLS_LICENSE_FILES = LICENSE diff --git a/package/python-shutilwhich/Config.in b/package/python-shutilwhich/Config.in index abdc8d77a1..a75a63bbf4 100644 --- a/package/python-shutilwhich/Config.in +++ b/package/python-shutilwhich/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_SHUTILWHICH bool "python-shutilwhich" - depends on BR2_PACKAGE_PYTHON help shutil.which for those not using Python 3.3 yet. diff --git a/package/python-shutilwhich/python-shutilwhich.mk b/package/python-shutilwhich/python-shutilwhich.mk index 31a7ea96fa..0cf968a4af 100644 --- a/package/python-shutilwhich/python-shutilwhich.mk +++ b/package/python-shutilwhich/python-shutilwhich.mk @@ -6,7 +6,7 @@ PYTHON_SHUTILWHICH_VERSION = 1.1.0 PYTHON_SHUTILWHICH_SOURCE = shutilwhich-$(PYTHON_SHUTILWHICH_VERSION).tar.gz -PYTHON_SHUTILWHICH_SITE = http://pypi.python.org/packages/source/s/shutilwhich +PYTHON_SHUTILWHICH_SITE = https://pypi.python.org/packages/source/s/shutilwhich PYTHON_SHUTILWHICH_LICENSE = Python-2.0 PYTHON_SHUTILWHICH_SETUP_TYPE = setuptools diff --git a/package/python-simpleaudio/Config.in b/package/python-simpleaudio/Config.in index a3e07f9e2f..c6fcd8b07a 100644 --- a/package/python-simpleaudio/Config.in +++ b/package/python-simpleaudio/Config.in @@ -4,8 +4,9 @@ config BR2_PACKAGE_PYTHON_SIMPLEAUDIO depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib select BR2_PACKAGE_ALSA_LIB help - The simplaudio package provides cross-platform, dependency-free - audio playback capability for Python 3 on OSX, Windows, and Linux. + The simplaudio package provides cross-platform, + dependency-free audio playback capability for Python 3 on + OSX, Windows, and Linux. https://github.com/hamiltron/py-simple-audio diff --git a/package/python-tabledata/Config.in b/package/python-tabledata/Config.in new file mode 100644 index 0000000000..9e8ca9c31d --- /dev/null +++ b/package/python-tabledata/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_PYTHON_TABLEDATA + bool "python-tabledata" + select BR2_PACKAGE_PYTHON_DATAPROPERTY # runtime + select BR2_PACKAGE_PYTHON_LOGBOOK # runtime + select BR2_PACKAGE_PYTHON_PATHVALIDATE # runtime + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime + select BR2_PACKAGE_PYTHON_TYPEPY # runtime + help + A Python library to represent tabular data for + pytablewriter/pytablereader/SimpleSQLite. + + https://github.com/thombashi/tabledata diff --git a/package/python-tabledata/python-tabledata.hash b/package/python-tabledata/python-tabledata.hash new file mode 100644 index 0000000000..efc6d6a826 --- /dev/null +++ b/package/python-tabledata/python-tabledata.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/tabledata/json, sha256 locally computed +md5 4ff69d8855a835890944591721d0c129 tabledata-0.0.5.tar.gz +sha256 e16490e4c15f06ee258015431ec247a5b301aec4ebca3297cf6451efb9eb3cfb tabledata-0.0.5.tar.gz +sha256 cbce2ac14dd81b6a1155029034512a304505692cc63b625538916cf93bee8ca2 LICENSE diff --git a/package/python-tabledata/python-tabledata.mk b/package/python-tabledata/python-tabledata.mk new file mode 100644 index 0000000000..1305909374 --- /dev/null +++ b/package/python-tabledata/python-tabledata.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# python-tabledata +# +################################################################################ + +PYTHON_TABLEDATA_VERSION = 0.0.5 +PYTHON_TABLEDATA_SOURCE = tabledata-$(PYTHON_TABLEDATA_VERSION).tar.gz +PYTHON_TABLEDATA_SITE = https://pypi.python.org/packages/9d/03/2e96d18f2bd4b76611fc6aa3881c7e15c857eea99debea9b80ec689354ba +PYTHON_TABLEDATA_SETUP_TYPE = setuptools +PYTHON_TABLEDATA_LICENSE = MIT +PYTHON_TABLEDATA_LICENSE_FILES = LICENSE + +# remove setup.cfg as it tries to create a wheel file and hence +# breaks the build process +define PYTHON_TABLEDATA_REMOVE_SETUP_CFG + rm $(@D)/setup.cfg +endef +PYTHON_TABLEDATA_POST_EXTRACT_HOOKS = PYTHON_TABLEDATA_REMOVE_SETUP_CFG + +$(eval $(python-package)) diff --git a/package/python-thrift/Config.in b/package/python-thrift/Config.in index 94a75900fe..20d94d0c6e 100644 --- a/package/python-thrift/Config.in +++ b/package/python-thrift/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_PYTHON_THRIFT bool "python-thrift" depends on BR2_PACKAGE_PYTHON help - python-thrift is a Python bindings for the Apache Thrift RPC system. + python-thrift is a Python bindings for the Apache Thrift RPC + system. http://thrift.apache.org/ diff --git a/package/python-treq/Config.in b/package/python-treq/Config.in index 2047cc0dc7..3a121ea71a 100644 --- a/package/python-treq/Config.in +++ b/package/python-treq/Config.in @@ -1,14 +1,16 @@ config BR2_PACKAGE_PYTHON_TREQ bool "python-treq" depends on BR2_INSTALL_LIBSTDCPP # python-pyopenssl + select BR2_PACKAGE_PYTHON_ATTRS # runtime + select BR2_PACKAGE_PYTHON_IDNA # runtime + select BR2_PACKAGE_PYTHON_PYOPENSSL # runtime select BR2_PACKAGE_PYTHON_REQUESTS # runtime select BR2_PACKAGE_PYTHON_SERVICE_IDENTITY # runtime select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_TWISTED # runtime - select BR2_PACKAGE_PYTHON_PYOPENSSL # runtime help treq is an HTTP library inspired by requests but written on - top of Twisted's Agents. It provides a simple, higher level + top of Twisted's Agents. It provides a simple, higher level API for making HTTP requests when using Twisted. https://github.com/twisted/treq diff --git a/package/python-treq/python-treq.hash b/package/python-treq/python-treq.hash index a961b809ae..14f39460fa 100644 --- a/package/python-treq/python-treq.hash +++ b/package/python-treq/python-treq.hash @@ -1,3 +1,4 @@ # md5 from https://pypi.python.org/pypi/treq/json, sha256 locally computed -md5 421dea5bc8294c14aa24d64628a2eaea treq-16.12.0.tar.gz -sha256 b008edc81157969ad2bf23bece083adedb0adf249368a3896bb5ac9a871b91a9 treq-16.12.0.tar.gz +md5 7e1f5079b85ec104d4759fc0fb89071e treq-17.8.0.tar.gz +sha256 ef72d2d5e0b24bdf29267b608fa33df0ac401743af8524438b073e1fb2b66f16 treq-17.8.0.tar.gz +sha256 7cc1b65e1937b1cc07052bb864ec96d8e5fd413400c0842e5b89a8201a600293 LICENSE diff --git a/package/python-treq/python-treq.mk b/package/python-treq/python-treq.mk index 051b8ffaaf..73c47152a8 100644 --- a/package/python-treq/python-treq.mk +++ b/package/python-treq/python-treq.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TREQ_VERSION = 16.12.0 +PYTHON_TREQ_VERSION = 17.8.0 PYTHON_TREQ_SOURCE = treq-$(PYTHON_TREQ_VERSION).tar.gz -PYTHON_TREQ_SITE = https://pypi.python.org/packages/26/4b/303880fb5bab1111654df2df0f201f4ba038221bdc52f5a395f0abfc0cb1 +PYTHON_TREQ_SITE = https://pypi.python.org/packages/11/3e/1014f26bfd4d07db015ad48384446b3bdc4de4bbdd2eba3be7fbb149cc44 PYTHON_TREQ_LICENSE = MIT PYTHON_TREQ_LICENSE_FILES = LICENSE PYTHON_TREQ_SETUP_TYPE = setuptools diff --git a/package/python-twisted/Config.in b/package/python-twisted/Config.in index 6b1a4fc2c0..344edb4a0a 100644 --- a/package/python-twisted/Config.in +++ b/package/python-twisted/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_PYTHON_TWISTED select BR2_PACKAGE_PYTHON_HYPERLINK # runtime select BR2_PACKAGE_PYTHON_ZOPE_INTERFACE # runtime help - Twisted is an event-driven networking engine written in Python. + Twisted is an event-driven networking engine written in + Python. https://twistedmatrix.com/trac/ diff --git a/package/python-txaio/python-txaio.hash b/package/python-txaio/python-txaio.hash index f19014c5bb..6fb8e78ce2 100644 --- a/package/python-txaio/python-txaio.hash +++ b/package/python-txaio/python-txaio.hash @@ -1,3 +1,4 @@ -# md5 from https://pypi.python.org/pypi/txaio/json, sha256 locally computed. -md5 643ac20b895b878786cd6a46790367d0 txaio-2.8.0.tar.gz -sha256 8029d956591107ff9a2221d2a288fdd3718713a6991f59b97359d3d4f4b7b564 txaio-2.8.0.tar.gz +# md5 from https://pypi.python.org/pypi/txaio/json, sha256 locally computed +md5 a20e3431c95896a49fa3ffa84f77cde1 txaio-2.8.2.tar.gz +sha256 484cd6c4cdd3f6081b87188f3b2b9a36e02fba6816e8256917c4f6571b567571 txaio-2.8.2.tar.gz +sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE diff --git a/package/python-txaio/python-txaio.mk b/package/python-txaio/python-txaio.mk index e0f5e28918..5e4d710135 100644 --- a/package/python-txaio/python-txaio.mk +++ b/package/python-txaio/python-txaio.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TXAIO_VERSION = 2.8.0 +PYTHON_TXAIO_VERSION = 2.8.2 PYTHON_TXAIO_SOURCE = txaio-$(PYTHON_TXAIO_VERSION).tar.gz -PYTHON_TXAIO_SITE = https://pypi.python.org/packages/03/86/2cb7ae81209cc3fc64f68a31d70c20ab4771b520d7e13a5219b1f5e16ee1 +PYTHON_TXAIO_SITE = https://pypi.python.org/packages/d6/95/d0c67304515f352342bc8fd14e5a3e7ca924134608acb730916073b18464 PYTHON_TXAIO_LICENSE = MIT PYTHON_TXAIO_LICENSE_FILES = LICENSE PYTHON_TXAIO_SETUP_TYPE = setuptools diff --git a/package/python-txtorcon/Config.in b/package/python-txtorcon/Config.in new file mode 100644 index 0000000000..4f91e7b048 --- /dev/null +++ b/package/python-txtorcon/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_PYTHON_TXTORCON + bool "python-txtorcon" + depends on BR2_INSTALL_LIBSTDCPP # python-pyopenssl, python-service-identity + select BR2_PACKAGE_PYTHON_AUTOMAT # runtime + select BR2_PACKAGE_PYTHON_IDNA # runtime + select BR2_PACKAGE_PYTHON_INCREMENTAL # runtime + select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_PYOPENSSL # runtime + select BR2_PACKAGE_PYTHON_SERVICE_IDENTITY # runtime + select BR2_PACKAGE_PYTHON_TWISTED # runtime + select BR2_PACKAGE_PYTHON_ZOPE_INTERFACE # runtime + help + Twisted-based Tor controller client, with state-tracking and + configuration abstractions. + + https://github.com/meejah/txtorcon + +comment "python-txtorcon needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-txtorcon/python-txtorcon.hash b/package/python-txtorcon/python-txtorcon.hash new file mode 100644 index 0000000000..71a2ec508f --- /dev/null +++ b/package/python-txtorcon/python-txtorcon.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/txtorcon/json, sha256 locally computed +md5 4d7380fa7e721c77cac103d971882374 txtorcon-0.19.3.tar.gz +sha256 f73396667909a3c7a98f4dd865edf4ed6a2518ee5a935d92e18b8a479ec244fd txtorcon-0.19.3.tar.gz +sha256 3ada1c32ef38c23d96d7f4e8f4a226c527f51e0202883c7543b06f9cc5228a2b LICENSE diff --git a/package/python-txtorcon/python-txtorcon.mk b/package/python-txtorcon/python-txtorcon.mk new file mode 100644 index 0000000000..f75f50438e --- /dev/null +++ b/package/python-txtorcon/python-txtorcon.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-txtorcon +# +################################################################################ + +PYTHON_TXTORCON_VERSION = 0.19.3 +PYTHON_TXTORCON_SOURCE = txtorcon-$(PYTHON_TXTORCON_VERSION).tar.gz +PYTHON_TXTORCON_SITE = https://pypi.python.org/packages/05/4b/d2fbfdc08ab83c299f2ad22ba38ea35f71f1c966684f5754e079108a1f64 +PYTHON_TXTORCON_SETUP_TYPE = setuptools +PYTHON_TXTORCON_LICENSE = MIT +PYTHON_TXTORCON_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-typepy/Config.in b/package/python-typepy/Config.in index 866a067953..6079857070 100644 --- a/package/python-typepy/Config.in +++ b/package/python-typepy/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_PYTHON_TYPEPY select BR2_PACKAGE_PYTHON_PYTZ # runtime select BR2_PACKAGE_PYTHON_SIX # runtime help - A Python library for variable type checker/validator/converter at a - run time. + A Python library for variable type + checker/validator/converter at a run time. https://github.com/thombashi/typepy diff --git a/package/python-u-msgpack/Config.in b/package/python-u-msgpack/Config.in index ad0f90e8d2..e0031649a3 100644 --- a/package/python-u-msgpack/Config.in +++ b/package/python-u-msgpack/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PYTHON_U_MSGPACK bool "python-u-msgpack" help - A portable, lightweight MessagePack serializer and deserializer - written in pure Python. + A portable, lightweight MessagePack serializer and + deserializer written in pure Python. https://github.com/vsergeev/u-msgpack-python diff --git a/package/python-ujson/python-ujson.mk b/package/python-ujson/python-ujson.mk index 0a2184e9c3..60a4ecf841 100644 --- a/package/python-ujson/python-ujson.mk +++ b/package/python-ujson/python-ujson.mk @@ -6,7 +6,7 @@ PYTHON_UJSON_VERSION = 1.35 PYTHON_UJSON_SOURCE = ujson-$(PYTHON_UJSON_VERSION).tar.gz -PYTHON_UJSON_SITE = http://pypi.python.org/packages/source/u/ujson +PYTHON_UJSON_SITE = https://pypi.python.org/packages/source/u/ujson PYTHON_UJSON_LICENSE = BSD-3-Clause PYTHON_UJSON_SETUP_TYPE = setuptools diff --git a/package/python-versiontools/python-versiontools.mk b/package/python-versiontools/python-versiontools.mk index fbf104023e..b99ddecb8f 100644 --- a/package/python-versiontools/python-versiontools.mk +++ b/package/python-versiontools/python-versiontools.mk @@ -6,7 +6,7 @@ PYTHON_VERSIONTOOLS_VERSION = 1.9.1 PYTHON_VERSIONTOOLS_SOURCE = versiontools-$(PYTHON_VERSIONTOOLS_VERSION).tar.gz -PYTHON_VERSIONTOOLS_SITE = http://pypi.python.org/packages/source/v/versiontools +PYTHON_VERSIONTOOLS_SITE = https://pypi.python.org/packages/source/v/versiontools PYTHON_VERSIONTOOLS_SETUP_TYPE = setuptools PYTHON_VERSIONTOOLS_LICENSE = LGPL-3.0 diff --git a/package/python-watchdog/0001-Add-a-workaround-to-support-uClibc-library.patch b/package/python-watchdog/0001-Add-a-workaround-to-support-uClibc-library.patch new file mode 100644 index 0000000000..c21e6cd089 --- /dev/null +++ b/package/python-watchdog/0001-Add-a-workaround-to-support-uClibc-library.patch @@ -0,0 +1,43 @@ +From c3b3c4581b25d7e62f5c2ce1484133229d5e657a Mon Sep 17 00:00:00 2001 +From: Yegor Yefremov +Date: Fri, 16 Feb 2018 13:26:23 +0100 +Subject: [PATCH] Add a workaround to support uClibc library + +uClibc based systems provide only libc.so.0 and libc.so.1 +symlinks. + +So try to find libc.so.0 if neither libc.so nor libc.so.6 +could be found. + +Signed-off-by: Yegor Yefremov +--- + src/watchdog/observers/inotify_c.py | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/watchdog/observers/inotify_c.py b/src/watchdog/observers/inotify_c.py +index 5f208b6..0dc7b50 100644 +--- a/src/watchdog/observers/inotify_c.py ++++ b/src/watchdog/observers/inotify_c.py +@@ -45,7 +45,19 @@ def _load_libc(): + try: + return ctypes.CDLL('libc.so') + except (OSError, IOError): ++ pass ++ ++ try: + return ctypes.CDLL('libc.so.6') ++ except (OSError, IOError): ++ pass ++ ++ # uClibc ++ try: ++ return ctypes.CDLL('libc.so.0') ++ except (OSError, IOError) as err: ++ raise err ++ + + libc = _load_libc() + +-- +2.1.4 + diff --git a/package/python-watchdog/Config.in b/package/python-watchdog/Config.in index e5290897e8..18f569ee44 100644 --- a/package/python-watchdog/Config.in +++ b/package/python-watchdog/Config.in @@ -1,8 +1,9 @@ config BR2_PACKAGE_PYTHON_WATCHDOG bool "python-watchdog" - select BR2_PACKAGE_PYTHON_PYYAML - select BR2_PACKAGE_PYTHON_ARGH - select BR2_PACKAGE_PYTHON_PATHTOOLS + select BR2_PACKAGE_PYTHON_ARGH # runtime + select BR2_PACKAGE_PYTHON_PATHTOOLS # runtime + select BR2_PACKAGE_PYTHON_PYYAML # runtime + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime help Python API and shell utilities to monitor file system events. diff --git a/package/python-webpy/Config.in b/package/python-webpy/Config.in index e9a51217fa..5f4df7832b 100644 --- a/package/python-webpy/Config.in +++ b/package/python-webpy/Config.in @@ -1,8 +1,9 @@ config BR2_PACKAGE_PYTHON_WEBPY bool "python-webpy" depends on BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_HASHLIB help - web.py is a web framework for Python that is as simple as it is - powerful. + web.py is a web framework for Python that is as simple as it + is powerful. http://webpy.org/ diff --git a/package/python-webpy/python-webpy.hash b/package/python-webpy/python-webpy.hash index 0e0a8d0fb8..70981e0cb4 100644 --- a/package/python-webpy/python-webpy.hash +++ b/package/python-webpy/python-webpy.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 c3cb8930739294103b1ad109e5fd1d0efae67c06d5b6d59fce5b5a2ee6b21624 python-webpy-webpy-0.37.tar.gz +sha256 f074241a0b839408a0b9840ade1198e16fbd6aa6393a48a0e84f73b545baab9a python-webpy-webpy-0.39.tar.gz +sha256 3826fd531a9b904841f5e3560fcda7e93f2ab8d11ef124ec65e10625efa26c34 LICENSE.txt +sha256 7347fd17bfd33c4093c31dc77076733e1e0150ce8c13296c56dc042bbecede84 web/wsgiserver/LICENSE.txt diff --git a/package/python-webpy/python-webpy.mk b/package/python-webpy/python-webpy.mk index 8bcc8ec37f..192ba5727f 100644 --- a/package/python-webpy/python-webpy.mk +++ b/package/python-webpy/python-webpy.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WEBPY_VERSION = webpy-0.37 +PYTHON_WEBPY_VERSION = webpy-0.39 PYTHON_WEBPY_SITE = $(call github,webpy,webpy,$(PYTHON_WEBPY_VERSION)) -PYTHON_WEBPY_SETUP_TYPE = distutils +PYTHON_WEBPY_SETUP_TYPE = setuptools PYTHON_WEBPY_LICENSE = Public Domain, CherryPy License PYTHON_WEBPY_LICENSE_FILES = LICENSE.txt web/wsgiserver/LICENSE.txt diff --git a/package/python-websockets/0001-Fix-behavior-of-recv-in-the-CLOSING-state.patch b/package/python-websockets/0001-Fix-behavior-of-recv-in-the-CLOSING-state.patch new file mode 100644 index 0000000000..cb97b36bde --- /dev/null +++ b/package/python-websockets/0001-Fix-behavior-of-recv-in-the-CLOSING-state.patch @@ -0,0 +1,261 @@ +From 402059e4a46a764632eba8a669f5b012f173ee7b Mon Sep 17 00:00:00 2001 +From: Aymeric Augustin +Date: Tue, 1 May 2018 17:05:05 +0200 +Subject: [PATCH] Fix behavior of recv() in the CLOSING state. + +The behavior wasn't tested correctly: in some test cases, the connection +had already moved to the CLOSED state, where the close code and reason +are already known. + +Refactor half_close_connection_{local,remote} to allow multiple runs of +the event loop while remaining in the CLOSING state. Refactor affected +tests accordingly. + +I verified that all tests in the CLOSING state were behaving is intended +by inserting debug statements in recv/send/ping/pong and running: + +$ PYTHONASYNCIODEBUG=1 python -m unittest -v websockets.test_protocol.{Client,Server}Tests.test_{recv,send,ping,pong}_on_closing_connection_{local,remote} + +Fix #317, #327, #350, #357. + +Signed-off-by: Joseph Kogut +--- + websockets/protocol.py | 10 ++--- + websockets/test_protocol.py | 78 +++++++++++++++++++++++++++++-------- + 2 files changed, 66 insertions(+), 22 deletions(-) + +diff --git a/websockets/protocol.py b/websockets/protocol.py +index f8121a1..7583fe9 100644 +--- a/websockets/protocol.py ++++ b/websockets/protocol.py +@@ -303,7 +303,7 @@ class WebSocketCommonProtocol(asyncio.StreamReaderProtocol): + # Don't yield from self.ensure_open() here because messages could be + # received before the closing frame even if the connection is closing. + +- # Wait for a message until the connection is closed ++ # Wait for a message until the connection is closed. + next_message = asyncio_ensure_future( + self.messages.get(), loop=self.loop) + try: +@@ -315,15 +315,15 @@ class WebSocketCommonProtocol(asyncio.StreamReaderProtocol): + next_message.cancel() + raise + +- # Now there's no need to yield from self.ensure_open(). Either a +- # message was received or the connection was closed. +- + if next_message in done: + return next_message.result() + else: + next_message.cancel() + if not self.legacy_recv: +- raise ConnectionClosed(self.close_code, self.close_reason) ++ assert self.state in [State.CLOSING, State.CLOSED] ++ # Wait until the connection is closed to raise ++ # ConnectionClosed with the correct code and reason. ++ yield from self.ensure_open() + + @asyncio.coroutine + def send(self, data): +diff --git a/websockets/test_protocol.py b/websockets/test_protocol.py +index 70348fb..bfd4e3b 100644 +--- a/websockets/test_protocol.py ++++ b/websockets/test_protocol.py +@@ -105,7 +105,7 @@ class CommonTests: + self.loop.call_soon(self.loop.stop) + self.loop.run_forever() + +- def make_drain_slow(self, delay=3 * MS): ++ def make_drain_slow(self, delay=MS): + # Process connection_made in order to initialize self.protocol.writer. + self.run_loop_once() + +@@ -174,6 +174,8 @@ class CommonTests: + # Empty the outgoing data stream so we can make assertions later on. + self.assertOneFrameSent(True, OP_CLOSE, close_frame_data) + ++ assert self.protocol.state is State.CLOSED ++ + def half_close_connection_local(self, code=1000, reason='close'): + """ + Start a closing handshake but do not complete it. +@@ -181,31 +183,56 @@ class CommonTests: + The main difference with `close_connection` is that the connection is + left in the CLOSING state until the event loop runs again. + ++ The current implementation returns a task that must be awaited or ++ cancelled, else asyncio complains about destroying a pending task. ++ + """ + close_frame_data = serialize_close(code, reason) +- # Trigger the closing handshake from the local side. +- self.ensure_future(self.protocol.close(code, reason)) ++ # Trigger the closing handshake from the local endpoint. ++ close_task = self.ensure_future(self.protocol.close(code, reason)) + self.run_loop_once() # wait_for executes + self.run_loop_once() # write_frame executes + # Empty the outgoing data stream so we can make assertions later on. + self.assertOneFrameSent(True, OP_CLOSE, close_frame_data) +- # Prepare the response to the closing handshake from the remote side. +- self.loop.call_soon( +- self.receive_frame, Frame(True, OP_CLOSE, close_frame_data)) +- self.loop.call_soon(self.receive_eof_if_client) ++ ++ assert self.protocol.state is State.CLOSING ++ ++ # Complete the closing sequence at 1ms intervals so the test can run ++ # at each point even it goes back to the event loop several times. ++ self.loop.call_later( ++ MS, self.receive_frame, Frame(True, OP_CLOSE, close_frame_data)) ++ self.loop.call_later(2 * MS, self.receive_eof_if_client) ++ ++ # This task must be awaited or cancelled by the caller. ++ return close_task + + def half_close_connection_remote(self, code=1000, reason='close'): + """ +- Receive a closing handshake. ++ Receive a closing handshake but do not complete it. + + The main difference with `close_connection` is that the connection is + left in the CLOSING state until the event loop runs again. + + """ ++ # On the server side, websockets completes the closing handshake and ++ # closes the TCP connection immediately. Yield to the event loop after ++ # sending the close frame to run the test while the connection is in ++ # the CLOSING state. ++ if not self.protocol.is_client: ++ self.make_drain_slow() ++ + close_frame_data = serialize_close(code, reason) +- # Trigger the closing handshake from the remote side. ++ # Trigger the closing handshake from the remote endpoint. + self.receive_frame(Frame(True, OP_CLOSE, close_frame_data)) +- self.receive_eof_if_client() ++ self.run_loop_once() # read_frame executes ++ # Empty the outgoing data stream so we can make assertions later on. ++ self.assertOneFrameSent(True, OP_CLOSE, close_frame_data) ++ ++ assert self.protocol.state is State.CLOSING ++ ++ # Complete the closing sequence at 1ms intervals so the test can run ++ # at each point even it goes back to the event loop several times. ++ self.loop.call_later(2 * MS, self.receive_eof_if_client) + + def process_invalid_frames(self): + """ +@@ -335,11 +362,13 @@ class CommonTests: + self.assertEqual(data, b'tea') + + def test_recv_on_closing_connection_local(self): +- self.half_close_connection_local() ++ close_task = self.half_close_connection_local() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.recv()) + ++ self.loop.run_until_complete(close_task) # cleanup ++ + def test_recv_on_closing_connection_remote(self): + self.half_close_connection_remote() + +@@ -421,24 +450,29 @@ class CommonTests: + self.assertNoFrameSent() + + def test_send_on_closing_connection_local(self): +- self.half_close_connection_local() ++ close_task = self.half_close_connection_local() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.send('foobar')) ++ + self.assertNoFrameSent() + ++ self.loop.run_until_complete(close_task) # cleanup ++ + def test_send_on_closing_connection_remote(self): + self.half_close_connection_remote() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.send('foobar')) +- self.assertOneFrameSent(True, OP_CLOSE, serialize_close(1000, 'close')) ++ ++ self.assertNoFrameSent() + + def test_send_on_closed_connection(self): + self.close_connection() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.send('foobar')) ++ + self.assertNoFrameSent() + + # Test the ping coroutine. +@@ -466,24 +500,29 @@ class CommonTests: + self.assertNoFrameSent() + + def test_ping_on_closing_connection_local(self): +- self.half_close_connection_local() ++ close_task = self.half_close_connection_local() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.ping()) ++ + self.assertNoFrameSent() + ++ self.loop.run_until_complete(close_task) # cleanup ++ + def test_ping_on_closing_connection_remote(self): + self.half_close_connection_remote() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.ping()) +- self.assertOneFrameSent(True, OP_CLOSE, serialize_close(1000, 'close')) ++ ++ self.assertNoFrameSent() + + def test_ping_on_closed_connection(self): + self.close_connection() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.ping()) ++ + self.assertNoFrameSent() + + # Test the pong coroutine. +@@ -506,24 +545,29 @@ class CommonTests: + self.assertNoFrameSent() + + def test_pong_on_closing_connection_local(self): +- self.half_close_connection_local() ++ close_task = self.half_close_connection_local() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.pong()) ++ + self.assertNoFrameSent() + ++ self.loop.run_until_complete(close_task) # cleanup ++ + def test_pong_on_closing_connection_remote(self): + self.half_close_connection_remote() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.pong()) +- self.assertOneFrameSent(True, OP_CLOSE, serialize_close(1000, 'close')) ++ ++ self.assertNoFrameSent() + + def test_pong_on_closed_connection(self): + self.close_connection() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.pong()) ++ + self.assertNoFrameSent() + + # Test the protocol's logic for acknowledging pings with pongs. +-- +2.17.0 + diff --git a/package/python-ws4py/python-ws4py.hash b/package/python-ws4py/python-ws4py.hash index 4d5904ee0c..13469cb036 100644 --- a/package/python-ws4py/python-ws4py.hash +++ b/package/python-ws4py/python-ws4py.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/ws4py/json, sha256 locally computed -md5 b0cbe30433350ef5ec98e8cbb3c3b39c ws4py-0.3.5.tar.gz -sha256 c4cc4a872027f6a6006a6142a38eb6d65c2ece29a4cefac98dd20a48c34ec7a9 ws4py-0.3.5.tar.gz +md5 f0603ae376707a58d205bd87a67758a2 ws4py-0.4.2.tar.gz +sha256 7ac69ce3e6ec6917a5d678b65f0a18e244a4dc670db6414bc0271b3f4911237f ws4py-0.4.2.tar.gz diff --git a/package/python-ws4py/python-ws4py.mk b/package/python-ws4py/python-ws4py.mk index 8f3b985964..ec5b4aff35 100644 --- a/package/python-ws4py/python-ws4py.mk +++ b/package/python-ws4py/python-ws4py.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WS4PY_VERSION = 0.3.5 +PYTHON_WS4PY_VERSION = 0.4.2 PYTHON_WS4PY_SOURCE = ws4py-$(PYTHON_WS4PY_VERSION).tar.gz -PYTHON_WS4PY_SITE = https://pypi.python.org/packages/c8/b4/1784512791fbd196a48f282ca6c79398cace9541a9c151d89c30b6add6e1 +PYTHON_WS4PY_SITE = https://pypi.python.org/packages/b8/98/a90f1d96ffcb15dfc220af524ce23e0a5881258dafa197673357ce1683dd PYTHON_WS4PY_SETUP_TYPE = setuptools PYTHON_WS4PY_LICENSE = BSD-3-Clause PYTHON_WS4PY_LICENSE_FILES = ws4py/__init__.py diff --git a/package/python-wsaccel/python-wsaccel.mk b/package/python-wsaccel/python-wsaccel.mk index 3e7b3324b9..016ff2d72a 100644 --- a/package/python-wsaccel/python-wsaccel.mk +++ b/package/python-wsaccel/python-wsaccel.mk @@ -6,7 +6,7 @@ PYTHON_WSACCEL_VERSION = 0.6.2 PYTHON_WSACCEL_SOURCE = wsaccel-$(PYTHON_WSACCEL_VERSION).tar.gz -PYTHON_WSACCEL_SITE = http://pypi.python.org/packages/source/w/wsaccel +PYTHON_WSACCEL_SITE = https://pypi.python.org/packages/source/w/wsaccel PYTHON_WSACCEL_LICENSE = Apache-2.0 PYTHON_WSACCEL_SETUP_TYPE = setuptools diff --git a/package/python-xlib/Config.in b/package/python-xlib/Config.in new file mode 100644 index 0000000000..081af6a2fc --- /dev/null +++ b/package/python-xlib/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_XLIB + bool "python-xlib" + select BR2_PACKAGE_PYTHON_SIX # runtime + help + XLib in pure Python (Py2/Py3 compatible) + + https://github.com/python-xlib/python-xlib diff --git a/package/python-xlib/python-xlib.hash b/package/python-xlib/python-xlib.hash new file mode 100644 index 0000000000..2c4861af5c --- /dev/null +++ b/package/python-xlib/python-xlib.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/python-xlib/json, sha256 locally computed +md5 cdf342aa145c2be0ccae46cfb7b62551 python-xlib-0.21.tar.bz2 +sha256 25aad0056172920552c01a163e979b02336abaf47b0792dae9c93ecb29500431 python-xlib-0.21.tar.bz2 +sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 LICENSE diff --git a/package/python-xlib/python-xlib.mk b/package/python-xlib/python-xlib.mk new file mode 100644 index 0000000000..0ce6e43422 --- /dev/null +++ b/package/python-xlib/python-xlib.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-xlib +# +################################################################################ + +PYTHON_XLIB_VERSION = 0.21 +PYTHON_XLIB_SOURCE = python-xlib-$(PYTHON_XLIB_VERSION).tar.bz2 +PYTHON_XLIB_SITE = https://pypi.python.org/packages/eb/de/b0eaaea7b8512dc41504db071824eef30293ff55c58d83081ebaebe85a38 +PYTHON_XLIB_SETUP_TYPE = setuptools +PYTHON_XLIB_LICENSE = LGPL-2.1+ +PYTHON_XLIB_LICENSE_FILES = LICENSE +PYTHON_XLIB_DEPENDENCIES = host-python-setuptools-scm + +$(eval $(python-package)) diff --git a/package/python-xlrd/Config.in b/package/python-xlrd/Config.in index 81331f9d58..40920f7b02 100644 --- a/package/python-xlrd/Config.in +++ b/package/python-xlrd/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_PYTHON_XLRD select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 help - Library for developers to extract data from Microsoft Excel (tm) - spreadsheet files. + Library for developers to extract data from Microsoft + Excel(tm) spreadsheet files. http://www.python-excel.org/ diff --git a/package/python-zope-interface/Config.in b/package/python-zope-interface/Config.in index c09e7b0cb3..4279aa9ef8 100644 --- a/package/python-zope-interface/Config.in +++ b/package/python-zope-interface/Config.in @@ -2,9 +2,11 @@ config BR2_PACKAGE_PYTHON_ZOPE_INTERFACE bool "python-zope-interface" select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime help - This package provides an implementation of "object interfaces" for - Python. Interfaces are a mechanism for labeling objects as conforming - to a given API or contract. So, this package can be considered as - implementation of the Design By Contract methodology support in Python. + This package provides an implementation of "object + interfaces" for Python. Interfaces are a mechanism for + labeling objects as conforming to a given API or + contract. So, this package can be considered as + implementation of the Design By Contract methodology support + in Python. http://docs.zope.org/zope.interface/ diff --git a/package/python/0009-Fix-python-config-for-cross-builds.patch b/package/python/0009-Fix-python-config-for-cross-builds.patch index 44ddbcec6f..761d6d9294 100644 --- a/package/python/0009-Fix-python-config-for-cross-builds.patch +++ b/package/python/0009-Fix-python-config-for-cross-builds.patch @@ -12,6 +12,8 @@ doesn't depend on the sysconfig import that usually leads to bad data/results. Signed-off-by: Gustavo Zacarias +[Bernd: rebased for Python 2.7.15] +Signed-off-by: Bernd Kuhls --- Makefile.pre.in | 13 +++--- Misc/python-config.sh.in | 102 +++++++++++++++++++++++++++++++++++++++++++++++ @@ -36,8 +38,8 @@ index 33b994d..beb0837 100644 # Default target all: @DEF_MAKE_ALL_RULE@ --build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks -+build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks python-config +-build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks ++build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks python-config # Compile a binary with profile guided optimization. profile-opt: diff --git a/package/python/Config.in b/package/python/Config.in index 054ccd2aaa..a7f16450e3 100644 --- a/package/python/Config.in +++ b/package/python/Config.in @@ -21,7 +21,8 @@ choice prompt "python module format to install" default BR2_PACKAGE_PYTHON_PYC_ONLY help - Select Python module format to install on target (py, pyc or both) + Select Python module format to install on target (py, pyc or + both) config BR2_PACKAGE_PYTHON_PY_ONLY bool ".py sources only" @@ -83,7 +84,8 @@ config BR2_PACKAGE_PYTHON_UNICODEDATA bool "unicodedata module" default y help - Unicode character database (used by stringprep module) (large). + Unicode character database (used by stringprep module) + (large). if BR2_PACKAGE_PYTHON_UNICODEDATA diff --git a/package/python/python.hash b/package/python/python.hash index 77e0fc878e..feadcfdcb5 100644 --- a/package/python/python.hash +++ b/package/python/python.hash @@ -1,6 +1,5 @@ -# From https://www.python.org/downloads/release/python-2714/ -md5 1f6db41ad91d9eb0a6f0c769b8613c5b Python-2.7.14.tar.xz +# From https://www.python.org/downloads/release/python-2715/ +md5 a80ae3cc478460b922242f43a1b4094d Python-2.7.15.tar.xz # Locally calculated -sha256 71ffb26e09e78650e424929b2b457b9c912ac216576e6bd9e7d204ed03296a66 Python-2.7.14.tar.xz -# License files, locally calculated -sha256 d2d17b17388da74dc9c6bdbf78eb7237432c3f8a0c87852df740ec99de2ec680 LICENSE +sha256 22d9b1ac5b26135ad2b8c2901a9413537e08749a753356ee913c84dbd2df5574 Python-2.7.15.tar.xz +sha256 b9a6d9320b8f2693e8d41e496ce56caadacaddcca9be2a64a61749278f425cf2 LICENSE diff --git a/package/python/python.mk b/package/python/python.mk index aa7917ab46..79df3c462a 100644 --- a/package/python/python.mk +++ b/package/python/python.mk @@ -5,7 +5,7 @@ ################################################################################ PYTHON_VERSION_MAJOR = 2.7 -PYTHON_VERSION = $(PYTHON_VERSION_MAJOR).14 +PYTHON_VERSION = $(PYTHON_VERSION_MAJOR).15 PYTHON_SOURCE = Python-$(PYTHON_VERSION).tar.xz PYTHON_SITE = https://python.org/ftp/python/$(PYTHON_VERSION) PYTHON_LICENSE = Python-2.0, others diff --git a/package/python3/Config.in b/package/python3/Config.in index 35f57e65ce..623fefe43d 100644 --- a/package/python3/Config.in +++ b/package/python3/Config.in @@ -22,7 +22,8 @@ choice prompt "python3 module format to install" default BR2_PACKAGE_PYTHON3_PYC_ONLY help - Select Python module format to install on target (py, pyc or both) + Select Python module format to install on target (py, pyc or + both) config BR2_PACKAGE_PYTHON3_PY_ONLY bool ".py sources only" @@ -84,7 +85,8 @@ config BR2_PACKAGE_PYTHON3_UNICODEDATA bool "unicodedata module" default y help - Unicode character database (used by stringprep module) (large). + Unicode character database (used by stringprep module) + (large). config BR2_PACKAGE_PYTHON3_SQLITE bool "sqlite module" diff --git a/package/python3/python3.mk b/package/python3/python3.mk index 1d2201eec7..6e61108661 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -159,7 +159,6 @@ PYTHON3_CONF_OPTS += \ --disable-idle3 \ --disable-pyc-build - # # Some of CPython's source code is generated using Python interpreter # and some helper tools such as "Programs/_freeze_importlib" or @@ -201,7 +200,6 @@ endef PYTHON3_PRE_BUILD_HOOKS += PYTHON3_MAKE_REGEN_IMPORTLIB - # # Remove useless files. In the config/ directory, only the Makefile # and the pyconfig.h files are needed at runtime. diff --git a/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch b/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch index 6d6d024d9d..a0c4a6203c 100644 --- a/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch +++ b/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch @@ -17,11 +17,11 @@ Signed-off-by: Thomas Petazzoni user-exec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/user-exec.c b/user-exec.c +diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c index 6db0758..2b3d116 100644 ---- a/user-exec.c -+++ b/user-exec.c -@@ -409,7 +409,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, +--- a/accel/tcg/user-exec.c ++++ b/accel/tcg/user-exec.c +@@ -463,7 +463,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, #if defined(__NetBSD__) pc = uc->uc_mcontext.__gregs[_REG_R15]; diff --git a/package/qemu/Config.in b/package/qemu/Config.in index f4a75fc269..13b615bfba 100644 --- a/package/qemu/Config.in +++ b/package/qemu/Config.in @@ -20,18 +20,20 @@ config BR2_PACKAGE_QEMU select BR2_PACKAGE_PIXMAN select BR2_PACKAGE_ZLIB help - QEMU is a generic and open source machine emulator and virtualizer. + QEMU is a generic and open source machine emulator and + virtualizer. - When used as a machine emulator, QEMU can run OSes and programs made - for one machine (e.g. an ARM board) on a different machine (e.g. - your own PC). By using dynamic translation, it achieves very good - performance. + When used as a machine emulator, QEMU can run OSes and + programs made for one machine (e.g. an ARM board) on a + different machine (e.g. your own PC). By using dynamic + translation, it achieves very good performance. - When used as a virtualizer, QEMU achieves near native performances - by executing the guest code directly on the host CPU. QEMU supports - virtualization when executing under the Xen hypervisor or using the - KVM kernel module in Linux. When using KVM, QEMU can virtualize x86, - server and embedded PowerPC, and S390 guests. + When used as a virtualizer, QEMU achieves near native + performances by executing the guest code directly on the + host CPU. QEMU supports virtualization when executing under + the Xen hypervisor or using the KVM kernel module in + Linux. When using KVM, QEMU can virtualize x86, server and + embedded PowerPC, and S390 guests. http://qemu.org/ @@ -42,7 +44,8 @@ comment "Emulators selection" config BR2_PACKAGE_QEMU_CUSTOM_TARGETS string "Enable specific targets" help - Enter here the list of QEMU targets you want to build. For example: + Enter here the list of QEMU targets you want to build. For + example: System emulation | User-land emulation ----------------------+----------------------- @@ -63,7 +66,8 @@ config BR2_PACKAGE_QEMU_SYSTEM depends on !BR2_STATIC_LIBS # dtc select BR2_PACKAGE_QEMU_FDT help - Say 'y' to build all system emulators/virtualisers that QEMU supports. + Say 'y' to build all system emulators/virtualisers that QEMU + supports. comment "systems emulation needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS @@ -73,7 +77,8 @@ config BR2_PACKAGE_QEMU_LINUX_USER # Incompatible "struct sigevent" definition on musl depends on !BR2_TOOLCHAIN_USES_MUSL help - Say 'y' to build all Linux user-land emulators that QEMU supports. + Say 'y' to build all Linux user-land emulators that QEMU + supports. # Note: bsd-user can not be build on Linux @@ -94,8 +99,8 @@ config BR2_PACKAGE_QEMU_SDL bool "Enable SDL frontend" select BR2_PACKAGE_SDL help - Say 'y' to enable the SDL frontend, that is, a graphical window - presenting the VM's display. + Say 'y' to enable the SDL frontend, that is, a graphical + window presenting the VM's display. comment "Misc. features" @@ -104,8 +109,8 @@ config BR2_PACKAGE_QEMU_FDT depends on !BR2_STATIC_LIBS # dtc select BR2_PACKAGE_DTC help - Say 'y' here to have QEMU capable of constructing Device Trees, - and passing them to the VMs. + Say 'y' here to have QEMU capable of constructing Device + Trees, and passing them to the VMs. comment "FDT support needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS @@ -115,6 +120,7 @@ endif # BR2_PACKAGE_QEMU_HAS_EMULS config BR2_PACKAGE_QEMU_TOOLS bool "Enable tools" help - Say 'y' here to include tools packaged with QEMU (e.g. qemu-img). + Say 'y' here to include tools packaged with QEMU + (e.g. qemu-img). endif # BR2_PACKAGE_QEMU diff --git a/package/qemu/Config.in.host b/package/qemu/Config.in.host index 71f38ef41f..957c7d2ae1 100644 --- a/package/qemu/Config.in.host +++ b/package/qemu/Config.in.host @@ -1,15 +1,42 @@ +config BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS + bool + default y if BR2_arm + default y if BR2_armeb + default y if BR2_aarch64 + default y if BR2_i386 + default y if BR2_m68k + default y if BR2_microblazeel + default y if BR2_microblazebe + default y if BR2_mips + default y if BR2_mipsel + default y if BR2_powerpc + default y if BR2_powerpc64 + default y if BR2_powerpc64le + default y if BR2_sh + default y if BR2_sparc + default y if BR2_x86_64 + depends on !BR2_powerpc_620 && !BR2_powerpc_630 && !BR2_powerpc_970 + +config BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS + bool + default y if BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS + default y if BR2_mips64 + default y if BR2_mips64el + +config BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS + bool + default y if BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS + config BR2_PACKAGE_HOST_QEMU bool "host qemu" - depends on BR2_arm || BR2_armeb || BR2_aarch64 || \ - BR2_i386 || BR2_m68k || BR2_microblazeel || \ - BR2_microblazebe || BR2_mips || BR2_mipsel || \ - BR2_mips64 || BR2_mips64el || BR2_powerpc || \ - BR2_powerpc64 || BR2_powerpc64le || BR2_sh || \ - BR2_sparc || BR2_x86_64 + depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS || BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE \ - if !BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE + if !BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE && BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS + select BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE \ + if !BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS help - QEMU is a generic and open source machine emulator and virtualizer. + QEMU is a generic and open source machine emulator and + virtualizer. This option builds an emulator for your selected architecture. @@ -21,12 +48,14 @@ comment "Emulators selection" config BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE bool "Enable system emulation" + depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS help Enables the build of the system emulator, which allows to boot an entire system in Qemu. config BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE bool "Enable Linux user-land emulation" + depends on BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS help Enables the build of the user-land emulator, which allows to run user-space applications. diff --git a/package/qemu/qemu.hash b/package/qemu/qemu.hash index db43c9a2d8..2b27008b73 100644 --- a/package/qemu/qemu.hash +++ b/package/qemu/qemu.hash @@ -1,4 +1,4 @@ # Locally computed, tarball verified with GPG signature -sha256 1dd51a908fc68c7d935b0b31fb184c5669bc23b5a1b081816e824714f2a11caa qemu-2.10.1.tar.xz +sha256 33583800e0006cd00b78226b85be5a27c8e3b156bed2e60e83ecbeb7b9b8364f qemu-2.12.1.tar.xz sha256 6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100 COPYING sha256 48ffe9fc7f1d5462dbd19340bc4dd1d8a9e37c61ed535813e614cbe4a5f0d4df COPYING.LIB diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk index 402ad68b5c..5496a5f025 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -4,7 +4,7 @@ # ################################################################################ -QEMU_VERSION = 2.10.1 +QEMU_VERSION = 2.12.1 QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz QEMU_SITE = http://download.qemu.org QEMU_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause, Others/BSD-1c @@ -13,6 +13,136 @@ QEMU_LICENSE_FILES = COPYING COPYING.LIB # the non-(L)GPL license texts are specified in the affected # individual source files. +#------------------------------------------------------------- +# Target-qemu + +QEMU_DEPENDENCIES = host-pkgconf host-python libglib2 zlib pixman + +# Need the LIBS variable because librt and libm are +# not automatically pulled. :-( +QEMU_LIBS = -lrt -lm + +QEMU_OPTS = + +QEMU_VARS = \ + LIBTOOL=$(HOST_DIR)/bin/libtool \ + PYTHON=$(HOST_DIR)/bin/python2 \ + PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages + +# If we want to specify only a subset of targets, we must still enable all +# of them, so that QEMU properly builds its list of default targets, from +# which it then checks if the specified sub-set is valid. That's what we +# do in the first part of the if-clause. +# Otherwise, if we do not want to pass a sub-set of targets, we then need +# to either enable or disable -user and/or -system emulation appropriately. +# That's what we do in the else-clause. +ifneq ($(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS)),) +QEMU_OPTS += --enable-system --enable-linux-user +QEMU_OPTS += --target-list="$(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS))" +else + +ifeq ($(BR2_PACKAGE_QEMU_SYSTEM),y) +QEMU_OPTS += --enable-system +else +QEMU_OPTS += --disable-system +endif + +ifeq ($(BR2_PACKAGE_QEMU_LINUX_USER),y) +QEMU_OPTS += --enable-linux-user +else +QEMU_OPTS += --disable-linux-user +endif + +endif + +ifeq ($(BR2_PACKAGE_QEMU_SDL),y) +QEMU_OPTS += --enable-sdl +QEMU_DEPENDENCIES += sdl +QEMU_VARS += SDL_CONFIG=$(BR2_STAGING_DIR)/usr/bin/sdl-config +else +QEMU_OPTS += --disable-sdl +endif + +ifeq ($(BR2_PACKAGE_QEMU_FDT),y) +QEMU_OPTS += --enable-fdt +QEMU_DEPENDENCIES += dtc +else +QEMU_OPTS += --disable-fdt +endif + +ifeq ($(BR2_PACKAGE_QEMU_TOOLS),y) +QEMU_OPTS += --enable-tools +else +QEMU_OPTS += --disable-tools +endif + +ifeq ($(BR2_PACKAGE_LIBSSH2),y) +QEMU_OPTS += --enable-libssh2 +QEMU_DEPENDENCIES += libssh2 +else +QEMU_OPTS += --disable-libssh2 +endif + +# Override CPP, as it expects to be able to call it like it'd +# call the compiler. +define QEMU_CONFIGURE_CMDS + ( cd $(@D); \ + LIBS='$(QEMU_LIBS)' \ + $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_CONFIGURE_ARGS) \ + CPP="$(TARGET_CC) -E" \ + $(QEMU_VARS) \ + ./configure \ + --prefix=/usr \ + --cross-prefix=$(TARGET_CROSS) \ + --audio-drv-list= \ + --enable-kvm \ + --enable-attr \ + --enable-vhost-net \ + --disable-bsd-user \ + --disable-xen \ + --disable-slirp \ + --disable-vnc \ + --disable-virtfs \ + --disable-brlapi \ + --disable-curses \ + --disable-curl \ + --disable-bluez \ + --disable-vde \ + --disable-linux-aio \ + --disable-cap-ng \ + --disable-docs \ + --disable-spice \ + --disable-rbd \ + --disable-libiscsi \ + --disable-usb-redir \ + --disable-strip \ + --disable-seccomp \ + --disable-sparse \ + --disable-mpath \ + --disable-sanitizers \ + --disable-hvf \ + --disable-whpx \ + --disable-malloc-trim \ + --disable-membarrier \ + --disable-vhost-crypto \ + --disable-libxml2 \ + --disable-capstone \ + --disable-git-update \ + $(QEMU_OPTS) \ + ) +endef + +define QEMU_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define QEMU_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(QEMU_MAKE_ENV) DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package)) + #------------------------------------------------------------- # Host-qemu @@ -148,117 +278,3 @@ $(eval $(host-generic-package)) # variable used by other packages QEMU_USER = $(HOST_DIR)/bin/qemu-$(HOST_QEMU_ARCH) - -#------------------------------------------------------------- -# Target-qemu - -QEMU_DEPENDENCIES = host-pkgconf host-python libglib2 zlib pixman - -# Need the LIBS variable because librt and libm are -# not automatically pulled. :-( -QEMU_LIBS = -lrt -lm - -QEMU_OPTS = - -QEMU_VARS = \ - LIBTOOL=$(HOST_DIR)/bin/libtool \ - PYTHON=$(HOST_DIR)/bin/python2 \ - PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages - -# If we want to specify only a subset of targets, we must still enable all -# of them, so that QEMU properly builds its list of default targets, from -# which it then checks if the specified sub-set is valid. That's what we -# do in the first part of the if-clause. -# Otherwise, if we do not want to pass a sub-set of targets, we then need -# to either enable or disable -user and/or -system emulation appropriately. -# That's what we do in the else-clause. -ifneq ($(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS)),) -QEMU_OPTS += --enable-system --enable-linux-user -QEMU_OPTS += --target-list="$(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS))" -else - -ifeq ($(BR2_PACKAGE_QEMU_SYSTEM),y) -QEMU_OPTS += --enable-system -else -QEMU_OPTS += --disable-system -endif - -ifeq ($(BR2_PACKAGE_QEMU_LINUX_USER),y) -QEMU_OPTS += --enable-linux-user -else -QEMU_OPTS += --disable-linux-user -endif - -endif - -ifeq ($(BR2_PACKAGE_QEMU_SDL),y) -QEMU_OPTS += --enable-sdl -QEMU_DEPENDENCIES += sdl -QEMU_VARS += SDL_CONFIG=$(BR2_STAGING_DIR)/usr/bin/sdl-config -else -QEMU_OPTS += --disable-sdl -endif - -ifeq ($(BR2_PACKAGE_QEMU_FDT),y) -QEMU_OPTS += --enable-fdt -QEMU_DEPENDENCIES += dtc -else -QEMU_OPTS += --disable-fdt -endif - -ifeq ($(BR2_PACKAGE_QEMU_TOOLS),y) -QEMU_OPTS += --enable-tools -else -QEMU_OPTS += --disable-tools -endif - -# Override CPP, as it expects to be able to call it like it'd -# call the compiler. -define QEMU_CONFIGURE_CMDS - ( cd $(@D); \ - LIBS='$(QEMU_LIBS)' \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - CPP="$(TARGET_CC) -E" \ - $(QEMU_VARS) \ - ./configure \ - --prefix=/usr \ - --cross-prefix=$(TARGET_CROSS) \ - --with-system-pixman \ - --audio-drv-list= \ - --enable-kvm \ - --enable-attr \ - --enable-vhost-net \ - --disable-bsd-user \ - --disable-xen \ - --disable-slirp \ - --disable-vnc \ - --disable-virtfs \ - --disable-brlapi \ - --disable-curses \ - --disable-curl \ - --disable-bluez \ - --disable-vde \ - --disable-linux-aio \ - --disable-cap-ng \ - --disable-docs \ - --disable-spice \ - --disable-rbd \ - --disable-libiscsi \ - --disable-usb-redir \ - --disable-strip \ - --disable-seccomp \ - --disable-sparse \ - $(QEMU_OPTS) \ - ) -endef - -define QEMU_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) -endef - -define QEMU_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(QEMU_MAKE_ENV) DESTDIR=$(TARGET_DIR) install -endef - -$(eval $(generic-package)) diff --git a/package/qpdf/Config.in b/package/qpdf/Config.in index 0b29b6f827..87a3192c5e 100644 --- a/package/qpdf/Config.in +++ b/package/qpdf/Config.in @@ -5,12 +5,12 @@ config BR2_PACKAGE_QPDF select BR2_PACKAGE_ZLIB select BR2_PACKAGE_JPEG help - QPDF is a command-line program that does structural, content- - preserving transformations on PDF files. It could have been called - something like pdf-to-pdf. It also provides many useful capabilities - to developers of PDF-producing software or for people who just want - to look at the innards of a PDF file to learn more about how they - work. + QPDF is a command-line program that does structural, + content- preserving transformations on PDF files. It could + have been called something like pdf-to-pdf. It also provides + many useful capabilities to developers of PDF-producing + software or for people who just want to look at the innards + of a PDF file to learn more about how they work. http://qpdf.sourceforge.net/ diff --git a/package/qpdf/qpdf.hash b/package/qpdf/qpdf.hash index 1fbef66e6f..d27c9834b9 100644 --- a/package/qpdf/qpdf.hash +++ b/package/qpdf/qpdf.hash @@ -1,4 +1,2 @@ -# From https://sourceforge.net/projects/qpdf/files/qpdf/7.0.0/qpdf-7.0.0.sha512/download -sha512 7b52d67b4d2c428a7b0c1cd03b03a23f05d38d7e3c81041079a137919019ea5158f12bf95fdcfcff6b43ffdefe93a85127ced2a363a6b4b380cbaa02a3840256 qpdf-7.0.0.tar.gz -# Locally computed -sha256 fed08de14caad0fe5efd148d9eca886d812588b2cbb35d13e61993ee8eb8c65f qpdf-7.0.0.tar.gz +# From https://sourceforge.net/projects/qpdf/files/qpdf/8.1.0/qpdf-8.1.0.sha512/download +sha512 1831bcaaed87dae268db5d61805d1483ec5c101f6ce594be660664c119597ae67cf011c2b50092964d785a814d5f6c780935127a89401fe37a1026ae4d3af15c qpdf-8.1.0.tar.gz diff --git a/package/qpdf/qpdf.mk b/package/qpdf/qpdf.mk index 27e4d09978..4776d22b16 100644 --- a/package/qpdf/qpdf.mk +++ b/package/qpdf/qpdf.mk @@ -4,7 +4,7 @@ # ################################################################################ -QPDF_VERSION = 7.0.0 +QPDF_VERSION = 8.1.0 QPDF_SITE = http://downloads.sourceforge.net/project/qpdf/qpdf/$(QPDF_VERSION) QPDF_INSTALL_STAGING = YES QPDF_LICENSE = Artistic-2.0 diff --git a/package/qt/Config.in b/package/qt/Config.in index 7710b09d29..0ecfafada5 100644 --- a/package/qt/Config.in +++ b/package/qt/Config.in @@ -3,7 +3,7 @@ comment "qt needs a toolchain w/ C++, threads" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS menuconfig BR2_PACKAGE_QT - bool "Qt" + bool "Qt (obsolete)" depends on BR2_USE_MMU # fork depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS @@ -23,8 +23,8 @@ choice config BR2_PACKAGE_QT_EMBEDDED bool "Qt embedded" help - The embedded Qt installation targets embedded systems without X.org. - Provides backends for framebuffer. + The embedded Qt installation targets embedded systems + without X.org. Provides backends for framebuffer. If unsure, say Y. comment "Qt standard (X11) not available (need X.org)" @@ -44,8 +44,8 @@ config BR2_PACKAGE_QT_X11 select BR2_PACKAGE_QT_SYSTEMFREETYPE select BR2_PACKAGE_QT_GUI_MODULE help - The standard Qt installation provides X.org backend. If you don't want to - use X.org, say N. + The standard Qt installation provides X.org backend. If you + don't want to use X.org, say N. endchoice @@ -83,15 +83,16 @@ config BR2_PACKAGE_QT_SHARED depends on !BR2_STATIC_LIBS help Create and use shared Qt libraries. - If you have multiple programs that depend on Qt or intend to use - plugins, say Y. + If you have multiple programs that depend on Qt or intend to + use plugins, say Y. config BR2_PACKAGE_QT_STATIC bool "Static Library" help Create and use static Qt libraries. - If you don't have multiple programs on the target that depends on - Qt, then this will save you quite some of storage space. + If you don't have multiple programs on the target that + depends on Qt, then this will save you quite some of storage + space. If unsure, say Y. endchoice @@ -114,17 +115,17 @@ config BR2_PACKAGE_QT_QT3SUPPORT depends on BR2_PACKAGE_QT_GUI_MODULE select BR2_PACKAGE_QT_SQL_MODULE help - Turns on support for older Qt3. This will create an additional - library with proxy code and increase the space required on target. - If unsure say n. + Turns on support for older Qt3. This will create an + additional library with proxy code and increase the space + required on target. If unsure say n. config BR2_PACKAGE_QT_GUI_MODULE bool "Gui Module" default y select BR2_PACKAGE_QT_NETWORK help - Turns on support for Gui applications. If your board doesn't have - video output, or you don't require Qt GUI, say n. + Turns on support for Gui applications. If your board doesn't + have video output, or you don't require Qt GUI, say n. if BR2_PACKAGE_QT_GUI_MODULE diff --git a/package/qt/qt.mk b/package/qt/qt.mk index 1dcb05d6af..23cb94c11f 100644 --- a/package/qt/qt.mk +++ b/package/qt/qt.mk @@ -7,7 +7,7 @@ QT_VERSION_MAJOR = 4.8 QT_VERSION = $(QT_VERSION_MAJOR).7 QT_SOURCE = qt-everywhere-opensource-src-$(QT_VERSION).tar.gz -QT_SITE = http://download.qt-project.org/official_releases/qt/$(QT_VERSION_MAJOR)/$(QT_VERSION) +QT_SITE = http://download.qt.io/archive/qt/$(QT_VERSION_MAJOR)/$(QT_VERSION) QT_DEPENDENCIES = host-pkgconf QT_INSTALL_STAGING = YES @@ -32,6 +32,15 @@ QT_LDFLAGS = $(TARGET_LDFLAGS) # use an older c++ standard to prevent build failure QT_CXXFLAGS += -std=gnu++98 +# gcc bug internal compiler error: in validate_condition_mode, at +# config/rs6000/rs6000.c:180744. Bug is fixed since gcc 7. +# Workaround is to set -mno-isel, see +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818 and +# https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01036.html +ifeq ($(BR2_powerpc_8540)$(BR2_powerpc_8548)$(BR2_powerpc_e500mc)$(BR2_powerpc_e5500):$(BR2_TOOLCHAIN_GCC_AT_LEAST_7),y:) +QT_CXXFLAGS += -mno-isel +endif + # Qt has some assembly function that are not present in thumb1 mode: # Error: selected processor does not support Thumb mode `swp r3,r7,[r4]' # so, we desactivate thumb mode diff --git a/package/qt5/Config.in b/package/qt5/Config.in index 8513c36623..a9ee44c11f 100644 --- a/package/qt5/Config.in +++ b/package/qt5/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_QT5_JSCORE_AVAILABLE bool default y # Javascript engine is only available on certain architectures - depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel + depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 || BR2_mipsel # ARM needs BLX, so v5t+ depends on !BR2_ARM_CPU_ARMV4 @@ -61,6 +61,7 @@ endchoice source "package/qt5/qt53d/Config.in" source "package/qt5/qt5base/Config.in" source "package/qt5/qt5canvas3d/Config.in" +source "package/qt5/qt5charts/Config.in" source "package/qt5/qt5connectivity/Config.in" source "package/qt5/qt5declarative/Config.in" source "package/qt5/qt5enginio/Config.in" @@ -71,6 +72,7 @@ source "package/qt5/qt5multimedia/Config.in" source "package/qt5/qt5quickcontrols/Config.in" source "package/qt5/qt5quickcontrols2/Config.in" source "package/qt5/qt5script/Config.in" +source "package/qt5/qt5scxml/Config.in" source "package/qt5/qt5sensors/Config.in" source "package/qt5/qt5serialbus/Config.in" source "package/qt5/qt5serialport/Config.in" @@ -80,6 +82,7 @@ source "package/qt5/qt5virtualkeyboard/Config.in" source "package/qt5/qt5wayland/Config.in" source "package/qt5/qt5webchannel/Config.in" source "package/qt5/qt5webkit/Config.in" +source "package/qt5/qt5webkit-examples/Config.in" source "package/qt5/qt5webengine/Config.in" source "package/qt5/qt5websockets/Config.in" source "package/qt5/qt5x11extras/Config.in" diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk index 0e49c6b58b..84b7a4a469 100644 --- a/package/qt5/qt5.mk +++ b/package/qt5/qt5.mk @@ -6,14 +6,12 @@ ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5_VERSION_MAJOR = 5.9 -QT5_VERSION = $(QT5_VERSION_MAJOR).2 -QT5_SITE = http://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules +QT5_VERSION = $(QT5_VERSION_MAJOR).6 else QT5_VERSION_MAJOR = 5.6 QT5_VERSION = $(QT5_VERSION_MAJOR).3 -QT5_SITE = http://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules -QT5_SNAPSHOTS_SITE = http://download.qt.io/snapshots/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/latest_src/submodules endif +QT5_SITE = https://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules include $(sort $(wildcard package/qt5/*/*.mk)) diff --git a/package/qt5/qt53d/Config.in b/package/qt5/qt53d/Config.in index f776da2c87..78602a7287 100644 --- a/package/qt5/qt53d/Config.in +++ b/package/qt5/qt53d/Config.in @@ -12,11 +12,11 @@ config BR2_PACKAGE_QT53D This package corresponds to the qt53d module. - This module was in tech preview in Qt 5.6, and promoted to a core module in Qt 5.7.0. - Enable the assimp package to gain the assimp sceneparser plugin. + Enable the assimp package to gain the assimp sceneparser + plugin. http://doc.qt.io/qt-5/qt3d-index.html diff --git a/package/qt5/qt53d/qt53d.hash b/package/qt5/qt53d/qt53d.hash index 7a9d0dc7be..dfa595dcc4 100644 --- a/package/qt5/qt53d/qt53d.hash +++ b/package/qt5/qt53d/qt53d.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qt3d-opensource-src-5.6.3.tar.xz.mirrorlist sha256 10d05a30e925fcad971126c7f47a5e32c39f007dab96b298b2094501f9607ffe qt3d-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qt3d-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 c955a92fe2f3f2f03493ae0e9d973ebe1c4b1e037b58f18092fa2040f5b50783 qt3d-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qt3d-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 c89cbc12fde5a279e5b127651a194cae75003ba8113f9e7e7b24e67495ecff09 qt3d-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPL diff --git a/package/qt5/qt53d/qt53d.mk b/package/qt5/qt53d/qt53d.mk index 4f37ae7f5d..557f643a63 100644 --- a/package/qt5/qt53d/qt53d.mk +++ b/package/qt5/qt53d/qt53d.mk @@ -6,7 +6,7 @@ QT53D_VERSION = $(QT5_VERSION) QT53D_SITE = $(QT5_SITE) -QT53D_SOURCE = qt3d-opensource-src-$(QT5SVG_VERSION).tar.xz +QT53D_SOURCE = qt3d-opensource-src-$(QT53D_VERSION).tar.xz QT53D_DEPENDENCIES = qt5base qt5declarative QT53D_INSTALL_STAGING = YES @@ -30,11 +30,27 @@ define QT53D_INSTALL_STAGING_CMDS $(QT5_LA_PRL_FILES_FIXUP) endef +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT53D_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/qt3d $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif + ifeq ($(BR2_STATIC_LIBS),) +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +# Available since 5.9 +define QT53D_INSTALL_TARGET_LATEST + cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/geometryloaders $(TARGET_DIR)/usr/lib/qt/plugins + cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/renderplugins $(TARGET_DIR)/usr/lib/qt/plugins +endef +endif define QT53D_INSTALL_TARGET_CMDS cp -dpf $(STAGING_DIR)/usr/lib/libQt53D*.so.* $(TARGET_DIR)/usr/lib cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/sceneparsers $(TARGET_DIR)/usr/lib/qt/plugins cp -dpfr $(STAGING_DIR)/usr/qml/Qt3D $(TARGET_DIR)/usr/qml + cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick $(TARGET_DIR)/usr/qml + $(QT53D_INSTALL_TARGET_LATEST) + $(QT53D_INSTALL_TARGET_EXAMPLES) endef endif diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in index dc56474bbb..b5755e2b9c 100644 --- a/package/qt5/qt5base/Config.in +++ b/package/qt5/qt5base/Config.in @@ -170,8 +170,9 @@ config BR2_PACKAGE_QT5BASE_OPENGL_LIB bool "opengl module" select BR2_PACKAGE_QT5BASE_WIDGETS help - This option enables the Qt5OpenGL library. This library includes - OpenGL support classes provided to ease porting from Qt 4.x. + This option enables the Qt5OpenGL library. This library + includes OpenGL support classes provided to ease porting + from Qt 4.x. endif @@ -211,12 +212,14 @@ config BR2_PACKAGE_QT5BASE_DEFAULT_QPA string "Default graphical platform" help Choose the default platform abstraction to use for graphical - applications (e.g xcb, linuxfb, eglfs, ...). If this is empty, the - default for your architecture will be used (usually this is eglfs). + applications (e.g xcb, linuxfb, eglfs, ...). If this is + empty, the default for your architecture will be used + (usually this is eglfs). - You can get a list of supported platforms by running a Qt application - with the option "-platform help" on your target. You can choose a - different platform at runtime with the -platform option. + You can get a list of supported platforms by running a Qt + application with the option "-platform help" on your + target. You can choose a different platform at runtime with + the -platform option. config BR2_PACKAGE_QT5BASE_PRINTSUPPORT depends on BR2_PACKAGE_QT5BASE_WIDGETS diff --git a/package/qt5/qt5base/qmake.conf b/package/qt5/qt5base/qmake.conf.in similarity index 94% rename from package/qt5/qt5base/qmake.conf rename to package/qt5/qt5base/qmake.conf.in index 8b6debe583..f14527aa7f 100644 --- a/package/qt5/qt5base/qmake.conf +++ b/package/qt5/qt5base/qmake.conf.in @@ -21,8 +21,10 @@ CONFIG += nostrip QMAKE_LIBS += -lrt -lpthread -ldl QMAKE_CFLAGS_ISYSTEM = -# Architecturespecific configuration +# Architecture specific configuration include(arch.conf) +@EGLFS_DEVICE@ + include(../common/linux_device_post.conf) load(qt_config) diff --git a/package/qt5/qt5base/qt5base.hash b/package/qt5/qt5base/qt5base.hash index 4883484d5b..950785c0de 100644 --- a/package/qt5/qt5base/qt5base.hash +++ b/package/qt5/qt5base/qt5base.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtbase-opensource-src-5.6.3.tar.xz.mirrorlist sha256 fef48529a6fc2617a30d75d952cb327c6be341fd104154993922184b3b3b4da1 qtbase-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtbase-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 7fe2bb468955f633c71b3ddd3c269e68a2c4137a4e5b8dd12dcdb34cbc6d609b qtbase-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtbase-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 eed620cb268b199bd83b3fc6a471c51d51e1dc2dbb5374fc97a0cc75facbe36f qtbase-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index b3f9c799cb..b79059c2a4 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -35,14 +35,21 @@ endif QT5BASE_CONFIGURE_OPTS += $(call qstrip,$(BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS)) -# Uses libgbm from mesa3d -ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) -QT5BASE_CONFIGURE_OPTS += -kms -gbm -QT5BASE_DEPENDENCIES += mesa3d +ifeq ($(BR2_PACKAGE_LIBDRM),y) +QT5BASE_CONFIGURE_OPTS += -kms +QT5BASE_DEPENDENCIES += libdrm else QT5BASE_CONFIGURE_OPTS += -no-kms endif +# Uses libgbm from mesa3d +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) +QT5BASE_CONFIGURE_OPTS += -gbm +QT5BASE_DEPENDENCIES += mesa3d +else +QT5BASE_CONFIGURE_OPTS += -no-gbm +endif + ifeq ($(BR2_ENABLE_DEBUG),y) QT5BASE_CONFIGURE_OPTS += -debug else @@ -242,10 +249,7 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST)$(BR2_PACKAGE_IMX_GPU_VIV),yy) # use vivante backend -define QT5BASE_CONFIGURE_QMAKE_CONFIG - echo "EGLFS_DEVICE_INTEGRATION = eglfs_viv" >> \ - $(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf -endef +QT5BASE_EGLFS_DEVICE = EGLFS_DEVICE_INTEGRATION = eglfs_viv endif ifneq ($(QT5BASE_CONFIG_FILE),) @@ -263,9 +267,10 @@ endef endif define QT5BASE_CONFIGURE_CMDS - $(INSTALL) -m 0644 -D $(QT5BASE_PKGDIR)/qmake.conf \ + mkdir -p $(@D)/mkspecs/devices/linux-buildroot-g++/ + sed 's/@EGLFS_DEVICE@/$(QT5BASE_EGLFS_DEVICE)/g' \ + $(QT5BASE_PKGDIR)/qmake.conf.in > \ $(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf - $(QT5BASE_CONFIGURE_QMAKE_CONFIG) $(INSTALL) -m 0644 -D $(QT5BASE_PKGDIR)/qplatformdefs.h \ $(@D)/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h $(QT5BASE_CONFIGURE_CONFIG_FILE) diff --git a/package/qt5/qt5canvas3d/qt5canvas3d.hash b/package/qt5/qt5canvas3d/qt5canvas3d.hash index eaff6c5766..be353fbc4e 100644 --- a/package/qt5/qt5canvas3d/qt5canvas3d.hash +++ b/package/qt5/qt5canvas3d/qt5canvas3d.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtcanvas3d-opensource-src-5.6.3.tar.xz.mirrorlist sha256 e99e0e159f2fba539b7947a1921072f6807f20958d32809edbf12aac571f56ff qtcanvas3d-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtcanvas3d-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 84a8d66c2c35b67af84376037cac71fe77a105df09ffef7906a9cb1aeafb3eea qtcanvas3d-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtcanvas3d-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 9da45991f62152c2c76931aed8a6059375fdce441b38752991e1ad2c77507c22 qtcanvas3d-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/package/qt5/qt5charts/Config.in b/package/qt5/qt5charts/Config.in new file mode 100644 index 0000000000..78f08fe637 --- /dev/null +++ b/package/qt5/qt5charts/Config.in @@ -0,0 +1,17 @@ +comment "qt5charts needs at least qt-5.7" + depends on !BR2_PACKAGE_QT5_VERSION_LATEST + +config BR2_PACKAGE_QT5CHARTS + bool "qt5charts" + depends on BR2_PACKAGE_QT5_VERSION_LATEST + select BR2_PACKAGE_QT5BASE + select BR2_PACKAGE_QT5BASE_GUI + select BR2_PACKAGE_QT5BASE_WIDGETS + help + Qt is a cross-platform application and UI framework for + developers using C++. + + Qt Charts module provides a set of easy to use chart + components. + + https://doc.qt.io/qt-5/qtcharts-index.html diff --git a/package/qt5/qt5charts/qt5charts.hash b/package/qt5/qt5charts/qt5charts.hash new file mode 100644 index 0000000000..84e8959178 --- /dev/null +++ b/package/qt5/qt5charts/qt5charts.hash @@ -0,0 +1,5 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtcharts-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 5fd60f08b1815b0e7b813c75a0ec726bffc7cc686b160bebf1e710e882ceadab qtcharts-opensource-src-5.9.6.tar.xz + +# Hashes for license files: +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5charts/qt5charts.mk b/package/qt5/qt5charts/qt5charts.mk new file mode 100644 index 0000000000..c15e4e02df --- /dev/null +++ b/package/qt5/qt5charts/qt5charts.mk @@ -0,0 +1,61 @@ +################################################################################ +# +# qt5charts +# +################################################################################ + +QT5CHARTS_VERSION = $(QT5_VERSION) +QT5CHARTS_SITE = $(QT5_SITE) +QT5CHARTS_SOURCE = qtcharts-opensource-src-$(QT5CHARTS_VERSION).tar.xz +QT5CHARTS_DEPENDENCIES = qt5base +QT5CHARTS_INSTALL_STAGING = YES + +QT5CHARTS_LICENSE = GPL-3.0 +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +QT5CHARTS_LICENSE_FILES = LICENSE.GPL3 +endif + +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) +QT5CHARTS_DEPENDENCIES += qt5declarative +endif + +define QT5CHARTS_CONFIGURE_CMDS + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) +endef + +define QT5CHARTS_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define QT5CHARTS_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install + $(QT5_LA_PRL_FILES_FIXUP) +endef + +ifeq ($(BR2_STATIC_LIBS),) +define QT5CHARTS_INSTALL_TARGET_LIBS + cp -dpf $(STAGING_DIR)/usr/lib/libQt5Charts*.so.* $(TARGET_DIR)/usr/lib + cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/* $(TARGET_DIR)/usr/lib/qt/plugins +endef +endif + +# this is only built with quick support enabled +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y) +define QT5CHARTS_INSTALL_TARGET_QMLS + cp -dpfr $(STAGING_DIR)/usr/qml/QtCharts $(TARGET_DIR)/usr/qml/ +endef +endif + +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT5CHARTS_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/charts* $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif + +define QT5CHARTS_INSTALL_TARGET_CMDS + $(QT5CHARTS_INSTALL_TARGET_LIBS) + $(QT5CHARTS_INSTALL_TARGET_QMLS) + $(QT5CHARTS_INSTALL_TARGET_EXAMPLES) +endef + +$(eval $(generic-package)) diff --git a/package/qt5/qt5connectivity/5.9.2/0001-Example-heartrate-server-needs-only-core-and-bluetoo.patch b/package/qt5/qt5connectivity/5.9.2/0001-Example-heartrate-server-needs-only-core-and-bluetoo.patch deleted file mode 100644 index cb0e8d18b1..0000000000 --- a/package/qt5/qt5connectivity/5.9.2/0001-Example-heartrate-server-needs-only-core-and-bluetoo.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 13c2f56cc9c3bbfe0c96031107e7fafd437703d9 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Sat, 18 Nov 2017 21:07:44 +0100 -Subject: [PATCH] Example heartrate-server needs only core and bluetooth module - -Fixes compile with disabled gui module. - -Task-number: QTBUG-64597 -Change-Id: I376dede3db987e524f97070344cc119e0ee1d187 - -Upstream: https://codereview.qt-project.org/211810 -Signed-off-by: Peter Seiderer ---- - examples/bluetooth/heartrate-server/heartrate-server.pro | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/examples/bluetooth/heartrate-server/heartrate-server.pro b/examples/bluetooth/heartrate-server/heartrate-server.pro -index 4ccf486c..edd011b9 100644 ---- a/examples/bluetooth/heartrate-server/heartrate-server.pro -+++ b/examples/bluetooth/heartrate-server/heartrate-server.pro -@@ -1,7 +1,7 @@ - TEMPLATE = app - TARGET = heartrate-server - --QT += bluetooth -+QT = core bluetooth - CONFIG += c++11 - - SOURCES += main.cpp --- -2.14.2 - diff --git a/package/qt5/qt5connectivity/qt5connectivity.hash b/package/qt5/qt5connectivity/qt5connectivity.hash index fa403e38ab..1da448ad5e 100644 --- a/package/qt5/qt5connectivity/qt5connectivity.hash +++ b/package/qt5/qt5connectivity/qt5connectivity.hash @@ -1,5 +1,5 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtconnectivity-opensource-src-5.6.3.tar.xz.mirrorlist sha256 fa406e3d63fa4a2acc8ecae6d110f20c766f19a21c7061a12f3c167deb07ccde qtconnectivity-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtconnectivity-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 2c759597ec959d54f29a3f628896d9208cf1f4e2269d8e01a9d3036f6995f3cc qtconnectivity-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtconnectivity-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 6c696855c2d4e63709ba81d22c85cab30f66418eac2fb2810a02a4b47a531c57 qtconnectivity-opensource-src-5.9.6.tar.xz diff --git a/package/qt5/qt5declarative/5.6.3/0002-examples-qquickviewcomparison-and-quickwidget-needs-.patch b/package/qt5/qt5declarative/5.6.3/0002-examples-qquickviewcomparison-and-quickwidget-needs-.patch index 875634fdb4..7959d38946 100644 --- a/package/qt5/qt5declarative/5.6.3/0002-examples-qquickviewcomparison-and-quickwidget-needs-.patch +++ b/package/qt5/qt5declarative/5.6.3/0002-examples-qquickviewcomparison-and-quickwidget-needs-.patch @@ -33,6 +33,12 @@ Fixes: .obj/moc_fbitem.o:(.data.rel.ro+0xf0): undefined reference to `QQuickFramebufferObject::staticMetaObject' Signed-off-by: Peter Seiderer +--- + +Note: +An equivalent patch is upstream for qt5declarative 5.10, but it is not suitable for +backporting to this version due to license differences. + --- examples/quick/quick.pro | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/package/qt5/qt5declarative/5.9.2/0001-Fix-no-opengl-builds.patch b/package/qt5/qt5declarative/5.9.2/0001-Fix-no-opengl-builds.patch deleted file mode 100644 index 8406ace9a3..0000000000 --- a/package/qt5/qt5declarative/5.9.2/0001-Fix-no-opengl-builds.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 66429b5f6986bde1f491699216f095c5e25023cf Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen -Date: Mon, 25 Sep 2017 16:53:24 +0200 -Subject: [PATCH] Fix no-opengl builds - -The qquickwidgets examples uses OpenGL directly - -Change-Id: I1cc8cfbcf249abc98473287a9d499032232828c7 -Reviewed-by: Simon Hausmann - -Upstream: https://code.qt.io/cgit/qt/qtdeclarative.git/patch/?id=fa52bb665d6beb77a951c14c8edcba3541850afc -Signed-off-by: Peter Seiderer ---- - examples/quick/quick.pro | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/examples/quick/quick.pro b/examples/quick/quick.pro -index 445dfb0f..7da255e9 100644 ---- a/examples/quick/quick.pro -+++ b/examples/quick/quick.pro -@@ -36,7 +36,7 @@ qtConfig(opengl(es1|es2)?) { - # Widget dependent examples - qtHaveModule(widgets) { - SUBDIRS += embeddedinwidgets -- qtHaveModule(quickwidgets): SUBDIRS += quickwidgets -+ qtHaveModule(quickwidgets):qtConfig(opengl(es1|es2)?): SUBDIRS += quickwidgets - } - - EXAMPLE_FILES = \ --- -2.15.0 - diff --git a/package/qt5/qt5declarative/Config.in b/package/qt5/qt5declarative/Config.in index 5384b5f187..3a353a8326 100644 --- a/package/qt5/qt5declarative/Config.in +++ b/package/qt5/qt5declarative/Config.in @@ -17,11 +17,11 @@ config BR2_PACKAGE_QT5DECLARATIVE if BR2_PACKAGE_QT5DECLARATIVE comment "quick module needs an OpenGL-capable backend" - depends on !BR2_PACKAGE_QT5_GL_AVAILABLE + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST config BR2_PACKAGE_QT5DECLARATIVE_QUICK bool "quick module" - depends on BR2_PACKAGE_QT5_GL_AVAILABLE - select BR2_PACKAGE_QT5BASE_OPENGL + depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST + select BR2_PACKAGE_QT5BASE_OPENGL if BR2_PACKAGE_QT5_GL_AVAILABLE endif diff --git a/package/qt5/qt5declarative/qt5declarative.hash b/package/qt5/qt5declarative/qt5declarative.hash index e2d63d49ff..9bbda42210 100644 --- a/package/qt5/qt5declarative/qt5declarative.hash +++ b/package/qt5/qt5declarative/qt5declarative.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtdeclarative-opensource-src-5.6.3.tar.xz.mirrorlist sha256 f63fc053d0d16b8a9ca9308f8ead77874b470ae31b66057e2bd336bf648191fc qtdeclarative-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtdeclarative-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 0d40fd4de9c73b9173d8308c0dc37952bf5c747d87ff221962dd2f848d820b08 qtdeclarative-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtdeclarative-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 058fd99a779a753fc5f5e887f1afb799aa53b9f010faa06374b1cfb6fc8bad8a qtdeclarative-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5enginio/qt5enginio.hash b/package/qt5/qt5enginio/qt5enginio.hash index f970703687..424c4776e0 100644 --- a/package/qt5/qt5enginio/qt5enginio.hash +++ b/package/qt5/qt5enginio/qt5enginio.hash @@ -1,5 +1,5 @@ -# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtenginio-opensource-src-1.6.2.tar.xz.mirrorlist -sha256 90ffc38d214a75ab0ef90a4760843f12bc073ae49c17de24c677d1d403bddcc3 qtenginio-opensource-src-1.6.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtenginio-opensource-src-1.6.3.tar.xz.mirrorlist +sha256 d907060b355512ceb7a8c3f6980e3979c20d54320b6804303b6c5e8ed42d3912 qtenginio-opensource-src-1.6.3.tar.xz # Hashes for license files: sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 diff --git a/package/qt5/qt5enginio/qt5enginio.mk b/package/qt5/qt5enginio/qt5enginio.mk index 5590d7cf4e..603b2a517d 100644 --- a/package/qt5/qt5enginio/qt5enginio.mk +++ b/package/qt5/qt5enginio/qt5enginio.mk @@ -6,7 +6,7 @@ # Qt5Enginio does not follow Qt versionning # see https://bugreports.qt.io/browse/QTBUG-50111 -QT5ENGINIO_VERSION = 1.6.2 +QT5ENGINIO_VERSION = 1.6.3 QT5ENGINIO_SITE = $(QT5_SITE) QT5ENGINIO_SOURCE = qtenginio-opensource-src-$(QT5ENGINIO_VERSION).tar.xz QT5ENGINIO_DEPENDENCIES = openssl qt5base diff --git a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash index 08267b2d13..c7f9312938 100644 --- a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash +++ b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtgraphicaleffects-opensource-src-5.6.3.tar.xz.mirrorlist sha256 c742592d5e45b122b29df60b69be23ba7c817f2dc471db86e054f6ea24a999ed qtgraphicaleffects-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtgraphicaleffects-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 14594e7eb4b704dd69bf336828306fe8e6537c321d49ee0b701b3b1cdd8bfb76 qtgraphicaleffects-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtgraphicaleffects-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 5f98bc62e8f27bd13853e90306e7e10f47fb06d7cd38f2e7be76bd907ef37154 qtgraphicaleffects-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5imageformats/qt5imageformats.hash b/package/qt5/qt5imageformats/qt5imageformats.hash index 13357598a6..d24e550514 100644 --- a/package/qt5/qt5imageformats/qt5imageformats.hash +++ b/package/qt5/qt5imageformats/qt5imageformats.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtimageformats-opensource-src-5.6.3.tar.xz.mirrorlist sha256 efe4da3c90c976c9b9a2eb6b081d2b8e1435935695104456276ce98e8a5848c3 qtimageformats-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtimageformats-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 3a626ca0ac7ffc56b59c4b3f66aac6bc76954054cedb6938b961562228eb9df3 qtimageformats-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtimageformats-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 158272da5e49a388b43423399592372968984323bfd543a5a992bbd466ff4060 qtimageformats-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/package/qt5/qt5location/qt5location.hash b/package/qt5/qt5location/qt5location.hash index 6369efbd76..a21e707763 100644 --- a/package/qt5/qt5location/qt5location.hash +++ b/package/qt5/qt5location/qt5location.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtlocation-opensource-src-5.6.3.tar.xz.mirrorlist sha256 b7a81c58cc331fb15bea8fba21d3c9a59f6dc6ad2e4855e30a14ce59a2af1466 qtlocation-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtlocation-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 c81a42e44ebd4e9c33f7195e86af3deab9fde72ef0ad8dcb04acee250d356b0c qtlocation-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtlocation-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 7d65c8e155c617719e2fb56d39f11cf2bc911a43cf6667c124d86cc1a12619c9 qtlocation-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/package/qt5/qt5multimedia/Config.in b/package/qt5/qt5multimedia/Config.in index 5b14ac57f1..79d6022141 100644 --- a/package/qt5/qt5multimedia/Config.in +++ b/package/qt5/qt5multimedia/Config.in @@ -9,8 +9,8 @@ config BR2_PACKAGE_QT5MULTIMEDIA developers using C++. The Qt Multimedia module provides a rich feature set that - enables you to easily take advantage of a platform's multimedia - capabilities such as media playback and the use of camera and - radio devices. + enables you to easily take advantage of a platform's + multimedia capabilities such as media playback and the use + of camera and radio devices. http://doc.qt.io/qt-5/multimediaoverview.html diff --git a/package/qt5/qt5multimedia/qt5multimedia.hash b/package/qt5/qt5multimedia/qt5multimedia.hash index c3377d2b2e..69a378f409 100644 --- a/package/qt5/qt5multimedia/qt5multimedia.hash +++ b/package/qt5/qt5multimedia/qt5multimedia.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtmultimedia-opensource-src-5.6.3.tar.xz.mirrorlist sha256 ae36039ea8037742342f1615687e0ca2188f3ed0d700627a5e5be546c15e1b46 qtmultimedia-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtmultimedia-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 c9a62700024871f204e5f107894c3a339bd645bf6dbac2bcf1bff8ce46842520 qtmultimedia-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtmultimedia-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 9edc11d74e10e4ef857ab38a66700259829e6b5baa4ab0b30655f549d8939fff qtmultimedia-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5multimedia/qt5multimedia.mk b/package/qt5/qt5multimedia/qt5multimedia.mk index 835142e3a4..041ef49092 100644 --- a/package/qt5/qt5multimedia/qt5multimedia.mk +++ b/package/qt5/qt5multimedia/qt5multimedia.mk @@ -34,8 +34,15 @@ ifeq ($(BR2_PACKAGE_ALSA_LIB),y) QT5MULTIMEDIA_DEPENDENCIES += alsa-lib endif +# The mesa's EGL/eglplatform.h header includes X11 headers unless the flag +# MESA_EGL_NO_X11_HEADERS is defined. Tell to not include X11 headers if +# the libxcb is not selected. +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL)x$(BR2_PACKAGE_LIBXCB),yx) +QT5MULTIMEDIA_QMAKEFLAGS += QMAKE_CXXFLAGS+=-DMESA_EGL_NO_X11_HEADERS +endif + define QT5MULTIMEDIA_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake $(QT5MULTIMEDIA_QMAKEFLAGS)) endef define QT5MULTIMEDIA_BUILD_CMDS @@ -61,7 +68,8 @@ define QT5MULTIMEDIA_INSTALL_TARGET_LIBS endef endif -ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y) +# this is only built with quick/opengl support enabled +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK)$(BR2_PACKAGE_QT5_GL_AVAILABLE),yy) define QT5MULTIMEDIA_INSTALL_TARGET_QMLS cp -dpfr $(STAGING_DIR)/usr/qml/QtMultimedia $(TARGET_DIR)/usr/qml/ endef diff --git a/package/qt5/qt5quickcontrols/Config.in b/package/qt5/qt5quickcontrols/Config.in index 3cc5821b1e..59f6ca4114 100644 --- a/package/qt5/qt5quickcontrols/Config.in +++ b/package/qt5/qt5quickcontrols/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_QT5QUICKCONTROLS bool "qt5quickcontrols" - depends on BR2_PACKAGE_QT5_GL_AVAILABLE + depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE select BR2_PACKAGE_QT5DECLARATIVE select BR2_PACKAGE_QT5DECLARATIVE_QUICK @@ -14,5 +14,5 @@ config BR2_PACKAGE_QT5QUICKCONTROLS http://doc.qt.io/qt-5/qtquickcontrols-index.html comment "qt5quickcontrols needs an OpenGL-capable backend" - depends on !BR2_PACKAGE_QT5_GL_AVAILABLE + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE diff --git a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash b/package/qt5/qt5quickcontrols/qt5quickcontrols.hash index 4ac79328d9..37ddd00573 100644 --- a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash +++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.hash @@ -1,11 +1,14 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtquickcontrols-opensource-src-5.6.3.tar.xz.mirrorlist sha256 31bb0fc8f21b855af6ff02c415be3246128b523d0ef7c05e248e92281ab0db8e qtquickcontrols-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtquickcontrols-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 5f09ecf8648acd8abed20d727b8517e0c53cf945e83a992ee58d4baadd84bd1f qtquickcontrols-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtquickcontrols-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 da4dd353802197c2bb53c92a36cf7749c7d9dc29b4acc919b692683e9c1c3313 qtquickcontrols-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk index 88e767bcf9..87b855937a 100644 --- a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk +++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk @@ -11,7 +11,12 @@ QT5QUICKCONTROLS_DEPENDENCIES = qt5base qt5declarative QT5QUICKCONTROLS_INSTALL_STAGING = YES QT5QUICKCONTROLS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0, GFDL-1.3 (docs) + +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +QT5QUICKCONTROLS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.LGPL3 LICENSE.FDL +else QT5QUICKCONTROLS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL +endif define QT5QUICKCONTROLS_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) diff --git a/package/qt5/qt5quickcontrols2/Config.in b/package/qt5/qt5quickcontrols2/Config.in index 1066b173bd..d036f74bab 100644 --- a/package/qt5/qt5quickcontrols2/Config.in +++ b/package/qt5/qt5quickcontrols2/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_QT5QUICKCONTROLS2 bool "qt5quickcontrols2" - depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative/quick + depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST # qt5declarative/quick depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative/quick select BR2_PACKAGE_QT5DECLARATIVE select BR2_PACKAGE_QT5DECLARATIVE_QUICK @@ -16,5 +16,5 @@ config BR2_PACKAGE_QT5QUICKCONTROLS2 https://doc.qt.io/qt-5/qtquickcontrols2-index.html comment "qt5quickcontrols2 needs an OpenGL-capable backend" - depends on !BR2_PACKAGE_QT5_GL_AVAILABLE + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash index 7dec020363..ae6fb01f58 100644 --- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash +++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtquickcontrols2-opensource-src-5.6.3.tar.xz.mirrorlist sha256 ec5078470abe2da888c2be5d1749b5961ef5132487c180ce4d4aa19ea7ff81cb qtquickcontrols2-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtquickcontrols2-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 2b55dd3dd53b4a6abb0ceb74b7fb98a5e52e9056c71a6cdbaead5cdf9d1ac8d2 qtquickcontrols2-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtquickcontrols2-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 24b41ae6acec9372190147736ba31bf0b4467c71cc4b14817e3a82a750481679 qtquickcontrols2-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 d2cfc059acb4abd8e513cd0a73cd8489f34cbafa7bc34d5d31fb3210821cf8ca LICENSE.GPLv3 diff --git a/package/qt5/qt5script/0001-Detect-32-bits-armv8-a-architecture.patch b/package/qt5/qt5script/0001-Detect-32-bits-armv8-a-architecture.patch new file mode 100644 index 0000000000..7e4e524dc9 --- /dev/null +++ b/package/qt5/qt5script/0001-Detect-32-bits-armv8-a-architecture.patch @@ -0,0 +1,49 @@ +From daf2e222903bacf85f27dfb0fffc4459bbf58b77 Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= +Date: Sun, 10 Jun 2018 08:23:50 -0400 +Subject: [PATCH] Detect 32-bits armv8-a architecture +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +These toolchains define __ARM_ARCH_8A__ (for ARM architecture version) +and __arm__ (for 32-bits word-size; __aarch64__ for 64-bits). + +This commit catches this new architecture (armv8a) within a #ifdef/#endif +inside the if statement dedicated for 32-bits ARM detection. See commit +from WebKit [1] and [2]. + +Fixes: + + In file included from ../3rdparty/javascriptcore/JavaScriptCore/config.h:26, + from ../3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_compile.cpp:44: + ../3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h:370:6: error: #error "Not supported ARM architecture" + # error "Not supported ARM architecture" + ^~~~~ + +[1]: https://github.com/WebKit/webkit/commit/313d9fc4bdd2f020a5d0cf834c3c61982f161ebb +[2]: https://github.com/WebKit/webkit/commit/98f0de0709786f5d9b09dfd5908266990eb909d6 + +Signed-off-by: Gaël PORTAY +--- + src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h +index 00caa6d..c4b758e 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h +@@ -306,6 +306,10 @@ + || defined(__ARM_ARCH_7R__) + #define WTF_ARM_ARCH_VERSION 7 + ++#elif defined(__ARM_ARCH_8__) \ ++ || defined(__ARM_ARCH_8A__) ++#define WTF_ARM_ARCH_VERSION 8 ++ + /* RVCT sets _TARGET_ARCH_ARM */ + #elif defined(__TARGET_ARCH_ARM) + #define WTF_ARM_ARCH_VERSION __TARGET_ARCH_ARM +-- +2.17.1 + diff --git a/package/qt5/qt5script/qt5script.hash b/package/qt5/qt5script/qt5script.hash index 5257f563e4..acbd3dfab4 100644 --- a/package/qt5/qt5script/qt5script.hash +++ b/package/qt5/qt5script/qt5script.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtscript-opensource-src-5.6.3.tar.xz.mirrorlist sha256 f08720dd0e3a70377c1cb7fa3b129e24f4cdedade279e51b67c9271ab470b389 qtscript-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtscript-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 47807db5c2684609a0252601fda0a153530a2c97abb8c96df30f4e7897cd40f1 qtscript-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtscript-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 8dbf41abee35be4eb34a56ca3276fac83f3b8671db54c3c7e91c877225727220 qtscript-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 @@ -10,3 +10,5 @@ sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE. sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 5094ecb9c9dcd0eadc34f3c11511d9b5535063032bc150164ecd1a5d5a445547 src/3rdparty/javascriptcore/JavaScriptCore/COPYING.LIB +sha256 43b007cd3ac7b7ea5284b13e9580334028e6f42e859059605d57558f39374197 src/3rdparty/javascriptcore/JavaScriptCore/pcre/COPYING diff --git a/package/qt5/qt5script/qt5script.mk b/package/qt5/qt5script/qt5script.mk index b6c02d0d1c..9539f56df6 100644 --- a/package/qt5/qt5script/qt5script.mk +++ b/package/qt5/qt5script/qt5script.mk @@ -10,8 +10,21 @@ QT5SCRIPT_SOURCE = qtscript-opensource-src-$(QT5SCRIPT_VERSION).tar.xz QT5SCRIPT_DEPENDENCIES = qt5base QT5SCRIPT_INSTALL_STAGING = YES -QT5SCRIPT_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) -QT5SCRIPT_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL +# JavaScriptCore contains files under BSD-2-Clause, BSD-3-Clause, and LGPL-2+. +# This is linked into libQt5Script, which also contains Qt sources under +# LGPL-2.1 (only). Therefore, the library is LGPL-2.1 and BSD-3-Clause. +# libQt5ScriptTools is under the normal Qt opensource license. +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +QT5SCRIPT_LICENSE = LGPL-2.1, BSD-3-Clause, LGPL-3.0 or GPL-2.0+ (libQt5ScriptTools), GFDL-1.3 (docs) +QT5SCRIPT_LICENSE_FILES = LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.GPLv3 LICENSE.FDL +else +QT5SCRIPT_LICENSE = LGPL-2.1, BSD-3-Clause, LGPL-2.1 with exception or LGPL-3.0 with exception (libQt5ScriptTools), GFDL-1.3 (docs) +QT5SCRIPT_LICENSE_FILES = LICENSE.LGPLv21 LICENSE.LGPLv3 LGPL_EXCEPTION.txt LICENSE.FDL +endif +# License files from JavaScriptCore +QT5SCRIPT_LICENSE_FILES += \ + src/3rdparty/javascriptcore/JavaScriptCore/COPYING.LIB \ + src/3rdparty/javascriptcore/JavaScriptCore/pcre/COPYING define QT5SCRIPT_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) diff --git a/package/qt5/qt5scxml/Config.in b/package/qt5/qt5scxml/Config.in new file mode 100644 index 0000000000..d94b5ea1c6 --- /dev/null +++ b/package/qt5/qt5scxml/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_QT5SCXML + bool "qt5scxml" + depends on BR2_PACKAGE_QT5_VERSION_LATEST + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative + select BR2_PACKAGE_QT5BASE + select BR2_PACKAGE_QT5DECLARATIVE + help + Qt is a cross-platform application and UI framework for + developers using C++. + + The Qt SCXML module provides functionality to create state + machines from SCXML files. + + https://doc.qt.io/qt-5/qtscxml-index.html + +comment "qt5scxml needs at least qt-5.9" + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE + depends on !BR2_PACKAGE_QT5_VERSION_LATEST diff --git a/package/qt5/qt5scxml/qt5scxml.hash b/package/qt5/qt5scxml/qt5scxml.hash new file mode 100644 index 0000000000..4a1b3833bb --- /dev/null +++ b/package/qt5/qt5scxml/qt5scxml.hash @@ -0,0 +1,8 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtscxml-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 33947621fd6675c68d67ba11325746a82e7d582599ca0f04e03da4f60d82339a qtscxml-opensource-src-5.9.6.tar.xz + +# Hashes for license files: + +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 diff --git a/package/qt5/qt5scxml/qt5scxml.mk b/package/qt5/qt5scxml/qt5scxml.mk new file mode 100644 index 0000000000..2d197a2bca --- /dev/null +++ b/package/qt5/qt5scxml/qt5scxml.mk @@ -0,0 +1,49 @@ +################################################################################ +# +# qt5scxml +# +################################################################################ + +QT5SCXML_VERSION = $(QT5_VERSION) +QT5SCXML_SITE = $(QT5_SITE) +QT5SCXML_SOURCE = qtscxml-opensource-src-$(QT5SCXML_VERSION).tar.xz +QT5SCXML_DEPENDENCIES = qt5base qt5declarative +QT5SCXML_INSTALL_STAGING = YES + +QT5SCXML_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) +QT5SCXML_LICENSE_FILES = LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +QT5SCXML_LICENSE := $(QT5SCXML_LICENSE), BSD-3-Clause (examples) +endif + +define QT5SCXML_CONFIGURE_CMDS + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) +endef + +define QT5SCXML_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define QT5SCXML_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install + $(QT5_LA_PRL_FILES_FIXUP) +endef + +ifeq ($(BR2_STATIC_LIBS),) +define QT5SCXML_INSTALL_TARGET_LIBS + cp -dpf $(STAGING_DIR)/usr/lib/libQt5Scxml*.so.* $(TARGET_DIR)/usr/lib +endef +endif + +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT5SCXML_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/scxml $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif + +define QT5SCXML_INSTALL_TARGET_CMDS + $(QT5SCXML_INSTALL_TARGET_LIBS) + $(QT5SCXML_INSTALL_TARGET_EXAMPLES) +endef + +$(eval $(generic-package)) diff --git a/package/qt5/qt5sensors/qt5sensors.hash b/package/qt5/qt5sensors/qt5sensors.hash index 36162bf647..cf26d8f212 100644 --- a/package/qt5/qt5sensors/qt5sensors.hash +++ b/package/qt5/qt5sensors/qt5sensors.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtsensors-opensource-src-5.6.3.tar.xz.mirrorlist sha256 7502d4dc5571865a7eea2a4180c3be396dfb8ce22df4c4f3d7e9ff32ab334973 qtsensors-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtsensors-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 79441588c9c8bd1b34b91481441614077ea335a0005e79a1dc68ad964284b5d3 qtsensors-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtsensors-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 047fac53c555e685c346be53faacf581cb98d9e2a3193cb55f4e7e81fc51de27 qtsensors-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5serialbus/qt5serialbus.hash b/package/qt5/qt5serialbus/qt5serialbus.hash index 0a3155a7f4..8a77ab4dc5 100644 --- a/package/qt5/qt5serialbus/qt5serialbus.hash +++ b/package/qt5/qt5serialbus/qt5serialbus.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtserialbus-opensource-src-5.6.3.tar.xz.mirrorlist sha256 71c89be3879414e2a11cad93a4882758f9259b1c0aec980560309192c99f9a9e qtserialbus-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtserialbus-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 bbc24bdafd0191fc808e08b19f378e74bedbb79faf4e396b66ba7ca9fed9be08 qtserialbus-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtserialbus-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 f3e8d0e6ff836198c9fc5b9a2a89dea3c5d604c63a62126fab6d11c2763f172a qtserialbus-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/package/qt5/qt5serialport/qt5serialport.hash b/package/qt5/qt5serialport/qt5serialport.hash index 589b859f1b..21519d8329 100644 --- a/package/qt5/qt5serialport/qt5serialport.hash +++ b/package/qt5/qt5serialport/qt5serialport.hash @@ -1,13 +1,16 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtserialport-opensource-src-5.6.3.tar.xz.mirrorlist sha256 082d1fee2703aed19f840c4e4031e37c9b929e5bd8ebef2ebac4b28c509bae1a qtserialport-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtserialport-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 50ed9cc22db1615bc00267d24b0819813b854af3651ab6e5ffaa7f7c7e62cd42 qtserialport-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtserialport-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 741dfe9d132aed411ad163304fd4485df2da0b40fe57ebce2f6ed4b4043dfcb9 qtserialport-opensource-src-5.9.6.tar.xz # Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 sha256 e1251235ce9853eecfecfa905da9ee29e9b76e4db2a1c9c4a20699f460419b08 LICENSE.FDL sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 diff --git a/package/qt5/qt5serialport/qt5serialport.mk b/package/qt5/qt5serialport/qt5serialport.mk index 479870b16e..05442375e7 100644 --- a/package/qt5/qt5serialport/qt5serialport.mk +++ b/package/qt5/qt5serialport/qt5serialport.mk @@ -12,7 +12,7 @@ QT5SERIALPORT_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5SERIALPORT_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) -QT5SERIALPORT_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL +QT5SERIALPORT_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL else QT5SERIALPORT_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5SERIALPORT_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL diff --git a/package/qt5/qt5svg/qt5svg.hash b/package/qt5/qt5svg/qt5svg.hash index a3d8e6d6f8..ee2a77ffc2 100644 --- a/package/qt5/qt5svg/qt5svg.hash +++ b/package/qt5/qt5svg/qt5svg.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtsvg-opensource-src-5.6.3.tar.xz.mirrorlist sha256 100f183517b46554079beabd8d2cabe3070a74dd0a2e64b6a304eac71cfadcec qtsvg-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtsvg-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 ba96ebfbb60d2793547295b7122a127d21ba44cf586bfd3c8212c59d68661108 qtsvg-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtsvg-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 4318ce3c1f94ca865e3405aefb927f257ca824c5adc482302f1449ed34dbd8b8 qtsvg-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5tools/qt5tools.hash b/package/qt5/qt5tools/qt5tools.hash index f56e76447c..f3030b1326 100644 --- a/package/qt5/qt5tools/qt5tools.hash +++ b/package/qt5/qt5tools/qt5tools.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qttools-opensource-src-5.6.3.tar.xz.mirrorlist sha256 1a63ba838058d73cb540040589b235ded77f76402693decfd6d4d3c75ea67926 qttools-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qttools-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 2bb996118b68e9939c185a593837e5a41bb3667bf5d4d5134fac02598bd2d81a qttools-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qttools-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 50e75417ec0c74bb8b1989d1d8e981ee83690dce7dfc0c2169f7c00f397e5117 qttools-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5tools/qt5tools.mk b/package/qt5/qt5tools/qt5tools.mk index 3638b74163..cf181e576b 100644 --- a/package/qt5/qt5tools/qt5tools.mk +++ b/package/qt5/qt5tools/qt5tools.mk @@ -6,7 +6,7 @@ QT5TOOLS_VERSION = $(QT5_VERSION) QT5TOOLS_SITE = $(QT5_SITE) -QT5TOOLS_SOURCE = qttools-opensource-src-$(QT5BASE_VERSION).tar.xz +QT5TOOLS_SOURCE = qttools-opensource-src-$(QT5TOOLS_VERSION).tar.xz QT5TOOLS_DEPENDENCIES = qt5base QT5TOOLS_INSTALL_STAGING = YES diff --git a/package/qt5/qt5virtualkeyboard/Config.in b/package/qt5/qt5virtualkeyboard/Config.in index a68581544d..f0e4f03f61 100644 --- a/package/qt5/qt5virtualkeyboard/Config.in +++ b/package/qt5/qt5virtualkeyboard/Config.in @@ -1,13 +1,13 @@ comment "qt5virtualkeyboard needs at least qt-5.7 and an OpenGL backend" depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE - depends on !BR2_PACKAGE_QT5_VERSION_LATEST || !BR2_PACKAGE_QT5_GL_AVAILABLE + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST config BR2_PACKAGE_QT5VIRTUALKEYBOARD bool "qt5virtualkeyboard" # needs at least Qt 5.7 depends on BR2_PACKAGE_QT5_VERSION_LATEST depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative - depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative quick + depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST # qt5declarative/quick select BR2_PACKAGE_QT5DECLARATIVE select BR2_PACKAGE_QT5DECLARATIVE_QUICK select BR2_PACKAGE_QT5SVG diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash index 528c938e47..f31129b463 100644 --- a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtvirtualkeyboard-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 e836ca0348b21df28635e541713726444abed7b53a0acf3358cc90532e64c6fc qtvirtualkeyboard-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtvirtualkeyboard-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 217d8502f3f53b62e6e9108e0afb3694cf1d8ae8a6348d3625e3192fc126128c qtvirtualkeyboard-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5wayland/qt5wayland.hash b/package/qt5/qt5wayland/qt5wayland.hash index 9504c5e817..6e9079b90f 100644 --- a/package/qt5/qt5wayland/qt5wayland.hash +++ b/package/qt5/qt5wayland/qt5wayland.hash @@ -1,8 +1,8 @@ # hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwayland-opensource-src-5.6.3.tar.xz.mirrorlist sha256 5a475278b2db73aa7fa7f3ba6d98d8d72774f5c77e172495007d79f91d09daa3 qtwayland-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtwayland-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 f6434d03f933867dfb219abec2cf19e2c1d1ef23d46d12cb9333c8066027f6c6 qtwayland-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtwayland-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 6dd066b1ab518b16dc2bebc4b3629528a30161cfce48ce5d8482c67a570667d8 qtwayland-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5wayland/qt5wayland.mk b/package/qt5/qt5wayland/qt5wayland.mk index 0a7bdb8cf9..8a7f2e1fb5 100644 --- a/package/qt5/qt5wayland/qt5wayland.mk +++ b/package/qt5/qt5wayland/qt5wayland.mk @@ -26,6 +26,13 @@ ifeq ($(BR2_PACKAGE_QT5WAYLAND_COMPOSITOR),y) QT5WAYLAND_QMAKEFLAGS += CONFIG+=wayland-compositor endif +# The mesa's EGL/eglplatform.h header includes X11 headers unless the flag +# MESA_EGL_NO_X11_HEADERS is defined. Tell to not include X11 headers if +# the libxcb is not selected. +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL)x$(BR2_PACKAGE_LIBXCB),yx) +QT5WAYLAND_QMAKEFLAGS += QMAKE_CXXFLAGS+=-DMESA_EGL_NO_X11_HEADERS +endif + define QT5WAYLAND_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake $(QT5WAYLAND_QMAKEFLAGS)) endef diff --git a/package/qt5/qt5webchannel/qt5webchannel.hash b/package/qt5/qt5webchannel/qt5webchannel.hash index 7eae4a73ba..b78f9172ab 100644 --- a/package/qt5/qt5webchannel/qt5webchannel.hash +++ b/package/qt5/qt5webchannel/qt5webchannel.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwebchannel-opensource-src-5.6.3.tar.xz.mirrorlist sha256 8eb1b0ac2286653c7932758c21e7760788a5d7cfd6162da09afa926d5be50713 qtwebchannel-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtwebchannel-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 9c1b4defecadd7f9ee15d5815d464abef0961fc565cc7831720fc7c0c0d13a26 qtwebchannel-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtwebchannel-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 222df712c661d4003eebf28806cfd25047721e1c21b70ca320c5978c4a2c7ba5 qtwebchannel-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5webengine/5.6.3/0001-Change-default-SSL-directory.patch b/package/qt5/qt5webengine/5.6.3/0001-Change-default-SSL-directory.patch new file mode 100644 index 0000000000..15cd9f87bb --- /dev/null +++ b/package/qt5/qt5webengine/5.6.3/0001-Change-default-SSL-directory.patch @@ -0,0 +1,35 @@ +From fc41c0f572ff347142cca4bf5d82b87782bb5906 Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= +Date: Thu, 23 Nov 2017 16:18:06 -0500 +Subject: [PATCH] Change default SSL directory +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +Change the default SSL directory, as buildroot ca-cert package is +installed at /etc/ssl. That way, we don't have to use the SSL_CERT_DIR +environment at runtime. + +Upstream-Status: Inappropriate +Signed-off-by: Damien Riegel +Signed-off-by: Gaël PORTAY +--- + src/core/qtwebengine_extras.gypi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/qtwebengine_extras.gypi b/src/core/qtwebengine_extras.gypi +index 229421ef..3b2386c0 100644 +--- a/src/core/qtwebengine_extras.gypi ++++ b/src/core/qtwebengine_extras.gypi +@@ -96,7 +96,7 @@ + 'GL_GLEXT_PROTOTYPES', + 'EGL_EGLEXT_PROTOTYPES', + # At runtime the env variable SSL_CERT_DIR can be used to override this +- 'OPENSSLDIR="/usr/lib/ssl"', ++ 'OPENSSLDIR="/etc/ssl"', + 'OPENSSL_LOAD_CONF', + 'EGL_API_FB=1', + 'LINUX=1', +-- +2.15.0 + diff --git a/package/qt5/qt5webengine/5.9.2/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch b/package/qt5/qt5webengine/5.6.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch similarity index 74% rename from package/qt5/qt5webengine/5.9.2/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch rename to package/qt5/qt5webengine/5.6.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch index b8ef687f99..05ed2956d2 100644 --- a/package/qt5/qt5webengine/5.9.2/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch +++ b/package/qt5/qt5webengine/5.6.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch @@ -1,7 +1,10 @@ -From d4c621f6a6b87f2a86069fa393b9f7c4f9e7b9ad Mon Sep 17 00:00:00 2001 +From bdfd084296681bcead17c42f1e5cf0e24ee04f65 Mon Sep 17 00:00:00 2001 From: Viktor Engelmann Date: Fri, 7 Jul 2017 12:56:19 +0200 Subject: [PATCH] Load libEGL and libGLES2 symbols implicitly +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit Instead of explicitly loading libraries from hard-coded locations, we now just call dlopen(NULL, RTLD_LAZY). This returns a handle to @@ -10,18 +13,19 @@ both these libraries, because we link against them. It was necessary to bypass LoadLibrary, because that expects a non-NULL file path, so we couldn't pass NULL through that interface. +Upstream-Status: Merged Task-number: QTBUG-57761 Change-Id: I29f037dfe542222b5188a33c7727c81a464a87bb Reviewed-by: Allan Sandfeld Jensen Reviewed-by: Michal Klocek -Upstream-Status: Merged Signed-off-by: Gaël PORTAY +[gportay: backport from 5.9 and merge conflicts] --- src/core/surface_factory_qt.cpp | 40 ++++++++-------------------------------- 1 file changed, 8 insertions(+), 32 deletions(-) diff --git a/src/core/surface_factory_qt.cpp b/src/core/surface_factory_qt.cpp -index 36c05ec5..e8be8480 100644 +index 48c91bfc..c6059b67 100644 --- a/src/core/surface_factory_qt.cpp +++ b/src/core/surface_factory_qt.cpp @@ -51,51 +51,27 @@ @@ -49,7 +53,7 @@ index 36c05ec5..e8be8480 100644 - return library; -} - - bool SurfaceFactoryQt::LoadEGLGLES2Bindings() + bool SurfaceFactoryQt::LoadEGLGLES2Bindings(AddGLLibraryCallback add_gl_library, SetGLGetProcAddressProcCallback set_gl_get_proc_address) { - base::FilePath libEGLPath = QtWebEngineCore::toFilePath(QT_LIBDIR_EGL); - libEGLPath = libEGLPath.Append("libEGL.so.1"); @@ -67,8 +71,8 @@ index 36c05ec5..e8be8480 100644 return false; + } -- gl::GLGetProcAddressProc get_proc_address = reinterpret_cast(base::GetFunctionPointerFromNativeLibrary(eglLibrary, "eglGetProcAddress")); -+ gl::GLGetProcAddressProc get_proc_address = reinterpret_cast(base::GetFunctionPointerFromNativeLibrary(eglgles2Library, "eglGetProcAddress")); +- gfx::GLGetProcAddressProc get_proc_address = reinterpret_cast(base::GetFunctionPointerFromNativeLibrary(eglLibrary, "eglGetProcAddress")); ++ gfx::GLGetProcAddressProc get_proc_address = reinterpret_cast(base::GetFunctionPointerFromNativeLibrary(eglgles2Library, "eglGetProcAddress")); if (!get_proc_address) { LOG(ERROR) << "eglGetProcAddress not found."; - base::UnloadNativeLibrary(eglLibrary); @@ -77,13 +81,13 @@ index 36c05ec5..e8be8480 100644 return false; } - gl::SetGLGetProcAddressProc(get_proc_address); -- gl::AddGLNativeLibrary(eglLibrary); -- gl::AddGLNativeLibrary(gles2Library); -+ gl::AddGLNativeLibrary(eglgles2Library); + gfx::SetGLGetProcAddressProc(get_proc_address); +- gfx::AddGLNativeLibrary(eglLibrary); +- gfx::AddGLNativeLibrary(gles2Library); ++ gfx::AddGLNativeLibrary(eglgles2Library); return true; } -- -2.13.2 +2.15.0 diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in index d40b58062e..7c99255061 100644 --- a/package/qt5/qt5webengine/Config.in +++ b/package/qt5/qt5webengine/Config.in @@ -20,10 +20,6 @@ comment "qt5webengine needs an OpenGL and EGL-capable backend" depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_PACKAGE_HAS_LIBEGL -comment "qt5webengine is not available with Qt 5.6" - depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS - depends on BR2_PACKAGE_QT5_VERSION_5_6 - config BR2_PACKAGE_QT5WEBENGINE bool "qt5webengine" depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS @@ -35,7 +31,6 @@ config BR2_PACKAGE_QT5WEBENGINE depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative, qt5base-eglfs depends on BR2_PACKAGE_HAS_LIBEGL # qt5base-eglfs depends on BR2_PACKAGE_HAS_UDEV - depends on !BR2_PACKAGE_QT5_VERSION_5_6 # v8 (a chromium 3rd-party) compiles its internal host-tools with the # same word size as the target. For 32-bits targets, it adds the -m32 # flag (for 64-bits, it adds the -m64 flag). @@ -86,4 +81,14 @@ config BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS which includes required proprietary audio and video codecs, such as H.264 and MPEG layer-3 (MP3). +config BR2_PACKAGE_QT5WEBENGINE_ALSA + bool "alsa" + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_ALSA_LIB_MIXER + select BR2_PACKAGE_ALSA_LIB_RAWMIDI + select BR2_PACKAGE_ALSA_LIB_HWDEP + select BR2_PACKAGE_ALSA_LIB_SEQ + help + Enable ALSA support. + endif diff --git a/package/qt5/qt5webengine/chromium.inc b/package/qt5/qt5webengine/chromium-latest.inc similarity index 100% rename from package/qt5/qt5webengine/chromium.inc rename to package/qt5/qt5webengine/chromium-latest.inc diff --git a/package/qt5/qt5webengine/chromium-lts.inc b/package/qt5/qt5webengine/chromium-lts.inc new file mode 100644 index 0000000000..bff7931656 --- /dev/null +++ b/package/qt5/qt5webengine/chromium-lts.inc @@ -0,0 +1,248 @@ +CHROMIUM_LICENSE_FILES = \ + src/3rdparty/chromium/url/third_party/mozilla/LICENSE.txt \ + src/3rdparty/chromium/sdch/open-vcdiff/COPYING \ + src/3rdparty/chromium/tools/gyp/LICENSE \ + src/3rdparty/chromium/v8/LICENSE.v8 \ + src/3rdparty/chromium/v8/LICENSE.strongtalk \ + src/3rdparty/chromium/v8/LICENSE.valgrind \ + src/3rdparty/chromium/v8/LICENSE \ + src/3rdparty/chromium/v8/src/third_party/fdlibm/LICENSE \ + src/3rdparty/chromium/v8/src/third_party/valgrind/LICENSE \ + src/3rdparty/chromium/v8/src/third_party/vtune/LICENSE \ + src/3rdparty/chromium/base/third_party/nspr/LICENSE \ + src/3rdparty/chromium/base/third_party/superfasthash/LICENSE \ + src/3rdparty/chromium/base/third_party/xdg_mime/LICENSE \ + src/3rdparty/chromium/base/third_party/dynamic_annotations/LICENSE \ + src/3rdparty/chromium/base/third_party/xdg_user_dirs/LICENSE \ + src/3rdparty/chromium/base/third_party/dmg_fp/LICENSE \ + src/3rdparty/chromium/base/third_party/valgrind/LICENSE \ + src/3rdparty/chromium/base/third_party/icu/LICENSE \ + src/3rdparty/chromium/base/third_party/libevent/LICENSE \ + src/3rdparty/chromium/base/third_party/symbolize/LICENSE \ + src/3rdparty/chromium/testing/gtest/LICENSE \ + src/3rdparty/chromium/testing/gmock/scripts/generator/LICENSE \ + src/3rdparty/chromium/testing/gmock/LICENSE \ + src/3rdparty/chromium/ppapi/LICENSE \ + src/3rdparty/chromium/third_party/class-dump/LICENSE \ + src/3rdparty/chromium/third_party/libxslt/linux/COPYING \ + src/3rdparty/chromium/third_party/proguard/LICENSE \ + src/3rdparty/chromium/third_party/pexpect/LICENSE \ + src/3rdparty/chromium/third_party/webtreemap/src/COPYING \ + src/3rdparty/chromium/third_party/usb_ids/LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cctools/cctools/APPLE_LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/LICENSE \ + src/3rdparty/chromium/third_party/Python-Markdown/LICENSE.md \ + src/3rdparty/chromium/third_party/fips181/COPYING \ + src/3rdparty/chromium/third_party/talloc/LICENSE \ + src/3rdparty/chromium/third_party/libvpx_new/source/libvpx/third_party/libwebm/LICENSE.TXT \ + src/3rdparty/chromium/third_party/libvpx_new/source/libvpx/third_party/googletest/src/LICENSE \ + src/3rdparty/chromium/third_party/libvpx_new/source/libvpx/third_party/x86inc/LICENSE \ + src/3rdparty/chromium/third_party/libvpx_new/source/libvpx/LICENSE \ + src/3rdparty/chromium/third_party/devscripts/COPYING \ + src/3rdparty/chromium/third_party/webdriver/COPYING \ + src/3rdparty/chromium/third_party/webdriver/LICENSE \ + src/3rdparty/chromium/third_party/cld/LICENSE \ + src/3rdparty/chromium/third_party/jsoncpp/LICENSE \ + src/3rdparty/chromium/third_party/bintrees/LICENSE.txt \ + src/3rdparty/chromium/third_party/yasm/source/patched-yasm/COPYING \ + src/3rdparty/chromium/third_party/libva/COPYING \ + src/3rdparty/chromium/third_party/bspatch/LICENSE \ + src/3rdparty/chromium/third_party/lzma_sdk/LICENSE \ + src/3rdparty/chromium/third_party/v4l2capture/LICENSE \ + src/3rdparty/chromium/third_party/boringssl/src/LICENSE \ + src/3rdparty/chromium/third_party/cardboard-java/LICENSE \ + src/3rdparty/chromium/third_party/errorprone/LICENSE \ + src/3rdparty/chromium/third_party/fontconfig/LICENSE \ + src/3rdparty/chromium/third_party/fontconfig/src/COPYING \ + src/3rdparty/chromium/third_party/python_gflags/COPYING \ + src/3rdparty/chromium/third_party/gif_player/LICENSE \ + src/3rdparty/chromium/third_party/libexif/sources/COPYING \ + src/3rdparty/chromium/third_party/sinonjs/LICENSE \ + src/3rdparty/chromium/third_party/lcov/COPYING \ + src/3rdparty/chromium/third_party/iaccessible2/LICENSE \ + src/3rdparty/chromium/third_party/cros_system_api/LICENSE \ + src/3rdparty/chromium/third_party/libpng/LICENSE \ + src/3rdparty/chromium/third_party/speech-dispatcher/COPYING \ + src/3rdparty/chromium/third_party/skia/third_party/libpng/LICENSE \ + src/3rdparty/chromium/third_party/skia/third_party/etc1/LICENSE \ + src/3rdparty/chromium/third_party/skia/platform_tools/android/third_party/ashmem/LICENSE \ + src/3rdparty/chromium/third_party/skia/LICENSE \ + src/3rdparty/chromium/third_party/drmemory/LICENSE \ + src/3rdparty/chromium/third_party/v4l-utils/COPYING.libv4l \ + src/3rdparty/chromium/third_party/iccjpeg/LICENSE \ + src/3rdparty/chromium/third_party/wayland-protocols/LICENSE \ + src/3rdparty/chromium/third_party/wayland-protocols/src/COPYING \ + src/3rdparty/chromium/third_party/qunit/LICENSE \ + src/3rdparty/chromium/third_party/zlib/LICENSE \ + src/3rdparty/chromium/third_party/minigbm/LICENSE \ + src/3rdparty/chromium/third_party/tlslite/LICENSE \ + src/3rdparty/chromium/third_party/qcms/src/COPYING \ + src/3rdparty/chromium/third_party/mach_override/LICENSE \ + src/3rdparty/chromium/third_party/mesa/LICENSE \ + src/3rdparty/chromium/third_party/mesa/src/docs/COPYING \ + src/3rdparty/chromium/third_party/mesa/src/docs/license.html \ + src/3rdparty/chromium/third_party/mesa/src/src/gallium/drivers/radeon/LICENSE.TXT \ + src/3rdparty/chromium/third_party/mesa/src/src/mapi/glapi/gen/license.py \ + src/3rdparty/chromium/third_party/usrsctp/usrsctplib/LICENSE.md \ + src/3rdparty/chromium/third_party/usrsctp/LICENSE \ + src/3rdparty/chromium/third_party/webrtc/examples/objc/AppRTCDemo/third_party/SocketRocket/LICENSE \ + src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md \ + src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE \ + src/3rdparty/chromium/third_party/webrtc/LICENSE_THIRD_PARTY \ + src/3rdparty/chromium/third_party/webrtc/LICENSE \ + src/3rdparty/chromium/third_party/libwebp/LICENSE \ + src/3rdparty/chromium/third_party/snappy/src/COPYING \ + src/3rdparty/chromium/third_party/robolectric/licenses/extreme.indiana.edu.license.txt \ + src/3rdparty/chromium/third_party/robolectric/licenses/javolution.license.txt \ + src/3rdparty/chromium/third_party/robolectric/licenses/pivotal.labs.license.txt \ + src/3rdparty/chromium/third_party/robolectric/LICENSE \ + src/3rdparty/chromium/third_party/flot/LICENSE.txt \ + src/3rdparty/chromium/third_party/openmax_dl/LICENSE \ + src/3rdparty/chromium/third_party/safe_browsing/testing/LICENSE \ + src/3rdparty/chromium/third_party/harfbuzz-ng/COPYING \ + src/3rdparty/chromium/third_party/protobuf/COPYING.txt \ + src/3rdparty/chromium/third_party/typ/LICENSE \ + src/3rdparty/chromium/third_party/d3/src/LICENSE \ + src/3rdparty/chromium/third_party/libjpeg_turbo/LICENSE.txt \ + src/3rdparty/chromium/third_party/libwebm/source/LICENSE.TXT \ + src/3rdparty/chromium/third_party/expat/files/COPYING \ + src/3rdparty/chromium/third_party/smhasher/LICENSE \ + src/3rdparty/chromium/third_party/gardiner_mod/LICENSE \ + src/3rdparty/chromium/third_party/closure_compiler/compiler/COPYING \ + src/3rdparty/chromium/third_party/closure_compiler/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-APPLE \ + src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2.1 \ + src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2 \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/scripts/closure/COPYING \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm_modes/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/acorn/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE_python \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/license.py \ + src/3rdparty/chromium/third_party/WebKit/Source/wtf/dtoa/COPYING \ + src/3rdparty/chromium/third_party/WebKit/Source/wtf/dtoa/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/LICENSE_FOR_ABOUT_CREDITS \ + src/3rdparty/chromium/third_party/WebKit/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/mod_pywebsocket/COPYING \ + src/3rdparty/chromium/third_party/modp_b64/LICENSE \ + src/3rdparty/chromium/third_party/freetype2/src/docs/LICENSE.TXT \ + src/3rdparty/chromium/third_party/molokocacao/LICENSE \ + src/3rdparty/chromium/third_party/wayland/LICENSE \ + src/3rdparty/chromium/third_party/wayland/src/COPYING \ + src/3rdparty/chromium/third_party/polymer/v1_0/components-chromium/polymer/LICENSE.txt \ + src/3rdparty/chromium/third_party/ocmock/License.txt \ + src/3rdparty/chromium/third_party/swiftshader/LICENSE \ + src/3rdparty/chromium/third_party/hwcplus/LICENSE \ + src/3rdparty/chromium/third_party/libsecret/LICENSE \ + src/3rdparty/chromium/third_party/nss/nspr/LICENSE \ + src/3rdparty/chromium/third_party/nss/nss/COPYING \ + src/3rdparty/chromium/third_party/jinja2/LICENSE \ + src/3rdparty/chromium/third_party/decklink/LICENSE \ + src/3rdparty/chromium/third_party/hunspell/COPYING \ + src/3rdparty/chromium/third_party/hunspell/COPYING.LGPL \ + src/3rdparty/chromium/third_party/hunspell/COPYING.MPL \ + src/3rdparty/chromium/third_party/hunspell/src/hunspell/license.myspell \ + src/3rdparty/chromium/third_party/hunspell/src/hunspell/license.hunspell \ + src/3rdparty/chromium/third_party/pyelftools/elftools/construct/LICENSE \ + src/3rdparty/chromium/third_party/pyelftools/LICENSE \ + src/3rdparty/chromium/third_party/jmake/LICENSE \ + src/3rdparty/chromium/third_party/requests/LICENSE \ + src/3rdparty/chromium/third_party/ijar/LICENSE \ + src/3rdparty/chromium/third_party/pycoverage/LICENSE \ + src/3rdparty/chromium/third_party/re2/LICENSE \ + src/3rdparty/chromium/third_party/re2/src/LICENSE \ + src/3rdparty/chromium/third_party/blanketjs/LICENSE \ + src/3rdparty/chromium/third_party/pywebsocket/src/LICENSE \ + src/3rdparty/chromium/third_party/closure_linter/LICENSE \ + src/3rdparty/chromium/third_party/webpagereplay/COPYING \ + src/3rdparty/chromium/third_party/webpagereplay/third_party/dns/LICENSE \ + src/3rdparty/chromium/third_party/webpagereplay/third_party/ipfw_win32/LICENSE \ + src/3rdparty/chromium/third_party/webpagereplay/third_party/ipaddr/COPYING \ + src/3rdparty/chromium/third_party/libusb/src/COPYING \ + src/3rdparty/chromium/third_party/libsrtp/srtp/LICENSE \ + src/3rdparty/chromium/third_party/opus/src/LICENSE_PLEASE_READ.txt \ + src/3rdparty/chromium/third_party/opus/src/COPYING \ + src/3rdparty/chromium/third_party/isimpledom/LICENSE \ + src/3rdparty/chromium/third_party/mt19937ar/LICENSE \ + src/3rdparty/chromium/third_party/openh264/src/LICENSE \ + src/3rdparty/chromium/third_party/markupsafe/LICENSE \ + src/3rdparty/chromium/third_party/ply/license.patch \ + src/3rdparty/chromium/third_party/ply/LICENSE \ + src/3rdparty/chromium/third_party/khronos/LICENSE \ + src/3rdparty/chromium/third_party/sfntly/COPYING.txt \ + src/3rdparty/chromium/third_party/sfntly/src/cpp/COPYING.txt \ + src/3rdparty/chromium/third_party/sfntly/src/java/COPYING \ + src/3rdparty/chromium/third_party/ots/LICENSE \ + src/3rdparty/chromium/third_party/libXNVCtrl/LICENSE \ + src/3rdparty/chromium/third_party/brotli/LICENSE \ + src/3rdparty/chromium/third_party/icu/license.html \ + src/3rdparty/chromium/third_party/icu/LICENSE \ + src/3rdparty/chromium/third_party/custom_tabs_client/LICENSE \ + src/3rdparty/chromium/third_party/motemplate/LICENSE \ + src/3rdparty/chromium/third_party/apple_apsl/LICENSE \ + src/3rdparty/chromium/third_party/angle/LICENSE \ + src/3rdparty/chromium/third_party/angle/src/third_party/murmurhash/LICENSE \ + src/3rdparty/chromium/third_party/angle/src/third_party/compiler/LICENSE \ + src/3rdparty/chromium/third_party/npapi/LICENSE \ + src/3rdparty/chromium/third_party/sudden_motion_sensor/LICENSE \ + src/3rdparty/chromium/third_party/libjpeg/LICENSE \ + src/3rdparty/chromium/third_party/ub-uiautomator/LICENSE \ + src/3rdparty/chromium/third_party/woff2/LICENSE \ + src/3rdparty/chromium/third_party/appurify-python/LICENSE \ + src/3rdparty/chromium/third_party/tcmalloc/vendor/COPYING \ + src/3rdparty/chromium/third_party/tcmalloc/LICENSE \ + src/3rdparty/chromium/third_party/jstemplate/COPYING \ + src/3rdparty/chromium/third_party/dom_distiller_js/LICENSE \ + src/3rdparty/chromium/third_party/mocha/LICENSE \ + src/3rdparty/chromium/third_party/x86inc/LICENSE \ + src/3rdparty/chromium/third_party/checkstyle/LICENSE.apache20 \ + src/3rdparty/chromium/third_party/checkstyle/LICENSE \ + src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv3 \ + src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv3 \ + src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/full_lgpl.txt \ + src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/jpeg.txt \ + src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/mips.txt \ + src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/oggparse_ahlberg_rullgayrd_2005.txt \ + src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv2 \ + src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv2.1 \ + src/3rdparty/chromium/third_party/ffmpeg/LICENSE.md \ + src/3rdparty/chromium/third_party/flac/COPYING.Xiph \ + src/3rdparty/chromium/third_party/flac/COPYING.GPL \ + src/3rdparty/chromium/third_party/flac/COPYING.LGPL \ + src/3rdparty/chromium/third_party/flac/COPYING.FDL \ + src/3rdparty/chromium/third_party/pymock/LICENSE.txt \ + src/3rdparty/chromium/third_party/sqlite/sqlite-src-3080704/autoconf/tea/license.terms \ + src/3rdparty/chromium/third_party/sqlite/LICENSE \ + src/3rdparty/chromium/third_party/sqlite/src/autoconf/tea/license.terms \ + src/3rdparty/chromium/third_party/xdg-utils/LICENSE \ + src/3rdparty/chromium/third_party/mockito/LICENSE \ + src/3rdparty/chromium/third_party/simplejson/LICENSE.txt \ + src/3rdparty/chromium/third_party/py_trace_event/src/LICENSE \ + src/3rdparty/chromium/third_party/pyftpdlib/src/LICENSE \ + src/3rdparty/chromium/third_party/libudev/LICENSE \ + src/3rdparty/chromium/third_party/libyuv/LICENSE_THIRD_PARTY \ + src/3rdparty/chromium/third_party/libyuv/third_party/gflags/LICENSE \ + src/3rdparty/chromium/third_party/libyuv/LICENSE \ + src/3rdparty/chromium/third_party/mojo/LICENSE \ + src/3rdparty/chromium/third_party/leveldatabase/src/LICENSE \ + src/3rdparty/chromium/third_party/chaijs/LICENSE \ + src/3rdparty/chromium/third_party/web-animations-js/sources/COPYING \ + src/3rdparty/chromium/third_party/web-animations-js/LICENSE \ + src/3rdparty/chromium/third_party/mozilla/LICENSE \ + src/3rdparty/chromium/third_party/libjingle/source/talk/LICENSE_THIRD_PARTY \ + src/3rdparty/chromium/third_party/libjingle/source/talk/COPYING \ + src/3rdparty/chromium/LICENSE.chromium_os \ + src/3rdparty/chromium/net/third_party/mozilla_security_manager/LICENSE \ + src/3rdparty/chromium/net/third_party/nss/LICENSE \ + src/3rdparty/chromium/crypto/third_party/nss/LICENSE \ + src/3rdparty/chromium/chrome/third_party/chromevox/third_party/closure-library/LICENSE \ + src/3rdparty/chromium/chrome/third_party/chromevox/LICENSE \ + src/3rdparty/chromium/LICENSE \ + src/3rdparty/chromium/mojo/public/LICENSE \ + src/3rdparty/chromium/buildtools/LICENSE \ + src/3rdparty/ninja/COPYING diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash index 918f7edb3a..27ce589803 100644 --- a/package/qt5/qt5webengine/qt5webengine.hash +++ b/package/qt5/qt5webengine/qt5webengine.hash @@ -1,2 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtwebengine-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 cab069e4589f806640bebe4077c70e5cd5ffeb146c6e8caca6c4454fc0c4a108 qtwebengine-opensource-src-5.9.2.tar.xz +# Hash from https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwebengine-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 009d69fb39f6c0e2b0cd89a7e9302cd0ae1872d02c787d3a37f2cacca5ddb7a7 qtwebengine-opensource-src-5.6.3.tar.xz + +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtwebengine-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 4766707f5d8c174a284c0ed813bc6163db0220d69736424d3370b44b640443a1 qtwebengine-opensource-src-5.9.6.tar.xz diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk index 96dd401c6c..0efc34cc18 100644 --- a/package/qt5/qt5webengine/qt5webengine.mk +++ b/package/qt5/qt5webengine/qt5webengine.mk @@ -12,7 +12,11 @@ QT5WEBENGINE_DEPENDENCIES = ffmpeg libglib2 libvpx opus webp qt5base \ host-pkgconf host-python QT5WEBENGINE_INSTALL_STAGING = YES -include package/qt5/qt5webengine/chromium.inc +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +include package/qt5/qt5webengine/chromium-latest.inc +else +include package/qt5/qt5webengine/chromium-lts.inc +endif QT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \ LICENSE.GPLv3 LICENSE.LGPL3 $(CHROMIUM_LICENSE_FILES) @@ -28,6 +32,12 @@ ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y) QT5WEBENGINE_QMAKEFLAGS += WEBENGINE_CONFIG+=use_proprietary_codecs endif +ifeq ($(BR2_PACKAGE_QT5WEBENGINE_ALSA),y) +QT5WEBENGINE_DEPENDENCIES += alsa-lib +else +QT5WEBENGINE_QMAKEFLAGS += QT_CONFIG-=alsa +endif + # QtWebengine's build system uses python, but only supports python2. We work # around this by forcing python2 early in the PATH, via a python->python2 # symlink. @@ -39,7 +49,7 @@ endef QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_PYTHON2_SYMLINK define QT5WEBENGINE_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(HOST_DIR)/usr/bin/qmake $(QT5WEBENGINE_QMAKEFLAGS)) + (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(HOST_DIR)/bin/qmake $(QT5WEBENGINE_QMAKEFLAGS)) endef define QT5WEBENGINE_BUILD_CMDS diff --git a/package/qt5/qt5webkit-examples/0001-Build-examples.patch b/package/qt5/qt5webkit-examples/0001-Build-examples.patch new file mode 100644 index 0000000000..6303006f62 --- /dev/null +++ b/package/qt5/qt5webkit-examples/0001-Build-examples.patch @@ -0,0 +1,52 @@ +From 78f558df35860484711a600d155ae7a13ebf44b2 Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= +Date: Tue, 28 Nov 2017 23:14:42 -0500 +Subject: [PATCH 1/1] Build examples +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +This patch improves the qt5webkit examples build for 2 aspects: + + - Allows to build even if qt5base examples are not enabled + - Builds xmlpatterns example only if the qt5xmlpattern package + has been built + +Signed-off-by: Massimo Callegari +Signed-off-by: Gaël PORTAY +[gportay: build imageanalyzer example if concurrent module is built] +--- + examples/webkitwidgets/webkitwidgets.pro | 7 ++++--- + qtwebkit-examples.pro | 1 + + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/examples/webkitwidgets/webkitwidgets.pro b/examples/webkitwidgets/webkitwidgets.pro +index ab20df4..67f6785 100644 +--- a/examples/webkitwidgets/webkitwidgets.pro ++++ b/examples/webkitwidgets/webkitwidgets.pro +@@ -4,9 +4,10 @@ SUBDIRS += domtraversal \ + previewer \ + fancybrowser \ + simpleselector \ +- imageanalyzer \ + framecapture \ + browser \ + embedded \ +- scroller \ +- xmlpatterns ++ scroller ++ ++qtHaveModule(xmlpatterns): SUBDIRS += xmlpatterns ++qtHaveModule(concurrent): SUBDIRS += imageanalyzer +diff --git a/qtwebkit-examples.pro b/qtwebkit-examples.pro +index 3fcecf1..2ade7ff 100644 +--- a/qtwebkit-examples.pro ++++ b/qtwebkit-examples.pro +@@ -3,3 +3,4 @@ requires(qtHaveModule(webkit)) + load(qt_parts) + + SUBDIRS += doc ++SUBDIRS += examples +-- +2.15.0 + diff --git a/package/qt5/qt5webkit-examples/Config.in b/package/qt5/qt5webkit-examples/Config.in new file mode 100644 index 0000000000..47bbcbaa68 --- /dev/null +++ b/package/qt5/qt5webkit-examples/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_QT5WEBKIT_EXAMPLES + bool "qt5webkit-examples" + depends on BR2_PACKAGE_QT5WEBKIT + help + Qt is a cross-platform application and UI framework for + developers using C++. + + This package contains examples for the qt5webkit module. + + http://qt.io diff --git a/package/qt5/qt5webkit-examples/qt5webkit-examples.hash b/package/qt5/qt5webkit-examples/qt5webkit-examples.hash new file mode 100644 index 0000000000..6e4c090fdd --- /dev/null +++ b/package/qt5/qt5webkit-examples/qt5webkit-examples.hash @@ -0,0 +1,5 @@ +# Hash from: https://download.qt.io/community_releases/5.6/5.6.3/qtwebkit-examples-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 2d6ce7146298d03b443cca4390bbfee17c4c0b08a31efcbf9fe0732291a6169e qtwebkit-examples-opensource-src-5.6.3.tar.xz + +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-examples-opensource-src-5.9.1.tar.xz.mirrorlist +sha256 e4ce4de6b468243abad2baabbe8ddfb05d25b186529bfe88cb8662fc983f54d0 qtwebkit-examples-opensource-src-5.9.1.tar.xz diff --git a/package/qt5/qt5webkit-examples/qt5webkit-examples.mk b/package/qt5/qt5webkit-examples/qt5webkit-examples.mk new file mode 100644 index 0000000000..4c01d8318a --- /dev/null +++ b/package/qt5/qt5webkit-examples/qt5webkit-examples.mk @@ -0,0 +1,54 @@ +################################################################################ +# +# qt5webkit-examples +# +################################################################################ + +# no 5.9.2 package available, fall back to 5.9.1 version +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +QT5WEBKIT_EXAMPLES_VERSION = 5.9.1 +QT5WEBKIT_EXAMPLES_SITE = https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules +else +QT5WEBKIT_EXAMPLES_VERSION = $(QT5_VERSION) +QT5WEBKIT_EXAMPLES_SITE = https://download.qt.io/community_releases/5.6/$(QT5_VERSION) +endif + +QT5WEBKIT_EXAMPLES_SOURCE = qtwebkit-examples-opensource-src-$(QT5WEBKIT_VERSION).tar.xz +QT5WEBKIT_EXAMPLES_DEPENDENCIES = qt5base qt5webkit + +QT5WEBKIT_EXAMPLES_LICENSE_FILES = LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.GPLv2 LICENSE.GPLv3 + +QT5WEBKIT_EXAMPLES_LICENSE = LGPL-2.1 with exception or LGPL-3 or GPL-2 or GPL-3 +# Source files contain references to LGPL_EXCEPTION.txt but it is not included +# in the archive. + +ifeq ($(BR2_PACKAGE_QT5XMLPATTERNS),y) +QT5WEBKIT_EXAMPLES_DEPENDENCIES += qt5xmlpatterns +endif + +define QT5WEBKIT_EXAMPLES_CONFIGURE_CMDS + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) +endef + +define QT5WEBKIT_EXAMPLES_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define QT5WEBKIT_EXAMPLES_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install +endef + +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) +QT5WEBKIT_EXAMPLES_DEPENDENCIES += qt5declarative +define QT5WEBKIT_EXAMPLES_INSTALL_QML + cp -dpfr $(@D)/examples/webkitqml $(TARGET_DIR)/usr/lib/qt/examples +endef +endif + +define QT5WEBKIT_EXAMPLES_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/usr/lib/qt/examples + cp -dpfr $(@D)/examples/webkitwidgets $(TARGET_DIR)/usr/lib/qt/examples + $(QT5WEBKIT_EXAMPLES_INSTALL_QML) +endef + +$(eval $(generic-package)) diff --git a/package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch b/package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch new file mode 100644 index 0000000000..9c2205dd94 --- /dev/null +++ b/package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch @@ -0,0 +1,48 @@ +From 068bf2d2d91382ea0d8ec24a142a30ea429704db Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= +Date: Tue, 15 Aug 2017 18:28:49 -0400 +Subject: [PATCH] Detect 32-bits armv8-a architecture +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +Adds WTF platform support for the 32-bits armv8-a architectures. + +Theses toolchains define __ARM_ARCH_8A__ (for ARM architecture version) +and __arm__ (for 32-bits word-size; __aarch64__ for 64-bits). + +This commit catches this new architecture (armv8a) within a #ifdef/#endif +inside the if statement dedicated for 32-bits ARM detection. + +Fixes: + + In file included from ./config.h:30:0, + from ... + ./wtf/Platform.h:323:6: error: #error "Not supported ARM architecture" + # error "Not supported ARM architecture" + ^~~~~ + +Upstream-Status: Backport [with adaptations] +Signed-off-by: Gaël PORTAY +--- + Source/WTF/wtf/Platform.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 562840cf7..9cf656845 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -243,6 +243,10 @@ + || defined(__ARM_ARCH_7S__) + #define WTF_ARM_ARCH_VERSION 7 + ++#elif defined(__ARM_ARCH_8__) \ ++ || defined(__ARM_ARCH_8A__) ++#define WTF_ARM_ARCH_VERSION 8 ++ + /* MSVC sets _M_ARM */ + #elif defined(_M_ARM) + #define WTF_ARM_ARCH_VERSION _M_ARM +-- +2.16.1 + diff --git a/package/qt5/qt5webkit/5.9.1/0003-Detect-32-bits-armv8-a-architecture.patch b/package/qt5/qt5webkit/5.9.1/0003-Detect-32-bits-armv8-a-architecture.patch new file mode 100644 index 0000000000..9c2205dd94 --- /dev/null +++ b/package/qt5/qt5webkit/5.9.1/0003-Detect-32-bits-armv8-a-architecture.patch @@ -0,0 +1,48 @@ +From 068bf2d2d91382ea0d8ec24a142a30ea429704db Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= +Date: Tue, 15 Aug 2017 18:28:49 -0400 +Subject: [PATCH] Detect 32-bits armv8-a architecture +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +Adds WTF platform support for the 32-bits armv8-a architectures. + +Theses toolchains define __ARM_ARCH_8A__ (for ARM architecture version) +and __arm__ (for 32-bits word-size; __aarch64__ for 64-bits). + +This commit catches this new architecture (armv8a) within a #ifdef/#endif +inside the if statement dedicated for 32-bits ARM detection. + +Fixes: + + In file included from ./config.h:30:0, + from ... + ./wtf/Platform.h:323:6: error: #error "Not supported ARM architecture" + # error "Not supported ARM architecture" + ^~~~~ + +Upstream-Status: Backport [with adaptations] +Signed-off-by: Gaël PORTAY +--- + Source/WTF/wtf/Platform.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 562840cf7..9cf656845 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -243,6 +243,10 @@ + || defined(__ARM_ARCH_7S__) + #define WTF_ARM_ARCH_VERSION 7 + ++#elif defined(__ARM_ARCH_8__) \ ++ || defined(__ARM_ARCH_8A__) ++#define WTF_ARM_ARCH_VERSION 8 ++ + /* MSVC sets _M_ARM */ + #elif defined(_M_ARM) + #define WTF_ARM_ARCH_VERSION _M_ARM +-- +2.16.1 + diff --git a/package/qt5/qt5webkit/Config.in b/package/qt5/qt5webkit/Config.in index 109f60125e..72c641b9f7 100644 --- a/package/qt5/qt5webkit/Config.in +++ b/package/qt5/qt5webkit/Config.in @@ -21,10 +21,11 @@ config BR2_PACKAGE_QT5WEBKIT allows QML applications to render regions of dynamic web content. - This package has been removed from the official release packages - since Qt5.6.0, but it is still available for users to build it - from source. This is useful for platforms without GPU since the - successor (QtWebEngine) requires OpenGL support. + This package has been removed from the official release + packages since Qt5.6.0, but it is still available for users + to build it from source. This is useful for platforms + without GPU since the successor (QtWebEngine) requires + OpenGL support. http://doc.qt.io/archives/qt-5.5/qtwebkit-index.html diff --git a/package/qt5/qt5webkit/qt5webkit.hash b/package/qt5/qt5webkit/qt5webkit.hash index aa3a71c8d0..57ff2ac1b7 100644 --- a/package/qt5/qt5webkit/qt5webkit.hash +++ b/package/qt5/qt5webkit/qt5webkit.hash @@ -1,7 +1,7 @@ -# Hash from: http://download.qt.io/community_releases/5.6/5.6.3/qtwebkit-opensource-src-5.6.3.tar.xz.mirrorlist +# Hash from: https://download.qt.io/community_releases/5.6/5.6.3/qtwebkit-opensource-src-5.6.3.tar.xz.mirrorlist sha256 098c6bb25798fbf1b619b540621287787064efc9b586d76ac0ce7e39b87a3896 qtwebkit-opensource-src-5.6.3.tar.xz -# hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz.mirrorlist +# hash from: https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz.mirrorlist sha256 28a560becd800a4229bfac317c2e5407cd3cc95308bc4c3ca90dba2577b052cf qtwebkit-opensource-src-5.9.1.tar.xz # Hashes for license files: diff --git a/package/qt5/qt5webkit/qt5webkit.mk b/package/qt5/qt5webkit/qt5webkit.mk index 7925b114e6..5186671663 100644 --- a/package/qt5/qt5webkit/qt5webkit.mk +++ b/package/qt5/qt5webkit/qt5webkit.mk @@ -7,10 +7,10 @@ # no 5.9.2 package available, fall back to 5.9.1 version ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5WEBKIT_VERSION = 5.9.1 -QT5WEBKIT_SITE = http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules +QT5WEBKIT_SITE = https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules else QT5WEBKIT_VERSION = $(QT5_VERSION) -QT5WEBKIT_SITE = http://download.qt.io/community_releases/5.6/$(QT5_VERSION) +QT5WEBKIT_SITE = https://download.qt.io/community_releases/5.6/$(QT5_VERSION) endif QT5WEBKIT_SOURCE = qtwebkit-opensource-src-$(QT5WEBKIT_VERSION).tar.xz @@ -44,8 +44,15 @@ define QT5WEBKIT_PYTHON2_SYMLINK endef QT5WEBKIT_PRE_CONFIGURE_HOOKS += QT5WEBKIT_PYTHON2_SYMLINK +# The mesa's EGL/eglplatform.h header includes X11 headers unless the flag +# MESA_EGL_NO_X11_HEADERS is defined. Tell to not include X11 headers if +# the libxcb is not selected. +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL)x$(BR2_PACKAGE_LIBXCB),yx) +QT5WEBKIT_QMAKEFLAGS += QMAKE_CXXFLAGS+=-DMESA_EGL_NO_X11_HEADERS +endif + define QT5WEBKIT_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/bin/qmake $(QT5WEBKIT_QMAKEFLAGS)) endef define QT5WEBKIT_BUILD_CMDS diff --git a/package/qt5/qt5websockets/qt5websockets.hash b/package/qt5/qt5websockets/qt5websockets.hash index c144fba52f..28f0f89a5a 100644 --- a/package/qt5/qt5websockets/qt5websockets.hash +++ b/package/qt5/qt5websockets/qt5websockets.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwebsockets-opensource-src-5.6.3.tar.xz.mirrorlist sha256 a2439045616c89dfe06333734ff4726075c92e01db6e6b6863bc138e39c028eb qtwebsockets-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtwebsockets-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 afddc1bd915ea47ccbec968a7af02e2a5405c717830e4671924fe35b55e81674 qtwebsockets-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtwebsockets-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 7609eba33ebc9c6954644470ebbb1292cdae50f36d0c8ff5ab068b249e4a3c8e qtwebsockets-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5websockets/qt5websockets.mk b/package/qt5/qt5websockets/qt5websockets.mk index 4cb2aed1db..661bc83e52 100644 --- a/package/qt5/qt5websockets/qt5websockets.mk +++ b/package/qt5/qt5websockets/qt5websockets.mk @@ -41,6 +41,7 @@ endef ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y) define QT5WEBSOCKETS_INSTALL_TARGET_QMLS cp -dpfr $(STAGING_DIR)/usr/qml/Qt/WebSockets $(TARGET_DIR)/usr/qml/Qt/ + cp -dpfr $(STAGING_DIR)/usr/qml/QtWebSockets $(TARGET_DIR)/usr/qml/ endef endif diff --git a/package/qt5/qt5x11extras/qt5x11extras.hash b/package/qt5/qt5x11extras/qt5x11extras.hash index be88dd21b5..b52d2da5bc 100644 --- a/package/qt5/qt5x11extras/qt5x11extras.hash +++ b/package/qt5/qt5x11extras/qt5x11extras.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtx11extras-opensource-src-5.6.3.tar.xz.mirrorlist sha256 1e7a8e96e0629f2b2b78de684b156b357210cf5df6b42f30789423f2cb07677f qtx11extras-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtx11extras-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 db85450ad4851816a4fade1ffc10d078d28f2cca174cffa6cbd6d1220b395ac5 qtx11extras-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtx11extras-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 65b83df79d87043d63808e709778b3c6fddaafa3c7864d7104ee9a9da5909493 qtx11extras-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash index 404496582a..138767779f 100644 --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash +++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash @@ -1,13 +1,15 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtxmlpatterns-opensource-src-5.6.3.tar.xz.mirrorlist sha256 a461ff9f0d7310de9b9904ff9cd34919e958bf4071a6fc7096450b8990ab51f6 qtxmlpatterns-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.2/submodules/qtxmlpatterns-opensource-src-5.9.2.tar.xz.mirrorlist -sha256 0aa6aa83087d5754cfefaa3d119454009fc2dd5f266c1eb2ea7a434cef22d34e qtxmlpatterns-opensource-src-5.9.2.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtxmlpatterns-opensource-src-5.9.6.tar.xz.mirrorlist +sha256 6a435b14b85e17268b7acf764e7ed92430045a7bb6eb741a1ea200d2df0986dc qtxmlpatterns-opensource-src-5.9.6.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk index 65fd9bd345..0e02258a42 100644 --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk +++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk @@ -12,7 +12,7 @@ QT5XMLPATTERNS_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5XMLPATTERNS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) -QT5XMLPATTERNS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL +QT5XMLPATTERNS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL else QT5XMLPATTERNS_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5XMLPATTERNS_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL diff --git a/package/qt5cinex/Config.in b/package/qt5cinex/Config.in index 5adf6c361a..8dbf484267 100644 --- a/package/qt5cinex/Config.in +++ b/package/qt5cinex/Config.in @@ -17,8 +17,8 @@ config BR2_PACKAGE_QT5CINEX select BR2_PACKAGE_QT5BASE_EGLFS select BR2_PACKAGE_QT5GRAPHICALEFFECTS help - This application demonstrates the power of Qt5 and few of the new - additions available in QtQuick 2.0. + This application demonstrates the power of Qt5 and few of + the new additions available in QtQuick 2.0. http://quitcoding.com/?page=work#cinex diff --git a/package/quagga/0005-bgpd-security-invalid-attr-length-sends-NOTIFY-with-.patch b/package/quagga/0005-bgpd-security-invalid-attr-length-sends-NOTIFY-with-.patch new file mode 100644 index 0000000000..b64109d0f7 --- /dev/null +++ b/package/quagga/0005-bgpd-security-invalid-attr-length-sends-NOTIFY-with-.patch @@ -0,0 +1,69 @@ +From cc2e6770697e343f4af534114ab7e633d5beabec Mon Sep 17 00:00:00 2001 +From: Paul Jakma +Date: Wed, 3 Jan 2018 23:57:33 +0000 +Subject: [PATCH] bgpd/security: invalid attr length sends NOTIFY with data + overrun + +Security issue: Quagga-2018-0543 + +See: https://www.quagga.net/security/Quagga-2018-0543.txt + +* bgpd/bgp_attr.c: (bgp_attr_parse) An invalid attribute length is correctly + checked, and a NOTIFY prepared. The NOTIFY can include the incorrect + received data with the NOTIFY, for debug purposes. Commit + c69698704806a9ac5 modified the code to do that just, and also send the + malformed attr with the NOTIFY. However, the invalid attribute length was + used as the length of the data to send back. + + The result is a read past the end of data, which is then written to the + NOTIFY message and sent to the peer. + + A configured BGP peer can use this bug to read up to 64 KiB of memory from + the bgpd process, or crash the process if the invalid read is caught by + some means (unmapped page and SEGV, or other mechanism) resulting in a DoS. + + This bug _ought_ /not/ be exploitable by anything other than the connected + BGP peer, assuming the underlying TCP transport is secure. For no BGP + peer should send on an UPDATE with this attribute. Quagga will not, as + Quagga always validates the attr header length, regardless of type. + + However, it is possible that there are BGP implementations that do not + check lengths on some attributes (e.g. optional/transitive ones of a type + they do not recognise), and might pass such malformed attrs on. If such + implementations exists and are common, then this bug might be triggerable + by BGP speakers further hops away. Those peers will not receive the + NOTIFY (unless they sit on a shared medium), however they might then be + able to trigger a DoS. + + Fix: use the valid bound to calculate the length. + +Signed-off-by: Peter Korsgaard +--- + bgpd/bgp_attr.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c +index ef58beb1..9564637e 100644 +--- a/bgpd/bgp_attr.c ++++ b/bgpd/bgp_attr.c +@@ -2147,6 +2147,8 @@ bgp_attr_parse (struct peer *peer, struct attr *attr, bgp_size_t size, + memset (seen, 0, BGP_ATTR_BITMAP_SIZE); + + /* End pointer of BGP attribute. */ ++ assert (size <= stream_get_size (BGP_INPUT (peer))); ++ assert (size <= stream_get_endp (BGP_INPUT (peer))); + endp = BGP_INPUT_PNT (peer) + size; + + /* Get attributes to the end of attribute length. */ +@@ -2228,7 +2230,7 @@ bgp_attr_parse (struct peer *peer, struct attr *attr, bgp_size_t size, + bgp_notify_send_with_data (peer, + BGP_NOTIFY_UPDATE_ERR, + BGP_NOTIFY_UPDATE_ATTR_LENG_ERR, +- startp, attr_endp - startp); ++ startp, endp - startp); + return BGP_ATTR_PARSE_ERROR; + } + +-- +2.11.0 + diff --git a/package/quagga/0006-bgpd-security-Fix-double-free-of-unknown-attribute.patch b/package/quagga/0006-bgpd-security-Fix-double-free-of-unknown-attribute.patch new file mode 100644 index 0000000000..0e32817f06 --- /dev/null +++ b/package/quagga/0006-bgpd-security-Fix-double-free-of-unknown-attribute.patch @@ -0,0 +1,112 @@ +From e69b535f92eafb599329bf725d9b4c6fd5d7fded Mon Sep 17 00:00:00 2001 +From: Paul Jakma +Date: Sat, 6 Jan 2018 19:52:10 +0000 +Subject: [PATCH] bgpd/security: Fix double free of unknown attribute + +Security issue: Quagga-2018-1114 +See: https://www.quagga.net/security/Quagga-2018-1114.txt + +It is possible for bgpd to double-free an unknown attribute. This can happen +via bgp_update_receive receiving an UPDATE with an invalid unknown attribute. +bgp_update_receive then will call bgp_attr_unintern_sub and bgp_attr_flush, +and the latter may try free an already freed unknown attr. + +* bgpd/bgp_attr.c: (transit_unintern) Take a pointer to the caller's storage + for the (struct transit *), so that transit_unintern can NULL out the + caller's reference if the (struct transit) is freed. + (cluster_unintern) By inspection, appears to have a similar issue. + (bgp_attr_unintern_sub) adjust for above. + +Signed-off-by: Peter Korsgaard +--- + bgpd/bgp_attr.c | 33 +++++++++++++++++++-------------- + bgpd/bgp_attr.h | 4 ++-- + 2 files changed, 21 insertions(+), 16 deletions(-) + +diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c +index 9564637e..0c2806b5 100644 +--- a/bgpd/bgp_attr.c ++++ b/bgpd/bgp_attr.c +@@ -199,15 +199,17 @@ cluster_intern (struct cluster_list *cluster) + } + + void +-cluster_unintern (struct cluster_list *cluster) ++cluster_unintern (struct cluster_list **cluster) + { +- if (cluster->refcnt) +- cluster->refcnt--; ++ struct cluster_list *c = *cluster; ++ if (c->refcnt) ++ c->refcnt--; + +- if (cluster->refcnt == 0) ++ if (c->refcnt == 0) + { +- hash_release (cluster_hash, cluster); +- cluster_free (cluster); ++ hash_release (cluster_hash, c); ++ cluster_free (c); ++ *cluster = NULL; + } + } + +@@ -357,15 +359,18 @@ transit_intern (struct transit *transit) + } + + void +-transit_unintern (struct transit *transit) ++transit_unintern (struct transit **transit) + { +- if (transit->refcnt) +- transit->refcnt--; ++ struct transit *t = *transit; ++ ++ if (t->refcnt) ++ t->refcnt--; + +- if (transit->refcnt == 0) ++ if (t->refcnt == 0) + { +- hash_release (transit_hash, transit); +- transit_free (transit); ++ hash_release (transit_hash, t); ++ transit_free (t); ++ *transit = NULL; + } + } + +@@ -820,11 +825,11 @@ bgp_attr_unintern_sub (struct attr *attr) + UNSET_FLAG(attr->flag, ATTR_FLAG_BIT (BGP_ATTR_LARGE_COMMUNITIES)); + + if (attr->extra->cluster) +- cluster_unintern (attr->extra->cluster); ++ cluster_unintern (&attr->extra->cluster); + UNSET_FLAG(attr->flag, ATTR_FLAG_BIT (BGP_ATTR_CLUSTER_LIST)); + + if (attr->extra->transit) +- transit_unintern (attr->extra->transit); ++ transit_unintern (&attr->extra->transit); + } + } + +diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h +index 9ff074b2..052acc7d 100644 +--- a/bgpd/bgp_attr.h ++++ b/bgpd/bgp_attr.h +@@ -187,10 +187,10 @@ extern unsigned long int attr_unknown_count (void); + + /* Cluster list prototypes. */ + extern int cluster_loop_check (struct cluster_list *, struct in_addr); +-extern void cluster_unintern (struct cluster_list *); ++extern void cluster_unintern (struct cluster_list **); + + /* Transit attribute prototypes. */ +-void transit_unintern (struct transit *); ++void transit_unintern (struct transit **); + + /* Below exported for unit-test purposes only */ + struct bgp_attr_parser_args { +-- +2.11.0 + diff --git a/package/quagga/0007-bgpd-security-debug-print-of-received-NOTIFY-data-ca.patch b/package/quagga/0007-bgpd-security-debug-print-of-received-NOTIFY-data-ca.patch new file mode 100644 index 0000000000..aeb50ae559 --- /dev/null +++ b/package/quagga/0007-bgpd-security-debug-print-of-received-NOTIFY-data-ca.patch @@ -0,0 +1,114 @@ +From 9e5251151894aefdf8e9392a2371615222119ad8 Mon Sep 17 00:00:00 2001 +From: Paul Jakma +Date: Sat, 6 Jan 2018 22:31:52 +0000 +Subject: [PATCH] bgpd/security: debug print of received NOTIFY data can + over-read msg array + +Security issue: Quagga-2018-1550 +See: https://www.quagga.net/security/Quagga-2018-1550.txt + +* bgpd/bgp_debug.c: (struct message) Nearly every one of the NOTIFY + code/subcode message arrays has their corresponding size variables off + by one, as most have 1 as first index. + + This means (bgp_notify_print) can cause mes_lookup to overread the (struct + message) by 1 pointer value if given an unknown index. + + Fix the bgp_notify_..._msg_max variables to use the compiler to calculate + the correct sizes. + +Signed-off-by: Peter Korsgaard +--- + bgpd/bgp_debug.c | 21 ++++++++++++--------- + 1 file changed, 12 insertions(+), 9 deletions(-) + +diff --git a/bgpd/bgp_debug.c b/bgpd/bgp_debug.c +index ba797228..43faee7c 100644 +--- a/bgpd/bgp_debug.c ++++ b/bgpd/bgp_debug.c +@@ -29,6 +29,7 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + #include "log.h" + #include "sockunion.h" + #include "filter.h" ++#include "memory.h" + + #include "bgpd/bgpd.h" + #include "bgpd/bgp_aspath.h" +@@ -73,7 +74,8 @@ const struct message bgp_status_msg[] = + { Clearing, "Clearing" }, + { Deleted, "Deleted" }, + }; +-const int bgp_status_msg_max = BGP_STATUS_MAX; ++#define BGP_DEBUG_MSG_MAX(msg) const int msg ## _max = array_size (msg) ++BGP_DEBUG_MSG_MAX (bgp_status_msg); + + /* BGP message type string. */ + const char *bgp_type_str[] = +@@ -84,7 +86,8 @@ const char *bgp_type_str[] = + "NOTIFICATION", + "KEEPALIVE", + "ROUTE-REFRESH", +- "CAPABILITY" ++ "CAPABILITY", ++ NULL, + }; + + /* message for BGP-4 Notify */ +@@ -98,15 +101,15 @@ static const struct message bgp_notify_msg[] = + { BGP_NOTIFY_CEASE, "Cease"}, + { BGP_NOTIFY_CAPABILITY_ERR, "CAPABILITY Message Error"}, + }; +-static const int bgp_notify_msg_max = BGP_NOTIFY_MAX; ++BGP_DEBUG_MSG_MAX (bgp_notify_msg); + + static const struct message bgp_notify_head_msg[] = + { + { BGP_NOTIFY_HEADER_NOT_SYNC, "/Connection Not Synchronized"}, + { BGP_NOTIFY_HEADER_BAD_MESLEN, "/Bad Message Length"}, +- { BGP_NOTIFY_HEADER_BAD_MESTYPE, "/Bad Message Type"} ++ { BGP_NOTIFY_HEADER_BAD_MESTYPE, "/Bad Message Type"}, + }; +-static const int bgp_notify_head_msg_max = BGP_NOTIFY_HEADER_MAX; ++BGP_DEBUG_MSG_MAX (bgp_notify_head_msg); + + static const struct message bgp_notify_open_msg[] = + { +@@ -119,7 +122,7 @@ static const struct message bgp_notify_open_msg[] = + { BGP_NOTIFY_OPEN_UNACEP_HOLDTIME, "/Unacceptable Hold Time"}, + { BGP_NOTIFY_OPEN_UNSUP_CAPBL, "/Unsupported Capability"}, + }; +-static const int bgp_notify_open_msg_max = BGP_NOTIFY_OPEN_MAX; ++BGP_DEBUG_MSG_MAX (bgp_notify_open_msg); + + static const struct message bgp_notify_update_msg[] = + { +@@ -136,7 +139,7 @@ static const struct message bgp_notify_update_msg[] = + { BGP_NOTIFY_UPDATE_INVAL_NETWORK, "/Invalid Network Field"}, + { BGP_NOTIFY_UPDATE_MAL_AS_PATH, "/Malformed AS_PATH"}, + }; +-static const int bgp_notify_update_msg_max = BGP_NOTIFY_UPDATE_MAX; ++BGP_DEBUG_MSG_MAX (bgp_notify_update_msg); + + static const struct message bgp_notify_cease_msg[] = + { +@@ -150,7 +153,7 @@ static const struct message bgp_notify_cease_msg[] = + { BGP_NOTIFY_CEASE_COLLISION_RESOLUTION, "/Connection collision resolution"}, + { BGP_NOTIFY_CEASE_OUT_OF_RESOURCE, "/Out of Resource"}, + }; +-static const int bgp_notify_cease_msg_max = BGP_NOTIFY_CEASE_MAX; ++BGP_DEBUG_MSG_MAX (bgp_notify_cease_msg); + + static const struct message bgp_notify_capability_msg[] = + { +@@ -159,7 +162,7 @@ static const struct message bgp_notify_capability_msg[] = + { BGP_NOTIFY_CAPABILITY_INVALID_LENGTH, "/Invalid Capability Length"}, + { BGP_NOTIFY_CAPABILITY_MALFORMED_CODE, "/Malformed Capability Value"}, + }; +-static const int bgp_notify_capability_msg_max = BGP_NOTIFY_CAPABILITY_MAX; ++BGP_DEBUG_MSG_MAX (bgp_notify_capability_msg); + + /* Origin strings. */ + const char *bgp_origin_str[] = {"i","e","?"}; +-- +2.11.0 + diff --git a/package/quagga/0008-bgpd-security-fix-infinite-loop-on-certain-invalid-O.patch b/package/quagga/0008-bgpd-security-fix-infinite-loop-on-certain-invalid-O.patch new file mode 100644 index 0000000000..0a06da9330 --- /dev/null +++ b/package/quagga/0008-bgpd-security-fix-infinite-loop-on-certain-invalid-O.patch @@ -0,0 +1,43 @@ +From ce07207c50a3d1f05d6dd49b5294282e59749787 Mon Sep 17 00:00:00 2001 +From: Paul Jakma +Date: Sat, 6 Jan 2018 21:20:51 +0000 +Subject: [PATCH] bgpd/security: fix infinite loop on certain invalid OPEN + messages + +Security issue: Quagga-2018-1975 +See: https://www.quagga.net/security/Quagga-2018-1975.txt + +* bgpd/bgp_packet.c: (bgp_capability_msg_parse) capability parser can infinite + loop due to checks that issue 'continue' without bumping the input + pointer. + +Signed-off-by: Peter Korsgaard +--- + bgpd/bgp_packet.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c +index b3d601fc..f9338d8d 100644 +--- a/bgpd/bgp_packet.c ++++ b/bgpd/bgp_packet.c +@@ -2328,7 +2328,8 @@ bgp_capability_msg_parse (struct peer *peer, u_char *pnt, bgp_size_t length) + + end = pnt + length; + +- while (pnt < end) ++ /* XXX: Streamify this */ ++ for (; pnt < end; pnt += hdr->length + 3) + { + /* We need at least action, capability code and capability length. */ + if (pnt + 3 > end) +@@ -2416,7 +2417,6 @@ bgp_capability_msg_parse (struct peer *peer, u_char *pnt, bgp_size_t length) + zlog_warn ("%s unrecognized capability code: %d - ignored", + peer->host, hdr->code); + } +- pnt += hdr->length + 3; + } + return 0; + } +-- +2.11.0 + diff --git a/package/quagga/Config.in b/package/quagga/Config.in index 4eacaf047a..98b9d3481e 100644 --- a/package/quagga/Config.in +++ b/package/quagga/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_QUAGGA bool "quagga" depends on BR2_USE_MMU # fork() help - Routing software suite, providing implementations of - OSPFv2, OSPFv3 (IPv6), RIP v1 and v2, RIPng (IPv6) and BGPv4+. + Routing software suite, providing implementations of OSPFv2, + OSPFv3 (IPv6), RIP v1 and v2, RIPng (IPv6) and BGPv4+. http://www.quagga.net/ @@ -18,11 +18,11 @@ config BR2_PACKAGE_QUAGGA_TCP_ZEBRA bool "Use TCP sockets between zebra and protocol daemons" depends on BR2_PACKAGE_QUAGGA_ZEBRA help - Use a TCP socket to communicate between zebra (supervisor) and - the different protocol daemons. + Use a TCP socket to communicate between zebra (supervisor) + and the different protocol daemons. - You'll want this enabled if zebra and the protocol daemon(s) run - on different hosts. + You'll want this enabled if zebra and the protocol daemon(s) + run on different hosts. config BR2_PACKAGE_QUAGGA_BGPD bool "BGPv4+ protocol" @@ -66,7 +66,8 @@ config BR2_PACKAGE_QUAGGA_PIMD config BR2_PACKAGE_QUAGGA_WATCHQUAGGA bool "Build watchquagga" help - Build and install watchquagga, a zebra/protocol daemon supervisor. + Build and install watchquagga, a zebra/protocol daemon + supervisor. config BR2_PACKAGE_QUAGGA_VTYSH bool "Build vtysh" diff --git a/package/quota/quota.mk b/package/quota/quota.mk index 5bd9013d6a..38e18a60c2 100644 --- a/package/quota/quota.mk +++ b/package/quota/quota.mk @@ -6,7 +6,7 @@ QUOTA_VERSION = 4.01 QUOTA_SITE = http://downloads.sourceforge.net/project/linuxquota/quota-tools/$(QUOTA_VERSION) -QUOTA_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +QUOTA_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-nfs-utils QUOTA_AUTORECONF = YES QUOTA_LICENSE = GPL-2.0+ QUOTA_CONF_OPTS = --disable-strip-binaries diff --git a/package/rabbitmq-c/rabbitmq-c.mk b/package/rabbitmq-c/rabbitmq-c.mk index eef09ec0b3..d496a4c09b 100644 --- a/package/rabbitmq-c/rabbitmq-c.mk +++ b/package/rabbitmq-c/rabbitmq-c.mk @@ -13,12 +13,13 @@ RABBITMQ_C_CONF_OPTS = \ -DBUILD_API_DOCS=OFF \ -DBUILD_TOOLS_DOCS=OFF +# BUILD_SHARED_LIBS is handled in pkg-cmake.mk as it is a generic cmake variable ifeq ($(BR2_STATIC_LIBS),y) -RABBITMQ_C_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON +RABBITMQ_C_CONF_OPTS += -DBUILD_STATIC_LIBS=ON else ifeq ($(BR2_SHARED_STATIC_LIBS),y) -RABBITMQ_C_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON +RABBITMQ_C_CONF_OPTS += -DBUILD_STATIC_LIBS=ON else ifeq ($(BR2_SHARED_LIBS),y) -RABBITMQ_C_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF +RABBITMQ_C_CONF_OPTS += -DBUILD_STATIC_LIBS=OFF endif # CMake OpenSSL detection is buggy, and doesn't properly use diff --git a/package/rabbitmq-server/Config.in b/package/rabbitmq-server/Config.in index 6a323aff92..b3b7639e28 100644 --- a/package/rabbitmq-server/Config.in +++ b/package/rabbitmq-server/Config.in @@ -5,7 +5,8 @@ config BR2_PACKAGE_RABBITMQ_SERVER select BR2_PACKAGE_OPENSSL # Required to build Erlang's crypto and ssl # applications help - High-performance AMQP-compliant message broker written in Erlang. + High-performance AMQP-compliant message broker written in + Erlang. http://www.rabbitmq.com diff --git a/package/ramsmp/Config.in b/package/ramsmp/Config.in index ecab6a46ad..411e7de911 100644 --- a/package/ramsmp/Config.in +++ b/package/ramsmp/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_RAMSMP bool "ramspeed/smp" depends on BR2_USE_MMU # fork() help - RAMspeed/SMP is a free open source command line utility - to measure cache and memory performance of multiprocessor machines. + RAMspeed/SMP is a free open source command line utility to + measure cache and memory performance of multiprocessor + machines. http://alasir.com/software/ramspeed/ diff --git a/package/rapidjson/Config.in b/package/rapidjson/Config.in index 3367385008..abf8996a99 100644 --- a/package/rapidjson/Config.in +++ b/package/rapidjson/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_RAPIDJSON bool "rapidjson" depends on BR2_INSTALL_LIBSTDCPP help - A fast JSON parser/generator for C++ with both SAX/DOM style API. + A fast JSON parser/generator for C++ with both SAX/DOM style + API. http://rapidjson.org/ diff --git a/package/rapidjson/rapidjson.hash b/package/rapidjson/rapidjson.hash index bde8319cd8..a4b02cffb9 100644 --- a/package/rapidjson/rapidjson.hash +++ b/package/rapidjson/rapidjson.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e rapidjson-v1.1.0.tar.gz +sha256 a140e5d46fe734a1c78f1a3c3ef207871dd75648be71fdda8e309b23ab8b1f32 license.txt diff --git a/package/rauc/rauc.hash b/package/rauc/rauc.hash index 78c3e279d6..91d7c1d62e 100644 --- a/package/rauc/rauc.hash +++ b/package/rauc/rauc.hash @@ -1,3 +1,3 @@ # Locally calculated, after verifying against -# https://github.com/rauc/rauc/releases/download/v0.1.1/rauc-0.1.1.tar.xz.asc -sha256 d2901d493f1d3210aef6411e83b02edac3a678d6d825d71a1c61b5b6afc7e478 rauc-0.1.1.tar.xz +# https://github.com/rauc/rauc/releases/download/v0.3/rauc-0.3.tar.xz.asc +sha256 dc01bfb08b1830376782f9a51cfec290171519267ab97cc909435da9ac6d6d98 rauc-0.3.tar.xz diff --git a/package/rauc/rauc.mk b/package/rauc/rauc.mk index 67ef1556e7..63fbc53022 100644 --- a/package/rauc/rauc.mk +++ b/package/rauc/rauc.mk @@ -4,7 +4,7 @@ # ################################################################################ -RAUC_VERSION = 0.1.1 +RAUC_VERSION = 0.3 RAUC_SITE = https://github.com/rauc/rauc/releases/download/v$(RAUC_VERSION) RAUC_SOURCE = rauc-$(RAUC_VERSION).tar.xz RAUC_LICENSE = LGPL-2.1 diff --git a/package/redis/redis.hash b/package/redis/redis.hash index ce2d66b8c2..d9a14cef6c 100644 --- a/package/redis/redis.hash +++ b/package/redis/redis.hash @@ -1,4 +1,4 @@ # From https://github.com/antirez/redis-hashes/blob/master/README -sha256 31ae927cab09f90c9ca5954aab7aeecc3bb4da6087d3d12ba0a929ceb54081b5 redis-3.2.11.tar.gz +sha256 98c4254ae1be4e452aa7884245471501c9aa657993e0318d88f048093e7f88fd redis-3.2.12.tar.gz # Locally calculated sha256 cbf420a3672475a6e2765e3c0984c1f81efe0212afb94a3c998ee63bfd661063 COPYING diff --git a/package/redis/redis.mk b/package/redis/redis.mk index 82969c9022..cbd2d7bdcb 100644 --- a/package/redis/redis.mk +++ b/package/redis/redis.mk @@ -4,7 +4,7 @@ # ################################################################################ -REDIS_VERSION = 3.2.11 +REDIS_VERSION = 3.2.12 REDIS_SITE = http://download.redis.io/releases REDIS_LICENSE = BSD-3-Clause (core); MIT and BSD family licenses (Bundled components) REDIS_LICENSE_FILES = COPYING diff --git a/package/refpolicy/refpolicy.hash b/package/refpolicy/refpolicy.hash index 7aeac4113d..f341566f28 100644 --- a/package/refpolicy/refpolicy.hash +++ b/package/refpolicy/refpolicy.hash @@ -1,2 +1,5 @@ -#From https://github.com/TresysTechnology/refpolicy/wiki/DownloadRelease -sha256 08f9e2afc5e4939c23e56deeec7c47da029d7b85d82fb4ded01a36eb5da0651e refpolicy-RELEASE_2_20170204.tar.gz +# From https://github.com/TresysTechnology/refpolicy/wiki/DownloadRelease +sha256 e826f7d7f899a548e538964487e9fc1bc67ca94756ebdce0bfb6532b4eb0d06b refpolicy-2.20180114.tar.bz2 + +# Locally computed +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/refpolicy/refpolicy.mk b/package/refpolicy/refpolicy.mk index 2da151f321..590e0ebd9a 100644 --- a/package/refpolicy/refpolicy.mk +++ b/package/refpolicy/refpolicy.mk @@ -4,12 +4,9 @@ # ################################################################################ -REFPOLICY_VERSION = RELEASE_2_20170204 - -# Do not use GitHub helper as git submodules are needed for refpolicy-contrib -REFPOLICY_SITE = https://github.com/TresysTechnology/refpolicy.git -REFPOLICY_SITE_METHOD = git -REFPOLICY_GIT_SUBMODULES = y # Required for refpolicy-contrib +REFPOLICY_VERSION = 2.20180114 +REFPOLICY_SOURCE = refpolicy-$(REFPOLICY_VERSION).tar.bz2 +REFPOLICY_SITE = https://raw.githubusercontent.com/wiki/TresysTechnology/refpolicy/files REFPOLICY_LICENSE = GPL-2.0 REFPOLICY_LICENSE_FILES = COPYING REFPOLICY_INSTALL_STAGING = YES @@ -19,13 +16,17 @@ REFPOLICY_DEPENDENCIES = \ host-policycoreutils \ host-setools \ host-gawk \ - host-python \ policycoreutils +ifeq ($(BR2_PACKAGE_PYTHON3),y) +REFPOLICY_DEPENDENCIES += host-python3 +else +REFPOLICY_DEPENDENCIES += host-python +endif + # Cannot use multiple threads to build the reference policy REFPOLICY_MAKE = \ TEST_TOOLCHAIN=$(HOST_DIR) \ - PYTHON="$(HOST_DIR)/bin/python2" \ $(TARGET_MAKE_ENV) \ $(MAKE1) diff --git a/package/rp-pppoe/Config.in b/package/rp-pppoe/Config.in index a41de33332..8a692711b9 100644 --- a/package/rp-pppoe/Config.in +++ b/package/rp-pppoe/Config.in @@ -9,10 +9,11 @@ config BR2_PACKAGE_RP_PPPOE depends on BR2_USE_MMU # fork() select BR2_PACKAGE_PPPD help - An implementation of the Point-to-point protocol over Ethernet. - Has userspace client and server deamons. You likely only need - this package if you are implementing the pppoe server that will - service other pppoe client devices. Otherwise the normal client - functionality already exists in the pppd package (and kernel). + An implementation of the Point-to-point protocol over + Ethernet. Has userspace client and server deamons. You + likely only need this package if you are implementing the + pppoe server that will service other pppoe client + devices. Otherwise the normal client functionality already + exists in the pppd package (and kernel). http://www.roaringpenguin.com/pppoe.html diff --git a/package/rpcbind/0005-rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch b/package/rpcbind/0005-rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch new file mode 100644 index 0000000000..c482af5dae --- /dev/null +++ b/package/rpcbind/0005-rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch @@ -0,0 +1,98 @@ +From 4e201b75928ff7d4894cd30ab0f5f67b9cd95f5c Mon Sep 17 00:00:00 2001 +From: Steve Dickson +Date: Thu, 18 Jan 2018 17:33:56 +0000 +Subject: [PATCH] rpcbproc_callit_com: Stop freeing a static pointer + +commit 7ea36ee introduced a svc_freeargs() call +that ended up freeing static pointer. + +It turns out the allocations for the rmt_args +is not necessary . The xdr routines (xdr_bytes) will +handle the memory management and the largest +possible message size is UDPMSGSIZE (due to UDP only) +which is smaller than RPC_BUF_MAX + +Signed-off-by: Steve Dickson +(cherry picked from commit 7c7590ad536c0e24bef790cb1e65702fc54db566) +Signed-off-by: Ed Blake +--- + src/rpcb_svc_com.c | 39 ++++++--------------------------------- + 1 file changed, 6 insertions(+), 33 deletions(-) + +diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c +index 0432b6f..64f1104 100644 +--- a/src/rpcb_svc_com.c ++++ b/src/rpcb_svc_com.c +@@ -616,9 +616,9 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp, + struct netconfig *nconf; + struct netbuf *caller; + struct r_rmtcall_args a; +- char *buf_alloc = NULL, *outbufp; ++ char *outbufp; + char *outbuf_alloc = NULL; +- char buf[RPC_BUF_MAX], outbuf[RPC_BUF_MAX]; ++ char outbuf[RPC_BUF_MAX]; + struct netbuf *na = (struct netbuf *) NULL; + struct rpc_msg call_msg; + int outlen; +@@ -639,36 +639,10 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp, + } + if (si.si_socktype != SOCK_DGRAM) + return; /* Only datagram type accepted */ +- sendsz = __rpc_get_t_size(si.si_af, si.si_proto, UDPMSGSIZE); +- if (sendsz == 0) { /* data transfer not supported */ +- if (reply_type == RPCBPROC_INDIRECT) +- svcerr_systemerr(transp); +- return; +- } +- /* +- * Should be multiple of 4 for XDR. +- */ +- sendsz = ((sendsz + 3) / 4) * 4; +- if (sendsz > RPC_BUF_MAX) { +-#ifdef notyet +- buf_alloc = alloca(sendsz); /* not in IDR2? */ +-#else +- buf_alloc = malloc(sendsz); +-#endif /* notyet */ +- if (buf_alloc == NULL) { +- if (debugging) +- xlog(LOG_DEBUG, +- "rpcbproc_callit_com: No Memory!\n"); +- if (reply_type == RPCBPROC_INDIRECT) +- svcerr_systemerr(transp); +- return; +- } +- a.rmt_args.args = buf_alloc; +- } else { +- a.rmt_args.args = buf; +- } ++ sendsz = UDPMSGSIZE; + + call_msg.rm_xid = 0; /* For error checking purposes */ ++ memset(&a, 0, sizeof(a)); /* Zero out the input buffer */ + if (!svc_getargs(transp, (xdrproc_t) xdr_rmtcall_args, (char *) &a)) { + if (reply_type == RPCBPROC_INDIRECT) + svcerr_decode(transp); +@@ -708,7 +682,8 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp, + if (rbl == (rpcblist_ptr)NULL) { + #ifdef RPCBIND_DEBUG + if (debugging) +- xlog(LOG_DEBUG, "not found\n"); ++ xlog(LOG_DEBUG, "prog %lu vers %lu: not found\n", ++ a.rmt_prog, a.rmt_vers); + #endif + if (reply_type == RPCBPROC_INDIRECT) + svcerr_noprog(transp); +@@ -941,8 +916,6 @@ out: + } + if (local_uaddr) + free(local_uaddr); +- if (buf_alloc) +- free(buf_alloc); + if (outbuf_alloc) + free(outbuf_alloc); + if (na) { +-- +2.11.0 + diff --git a/package/rpcbind/0006-pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch b/package/rpcbind/0006-pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch new file mode 100644 index 0000000000..11ce6a84a2 --- /dev/null +++ b/package/rpcbind/0006-pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch @@ -0,0 +1,31 @@ +From d3f1f55e50e3c436a2ea91d60da84c3a94e6c53f Mon Sep 17 00:00:00 2001 +From: Steve Dickson +Date: Thu, 18 Jan 2018 17:41:49 +0000 +Subject: [PATCH] pmapproc_dump: Fixed typo in memory leak patch + +commit 7ea36eee introduce a typo that caused +NIS (aka ypbind) to fail. + +Signed-off-by: Steve Dickson +(cherry picked from commit c49a7ea639eb700823e174fd605bbbe183e229aa) +Signed-off-by: Ed Blake +--- + src/pmap_svc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/pmap_svc.c b/src/pmap_svc.c +index bb57b05..ffca7df 100644 +--- a/src/pmap_svc.c ++++ b/src/pmap_svc.c +@@ -384,7 +384,7 @@ pmapproc_dump(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt) + } + + done: +- if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)NULL)) { ++ if (!svc_freeargs(xprt, (xdrproc_t) xdr_void, (char *)NULL)) { + if (debugging) { + (void) xlog(LOG_DEBUG, "unable to free arguments\n"); + if (doabort) { +-- +2.11.0 + diff --git a/package/rpcbind/Config.in b/package/rpcbind/Config.in index 999820066c..ced2d40944 100644 --- a/package/rpcbind/Config.in +++ b/package/rpcbind/Config.in @@ -6,8 +6,8 @@ config BR2_PACKAGE_RPCBIND depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBTIRPC help - The rpcbind utility is a server that converts RPC program numbers - into universal addresses. + The rpcbind utility is a server that converts RPC program + numbers into universal addresses. comment "rpcbind needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in index da32b8e9d5..0ebbe7a4cd 100644 --- a/package/rpi-firmware/Config.in +++ b/package/rpi-firmware/Config.in @@ -3,7 +3,9 @@ config BR2_PACKAGE_RPI_FIRMWARE depends on BR2_arm || BR2_aarch64 help RaspberryPi Firmware - Pre-compiled binaries of the current bootloader and GPU firmware + + Pre-compiled binaries of the current bootloader and GPU + firmware https://github.com/raspberrypi/firmware @@ -14,11 +16,12 @@ choice default BR2_PACKAGE_RPI_FIRMWARE_DEFAULT help There are three different firmware files: - - the default firmware, that enables standard GPU features; - - the extended firmware, that enables additional GPU features - (eg. more audio/video codecs); - - the cut-down firmware, for emergency situations, with only - features required to boot a Linux kernel. + - the default firmware, that enables standard GPU + features; + - the extended firmware, that enables additional GPU + features (eg. more audio/video codecs); + - the cut-down firmware, for emergency situations, with + only features required to boot a Linux kernel. config BR2_PACKAGE_RPI_FIRMWARE_DEFAULT bool "default" @@ -50,11 +53,12 @@ config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS default y depends on !BR2_LINUX_KERNEL_DTS_SUPPORT help - If you are using a Linux kernel <= 3.18, you should say 'y' here. + If you are using a Linux kernel <= 3.18, you should say 'y' + here. - If you are using a Linux kernel >= 3.19, you should say 'n' here, - and enable BR2_LINUX_KERNEL_DTS_SUPPORT to let the kernel build - the DTB. + If you are using a Linux kernel >= 3.19, you should say 'n' + here, and enable BR2_LINUX_KERNEL_DTS_SUPPORT to let the + kernel build the DTB. config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS bool "Install DTB overlays" @@ -62,8 +66,9 @@ config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS depends on BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS \ || BR2_LINUX_KERNEL_DTS_SUPPORT help - Say 'y' here if you need to load one or more of the DTB overlays, - to support HATs (Hardware Attached on Top, add-on modules). + Say 'y' here if you need to load one or more of the DTB + overlays, to support HATs (Hardware Attached on Top, add-on + modules). config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG bool "vcdbg" diff --git a/package/rpi-userland/0006-host-apps-dtoverlay-don-t-install-script-in-random-l.patch b/package/rpi-userland/0006-host-apps-dtoverlay-don-t-install-script-in-random-l.patch new file mode 100644 index 0000000000..2900eb74fd --- /dev/null +++ b/package/rpi-userland/0006-host-apps-dtoverlay-don-t-install-script-in-random-l.patch @@ -0,0 +1,45 @@ +From a5a4e361c8116ca9228a896f672102c02be56bb7 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Tue, 7 Mar 2017 22:01:39 +0100 +Subject: [PATCH] host-apps/dtoverlay: don't install script in random location + +Currently, we add a custom command that installs the dtoverlay pre/post +scripts in ${CMAKE_BINARY_DIR}/../../bin + +However: + + - this points outside of the package directory.; it even points two + directories higher; + + - when doing cross-compilation, this is definitely not the place where + the /bin directory really is; + + - the scripts are already properly installed without this code. + +Remove that code, it serves no purpose and breaks for cross-compilation. + +Signed-off-by: "Yann E. MORIN" +--- + host_applications/linux/apps/dtoverlay/CMakeLists.txt | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/host_applications/linux/apps/dtoverlay/CMakeLists.txt b/host_applications/linux/apps/dtoverlay/CMakeLists.txt +index 9009200..dd48d83 100755 +--- a/host_applications/linux/apps/dtoverlay/CMakeLists.txt ++++ b/host_applications/linux/apps/dtoverlay/CMakeLists.txt +@@ -22,12 +22,4 @@ add_custom_command(TARGET dtoverlay POST_BUILD COMMAND ln;-sf;dtoverlay;dtparam) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dtparam DESTINATION bin) + + set(DTOVERLAY_SCRIPTS dtoverlay-pre dtoverlay-post) +-foreach(_script ${DTOVERLAY_SCRIPTS}) +- add_custom_command( +- TARGET dtoverlay +- COMMAND ${CMAKE_COMMAND} +- -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${_script} +- ${CMAKE_BINARY_DIR}/../../bin/${_script} +- ) +-endforeach() + install(PROGRAMS ${DTOVERLAY_SCRIPTS} DESTINATION bin) +-- +2.7.4 + diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in index 9bb2bfc570..8d349f21e1 100644 --- a/package/rpi-userland/Config.in +++ b/package/rpi-userland/Config.in @@ -9,11 +9,12 @@ config BR2_PACKAGE_RPI_USERLAND select BR2_PACKAGE_HAS_LIBOPENVG select BR2_PACKAGE_HAS_LIBOPENMAX help - Raspberry Pi Userland contains the necessary library to use the - VideoCore driver. + Raspberry Pi Userland contains the necessary library to use + the VideoCore driver. - Includes source for the ARM side code to interface to: - EGL, mmal, GLESv2, vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG. + Includes source for the ARM side code to interface to: EGL, + mmal, GLESv2, vcos, openmaxil, vchiq_arm, bcm_host, WFC, + OpenVG. https://github.com/raspberrypi/userland/ @@ -35,8 +36,8 @@ config BR2_PACKAGE_RPI_USERLAND_START_VCFILED bool "Start vcfiled" depends on BR2_INIT_SYSV || BR2_INIT_BUSYBOX help - vcfiled is a daemon serving files to VideoCore from the host file - system. + vcfiled is a daemon serving files to VideoCore from the host + file system. config BR2_PACKAGE_RPI_USERLAND_HELLO bool "hello_pi examples" diff --git a/package/rsh-redone/Config.in b/package/rsh-redone/Config.in index 6a8aec0369..1335c85739 100644 --- a/package/rsh-redone/Config.in +++ b/package/rsh-redone/Config.in @@ -1,9 +1,10 @@ config BR2_PACKAGE_RSH_REDONE bool "rsh-redone" help - Rsh-redone is a reimplementation of the remote shell clients and - servers. It is written from the ground up to avoid the bugs found - in the standard clients and servers. It also fully supports IPv6. + Rsh-redone is a reimplementation of the remote shell clients + and servers. It is written from the ground up to avoid the + bugs found in the standard clients and servers. It also + fully supports IPv6. http://packages.debian.org/source/sid/rsh-redone diff --git a/package/rsync/rsync.hash b/package/rsync/rsync.hash index 6311116141..2da62a18f1 100644 --- a/package/rsync/rsync.hash +++ b/package/rsync/rsync.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 ecfa62a7fa3c4c18b9eccd8c16eaddee4bd308a76ea50b5c02a5840f09c0a1c2 rsync-3.1.2.tar.gz +# https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz.asc +sha256 55cc554efec5fdaad70de921cd5a5eeb6c29a95524c715f3bbf849235b0800c0 rsync-3.1.3.tar.gz +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/rsync/rsync.mk b/package/rsync/rsync.mk index e6b955ae76..52875e428a 100644 --- a/package/rsync/rsync.mk +++ b/package/rsync/rsync.mk @@ -4,7 +4,7 @@ # ################################################################################ -RSYNC_VERSION = 3.1.2 +RSYNC_VERSION = 3.1.3 RSYNC_SITE = http://rsync.samba.org/ftp/rsync/src RSYNC_LICENSE = GPL-3.0+ RSYNC_LICENSE_FILES = COPYING diff --git a/package/rtl8189fs/Config.in b/package/rtl8189fs/Config.in new file mode 100644 index 0000000000..ae69b79235 --- /dev/null +++ b/package/rtl8189fs/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_RTL8189FS + bool "rtl8189fs" + depends on BR2_LINUX_KERNEL + help + Wireless driver rtl8189fs. + + https://github.com/jwrdegoede/rtl8189ES_linux.git + +comment "rtl8189fs needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL diff --git a/package/rtl8189fs/rtl8189fs.hash b/package/rtl8189fs/rtl8189fs.hash new file mode 100644 index 0000000000..d6ce6c1e8a --- /dev/null +++ b/package/rtl8189fs/rtl8189fs.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 93472471e1769f92984792f40a0898dd8dd02122d745d48e8edd1a8cc869bc82 rtl8189fs-569bdb91f2cc76e2f5b77df42471db2a62fd2376.tar.gz diff --git a/package/rtl8189fs/rtl8189fs.mk b/package/rtl8189fs/rtl8189fs.mk new file mode 100644 index 0000000000..d463bba7e6 --- /dev/null +++ b/package/rtl8189fs/rtl8189fs.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# rtl8189fs +# +################################################################################ + +RTL8189FS_VERSION = 569bdb91f2cc76e2f5b77df42471db2a62fd2376 +RTL8189FS_SITE = $(call github,jwrdegoede,rtl8189ES_linux,$(RTL8189FS_VERSION)) +RTL8189FS_LICENSE = GPL-2.0 + +RTL8189FS_MODULE_MAKE_OPTS = \ + CONFIG_RTL8189FS=m \ + KVER=$(LINUX_VERSION_PROBED) \ + KSRC=$(LINUX_DIR) + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/rtl8723bu/Config.in b/package/rtl8723bu/Config.in new file mode 100644 index 0000000000..266a794a7d --- /dev/null +++ b/package/rtl8723bu/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_RTL8723BU + bool "rtl8723bu" + depends on BR2_LINUX_KERNEL + help + rtl8723bu wifi driver + + https://github.com/lwfinger/rtl8723bu + +comment "rtl8723bu needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL diff --git a/package/rtl8723bu/rtl8723bu.hash b/package/rtl8723bu/rtl8723bu.hash new file mode 100644 index 0000000000..ef4eddaa63 --- /dev/null +++ b/package/rtl8723bu/rtl8723bu.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 da04cffc306d9738abdc67d234b8948db6ca97ed77760c68d99d18817839a513 rtl8723bu-b922079a090dcaad58179d478442ff97f18521c9.tar.gz diff --git a/package/rtl8723bu/rtl8723bu.mk b/package/rtl8723bu/rtl8723bu.mk new file mode 100644 index 0000000000..942b13bbf6 --- /dev/null +++ b/package/rtl8723bu/rtl8723bu.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# rtl8723bu +# +################################################################################ + +RTL8723BU_VERSION = b922079a090dcaad58179d478442ff97f18521c9 +RTL8723BU_SITE = $(call github,lwfinger,rtl8723bu,$(RTL8723BU_VERSION)) +RTL8723BU_LICENSE = GPL-2.0, proprietary (*.bin firmware blobs) + +RTL8723BU_MODULE_MAKE_OPTS = \ + KVER=$(LINUX_VERSION_PROBED) \ + KSRC=$(LINUX_DIR) + +define RTL8723BU_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 644 $(@D)/rtl8723b_fw.bin $(TARGET_DIR)/lib/firmware/rtlwifi/rtl8723b_fw.bin +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/ruby/ruby.hash b/package/ruby/ruby.hash index d066186d56..dd4cfc202b 100644 --- a/package/ruby/ruby.hash +++ b/package/ruby/ruby.hash @@ -1,5 +1,5 @@ -# From https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-4-2-released/ -sha256 748a8980d30141bd1a4124e11745bb105b436fb1890826e0d2b9ea31af27f735 ruby-2.4.2.tar.xz +# From https://www.ruby-lang.org/en/news/2018/03/28/ruby-2-4-4-released/ +sha256 1d0034071d675193ca769f64c91827e5f54cb3a7962316a41d5217c7bc6949f0 ruby-2.4.4.tar.xz # License files, Locally calculated sha256 5cda9584acd5e1096276a375085b7e659fa67a072fd69ec2c3931e54f7f563bb LEGAL sha256 f5eb1b2956d5f7a67b2e5722a3749bc2fe86f9c580f2e3f5a08519cf073b5864 COPYING diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk index 4bf1a14cee..93c3170cf6 100644 --- a/package/ruby/ruby.mk +++ b/package/ruby/ruby.mk @@ -5,7 +5,7 @@ ################################################################################ RUBY_VERSION_MAJOR = 2.4 -RUBY_VERSION = $(RUBY_VERSION_MAJOR).2 +RUBY_VERSION = $(RUBY_VERSION_MAJOR).4 RUBY_VERSION_EXT = 2.4.0 RUBY_SITE = http://cache.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR) RUBY_SOURCE = ruby-$(RUBY_VERSION).tar.xz diff --git a/package/rust-bin/rust-bin.hash b/package/rust-bin/rust-bin.hash new file mode 100644 index 0000000000..5b34a6aa0c --- /dev/null +++ b/package/rust-bin/rust-bin.hash @@ -0,0 +1,33 @@ +# From https://static.rust-lang.org/dist/rustc-1.23.0-i686-unknown-linux-gnu.tar.xz.sha256 +sha256 243de2826b2d545b8428414a3f7e86ce5e86163ec927a374958052a047b55e69 rustc-1.23.0-i686-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rustc-1.23.0-x86_64-unknown-linux-gnu.tar.xz.sha256 +sha256 d72674a683dcc8a07ad72d6ae08b96a7dfc72cf08433e2ae69c0f8a2b9c79c17 rustc-1.23.0-x86_64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.23.0-aarch64-unknown-linux-gnu.tar.xz.sha256 +sha256 0d9c976c46a277ef860ce5766387ea8e40f84657e5f9962cba91be62a00ca345 rust-std-1.23.0-aarch64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.23.0-arm-unknown-linux-gnueabi.tar.xz.sha256 +sha256 3d7ce58f6d2bbf6faf91049893e96611a172b0af02d98190e36a49e8b0f974ee rust-std-1.23.0-arm-unknown-linux-gnueabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.23.0-arm-unknown-linux-gnueabihf.tar.xz.sha256 +sha256 0a2a43668c2ddc2516e85e1c097d2672acaf61541d2b70f40daba548b3ccbee1 rust-std-1.23.0-arm-unknown-linux-gnueabihf.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.23.0-armv7-unknown-linux-gnueabihf.tar.xz.sha256 +sha256 b2f7f4e2e31d86302e929d0435b6f40778c22fc9306f0850b0edc4738ff2634e rust-std-1.23.0-armv7-unknown-linux-gnueabihf.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.23.0-i686-unknown-linux-gnu.tar.xz.sha256 +sha256 f9659f844ccd2e25e9f01a49fb7adf0ce26cbbec7a4df7081dd2d0929a86b2d3 rust-std-1.23.0-i686-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.23.0-mips-unknown-linux-gnu.tar.xz.sha256 +sha256 8324d9c1eacba0de31fff29841d0f0567261489ee46a270e30be929095bfe19a rust-std-1.23.0-mips-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.23.0-mips64-unknown-linux-gnuabi64.tar.xz.sha256 +sha256 521f70f3346ff8e28e33350fd5ad9bbba7dfc9038389f3965bcfa2f1d1a498a5 rust-std-1.23.0-mips64-unknown-linux-gnuabi64.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.23.0-mips64el-unknown-linux-gnuabi64.tar.xz.sha256 +sha256 d08f5792bd0d4f5d3d81a4ec1b3a2b36e7c389de2ecf2e777e390461ff015d08 rust-std-1.23.0-mips64el-unknown-linux-gnuabi64.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.23.0-mipsel-unknown-linux-gnu.tar.xz.sha256 +sha256 77291fff357b9e1764a4d7975bdbecdb37aeb0d37d85ccb68f7d785f4da1a056 rust-std-1.23.0-mipsel-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.23.0-powerpc-unknown-linux-gnu.tar.xz.sha256 +sha256 d1b862d32c4921058ff4ea5b7fead3b2954b5f0f036603b1c58a600e602d1f25 rust-std-1.23.0-powerpc-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.23.0-powerpc64-unknown-linux-gnu.tar.xz.sha256 +sha256 e03bf7907914c88d2f19e719f07641b1b1ffbb65cf9daae8b028f4ab4619b4ff rust-std-1.23.0-powerpc64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.23.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256 +sha256 674f74245341119409e203109c22d432d0ed3312a6ff4d3b03cab251e61cc53a rust-std-1.23.0-powerpc64le-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.23.0-x86_64-unknown-linux-gnu.tar.xz.sha256 +sha256 0d87225dd081c7ea5002fdeb21983d23bc52fa37d23c88d5c97b2c44660f8af9 rust-std-1.23.0-x86_64-unknown-linux-gnu.tar.xz +# Locally generated +sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2 LICENSE-APACHE +sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT diff --git a/package/rust-bin/rust-bin.mk b/package/rust-bin/rust-bin.mk new file mode 100644 index 0000000000..cd5844b115 --- /dev/null +++ b/package/rust-bin/rust-bin.mk @@ -0,0 +1,61 @@ +################################################################################ +# +# rust-bin +# +################################################################################ + +RUST_BIN_VERSION = 1.23.0 +RUST_BIN_SITE = https://static.rust-lang.org/dist +RUST_BIN_LICENSE = Apache-2.0 or MIT +RUST_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT + +HOST_RUST_BIN_PROVIDES = host-rustc + +HOST_RUST_BIN_SOURCE = rustc-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz + +HOST_RUST_BIN_EXTRA_DOWNLOADS = \ + rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz \ + rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME).tar.xz + +HOST_RUST_BIN_LIBSTD_HOST_PREFIX = rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME)/rust-std-$(RUSTC_HOST_NAME) + +define HOST_RUST_BIN_LIBSTD_EXTRACT + mkdir -p $(@D)/std + $(foreach f,$(HOST_RUST_BIN_EXTRA_DOWNLOADS), \ + $(call suitable-extractor,$(f)) $(DL_DIR)/$(f) | \ + $(TAR) -C $(@D)/std $(TAR_OPTIONS) - + ) + cd $(@D)/rustc/lib/rustlib; \ + ln -sf ../../../std/$(HOST_RUST_BIN_LIBSTD_HOST_PREFIX)/lib/rustlib/$(RUSTC_HOST_NAME) +endef + +HOST_RUST_BIN_POST_EXTRACT_HOOKS += HOST_RUST_BIN_LIBSTD_EXTRACT + +HOST_RUST_BIN_INSTALL_OPTS = \ + --prefix=$(HOST_DIR) \ + --disable-ldconfig + +ifeq ($(BR2_PACKAGE_HOST_RUST_BIN),y) +define HOST_RUST_BIN_INSTALL_RUSTC + (cd $(@D); \ + ./install.sh $(HOST_RUST_BIN_INSTALL_OPTS)) +endef + +define HOST_RUST_BIN_INSTALL_LIBSTD_HOST + (cd $(@D)/std/rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME); \ + ./install.sh $(HOST_RUST_BIN_INSTALL_OPTS)) +endef + +define HOST_RUST_BIN_INSTALL_LIBSTD_TARGET + (cd $(@D)/std/rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME); \ + ./install.sh $(HOST_RUST_BIN_INSTALL_OPTS)) +endef +endif + +define HOST_RUST_BIN_INSTALL_CMDS + $(HOST_RUST_BIN_INSTALL_RUSTC) + $(HOST_RUST_BIN_INSTALL_LIBSTD_HOST) + $(HOST_RUST_BIN_INSTALL_LIBSTD_TARGET) +endef + +$(eval $(host-generic-package)) diff --git a/package/rust/rust.hash b/package/rust/rust.hash new file mode 100644 index 0000000000..d6731b6dc2 --- /dev/null +++ b/package/rust/rust.hash @@ -0,0 +1,5 @@ +# From https://static.rust-lang.org/dist/rustc-1.23.0-src.tar.xz.sha256 +sha256 7196032371b50dd5582465b3bfa79ffd783b74f0711420d99b61b26c96fb3d80 rustc-1.23.0-src.tar.xz +# Locally generated +sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2 LICENSE-APACHE +sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT diff --git a/package/rust/rust.mk b/package/rust/rust.mk new file mode 100644 index 0000000000..ff2634b996 --- /dev/null +++ b/package/rust/rust.mk @@ -0,0 +1,79 @@ +################################################################################ +# +# rust +# +################################################################################ + +RUST_VERSION = 1.23.0 +RUST_SOURCE = rustc-$(RUST_VERSION)-src.tar.xz +RUST_SITE = https://static.rust-lang.org/dist +RUST_LICENSE = Apache-2.0 or MIT +RUST_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT + +HOST_RUST_PROVIDES = host-rustc + +HOST_RUST_DEPENDENCIES = \ + toolchain \ + host-rust-bin \ + host-cargo-bin \ + host-python \ + $(BR2_CMAKE_HOST_DEPENDENCY) + +ifeq ($(BR2_PACKAGE_JEMALLOC),y) +HOST_RUST_DEPENDENCIES += jemalloc +HOST_RUST_JEMALLOC_ENABLED = true +HOST_RUST_JEMALLOC_CONF = 'jemalloc = "$(STAGING_DIR)/usr/lib/libjemalloc_pic.a"' +else +HOST_RUST_JEMALLOC_ENABLED = false +endif + +HOST_RUST_VERBOSITY = $(if $(VERBOSE),2,0) + +# Some vendor crates contain Cargo.toml.orig files. The associated +# .cargo-checksum.json file will contain a checksum for Cargo.toml.orig but +# support/scripts/apply-patches.sh will delete them. This will cause the build +# to fail, as Cargo will not be able to find the file and verify the checksum. +# So, remove all Cargo.toml.orig entries from the affected .cargo-checksum.json +# files +define HOST_RUST_EXCLUDE_ORIG_FILES + for file in $$(find $(@D) -name '*.orig'); do \ + crate=$$(dirname $${file}); \ + fn=$${crate}/.cargo-checksum.json; \ + sed -i -e 's/"Cargo.toml.orig":"[a-z0-9]\+",//g' $${fn}; \ + done +endef + +HOST_RUST_POST_EXTRACT_HOOKS += HOST_RUST_EXCLUDE_ORIG_FILES + +define HOST_RUST_CONFIGURE_CMDS + ( \ + echo '[build]'; \ + echo 'target = ["$(RUSTC_TARGET_NAME)"]'; \ + echo 'cargo = "$(HOST_CARGO_BIN_DIR)/cargo/bin/cargo"'; \ + echo 'rustc = "$(HOST_RUST_BIN_DIR)/rustc/bin/rustc"'; \ + echo 'python = "$(HOST_DIR)/bin/python2"'; \ + echo 'submodules = false'; \ + echo 'vendor = true'; \ + echo 'compiler-docs = false'; \ + echo 'docs = false'; \ + echo 'verbose = $(HOST_RUST_VERBOSITY)'; \ + echo '[install]'; \ + echo 'prefix = "$(HOST_DIR)"'; \ + echo '[rust]'; \ + echo 'use-jemalloc = $(HOST_RUST_JEMALLOC_ENABLED)'; \ + echo '[target.$(RUSTC_TARGET_NAME)]'; \ + echo 'cc = "$(TARGET_CROSS)gcc"'; \ + echo $(HOST_RUST_JEMALLOC_CONF); \ + ) > $(@D)/config.toml +endef + +define HOST_RUST_BUILD_CMDS + cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python2 x.py build +endef + +define HOST_RUST_INSTALL_CMDS + cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python2 x.py dist + cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python2 x.py install +endef + +$(eval $(host-generic-package)) diff --git a/package/rustc/Config.in.host b/package/rustc/Config.in.host new file mode 100644 index 0000000000..1c79eededc --- /dev/null +++ b/package/rustc/Config.in.host @@ -0,0 +1,79 @@ +config BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS + bool + # The pre-built Rust standard library is only available for the + # following architectures/ABIs, and is built against glibc. + default y if BR2_i386 + default y if BR2_x86_64 + default y if BR2_aarch64 + default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 \ + && !(BR2_ARM_CPU_ARMV7A && BR2_ARM_EABI) + default y if BR2_powerpc || BR2_powerpc64 + default y if (BR2_mips || BR2_mipsel) && !BR2_MIPS_CPU_MIPS32R6 + default y if (BR2_mips64 || BR2_mips64el) && !BR2_MIPS_CPU_MIPS64R6 \ + && BR2_MIPS_NABI64 + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + +config BR2_PACKAGE_HOST_RUSTC_ARCH + string + default "armv7" if BR2_ARM_CPU_ARMV7A + default BR2_ARCH if !BR2_ARM_CPU_ARMV7A + +config BR2_PACKAGE_HOST_RUSTC_ABI + string + default "eabi" if BR2_ARM_EABI + default "eabihf" if BR2_ARM_EABIHF + default "abi64" if BR2_MIPS_NABI64 + +config BR2_PACKAGE_HOST_RUSTC + bool "host rustc" + depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS + help + Compiler for the Rust language + + http://www.rust-lang.org + +if BR2_PACKAGE_HOST_RUSTC + +choice + prompt "Rust compiler variant" + default BR2_PACKAGE_HOST_RUST_BIN + help + Select a Rust compiler + +config BR2_PACKAGE_HOST_RUST + bool "host rust" + depends on BR2_HOST_GCC_AT_LEAST_4_7 # required by LLVM + # triggers ICE on trunc_int_for_mode, at explow.c:56 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_aarch64 + select BR2_PACKAGE_HAS_HOST_RUSTC + help + This package will build the compiler for the host as well as + two flavors of the standard library: one for the host, another + for the target. Both are installed in the host directory. + +comment "host-rust needs a toolchain w/ gcc >= 5" + depends on BR2_aarch64 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 + +comment "host-rust needs host gcc >= 4.7" + depends on !BR2_HOST_GCC_AT_LEAST_4_7 + +config BR2_PACKAGE_HOST_RUST_BIN + bool "host rust (pre-built)" + select BR2_PACKAGE_HAS_HOST_RUSTC + help + This package will install pre-built versions of the compiler + for the host and the Rust standard library for the target. + +endchoice + +config BR2_PACKAGE_HAS_HOST_RUSTC + bool + +config BR2_PACKAGE_PROVIDES_HOST_RUSTC + string + default "host-rust" if BR2_PACKAGE_HOST_RUST + default "host-rust-bin" if BR2_PACKAGE_HOST_RUST_BIN + +endif diff --git a/package/rustc/rustc.mk b/package/rustc/rustc.mk new file mode 100644 index 0000000000..bed74f3c2c --- /dev/null +++ b/package/rustc/rustc.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# rustc +# +################################################################################ + +RUSTC_ARCH = $(call qstrip,$(BR2_PACKAGE_HOST_RUSTC_ARCH)) +RUSTC_ABI = $(call qstrip,$(BR2_PACKAGE_HOST_RUSTC_ABI)) + +RUSTC_TARGET_NAME = $(RUSTC_ARCH)-unknown-linux-gnu$(RUSTC_ABI) + +ifeq ($(HOSTARCH),x86) +RUSTC_HOST_ARCH = i686 +else +RUSTC_HOST_ARCH = $(HOSTARCH) +endif + +RUSTC_HOST_NAME = $(RUSTC_HOST_ARCH)-unknown-linux-gnu + +$(eval $(host-virtual-package)) diff --git a/package/rygel/0001-Allow-UI-build-without-gstreamer-video.patch b/package/rygel/0001-Allow-UI-build-without-gstreamer-video.patch new file mode 100644 index 0000000000..6e1f528719 --- /dev/null +++ b/package/rygel/0001-Allow-UI-build-without-gstreamer-video.patch @@ -0,0 +1,37 @@ +From f3a49ad1a4ba172e97bd860bc067f7e9ebe69509 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 8 Jan 2018 13:27:42 +0100 +Subject: [PATCH] Allow UI build without gstreamer-video + +If EXAMPLE_UI dependencies are not met, only display a warning. +Indeed, currently, we can't build rygel UI without gstreamer-video which +is only a dependency of fullscreen-renderer application. + +fullscreen-renderer won't be build without gstreamer as HAVE_GSTREAMER +has to be true to check HAVE_UI in examples/Makefile.am + +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 00b94da..d140a27 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -359,7 +359,11 @@ if test x$try_ui = xyes ; then + [$RYGEL_COMMON_MODULES gio-2.0 >= $GIO_REQUIRED + gssdp-1.0 >= $GSSDP_REQUIRED + gstreamer-video-1.0 >= $GSTREAMER_REQUIRED +- gtk+-3.0 >= $GTK_REQUIRED]) ++ gtk+-3.0 >= $GTK_REQUIRED],, ++ [ ++ AC_MSG_WARN([Example UI dependencies not found.]) ++ AC_MSG_WARN([Example UI applications will not be built.]) ++ ]) + ], + [ + AC_MSG_WARN([UI dependencies not found.]) +-- +2.7.4 + diff --git a/package/rygel/Config.in b/package/rygel/Config.in new file mode 100644 index 0000000000..86d6a38e1e --- /dev/null +++ b/package/rygel/Config.in @@ -0,0 +1,51 @@ +config BR2_PACKAGE_RYGEL + bool "rygel" + depends on BR2_USE_WCHAR # gupnp-av + depends on BR2_TOOLCHAIN_HAS_THREADS # gupnp-av + depends on BR2_USE_MMU # gupnp-av + select BR2_PACKAGE_GUPNP_AV + select BR2_PACKAGE_LIBGEE + select BR2_PACKAGE_LIBMEDIAART + select BR2_PACKAGE_SQLITE + help + Rygel is a home media solution (UPnP AV MediaServer) that + allows you to easily share audio, video and pictures to other + devices. + + Additionally, media player software may use Rygel to become a + MediaRenderer that may be controlled remotely by a UPnP or + DLNA Controller. + + Rygel achieves interoperability with other devices in the + market by trying to conform to the very strict requirements of + DLNA and by converting media on-the-fly to formats that client + devices can handle. + + Most Rygel functionality is implemented through a plug-in + mechanism. + + https://wiki.gnome.org/Projects/Rygel + +if BR2_PACKAGE_RYGEL + +choice + prompt "media engine" + default BR2_PACKAGE_RYGEL_MEDIA_ENGINE_SIMPLE + +config BR2_PACKAGE_RYGEL_MEDIA_ENGINE_SIMPLE + bool "simple" + +config BR2_PACKAGE_RYGEL_MEDIA_ENGINE_GSTREAMER1 + bool "gstreamer1" + select BR2_PACKAGE_GDK_PIXBUF + select BR2_PACKAGE_GUPNP_DLNA + select BR2_PACKAGE_GSTREAMER1 + select BR2_PACKAGE_GST1_PLUGINS_BASE + +endchoice + +comment "rygel needs a toolchain w/ wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + +endif # BR2_PACKAGE_RYGEL diff --git a/package/rygel/S99rygel b/package/rygel/S99rygel new file mode 100644 index 0000000000..ee832e9baf --- /dev/null +++ b/package/rygel/S99rygel @@ -0,0 +1,37 @@ +#!/bin/sh + +NAME=rygel +PIDFILE=/var/run/$NAME.pid +DAEMON=/usr/bin/$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/rygel/rygel.hash b/package/rygel/rygel.hash new file mode 100644 index 0000000000..028af21bb4 --- /dev/null +++ b/package/rygel/rygel.hash @@ -0,0 +1,6 @@ +# Hash from: http://ftp.gnome.org/pub/gnome/sources/rygel/0.36/rygel-0.36.0.sha256sum: +sha256 31e8ade78b4ea59978d1b59056fa5cd8aef6b9c1457d3dd06de4d2e75a01813f rygel-0.36.0.tar.xz + +# Locally calculated +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 c7d881be8ae01162510e982a32001446c6d6d18a9cecc89cc41a28bd215a0262 COPYING.logo diff --git a/package/rygel/rygel.mk b/package/rygel/rygel.mk new file mode 100644 index 0000000000..cd8897ceb5 --- /dev/null +++ b/package/rygel/rygel.mk @@ -0,0 +1,74 @@ +################################################################################ +# +# rygel +# +################################################################################ + +RYGEL_VERSION_MAJOR = 0.36 +RYGEL_VERSION = $(RYGEL_VERSION_MAJOR).0 +RYGEL_SOURCE = rygel-$(RYGEL_VERSION).tar.xz +RYGEL_SITE = http://ftp.gnome.org/pub/gnome/sources/rygel/$(RYGEL_VERSION_MAJOR) +RYGEL_LICENSE = LGPL-2.1+, CC-BY-SA-3.0 (logo) +RYGEL_LICENSE_FILES = COPYING COPYING.logo +RYGEL_DEPENDENCIES = \ + gupnp-av \ + libgee \ + libmediaart \ + sqlite +RYGEL_INSTALL_STAGING = YES +# We're patching configure.ac +RYGEL_AUTORECONF = YES + +RYGEL_CONF_OPTS += \ + --disable-apidocs \ + --disable-coverage \ + --disable-example-plugins \ + --enable-external-plugin \ + --enable-lms-plugin \ + --enable-mpris-plugin \ + --enable-ruih-plugin \ + --disable-tracker-plugin + +ifeq ($(BR2_PACKAGE_GDK_PIXBUF),y) +RYGEL_DEPENDENCIES += gdk-pixbuf +endif + +ifeq ($(BR2_PACKAGE_RYGEL_MEDIA_ENGINE_GSTREAMER1),y) +RYGEL_CONF_OPTS += \ + --with-media-engine=gstreamer \ + --enable-playbin-plugin \ + --enable-media_export-plugin \ + --enable-gst-launch-plugin +RYGEL_DEPENDENCIES += \ + gupnp-dlna \ + gst1-plugins-base \ + gstreamer1 +else ifeq ($(BR2_PACKAGE_RYGEL_MEDIA_ENGINE_SIMPLE),y) +RYGEL_CONF_OPTS += \ + --with-media-engine=simple \ + --disable-playbin-plugin \ + --disable-media_export-plugin \ + --disable-gst-launch-plugin +endif + +ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) +RYGEL_CONF_OPTS += --with-ui +RYGEL_DEPENDENCIES += libgtk3 +else +RYGEL_CONF_OPTS += --without-ui +endif + +define RYGEL_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/rygel/S99rygel \ + $(TARGET_DIR)/etc/init.d/S99rygel +endef + +define RYGEL_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/rygel/rygel.service \ + $(TARGET_DIR)/usr/lib/systemd/system/rygel.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/rygel.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/rygel.service +endef + +$(eval $(autotools-package)) diff --git a/package/rygel/rygel.service b/package/rygel/rygel.service new file mode 100644 index 0000000000..6ae8ee7279 --- /dev/null +++ b/package/rygel/rygel.service @@ -0,0 +1,10 @@ +[Unit] +Description=Rygel DLNA server +After=network.target + +[Service] +ExecStart=/usr/bin/rygel +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/package/s6-dns/s6-dns.hash b/package/s6-dns/s6-dns.hash index 2e019ce7d6..483d4f0e4b 100644 --- a/package/s6-dns/s6-dns.hash +++ b/package/s6-dns/s6-dns.hash @@ -1,2 +1,3 @@ # Locally generated -sha256 e31b454aef2bd0e35afb497c42dd0d49c011e0535ad2bf4dd6719afcf6e5e6b4 s6-dns-2.2.0.1.tar.gz +sha256 a828583e48741927c88de3822283c317c792ffc15d5e9043f29625b87ba38740 s6-dns-2.3.0.0.tar.gz +sha256 6ee77e7199d69b707ab864ea7a838f9562717aaa41c89413bdb2cf835f95052f COPYING diff --git a/package/s6-dns/s6-dns.mk b/package/s6-dns/s6-dns.mk index f0c63f35c3..42639aa9c4 100644 --- a/package/s6-dns/s6-dns.mk +++ b/package/s6-dns/s6-dns.mk @@ -4,7 +4,7 @@ # ################################################################################ -S6_DNS_VERSION = 2.2.0.1 +S6_DNS_VERSION = 2.3.0.0 S6_DNS_SITE = http://skarnet.org/software/s6-dns S6_DNS_LICENSE = ISC S6_DNS_LICENSE_FILES = COPYING diff --git a/package/s6-linux-init/s6-linux-init.hash b/package/s6-linux-init/s6-linux-init.hash index 2ba3657ec3..03aeaf3abf 100644 --- a/package/s6-linux-init/s6-linux-init.hash +++ b/package/s6-linux-init/s6-linux-init.hash @@ -1,2 +1,3 @@ # Locally generated sha256 9ee2e8a5abc250bcb2be7d07566592ba5cbe3abce858f60853d3ac45b1ccdd79 s6-linux-init-0.3.1.1.tar.gz +sha256 43cdbc05eceb0781d71a0661bbb6b9335efc4b733fbd02847c0c6667fd440993 COPYING diff --git a/package/s6-linux-utils/s6-linux-utils.hash b/package/s6-linux-utils/s6-linux-utils.hash index 70870ab914..34fc5ea9b1 100644 --- a/package/s6-linux-utils/s6-linux-utils.hash +++ b/package/s6-linux-utils/s6-linux-utils.hash @@ -1,2 +1,3 @@ # Locally generated sha256 9562ef293c916c4448d16fcbbc065eb28fd995ac34cd3538179cbc3ee056ab93 s6-linux-utils-2.4.0.1.tar.gz +sha256 6ee77e7199d69b707ab864ea7a838f9562717aaa41c89413bdb2cf835f95052f COPYING diff --git a/package/s6-networking/s6-networking.hash b/package/s6-networking/s6-networking.hash index 3ba64b15a1..46f88e038c 100644 --- a/package/s6-networking/s6-networking.hash +++ b/package/s6-networking/s6-networking.hash @@ -1,2 +1,3 @@ # Locally generated sha256 d81968756abbcecde6a872c89d82f643cd621a0c295c2c57650705dbe875481a s6-networking-2.3.0.2.tar.gz +sha256 6ee77e7199d69b707ab864ea7a838f9562717aaa41c89413bdb2cf835f95052f COPYING diff --git a/package/s6-portable-utils/s6-portable-utils.hash b/package/s6-portable-utils/s6-portable-utils.hash index 52097ed380..f27d0b8cc1 100644 --- a/package/s6-portable-utils/s6-portable-utils.hash +++ b/package/s6-portable-utils/s6-portable-utils.hash @@ -1,2 +1,3 @@ # Locally generated sha256 6ae239d2c458a81c92b5d616129e443874f925bf3da02589913a1a3b708c4531 s6-portable-utils-2.2.1.1.tar.gz +sha256 6ee77e7199d69b707ab864ea7a838f9562717aaa41c89413bdb2cf835f95052f COPYING diff --git a/package/s6-rc/s6-rc.hash b/package/s6-rc/s6-rc.hash index 7ee13876f5..76ab69df18 100644 --- a/package/s6-rc/s6-rc.hash +++ b/package/s6-rc/s6-rc.hash @@ -1,2 +1,3 @@ # Locally generated -sha256 78266a397330d35d5eac9e99d1436feba58e36f41bfe1db0fd16c4b6cc73c999 s6-rc-0.3.0.0.tar.gz +sha256 96b8e7f275d42113b9ba7ef1d8856f64183b9421c39702f8332e6f5686496fba s6-rc-0.4.0.0.tar.gz +sha256 1377d3b18a31de11e8bb06f0f46888a23bc16cbc57285035793bf7e7943bbcb3 COPYING diff --git a/package/s6-rc/s6-rc.mk b/package/s6-rc/s6-rc.mk index e651814a15..396adaeaf4 100644 --- a/package/s6-rc/s6-rc.mk +++ b/package/s6-rc/s6-rc.mk @@ -4,7 +4,7 @@ # ################################################################################ -S6_RC_VERSION = 0.3.0.0 +S6_RC_VERSION = 0.4.0.0 S6_RC_SITE = http://skarnet.org/software/s6-rc S6_RC_LICENSE = ISC S6_RC_LICENSE_FILES = COPYING diff --git a/package/s6/s6.hash b/package/s6/s6.hash index 2f498b0d6a..4a20e0f914 100644 --- a/package/s6/s6.hash +++ b/package/s6/s6.hash @@ -1,2 +1,3 @@ # Locally generated -sha256 0172b7293d4d5607ca3ca77382fee9b87c10bd58680720b29625cf35afc75c5c s6-2.6.1.1.tar.gz +sha256 6617cbf82c73273c67c6102a1a5c48449ef65ffbe8d0db6a587b7f0078dc6e13 s6-2.7.0.0.tar.gz +sha256 3eadcf980c40da0f257b8292d805ff41e5e5a908c1942315d9a627732e1aa012 COPYING diff --git a/package/s6/s6.mk b/package/s6/s6.mk index 3cf3885d5a..5556bfff93 100644 --- a/package/s6/s6.mk +++ b/package/s6/s6.mk @@ -4,7 +4,7 @@ # ################################################################################ -S6_VERSION = 2.6.1.1 +S6_VERSION = 2.7.0.0 S6_SITE = http://skarnet.org/software/s6 S6_LICENSE = ISC S6_LICENSE_FILES = COPYING diff --git a/package/safeclib/0001-Fix-install-when-HAVE_WCHAR-is-unset.patch b/package/safeclib/0001-Fix-install-when-HAVE_WCHAR-is-unset.patch new file mode 100644 index 0000000000..c34002d24e --- /dev/null +++ b/package/safeclib/0001-Fix-install-when-HAVE_WCHAR-is-unset.patch @@ -0,0 +1,50 @@ +From 5991f0d4b86c02a3d7739509b96815ccfa734be7 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 18 Dec 2017 17:17:54 +0100 +Subject: [PATCH] Fix install when HAVE_WCHAR is unset + +Don't build WCSNORM_xxx man pages if HAVE_WHCAR is not set otherwise +installation will fail as the wcsnorm_mode enum is not defined in +safe_str_lib.h when SAFECLIB_DISABLE_WCHAR is set + +Signed-off-by: Fabrice Fontaine +--- + Makefile.am | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 31398d1..b7e65a5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -142,12 +142,6 @@ dist_man_MANS += \ + doc/man/man3/SAFE_STR_PASSWORD_MIN_LENGTH.3 \ + doc/man/man3/STRTOK_DELIM_MAX_LEN.3 \ + doc/man/man3/TMP_MAX_S.3 \ +- doc/man/man3/WCSNORM_FCC.3 \ +- doc/man/man3/WCSNORM_FCD.3 \ +- doc/man/man3/WCSNORM_NFC.3 \ +- doc/man/man3/WCSNORM_NFD.3 \ +- doc/man/man3/WCSNORM_NFKC.3 \ +- doc/man/man3/WCSNORM_NFKD.3 \ + doc/man/man3/abort_handler_s.3 \ + doc/man/man3/abort_handler_s.c.3 \ + doc/man/man3/asctime_s.3 \ +@@ -461,6 +455,15 @@ dist_man_MANS += \ + doc/man/man3/wprintf_s.c.3 \ + doc/man/man3/wscanf_s.3 \ + doc/man/man3/wscanf_s.c.3 ++if ENABLE_WCHAR ++dist_man_MANS += \ ++ doc/man/man3/WCSNORM_FCC.3 \ ++ doc/man/man3/WCSNORM_FCD.3 \ ++ doc/man/man3/WCSNORM_NFC.3 \ ++ doc/man/man3/WCSNORM_NFD.3 \ ++ doc/man/man3/WCSNORM_NFKC.3 \ ++ doc/man/man3/WCSNORM_NFKD.3 ++endif + CLEANFILES += Doxyfile doc/footer README.md + + # avoid parallel doxygen +-- +2.7.4 + diff --git a/package/safeclib/Config.in b/package/safeclib/Config.in new file mode 100644 index 0000000000..5117c49da7 --- /dev/null +++ b/package/safeclib/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_SAFECLIB + bool "safeclib" + help + safec fork with all C11 Annex K functions + + This library implements the secure C11 Annex K functions on + top of most libc implementations, which are missing from them. + + https://rurban.github.io/safeclib/ diff --git a/package/safeclib/safeclib.hash b/package/safeclib/safeclib.hash new file mode 100644 index 0000000000..95a862eef0 --- /dev/null +++ b/package/safeclib/safeclib.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 9c09c6e9fc95207c7d45944f8b669f2454056bef2bbaef70c94ba3f81be1cbb2 safeclib-v09102017.tar.gz +sha256 c33e77efd5781e3d59a2bb648c82d2a615035ef0d24cf58880380e3af906510b COPYING diff --git a/package/safeclib/safeclib.mk b/package/safeclib/safeclib.mk new file mode 100644 index 0000000000..b1aa25992c --- /dev/null +++ b/package/safeclib/safeclib.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# safeclib +# +################################################################################ + +SAFECLIB_VERSION = v09102017 +SAFECLIB_SITE = $(call github,rurban,safeclib,$(SAFECLIB_VERSION)) +SAFECLIB_LICENSE = MIT +SAFECLIB_LICENSE_FILES = COPYING +SAFECLIB_INSTALL_STAGING = YES +# From git +SAFECLIB_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/package/sam-ba/sam-ba.mk b/package/sam-ba/sam-ba.mk index 244ede3ef1..a7941459c7 100644 --- a/package/sam-ba/sam-ba.mk +++ b/package/sam-ba/sam-ba.mk @@ -23,10 +23,16 @@ endef # then create a symbolic link from $(HOST_DIR)/bin to the # application binary, for easier usage. +ifeq ($(HOSTARCH),x86_64) +SAM_BA_BIN_NAME = sam-ba_64 +else +SAM_BA_BIN_NAME = sam-ba +endif + define HOST_SAM_BA_INSTALL_CMDS mkdir -p $(HOST_DIR)/opt/sam-ba/ cp -a $(@D)/* $(HOST_DIR)/opt/sam-ba/ - ln -sf ../../opt/sam-ba/sam-ba $(HOST_DIR)/bin/sam-ba + ln -sf ../opt/sam-ba/$(SAM_BA_BIN_NAME) $(HOST_DIR)/bin/sam-ba endef $(eval $(host-generic-package)) diff --git a/package/samba4/0001-libreplace-disable-libbsd-support.patch b/package/samba4/0001-libreplace-disable-libbsd-support.patch index 4d0c770af4..4794cb02fd 100644 --- a/package/samba4/0001-libreplace-disable-libbsd-support.patch +++ b/package/samba4/0001-libreplace-disable-libbsd-support.patch @@ -9,6 +9,8 @@ This causes redefinition conflicts for link(2) when both standard unistd.h and bsd/unistd.h get included. Signed-off-by: Gustavo Zacarias +(rebased for versions 4.7.3 & 4.8.0) +Signed-off-by: Bernd Kuhls --- lib/replace/wscript | 12 ------------ 1 file changed, 12 deletions(-) @@ -17,18 +19,21 @@ diff --git a/lib/replace/wscript b/lib/replace/wscript index 1dfd902..456be9b 100644 --- a/lib/replace/wscript +++ b/lib/replace/wscript -@@ -248,18 +248,6 @@ def configure(conf): +@@ -296,21 +296,6 @@ - conf.CHECK_FUNCS('prctl dirname basename') + strlcpy_in_bsd = False - # libbsd on some platforms provides strlcpy and strlcat - if not conf.CHECK_FUNCS('strlcpy strlcat'): -- conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', -- checklibc=True) +- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', +- checklibc=True): +- strlcpy_in_bsd = True - if not conf.CHECK_FUNCS('getpeereid'): - conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') - if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): - conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') +- if not conf.CHECK_FUNCS('setproctitle_init'): +- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') - - if not conf.CHECK_FUNCS('closefrom'): - conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') diff --git a/package/samba4/0002-Fix-compilation-of-Samba-4.7.4-with-disabled-ADS.patch b/package/samba4/0002-Fix-compilation-of-Samba-4.7.4-with-disabled-ADS.patch new file mode 100644 index 0000000000..45d3050a39 --- /dev/null +++ b/package/samba4/0002-Fix-compilation-of-Samba-4.7.4-with-disabled-ADS.patch @@ -0,0 +1,41 @@ +From da2f2cf8e7a1dfcb661b707e4649cec1e8a0e79c Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Thu, 9 Aug 2018 10:03:06 +0200 +Subject: [PATCH] Fix compilation of Samba 4.7.4 with disabled ADS + +Downloaded from upstream mailinglist +https://lists.samba.org/archive/samba-technical/2017-December/124629.html + +Patch originates from FreeBSD: +https://svnweb.freebsd.org/ports/head/net/samba47/files/patch-source3__libads__kerberos_keytab.c?revision=457119&view=markup + +Signed-off-by: Bernd Kuhls +--- + source3/libads/kerberos_keytab.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/source3/libads/kerberos_keytab.c b/source3/libads/kerberos_keytab.c +index 37ac7ba985e..71250962090 100644 +--- a/source3/libads/kerberos_keytab.c ++++ b/source3/libads/kerberos_keytab.c +@@ -32,8 +32,6 @@ + + #ifdef HAVE_KRB5 + +-#ifdef HAVE_ADS +- + /* This MAX_NAME_LEN is a constant defined in krb5.h */ + #ifndef MAX_KEYTAB_NAME_LEN + #define MAX_KEYTAB_NAME_LEN 1100 +@@ -85,6 +83,8 @@ out: + return ret; + } + ++#ifdef HAVE_ADS ++ + /********************************************************************** + Adds a single service principal, i.e. 'host' to the system keytab + ***********************************************************************/ +-- +2.14.4 + diff --git a/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch b/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch new file mode 100644 index 0000000000..0f174d5369 --- /dev/null +++ b/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch @@ -0,0 +1,83 @@ +From 3d91847322eba55e97adc76c5c95570382af7059 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 28 Jan 2018 11:57:11 +0100 +Subject: [PATCH] Fix uClibc build on 64bit platforms by including stdint.h + +Fixes an error detected by buildroot autobuilders: +http://autobuild.buildroot.net/results/573/573e2268e205e10d1352fa81122d8f225fdb4575/build-end.log + +/home/rclinux/rc-buildroot-test/scripts/instance-1/output/host/mips64el-buildroot-linux-uclibc/sysroot/usr/include/stdint.h:122:27: +error: conflicting types for 'uintptr_t' + typedef unsigned long int uintptr_t; + ^ +In file included from ../lib/ldb/tests/ldb_msg.c:17:0: +../third_party/cmocka/cmocka.h:126:28: note: previous declaration of 'uintptr_t' was here + typedef unsigned int uintptr_t; + +The define __WORDSIZE is missing when cmocka.h decides how to +define uintptr_t, this patch includes stdint.h when needed. + +Patch sent upstream: +https://lists.samba.org/archive/samba-technical/2018-January/125306.html + +[updated for samba-4.8.4, v2 sent upstream + https://lists.samba.org/archive/samba-technical/2018-August/129732.html] + +Signed-off-by: Bernd Kuhls +--- + lib/ldb/tests/ldb_mod_op_test.c | 1 + + lib/ldb/tests/ldb_msg.c | 1 + + libcli/auth/tests/ntlm_check.c | 1 + + libcli/smb/test_smb1cli_session.c | 1 + + 4 files changed, 4 insertions(+) + +diff --git a/lib/ldb/tests/ldb_mod_op_test.c b/lib/ldb/tests/ldb_mod_op_test.c +index c8b9c1aa9ff..4893dc3b38b 100644 +--- a/lib/ldb/tests/ldb_mod_op_test.c ++++ b/lib/ldb/tests/ldb_mod_op_test.c +@@ -13,6 +13,7 @@ + */ + #include + #include ++#include + #include + #include + +diff --git a/lib/ldb/tests/ldb_msg.c b/lib/ldb/tests/ldb_msg.c +index f8de418e0dc..31786a9a318 100644 +--- a/lib/ldb/tests/ldb_msg.c ++++ b/lib/ldb/tests/ldb_msg.c +@@ -13,6 +13,7 @@ + */ + #include + #include ++#include + #include + #include + +diff --git a/libcli/auth/tests/ntlm_check.c b/libcli/auth/tests/ntlm_check.c +index e87a0a276d4..65c7b086008 100644 +--- a/libcli/auth/tests/ntlm_check.c ++++ b/libcli/auth/tests/ntlm_check.c +@@ -40,6 +40,7 @@ + */ + #include + #include ++#include + #include + #include + +diff --git a/libcli/smb/test_smb1cli_session.c b/libcli/smb/test_smb1cli_session.c +index d1e21d5431e..6a526c96b61 100644 +--- a/libcli/smb/test_smb1cli_session.c ++++ b/libcli/smb/test_smb1cli_session.c +@@ -1,5 +1,6 @@ + #include + #include ++#include + #include + #include + +-- +2.18.0 + diff --git a/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch b/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch new file mode 100644 index 0000000000..41a06801c7 --- /dev/null +++ b/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch @@ -0,0 +1,116 @@ +From 3cd608170b99492bdd5fe3b7b8e7db61af199845 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Thu, 9 Aug 2018 09:59:06 +0200 +Subject: [PATCH] Disable build of manpages and documentation + +This patch fixes a bug described in an upstream bug report +https://bugzilla.samba.org/show_bug.cgi?id=9515 +which was closed as WONTFIX by disabling the build of manpages and +documentation. + +If installed on the host, samba4 uses the docbook-xsl package to build +parts of the documentation. This package is broken, on Debian for +example the bug reported to samba4 was fixed in the docbook-xsl package: +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765567 + +Since we do not provide a host version of docbook-xsl we need to disable +the build of manpages and documentation. + +Patch was downloaded from +https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/network/samba/patches/samba-950-no-man.patch + +Signed-off-by: Bernd Kuhls +--- + buildtools/wafsamba/wafsamba.py | 10 +++++----- + docs-xml/wscript_build | 34 +++++++++++++++++----------------- + source4/scripting/wscript_build | 4 ++-- + 3 files changed, 24 insertions(+), 24 deletions(-) + +diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py +index 4bb19d070e2..a255d841111 100644 +--- a/buildtools/wafsamba/wafsamba.py ++++ b/buildtools/wafsamba/wafsamba.py +@@ -335,9 +335,9 @@ def SAMBA_LIBRARY(bld, libname, source, + else: + bld.PKG_CONFIG_FILES(pc_files, vnum=vnum) + +- if (manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and +- bld.env['XSLTPROC_MANPAGES']): +- bld.MANPAGES(manpages, install) ++# if (manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and ++# bld.env['XSLTPROC_MANPAGES']): ++# bld.MANPAGES(manpages, install) + + + Build.BuildContext.SAMBA_LIBRARY = SAMBA_LIBRARY +@@ -442,8 +442,8 @@ def SAMBA_BINARY(bld, binname, source, + samba_ldflags = pie_ldflags + ) + +- if manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']: +- bld.MANPAGES(manpages, install) ++# if manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']: ++# bld.MANPAGES(manpages, install) + + Build.BuildContext.SAMBA_BINARY = SAMBA_BINARY + +diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build +index 954c62a29bc..1169158fd57 100644 +--- a/docs-xml/wscript_build ++++ b/docs-xml/wscript_build +@@ -147,20 +147,20 @@ bld.SAMBA_GENERATOR(parameter_all, + rule=smbdotconf_generate_parameter_list, + dep_vars=bld.dynconfig_varnames()) + +-def SMBDOTCONF_MANPAGE(bld, target): +- ''' assemble and build smb.conf.5 manual page''' +- bld.SAMBAMANPAGES(target, parameter_all) +- +-if ('XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']): +- +- SMBDOTCONF_MANPAGE(bld, 'manpages/smb.conf.5') +- bld.SAMBAMANPAGES(manpages) +- +- if bld.CONFIG_SET('WITH_PAM_MODULES') and bld.CONFIG_SET('HAVE_PAM_START'): +- bld.SAMBAMANPAGES(pam_winbind_manpages) +- +- if bld.CONFIG_SET('HAVE_KRB5_LOCATE_PLUGIN_H'): +- bld.SAMBAMANPAGES(krb5_locator_manpages) +- +- if bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'): +- bld.SAMBAMANPAGES('manpages/vfs_zfsacl.8') ++#def SMBDOTCONF_MANPAGE(bld, target): ++# ''' assemble and build smb.conf.5 manual page''' ++# bld.SAMBAMANPAGES(target, parameter_all) ++# ++#if ('XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']): ++# ++# SMBDOTCONF_MANPAGE(bld, 'manpages/smb.conf.5') ++# bld.SAMBAMANPAGES(manpages) ++# ++# if bld.CONFIG_SET('WITH_PAM_MODULES') and bld.CONFIG_SET('HAVE_PAM_START'): ++# bld.SAMBAMANPAGES(pam_winbind_manpages) ++# ++# if bld.CONFIG_SET('HAVE_KRB5_LOCATE_PLUGIN_H'): ++# bld.SAMBAMANPAGES(krb5_locator_manpages) ++# ++# if bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'): ++# bld.SAMBAMANPAGES('manpages/vfs_zfsacl.8') +diff --git a/source4/scripting/wscript_build b/source4/scripting/wscript_build +index 2f53cce12b7..9841ae0a116 100644 +--- a/source4/scripting/wscript_build ++++ b/source4/scripting/wscript_build +@@ -12,8 +12,8 @@ if sbin_files: + bld.INSTALL_FILES('${SBINDIR}', + sbin_files, + chmod=MODE_755, python_fixup=True, flat=True) +- if 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']: +- bld.MANPAGES(man_files, True) ++# if 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']: ++# bld.MANPAGES(man_files, True) + + if bld.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'): + bld.INSTALL_FILES('${BINDIR}', +-- +2.14.4 + diff --git a/package/samba4/samba4-cache.txt b/package/samba4/samba4-cache.txt index 3ba8a75ea6..0485f0dbb1 100644 --- a/package/samba4/samba4-cache.txt +++ b/package/samba4/samba4-cache.txt @@ -37,3 +37,5 @@ Checking value of NSIG: "65" Checking value of _NSIG: "65" Checking value of SIGRTMAX: "64" Checking value of SIGRTMIN: "34" +Checking errno of iconv for illegal multibyte sequence: "0" +checking for clnt_create(): OK diff --git a/package/samba4/samba4.hash b/package/samba4/samba4.hash index 3bf46d3bcc..00c8466078 100644 --- a/package/samba4/samba4.hash +++ b/package/samba4/samba4.hash @@ -1,3 +1,4 @@ -# Locally calculated -sha256 051b7ab0fa088d77dc0df039ff5d6b8fd998372f0c29ecb455b149457c20ed1d samba-4.6.11.tar.gz +# Locally calculated after checking pgp signature +# https://download.samba.org/pub/samba/stable/samba-4.8.4.tar.asc +sha256 f5044d149e01894a08b1d114b8b69aed78171a7bb19608bd1fd771453b9a5406 samba-4.8.4.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/samba4/samba4.mk b/package/samba4/samba4.mk index ade9add347..03ef6eeeb0 100644 --- a/package/samba4/samba4.mk +++ b/package/samba4/samba4.mk @@ -4,14 +4,14 @@ # ################################################################################ -SAMBA4_VERSION = 4.6.11 +SAMBA4_VERSION = 4.8.4 SAMBA4_SITE = https://download.samba.org/pub/samba/stable SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz SAMBA4_INSTALL_STAGING = YES SAMBA4_LICENSE = GPL-3.0+ SAMBA4_LICENSE_FILES = COPYING SAMBA4_DEPENDENCIES = \ - host-e2fsprogs host-heimdal host-python \ + host-e2fsprogs host-heimdal host-python host-nfs-utils \ e2fsprogs popt python zlib \ $(if $(BR2_PACKAGE_LIBAIO),libaio) \ $(if $(BR2_PACKAGE_LIBCAP),libcap) \ diff --git a/package/sane-backends/Config.in b/package/sane-backends/Config.in index 3e5a27ffe0..48ae9f79a2 100644 --- a/package/sane-backends/Config.in +++ b/package/sane-backends/Config.in @@ -7,9 +7,9 @@ config BR2_PACKAGE_SANE_BACKENDS http://www.sane-project.org - Backends are included automatically based on the libraries that have - been selected: libusb, jpeg, tiff, avahi (with dbus and libglib2), - and netsnmp. + Backends are included automatically based on the libraries + that have been selected: libusb, jpeg, tiff, avahi (with + dbus and libglib2), and netsnmp. comment "sane-backends needs a toolchain w/ dynamic library" depends on BR2_USE_MMU diff --git a/package/sconeserver/Config.in b/package/sconeserver/Config.in index f03af8dd22..7027bd9a15 100644 --- a/package/sconeserver/Config.in +++ b/package/sconeserver/Config.in @@ -5,8 +5,9 @@ menuconfig BR2_PACKAGE_SCONESERVER depends on !BR2_STATIC_LIBS # dlopen() select BR2_PACKAGE_PCRE help - Sconeserver is a modular, object-orientated and extremely versatile - network server framework for GNU/Linux and UNIX-like platforms. + Sconeserver is a modular, object-orientated and extremely + versatile network server framework for GNU/Linux and + UNIX-like platforms. http://www.sconemad.com/sconeserver/ diff --git a/package/screen/0006-install-no-backup-binary.patch b/package/screen/0006-install-no-backup-binary.patch index 504862a299..7842662b57 100644 --- a/package/screen/0006-install-no-backup-binary.patch +++ b/package/screen/0006-install-no-backup-binary.patch @@ -5,6 +5,8 @@ Subject: Do not create backup of old installed binary This is a rather unusual feature that packagers will not expect. Signed-off-by: Maarten ter Huurne +[baruch: update for 4.6.2] +Signed-off-by: Baruch Siach --- Makefile.in | 4 ---- 1 file changed, 4 deletions(-) @@ -16,7 +18,7 @@ index 187a69b..65549e9 100644 @@ -83,12 +83,9 @@ screen: $(OFILES) $(OPTIONS) $(CFLAGS) $< - install_bin: .version screen + install_bin: .version screen installdirs - -if [ -f $(DESTDIR)$(bindir)/$(SCREEN) ] && [ ! -f $(DESTDIR)$(bindir)/$(SCREEN).old ]; \ - then mv $(DESTDIR)$(bindir)/$(SCREEN) $(DESTDIR)$(bindir)/$(SCREEN).old; fi $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) diff --git a/package/screen/0009-install-dir-dependency.patch b/package/screen/0009-install-dir-dependency.patch deleted file mode 100644 index 9016cb90be..0000000000 --- a/package/screen/0009-install-dir-dependency.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: Maarten ter Huurne -Date: Mon, 15 Sep 2014 02:27:09 +0200 -Subject: Ensure that installation dirs exist before copying files into them - -Since the "install_bin" target requires the installation directories -to exist, it should depend on the "installdirs" target. The previous -approach of having "install" depend on "installdirs" is not reliable. - -For example, in a parallel build, there was no guarantee that -"installdirs" would be finished before "install_bin" runs. Also if -the user requested only "install_bin" to be made, "installdirs" would -be skipped altogether. - -Signed-off-by: Maarten ter Huurne ---- - Makefile.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index 860f351..f0fe08d 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -82,7 +82,7 @@ screen: $(OFILES) - $(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(CPPFLAGS) $(DEFS) \ - $(OPTIONS) $(CFLAGS) $< - --install_bin: .version screen -+install_bin: .version screen installdirs - $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) - -chown root $(DESTDIR)$(bindir)/$(SCREEN) - -chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) -@@ -94,7 +94,7 @@ endif - cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS) - - ############################################################################### --install: installdirs install_bin -+install: install_bin - cd doc ; $(MAKE) install - -if [ -d /usr/lib/terminfo ]; then \ - PATH="$$PATH:/usr/5bin" tic ${srcdir}/terminfo/screeninfo.src; \ --- -1.8.4.5 - diff --git a/package/screen/0010-rename-sched_h.patch b/package/screen/0009-rename-sched_h.patch similarity index 100% rename from package/screen/0010-rename-sched_h.patch rename to package/screen/0009-rename-sched_h.patch diff --git a/package/screen/0010-comm-h-now-depends-on-term-h.patch b/package/screen/0010-comm-h-now-depends-on-term-h.patch new file mode 100644 index 0000000000..6ff6f3da0b --- /dev/null +++ b/package/screen/0010-comm-h-now-depends-on-term-h.patch @@ -0,0 +1,28 @@ +From 39c5f1c76f1fcef4b5958bf828a63f53426b6984 Mon Sep 17 00:00:00 2001 +From: Mike Gerwitz +Date: Tue, 24 Dec 2013 22:16:31 -0500 +Subject: comm.h now depends on term.h + +Signed-off-by: Fabrice Fontaine +[Patch retrieved and updated from: +http://git.savannah.gnu.org/cgit/screen.git/commit/?id=39c5f1c] +--- + src/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index e791e79..d4f7c0b 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -113,7 +113,7 @@ term.h: term.c term.sh + + kmapdef.c: term.h + +-comm.h: comm.c comm.sh config.h ++comm.h: comm.c comm.sh config.h term.h + AWK=$(AWK) CC="$(CC) $(CFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh + + docs: +-- +cgit v1.0-41-gc330 + diff --git a/package/screen/0011-comm.h-needed-for-list_-display-generic-.o.patch b/package/screen/0011-comm.h-needed-for-list_-display-generic-.o.patch new file mode 100644 index 0000000000..f406a1afac --- /dev/null +++ b/package/screen/0011-comm.h-needed-for-list_-display-generic-.o.patch @@ -0,0 +1,35 @@ +From b719314d201a3e9e1e57c65746a468c47bfc847f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 3 Oct 2018 22:29:32 +0200 +Subject: [PATCH] comm.h needed for list_{display,generic}.o + +comm.h is needed to build list_display.o and list_generic.o otherwise +parallel builds will sometimes fail + +Fixes: + - http://autobuild.buildroot.org/results/43105f14857dbe72d8878fc7b3db67f7bdca93cc + - http://autobuild.buildroot.org/results/47f4ecbec1355285633df287fc9c4e7cccde9378 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://savannah.gnu.org/bugs/index.php?54776] +--- + Makefile.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index af5938b..e6d5247 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -265,7 +265,7 @@ braille.h + viewport.o: layout.h viewport.h canvas.h viewport.c config.h screen.h os.h osdef.h ansi.h acls.h \ + comm.h layer.h term.h image.h display.h window.h extern.h \ + braille.h +-list_generic.o: list_generic.h list_generic.c layer.h screen.h osdef.h +-list_display.o: list_generic.h list_display.c layer.h screen.h osdef.h ++list_generic.o: list_generic.h list_generic.c layer.h screen.h osdef.h comm.h ++list_display.o: list_generic.h list_display.c layer.h screen.h osdef.h comm.h + list_window.o: list_generic.h list_window.c window.h layer.h screen.h osdef.h comm.h + +-- +2.17.1 + diff --git a/package/screen/Config.in b/package/screen/Config.in index b5876e87cf..ee4c04ca9e 100644 --- a/package/screen/Config.in +++ b/package/screen/Config.in @@ -3,11 +3,12 @@ config BR2_PACKAGE_SCREEN depends on BR2_USE_MMU # fork() select BR2_PACKAGE_NCURSES help - Screen is a full-screen window manager that multiplexes a physical - terminal between several processes, typically interactive shells. - Each virtual terminal provides the functions of the DEC VT100 - terminal and, in addition, several control functions from the ANSI - X3.64 (ISO 6429) and ISO 2022 standards (e.g., insert/delete line - and support for multiple character sets). + Screen is a full-screen window manager that multiplexes a + physical terminal between several processes, typically + interactive shells. Each virtual terminal provides the + functions of the DEC VT100 terminal and, in addition, + several control functions from the ANSI X3.64 (ISO 6429) and + ISO 2022 standards (e.g., insert/delete line and support for + multiple character sets). http://www.gnu.org/software/screen/ diff --git a/package/screen/screen.hash b/package/screen/screen.hash index 168611731f..0e1613b28a 100644 --- a/package/screen/screen.hash +++ b/package/screen/screen.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 97db2114dd963b016cd4ded34831955dcbe3251e5eee45ac2606e67e9f097b2d screen-4.5.1.tar.gz +# https://ftp.gnu.org/gnu/screen/screen-4.6.2.tar.gz.sig +sha256 1b6922520e6a0ce5e28768d620b0f640a6631397f95ccb043b70b91bb503fa3a screen-4.6.2.tar.gz +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/screen/screen.mk b/package/screen/screen.mk index f22f8a6b7e..8d67c04b63 100644 --- a/package/screen/screen.mk +++ b/package/screen/screen.mk @@ -4,7 +4,7 @@ # ################################################################################ -SCREEN_VERSION = 4.5.1 +SCREEN_VERSION = 4.6.2 SCREEN_SITE = $(BR2_GNU_MIRROR)/screen SCREEN_LICENSE = GPL-3.0+ SCREEN_LICENSE_FILES = COPYING diff --git a/package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch b/package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch new file mode 100644 index 0000000000..53926c03b5 --- /dev/null +++ b/package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch @@ -0,0 +1,42 @@ +From a0acea5bcce3f47badbfeeab7bc2e36eba08fd84 Mon Sep 17 00:00:00 2001 +From: Sam Lantinga +Date: Mon, 27 Aug 2018 11:51:05 -0700 +Subject: [PATCH] Fixed the DirectFB renderer not being enabled in autoconf + builds + +Upstream-url: https://hg.libsdl.org/SDL/raw-rev/751cdc74d55c +Signed-off-by: Peter Korsgaard +--- + configure | 3 +++ + configure.in | 1 + + 2 files changed, 4 insertions(+) + +diff --git a/configure b/configure +index e88b38001..40ac14d21 100755 +--- a/configure ++++ b/configure +@@ -21501,6 +21501,9 @@ fi + + $as_echo "#define SDL_VIDEO_DRIVER_DIRECTFB 1" >>confdefs.h + ++ ++$as_echo "#define SDL_VIDEO_RENDER_DIRECTFB 1" >>confdefs.h ++ + SOURCES="$SOURCES $srcdir/src/video/directfb/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS" + +diff --git a/configure.in b/configure.in +index 5bf5d717b..ce1d57ea1 100644 +--- a/configure.in ++++ b/configure.in +@@ -2163,6 +2163,7 @@ AC_HELP_STRING([--enable-directfb-shared], [dynamically load directfb support [[ + , enable_directfb_shared=yes) + + AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB, 1, [ ]) ++ AC_DEFINE(SDL_VIDEO_RENDER_DIRECTFB, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/video/directfb/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS" + +-- +2.11.0 + diff --git a/package/sdl2/sdl2.hash b/package/sdl2/sdl2.hash index 588f8f49ef..997b4a5d4f 100644 --- a/package/sdl2/sdl2.hash +++ b/package/sdl2/sdl2.hash @@ -1,4 +1,4 @@ -# Locally calculated after checking http://www.libsdl.org/release/SDL2-2.0.7.tar.gz.sig -sha256 ee35c74c4313e2eda104b14b1b86f7db84a04eeab9430d56e001cea268bf4d5e SDL2-2.0.7.tar.gz +# Locally calculated after checking http://www.libsdl.org/release/SDL2-2.0.8.tar.gz.sig +sha256 edc77c57308661d576e843344d8638e025a7818bff73f8fbfab09c3c5fd092ec SDL2-2.0.8.tar.gz # Locally calculated -sha256 bbd2edb1789c33de29bb9f8d1dbe2774584a9ce8c4e3162944b7a3a447f5e85d COPYING.txt +sha256 61e627031e1160bf8b9bdbc9cda27656d422ea8eaab199b64b4a4a4168437154 COPYING.txt diff --git a/package/sdl2/sdl2.mk b/package/sdl2/sdl2.mk index 3e3ba54aaf..bd71485f18 100644 --- a/package/sdl2/sdl2.mk +++ b/package/sdl2/sdl2.mk @@ -4,7 +4,7 @@ # ################################################################################ -SDL2_VERSION = 2.0.7 +SDL2_VERSION = 2.0.8 SDL2_SOURCE = SDL2-$(SDL2_VERSION).tar.gz SDL2_SITE = http://www.libsdl.org/release SDL2_LICENSE = Zlib @@ -18,8 +18,7 @@ SDL2_CONF_OPTS += \ --disable-esd \ --disable-dbus \ --disable-pulseaudio \ - --disable-video-wayland \ - --disable-video-rpi + --disable-video-wayland # We must enable static build to get compilation successful. SDL2_CONF_OPTS += --enable-static @@ -39,6 +38,13 @@ else SDL2_CONF_OPTS += --disable-video-directfb endif +ifeq ($(BR2_PACKAGE_SDL2_OPENGLES)$(BR2_PACKAGE_RPI_USERLAND),yy) +SDL2_DEPENDENCIES += rpi-userland +SDL2_CONF_OPTS += --enable-video-rpi +else +SDL2_CONF_OPTS += --disable-video-rpi +endif + # x-includes and x-libraries must be set for cross-compiling # By default x_includes and x_libraries contains unsafe paths. # (/usr/X11R6/include and /usr/X11R6/lib) diff --git a/package/sdl2_image/sdl2_image.hash b/package/sdl2_image/sdl2_image.hash index 26d0a88cb5..cf3253526c 100644 --- a/package/sdl2_image/sdl2_image.hash +++ b/package/sdl2_image/sdl2_image.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 3a3eafbceea5125c04be585373bfd8b3a18f259bd7eae3efc4e6d8e60e0d7f64 SDL2_image-2.0.1.tar.gz +sha256 3510c25da735ffcd8ce3b65073150ff4f7f9493b866e85b83738083b556d2368 SDL2_image-2.0.3.tar.gz +sha256 13240ed78c8726c510b9634976430d3d3a9ea2d1ced3214119766e9e71568a35 COPYING.txt diff --git a/package/sdl2_image/sdl2_image.mk b/package/sdl2_image/sdl2_image.mk index 71a9634023..8c1c5f6e1a 100644 --- a/package/sdl2_image/sdl2_image.mk +++ b/package/sdl2_image/sdl2_image.mk @@ -4,7 +4,7 @@ # ################################################################################ -SDL2_IMAGE_VERSION = 2.0.1 +SDL2_IMAGE_VERSION = 2.0.3 SDL2_IMAGE_SOURCE = SDL2_image-$(SDL2_IMAGE_VERSION).tar.gz SDL2_IMAGE_SITE = http://www.libsdl.org/projects/SDL_image/release SDL2_IMAGE_INSTALL_STAGING = YES diff --git a/package/sdl_net/Config.in b/package/sdl_net/Config.in index 2001d230fe..2d9cbe1ca1 100644 --- a/package/sdl_net/Config.in +++ b/package/sdl_net/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_SDL_NET bool "SDL_net" depends on BR2_PACKAGE_SDL help - SDL_net is a small, low-level, cross-platform network library, that - can be used with the Simple DirectMedia Layer library (SDL). + SDL_net is a small, low-level, cross-platform network + library, that can be used with the Simple DirectMedia Layer + library (SDL). http://www.libsdl.org/projects/SDL_net/ diff --git a/package/selinux-python/0001-python-build-follow-standard-semantics-for-DESTD.patch b/package/selinux-python/0001-python-build-follow-standard-semantics-for-DESTD.patch new file mode 100644 index 0000000000..156701a818 --- /dev/null +++ b/package/selinux-python/0001-python-build-follow-standard-semantics-for-DESTD.patch @@ -0,0 +1,117 @@ +python: build: follow standard semantics for DESTDIR and PREFIX + +Signed-off-by: Marcus Folkesson + +diff -durN python.orig/audit2allow/Makefile python/audit2allow/Makefile +--- python.orig/audit2allow/Makefile 2017-08-04 15:31:00.000000000 +0200 ++++ python/audit2allow/Makefile 2018-01-17 09:44:35.659573123 +0100 +@@ -1,19 +1,17 @@ + PYTHON ?= python + + # Installation directories. +-PREFIX ?= $(DESTDIR)/usr +-BINDIR ?= $(PREFIX)/bin +-LIBDIR ?= $(PREFIX)/lib +-MANDIR ?= $(PREFIX)/share/man +-LOCALEDIR ?= /usr/share/locale +-INCLUDEDIR ?= $(PREFIX)/include +-LIBSEPOLA ?= $(LIBDIR)/libsepol.a ++PREFIX ?= /usr ++BINDIR ?= $(DESTDIR)$(PREFIX)/bin ++LIBDIR ?= $(DESTDIR)$(PREFIX)/lib ++MANDIR ?= $(DESTDIR)$(PREFIX)/share/man + + CFLAGS ?= -Werror -Wall -W + + all: audit2why sepolgen-ifgen-attr-helper + +-sepolgen-ifgen-attr-helper: sepolgen-ifgen-attr-helper.o $(LIBSEPOLA) ++sepolgen-ifgen-attr-helper: sepolgen-ifgen-attr-helper.o ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ -l:libsepol.a + + audit2why: + ln -sf audit2allow audit2why +diff -durN python.orig/chcat/Makefile python/chcat/Makefile +--- python.orig/chcat/Makefile 2017-08-04 15:31:00.000000000 +0200 ++++ python/chcat/Makefile 2018-01-17 09:44:35.659573123 +0100 +@@ -1,8 +1,8 @@ + # Installation directories. +-PREFIX ?= $(DESTDIR)/usr +-BINDIR ?= $(PREFIX)/bin +-MANDIR ?= $(PREFIX)/share/man +-LOCALEDIR ?= $(PREFIX)/share/locale ++PREFIX ?= /usr ++BINDIR ?= $(DESTDIR)$(PREFIX)/bin ++MANDIR ?= $(DESTDIR)$(PREFIX)/share/man ++LOCALEDIR ?= $(DESTDIR)$(PREFIX)/share/locale + + .PHONY: all + all: chcat +diff -durN python.orig/semanage/Makefile python/semanage/Makefile +--- python.orig/semanage/Makefile 2017-08-04 15:31:00.000000000 +0200 ++++ python/semanage/Makefile 2018-01-17 09:44:43.676239705 +0100 +@@ -1,13 +1,12 @@ + PYTHON ?= python + + # Installation directories. +-PREFIX ?= $(DESTDIR)/usr +-LIBDIR ?= $(PREFIX)/lib +-SBINDIR ?= $(PREFIX)/sbin +-MANDIR = $(PREFIX)/share/man +-PYTHONLIBDIR ?= $(shell $(PYTHON) -c "from distutils.sysconfig import *; print(get_python_lib(1))") ++PREFIX ?= /usr ++SBINDIR ?= $(DESTDIR)$(PREFIX)/sbin ++MANDIR = $(DESTDIR)$(PREFIX)/share/man ++PYTHONLIBDIR ?= $(shell $(PYTHON) -c "from distutils.sysconfig import *; print(get_python_lib(prefix='$(PREFIX)'))") + PACKAGEDIR ?= $(DESTDIR)/$(PYTHONLIBDIR) +-BASHCOMPLETIONDIR ?= $(DESTDIR)/usr/share/bash-completion/completions ++BASHCOMPLETIONDIR ?= $(DESTDIR)$(PREFIX)/share/bash-completion/completions + + TARGETS=semanage + +diff -durN python.orig/sepolgen/src/sepolgen/Makefile python/sepolgen/src/sepolgen/Makefile +--- python.orig/sepolgen/src/sepolgen/Makefile 2017-08-04 15:31:00.000000000 +0200 ++++ python/sepolgen/src/sepolgen/Makefile 2018-01-17 09:44:35.659573123 +0100 +@@ -1,5 +1,6 @@ ++PREFIX ?= /usr + PYTHON ?= python +-PYTHONLIBDIR ?= $(shell $(PYTHON) -c "from distutils.sysconfig import *; print(get_python_lib(1))") ++PYTHONLIBDIR ?= $(shell $(PYTHON) -c "from distutils.sysconfig import *; print(get_python_lib(prefix='$(PREFIX)'))") + PACKAGEDIR ?= $(DESTDIR)/$(PYTHONLIBDIR)/sepolgen + + all: +diff -durN python.orig/sepolicy/Makefile python/sepolicy/Makefile +--- python.orig/sepolicy/Makefile 2017-08-04 15:31:00.000000000 +0200 ++++ python/sepolicy/Makefile 2018-01-17 09:44:35.659573123 +0100 +@@ -1,14 +1,14 @@ + PYTHON ?= python + + # Installation directories. +-PREFIX ?= $(DESTDIR)/usr +-LIBDIR ?= $(PREFIX)/lib +-BINDIR ?= $(PREFIX)/bin +-DATADIR ?= $(PREFIX)/share +-MANDIR ?= $(PREFIX)/share/man +-LOCALEDIR ?= /usr/share/locale +-BASHCOMPLETIONDIR ?= $(DESTDIR)/usr/share/bash-completion/completions +-SHAREDIR ?= $(PREFIX)/share/sandbox ++PREFIX ?= /usr ++LIBDIR ?= $(DESTDIR)$(PREFIX)/lib ++BINDIR ?= $(DESTDIR)$(PREFIX)/bin ++DATADIR ?= $(DESTDIR)$(PREFIX)/share ++MANDIR ?= $(DESTDIR)$(PREFIX)/share/man ++LOCALEDIR ?= $(DESTDIR)$(PREFIX)/share/locale ++BASHCOMPLETIONDIR ?= $(DESTDIR)$(PREFIX)/share/bash-completion/completions ++SHAREDIR ?= $(DESTDIR)$(PREFIX)/share/sandbox + CFLAGS ?= -Wall -Werror -Wextra -W + override CFLAGS += -DPACKAGE="policycoreutils" -DSHARED -shared + +@@ -30,7 +30,7 @@ + @$(PYTHON) test_sepolicy.py -v + + install: +- $(PYTHON) setup.py install `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` ++ $(PYTHON) setup.py install --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` + [ -d $(BINDIR) ] || mkdir -p $(BINDIR) + install -m 755 sepolicy.py $(BINDIR)/sepolicy + (cd $(BINDIR); ln -sf sepolicy sepolgen) diff --git a/package/selinux-python/Config.in b/package/selinux-python/Config.in index e453450264..b9fab9aaa1 100644 --- a/package/selinux-python/Config.in +++ b/package/selinux-python/Config.in @@ -1,10 +1,10 @@ menuconfig BR2_PACKAGE_SELINUX_PYTHON bool "selinux-python" - select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON depends on BR2_USE_MMU depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON help A set of SELinux tools written in python that help with managing a system with SELinux enabled. If no packages are diff --git a/package/selinux-python/selinux-python.mk b/package/selinux-python/selinux-python.mk index 9a4622da44..25a2d04105 100644 --- a/package/selinux-python/selinux-python.mk +++ b/package/selinux-python/selinux-python.mk @@ -36,7 +36,7 @@ endif define SELINUX_PYTHON_BUILD_CMDS $(foreach d,$(SELINUX_PYTHON_MAKE_DIRS), $(MAKE) -C $(@D)/$(d) $(SELINUX_PYTHON_MAKE_OPTS) \ - DESTDIR=$(STAGING_DIR) all + all ) endef diff --git a/package/setools/setools.mk b/package/setools/setools.mk index 8b93ccf45e..c152e541c1 100644 --- a/package/setools/setools.mk +++ b/package/setools/setools.mk @@ -13,12 +13,12 @@ SETOOLS_LICENSE_FILES = COPYING COPYING.GPL COPYING.LGPL SETOOLS_SETUP_TYPE = setuptools HOST_SETOOLS_DEPENDENCIES = host-libselinux host-libsepol - ifeq ($(BR2_PACKAGE_PYTHON3),y) SETOOLS_PYLIBVER = python$(PYTHON3_VERSION_MAJOR) else SETOOLS_PYLIBVER = python$(PYTHON_VERSION_MAJOR) SETOOLS_DEPENDENCIES += python-enum34 +HOST_SETOOLS_DEPENDENCIES += host-python-enum34 endif define SETOOLS_FIX_SETUP diff --git a/package/shairport-sync/0001-Sometimes-libsoxr-is-built-to-rely-on-libavutil.patch b/package/shairport-sync/0001-Sometimes-libsoxr-is-built-to-rely-on-libavutil.patch new file mode 100644 index 0000000000..32c52add33 --- /dev/null +++ b/package/shairport-sync/0001-Sometimes-libsoxr-is-built-to-rely-on-libavutil.patch @@ -0,0 +1,63 @@ +From 5101ab2d13e2b89ea3c1276df5fb7413634eeccd Mon Sep 17 00:00:00 2001 +From: Mike Brady +Date: Sat, 25 Aug 2018 13:08:37 +0100 +Subject: [PATCH] Sometimes libsoxr is built to rely on libavutil. If libavutil + is detected, link to it when building libsoxr. Add pgk_config support to soxr + selection. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The Buildroot autobuilder detected a build issue [0] when building +shairport-sync statically: + +``` +arm-buildroot-linux-uclibcgnueabi/sysroot/usr//lib/libsoxr.a(soxr.c.o): In function `soxr_create': +soxr.c:(.text+0xd4c): undefined reference to `av_get_cpu_flags' +collect2: error: ld returned 1 exit status +``` + +A quick look at the soxr source code shows that `soxr_create()` might use +`av_get_cpu_flags()` depending on the architecture. + +For the sake of simplicity link with `-lavutil` if it is found when using soxr. + +Even better, as soxr provides a pkg-config file, this should be prefered. + +[0] http://autobuild.buildroot.org/results/53d/53d21686780aa2485745b59e812b6280dd39f1c5 + +Upstream status: 5101ab2d13e2b89ea3c1276df5fb7413634eeccd + +Signed-off-by: Jörg Krause +--- + configure.ac | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0c917a4..2b6fddb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -176,7 +176,20 @@ AC_ARG_WITH(ssl, [ choose --with-ssl=openssl, --with-ssl=mbedtls or --with-ssl=p + # Look for soxr flag + AC_ARG_WITH(soxr, [ --with-soxr = choose libsoxr for high-quality interpolation], [ + AC_MSG_RESULT(>>Including support for soxr-based interpolation) +- AC_CHECK_LIB([soxr],[soxr_create], , AC_MSG_ERROR(soxr support requested but libsoxr not found!))], ) ++ if test "x${with_pkg_config}" = xyes ; then ++ PKG_CHECK_MODULES( ++ [SOXR], [soxr], ++ [LIBS="${SOXR_LIBS} ${LIBS}"]) ++ else ++ AC_CHECK_LIB([avutil],[av_get_cpu_flags]) ++ if test "x${ac_cv_lib_avutil_av_get_cpu_flags}" = xyes ; then ++ # soxr may link against libavutil, depending on the architecture, but for the sake of simplicity link with it if it is found ++ AC_CHECK_LIB([soxr],[soxr_create], , AC_MSG_ERROR(soxr support requested but libsoxr not found!), [-lavutil]) ++ else ++ AC_CHECK_LIB([soxr],[soxr_create], , AC_MSG_ERROR(soxr support requested but libsoxr not found!)) ++ fi ++ fi ++], ) + + # Look for metadata flag -- set flag for conditional compilation + AC_ARG_WITH(metadata, [ --with-metadata = include support for a metadata feed], [ +-- +2.18.0 diff --git a/package/shairport-sync/0002-Include-a-definition-of-HAVE_LIBSOXR-with-using-pkg_config.patch b/package/shairport-sync/0002-Include-a-definition-of-HAVE_LIBSOXR-with-using-pkg_config.patch new file mode 100644 index 0000000000..66ce961ab1 --- /dev/null +++ b/package/shairport-sync/0002-Include-a-definition-of-HAVE_LIBSOXR-with-using-pkg_config.patch @@ -0,0 +1,35 @@ +From cd6a99a7cfde1c5e1c1cc74ee6a77041bb4012d9 Mon Sep 17 00:00:00 2001 +From: Mike Brady +Date: Sat, 8 Sep 2018 15:06:18 +0100 +Subject: [PATCH] Include a definition of HAVE_LIBSOXR with using pkg_config +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Commit e047dee241fe0660d92311a124757065c6c4c93d adds an upstream patch +to fix a build issue with soxr. The patch also adds detecting soxr +using pkg-config. Upstream detected a config issue [1], where the +resulting binary lacks soxr support, although libsoxr was correctly +detected. + +Backported from: cd6a99a7cfde1c5e1c1cc74ee6a77041bb4012d9 + +Signed-off-by: Jörg Krause +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index ceec4af..690a774 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -180,6 +180,7 @@ AC_ARG_WITH(soxr, [ --with-soxr = choose libsoxr for high-quality interpolation + PKG_CHECK_MODULES( + [SOXR], [soxr], + [LIBS="${SOXR_LIBS} ${LIBS}"]) ++ AC_DEFINE([HAVE_LIBSOXR],[1],[Define to 1 if you are including support for soxr interpolation]) + else + AC_CHECK_LIB([avutil],[av_get_cpu_flags]) + if test "x${ac_cv_lib_avutil_av_get_cpu_flags}" = xyes ; then +-- +2.18.0 diff --git a/package/shairport-sync/Config.in b/package/shairport-sync/Config.in index c2a5565402..5df4c194c0 100644 --- a/package/shairport-sync/Config.in +++ b/package/shairport-sync/Config.in @@ -10,11 +10,12 @@ config BR2_PACKAGE_SHAIRPORT_SYNC select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS select BR2_PACKAGE_POPT help - Shairport Sync emulates an AirPort Express for the purpose of - streaming audio from iTunes, iPods, iPhones, iPads and AppleTVs. - Audio played by a Shairport Sync-powered device stays in synchrony - with the source and thus with other devices that are playing the same - source synchronously. Thus, for example, synchronised multi-room + Shairport Sync emulates an AirPort Express for the purpose + of streaming audio from iTunes, iPods, iPhones, iPads and + AppleTVs. Audio played by a Shairport Sync-powered device + stays in synchrony with the source and thus with other + devices that are playing the same source + synchronously. Thus, for example, synchronised multi-room audio is possible without difficulty. https://github.com/mikebrady/shairport-sync @@ -27,11 +28,11 @@ config BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR help Enable support for libsoxr, the SoX Resampler library. - Briefly, Shairport Sync keeps in step with the audio source by - deleting or inserting frames of audio into the stream as needed. This - "interpolation" is normally inaudible, but it can be heard in some - circumstances. Libsoxr allows this interpolation to be done much more - smoothly and subtly. + Briefly, Shairport Sync keeps in step with the audio source + by deleting or inserting frames of audio into the stream as + needed. This "interpolation" is normally inaudible, but it + can be heard in some circumstances. Libsoxr allows this + interpolation to be done much more smoothly and subtly. endif diff --git a/package/shairport-sync/shairport-sync.hash b/package/shairport-sync/shairport-sync.hash index 08f22a0cf3..e0eea4c42f 100644 --- a/package/shairport-sync/shairport-sync.hash +++ b/package/shairport-sync/shairport-sync.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 4c5a2ab40ef49896f5b6e59b20df4f621ebce47ee64d8571336f59820ae66379 shairport-sync-3.1.4.tar.gz +sha256 90555f1a5e05bd777741147d5c0104543d0f26d4f95b9bfd44143c818a6f50f1 shairport-sync-3.1.6.tar.gz diff --git a/package/shairport-sync/shairport-sync.mk b/package/shairport-sync/shairport-sync.mk index 63289d4398..53ebcc581e 100644 --- a/package/shairport-sync/shairport-sync.mk +++ b/package/shairport-sync/shairport-sync.mk @@ -4,7 +4,7 @@ # ################################################################################ -SHAIRPORT_SYNC_VERSION = 3.1.4 +SHAIRPORT_SYNC_VERSION = 3.1.6 SHAIRPORT_SYNC_SITE = $(call github,mikebrady,shairport-sync,$(SHAIRPORT_SYNC_VERSION)) SHAIRPORT_SYNC_LICENSE = MIT, BSD-3-Clause diff --git a/package/shapelib/Config.in b/package/shapelib/Config.in index aa2297b277..553d3483af 100644 --- a/package/shapelib/Config.in +++ b/package/shapelib/Config.in @@ -1,5 +1,8 @@ config BR2_PACKAGE_SHAPELIB bool "shapelib" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_PROJ help The Shapefile C Library provides the ability to write simple C programs for reading, writing and updating (to a limited @@ -7,3 +10,6 @@ config BR2_PACKAGE_SHAPELIB (.dbf). http://shapelib.maptools.org/ + +comment "shapelib needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/shapelib/shapelib.hash b/package/shapelib/shapelib.hash index f3f812ebf9..6abddb2a7a 100644 --- a/package/shapelib/shapelib.hash +++ b/package/shapelib/shapelib.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 23d474016158ab5077db2f599527631706ba5c0dc7c4178a6a1d685bb014f68f shapelib-1.3.0.tar.gz +sha256 a4c94817365761a3a4c21bb3ca1c680a6bdfd3edd61df9fdd291d3e7645923b3 shapelib-1.4.1.tar.gz +sha256 7eb803a70990017a1c4e38a8342d7413c5dfeec3ed1ac407e15ae2c274e560ff COPYING +sha256 a638278f7f1cb7d0cdc73b47a6c87261b882e356a8e79922e90d44d7ef1dd2c7 web/license.html diff --git a/package/shapelib/shapelib.mk b/package/shapelib/shapelib.mk index 34b625346f..b76c3bb2d2 100644 --- a/package/shapelib/shapelib.mk +++ b/package/shapelib/shapelib.mk @@ -4,22 +4,11 @@ # ################################################################################ -SHAPELIB_VERSION = 1.3.0 +SHAPELIB_VERSION = 1.4.1 SHAPELIB_SITE = http://download.osgeo.org/shapelib SHAPELIB_LICENSE = MIT or LGPL-2.0 -SHAPELIB_LICENSE_FILES = web/license.html LICENSE.LGPL +SHAPELIB_LICENSE_FILES = web/license.html COPYING SHAPELIB_INSTALL_STAGING = YES +SHAPELIB_DEPENDENCIES = proj -define SHAPELIB_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -endef - -define SHAPELIB_INSTALL_STAGING_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) PREFIX=$(STAGING_DIR)/usr/ lib_install -endef - -define SHAPELIB_INSTALL_TARGET_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) PREFIX=$(TARGET_DIR)/usr/ bin_install -endef - -$(eval $(generic-package)) +$(eval $(autotools-package)) diff --git a/package/skalibs/skalibs.hash b/package/skalibs/skalibs.hash index 1e0625f3e7..a65aaadb3d 100644 --- a/package/skalibs/skalibs.hash +++ b/package/skalibs/skalibs.hash @@ -1,2 +1,3 @@ # Locally generated -sha256 b11f515d29768497d648c7ae87e26f7441395a056ebbe3fe89596fe6454a557a skalibs-2.6.0.1.tar.gz +sha256 8508ca00d4e2355e9ec0ec7f4808e98b349999d6732d2f123ac53b4df5260c81 skalibs-2.6.3.1.tar.gz +sha256 3eadcf980c40da0f257b8292d805ff41e5e5a908c1942315d9a627732e1aa012 COPYING diff --git a/package/skalibs/skalibs.mk b/package/skalibs/skalibs.mk index 2588d276e7..2ce0c33ff0 100644 --- a/package/skalibs/skalibs.mk +++ b/package/skalibs/skalibs.mk @@ -4,7 +4,7 @@ # ################################################################################ -SKALIBS_VERSION = 2.6.0.1 +SKALIBS_VERSION = 2.6.3.1 SKALIBS_SITE = http://skarnet.org/software/skalibs SKALIBS_LICENSE = ISC SKALIBS_LICENSE_FILES = COPYING diff --git a/package/skeleton-init-systemd/skeleton-init-systemd.mk b/package/skeleton-init-systemd/skeleton-init-systemd.mk index a2d4e8c4b3..ff64205cbe 100644 --- a/package/skeleton-init-systemd/skeleton-init-systemd.mk +++ b/package/skeleton-init-systemd/skeleton-init-systemd.mk @@ -19,7 +19,6 @@ ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y) define SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW echo "/dev/root / auto rw 0 1" >$(TARGET_DIR)/etc/fstab - mkdir -p $(TARGET_DIR)/var endef else @@ -31,16 +30,18 @@ else # back there by the tmpfiles.d mechanism. define SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW mkdir -p $(TARGET_DIR)/etc/systemd/tmpfiles.d - mkdir -p $(TARGET_DIR)/usr/share/factory/var - ln -s usr/share/factory/var $(TARGET_DIR)/var echo "/dev/root / auto ro 0 1" >$(TARGET_DIR)/etc/fstab echo "tmpfs /var tmpfs mode=1777 0 0" >>$(TARGET_DIR)/etc/fstab endef define SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR - rm -f $(TARGET_DIR)/var - mkdir $(TARGET_DIR)/var - for i in $(TARGET_DIR)/usr/share/factory/var/*; do \ + rm -rf $(TARGET_DIR)/usr/share/factory/var + mv $(TARGET_DIR)/var $(TARGET_DIR)/usr/share/factory/var + mkdir -p $(TARGET_DIR)/var + for i in $(TARGET_DIR)/usr/share/factory/var/* \ + $(TARGET_DIR)/usr/share/factory/var/lib/* \ + $(TARGET_DIR)/usr/share/factory/var/lib/systemd/*; do \ + [ -e "$${i}" ] || continue; \ j="$${i#$(TARGET_DIR)/usr/share/factory}"; \ if [ -L "$${i}" ]; then \ printf "L+! %s - - - - %s\n" \ @@ -56,7 +57,7 @@ SKELETON_INIT_SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SKELETON_INIT_SYSTEMD_PRE_ROOTFS_V define SKELETON_INIT_SYSTEMD_POST_ROOTFS_VAR rm -rf $(TARGET_DIR)/var - ln -s usr/share/factory/var $(TARGET_DIR)/var + mv $(TARGET_DIR)/usr/share/factory/var $(TARGET_DIR)/var endef SKELETON_INIT_SYSTEMD_ROOTFS_POST_CMD_HOOKS += SKELETON_INIT_SYSTEMD_POST_ROOTFS_VAR @@ -65,6 +66,8 @@ endif define SKELETON_INIT_SYSTEMD_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/home mkdir -p $(TARGET_DIR)/srv + mkdir -p $(TARGET_DIR)/var + ln -s ../run $(TARGET_DIR)/var/run $(SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW) endef diff --git a/package/slirp/Config.in b/package/slirp/Config.in index ecd492dd11..51dea9700f 100644 --- a/package/slirp/Config.in +++ b/package/slirp/Config.in @@ -7,8 +7,8 @@ config BR2_PACKAGE_SLIRP and the front-end. Interaction between front-end and back-end is done using VD-Interfaces. - This package implements the slirp-part for Spice. - Slirp emulates a PPP or SLIP connection over a normal terminal. + This package implements the slirp-part for Spice. Slirp + emulates a PPP or SLIP connection over a normal terminal. http://www.spice-space.org/ diff --git a/package/smack/Config.in b/package/smack/Config.in index 67c70bb6f3..3e88f8d0d8 100644 --- a/package/smack/Config.in +++ b/package/smack/Config.in @@ -7,12 +7,12 @@ config BR2_PACKAGE_SMACK User space programs and libraries for SMACK. SMACK stands for Simplified Mandatory Access Control Kernel. - It is a Linux Security Module which provides a Mandatory Access - Control mechanism, aimed towards simplicity. + It is a Linux Security Module which provides a Mandatory + Access Control mechanism, aimed towards simplicity. - This package provides a library which allows applications to work - with SMACK and tools to load/unload rules from the kernel, as well - as query the policy. + This package provides a library which allows applications to + work with SMACK and tools to load/unload rules from the + kernel, as well as query the policy. SMACK requires the following kernel options to be enabled: @@ -20,13 +20,13 @@ config BR2_PACKAGE_SMACK - CONFIG_SECURITY_SMACK - CONFIG_SECURITY_NETWORK - These options will be automatically enabled by Buildroot if it is - responsible for building the kernel. Otherwise, if you are building - your kernel outside of Buildroot, make sure these options are - enabled. + These options will be automatically enabled by Buildroot if + it is responsible for building the kernel. Otherwise, if you + are building your kernel outside of Buildroot, make sure + these options are enabled. - To activate SMACK, do not forget to add "security=smack" to your - kernel command line. + To activate SMACK, do not forget to add "security=smack" to + your kernel command line. https://github.com/smack-team/smack diff --git a/package/smcroute/Config.in b/package/smcroute/Config.in index f104075207..0d0f5f7a66 100644 --- a/package/smcroute/Config.in +++ b/package/smcroute/Config.in @@ -3,10 +3,10 @@ config BR2_PACKAGE_SMCROUTE depends on BR2_USE_MMU # fork() help SMCRoute is a command line tool to manipulate the multicast - routes of a UNIX kernel. It supports both IPv4 and IPv6 multicast - routing. SMCRoute can be used as an alternative to dynamic - multicast routers like mrouted or pimd in setups where static - multicast routes should be maintained and/or no proper IGMP or - MLD signaling exists. + routes of a UNIX kernel. It supports both IPv4 and IPv6 + multicast routing. SMCRoute can be used as an alternative to + dynamic multicast routers like mrouted or pimd in setups + where static multicast routes should be maintained and/or no + proper IGMP or MLD signaling exists. https://github.com/troglobit/smcroute diff --git a/package/smstools3/Config.in b/package/smstools3/Config.in index 3e2ea252fc..dca3996e22 100644 --- a/package/smstools3/Config.in +++ b/package/smstools3/Config.in @@ -4,8 +4,9 @@ config BR2_PACKAGE_SMSTOOLS3 depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS help - The SMS Server Tools 3 is a SMS Gateway software which can send and - receive short messages through GSM modems and mobile phones. + The SMS Server Tools 3 is a SMS Gateway software which can + send and receive short messages through GSM modems and + mobile phones. http://smstools3.kekekasvi.com/ @@ -15,9 +16,9 @@ config BR2_PACKAGE_SMSTOOLS3_NB_MODEMS int "Number of modems to support" default 1 help - To reduce memory footprint of SMS Server Tools, you can specify the - exact number of modems connected to your board. By default only 1 - modem is used. + To reduce memory footprint of SMS Server Tools, you can + specify the exact number of modems connected to your + board. By default only 1 modem is used. endif diff --git a/package/snappy/Config.in b/package/snappy/Config.in index d5f70699c1..1bd3d6ec29 100644 --- a/package/snappy/Config.in +++ b/package/snappy/Config.in @@ -2,10 +2,10 @@ config BR2_PACKAGE_SNAPPY bool "snappy" depends on BR2_INSTALL_LIBSTDCPP help - Snappy is a compression/decompression library. It does not aim for - maximum compression, or compatibility with any other compression - library; instead, it aims for very high speeds and reasonable - compression. + Snappy is a compression/decompression library. It does not + aim for maximum compression, or compatibility with any other + compression library; instead, it aims for very high speeds + and reasonable compression. http://google.github.io/snappy/ diff --git a/package/sngrep/sngrep.mk b/package/sngrep/sngrep.mk index 7442cef529..93a0c3f13e 100644 --- a/package/sngrep/sngrep.mk +++ b/package/sngrep/sngrep.mk @@ -22,7 +22,8 @@ SNGREP_DEPENDENCIES += openssl SNGREP_CONF_OPTS += --with-openssl --without-gnutls # gnutls support also requires libgcrypt else ifeq ($(BR2_PACKAGE_GNUTLS)$(BR2_PACKAGE_LIBGCRYPT),yy) -SNGREP_DEPENDENCIES += gnutls +SNGREP_CONF_ENV += LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config +SNGREP_DEPENDENCIES += gnutls libgcrypt SNGREP_CONF_OPTS += --with-gnutls --without-openssl else SNGREP_CONF_OPTS += --without-gnutls --without-openssl diff --git a/package/softether/Config.in b/package/softether/Config.in index 8fda3158f2..bfb45b0315 100644 --- a/package/softether/Config.in +++ b/package/softether/Config.in @@ -8,18 +8,20 @@ config BR2_PACKAGE_SOFTETHER select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL select BR2_PACKAGE_READLINE help - The SoftEther Server is a fully integrated implementation of the SSTP, - L2TP, L2TPv3, OpenVPN, and IPSec virtual private networking protocols - on Linux and several other platforms. It is generally compatible with - other implementations by Apple, Cisco, Juniper, Microsoft, et al. + The SoftEther Server is a fully integrated implementation of + the SSTP, L2TP, L2TPv3, OpenVPN, and IPSec virtual private + networking protocols on Linux and several other + platforms. It is generally compatible with other + implementations by Apple, Cisco, Juniper, Microsoft, et al. - Convenient Layer-2 and Layer-3 bridging capabilities can connect - several branch offices into a single broadcast or routing domain, even - behind a NAT or without a static IPv4 address. + Convenient Layer-2 and Layer-3 bridging capabilities can + connect several branch offices into a single broadcast or + routing domain, even behind a NAT or without a static IPv4 + address. - In addition to supporting most VPN protocols, the SoftEther Client can - penetrate hardened firewalls and captured gateways through HTTPS, DNS, - and ICMP exfiltration. + In addition to supporting most VPN protocols, the SoftEther + Client can penetrate hardened firewalls and captured + gateways through HTTPS, DNS, and ICMP exfiltration. http://www.softether.org diff --git a/package/solarus/0001-cmake-remove-Werror.patch b/package/solarus/0001-cmake-remove-Werror.patch new file mode 100644 index 0000000000..b27908c829 --- /dev/null +++ b/package/solarus/0001-cmake-remove-Werror.patch @@ -0,0 +1,27 @@ +From 4d315359d15e1221f3463b77a960a60093aac893 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Thu, 22 Jun 2017 00:19:56 +0200 +Subject: [PATCH] cmake: remove Werror + +Signed-off-by: Romain Naour +--- + cmake/AddCompilationFlags.cmake | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/cmake/AddCompilationFlags.cmake b/cmake/AddCompilationFlags.cmake +index 5159ff9..a506033 100644 +--- a/cmake/AddCompilationFlags.cmake ++++ b/cmake/AddCompilationFlags.cmake +@@ -24,9 +24,6 @@ endif() + # Be less pedantic in release builds for users. + set(CMAKE_CXX_FLAGS_RELEASE "-Wno-error -Wall -Wextra -Wno-unknown-pragmas -Wno-fatal-errors ${CMAKE_CXX_FLAGS_RELEASE}") + +-# Be more pedantic in debug mode for developers. +-set(CMAKE_CXX_FLAGS_DEBUG "-Werror -Wall -Wextra -pedantic ${CMAKE_CXX_FLAGS_DEBUG}") +- + # Platform-specific flags. + if(WIN32) + # MinGW: disable the console by default. +-- +2.9.4 + diff --git a/package/solarus/Config.in b/package/solarus/Config.in new file mode 100644 index 0000000000..30c7aa28b5 --- /dev/null +++ b/package/solarus/Config.in @@ -0,0 +1,31 @@ +config BR2_PACKAGE_SOLARUS + bool "solarus" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS + depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal + depends on !BR2_STATIC_LIBS # SDL2 + select BR2_PACKAGE_LIBMODPLUG + select BR2_PACKAGE_LIBOGG + select BR2_PACKAGE_LIBPNG # runtime + select BR2_PACKAGE_LIBVORBIS + select BR2_PACKAGE_LUAJIT + select BR2_PACKAGE_OPENAL + select BR2_PACKAGE_PHYSFS + select BR2_PACKAGE_SDL2 + select BR2_PACKAGE_SDL2_IMAGE + select BR2_PACKAGE_SDL2_TTF + help + Solarus is an open-source Zelda-like 2D game engine written + in C++. It can run games scripted in Lua. This engine is used + by our Zelda fangames. Solarus is licensed under GPL v3. + + http://www.solarus-games.org + https://github.com/solarus-games/solarus + +comment "solarus needs a toolchain w/ C++, gcc >= 4.8, NPTL, dynamic library" + depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS + depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ + || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS diff --git a/package/solarus/solarus.hash b/package/solarus/solarus.hash new file mode 100644 index 0000000000..8ed5cafa4b --- /dev/null +++ b/package/solarus/solarus.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 5930584e7c333089a2c1bf372ccc25ad3fb5c1d973189d2bf67f2308189af94d solarus-v1.5.3.tar.gz + +sha256 09cb24006b6a3f2698d8851dc5df4f413c1a98e20d4008bffd76ec236f14244d license.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 license_gpl.txt diff --git a/package/solarus/solarus.mk b/package/solarus/solarus.mk new file mode 100644 index 0000000000..af37f81a0b --- /dev/null +++ b/package/solarus/solarus.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# solarus +# +################################################################################ + +SOLARUS_VERSION = v1.5.3 +SOLARUS_SITE = $(call github,solarus-games,solarus,$(SOLARUS_VERSION)) + +SOLARUS_LICENSE = GPL-3.0 (code), CC-BY-SA-4.0 (Solarus logos and icons), \ + CC-BY-SA-3.0 (GUI icons) +SOLARUS_LICENSE_FILES = license.txt license_gpl.txt + +# Install libsolarus.so +SOLARUS_INSTALL_STAGING = YES + +SOLARUS_DEPENDENCIES = libmodplug libogg libvorbis luajit openal physfs sdl2 \ + sdl2_image sdl2_ttf + +# Disable launcher GUI (requires Qt5) +SOLARUS_CONF_OPTS = -DSOLARUS_GUI=OFF + +$(eval $(cmake-package)) diff --git a/package/sox/Config.in b/package/sox/Config.in index a96553a2ef..5325ed6871 100644 --- a/package/sox/Config.in +++ b/package/sox/Config.in @@ -1,10 +1,12 @@ config BR2_PACKAGE_SOX bool "sox" help - SoX is a cross-platform (Windows, Linux, MacOS X, etc.) command line - utility that can convert various formats of computer audio files - into other formats. - It can also apply various effects to these sound files, and, as an - added bonus, SoX can play and record audio files on most platforms. + SoX is a cross-platform (Windows, Linux, MacOS X, etc.) + command line utility that can convert various formats of + computer audio files into other formats. + + It can also apply various effects to these sound files, and, + as an added bonus, SoX can play and record audio files on + most platforms. http://sox.sourceforge.net/ diff --git a/package/spice-protocol/spice-protocol.hash b/package/spice-protocol/spice-protocol.hash index c75c095cbf..e72bb2d712 100644 --- a/package/spice-protocol/spice-protocol.hash +++ b/package/spice-protocol/spice-protocol.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 788f0d7195bec5b14371732b562eb55ca82712aab12273b0e87529fb30532efb spice-protocol-0.12.10.tar.bz2 +sha256 20350bc4309039fdf0d29ee4fd0033cde27bccf33501e13b3c1befafde9d0c9c spice-protocol-0.12.14.tar.bz2 diff --git a/package/spice-protocol/spice-protocol.mk b/package/spice-protocol/spice-protocol.mk index dcc6feeb13..7392e9533d 100644 --- a/package/spice-protocol/spice-protocol.mk +++ b/package/spice-protocol/spice-protocol.mk @@ -4,7 +4,7 @@ # ################################################################################ -SPICE_PROTOCOL_VERSION = 0.12.10 +SPICE_PROTOCOL_VERSION = 0.12.14 SPICE_PROTOCOL_SOURCE = spice-protocol-$(SPICE_PROTOCOL_VERSION).tar.bz2 SPICE_PROTOCOL_SITE = http://www.spice-space.org/download/releases SPICE_PROTOCOL_LICENSE = BSD-3-Clause diff --git a/package/spice/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch b/package/spice/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch deleted file mode 100644 index 57a64d96b7..0000000000 --- a/package/spice/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 1c6517973095a67c8cb57f3550fc1298404ab556 Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Tue, 13 Dec 2016 14:39:48 +0000 -Subject: [PATCH] Prevent possible DoS attempts during protocol handshake - -The limit for link message is specified using a 32 bit unsigned integer. -This could cause possible DoS due to excessive memory allocations and -some possible crashes. -For instance a value >= 2^31 causes a spice_assert to be triggered in -async_read_handler (reds-stream.c) due to an integer overflow at this -line: - - int n = async->end - async->now; - -This could be easily triggered with a program like - - #!/usr/bin/env python - - import socket - import time - from struct import pack - - server = '127.0.0.1' - port = 5900 - - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.connect((server, port)) - data = pack('<4sIII', 'REDQ', 2, 2, 0xaaaaaaaa) - s.send(data) - - time.sleep(1) - -without requiring any authentication (the same can be done -with TLS). - -[Peter: fixes CVE-2016-9578] -Signed-off-by: Frediano Ziglio -Acked-by: Christophe Fergeau -Signed-off-by: Peter Korsgaard ---- - server/reds.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/server/reds.c b/server/reds.c -index f40b65c1..86a33d53 100644 ---- a/server/reds.c -+++ b/server/reds.c -@@ -2202,7 +2202,8 @@ static void reds_handle_read_header_done(void *opaque) - - reds->peer_minor_version = header->minor_version; - -- if (header->size < sizeof(SpiceLinkMess)) { -+ /* the check for 4096 is to avoid clients to cause arbitrary big memory allocations */ -+ if (header->size < sizeof(SpiceLinkMess) || header->size > 4096) { - reds_send_link_error(link, SPICE_LINK_ERR_INVALID_DATA); - spice_warning("bad size %u", header->size); - reds_link_free(link); --- -2.11.0 - diff --git a/package/spice/0002-Prevent-integer-overflows-in-capability-checks.patch b/package/spice/0002-Prevent-integer-overflows-in-capability-checks.patch deleted file mode 100644 index 5bf9b89d17..0000000000 --- a/package/spice/0002-Prevent-integer-overflows-in-capability-checks.patch +++ /dev/null @@ -1,43 +0,0 @@ -From f66dc643635518e53dfbe5262f814a64eec54e4a Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Tue, 13 Dec 2016 14:40:10 +0000 -Subject: [PATCH] Prevent integer overflows in capability checks - -The limits for capabilities are specified using 32 bit unsigned integers. -This could cause possible integer overflows causing buffer overflows. -For instance the sum of num_common_caps and num_caps can be 0 avoiding -additional checks. -As the link message is now capped to 4096 and the capabilities are -contained in the link message limit the capabilities to 1024 -(capabilities are expressed in number of uint32_t items). - -[Peter: fixes CVE-2016-9578] -Signed-off-by: Frediano Ziglio -Acked-by: Christophe Fergeau -Signed-off-by: Peter Korsgaard ---- - server/reds.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/server/reds.c b/server/reds.c -index 86a33d53..91504544 100644 ---- a/server/reds.c -+++ b/server/reds.c -@@ -2110,6 +2110,14 @@ static void reds_handle_read_link_done(void *opaque) - link_mess->num_channel_caps = GUINT32_FROM_LE(link_mess->num_channel_caps); - link_mess->num_common_caps = GUINT32_FROM_LE(link_mess->num_common_caps); - -+ /* Prevent DoS. Currently we defined only 13 capabilities, -+ * I expect 1024 to be valid for quite a lot time */ -+ if (link_mess->num_channel_caps > 1024 || link_mess->num_common_caps > 1024) { -+ reds_send_link_error(link, SPICE_LINK_ERR_INVALID_DATA); -+ reds_link_free(link); -+ return; -+ } -+ - num_caps = link_mess->num_common_caps + link_mess->num_channel_caps; - caps = (uint32_t *)((uint8_t *)link_mess + link_mess->caps_offset); - --- -2.11.0 - diff --git a/package/spice/0003-main-channel-Prevent-overflow-reading-messages-from-.patch b/package/spice/0003-main-channel-Prevent-overflow-reading-messages-from-.patch deleted file mode 100644 index f602d5f3b1..0000000000 --- a/package/spice/0003-main-channel-Prevent-overflow-reading-messages-from-.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 5f96b596353d73bdf4bb3cd2de61e48a7fd5b4c3 Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Tue, 29 Nov 2016 16:46:56 +0000 -Subject: [PATCH] main-channel: Prevent overflow reading messages from client - -Caller is supposed the function return a buffer able to store -size bytes. - -[Peter: fixes CVE-2016-9577] -Signed-off-by: Frediano Ziglio -Acked-by: Christophe Fergeau -Signed-off-by: Peter Korsgaard ---- - server/main_channel.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/server/main_channel.c b/server/main_channel.c -index 0ecc9df8..1fc39155 100644 ---- a/server/main_channel.c -+++ b/server/main_channel.c -@@ -1026,6 +1026,9 @@ static uint8_t *main_channel_alloc_msg_rcv_buf(RedChannelClient *rcc, - - if (type == SPICE_MSGC_MAIN_AGENT_DATA) { - return reds_get_agent_data_buffer(mcc, size); -+ } else if (size > sizeof(main_chan->recv_buf)) { -+ /* message too large, caller will log a message and close the connection */ -+ return NULL; - } else { - return main_chan->recv_buf; - } --- -2.11.0 - diff --git a/package/spice/0004-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch b/package/spice/0004-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch deleted file mode 100644 index 070259f2bb..0000000000 --- a/package/spice/0004-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch +++ /dev/null @@ -1,75 +0,0 @@ -From f1e7ec03e26ab6b8ca9b7ec060846a5b706a963d Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Mon, 15 May 2017 15:57:28 +0100 -Subject: [PATCH] reds: Disconnect when receiving overly big - ClientMonitorsConfig - -Total message size received from the client was unlimited. There is -a 2kiB size check on individual agent messages, but the MonitorsConfig -message can be split in multiple chunks, and the size of the -non-chunked MonitorsConfig message was never checked. This could easily -lead to memory exhaustion on the host. - -Signed-off-by: Frediano Ziglio -Signed-off-by: Peter Korsgaard ---- - server/reds.c | 25 +++++++++++++++++++++++-- - 1 file changed, 23 insertions(+), 2 deletions(-) - -diff --git a/server/reds.c b/server/reds.c -index f439a366..7be85fdf 100644 ---- a/server/reds.c -+++ b/server/reds.c -@@ -993,19 +993,34 @@ static void reds_client_monitors_config_cleanup(void) - static void reds_on_main_agent_monitors_config( - MainChannelClient *mcc, void *message, size_t size) - { -+ const unsigned int MAX_MONITORS = 256; -+ const unsigned int MAX_MONITOR_CONFIG_SIZE = -+ sizeof(VDAgentMonitorsConfig) + MAX_MONITORS * sizeof(VDAgentMonConfig); -+ - VDAgentMessage *msg_header; - VDAgentMonitorsConfig *monitors_config; - RedsClientMonitorsConfig *cmc = &reds->client_monitors_config; - -+ // limit size of message sent by the client as this can cause a DoS through -+ // memory exhaustion, or potentially some integer overflows -+ if (sizeof(VDAgentMessage) + MAX_MONITOR_CONFIG_SIZE - cmc->buffer_size < size) { -+ goto overflow; -+ } - cmc->buffer_size += size; - cmc->buffer = realloc(cmc->buffer, cmc->buffer_size); - spice_assert(cmc->buffer); - cmc->mcc = mcc; - memcpy(cmc->buffer + cmc->buffer_pos, message, size); - cmc->buffer_pos += size; -+ if (sizeof(VDAgentMessage) > cmc->buffer_size) { -+ spice_debug("not enough data yet. %d", cmc->buffer_size); -+ return; -+ } - msg_header = (VDAgentMessage *)cmc->buffer; -- if (sizeof(VDAgentMessage) > cmc->buffer_size || -- msg_header->size > cmc->buffer_size - sizeof(VDAgentMessage)) { -+ if (msg_header->size > MAX_MONITOR_CONFIG_SIZE) { -+ goto overflow; -+ } -+ if (msg_header->size > cmc->buffer_size - sizeof(VDAgentMessage)) { - spice_debug("not enough data yet. %d", cmc->buffer_size); - return; - } -@@ -1013,6 +1028,12 @@ static void reds_on_main_agent_monitors_config( - spice_debug("%s: %d", __func__, monitors_config->num_of_monitors); - red_dispatcher_client_monitors_config(monitors_config); - reds_client_monitors_config_cleanup(); -+ return; -+ -+overflow: -+ spice_warning("received invalid MonitorsConfig request from client, disconnecting"); -+ red_channel_client_disconnect(main_channel_client_get_base(mcc)); -+ reds_client_monitors_config_cleanup(); - } - - void reds_on_main_agent_data(MainChannelClient *mcc, void *message, size_t size) --- -2.11.0 - diff --git a/package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch b/package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch deleted file mode 100644 index 98740520c1..0000000000 --- a/package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch +++ /dev/null @@ -1,31 +0,0 @@ -From ec6229c79abe05d731953df5f7e9a05ec9f6df79 Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Mon, 15 May 2017 15:57:28 +0100 -Subject: [PATCH] reds: Avoid integer overflows handling monitor - configuration - -Avoid VDAgentMessage::size integer overflows. - -Signed-off-by: Frediano Ziglio -Signed-off-by: Peter Korsgaard ---- - server/reds.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/server/reds.c b/server/reds.c -index 7be85fdf..e1c8c108 100644 ---- a/server/reds.c -+++ b/server/reds.c -@@ -1024,6 +1024,9 @@ static void reds_on_main_agent_monitors_config( - spice_debug("not enough data yet. %d", cmc->buffer_size); - return; - } -+ if (msg_header->size < sizeof(VDAgentMonitorsConfig)) { -+ goto overflow; -+ } - monitors_config = (VDAgentMonitorsConfig *)(cmc->buffer + sizeof(*msg_header)); - spice_debug("%s: %d", __func__, monitors_config->num_of_monitors); - red_dispatcher_client_monitors_config(monitors_config); --- -2.11.0 - diff --git a/package/spice/0006-reds-Avoid-buffer-overflows-handling-monitor-configu.patch b/package/spice/0006-reds-Avoid-buffer-overflows-handling-monitor-configu.patch deleted file mode 100644 index 212645b44f..0000000000 --- a/package/spice/0006-reds-Avoid-buffer-overflows-handling-monitor-configu.patch +++ /dev/null @@ -1,48 +0,0 @@ -From a957a90baf2c62d31f3547e56bba7d0e812d2331 Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Mon, 15 May 2017 15:57:28 +0100 -Subject: [PATCH] reds: Avoid buffer overflows handling monitor - configuration - -It was also possible for a malicious client to set -VDAgentMonitorsConfig::num_of_monitors to a number larger -than the actual size of VDAgentMOnitorsConfig::monitors. -This would lead to buffer overflows, which could allow the guest to -read part of the host memory. This might cause write overflows in the -host as well, but controlling the content of such buffers seems -complicated. - -Signed-off-by: Frediano Ziglio -Signed-off-by: Peter Korsgaard ---- - server/reds.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/server/reds.c b/server/reds.c -index e1c8c108..3a42c375 100644 ---- a/server/reds.c -+++ b/server/reds.c -@@ -1000,6 +1000,7 @@ static void reds_on_main_agent_monitors_config( - VDAgentMessage *msg_header; - VDAgentMonitorsConfig *monitors_config; - RedsClientMonitorsConfig *cmc = &reds->client_monitors_config; -+ uint32_t max_monitors; - - // limit size of message sent by the client as this can cause a DoS through - // memory exhaustion, or potentially some integer overflows -@@ -1028,6 +1029,12 @@ static void reds_on_main_agent_monitors_config( - goto overflow; - } - monitors_config = (VDAgentMonitorsConfig *)(cmc->buffer + sizeof(*msg_header)); -+ // limit the monitor number to avoid buffer overflows -+ max_monitors = (msg_header->size - sizeof(VDAgentMonitorsConfig)) / -+ sizeof(VDAgentMonConfig); -+ if (monitors_config->num_of_monitors > max_monitors) { -+ goto overflow; -+ } - spice_debug("%s: %d", __func__, monitors_config->num_of_monitors); - red_dispatcher_client_monitors_config(monitors_config); - reds_client_monitors_config_cleanup(); --- -2.11.0 - diff --git a/package/spice/spice.hash b/package/spice/spice.hash index c9b591f41d..1a25926ab2 100644 --- a/package/spice/spice.hash +++ b/package/spice/spice.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 f901a5c5873d61acac84642f9eea5c4d6386fc3e525c2b68792322794e1c407d spice-0.12.8.tar.bz2 +sha256 1ead5de63d06eededed4017db37240f07bef0abffbaf621899647e7e685a1519 spice-0.14.1.tar.bz2 diff --git a/package/spice/spice.mk b/package/spice/spice.mk index 7b09f39fe7..16e57441a8 100644 --- a/package/spice/spice.mk +++ b/package/spice/spice.mk @@ -4,13 +4,14 @@ # ################################################################################ -SPICE_VERSION = 0.12.8 +SPICE_VERSION = 0.14.1 SPICE_SOURCE = spice-$(SPICE_VERSION).tar.bz2 -SPICE_SITE = http://www.spice-space.org/download/releases +SPICE_SITE = http://www.spice-space.org/download/releases/spice-server SPICE_LICENSE = LGPL-2.1+ SPICE_LICENSE_FILES = COPYING SPICE_INSTALL_STAGING = YES SPICE_DEPENDENCIES = \ + host-pkgconf \ jpeg \ libglib2 \ openssl \ @@ -20,9 +21,9 @@ SPICE_DEPENDENCIES = \ # We disable everything for now, because the dependency tree can become # quite deep if we try to enable some features, and I have not tested that. SPICE_CONF_OPTS = \ + --disable-gstreamer \ --disable-opengl \ --disable-smartcard \ - --disable-automated-tests \ --without-sasl \ --disable-manual @@ -42,6 +43,13 @@ else SPICE_CONF_OPTS += --disable-lz4 endif +ifeq ($(BR2_PACKAGE_OPUS),y) +SPICE_CONF_OPTS += --enable-opus +SPICE_DEPENDENCIES += opus +else +SPICE_CONF_OPTS += --disable-opus +endif + # no enable/disable, detected using pkg-config ifeq ($(BR2_PACKAGE_OPUS),y) SPICE_DEPENDENCIES += opus diff --git a/package/sqlcipher/Config.in b/package/sqlcipher/Config.in index 98b2f8955d..332754b15a 100644 --- a/package/sqlcipher/Config.in +++ b/package/sqlcipher/Config.in @@ -5,8 +5,8 @@ config BR2_PACKAGE_SQLCIPHER select BR2_PACKAGE_OPENSSL help SQLCipher is an SQLite extension that provides 256 bits AES - encryption of database files. Note that it is a fork of SQLite - and they cannot be installed side-by-side. + encryption of database files. Note that it is a fork of + SQLite and they cannot be installed side-by-side. http://sqlcipher.net @@ -17,14 +17,15 @@ config BR2_PACKAGE_SQLCIPHER_READLINE select BR2_PACKAGE_NCURSES select BR2_PACKAGE_READLINE help - Enable command-line editing. This requires ncurses and readline. + Enable command-line editing. This requires ncurses and + readline. config BR2_PACKAGE_SQLCIPHER_STAT3 bool "Additional query optimizations (stat3)" help - Adds additional logic to the ANALYZE command and to the query - planner that can help SQLite to choose a better query plan under - certain situations. + Adds additional logic to the ANALYZE command and to the + query planner that can help SQLite to choose a better query + plan under certain situations. endif diff --git a/package/sqlite/Config.in b/package/sqlite/Config.in index eec41c5332..ec7396860c 100644 --- a/package/sqlite/Config.in +++ b/package/sqlite/Config.in @@ -1,8 +1,9 @@ config BR2_PACKAGE_SQLITE bool "sqlite" help - SQLite is a small C library that implements a self-contained, - embeddable, zero-configuration SQL database engine. + SQLite is a small C library that implements a + self-contained, embeddable, zero-configuration SQL database + engine. http://www.sqlite.org/ @@ -11,16 +12,16 @@ if BR2_PACKAGE_SQLITE config BR2_PACKAGE_SQLITE_STAT3 bool "Additional query optimizations (stat3)" help - Adds additional logic to the ANALYZE command and to the query - planner that can help SQLite to choose a better query plan under - certain situations. + Adds additional logic to the ANALYZE command and to the + query planner that can help SQLite to choose a better query + plan under certain situations. config BR2_PACKAGE_SQLITE_ENABLE_FTS3 bool "Enable version 3 of the full-text search engine" help - When this option is defined in the amalgamation - (see http://www.sqlite.org/amalgamation.html), version 3 of - the full-text search engine is added to the build automatically. + When this option is defined in the amalgamation (see + http://www.sqlite.org/amalgamation.html), version 3 of the + full-text search engine is added to the build automatically. config BR2_PACKAGE_SQLITE_ENABLE_JSON1 bool "Enable the JSON extensions for SQLite" @@ -31,34 +32,35 @@ config BR2_PACKAGE_SQLITE_ENABLE_JSON1 config BR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY bool "Enable sqlite3_unlock_notify() interface" help - This option enables the sqlite3_unlock_notify() interface and its - accosiated functionality. See the documentation - http://www.sqlite.org/unlock_notify.html for additional information. + This option enables the sqlite3_unlock_notify() interface + and its accosiated functionality. See the documentation + http://www.sqlite.org/unlock_notify.html for additional + information. config BR2_PACKAGE_SQLITE_SECURE_DELETE bool "Set the secure_delete pragma on by default" help This compile-time option changes the default settings of the - secure_delete pragma. When this option is not used, secure_delete - defaults to off. When this option is present, secure_delete defaults - to on. + secure_delete pragma. When this option is not used, + secure_delete defaults to off. When this option is present, + secure_delete defaults to on. - The secure_delete setting causes deleted content to be overwritten - with zeros. There is a small performance penalty for this since - additional I/O must occur. On the other hand, secure_delete can - prevent sensitive information from lingering in unused parts - of the database file after it has allegedly been deleted. - See the documentation on the - http://www.sqlite.org/pragma.html#pragma_secure_delete - for additional information. + The secure_delete setting causes deleted content to be + overwritten with zeros. There is a small performance penalty + for this since additional I/O must occur. On the other hand, + secure_delete can prevent sensitive information from + lingering in unused parts of the database file after it has + allegedly been deleted. See the documentation on the + http://www.sqlite.org/pragma.html#pragma_secure_delete for + additional information. config BR2_PACKAGE_SQLITE_NO_SYNC bool "Disable fsync" help - By default SQLite forces all database transactions to storage - immediately using fsync() to protect against data loss in case - of power failure. - This option turns this behavior off resulting in higher performance - especially when using slow flash storage. + By default SQLite forces all database transactions to + storage immediately using fsync() to protect against data + loss in case of power failure. This option turns this + behavior off resulting in higher performance especially when + using slow flash storage. endif diff --git a/package/squashfs/0001-include-sysmacros.patch b/package/squashfs/0001-include-sysmacros.patch new file mode 100644 index 0000000000..d794836c04 --- /dev/null +++ b/package/squashfs/0001-include-sysmacros.patch @@ -0,0 +1,47 @@ +From 968aa53dd6d2c0831a9af01873441767c06b88d0 Mon Sep 17 00:00:00 2001 +From: Thomas De Schampheleire +Date: Wed, 1 Aug 2018 12:17:10 +0200 +Subject: [PATCH] mksquashfs/unsquashfs: fix compilation with glibc 2.25+ +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From glibc 2.25 release notes: +https://sourceware.org/ml/libc-alpha/2017-02/msg00079.html +"* The inclusion of by is deprecated. + This means that in a future release, the macros “major”, “minor”, and + “makedev” will only be available from ." + +See glibc bug https://sourceware.org/bugzilla/show_bug.cgi?id=19239 . + +Fetch from: https://github.com/plougher/squashfs-tools/pull/52.patch +Signed-off-by: Richard Kunze +--- + squashfs-tools/mksquashfs.c | 1 + + squashfs-tools/unsquashfs.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c +index d696a51..8d57c3e 100644 +--- a/squashfs-tools/mksquashfs.c ++++ b/squashfs-tools/mksquashfs.c +@@ -35,6 +35,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c +index a57f85c..a492b27 100644 +--- a/squashfs-tools/unsquashfs.c ++++ b/squashfs-tools/unsquashfs.c +@@ -33,6 +33,7 @@ + #include "fnmatch_compat.h" + + #include ++#include + #include + #include + #include diff --git a/package/squashfs/0001-musl.patch b/package/squashfs/0001-musl.patch deleted file mode 100644 index 891b1717a2..0000000000 --- a/package/squashfs/0001-musl.patch +++ /dev/null @@ -1,71 +0,0 @@ -Fix musl build - -Downloaded from -http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch -and adjusted paths. - -Signed-off-by: Bernd Kuhls - -Define FNM_EXTMATCH if not defined its glibc specific define -include missing sys/stat.h for stat* function declarations - -Upstream-Status: Pending -Signed-off-by: Khem Raj - -Index: squashfs-tools/action.c -=================================================================== ---- a/squashfs-tools.orig/action.c -+++ b/squashfs-tools/action.c -@@ -44,6 +44,10 @@ - #include "action.h" - #include "error.h" - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - /* - * code to parse actions - */ -Index: squashfs-tools/mksquashfs.c -=================================================================== ---- a/squashfs-tools.orig/mksquashfs.c -+++ b/squashfs-tools/mksquashfs.c -@@ -1286,6 +1286,10 @@ void write_dir(squashfs_inode *inode, st - dir_size + 3, directory_block, directory_offset, NULL, NULL, - dir, 0); - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - #ifdef SQUASHFS_TRACE - { - unsigned char *dirp; -Index: squashfs-tools/pseudo.c -=================================================================== ---- a/squashfs-tools.orig/pseudo.c -+++ b/squashfs-tools/pseudo.c -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - #include - - #include "pseudo.h" -Index: squashfs-tools/unsquashfs.c -=================================================================== ---- a/squashfs-tools.orig/unsquashfs.c -+++ b/squashfs-tools/unsquashfs.c -@@ -38,6 +38,10 @@ - #include - #include - -+#ifndef FNM_EXTMATCH -+#define FNM_EXTMATCH 0 -+#endif -+ - struct cache *fragment_cache, *data_cache; - struct queue *to_reader, *to_inflate, *to_writer, *from_writer; - pthread_t *thread, *inflator_thread; diff --git a/package/squashfs/squashfs.hash b/package/squashfs/squashfs.hash index 74fdb44354..4464e62c02 100644 --- a/package/squashfs/squashfs.hash +++ b/package/squashfs/squashfs.hash @@ -1,2 +1,5 @@ # Locally computed -sha256 2c49392816615b73bf5d6cdce9776cb66a01f5a1494b1d9af580667e32bab001 squashfs-3de1687d7432ea9b302c2db9521996f506c140a3.tar.gz +sha256 bd0aa3011320b8ebee68aa406060de277bef16daf81bad5b9f70cbea6db1a779 squashfs-e38956b92f738518c29734399629e7cdb33072d3.tar.gz + +# License files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/squashfs/squashfs.mk b/package/squashfs/squashfs.mk index 9599d892b2..e656218f97 100644 --- a/package/squashfs/squashfs.mk +++ b/package/squashfs/squashfs.mk @@ -4,12 +4,12 @@ # ################################################################################ -SQUASHFS_VERSION = 3de1687d7432ea9b302c2db9521996f506c140a3 +SQUASHFS_VERSION = e38956b92f738518c29734399629e7cdb33072d3 SQUASHFS_SITE = https://git.kernel.org/pub/scm/fs/squashfs/squashfs-tools.git SQUASHFS_SITE_METHOD = git SQUASHFS_LICENSE = GPL-2.0+ SQUASHFS_LICENSE_FILES = COPYING -SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 +SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ZSTD_SUPPORT=0 ifeq ($(BR2_PACKAGE_SQUASHFS_LZ4),y) SQUASHFS_DEPENDENCIES += lz4 @@ -54,7 +54,8 @@ HOST_SQUASHFS_MAKE_ARGS = \ GZIP_SUPPORT=1 \ LZ4_SUPPORT=1 \ LZO_SUPPORT=1 \ - LZMA_XZ_SUPPORT=1 + LZMA_XZ_SUPPORT=1 \ + ZSTD_SUPPORT=0 define SQUASHFS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) \ diff --git a/package/squid/0003-ESI-make-sure-endofName-never-exceeds-tagEnd-130.patch b/package/squid/0003-ESI-make-sure-endofName-never-exceeds-tagEnd-130.patch new file mode 100644 index 0000000000..6e71677a19 --- /dev/null +++ b/package/squid/0003-ESI-make-sure-endofName-never-exceeds-tagEnd-130.patch @@ -0,0 +1,35 @@ +From eb2db98a676321b814fc4a51c4fb7928a8bb45d9 Mon Sep 17 00:00:00 2001 +From: Amos Jeffries +Date: Fri, 19 Jan 2018 13:54:14 +1300 +Subject: [PATCH] ESI: make sure endofName never exceeds tagEnd (#130) + +Signed-off-by: Peter Korsgaard +--- + src/esi/CustomParser.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/esi/CustomParser.cc b/src/esi/CustomParser.cc +index d86d2d309..db634d921 100644 +--- a/src/esi/CustomParser.cc ++++ b/src/esi/CustomParser.cc +@@ -121,7 +121,7 @@ ESICustomParser::parse(char const *dataToParse, size_t const lengthOfData, bool + + char * endofName = strpbrk(const_cast(tag), w_space); + +- if (endofName > tagEnd) ++ if (!endofName || endofName > tagEnd) + endofName = const_cast(tagEnd); + + *endofName = '\0'; +@@ -214,7 +214,7 @@ ESICustomParser::parse(char const *dataToParse, size_t const lengthOfData, bool + + char * endofName = strpbrk(const_cast(tag), w_space); + +- if (endofName > tagEnd) ++ if (!endofName || endofName > tagEnd) + endofName = const_cast(tagEnd); + + *endofName = '\0'; +-- +2.11.0 + diff --git a/package/squid/0004-Fix-indirect-IP-logging-for-transactions-without-a-c.patch b/package/squid/0004-Fix-indirect-IP-logging-for-transactions-without-a-c.patch new file mode 100644 index 0000000000..51fff30034 --- /dev/null +++ b/package/squid/0004-Fix-indirect-IP-logging-for-transactions-without-a-c.patch @@ -0,0 +1,31 @@ +From 8232b83d3fa47a1399f155cb829db829369fbae9 Mon Sep 17 00:00:00 2001 +From: squidadm +Date: Sun, 21 Jan 2018 08:07:08 +1300 +Subject: [PATCH] Fix indirect IP logging for transactions without a client + connection (#129) (#136) + +Signed-off-by: Peter Korsgaard +--- + src/client_side_request.cc | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/client_side_request.cc b/src/client_side_request.cc +index be124f355..203f89d46 100644 +--- a/src/client_side_request.cc ++++ b/src/client_side_request.cc +@@ -488,9 +488,9 @@ clientFollowXForwardedForCheck(allow_t answer, void *data) + * Ensure that the access log shows the indirect client + * instead of the direct client. + */ +- ConnStateData *conn = http->getConn(); +- conn->log_addr = request->indirect_client_addr; +- http->al->cache.caddr = conn->log_addr; ++ http->al->cache.caddr = request->indirect_client_addr; ++ if (ConnStateData *conn = http->getConn()) ++ conn->log_addr = request->indirect_client_addr; + } + request->x_forwarded_for_iterator.clean(); + request->flags.done_follow_x_forwarded_for = true; +-- +2.11.0 + diff --git a/package/squid/Config.in b/package/squid/Config.in index 12bfe19a42..141a5029d2 100644 --- a/package/squid/Config.in +++ b/package/squid/Config.in @@ -9,6 +9,7 @@ config BR2_PACKAGE_SQUID depends on BR2_USE_MMU select BR2_PACKAGE_LIBCAP help - Caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. + Caching proxy for the Web supporting HTTP, HTTPS, FTP, and + more. http://www.squid-cache.org/ diff --git a/package/squid/squid.hash b/package/squid/squid.hash index 91ba9e6fc4..8787cb25ef 100644 --- a/package/squid/squid.hash +++ b/package/squid/squid.hash @@ -1,3 +1,5 @@ -# From http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.26.tar.xz.asc -md5 510e2c84773879c00d0e7ced997864d9 squid-3.5.26.tar.xz -sha1 51a664217957b35de8b7fae180b9f93a759a4204 squid-3.5.26.tar.xz +# From http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.27.tar.xz.asc +md5 39ef8199675d48a314b540f92c00c545 squid-3.5.27.tar.xz +sha1 1e69c96d13cd49844da3bcf33a0b428fbe7b6f77 squid-3.5.27.tar.xz +# Locally calculated +sha256 58f5d05257af1fb964fde20e134d660fac9afa86b6fd8c70d63ead63068378fa COPYING diff --git a/package/squid/squid.mk b/package/squid/squid.mk index d334d14c88..8ade55ee37 100644 --- a/package/squid/squid.mk +++ b/package/squid/squid.mk @@ -5,7 +5,7 @@ ################################################################################ SQUID_VERSION_MAJOR = 3.5 -SQUID_VERSION = $(SQUID_VERSION_MAJOR).26 +SQUID_VERSION = $(SQUID_VERSION_MAJOR).27 SQUID_SOURCE = squid-$(SQUID_VERSION).tar.xz SQUID_SITE = http://www.squid-cache.org/Versions/v3/$(SQUID_VERSION_MAJOR) SQUID_LICENSE = GPL-2.0+ diff --git a/package/sshfs/Config.in b/package/sshfs/Config.in index 54e92c6f8a..7383b6094d 100644 --- a/package/sshfs/Config.in +++ b/package/sshfs/Config.in @@ -9,7 +9,8 @@ config BR2_PACKAGE_SSHFS select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_OPENSSH help - FUSE filesystem client based on the SSH File Transfer Protocol. + FUSE filesystem client based on the SSH File Transfer + Protocol. https://github.com/libfuse/sshfs diff --git a/package/start-stop-daemon/Config.in b/package/start-stop-daemon/Config.in index 8cf44f7805..8f0dda13ba 100644 --- a/package/start-stop-daemon/Config.in +++ b/package/start-stop-daemon/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_START_STOP_DAEMON depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help - start-stop-daemon is used to control the creation and termination - of system-level processes. + start-stop-daemon is used to control the creation and + termination of system-level processes. https://tracker.debian.org/pkg/dpkg diff --git a/package/startup-notification/Config.in b/package/startup-notification/Config.in index 24771ea0f4..88d18174bc 100644 --- a/package/startup-notification/Config.in +++ b/package/startup-notification/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_STARTUP_NOTIFICATION depends on BR2_USE_MMU # fork() select BR2_PACKAGE_XLIB_LIBX11 help - Startup-notification is a library used to monitor application startup. + Startup-notification is a library used to monitor + application startup. http://freedesktop.org/software/startup-notification/releases diff --git a/package/strace/0001-error_prints-fix-program_invocation_name-type-confli.patch b/package/strace/0001-error_prints-fix-program_invocation_name-type-confli.patch deleted file mode 100644 index 9c982f3cce..0000000000 --- a/package/strace/0001-error_prints-fix-program_invocation_name-type-confli.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 96ad51b91c6ab7ff8bac58f90f199324baed07af Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Fri, 8 Sep 2017 12:08:13 +0300 -Subject: [PATCH] error_prints: fix program_invocation_name type conflict - -uClibc-ng declares program_invocation_name as const. This causes the -build failure below: - -error_prints.c:40:14: error: conflicting types for ‘program_invocation_name’ - extern char *program_invocation_name; - ^~~~~~~~~~~~~~~~~~~~~~~ -In file included from error_prints.c:32:0: -.../output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/errno.h:54:20: note: previous declaration of ‘program_invocation_name’ was here - extern const char *program_invocation_name, *program_invocation_short_name; - ^~~~~~~~~~~~~~~~~~~~~~~ -Makefile:3856: recipe for target 'strace-error_prints.o' failed - -Declare program_invocation_name only when the C library does not provide -one. - -Signed-off-by: Baruch Siach ---- -Upstream status: merged, -https://github.com/strace/strace/commit/d45f27147f7d95eb209463dc03dc039ea3f15b59 - - error_prints.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/error_prints.c b/error_prints.c -index 8519b9246698..710e99b04ab9 100644 ---- a/error_prints.c -+++ b/error_prints.c -@@ -37,7 +37,9 @@ - - #include "error_prints.h" - -+#ifndef HAVE_PROGRAM_INVOCATION_NAME - extern char *program_invocation_name; -+#endif - - static void - verror_msg(int err_no, const char *fmt, va_list p) --- -2.14.1 - diff --git a/package/strace/strace.hash b/package/strace/strace.hash index cd3ba1de1a..404be39788 100644 --- a/package/strace/strace.hash +++ b/package/strace/strace.hash @@ -1,7 +1,7 @@ -# From https://sourceforge.net/projects/strace/files/strace/4.19/ -md5 846a9a26e74e797f42d77a0348104072 strace-4.19.tar.xz -sha1 43091b8a07c227a6ffafd6d0f9536917c9447011 strace-4.19.tar.xz +# From https://sourceforge.net/projects/strace/files/strace/4.20/ +md5 f2271ab0fac49ebee9cbd7f3469227cb strace-4.20.tar.xz +sha1 9cebc754af3434e4027a07745770892f685c0316 strace-4.20.tar.xz # Locally calculated after checking signature -# https://sourceforge.net/projects/strace/files/strace/4.19/strace-4.19.tar.xz.asc -sha256 7c93ebc6c29280f47c24a0eb86873a99ccb2cac6512c60a60ba4ef99ab807281 strace-4.19.tar.xz +# https://sourceforge.net/projects/strace/files/strace/4.20/strace-4.20.tar.xz.asc +sha256 5bf3148dd17306a42566f7da17368fdd781afa147db05ea63a4ca2b50f58c523 strace-4.20.tar.xz sha256 ea7ff222f36c9df0aa2924a8f7c7d2aec3ea11e752feba4b15ec79b695b6236a COPYING diff --git a/package/strace/strace.mk b/package/strace/strace.mk index dc36021f26..ba57774e5d 100644 --- a/package/strace/strace.mk +++ b/package/strace/strace.mk @@ -4,7 +4,7 @@ # ################################################################################ -STRACE_VERSION = 4.19 +STRACE_VERSION = 4.20 STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz STRACE_SITE = http://downloads.sourceforge.net/project/strace/strace/$(STRACE_VERSION) STRACE_LICENSE = BSD-3-Clause diff --git a/package/stress-ng/0001-stress-netlink-proc-fix-build-with-kernel-v3.9.patch b/package/stress-ng/0001-stress-netlink-proc-fix-build-with-kernel-v3.9.patch new file mode 100644 index 0000000000..6cbba5e729 --- /dev/null +++ b/package/stress-ng/0001-stress-netlink-proc-fix-build-with-kernel-v3.9.patch @@ -0,0 +1,38 @@ +From f3aa381322a4b73b9ca4e7940f802d74324ef24b Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Mon, 2 Jul 2018 21:06:43 +0300 +Subject: [PATCH] stress-netlink-proc: fix build with kernel v3.9 + +The PROC_EVENT_COREDUMP has been introduced in kernel version 3.10. +Don't use it with 3.9 headers. + +Fixes build failure: + +stress-netlink-proc.c: In function 'monitor': +stress-netlink-proc.c:108:8: error: 'PROC_EVENT_COREDUMP' undeclared (first use in this function) + case PROC_EVENT_COREDUMP: + ^ + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/ColinIanKing/stress-ng/pull/24 + + stress-netlink-proc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/stress-netlink-proc.c b/stress-netlink-proc.c +index 5845610dc816..6114a0b92af1 100644 +--- a/stress-netlink-proc.c ++++ b/stress-netlink-proc.c +@@ -104,7 +104,7 @@ static int monitor(const args_t *args, const int sock) + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31) + case PROC_EVENT_SID: + #endif +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) + case PROC_EVENT_COREDUMP: + #endif + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) +-- +2.18.0 + diff --git a/package/stress-ng/stress-ng.hash b/package/stress-ng/stress-ng.hash index e735439a7e..7455288c17 100644 --- a/package/stress-ng/stress-ng.hash +++ b/package/stress-ng/stress-ng.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 0e1d7733b35f594f7461dedbf836bd4966d0611da4cd4e85cde4804d2a425e6d stress-ng-0.06.15.tar.gz +sha256 0de97212a83b2f8a34ee31ef32a7bc69066ed49ebdc59b51aa4060cb95e29321 stress-ng-0.09.32.tar.xz diff --git a/package/stress-ng/stress-ng.mk b/package/stress-ng/stress-ng.mk index 794e87554e..d83240817a 100644 --- a/package/stress-ng/stress-ng.mk +++ b/package/stress-ng/stress-ng.mk @@ -4,7 +4,8 @@ # ################################################################################ -STRESS_NG_VERSION = 0.06.15 +STRESS_NG_VERSION = 0.09.32 +STRESS_NG_SOURCE = stress-ng-$(STRESS_NG_VERSION).tar.xz STRESS_NG_SITE = http://kernel.ubuntu.com/~cking/tarballs/stress-ng STRESS_NG_LICENSE = GPL-2.0+ STRESS_NG_LICENSE_FILES = COPYING diff --git a/package/strongswan/0001-af_alg-fix-crypt-definition-conflict.patch b/package/strongswan/0001-af_alg-fix-crypt-definition-conflict.patch deleted file mode 100644 index 442e53eb9e..0000000000 --- a/package/strongswan/0001-af_alg-fix-crypt-definition-conflict.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 0b906cb025a506be1b73e5b485179585d1a90be2 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Thu, 11 May 2017 14:04:47 +0300 -Subject: [PATCH] af_alg: fix crypt() definition conflict - -Rename the crypt() method to avoid conflict with POSIX crypt(). Fixes the -following build failure with musl libc: - -In file included from ../../../../src/libstrongswan/utils/utils.h:53:0, - from ../../../../src/libstrongswan/library.h:101, - from af_alg_ops.h:24, - from af_alg_ops.c:16: -af_alg_ops.c:110:22: error: conflicting types for 'crypt' - METHOD(af_alg_ops_t, crypt, bool, - ^ -../../../../src/libstrongswan/utils/utils/object.h:99:13: note: in definition of macro 'METHOD' - static ret name(union {iface *_public; this;} \ - ^ -In file included from af_alg_ops.c:18:0: -.../host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/unistd.h:144:7: note: previous declaration of 'crypt' was here - char *crypt(const char *, const char *); - ^ - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/strongswan/strongswan/pull/72 - - src/libstrongswan/plugins/af_alg/af_alg_ops.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/libstrongswan/plugins/af_alg/af_alg_ops.c b/src/libstrongswan/plugins/af_alg/af_alg_ops.c -index 331d1e8010aa..452cd1ac30c9 100644 ---- a/src/libstrongswan/plugins/af_alg/af_alg_ops.c -+++ b/src/libstrongswan/plugins/af_alg/af_alg_ops.c -@@ -107,7 +107,7 @@ METHOD(af_alg_ops_t, hash, bool, - return TRUE; - } - --METHOD(af_alg_ops_t, crypt, bool, -+METHOD(af_alg_ops_t, crypt_, bool, - private_af_alg_ops_t *this, u_int32_t type, chunk_t iv, chunk_t data, - char *out) - { -@@ -224,7 +224,7 @@ af_alg_ops_t *af_alg_ops_create(char *type, char *alg) - .public = { - .hash = _hash, - .reset = _reset, -- .crypt = _crypt, -+ .crypt = _crypt_, - .set_key = _set_key, - .destroy = _destroy, - }, --- -2.11.0 - diff --git a/package/strongswan/0002-strongswan-add-missing-include-of-stdint.h.patch b/package/strongswan/0002-strongswan-add-missing-include-of-stdint.h.patch deleted file mode 100644 index d5ca690b2d..0000000000 --- a/package/strongswan/0002-strongswan-add-missing-include-of-stdint.h.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a8fd708ce89d5ffb64a5e8873d49a55094dde898 Mon Sep 17 00:00:00 2001 -From: Matt Weber -Date: Mon, 2 Oct 2017 10:16:36 -0500 -Subject: [PATCH] strongswan: add missing include of stdint.h - -Recent releases of glibc don't include the full stdint.h -header in some network headers included by utils.h. -Upstream is targetting a 5.6.1 release of the fix. - -Ustream: https://wiki.strongswan.org/issues/2425 - -Signed-off-by: Matthew Weber ---- - src/libstrongswan/utils/utils/memory.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/libstrongswan/utils/utils/memory.h b/src/libstrongswan/utils/utils/memory.h -index aef318f..c11624d 100644 ---- a/src/libstrongswan/utils/utils/memory.h -+++ b/src/libstrongswan/utils/utils/memory.h -@@ -14,6 +14,8 @@ - * for more details. - */ - -+#include /* for uintptr_t */ -+ - /** - * @defgroup memory_i memory - * @{ @ingroup utils_i --- -1.9.1 - diff --git a/package/strongswan/Config.in b/package/strongswan/Config.in index 5119706f59..0438eeced6 100644 --- a/package/strongswan/Config.in +++ b/package/strongswan/Config.in @@ -15,11 +15,13 @@ menuconfig BR2_PACKAGE_STRONGSWAN FreeS/WAN project and the X.509 patch. The focus is on: - - simplicity of configuration - - strong encryption and authentication methods - - powerful IPsec policies supporting large and complex VPN networks + - simplicity of configuration + - strong encryption and authentication methods + - powerful IPsec policies supporting large and complex + VPN networks - strongSwan provide many plugins. Only a few are presented here. + strongSwan provide many plugins. Only a few are presented + here. http://www.strongswan.org/ diff --git a/package/strongswan/strongswan.hash b/package/strongswan/strongswan.hash index 820c712843..4d1a593a5c 100644 --- a/package/strongswan/strongswan.hash +++ b/package/strongswan/strongswan.hash @@ -1,10 +1,9 @@ -# From http://download.strongswan.org/strongswan-5.4.0.tar.bz2.md5 -md5 9d7c77b0da9b69f859624897e5e9ebbf strongswan-5.4.0.tar.bz2 +# From http://download.strongswan.org/strongswan-5.6.3.tar.bz2.md5 +md5 a6a28eeb22aa58080a7581771a5b63f9 strongswan-5.6.3.tar.bz2 # Calculated based on the hash above -sha256 f8288faaea6a9cd8a7d413c0b76b7922be5da3dfcd01fd05cb30d2c55d3bbe89 strongswan-5.4.0.tar.bz2 +sha256 c3c7dc8201f40625bba92ffd32eb602a8909210d8b3fac4d214c737ce079bf24 strongswan-5.6.3.tar.bz2 # Locally calculated -sha256 f5ba7f46cf7ae81dd81bc86f9e4cfa0c5c7c6987149b3bc9c0b8bf08598a1063 strongswan-4.4.0-5.5.2_gmp_mpz_powm_sec.patch -sha256 03db8c7a4133e877e8992e155c046dd27ec4810d50f239abf55595f0280caf31 strongswan-5.0.0-5.5.2_asn1_choice.patch -sha256 c80e02c9a5eeaf10f0a8bdde3be6375dd2833e515af03dad3a700e93c4fd041a strongswan-4.4.0-5.5.3_gmp_mpz_export.patch +sha256 e66c243593ee0713f5fd13bcd7f624bc50eebc54bf87f790ced429ff698077e7 strongswan-5.6.1-5.6.3_gmp-pkcs1-verify.patch +sha256 415d104717cb0781770e9077d00b3df310b11e65e4b9c1d35b62fbba04549263 strongswan-4.4.0-5.7.0_gmp-pkcs1-overflow.patch sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 2292e21797754548dccdef9eef6aee7584e552fbd890fa914e1de8d3577d23f0 LICENSE diff --git a/package/strongswan/strongswan.mk b/package/strongswan/strongswan.mk index 30bbc6c852..30693de7cb 100644 --- a/package/strongswan/strongswan.mk +++ b/package/strongswan/strongswan.mk @@ -4,13 +4,12 @@ # ################################################################################ -STRONGSWAN_VERSION = 5.4.0 +STRONGSWAN_VERSION = 5.6.3 STRONGSWAN_SOURCE = strongswan-$(STRONGSWAN_VERSION).tar.bz2 STRONGSWAN_SITE = http://download.strongswan.org STRONGSWAN_PATCH = \ - $(STRONGSWAN_SITE)/patches/21_gmp_mpz_powm_sec_patch/strongswan-4.4.0-5.5.2_gmp_mpz_powm_sec.patch \ - $(STRONGSWAN_SITE)/patches/22_asn1_choice_patch/strongswan-5.0.0-5.5.2_asn1_choice.patch \ - $(STRONGSWAN_SITE)/patches/23_gmp_mpz_export_patch/strongswan-4.4.0-5.5.3_gmp_mpz_export.patch + $(STRONGSWAN_SITE)/patches/27_gmp_pkcs1_verify_patch/strongswan-5.6.1-5.6.3_gmp-pkcs1-verify.patch \ + $(STRONGSWAN_SITE)/patches/28_gmp_pkcs1_overflow_patch/strongswan-4.4.0-5.7.0_gmp-pkcs1-overflow.patch STRONGSWAN_LICENSE = GPL-2.0+ STRONGSWAN_LICENSE_FILES = COPYING LICENSE STRONGSWAN_DEPENDENCIES = host-pkgconf @@ -37,7 +36,10 @@ STRONGSWAN_CONF_OPTS += \ --enable-scepclient=$(if $(BR2_PACKAGE_STRONGSWAN_SCEP),yes,no) \ --enable-scripts=$(if $(BR2_PACKAGE_STRONGSWAN_SCRIPTS),yes,no) \ --enable-vici=$(if $(BR2_PACKAGE_STRONGSWAN_VICI),yes,no) \ - --enable-swanctl=$(if $(BR2_PACKAGE_STRONGSWAN_VICI),yes,no) + --enable-swanctl=$(if $(BR2_PACKAGE_STRONGSWAN_VICI),yes,no) \ + --with-ipseclibdir=/usr/lib \ + --with-plugindir=/usr/lib/ipsec/plugins \ + --with-imcvdir=/usr/lib/ipsec/imcvs ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) STRONGSWAN_CONF_ENV += LIBS='-latomic' diff --git a/package/stunnel/stunnel.hash b/package/stunnel/stunnel.hash index c4e70a7f9a..d3b9451ce9 100644 --- a/package/stunnel/stunnel.hash +++ b/package/stunnel/stunnel.hash @@ -1,2 +1,5 @@ -# From http://www.stunnel.org/pipermail/stunnel-announce/2016-September/000125.html -sha256 eb8952fcfdfcdf5056a1f1a78e1ec5014b819c5f5f7599b924dc4490ffe4b5ea stunnel-5.36.tar.gz +# From https://www.stunnel.org/downloads/stunnel-5.44.tar.gz.sha256 +sha256 990a325dbb47d77d88772dd02fbbd27d91b1fea3ece76c9ff4461eca93f12299 stunnel-5.44.tar.gz +# Locally calculated +sha256 c43821865591e4d893906e2801b5ec4de58e51978f5563a61475cd0adc0bec4d COPYING +sha256 1ee2b290e92c211b08df10e9fcaf32596cdb22b8eae731b18c2c074a4a83eebe COPYRIGHT.GPL diff --git a/package/stunnel/stunnel.mk b/package/stunnel/stunnel.mk index 99e5381a7c..4a5d2a0335 100644 --- a/package/stunnel/stunnel.mk +++ b/package/stunnel/stunnel.mk @@ -5,7 +5,7 @@ ################################################################################ STUNNEL_VERSION_MAJOR = 5 -STUNNEL_VERSION = $(STUNNEL_VERSION_MAJOR).36 +STUNNEL_VERSION = $(STUNNEL_VERSION_MAJOR).44 STUNNEL_SITE = http://www.usenix.org.uk/mirrors/stunnel/archive/$(STUNNEL_VERSION_MAJOR).x STUNNEL_DEPENDENCIES = openssl STUNNEL_CONF_OPTS = --with-ssl=$(STAGING_DIR)/usr --with-threads=fork \ diff --git a/package/sunxi-mali/Config.in b/package/sunxi-mali/Config.in index 9eb3ad85af..554ee6845c 100644 --- a/package/sunxi-mali/Config.in +++ b/package/sunxi-mali/Config.in @@ -31,16 +31,18 @@ config BR2_PACKAGE_PROVIDES_LIBGLES config BR2_PACKAGE_SUNXI_MALI_DBG bool "install malitest and maliver tools" help - Install 3D triangle demo malitest application and the maliver application - which describes the kernel module version. + Install 3D triangle demo malitest application and the + maliver application which describes the kernel module + version. choice prompt "Version" default BR2_PACKAGE_SUNXI_MALI_R3P0 help - Select the version of the kernel module. For the sunxi-kernel, the - appropriate version number is r3p0. For other kernels, use the maliver - application to determine the appropriate version. + Select the version of the kernel module. For the + sunxi-kernel, the appropriate version number is r3p0. For + other kernels, use the maliver application to determine the + appropriate version. config BR2_PACKAGE_SUNXI_MALI_R3P0 bool "r3p0" diff --git a/package/sunxi-tools/Config.in b/package/sunxi-tools/Config.in index 16bf2dc57b..02eba95612 100644 --- a/package/sunxi-tools/Config.in +++ b/package/sunxi-tools/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_SUNXI_TOOLS bool "sunxi nand-part" depends on BR2_arm help - nand-part is part of sunxi-tools for Allwinner A10 (aka sun4i) and - A13 (aka sun5i) based devices. It is a tool to repartition the - internal NAND on sunxi devices. + nand-part is part of sunxi-tools for Allwinner A10 (aka + sun4i) and A13 (aka sun5i) based devices. It is a tool to + repartition the internal NAND on sunxi devices. http://linux-sunxi.org/Sunxi-tools diff --git a/package/supertuxkart/0001-irrlicht-Get-rid-of-unprefixed-cflags.patch b/package/supertuxkart/0001-irrlicht-Get-rid-of-unprefixed-cflags.patch deleted file mode 100644 index 351b5875a3..0000000000 --- a/package/supertuxkart/0001-irrlicht-Get-rid-of-unprefixed-cflags.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 73bed675202cf1f1c748540a4363d7d99e161dca Mon Sep 17 00:00:00 2001 -From: Ezequiel Garcia -Date: Thu, 9 Jun 2016 18:58:51 -0300 -Subject: [PATCH 1/2] irrlicht: Get rid of unprefixed cflags - -Cross-building requires proper include paths. This commit -removes the unprefixed -I/usr/X11R6/include in irrlicht cflags. - -Signed-off-by: Ezequiel Garcia ---- -Fix sent upstream as part of pull: -https://github.com/supertuxkart/stk-code/pull/2554 - - lib/irrlicht/CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/irrlicht/CMakeLists.txt b/lib/irrlicht/CMakeLists.txt -index 46d54008c291..5f4975e3a6f9 100644 ---- a/lib/irrlicht/CMakeLists.txt -+++ b/lib/irrlicht/CMakeLists.txt -@@ -25,8 +25,8 @@ elseif(MINGW) - add_definitions(-D_IRR_STATIC_LIB_) - add_definitions(-D_CRT_SECURE_NO_WARNINGS) # Shut up about unsafe stuff - else() -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -pipe -O3 -fno-exceptions -fstrict-aliasing -I/usr/X11R6/include") -- set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wall -pipe -O3 -fno-exceptions -fstrict-aliasing -I/usr/X11R6/include") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -pipe -O3 -fno-exceptions -fstrict-aliasing") -+ set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wall -pipe -O3 -fno-exceptions -fstrict-aliasing") - if(CMAKE_COMPILER_IS_GNUCC) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexpensive-optimizations") - endif() --- -2.9.0 - diff --git a/package/supertuxkart/0002-irrlicht-Fix-boolean-return-type-for-jpeglib-s-callb.patch b/package/supertuxkart/0002-irrlicht-Fix-boolean-return-type-for-jpeglib-s-callb.patch deleted file mode 100644 index 1a89bead85..0000000000 --- a/package/supertuxkart/0002-irrlicht-Fix-boolean-return-type-for-jpeglib-s-callb.patch +++ /dev/null @@ -1,39 +0,0 @@ -From fe71624eb39e0bc302a7603c79503fb12667dc2b Mon Sep 17 00:00:00 2001 -From: Ezequiel Garcia -Date: Sun, 3 Jul 2016 15:16:59 -0300 -Subject: [PATCH 2/2] irrlicht: Fix boolean return type for jpeglib's callback - -Building on certain toolchains can fail due to returning an integer -instead of TRUE. In any case, only {TRUE,FALSE} should be used -as 'boolean' jpeglib type. Fix this by returning TRUE. - - CImageLoaderJPG.cpp: In static member function 'static boolean - irr::video::CImageLoaderJPG::fill_input_buffer(j_decompress_ptr)': - CImageLoaderJPG.cpp:69:9: error: invalid conversion from 'int' to 'boolean' - [-fpermissive] - -Signed-off-by: Romain Naour -Signed-off-by: Ezequiel Garcia ---- -Fix sent upstream as part of pull: -https://github.com/supertuxkart/stk-code/pull/2554 - - lib/irrlicht/source/Irrlicht/CImageLoaderJPG.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/irrlicht/source/Irrlicht/CImageLoaderJPG.cpp b/lib/irrlicht/source/Irrlicht/CImageLoaderJPG.cpp -index 8fc5222a1e9b..1811f31dd28f 100644 ---- a/lib/irrlicht/source/Irrlicht/CImageLoaderJPG.cpp -+++ b/lib/irrlicht/source/Irrlicht/CImageLoaderJPG.cpp -@@ -66,7 +66,7 @@ void CImageLoaderJPG::init_source (j_decompress_ptr cinfo) - boolean CImageLoaderJPG::fill_input_buffer (j_decompress_ptr cinfo) - { - // DO NOTHING -- return 1; -+ return TRUE; - } - - --- -2.9.0 - diff --git a/package/supertuxkart/supertuxkart.hash b/package/supertuxkart/supertuxkart.hash index 45ad8c5089..4bba3f2c2a 100644 --- a/package/supertuxkart/supertuxkart.hash +++ b/package/supertuxkart/supertuxkart.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 0b080bb098a26adb552d6fd48905bcb6b1e873ef1567457d7268d7d3aaa48282 supertuxkart-0.9.2-src.tar.xz -# From https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/0.9.2/ -sha1 df3805a8f9dc556a0fc5af44442dae8126db5d5a supertuxkart-0.9.2-src.tar.xz -md5 f1f5081fd41b8eeb310b4edc07b9ee12 supertuxkart-0.9.2-src.tar.xz +sha256 d8014e7106ba84f98b5ec5f146249dcffc284fc4083f8f237ff420b9e2219cb0 supertuxkart-0.9.3-src.tar.xz +# From https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/0.9.3/ +sha1 2650ba20976472f10122a8600cc239507a9b6f24 supertuxkart-0.9.3-src.tar.xz +md5 8de5455b8fdbb92679e302b76c9041cf supertuxkart-0.9.3-src.tar.xz diff --git a/package/supertuxkart/supertuxkart.mk b/package/supertuxkart/supertuxkart.mk index dc4b23227d..37756213fa 100644 --- a/package/supertuxkart/supertuxkart.mk +++ b/package/supertuxkart/supertuxkart.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUPERTUXKART_VERSION = 0.9.2 +SUPERTUXKART_VERSION = 0.9.3 SUPERTUXKART_SOURCE = supertuxkart-$(SUPERTUXKART_VERSION)-src.tar.xz SUPERTUXKART_SITE = http://downloads.sourceforge.net/project/supertuxkart/SuperTuxKart/$(SUPERTUXKART_VERSION) @@ -29,7 +29,9 @@ SUPERTUXKART_DEPENDENCIES = \ # Since supertuxkart is not installing libstkirrlicht.so, and since it is # the only user of the bundled libraries, turn off shared libraries entirely. -SUPERTUXKART_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF +# Disable In-game recorder (there is no libopenglrecorder package) +SUPERTUXKART_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF \ + -DBUILD_RECORDER=OFF ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y) SUPERTUXKART_DEPENDENCIES += libfribidi diff --git a/package/swupdate/0001-Fix-SHA256-hash-verification.patch b/package/swupdate/0001-Fix-SHA256-hash-verification.patch deleted file mode 100644 index b7bd9d3d0c..0000000000 --- a/package/swupdate/0001-Fix-SHA256-hash-verification.patch +++ /dev/null @@ -1,119 +0,0 @@ -From dba95dcd3739c604a81ffa2df2545e7a4cd430cf Mon Sep 17 00:00:00 2001 -From: Maksim Salau -Date: Wed, 25 Oct 2017 16:17:14 +0300 -Subject: [PATCH] Fix SHA256 hash verification - -If a CPIO archive is not valid or copying fails due to any reason, -an error message is printed, but update process continues. -The change makes the utility fail in case of read errors or -hash verification errors. - -Signed-off-by: Maksim Salau -Acked-by: Stefano Babic ---- - core/cpio_utils.c | 28 +++++++++++++++++++++------- - corelib/installer.c | 11 +++++++++-- - 2 files changed, 30 insertions(+), 9 deletions(-) - -diff --git a/core/cpio_utils.c b/core/cpio_utils.c -index e962fae..de674ec 100644 ---- a/core/cpio_utils.c -+++ b/core/cpio_utils.c -@@ -414,24 +414,34 @@ int extract_img_from_cpio(int fd, unsigned long offset, struct filehdr *fdh) - off_t extract_next_file(int fd, int fdout, off_t start, int compressed, - int encrypted, unsigned char *hash) - { -+ int ret; - struct filehdr fdh; - uint32_t checksum = 0; - unsigned long offset = start; - -- if (lseek(fd, offset, SEEK_SET) < 0) { -+ ret = lseek(fd, offset, SEEK_SET); -+ if (ret < 0) { - ERROR("CPIO file corrupted : %s\n", - strerror(errno)); -- return -1; -+ return ret; - } - -- if (extract_cpio_header(fd, &fdh, &offset)) { -+ ret = extract_cpio_header(fd, &fdh, &offset); -+ if (ret) { - ERROR("CPIO Header wrong\n"); -+ return ret; - } - -- if (lseek(fd, offset, SEEK_SET) < 0) -+ ret = lseek(fd, offset, SEEK_SET); -+ if (ret < 0) { - ERROR("CPIO file corrupted : %s\n", strerror(errno)); -- if (copyfile(fd, &fdout, fdh.size, &offset, 0, 0, compressed, &checksum, hash, encrypted, NULL) < 0) { -+ return ret; -+ } -+ -+ ret = copyfile(fd, &fdout, fdh.size, &offset, 0, 0, compressed, &checksum, hash, encrypted, NULL); -+ if (ret < 0) { - ERROR("Error copying extracted file\n"); -+ return ret; - } - - TRACE("Copied file:\n\tfilename %s\n\tsize %u\n\tchecksum 0x%lx %s\n", -@@ -440,9 +450,11 @@ off_t extract_next_file(int fd, int fdout, off_t start, int compressed, - (unsigned long)checksum, - (checksum == fdh.chksum) ? "VERIFIED" : "WRONG"); - -- if (checksum != fdh.chksum) -+ if (checksum != fdh.chksum) { - ERROR("Checksum WRONG ! Computed 0x%lx, it should be 0x%lx\n", - (unsigned long)checksum, fdh.chksum); -+ return -EINVAL; -+ } - - return offset; - } -@@ -492,8 +504,10 @@ int cpio_scan(int fd, struct swupdate_cfg *cfg, off_t start) - - /* Next header must be 4-bytes aligned */ - offset += NPAD_BYTES(offset); -- if (lseek(fd, offset, SEEK_SET) < 0) -+ if (lseek(fd, offset, SEEK_SET) < 0) { - ERROR("CPIO file corrupted : %s\n", strerror(errno)); -+ return -1; -+ } - } - - return 0; -diff --git a/corelib/installer.c b/corelib/installer.c -index 592ada8..d2dee28 100644 ---- a/corelib/installer.c -+++ b/corelib/installer.c -@@ -154,6 +154,7 @@ static int extract_script(int fd, struct imglist *head, const char *dest) - { - struct img_type *script; - int fdout; -+ int ret = 0; - - LIST_FOREACH(script, head, next) { - if (script->provided == 0) { -@@ -166,9 +167,15 @@ static int extract_script(int fd, struct imglist *head, const char *dest) - dest, script->fname); - - fdout = openfileoutput(script->extract_file); -- extract_next_file(fd, fdout, script->offset, 0, -- script->is_encrypted, script->sha256); -+ if (fdout < 0) -+ return fdout; -+ -+ ret = extract_next_file(fd, fdout, script->offset, 0, -+ script->is_encrypted, script->sha256); - close(fdout); -+ -+ if (ret < 0) -+ return ret; - } - return 0; - } --- -2.7.4 - diff --git a/package/swupdate/0001-compat.h-introduce-compatibility-header.patch b/package/swupdate/0001-compat.h-introduce-compatibility-header.patch new file mode 100644 index 0000000000..5e3bfb0f49 --- /dev/null +++ b/package/swupdate/0001-compat.h-introduce-compatibility-header.patch @@ -0,0 +1,87 @@ +From 9867a9d6a21e6b0b9bcba57c3e2398fe671cea17 Mon Sep 17 00:00:00 2001 +From: Christian Storm +Date: Tue, 16 Jan 2018 10:34:52 +0100 +Subject: [PATCH] compat.h: introduce compatibility header +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Introduce a compat.h housing compatibility definitions +and macros along the lines of commit 7b49b8d having +introduced a compatibility mechanism for Lua. + +First use case (and motivation) is the support for +musl (https://www.musl-libc.org/) which doesn't +bother to provide + char *strndupa(const char *s, size_t n) + +Backported from: 9867a9d6a21e6b0b9bcba57c3e2398fe671cea17 + +Reviewed-by: Stefano Babic +Reported-by: Jörg Krause +Signed-off-by: Christian Storm +Signed-off-by: Jörg Krause +--- + include/compat.h | 24 ++++++++++++++++++++++++ + include/util.h | 1 + + ipc/network_ipc.c | 1 + + 3 files changed, 26 insertions(+) + create mode 100644 include/compat.h + +diff --git a/include/compat.h b/include/compat.h +new file mode 100644 +index 0000000..29d7af1 +--- /dev/null ++++ b/include/compat.h +@@ -0,0 +1,24 @@ ++/* ++ * Author: Christian Storm ++ * Copyright (C) 2018, Siemens AG ++ * ++ * SPDX-License-Identifier: GPL-2.0-or-later ++ */ ++ ++#pragma once ++ ++#ifndef strndupa ++/* ++ * Define char *strndupa(const char *s, size_t n) ++ * for, e.g., musl (https://www.musl-libc.org/) ++ * which does not bother to implement this function. ++ */ ++#define strndupa(s, n) \ ++ (__extension__({ \ ++ const char *__in = (s); \ ++ size_t __len = strnlen(__in, (n)) + 1; \ ++ char *__out = (char *)alloca(__len); \ ++ __out[__len - 1] = '\0'; \ ++ (char *)memcpy(__out, __in, __len - 1); \ ++ })) ++#endif +diff --git a/include/util.h b/include/util.h +index bec2975..d43cd8c 100644 +--- a/include/util.h ++++ b/include/util.h +@@ -12,6 +12,7 @@ + #include + #include "swupdate.h" + #include "swupdate_status.h" ++#include "compat.h" + + #define NOTIFY_BUF_SIZE 2048 + #define ENOMEM_ASPRINTF -1 +diff --git a/ipc/network_ipc.c b/ipc/network_ipc.c +index 3f197c7..48f6fcc 100644 +--- a/ipc/network_ipc.c ++++ b/ipc/network_ipc.c +@@ -27,6 +27,7 @@ + #include + + #include "network_ipc.h" ++#include "compat.h" + + #ifdef CONFIG_SOCKET_CTRL_PATH + static char* SOCKET_CTRL_PATH = (char*)CONFIG_SOCKET_CTRL_PATH; +-- +2.15.1 + diff --git a/package/swupdate/0002-Fix-build-if-DOWNLOAD-is-set-but-no-JSON.patch b/package/swupdate/0002-Fix-build-if-DOWNLOAD-is-set-but-no-JSON.patch new file mode 100644 index 0000000000..5e07995582 --- /dev/null +++ b/package/swupdate/0002-Fix-build-if-DOWNLOAD-is-set-but-no-JSON.patch @@ -0,0 +1,107 @@ +From 37a6666a532e9cbc42b56301f27919ae7c00d2eb Mon Sep 17 00:00:00 2001 +From: Stefano Babic +Date: Tue, 23 Jan 2018 16:52:32 +0100 +Subject: [PATCH] Fix build if DOWNLOAD is set, but no JSON +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The downloader does not require JSON, but channel_curl is built +even if not called. Build fails with the error: + +corelib/channel_curl.c:27:10: fatal error: json-c/json.h: No such file or directory + +Add a CONFIG_CHANNEL_CURL that is automatically set by the modules +reuiring it (suricatta and swuforwarder). + +Backported from: 37a6666a532e9cbc42b56301f27919ae7c00d2eb + +Signed-off-by: Stefano Babic +Reported-by: Jörg Krause +Acked-by: Jörg Krause +Signed-off-by: Jörg Krause +--- + Kconfig | 7 +++++++ + corelib/Makefile | 2 +- + handlers/Config.in | 8 +++++--- + suricatta/Config.in | 3 +-- + 4 files changed, 14 insertions(+), 6 deletions(-) + +diff --git a/Kconfig b/Kconfig +index 4469096..e344572 100644 +--- a/Kconfig ++++ b/Kconfig +@@ -294,6 +294,13 @@ config DOWNLOAD + comment "Image downloading support needs libcurl" + depends on !HAVE_LIBCURL + ++config CHANNEL_CURL ++ bool ++ depends on HAVE_LIBCURL ++ depends on HAVE_JSON_C ++ select CURL ++ select JSON ++ + config HASH_VERIFY + bool "Allow to add sha256 hash to each image" + depends on HAVE_LIBSSL +diff --git a/corelib/Makefile b/corelib/Makefile +index 282bffd..4b30f9c 100644 +--- a/corelib/Makefile ++++ b/corelib/Makefile +@@ -17,4 +17,4 @@ lib-$(CONFIG_ENCRYPTED_IMAGES) += swupdate_decrypt.o + lib-$(CONFIG_LIBCONFIG) += swupdate_settings.o \ + parsing_library_libconfig.o + lib-$(CONFIG_JSON) += parsing_library_libjson.o +-lib-$(CONFIG_CURL) += channel_curl.o ++lib-$(CONFIG_CHANNEL_CURL) += channel_curl.o +diff --git a/handlers/Config.in b/handlers/Config.in +index 596f069..6226b59 100644 +--- a/handlers/Config.in ++++ b/handlers/Config.in +@@ -54,7 +54,6 @@ config UBIVIDOFFSET + if your NAND driver incorrectly reports that it can handle + sub-page accesses when it should not. + +- + config CFI + bool "cfi" + depends on MTD +@@ -164,8 +163,8 @@ comment "remote handler needs zeromq" + config SWUFORWARDER_HANDLER + bool "SWU forwarder" + depends on HAVE_LIBCURL +- select CURL +- select JSON ++ depends on HAVE_JSON_C ++ select CHANNEL_CURL + default n + help + This allows to build a chain of updater. A +@@ -174,6 +173,9 @@ config SWUFORWARDER_HANDLER + embedded SWU to the other devices using the + Webserver REST API. + ++comment "swuforward handler needs json-c and curl" ++ depends on !HAVE_JSON_C || !HAVE_LIBCURL ++ + comment "SWU forwarder requires libcurl" + depends on !HAVE_LIBCURL + +diff --git a/suricatta/Config.in b/suricatta/Config.in +index 62e448a..2586169 100644 +--- a/suricatta/Config.in ++++ b/suricatta/Config.in +@@ -71,8 +71,7 @@ config SURICATTA_HAWKBIT + bool "hawkBit support" + depends on HAVE_LIBCURL + depends on HAVE_JSON_C +- select JSON +- select CURL ++ select CHANNEL_CURL + help + Support for hawkBit server. + https://projects.eclipse.org/projects/iot.hawkbit +-- +2.16.1 + diff --git a/package/swupdate/Config.in b/package/swupdate/Config.in index 7a0f9d12e5..ca2eaf2940 100644 --- a/package/swupdate/Config.in +++ b/package/swupdate/Config.in @@ -4,33 +4,36 @@ config BR2_PACKAGE_SWUPDATE depends on BR2_USE_MMU # fork() # swupdate requires a parser and uses libconfig as default select BR2_PACKAGE_LIBCONFIG if !BR2_PACKAGE_JSON_C && \ - !BR2_PACKAGE_LUA_5_2 && !BR2_PACKAGE_LUA_5_3 + !BR2_PACKAGE_HAS_LUAINTERPRETER help - swupdate provides a reliable way to update the software on an - embedded system. + swupdate provides a reliable way to update the software on + an embedded system. - swupdate is highly configurable to fit the targets requirements and - to minimize the footprint. The provided default configuration file - BR2_PACKAGE_SWUPDATE_CONFIG will enable swupdate with an embedded - webserver, a parser and a handler for raw NAND or NOR flash. + swupdate is highly configurable to fit the targets + requirements and to minimize the footprint. The provided + default configuration file BR2_PACKAGE_SWUPDATE_CONFIG will + enable swupdate with an embedded webserver, a parser and a + handler for raw NAND or NOR flash. - The default configuration file builds a reasonable firmware update - system with minimal external dependencies in my mind. If you like to - use your own modified configuration, you have to select the - necessary packages manually: + The default configuration file builds a reasonable firmware + update system with minimal external dependencies in mind. + If you like to use your own modified configuration, + you have to select the necessary packages manually: - * Select BR2_PACKAGE_LUA_5_2 or BR2_PACKAGE_LUA_5_3 if you want - to have Lua support. - * Select BR2_LIBCURL if you want to use the download feature. - * Select BR2_PACKAGE_OPENSSL is you want to add encryption support. - * Select BR2_PACKAGE_MTD if you want to use swupdate with UBI - partitions. - * Select BR2_PACKAGE_ZLIB if you want to deal with gzip compressed - archives. - * Select BR2_PACKAGE_UBOOT_TOOLS and BR2_PACKAGE_ZLIB to add support - for setting the U-Boot environment. - * Select BR2_PACKAGE_ZEROMQ to add support for using a remote - handler. + * Select BR2_PACKAGE_LUA or BR2_PACKAGE_LUAJIT if you want + want to have Lua support. + * Select BR2_LIBCURL if you want to use the download + feature. + * Select BR2_PACKAGE_OPENSSL is you want to add encryption + support. + * Select BR2_PACKAGE_MTD if you want to use swupdate with + UBI partitions. + * Select BR2_PACKAGE_ZLIB if you want to deal with gzip + compressed archives. + * Select BR2_PACKAGE_UBOOT_TOOLS and BR2_PACKAGE_ZLIB to add + support for setting the U-Boot environment. + * Select BR2_PACKAGE_ZEROMQ to add support for using a + remote handler. https://sbabic.github.io/swupdate @@ -42,8 +45,8 @@ config BR2_PACKAGE_SWUPDATE_CONFIG help Path to the swupdate configuration file. - I you wish to use your own modified swupdate configuration file - specify the config file location with this option. + I you wish to use your own modified swupdate configuration + file specify the config file location with this option. config BR2_PACKAGE_SWUPDATE_INSTALL_WEBSITE bool "install default website" @@ -51,9 +54,9 @@ config BR2_PACKAGE_SWUPDATE_INSTALL_WEBSITE help Install the provided website to /var/www/swupdate. - This is necessary if you want to run swupdate with the embedded - webserver and do not provide an own website to be installed to - /var/www/swupdate. + This is necessary if you want to run swupdate with the + embedded webserver and do not provide an own website to be + installed to /var/www/swupdate. endif comment "swupdate needs a toolchain w/ threads" diff --git a/package/swupdate/swupdate.config b/package/swupdate/swupdate.config index 328e49fdf0..0f6e9615e5 100644 --- a/package/swupdate/swupdate.config +++ b/package/swupdate/swupdate.config @@ -11,9 +11,26 @@ CONFIG_HAVE_DOT_CONFIG=y # # General Configuration # +# CONFIG_CURL is not set +# CONFIG_SYSTEMD is not set CONFIG_SCRIPTS=y # CONFIG_HW_COMPATIBILITY is not set CONFIG_SW_VERSIONS_FILE="/etc/sw-versions" + +# +# Socket Paths +# +CONFIG_SOCKET_CTRL_PATH="/tmp/sockinstctrl" +CONFIG_SOCKET_PROGRESS_PATH="/tmp/swupdateprog" +CONFIG_SOCKET_REMOTE_HANDLER_DIRECTORY="/tmp/" + +# +# MTD support needs libmtd +# + +# +# Lua support needs a Lua interpreter +# # CONFIG_FEATURE_SYSLOG is not set # @@ -33,21 +50,27 @@ CONFIG_EXTRA_LDLIBS="" # CONFIG_NOCLEANUP is not set # -# Bootloader +# U-Boot support needs libubootenv, libz # -# CONFIG_BOOTLOADER is not set CONFIG_BOOTLOADER_NONE=y # CONFIG_BOOTLOADER_GRUB is not set # -# Suricatta +# Image downloading support needs libcurl # -# CONFIG_SURICATTA is not set -CONFIG_SURICATTA_SERVER_NONE=y # -# Server +# Hash verification needs libssl # + +# +# Image verification (signed images) needs libssl +# + +# +# Image encryption needs libssl +# +# CONFIG_SURICATTA is not set CONFIG_WEBSERVER=y # @@ -60,20 +83,48 @@ CONFIG_MONGOOSE=y # CONFIG_MONGOOSEIPV6=y +# +# SSL support needs libcrypto, libssl +# + # # Archival Features # +# +# gunzip support needs libz +# + # # Parser Features # CONFIG_LIBCONFIG=y CONFIG_PARSERROOT="" + +# +# JSON config parser support needs json-c +# # CONFIG_SETSWDESCRIPTION is not set # # Image Handlers # + +# +# ubivol support needs libubi +# CONFIG_RAW=y # CONFIG_SHELLSCRIPTHANDLER is not set + +# +# archive support needs libarchive +# + +# +# remote handler needs zeromq +# + +# +# SWU forwarder requires libcurl +# # CONFIG_BOOTLOADERHANDLER is not set diff --git a/package/swupdate/swupdate.hash b/package/swupdate/swupdate.hash index 7acc249b80..d1b69c9a03 100644 --- a/package/swupdate/swupdate.hash +++ b/package/swupdate/swupdate.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 898a98b0c5a6bd09a4138fa98bb9883357db1ec6fe4dd5e8f4bcb11d092b9bf3 swupdate-2017.07.tar.gz +sha256 1e15d9675cf7e23886dca7ea058498282c35679a555845dbc85ffe688f2cc681 swupdate-2017.11.tar.gz diff --git a/package/swupdate/swupdate.mk b/package/swupdate/swupdate.mk index fbb092da05..aa232e5837 100644 --- a/package/swupdate/swupdate.mk +++ b/package/swupdate/swupdate.mk @@ -4,7 +4,7 @@ # ################################################################################ -SWUPDATE_VERSION = 2017.07 +SWUPDATE_VERSION = 2017.11 SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION)) SWUPDATE_LICENSE = GPL-2.0+, MIT, Public Domain SWUPDATE_LICENSE_FILES = COPYING @@ -39,8 +39,12 @@ else SWUPDATE_MAKE_ENV += HAVE_LIBCURL=n endif -ifeq ($(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUA_5_3),y) -SWUPDATE_DEPENDENCIES += lua host-pkgconf +ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER),y) +SWUPDATE_DEPENDENCIES += luainterpreter host-pkgconf +# defines the base name for the pkg-config file ("lua" or "luajit") +define SWUPDATE_SET_LUA_VERSION + $(call KCONFIG_SET_OPT,CONFIG_LUAPKG,$(BR2_PACKAGE_PROVIDES_LUAINTERPRETER),$(SWUPDATE_BUILD_CONFIG)) +endef SWUPDATE_MAKE_ENV += HAVE_LUA=y else SWUPDATE_MAKE_ENV += HAVE_LUA=n @@ -110,6 +114,7 @@ endef define SWUPDATE_KCONFIG_FIXUP_CMDS $(SWUPDATE_PREFER_STATIC) $(SWUPDATE_SET_BUILD_OPTIONS) + $(SWUPDATE_SET_LUA_VERSION) endef define SWUPDATE_BUILD_CMDS diff --git a/package/sysdig/0001-Don-t-include-curlbuild.h.patch b/package/sysdig/0001-Don-t-include-curlbuild.h.patch deleted file mode 100644 index 5b53bb1d78..0000000000 --- a/package/sysdig/0001-Don-t-include-curlbuild.h.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 8a6670ea4b57c0e2bf8588d4534b22d1ea860989 Mon Sep 17 00:00:00 2001 -From: Mark Stemm -Date: Tue, 15 Aug 2017 17:49:53 -0700 -Subject: [PATCH] Don't include curlbuild.h - -It's not required to build and it's not present with some newer versions -of libcurl, so removing it. - -Thanks to https://github.com/hhoffstaette for the tip. - -This fixes https://github.com/draios/sysdig/issues/895. - -Signed-off-by: Angelo Compagnucci ---- - userspace/libsinsp/marathon_http.cpp | 1 - - userspace/libsinsp/mesos_http.cpp | 1 - - userspace/sysdig.project | 1 - - 3 files changed, 3 deletions(-) - -diff --git a/userspace/libsinsp/marathon_http.cpp b/userspace/libsinsp/marathon_http.cpp -index f7937b6..2e4449a 100644 ---- a/userspace/libsinsp/marathon_http.cpp -+++ b/userspace/libsinsp/marathon_http.cpp -@@ -7,7 +7,6 @@ - #include "marathon_http.h" - #include "curl/curl.h" - #include "curl/easy.h" --#include "curl/curlbuild.h" - #define BUFFERSIZE 512 // b64 needs this macro - #include "b64/encode.h" - #include "sinsp.h" -diff --git a/userspace/libsinsp/mesos_http.cpp b/userspace/libsinsp/mesos_http.cpp -index 18ac9f5..c6bfb58 100644 ---- a/userspace/libsinsp/mesos_http.cpp -+++ b/userspace/libsinsp/mesos_http.cpp -@@ -7,7 +7,6 @@ - #include "mesos_http.h" - #include "curl/curl.h" - #include "curl/easy.h" --#include "curl/curlbuild.h" - #include "sinsp.h" - #include "sinsp_int.h" - #include "sinsp_curl.h" -diff --git a/userspace/sysdig.project b/userspace/sysdig.project -index 5d00f18..76a18f0 100644 ---- a/userspace/sysdig.project -+++ b/userspace/sysdig.project -@@ -752,7 +752,6 @@ - - - -- - - - --- -2.7.4 - diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in index d3f73e6ef3..6ccb706a5a 100644 --- a/package/sysdig/Config.in +++ b/package/sysdig/Config.in @@ -15,8 +15,8 @@ config BR2_PACKAGE_SYSDIG select BR2_PACKAGE_LIBB64 help Sysdig is open source, system-level exploration: - capture system state and activity from a running Linux instance, - then save, filter and analyze. + capture system state and activity from a running Linux + instance, then save, filter and analyze. Think of it as strace + tcpdump + lsof + awesome sauce. With a little Lua cherry on top. diff --git a/package/sysdig/sysdig.hash b/package/sysdig/sysdig.hash index 83054136dc..63a9e385d8 100644 --- a/package/sysdig/sysdig.hash +++ b/package/sysdig/sysdig.hash @@ -1,2 +1,2 @@ # locally computed -sha256 f009acc32f2b15fcb0d2267bde6f6de9b3445179003c979ba61a8836abdb78f9 sysdig-0.17.0.tar.gz +sha256 480d5d8fd7e7373c08008c30bd8e2c7595d5c45d710bf07bd15a522021b560f6 sysdig-0.19.1.tar.gz diff --git a/package/sysdig/sysdig.mk b/package/sysdig/sysdig.mk index ecafb9d297..a9c9f21bb5 100644 --- a/package/sysdig/sysdig.mk +++ b/package/sysdig/sysdig.mk @@ -4,7 +4,7 @@ # ################################################################################ -SYSDIG_VERSION = 0.17.0 +SYSDIG_VERSION = 0.19.1 SYSDIG_SITE = $(call github,draios,sysdig,$(SYSDIG_VERSION)) SYSDIG_LICENSE = GPL-2.0 SYSDIG_LICENSE_FILES = COPYING diff --git a/package/syslog-ng/0001-modules-json-Adaptions-for-json-c-v0.13.patch b/package/syslog-ng/0001-modules-json-Adaptions-for-json-c-v0.13.patch new file mode 100644 index 0000000000..b307ab5acf --- /dev/null +++ b/package/syslog-ng/0001-modules-json-Adaptions-for-json-c-v0.13.patch @@ -0,0 +1,39 @@ +From 1b824dd6389e209eab752d5a698c6093f311e3e3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= +Date: Mon, 11 Dec 2017 15:46:06 +0100 +Subject: [PATCH] modules/json: Adaptions for json-c v0.13 + +Signed-off-by: Baruch Siach +--- +Patch status: upstream commit 1b824dd6389e + + modules/json/json-parser.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/modules/json/json-parser.c b/modules/json/json-parser.c +index 0368ed8f7ffe..356df48b9fc7 100644 +--- a/modules/json/json-parser.c ++++ b/modules/json/json-parser.c +@@ -20,6 +20,8 @@ + * COPYING for details. + */ + ++#define JSON_C_VER_013 (13 << 8) ++ + #include "json-parser.h" + #include "dot-notation.h" + #include "scratch-buffers.h" +@@ -28,7 +30,10 @@ + #include + + #include ++ ++#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) + #include ++#endif + + typedef struct _JSONParser + { +-- +2.15.1 + diff --git a/package/syslog-ng/syslog-ng.conf b/package/syslog-ng/syslog-ng.conf index a3384eebc3..e767255d71 100644 --- a/package/syslog-ng/syslog-ng.conf +++ b/package/syslog-ng/syslog-ng.conf @@ -1,4 +1,4 @@ -@version: 3.9 +@version: 3.10 source s_sys { file("/proc/kmsg" program_override("kernel")); diff --git a/package/syslog-ng/syslog-ng.mk b/package/syslog-ng/syslog-ng.mk index 325fac5842..2b6f2c09e9 100644 --- a/package/syslog-ng/syslog-ng.mk +++ b/package/syslog-ng/syslog-ng.mk @@ -4,6 +4,8 @@ # ################################################################################ +# When updating the version, please check at runtime if the version in +# syslog-ng.conf header needs to be updated SYSLOG_NG_VERSION = 3.10.1 SYSLOG_NG_SITE = https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$(SYSLOG_NG_VERSION) SYSLOG_NG_LICENSE = LGPL-2.1+ (syslog-ng core), GPL-2.0+ (modules) diff --git a/package/sysstat/sysstat.hash b/package/sysstat/sysstat.hash index 8d4ecf48c1..a35631076a 100644 --- a/package/sysstat/sysstat.hash +++ b/package/sysstat/sysstat.hash @@ -1,4 +1,5 @@ # From: http://sebastien.godard.pagesperso-orange.fr/download.html -sha1 0e4950da333ff4e68826d58a6f43cb8048d85e9c sysstat-11.4.4.tar.xz +sha1 2eb3d20016084c9e6ff94c9b2f3b2ada7e8d26c6 sysstat-11.6.1.tar.xz # Locally calculated -sha256 6585f08e24347d2d6462aee6ef97e80fe4cc869605193184500df0f80fa61cc8 sysstat-11.4.4.tar.xz +sha256 4b2a2cfa8c8fe6ae0155e168ed9a7066caebc3ecb903b0e64a9ede28ecb68fcb sysstat-11.6.1.tar.xz +sha256 db296f2f7f35bca3a174efb0eb392b3b17bd94b341851429a3dff411b1c2fc73 COPYING diff --git a/package/sysstat/sysstat.mk b/package/sysstat/sysstat.mk index e4ba662643..bdc0610ea3 100644 --- a/package/sysstat/sysstat.mk +++ b/package/sysstat/sysstat.mk @@ -4,7 +4,7 @@ # ################################################################################ -SYSSTAT_VERSION = 11.4.4 +SYSSTAT_VERSION = 11.6.1 SYSSTAT_SOURCE = sysstat-$(SYSSTAT_VERSION).tar.xz SYSSTAT_SITE = http://pagesperso-orange.fr/sebastien.godard SYSSTAT_CONF_OPTS = --disable-file-attr --disable-sensors @@ -13,8 +13,4 @@ SYSSTAT_LICENSE = GPL-2.0+ SYSSTAT_LICENSE_FILES = COPYING SYSSTAT_MAKE_OPTS += LFLAGS="$(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)" -# The isag tool is a post processing script that depends on tcl/tk -# among other things. So we don't install it. -SYSSTAT_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) INSTALL_ISAG=n install - $(eval $(autotools-package)) diff --git a/package/systemd-bootchart/0001-parse-util-Don-t-use-xlocale.h-35.patch b/package/systemd-bootchart/0001-parse-util-Don-t-use-xlocale.h-35.patch deleted file mode 100644 index 4eae7e65e4..0000000000 --- a/package/systemd-bootchart/0001-parse-util-Don-t-use-xlocale.h-35.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 15062a4501a1dffccd7cb6374b415693fa4435bf Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen -Date: Tue, 18 Jul 2017 22:55:50 +0300 -Subject: [PATCH] parse-util: Don't use xlocale.h (#35) - -glibc 2.26 no longer contains the non-standard xlocale.h -(http://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27) - -This change shouldn't break anything as xlocale.h was a subset of -locale.h. - -[yann.morin.1998@free.fr: backported from upstream] -Signed-off-by: "Yann E. MORIN" ---- - src/parse-util.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/parse-util.c b/src/parse-util.c -index 5635a68..1b2169c 100644 ---- a/src/parse-util.c -+++ b/src/parse-util.c -@@ -21,7 +21,6 @@ - #include - #include - #include --#include - - #include "macro.h" - #include "parse-util.h" --- -2.11.0 - diff --git a/package/systemd-bootchart/systemd-bootchart.hash b/package/systemd-bootchart/systemd-bootchart.hash index 2d2175a0b4..40643dbca0 100644 --- a/package/systemd-bootchart/systemd-bootchart.hash +++ b/package/systemd-bootchart/systemd-bootchart.hash @@ -1,2 +1,2 @@ # sha256 locally computed -sha256 1ef7b4f440bf53aced26979cf8153482840699c556700671eb5dadb4222c70bd systemd-bootchart-231.tar.xz +sha256 f4cb17b21928e36ec27de5c5294dea6ec1de4acd7ee6c56d6ecc75319cbcaefa systemd-bootchart-233.tar.xz diff --git a/package/systemd-bootchart/systemd-bootchart.mk b/package/systemd-bootchart/systemd-bootchart.mk index 3be39183e6..bcc3dbe22a 100644 --- a/package/systemd-bootchart/systemd-bootchart.mk +++ b/package/systemd-bootchart/systemd-bootchart.mk @@ -4,7 +4,7 @@ # ################################################################################ -SYSTEMD_BOOTCHART_VERSION = 231 +SYSTEMD_BOOTCHART_VERSION = 233 SYSTEMD_BOOTCHART_SOURCE = systemd-bootchart-$(SYSTEMD_BOOTCHART_VERSION).tar.xz # Do not use the github helper here: the uploaded release tarball already # contains the generated autotools scripts. It also slightly differs with diff --git a/package/systemd/0001-fix-getty-unit.patch b/package/systemd/0001-fix-getty-unit.patch index 8b50353195..b6947626c5 100644 --- a/package/systemd/0001-fix-getty-unit.patch +++ b/package/systemd/0001-fix-getty-unit.patch @@ -7,7 +7,7 @@ Prefer getty to agetty in console setup systemd units Signed-off-by: Maxime Ripard Signed-off-by: Eric Le Bihan -[Adam: Refresh for 234] +[aduskett@gmail.com: Update for systemd v237] Signed-off-by: Adam Duskett --- units/getty@.service.m4 | 5 +---- @@ -18,7 +18,7 @@ diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 index 2a84061..7ad588f 100644 --- a/units/getty@.service.m4 +++ b/units/getty@.service.m4 -@@ -33,10 +33,7 @@ ConditionPathExists=/dev/tty0 +@@ -35,10 +35,7 @@ ConditionPathExists=/dev/tty0 [Service] # the VT is cleared by TTYVTDisallocate @@ -34,7 +34,7 @@ diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 index b7caeaf..c663612 100644 --- a/units/serial-getty@.service.m4 +++ b/units/serial-getty@.service.m4 -@@ -31,7 +31,7 @@ Before=rescue.service +@@ -33,7 +33,7 @@ Before=rescue.service # The '-o' option value tells agetty to replace 'login' arguments with an # option to preserve environment (-p), followed by '--' for safety, and then # the entered username. diff --git a/package/systemd/0002-build-check-for-ln-relative.patch b/package/systemd/0002-build-check-for-ln-relative.patch deleted file mode 100644 index 817ce5010a..0000000000 --- a/package/systemd/0002-build-check-for-ln-relative.patch +++ /dev/null @@ -1,98 +0,0 @@ -From b60e16cc2ef8c9b4c05c4348a980d3312f2e1cb4 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Fri, 28 Jul 2017 07:04:07 -0400 -Subject: [PATCH] build: check for ln --relative - -ln --relative is recent enough that not all distributions support it. -This is especially the case for enterprise-grade distributions than can -have a life-span of more than a decade. - -Detect if ln supports --relative and use it if so. - -If not supported, use a bit of sed magic to construct the ../ sequence, -that leads back to / when appended to the destination directory. - -We introduce this as a macro that expands to a single command. To avoid -complexity in the macro, we expect paths to be passed whitout the -leading DESTDIR. - -Signed-off-by: "Yann E. MORIN" -[Adam: Refresh for 234] -Signed-off-by: Adam Duskett ---- -Upstream-Status: Denied [No desire to support building on old distributions] - https://github.com/systemd/systemd/pull/5682 - - Makefile.am | 25 ++++++++++++++++++++++--- - configure.ac | 5 ++++- - 2 files changed, 26 insertions(+), 4 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index c16e622..bed097f 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -305,6 +305,24 @@ install-busnames-target-wants-hook: - what="$(BUSNAMES_TARGET_WANTS)" && wants=busnames.target && dir=$(systemunitdir) && $(add-wants) - what="$(USER_BUSNAMES_TARGET_WANTS)" && wants=busnames.target && dir=$(userunitdir) && $(add-wants) - -+# Macro to emulate ln --relative when needed -+# $(1): options for ln, except --relative -+# $(2): source file, absolute path without leading DESTDIR -+# $(3): destination file, absolute path without leading DESTDIR -+if HAVE_LN_RELATIVE -+define ln-s-relative -+ $(LN_S) --relative $(1) \ -+ $(DESTDIR)$(strip $(2)) \ -+ $(DESTDIR)$(strip $(3)) -+endef -+else -+define ln-s-relative -+ $(LN_S) $(1) \ -+ `dirname $(strip $(3)) |sed -r -e 's:/+[^/]+:../:g; s:/$$::'`$(strip $(2)) \ -+ $(DESTDIR)$(strip $(3)) -+endef -+endif -+ - define add-wants - [ -z "$$what" ] || ( \ - dir=$(DESTDIR)$$dir/$$wants.wants && \ -@@ -318,8 +336,9 @@ install-directories-hook: - $(MKDIR_P) $(addprefix $(DESTDIR),$(INSTALL_DIRS)) - - install-environment-conf-hook: install-directories-hook -- $(AM_V_LN)$(LN_S) --relative -f $(DESTDIR)$(sysconfdir)/environment \ -- $(DESTDIR)$(environmentdir)/99-environment.conf -+ $(AM_V_LN)$(call ln-s-relative,-f,\ -+ $(sysconfdir)/environment,\ -+ $(environmentdir)/99-environment.conf) - - install-aliases-hook: - set -- $(SYSTEM_UNIT_ALIASES) && \ -@@ -342,7 +361,7 @@ define install-relative-aliases - while [ -n "$$1" ]; do \ - $(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \ - rm -f $(DESTDIR)$$dir/$$2 && \ -- $(LN_S) --relative $(DESTDIR)$$1 $(DESTDIR)$$dir/$$2 && \ -+ $(call ln-s-relative,,$$1,$$dir/$$2) && \ - shift 2 || exit $$?; \ - done - endef -diff --git a/configure.ac b/configure.ac -index c7537aa..9354441 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -109,7 +109,10 @@ AC_PATH_PROG([SULOGIN], [sulogin], [/usr/sbin/sulogin], [$PATH:/usr/sbin:/sbin]) - AC_PATH_PROG([MOUNT_PATH], [mount], [/usr/bin/mount], [$PATH:/usr/sbin:/sbin]) - AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin]) - --AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])]) -+AC_MSG_CHECKING([if ln supports --relative]) -+AS_IF([! ${LN_S} --relative --help > /dev/null 2>&1], [ln_relative=no], [ln_relative=yes]) -+AC_MSG_RESULT([$ln_relative]) -+AM_CONDITIONAL([HAVE_LN_RELATIVE], [test "x$ln_relative" = "xyes"]) - - M4_DEFINES= - --- -2.13.3 - diff --git a/package/systemd/0002-install-don-t-use-ln-relative.patch b/package/systemd/0002-install-don-t-use-ln-relative.patch new file mode 100644 index 0000000000..61a139e2a2 --- /dev/null +++ b/package/systemd/0002-install-don-t-use-ln-relative.patch @@ -0,0 +1,80 @@ +From 17560d52e9ec0afebbfe31e694870c6433b36f60 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Sun, 31 Dec 2017 12:46:04 -0500 +Subject: [PATCH] install: don't use ln --relative + +Oldish enterprise-class distributions have too old versions of +coreutils, with ln not supporting --relative. + +So we fake it. + +ln --relative 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 --relative /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: "Yann E. MORIN" +[aduskett@gmail.com: Added meson.build section and dirname wrapper in add-wants] +[aduskett@gmail.com: Update for systemd v237] +Signed-off-by: Adam Duskett +[tpiepho@impinj.com: Fix add-wants wrapper] +Signed-off-by: Trent Piepho +--- + meson.build | 2 +- + tools/meson-make-symlink.sh | 3 ++- + units/meson-add-wants.sh | 6 ++++-- + 3 files changed, 7 insertions(+), 4 deletions(-) + +diff --git a/meson.build b/meson.build +index d4af95a44..d75f2b34c 100644 +--- a/meson.build ++++ b/meson.build +@@ -586,7 +586,7 @@ endforeach + conf.set_quoted('TELINIT', get_option('telinit-path')) + + if run_command('ln', '--relative', '--help').returncode() != 0 +- error('ln does not support --relative') ++ message('ln does not support --relative') + endif + + ############################################################ +diff --git a/tools/meson-make-symlink.sh b/tools/meson-make-symlink.sh +index 501cd43d4..25e7f89fd 100755 +--- a/tools/meson-make-symlink.sh ++++ b/tools/meson-make-symlink.sh +@@ -8,5 +8,6 @@ mkdir -vp "$(dirname "${DESTDIR:-}$2")" + if [ "$(dirname $1)" = . ]; then + ln -vfs -T "$1" "${DESTDIR:-}$2" + else +- ln -vfs -T --relative "${DESTDIR:-}$1" "${DESTDIR:-}$2" ++ dds="$( dirname "$2" |sed -r -e 's:/+[^/]+:../:g; s:/$::' )" ++ ln -vfs -T "${dds}$1" "${DESTDIR:-}$2" + fi +diff --git a/units/meson-add-wants.sh b/units/meson-add-wants.sh +index 70f7172ae..bb8155075 100755 +--- a/units/meson-add-wants.sh ++++ b/units/meson-add-wants.sh +@@ -14,7 +14,7 @@ case "$target" in + ;; + esac + +-unitpath="${DESTDIR:-}${unitdir}/${unit}" ++unitpath="${unitdir}/${unit}" + + case "$target" in + */) +@@ -25,4 +25,6 @@ case "$target" in + ;; + esac + +-ln -vfs --relative "$unitpath" "$dir" ++[ ! -d "${dir}" ] && linkdir=`dirname "${dir}"` || linkdir="${dir}" ++dds="$(printf "%s" "${linkdir#${DESTDIR:-}}" |sed -r -e 's:/+[^/]+:../:g; s:/$::')" ++ln -vfs "$dds$unitpath" "$dir" +-- +2.14.3 + diff --git a/package/systemd/0004-core-dont-include-libmount-h-in-a-header-file.patch b/package/systemd/0004-core-dont-include-libmount-h-in-a-header-file.patch new file mode 100644 index 0000000000..b91d09722b --- /dev/null +++ b/package/systemd/0004-core-dont-include-libmount-h-in-a-header-file.patch @@ -0,0 +1,75 @@ +From 227b8a762fea1458547be2cdf0e6e4aac0079730 Mon Sep 17 00:00:00 2001 +From: Michael Olbrich +Date: Mon, 26 Mar 2018 17:34:53 +0200 +Subject: [PATCH] core: don't include libmount.h in a header file (#8580) + +linux/fs.h sys/mount.h, libmount.h and missing.h all include MS_* +definitions. + +To avoid problems, only one of linux/fs.h, sys/mount.h and libmount.h +should be included. And missing.h must be included last. + +Without this, building systemd may fail with: + +In file included from [...]/libmount/libmount.h:31:0, + from ../systemd-238/src/core/manager.h:23, + from ../systemd-238/src/core/emergency-action.h:37, + from ../systemd-238/src/core/unit.h:34, + from ../systemd-238/src/core/dbus-timer.h:25, + from ../systemd-238/src/core/timer.c:26: +[...]/sys/mount.h:57:2: error: expected identifier before numeric constant + +Upstream: https://github.com/systemd/systemd/pull/8580 +Signed-off-by: Stefan Becker +--- + src/core/dbus-execute.c | 1 + + src/core/manager.h | 3 ++- + src/core/mount.c | 2 ++ + 3 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c +index 7344623ebf6..c342093bca4 100644 +--- a/src/core/dbus-execute.c ++++ b/src/core/dbus-execute.c +@@ -18,6 +18,7 @@ + along with systemd; If not, see . + ***/ + ++#include + #include + #include + +diff --git a/src/core/manager.h b/src/core/manager.h +index 28c5da225b1..e09e0cdf5e9 100644 +--- a/src/core/manager.h ++++ b/src/core/manager.h +@@ -20,7 +20,6 @@ + along with systemd; If not, see . + ***/ + +-#include + #include + #include + +@@ -34,6 +33,8 @@ + #include "list.h" + #include "ratelimit.h" + ++struct libmnt_monitor; ++ + /* Enforce upper limit how many names we allow */ + #define MANAGER_MAX_NAMES 131072 /* 128K */ + +diff --git a/src/core/mount.c b/src/core/mount.c +index 0e755da5c02..0154ebda5d6 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -23,6 +23,8 @@ + #include + #include + ++#include ++ + #include "sd-messages.h" + + #include "alloc-util.h" diff --git a/package/systemd/0005-basic-macros-rename-noreturn.patch b/package/systemd/0005-basic-macros-rename-noreturn.patch new file mode 100644 index 0000000000..6cd847098e --- /dev/null +++ b/package/systemd/0005-basic-macros-rename-noreturn.patch @@ -0,0 +1,201 @@ +From 848e863acc51ecfb0f3955c498874588201d9130 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Thu, 15 Mar 2018 06:23:46 +0100 +Subject: [PATCH] basic/macros: rename noreturn into _noreturn_ (#8456) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +"noreturn" is reserved and can be used in other header files we include: + + [ 16s] In file included from /usr/include/gcrypt.h:30:0, + [ 16s] from ../src/journal/journal-file.h:26, + [ 16s] from ../src/journal/journal-vacuum.c:31: + [ 16s] /usr/include/gpg-error.h:1544:46: error: expected ‘,’ or ‘;’ before ‘)’ token + [ 16s] void gpgrt_log_bug (const char *fmt, ...) GPGRT_ATTR_NR_PRINTF(1,2); + +Here we include grcrypt.h (which in turns include gpg-error.h) *after* we +"noreturn" was defined in macro.h. + +Upstream: https://github.com/systemd/systemd/pull/8456 +Signed-off-by: Stefan Becker +--- + src/basic/log.c | 4 ++-- + src/basic/log.h | 4 ++-- + src/basic/macro.h | 19 +++++++++---------- + src/basic/process-util.c | 2 +- + src/basic/process-util.h | 2 +- + src/core/main.c | 4 ++-- + src/journal/test-journal-interleaving.c | 2 +- + src/shared/pager.c | 2 +- + src/udev/collect/collect.c | 2 +- + 9 files changed, 20 insertions(+), 21 deletions(-) + +diff --git a/src/basic/log.c b/src/basic/log.c +index 7a7f2cbec13..16a2431c548 100644 +--- a/src/basic/log.c ++++ b/src/basic/log.c +@@ -814,7 +814,7 @@ static void log_assert( + log_dispatch_internal(level, 0, file, line, func, NULL, NULL, NULL, NULL, buffer); + } + +-noreturn void log_assert_failed_realm( ++_noreturn_ void log_assert_failed_realm( + LogRealm realm, + const char *text, + const char *file, +@@ -826,7 +826,7 @@ noreturn void log_assert_failed_realm( + abort(); + } + +-noreturn void log_assert_failed_unreachable_realm( ++_noreturn_ void log_assert_failed_unreachable_realm( + LogRealm realm, + const char *text, + const char *file, +diff --git a/src/basic/log.h b/src/basic/log.h +index efcf0f1bfc1..314be128a23 100644 +--- a/src/basic/log.h ++++ b/src/basic/log.h +@@ -186,7 +186,7 @@ int log_dump_internal( + char *buffer); + + /* Logging for various assertions */ +-noreturn void log_assert_failed_realm( ++_noreturn_ void log_assert_failed_realm( + LogRealm realm, + const char *text, + const char *file, +@@ -195,7 +195,7 @@ noreturn void log_assert_failed_realm( + #define log_assert_failed(text, ...) \ + log_assert_failed_realm(LOG_REALM, (text), __VA_ARGS__) + +-noreturn void log_assert_failed_unreachable_realm( ++_noreturn_ void log_assert_failed_unreachable_realm( + LogRealm realm, + const char *text, + const char *file, +diff --git a/src/basic/macro.h b/src/basic/macro.h +index 95be63a2040..8911edfc4be 100644 +--- a/src/basic/macro.h ++++ b/src/basic/macro.h +@@ -53,6 +53,15 @@ + #else + #define _fallthrough_ + #endif ++/* Define C11 noreturn without and even on older gcc ++ * compiler versions */ ++#ifndef _noreturn_ ++#if __STDC_VERSION__ >= 201112L ++#define _noreturn_ _Noreturn ++#else ++#define _noreturn_ __attribute__((noreturn)) ++#endif ++#endif + + /* Temporarily disable some warnings */ + #define DISABLE_WARNING_DECLARATION_AFTER_STATEMENT \ +@@ -414,16 +423,6 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) { + #endif + #endif + +-/* Define C11 noreturn without and even on older gcc +- * compiler versions */ +-#ifndef noreturn +-#if __STDC_VERSION__ >= 201112L +-#define noreturn _Noreturn +-#else +-#define noreturn __attribute__((noreturn)) +-#endif +-#endif +- + #define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \ + static inline void func##p(type *p) { \ + if (*p) \ +diff --git a/src/basic/process-util.c b/src/basic/process-util.c +index aa9846db5dc..e6120af5b68 100644 +--- a/src/basic/process-util.c ++++ b/src/basic/process-util.c +@@ -987,7 +987,7 @@ bool is_main_thread(void) { + return cached > 0; + } + +-noreturn void freeze(void) { ++_noreturn_ void freeze(void) { + + log_close(); + +diff --git a/src/basic/process-util.h b/src/basic/process-util.h +index 93029e36e5f..5170adec7bb 100644 +--- a/src/basic/process-util.h ++++ b/src/basic/process-util.h +@@ -91,7 +91,7 @@ int pid_from_same_root_fs(pid_t pid); + + bool is_main_thread(void); + +-noreturn void freeze(void); ++_noreturn_ void freeze(void); + + bool oom_score_adjust_is_valid(int oa); + +diff --git a/src/core/main.c b/src/core/main.c +index 076846a41c0..4b2d1492373 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -141,7 +141,7 @@ static uint64_t arg_default_tasks_max = UINT64_MAX; + static sd_id128_t arg_machine_id = {}; + static EmergencyAction arg_cad_burst_action = EMERGENCY_ACTION_REBOOT_FORCE; + +-noreturn static void freeze_or_reboot(void) { ++_noreturn_ static void freeze_or_reboot(void) { + + if (arg_crash_reboot) { + log_notice("Rebooting in 10s..."); +@@ -156,7 +156,7 @@ noreturn static void freeze_or_reboot(void) { + freeze(); + } + +-noreturn static void crash(int sig) { ++_noreturn_ static void crash(int sig) { + struct sigaction sa; + pid_t pid; + +diff --git a/src/journal/test-journal-interleaving.c b/src/journal/test-journal-interleaving.c +index 5a88b2774fa..d87bdbdd32a 100644 +--- a/src/journal/test-journal-interleaving.c ++++ b/src/journal/test-journal-interleaving.c +@@ -37,7 +37,7 @@ + + static bool arg_keep = false; + +-noreturn static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { ++_noreturn_ static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { + log_internal(LOG_CRIT, error, file, line, func, + "'%s' failed at %s:%u (%s): %m", text, file, line, func); + abort(); +diff --git a/src/shared/pager.c b/src/shared/pager.c +index 75db3c985bd..681af9c40e3 100644 +--- a/src/shared/pager.c ++++ b/src/shared/pager.c +@@ -47,7 +47,7 @@ static int stored_stderr = -1; + static bool stdout_redirected = false; + static bool stderr_redirected = false; + +-noreturn static void pager_fallback(void) { ++_noreturn_ static void pager_fallback(void) { + int r; + + r = copy_bytes(STDIN_FILENO, STDOUT_FILENO, (uint64_t) -1, 0); +diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c +index 2821640e93b..c8fa47b3d7d 100644 +--- a/src/udev/collect/collect.c ++++ b/src/udev/collect/collect.c +@@ -58,7 +58,7 @@ static inline struct _mate *node_to_mate(struct udev_list_node *node) + return container_of(node, struct _mate, node); + } + +-noreturn static void sig_alrm(int signo) ++_noreturn_ static void sig_alrm(int signo) + { + exit(4); + } diff --git a/package/systemd/Config.in b/package/systemd/Config.in index 7dfd7cae8d..7b613df02c 100644 --- a/package/systemd/Config.in +++ b/package/systemd/Config.in @@ -27,18 +27,20 @@ menuconfig BR2_PACKAGE_SYSTEMD select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # kmod-tools select BR2_PACKAGE_KMOD_TOOLS select BR2_TARGET_TZ_INFO + select BR2_NEEDS_HOST_UTF8_LOCALE help - systemd is a system and service manager for Linux, compatible with - SysV and LSB init scripts. systemd provides aggressive parallelization - capabilities, uses socket and D-Bus activation for starting services, - offers on-demand starting of daemons, keeps track of processes using - Linux cgroups, supports snapshotting and restoring of the system - state, maintains mount and automount points and implements an - elaborate transactional dependency-based service control logic. - It can work as a drop-in replacement for sysvinit. + systemd is a system and service manager for Linux, + compatible with SysV and LSB init scripts. systemd provides + aggressive parallelization capabilities, uses socket and + D-Bus activation for starting services, offers on-demand + starting of daemons, keeps track of processes using Linux + cgroups, supports snapshotting and restoring of the system + state, maintains mount and automount points and implements + an elaborate transactional dependency-based service control + logic. It can work as a drop-in replacement for sysvinit. - Systemd requires a Linux kernel >= 3.0 with the following options - enabled: + Systemd requires a Linux kernel >= 3.0 with the following + options enabled: - CONFIG_CGROUPS - CONFIG_INOTIFY_USER @@ -65,8 +67,8 @@ menuconfig BR2_PACKAGE_SYSTEMD Notice that systemd selects the fsck wrapper from util-linux but no particular fsck. is selected. You must choose - the apropriate ones (e.g. e2fsck, from the e2fsprogs package) - according to the system configuration. + the apropriate ones (e.g. e2fsck, from the e2fsprogs + package) according to the system configuration. http://freedesktop.org/wiki/Software/systemd @@ -203,11 +205,11 @@ config BR2_PACKAGE_SYSTEMD_NETWORKD default y help systemd-networkd is a system service that manages networks. - It detects and configures network devices as they appear, as well as - creating virtual network devices. + It detects and configures network devices as they appear, as + well as creating virtual network devices. - This simple network configuration solution is an alternative to - dhcpcd or ISC dhcp. + This simple network configuration solution is an alternative + to dhcpcd or ISC dhcp. http://www.freedesktop.org/software/systemd/man/systemd-networkd.html @@ -266,14 +268,14 @@ config BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT select BR2_PACKAGE_ATTR select BR2_PACKAGE_SMACK help - Enable support for SMACK, the Simple Mandatory Access Control - Kernel, a minimal approach to Access Control implemented as a kernel - LSM. + Enable support for SMACK, the Simple Mandatory Access + Control Kernel, a minimal approach to Access Control + implemented as a kernel LSM. This feature requires a kernel >= 3.8. - When this feature is enabled, Systemd mounts smackfs and manages - security labels for sockets. + When this feature is enabled, Systemd mounts smackfs and + manages security labels for sockets. config BR2_PACKAGE_SYSTEMD_SYSUSERS bool "enable sysusers support" @@ -297,11 +299,12 @@ config BR2_PACKAGE_SYSTEMD_TIMESYNCD bool "enable timesync daemon" default y help - systemd-timesyncd is a service that may be used to synchronize the - local system clock with a Network Time Protocol server. + systemd-timesyncd is a service that may be used to + synchronize the local system clock with a Network Time + Protocol server. - This simple NTP solution is an alternative to sntp/ntpd from the ntp - package. + This simple NTP solution is an alternative to sntp/ntpd from + the ntp package. http://www.freedesktop.org/software/systemd/man/systemd-timesyncd.html diff --git a/package/systemd/systemd.hash b/package/systemd/systemd.hash index 9a1f926e4d..d580a29b83 100644 --- a/package/systemd/systemd.hash +++ b/package/systemd/systemd.hash @@ -1,2 +1,5 @@ # sha256 locally computed -sha256 da3e69d10aa1c983d33833372ad4929037b411ac421fb085c8cee79ae1d80b6a systemd-234.tar.gz +sha256 c83dabbe1c9de6b9db1dafdb7e04140c7d0535705c68842f6c0768653ba4913c systemd-237.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2 +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1 +sha256 9c7709aa401a41c4c3f33ea75c34ae5d5354d62c310c3391c2a5958952d8aadd README diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk index 9f286fd54b..4dea7d340d 100644 --- a/package/systemd/systemd.mk +++ b/package/systemd/systemd.mk @@ -4,20 +4,20 @@ # ################################################################################ -SYSTEMD_VERSION = 234 +SYSTEMD_VERSION = 237 SYSTEMD_SITE = $(call github,systemd,systemd,v$(SYSTEMD_VERSION)) SYSTEMD_LICENSE = LGPL-2.1+, GPL-2.0+ (udev), Public Domain (few source files, see README) SYSTEMD_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 README SYSTEMD_INSTALL_STAGING = YES SYSTEMD_DEPENDENCIES = \ + host-gperf \ host-intltool \ - libcap \ - util-linux \ + host-meson \ kmod \ - host-gperf + libcap \ + util-linux SYSTEMD_PROVIDES = udev -SYSTEMD_AUTORECONF = YES # Make sure that systemd will always be built after busybox so that we have # a consistent init setup between two builds @@ -26,268 +26,253 @@ SYSTEMD_DEPENDENCIES += busybox endif SYSTEMD_CONF_OPTS += \ - --with-rootprefix= \ - --enable-blkid \ - --enable-static=no \ - --disable-manpages \ - --disable-ima \ - --disable-libcryptsetup \ - --disable-efi \ - --disable-gnuefi \ - --disable-ldconfig \ - --disable-tests \ - --disable-coverage \ - --with-default-dnssec=no \ - --without-python - -SYSTEMD_CFLAGS = $(TARGET_CFLAGS) -fno-lto - -# Override paths to a few utilities needed at runtime, to -# avoid finding those we would install in $(HOST_DIR). -SYSTEMD_CONF_ENV = \ - CFLAGS="$(SYSTEMD_CFLAGS)" \ - ac_cv_path_KILL=/usr/bin/kill \ - ac_cv_path_KMOD=/usr/bin/kmod \ - ac_cv_path_KEXEC=/usr/sbin/kexec \ - ac_cv_path_SULOGIN=/usr/sbin/sulogin \ - ac_cv_path_MOUNT_PATH=/usr/bin/mount \ - ac_cv_path_UMOUNT_PATH=/usr/bin/umount - -define SYSTEMD_RUN_INTLTOOLIZE - cd $(@D) && $(HOST_DIR)/bin/intltoolize --force --automake -endef -SYSTEMD_PRE_CONFIGURE_HOOKS += SYSTEMD_RUN_INTLTOOLIZE + --prefix=/usr \ + --libdir='/usr/lib' \ + --buildtype $(if $(BR2_ENABLE_DEBUG),debug,release) \ + --cross-file $(HOST_DIR)/etc/meson/cross-compilation.conf \ + -Drootlibdir='/usr/lib' \ + -Dblkid=true \ + -Dman=false \ + -Dima=false \ + -Dlibcryptsetup=false \ + -Defi=false \ + -Dgnu-efi=false \ + -Dldconfig=false \ + -Ddefault-dnssec=no \ + -Dtests=false \ + -Dsystem-uid-max=999 \ + -Dsystem-gid-max=999 \ + -Dtelinit-path=$(TARGET_DIR)/sbin/telinit \ + -Dkill-path=/usr/bin/kill \ + -Dkmod-path=/usr/bin/kmod \ + -Dkexec-path=/usr/sbin/kexec \ + -Dsulogin-path=/usr/sbin/sulogin \ + -Dmount-path=/usr/bin/mount \ + -Dumount-path=/usr/bin/umount \ + -Dnobody-group=nogroup ifeq ($(BR2_PACKAGE_ACL),y) -SYSTEMD_CONF_OPTS += --enable-acl SYSTEMD_DEPENDENCIES += acl +SYSTEMD_CONF_OPTS += -Dacl=true else -SYSTEMD_CONF_OPTS += --disable-acl +SYSTEMD_CONF_OPTS += -Dacl=false endif ifeq ($(BR2_PACKAGE_AUDIT),y) -SYSTEMD_CONF_OPTS += --enable-audit SYSTEMD_DEPENDENCIES += audit +SYSTEMD_CONF_OPTS += -Daudit=true else -SYSTEMD_CONF_OPTS += --disable-audit +SYSTEMD_CONF_OPTS += -Daudit=false endif ifeq ($(BR2_PACKAGE_LIBIDN),y) -SYSTEMD_CONF_OPTS += --enable-libidn SYSTEMD_DEPENDENCIES += libidn +SYSTEMD_CONF_OPTS += -Dlibidn=true else -SYSTEMD_CONF_OPTS += --disable-libidn +SYSTEMD_CONF_OPTS += -Dlibidn=false endif ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) -SYSTEMD_CONF_OPTS += --enable-seccomp SYSTEMD_DEPENDENCIES += libseccomp +SYSTEMD_CONF_OPTS += -Dseccomp=true else -SYSTEMD_CONF_OPTS += --disable-seccomp +SYSTEMD_CONF_OPTS += -Dseccomp=false endif ifeq ($(BR2_PACKAGE_LIBXKBCOMMON),y) -SYSTEMD_CONF_OPTS += --enable-xkbcommon SYSTEMD_DEPENDENCIES += libxkbcommon +SYSTEMD_CONF_OPTS += -Dxkbcommon=true else -SYSTEMD_CONF_OPTS += --disable-xkbcommon +SYSTEMD_CONF_OPTS += -Dxkbcommon=false endif ifeq ($(BR2_PACKAGE_BZIP2),y) SYSTEMD_DEPENDENCIES += bzip2 -SYSTEMD_CONF_OPTS += --enable-bzip2 +SYSTEMD_CONF_OPTS += -Dbzip2=true else -SYSTEMD_CONF_OPTS += --disable-bzip2 +SYSTEMD_CONF_OPTS += -Dbzip2=false endif ifeq ($(BR2_PACKAGE_LZ4),y) SYSTEMD_DEPENDENCIES += lz4 -SYSTEMD_CONF_OPTS += --enable-lz4 +SYSTEMD_CONF_OPTS += -Dlz4=true else -SYSTEMD_CONF_OPTS += --disable-lz4 +SYSTEMD_CONF_OPTS += -Dlz4=false endif ifeq ($(BR2_PACKAGE_LINUX_PAM),y) SYSTEMD_DEPENDENCIES += linux-pam -SYSTEMD_CONF_OPTS += --enable-pam +SYSTEMD_CONF_OPTS += -Dpam=true else -SYSTEMD_CONF_OPTS += --disable-pam +SYSTEMD_CONF_OPTS += -Dpam=false endif ifeq ($(BR2_PACKAGE_XZ),y) SYSTEMD_DEPENDENCIES += xz -SYSTEMD_CONF_OPTS += --enable-xz +SYSTEMD_CONF_OPTS += -Dxz=true else -SYSTEMD_CONF_OPTS += --disable-xz +SYSTEMD_CONF_OPTS += -Dxz=false endif ifeq ($(BR2_PACKAGE_ZLIB),y) SYSTEMD_DEPENDENCIES += zlib -SYSTEMD_CONF_OPTS += --enable-zlib +SYSTEMD_CONF_OPTS += -Dzlib=true else -SYSTEMD_CONF_OPTS += --disable-zlib +SYSTEMD_CONF_OPTS += -Dzlib=false endif ifeq ($(BR2_PACKAGE_LIBCURL),y) SYSTEMD_DEPENDENCIES += libcurl -SYSTEMD_CONF_OPTS += --enable-libcurl +SYSTEMD_CONF_OPTS += -Dlibcurl=true else -SYSTEMD_CONF_OPTS += --disable-libcurl +SYSTEMD_CONF_OPTS += -Dlibcurl=false endif ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) SYSTEMD_DEPENDENCIES += libgcrypt -SYSTEMD_CONF_OPTS += \ - --enable-gcrypt \ - --with-libgcrypt-prefix=$(STAGING_DIR)/usr \ - --with-libgpg-error-prefix=$(STAGING_DIR)/usr +SYSTEMD_CONF_OPTS += -Dgcrypt=true else -SYSTEMD_CONF_OPTS += --disable-gcrypt +SYSTEMD_CONF_OPTS += -Dgcrypt=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY),y) SYSTEMD_DEPENDENCIES += libmicrohttpd -SYSTEMD_CONF_OPTS += --enable-microhttpd +SYSTEMD_CONF_OPTS += -Dmicrohttpd=true ifeq ($(BR2_PACKAGE_LIBQRENCODE),y) -SYSTEMD_CONF_OPTS += --enable-qrencode +SYSTEMD_CONF_OPTS += -Dqrencode=true SYSTEMD_DEPENDENCIES += libqrencode else -SYSTEMD_CONF_OPTS += --disable-qrencode +SYSTEMD_CONF_OPTS += -Dqrencode=false endif else -SYSTEMD_CONF_OPTS += --disable-microhttpd --disable-qrencode +SYSTEMD_CONF_OPTS += -Dmicrohttpd=false -Dqrencode=false endif ifeq ($(BR2_PACKAGE_LIBSELINUX),y) SYSTEMD_DEPENDENCIES += libselinux -SYSTEMD_CONF_OPTS += --enable-selinux +SYSTEMD_CONF_OPTS += -Dselinux=true else -SYSTEMD_CONF_OPTS += --disable-selinux +SYSTEMD_CONF_OPTS += -Dselinux=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_HWDB),y) -SYSTEMD_CONF_OPTS += --enable-hwdb +SYSTEMD_CONF_OPTS += -Dhwdb=true else -SYSTEMD_CONF_OPTS += --disable-hwdb +SYSTEMD_CONF_OPTS += -Dhwdb=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_BINFMT),y) -SYSTEMD_CONF_OPTS += --enable-binfmt +SYSTEMD_CONF_OPTS += -Dbinfmt=true else -SYSTEMD_CONF_OPTS += --disable-binfmt +SYSTEMD_CONF_OPTS += -Dbinfmt=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_VCONSOLE),y) -SYSTEMD_CONF_OPTS += --enable-vconsole +SYSTEMD_CONF_OPTS += -Dvconsole=true else -SYSTEMD_CONF_OPTS += --disable-vconsole +SYSTEMD_CONF_OPTS += -Dvconsole=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_QUOTACHECK),y) -SYSTEMD_CONF_OPTS += --enable-quotacheck -SYSTEMD_CONF_ENV += \ - ac_cv_path_QUOTAON=/usr/sbin/quotaon \ - ac_cv_path_QUOTACHECK=/usr/sbin/quotacheck +SYSTEMD_CONF_OPTS += -Dquotacheck=true else -SYSTEMD_CONF_OPTS += --disable-quotacheck -SYSTEMD_CONF_ENV += \ - ac_cv_path_QUOTAON=/.missing \ - ac_cv_path_QUOTACHECK=/.missing +SYSTEMD_CONF_OPTS += -Dquotacheck=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_TMPFILES),y) -SYSTEMD_CONF_OPTS += --enable-tmpfiles +SYSTEMD_CONF_OPTS += -Dtmpfiles=true else -SYSTEMD_CONF_OPTS += --disable-tmpfiles +SYSTEMD_CONF_OPTS += -Dtmpfiles=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_SYSUSERS),y) -SYSTEMD_CONF_OPTS += --enable-sysusers +SYSTEMD_CONF_OPTS += -Dsysusers=true else -SYSTEMD_CONF_OPTS += --disable-sysusers +SYSTEMD_CONF_OPTS += -Dsysusers=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_FIRSTBOOT),y) -SYSTEMD_CONF_OPTS += --enable-firstboot +SYSTEMD_CONF_OPTS += -Dfirstboot=true else -SYSTEMD_CONF_OPTS += --disable-firstboot +SYSTEMD_CONF_OPTS += -Dfirstboot=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_RANDOMSEED),y) -SYSTEMD_CONF_OPTS += --enable-randomseed +SYSTEMD_CONF_OPTS += -Drandomseed=true else -SYSTEMD_CONF_OPTS += --disable-randomseed +SYSTEMD_CONF_OPTS += -Drandomseed=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_BACKLIGHT),y) -SYSTEMD_CONF_OPTS += --enable-backlight +SYSTEMD_CONF_OPTS += -Dbacklight=true else -SYSTEMD_CONF_OPTS += --disable-backlight +SYSTEMD_CONF_OPTS += -Dbacklight=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_RFKILL),y) -SYSTEMD_CONF_OPTS += --enable-rfkill +SYSTEMD_CONF_OPTS += -Drfkill=true else -SYSTEMD_CONF_OPTS += --disable-rfkill +SYSTEMD_CONF_OPTS += -Drfkill=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_LOGIND),y) -SYSTEMD_CONF_OPTS += --enable-logind +SYSTEMD_CONF_OPTS += -Dlogind=true else -SYSTEMD_CONF_OPTS += --disable-logind +SYSTEMD_CONF_OPTS += -Dlogind=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_MACHINED),y) -SYSTEMD_CONF_OPTS += --enable-machined +SYSTEMD_CONF_OPTS += -Dmachined=true else -SYSTEMD_CONF_OPTS += --disable-machined +SYSTEMD_CONF_OPTS += -Dmachined=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_IMPORTD),y) -SYSTEMD_CONF_OPTS += --enable-importd +SYSTEMD_CONF_OPTS += -Dimportd=true else -SYSTEMD_CONF_OPTS += --disable-importd +SYSTEMD_CONF_OPTS += -Dimportd=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_HOSTNAMED),y) -SYSTEMD_CONF_OPTS += --enable-hostnamed +SYSTEMD_CONF_OPTS += -Dhostnamed=true else -SYSTEMD_CONF_OPTS += --disable-hostnamed +SYSTEMD_CONF_OPTS += -Dhostnamed=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_MYHOSTNAME),y) -SYSTEMD_CONF_OPTS += --enable-myhostname +SYSTEMD_CONF_OPTS += -Dmyhostname=true else -SYSTEMD_CONF_OPTS += --disable-myhostname +SYSTEMD_CONF_OPTS += -Dmyhostname=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_TIMEDATED),y) -SYSTEMD_CONF_OPTS += --enable-timedated +SYSTEMD_CONF_OPTS += -Dtimedated=true else -SYSTEMD_CONF_OPTS += --disable-timedated +SYSTEMD_CONF_OPTS += -Dtimedated=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_LOCALED),y) -SYSTEMD_CONF_OPTS += --enable-localed +SYSTEMD_CONF_OPTS += -Dlocaled=true else -SYSTEMD_CONF_OPTS += --disable-localed +SYSTEMD_CONF_OPTS += -Dlocaled=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_COREDUMP),y) -SYSTEMD_CONF_OPTS += --enable-coredump +SYSTEMD_CONF_OPTS += -Dcoredump=true SYSTEMD_COREDUMP_USER = systemd-coredump -1 systemd-coredump -1 * /var/lib/systemd/coredump - - Core Dumper else -SYSTEMD_CONF_OPTS += --disable-coredump +SYSTEMD_CONF_OPTS += -Dcoredump=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_POLKIT),y) -SYSTEMD_CONF_OPTS += --enable-polkit +SYSTEMD_CONF_OPTS += -Dpolkit=true +SYSTEMD_DEPENDENCIES += polkit else -SYSTEMD_CONF_OPTS += --disable-polkit +SYSTEMD_CONF_OPTS += -Dpolkit=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),y) -SYSTEMD_CONF_OPTS += --enable-networkd +SYSTEMD_CONF_OPTS += -Dnetworkd=true SYSTEMD_NETWORKD_USER = systemd-network -1 systemd-network -1 * - - - Network Manager define SYSTEMD_INSTALL_RESOLVCONF_HOOK ln -sf ../run/systemd/resolve/resolv.conf \ @@ -302,18 +287,18 @@ define SYSTEMD_INSTALL_NETWORK_CONFS endef endif else -SYSTEMD_CONF_OPTS += --disable-networkd +SYSTEMD_CONF_OPTS += -Dnetworkd=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_RESOLVED),y) -SYSTEMD_CONF_OPTS += --enable-resolved +SYSTEMD_CONF_OPTS += -Dresolve=true SYSTEMD_RESOLVED_USER = systemd-resolve -1 systemd-resolve -1 * - - - Network Name Resolution Manager else -SYSTEMD_CONF_OPTS += --disable-resolved +SYSTEMD_CONF_OPTS += -Dresolve=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_TIMESYNCD),y) -SYSTEMD_CONF_OPTS += --enable-timesyncd +SYSTEMD_CONF_OPTS += -Dtimesyncd=true SYSTEMD_TIMESYNCD_USER = systemd-timesync -1 systemd-timesync -1 * - - - Network Time Synchronization define SYSTEMD_INSTALL_SERVICE_TIMESYNC mkdir -p $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants @@ -321,19 +306,24 @@ define SYSTEMD_INSTALL_SERVICE_TIMESYNC $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service endef else -SYSTEMD_CONF_OPTS += --disable-timesyncd +SYSTEMD_CONF_OPTS += -Dtimesyncd=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT),y) -SYSTEMD_CONF_OPTS += --enable-smack +SYSTEMD_CONF_OPTS += -Dsmack=true else -SYSTEMD_CONF_OPTS += --disable-smack +SYSTEMD_CONF_OPTS += -Dsmack=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_HIBERNATE),y) -SYSTEMD_CONF_OPTS += --enable-hibernate +SYSTEMD_CONF_OPTS += -Dhibernate=true else -SYSTEMD_CONF_OPTS += --disable-hibernate +SYSTEMD_CONF_OPTS += -Dhibernate=false +endif + +SYSTEMD_FALLBACK_HOSTNAME = $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME)) +ifneq ($(SYSTEMD_FALLBACK_HOSTNAME),) +SYSTEMD_CONF_OPTS += -Dfallback-hostname=$(SYSTEMD_FALLBACK_HOSTNAME) endif define SYSTEMD_INSTALL_INIT_HOOK @@ -341,7 +331,7 @@ define SYSTEMD_INSTALL_INIT_HOOK ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/halt ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/poweroff ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/reboot - + ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/shutdown ln -fs ../../../lib/systemd/system/multi-user.target \ $(TARGET_DIR)/etc/systemd/system/default.target endef @@ -358,6 +348,8 @@ SYSTEMD_POST_INSTALL_TARGET_HOOKS += \ define SYSTEMD_USERS - - input -1 * - - - Input device group - - systemd-journal -1 * - - - Journal + - - render -1 * - - - DRI rendering nodes + - - kvm -1 * - - - kvm nodes systemd-bus-proxy -1 systemd-bus-proxy -1 * - - - Proxy D-Bus messages to/from a bus systemd-journal-gateway -1 systemd-journal-gateway -1 * /var/log/journal - - Journal Gateway systemd-journal-remote -1 systemd-journal-remote -1 * /var/log/journal/remote - - Journal Remote @@ -398,4 +390,28 @@ define SYSTEMD_INSTALL_INIT_SYSTEMD $(SYSTEMD_INSTALL_NETWORK_CONFS) endef -$(eval $(autotools-package)) +SYSTEMD_NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS) + +SYSTEMD_ENV = $(TARGET_MAKE_ENV) $(HOST_UTF8_LOCALE_ENV) + +define SYSTEMD_CONFIGURE_CMDS + rm -rf $(@D)/build + mkdir -p $(@D)/build + $(SYSTEMD_ENV) meson $(SYSTEMD_CONF_OPTS) $(@D) $(@D)/build +endef + +define SYSTEMD_BUILD_CMDS + $(SYSTEMD_ENV) ninja $(SYSTEMD_NINJA_OPTS) -C $(@D)/build +endef + +define SYSTEMD_INSTALL_TARGET_CMDS + $(SYSTEMD_ENV) DESTDIR=$(TARGET_DIR) ninja $(SYSTEMD_NINJA_OPTS) \ + -C $(@D)/build install +endef + +define SYSTEMD_INSTALL_STAGING_CMDS + $(SYSTEMD_ENV) DESTDIR=$(STAGING_DIR) ninja $(SYSTEMD_NINJA_OPTS) \ + -C $(@D)/build install +endef + +$(eval $(generic-package)) diff --git a/package/sysvinit/inittab b/package/sysvinit/inittab index fad91eae8b..a31471031f 100644 --- a/package/sysvinit/inittab +++ b/package/sysvinit/inittab @@ -6,10 +6,14 @@ id:3:initdefault: si0::sysinit:/bin/mount -t proc proc /proc si1::sysinit:/bin/mount -o remount,rw / -si2::sysinit:/bin/mkdir -p /dev/pts -si3::sysinit:/bin/mkdir -p /dev/shm -si4::sysinit:/bin/mount -a -si5::sysinit:/bin/hostname -F /etc/hostname +si2::sysinit:/bin/mkdir -p /dev/pts /dev/shm +si3::sysinit:/bin/mount -a +si4::sysinit:/sbin/swapon -a +si5::sysinit:/bin/ln -sf /proc/self/fd /dev/fd 2>/dev/null +si6::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin 2>/dev/null +si7::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout 2>/dev/null +si8::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr 2>/dev/null +si9::sysinit:/bin/hostname -F /etc/hostname rcS:12345:wait:/etc/init.d/rcS # S0:1:respawn:/sbin/getty -L ttyS0 115200 vt100 # GENERIC_SERIAL diff --git a/package/taglib/Config.in b/package/taglib/Config.in index a95f332a46..9e6bb707fc 100644 --- a/package/taglib/Config.in +++ b/package/taglib/Config.in @@ -4,9 +4,10 @@ config BR2_PACKAGE_TAGLIB depends on BR2_USE_WCHAR help TagLib is a library for reading and editing the meta-data of - several popular audio formats. Currently it supports both ID3v1 - and ID3v2 for MP3 files, Ogg Vorbis comments and ID3 tags and - Vorbis comments in FLAC, MPC, Speex, WavPack and TrueAudio files. + several popular audio formats. Currently it supports both + ID3v1 and ID3v2 for MP3 files, Ogg Vorbis comments and ID3 + tags and Vorbis comments in FLAC, MPC, Speex, WavPack and + TrueAudio files. http://taglib.org/ diff --git a/package/tar/Config.in b/package/tar/Config.in index 0eea1b8456..b0be7a389f 100644 --- a/package/tar/Config.in +++ b/package/tar/Config.in @@ -4,8 +4,9 @@ config BR2_PACKAGE_TAR depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help - A program that saves many files together into a single tape or disk - archive, and can restore individual files from the archive. + A program that saves many files together into a single tape + or disk archive, and can restore individual files from the + archive. http://www.gnu.org/software/tar/ diff --git a/package/tar/tar.mk b/package/tar/tar.mk index cb2ddc0eca..a8a15d9518 100644 --- a/package/tar/tar.mk +++ b/package/tar/tar.mk @@ -44,4 +44,7 @@ define HOST_TAR_EXTRACT_CMDS mv $(@D)/tar-$(TAR_VERSION)/* $(@D) rmdir $(@D)/tar-$(TAR_VERSION) endef + +HOST_TAR_CONF_OPTS = --without-selinux + $(eval $(host-autotools-package)) diff --git a/package/tcf-agent/0001-agent-add-install-target-to-the-CMakeLists.patch b/package/tcf-agent/0001-agent-add-install-target-to-the-CMakeLists.patch new file mode 100644 index 0000000000..fd2d61f3da --- /dev/null +++ b/package/tcf-agent/0001-agent-add-install-target-to-the-CMakeLists.patch @@ -0,0 +1,48 @@ +From 96c43b223c90746cb2f680d6d5e198afc690dd4d Mon Sep 17 00:00:00 2001 +From: Norbert Lange +Date: Mon, 4 Dec 2017 10:56:45 +0100 +Subject: [PATCH] agent: add install target to the CMakeLists + +It is common for CMake packages to make sure that 'make install' +works properly, and that's what most users expect. + +More specifically, build systems such as Buildroot also expect +'make install' to do the right thing for CMake-based packages + +Signed-off-by: Norbert Lange +--- + agent/CMakeLists.txt | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/agent/CMakeLists.txt b/agent/CMakeLists.txt +index aef15b96..605862b2 100644 +--- a/agent/CMakeLists.txt ++++ b/agent/CMakeLists.txt +@@ -1,6 +1,8 @@ + # -*- cmake -*- + + cmake_minimum_required(VERSION 2.8) ++project(tcfagent C) ++include(GNUInstallDirs) + + set(CMAKE_COLOR_MAKEFILE OFF) + +@@ -43,3 +45,15 @@ message(STATUS "machine:" ${TCF_MACHINE}) + + add_executable(agent tcf/main/main.c) + target_link_libraries(agent ${TCF_LIB_NAME}) ++ ++# executable and library cant have the same target name, ++# but we can rename the output ++set_target_properties(agent ++ PROPERTIES OUTPUT_NAME tcf-agent) ++ ++# add target to install all outputs ++install(TARGETS agent ${TCF_LIB_NAME} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) +-- +2.15.1 + diff --git a/package/tcf-agent/0002-linux-remove-explicit-uses-of-__ptrace_request.patch b/package/tcf-agent/0002-linux-remove-explicit-uses-of-__ptrace_request.patch new file mode 100644 index 0000000000..5c820394a3 --- /dev/null +++ b/package/tcf-agent/0002-linux-remove-explicit-uses-of-__ptrace_request.patch @@ -0,0 +1,103 @@ +From 3e662598e1d9ad682e470988764c3af5b1a78cb7 Mon Sep 17 00:00:00 2001 +From: Norbert Lange +Date: Fri, 1 Dec 2017 13:15:50 +0100 +Subject: [PATCH] linux: remove explicit uses of __ptrace_request + +This type is not to be used directly, and with musl it wont build + +Signed-off-by: Norbert Lange +--- + agent/machine/arm/tcf/cpudefs-mdep.c | 4 ++-- + agent/machine/arm/tcf/regset-mdep.h | 4 ++-- + agent/system/GNU/Linux/tcf/context-linux.c | 18 +++++++++--------- + 3 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/agent/machine/arm/tcf/cpudefs-mdep.c b/agent/machine/arm/tcf/cpudefs-mdep.c +index 27ab0129..0bc8b146 100644 +--- a/agent/machine/arm/tcf/cpudefs-mdep.c ++++ b/agent/machine/arm/tcf/cpudefs-mdep.c +@@ -89,10 +89,10 @@ static RegisterDefinition * lr_def = NULL; + static RegisterDefinition * cpsr_def = NULL; + + #if !defined(PTRACE_GETHBPREGS) +-#define PTRACE_GETHBPREGS (enum __ptrace_request)29 ++#define PTRACE_GETHBPREGS 29 + #endif + #if !defined(PTRACE_SETHBPREGS) +-#define PTRACE_SETHBPREGS (enum __ptrace_request)30 ++#define PTRACE_SETHBPREGS 30 + #endif + + #define ARM_DEBUG_ARCH_V6 1 +diff --git a/agent/machine/arm/tcf/regset-mdep.h b/agent/machine/arm/tcf/regset-mdep.h +index e5516042..893ba64f 100644 +--- a/agent/machine/arm/tcf/regset-mdep.h ++++ b/agent/machine/arm/tcf/regset-mdep.h +@@ -28,11 +28,11 @@ + #endif + + #ifndef PTRACE_GETREGSET +-#define PTRACE_GETREGSET (enum __ptrace_request)0x4204 ++#define PTRACE_GETREGSET 0x4204 + #endif + + #ifndef PTRACE_SETREGSET +-#define PTRACE_SETREGSET (enum __ptrace_request)0x4205 ++#define PTRACE_SETREGSET 0x4205 + #endif + + struct regset_gp { +diff --git a/agent/system/GNU/Linux/tcf/context-linux.c b/agent/system/GNU/Linux/tcf/context-linux.c +index d4eb5e6b..4c86021e 100644 +--- a/agent/system/GNU/Linux/tcf/context-linux.c ++++ b/agent/system/GNU/Linux/tcf/context-linux.c +@@ -60,10 +60,10 @@ + #endif + + #if !defined(PTRACE_SETOPTIONS) +-#define PTRACE_SETOPTIONS (enum __ptrace_request)0x4200 +-#define PTRACE_GETEVENTMSG (enum __ptrace_request)0x4201 +-#define PTRACE_GETSIGINFO (enum __ptrace_request)0x4202 +-#define PTRACE_SETSIGINFO (enum __ptrace_request)0x4203 ++#define PTRACE_SETOPTIONS 0x4200 ++#define PTRACE_GETEVENTMSG 0x4201 ++#define PTRACE_GETSIGINFO 0x4202 ++#define PTRACE_SETSIGINFO 0x4203 + + #define PTRACE_O_TRACESYSGOOD 0x00000001 + #define PTRACE_O_TRACEFORK 0x00000002 +@@ -85,8 +85,8 @@ + + #if defined(__arm__) || defined(__aarch64__) + #if !defined(PTRACE_GETVFPREGS) +-#define PTRACE_GETVFPREGS (enum __ptrace_request)27 +-#define PTRACE_SETVFPREGS (enum __ptrace_request)28 ++#define PTRACE_GETVFPREGS 27 ++#define PTRACE_SETVFPREGS 28 + #endif + #endif + +@@ -483,7 +483,7 @@ static const char * get_ptrace_cmd_name(int cmd) { + static int do_single_step(Context * ctx) { + uint32_t is_cont = 0; + ContextExtensionLinux * ext = EXT(ctx); +- enum __ptrace_request cmd = PTRACE_SINGLESTEP; ++ int cmd = PTRACE_SINGLESTEP; + + assert(!ext->pending_step); + +@@ -540,9 +540,9 @@ int context_continue(Context * ctx) { + int signal = 0; + ContextExtensionLinux * ext = EXT(ctx); + #if USE_PTRACE_SYSCALL +- enum __ptrace_request cmd = PTRACE_SYSCALL; ++ int cmd = PTRACE_SYSCALL; + #else +- enum __ptrace_request cmd = PTRACE_CONT; ++ int cmd = PTRACE_CONT; + #endif + + assert(is_dispatch_thread()); +-- +2.15.1 + diff --git a/package/tcf-agent/0003-linux-provide-canonicalize_file_name-for-all-c-libs-.patch b/package/tcf-agent/0003-linux-provide-canonicalize_file_name-for-all-c-libs-.patch new file mode 100644 index 0000000000..8532307d90 --- /dev/null +++ b/package/tcf-agent/0003-linux-provide-canonicalize_file_name-for-all-c-libs-.patch @@ -0,0 +1,46 @@ +From 1323aa4459004b9817f0cfbf4b59c31480d527cf Mon Sep 17 00:00:00 2001 +From: Norbert Lange +Date: Fri, 1 Dec 2017 13:34:08 +0100 +Subject: [PATCH] linux: provide canonicalize_file_name for all c libs except + glibc + +musl was not covered so far, and this library does not define a +macro for detection. +unless glibc is detected, a canonicalize_file_name implementation +will be provided. + +Signed-off-by: Norbert Lange +--- + agent/tcf/framework/mdep.c | 2 +- + agent/tcf/framework/mdep.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/agent/tcf/framework/mdep.c b/agent/tcf/framework/mdep.c +index 8aee811f..d38036be 100644 +--- a/agent/tcf/framework/mdep.c ++++ b/agent/tcf/framework/mdep.c +@@ -1097,7 +1097,7 @@ char * canonicalize_file_name(const char * path) { + return strdup(res); + } + +-#elif defined(__UCLIBC__) ++#elif defined(__UCLIBC__) || !defined(__GLIBC_) + + char * canonicalize_file_name(const char * path) { + return realpath(path, NULL); +diff --git a/agent/tcf/framework/mdep.h b/agent/tcf/framework/mdep.h +index f90f03f2..3e331383 100644 +--- a/agent/tcf/framework/mdep.h ++++ b/agent/tcf/framework/mdep.h +@@ -292,7 +292,7 @@ extern int loc_clock_gettime(int, struct timespec *); + + #define O_BINARY 0 + +-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) || defined(__sun__) ++#if (defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) || defined(__sun__)) | !defined (__GLIBC__) + # define O_LARGEFILE 0 + extern char ** environ; + extern char * canonicalize_file_name(const char * path); +-- +2.15.1 + diff --git a/package/tcf-agent/Config.in b/package/tcf-agent/Config.in new file mode 100644 index 0000000000..9cd283107a --- /dev/null +++ b/package/tcf-agent/Config.in @@ -0,0 +1,42 @@ +config BR2_PACKAGE_TCF_AGENT + bool "tcf-agent" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_PACKAGE_TCF_AGENT_ARCH_SUPPORTS + depends on BR2_USE_MMU # util-linux + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + help + Target Communication Framework Agent is an example + application using the Target Communication Framework + Library. + + Target Communication Framework is universal, extensible, + simple, lightweight, vendor agnostic framework for tools and + targets to communicate for purpose of debugging, profiling, + code patching and other device software development needs. + + tcf-agent is a daemon, which provides TCF services that can + be used by local and remote clients. + + https://wiki.eclipse.org/TCF + +config BR2_PACKAGE_TCF_AGENT_ARCH + string + default "arm" if BR2_arm || BR2_armeb + default "a64" if BR2_aarch64 || BR2_aarch64_be + default "i686" if BR2_i386 && BR2_ARCH="i686" + default "i386" if BR2_i386 && !BR2_ARCH="i686" + default "x86_64" if BR2_x86_64 + default "powerpc" if BR2_powerpc || BR2_powerpcle +# those architectures fail to build currently +# default "ppc64" if BR2_powerpc64 || BR2_powerpc64le +# default "microblaze" if BR2_microblaze || BR2_microblazeel + +config BR2_PACKAGE_TCF_AGENT_ARCH_SUPPORTS + bool + default y if BR2_PACKAGE_TCF_AGENT_ARCH != "" + +comment "tcf-agent needs a toolchain w/ threads" + depends on BR2_PACKAGE_TCF_AGENT_ARCH_SUPPORTS + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/tcf-agent/S55tcf-agent b/package/tcf-agent/S55tcf-agent new file mode 100755 index 0000000000..4418a543a5 --- /dev/null +++ b/package/tcf-agent/S55tcf-agent @@ -0,0 +1,40 @@ +#!/bin/sh + +DAEMON_PATH=/usr/sbin/tcf-agent +DAEMON_NAME=tcf-agent +DAEMON_ARGS="-L- -l0" + +PIDFILE=/var/run/$DAEMON_NAME.pid +[ -r /etc/default/$DAEMON_NAME ] && . /etc/default/$DAEMON_NAME + +start() { + printf "Starting $DAEMON_NAME: " + start-stop-daemon -S -o -q -p $PIDFILE -m -b \ + -x $DAEMON_PATH -- $DAEMON_ARGS + + [ $? = 0 ] && echo "OK" || echo "FAIL" +} + +stop() { + printf "Stopping $DAEMON_NAME: " + start-stop-daemon -K -o -q -p $PIDFILE \ + -x $DAEMON_PATH + + [ $? = 0 ] && echo "OK" || echo "FAIL" +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + stop + start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac diff --git a/package/tcf-agent/tcf-agent.hash b/package/tcf-agent/tcf-agent.hash new file mode 100644 index 0000000000..d46d5206a3 --- /dev/null +++ b/package/tcf-agent/tcf-agent.hash @@ -0,0 +1,5 @@ +# Locally computed: +sha256 94e9277a52929791417d59b515235bf28ca29ffb05c9e89ad331ebc3256fb5df org.eclipse.tcf.agent-1.6.0.tar.gz + +# Hash for license files: +sha256 f82d01b74a513bd3504d08136026a5ac2a7e6ff62ebcde391fa74aa222d11ce0 agent/edl-v10.html diff --git a/package/tcf-agent/tcf-agent.mk b/package/tcf-agent/tcf-agent.mk new file mode 100644 index 0000000000..7b615d3120 --- /dev/null +++ b/package/tcf-agent/tcf-agent.mk @@ -0,0 +1,37 @@ +################################################################################ +# +# tcf-agent +# +################################################################################ + +TCF_AGENT_VERSION = 1.6.0 +# the tar.xz link was broken the time this file got authored +TCF_AGENT_SOURCE = org.eclipse.tcf.agent-$(TCF_AGENT_VERSION).tar.gz +TCF_AGENT_SITE = http://git.eclipse.org/c/tcf/org.eclipse.tcf.agent.git/snapshot +# see https://wiki.spdx.org/view/Legal_Team/License_List/Licenses_Under_Consideration +TCF_AGENT_LICENSE = BSD-3-Clause +TCF_AGENT_LICENSE_FILES = agent/edl-v10.html + +TCF_AGENT_DEPENDENCIES = util-linux +TCF_AGENT_SUBDIR = agent + +# there is not much purpose for the shared lib, +# if wont be used (unmodifed) outside the tcf-agent application +TCF_AGENT_CONF_OPTS = \ + -DBUILD_SHARED_LIBS=OFF \ + -DTCF_MACHINE=$(call qstrip,$(BR2_PACKAGE_TCF_AGENT_ARCH)) + +define TCF_AGENT_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/tcf-agent/tcf-agent.service \ + $(TARGET_DIR)/usr/lib/systemd/system/tcf-agent.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -fs ../../../../usr/lib/systemd/system/tcf-agent.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/tcf-agent.service +endef + +define TCF_AGENT_INSTALL_INIT_SYSV + $(INSTALL) -D -m 755 package/tcf-agent/S55tcf-agent \ + $(TARGET_DIR)/etc/init.d/S55tcf-agent +endef + +$(eval $(cmake-package)) diff --git a/package/tcf-agent/tcf-agent.service b/package/tcf-agent/tcf-agent.service new file mode 100644 index 0000000000..8d2023b13d --- /dev/null +++ b/package/tcf-agent/tcf-agent.service @@ -0,0 +1,9 @@ +[Unit] +Description=Target Communication Framework Agent +After=network.target + +[Service] +ExecStart=/usr/sbin/tcf-agent -L- -l0 + +[Install] +WantedBy=multi-user.target diff --git a/package/tcl/tcl.hash b/package/tcl/tcl.hash index b344d26589..359b5433c2 100644 --- a/package/tcl/tcl.hash +++ b/package/tcl/tcl.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 a265409781e4b3edcc4ef822533071b34c3dc6790b893963809b9fe221befe07 tcl8.6.6-src.tar.gz +sha256 c0a69a2bfd757361ec7e6143973b103c90409316b49e9c88db26ad6388e79f16 license.terms diff --git a/package/tcl/tcl.mk b/package/tcl/tcl.mk index ffef9cf8bd..b9fb7afbc6 100644 --- a/package/tcl/tcl.mk +++ b/package/tcl/tcl.mk @@ -8,7 +8,7 @@ TCL_VERSION_MAJOR = 8.6 TCL_VERSION = $(TCL_VERSION_MAJOR).6 TCL_SOURCE = tcl$(TCL_VERSION)-src.tar.gz TCL_SITE = http://downloads.sourceforge.net/project/tcl/Tcl/$(TCL_VERSION) -TCL_LICENSE = tcl license +TCL_LICENSE = TCL TCL_LICENSE_FILES = license.terms TCL_SUBDIR = unix TCL_INSTALL_STAGING = YES diff --git a/package/tclap/Config.in b/package/tclap/Config.in index 667117d91b..560cf33174 100644 --- a/package/tclap/Config.in +++ b/package/tclap/Config.in @@ -5,13 +5,14 @@ config BR2_PACKAGE_TCLAP bool "tclap" depends on BR2_INSTALL_LIBSTDCPP help - This is a small, flexible library that provides a simple interface - for defining and accessing command line arguments. It was initially - inspired by the user friendly CLAP libary. The difference is that - this library is templatized, so the argument class is type - independent. Type independence avoids identical-except-for-type - objects, such as IntArg, FloatArg, and StringArg. While the library - is not strictly compliant with the GNU or POSIX standards, it is + This is a small, flexible library that provides a simple + interface for defining and accessing command line + arguments. It was initially inspired by the user friendly + CLAP libary. The difference is that this library is + templatized, so the argument class is type independent. Type + independence avoids identical-except-for-type objects, such + as IntArg, FloatArg, and StringArg. While the library is not + strictly compliant with the GNU or POSIX standards, it is close. http://tclap.sourceforge.net/ diff --git a/package/tcllib/tcllib.hash b/package/tcllib/tcllib.hash index eb990a2aba..d08b5a172a 100644 --- a/package/tcllib/tcllib.hash +++ b/package/tcllib/tcllib.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 0db9e17d6c0f44d3ca2df2ea5023e35c0f3767e7008c3cb26d201446eb68add1 tcllib-1.13.tar.bz2 +sha256 530ec70eb11a455bd582d86b6d74c2dd7cc367d90b8bbdd59fcb43ae02f95a4b license.terms diff --git a/package/tcllib/tcllib.mk b/package/tcllib/tcllib.mk index bd98dd641e..dfa35c8941 100644 --- a/package/tcllib/tcllib.mk +++ b/package/tcllib/tcllib.mk @@ -7,7 +7,7 @@ TCLLIB_VERSION = 1.13 TCLLIB_SOURCE = tcllib-$(TCLLIB_VERSION).tar.bz2 TCLLIB_SITE = http://downloads.sourceforge.net/project/tcllib/tcllib/$(TCLLIB_VERSION) -TCLLIB_LICENSE = tcl license +TCLLIB_LICENSE = TCL TCLLIB_LICENSE_FILES = license.terms TCLLIB_DEPENDENCIES = host-tcl TCLLIB_CONF_ENV = ac_cv_path_tclsh="$(HOST_DIR)/bin/tclsh$(TCL_VERSION_MAJOR)" diff --git a/package/tcpreplay/Config.in b/package/tcpreplay/Config.in index 2ba2eb5944..5e36452cf4 100644 --- a/package/tcpreplay/Config.in +++ b/package/tcpreplay/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_TCPREPLAY depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBPCAP help - Tcpreplay is a tool for replaying network traffic from files saved - with tcpdump or other tools which write pcap(3) files. + Tcpreplay is a tool for replaying network traffic from files + saved with tcpdump or other tools which write pcap(3) files. http://tcpreplay.appneta.com/ diff --git a/package/tegrarcm/Config.in.host b/package/tegrarcm/Config.in.host index 47590fa127..d8cbb947d6 100644 --- a/package/tegrarcm/Config.in.host +++ b/package/tegrarcm/Config.in.host @@ -2,7 +2,7 @@ config BR2_PACKAGE_HOST_TEGRARCM bool "host tegrarcm" depends on BR2_arm || BR2_armeb help - This program is used to send code to a Tegra device in recovery - mode. + This program is used to send code to a Tegra device in + recovery mode. https://github.com/NVIDIA/tegrarcm diff --git a/package/tekui/Config.in b/package/tekui/Config.in index b0f86bf6ad..067a6dd74d 100644 --- a/package/tekui/Config.in +++ b/package/tekui/Config.in @@ -9,10 +9,11 @@ config BR2_PACKAGE_TEKUI select BR2_PACKAGE_LUASOCKET # runtime only select BR2_PACKAGE_LUAPOSIX # runtime only help - TekUI is a small, freestanding and portable graphical user interface - (GUI) toolkit written in Lua and C. It was initially developed for - the X Window System and has been ported to DirectFB, Windows, Nano-X - and a raw framebuffer since + TekUI is a small, freestanding and portable graphical user + interface (GUI) toolkit written in Lua and C. It was + initially developed for the X Window System and has been + ported to DirectFB, Windows, Nano-X and a raw framebuffer + since http://tekui.neoscientists.org/ diff --git a/package/thrift/Config.in b/package/thrift/Config.in index 0ee3f000d7..2fa04705a8 100644 --- a/package/thrift/Config.in +++ b/package/thrift/Config.in @@ -8,12 +8,12 @@ config BR2_PACKAGE_THRIFT select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_ZLIB help - The Apache Thrift software framework, for scalable cross-language - services development, combines a software stack with a - code generation engine to build services that work - efficiently and seamlessly between C++, Java, Python, PHP, Ruby, - Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, - OCaml and Delphi and other languages. + The Apache Thrift software framework, for scalable + cross-language services development, combines a software + stack with a code generation engine to build services that + work efficiently and seamlessly between C++, Java, Python, + PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, + Node.js, Smalltalk, OCaml and Delphi and other languages. http://thrift.apache.org/ diff --git a/package/thttpd/Config.in b/package/thttpd/Config.in index d359785435..66537aa270 100644 --- a/package/thttpd/Config.in +++ b/package/thttpd/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_THTTPD bool "thttpd" depends on BR2_USE_MMU # fork() help - thttpd is a simple, small, portable, fast, and secure HTTP server + thttpd is a simple, small, portable, fast, and secure HTTP + server http://www.acme.com/software/thttpd/ diff --git a/package/ti-cgt-pru/ti-cgt-pru.hash b/package/ti-cgt-pru/ti-cgt-pru.hash index 3ff08ace32..1975d8d1e6 100644 --- a/package/ti-cgt-pru/ti-cgt-pru.hash +++ b/package/ti-cgt-pru/ti-cgt-pru.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 c80dbf35e7401f4c122ff25cc2f6b5db496607782fb4583cee8663a2763f4472 ti_cgt_pru_2.1.4_linux_installer_x86.bin +sha256 7dc37fd689d1d506bf410d2a00af658b93a58d4bc10ac32c2210129dab617377 ti_cgt_pru_2.2.1_linux_installer_x86.bin +sha256 eb646f4f8b14351110992b40ba24d12803bcc150a76e7298705f51088b0a09cc PRU_Code_Generation_Tools_2.2.x_manifest.html +sha256 6b98f9262abd1ae9a3731e6feee02a56b6e290542dea119eeeeaf88bf802aabc pru_rts_2_2_0_82167478-F8C9-49b2-82BD-12F8550770F9.spdx diff --git a/package/ti-cgt-pru/ti-cgt-pru.mk b/package/ti-cgt-pru/ti-cgt-pru.mk index f923e835dc..0b9a64b3c9 100644 --- a/package/ti-cgt-pru/ti-cgt-pru.mk +++ b/package/ti-cgt-pru/ti-cgt-pru.mk @@ -4,13 +4,13 @@ # ################################################################################ -TI_CGT_PRU_VERSION = 2.1.4 +TI_CGT_PRU_VERSION = 2.2.1 TI_CGT_PRU_SOURCE = ti_cgt_pru_$(TI_CGT_PRU_VERSION)_linux_installer_x86.bin TI_CGT_PRU_SITE = http://downloads.ti.com/codegen/esd/cgt_public_sw/PRU/$(TI_CGT_PRU_VERSION) TI_CGT_PRU_LICENSE = TI Technology and Software Publicly Available License (compiler + PRU library), \ BSL-1.0 (compiler), BSD-2-Clause, BSD-3-Clause, MIT, AFL-3.0, Hewlett-Packard (PRU library) -TI_CGT_PRU_LICENSE_FILES = PRU_Code_Generation_Tools_2.1.x_manifest.html \ - PRU_CodeGen_Library_2.1_0222433C-30C1-442d-B5C6-2073BD97F80F.spdx.tag +TI_CGT_PRU_LICENSE_FILES = PRU_Code_Generation_Tools_2.2.x_manifest.html \ + pru_rts_2_2_0_82167478-F8C9-49b2-82BD-12F8550770F9.spdx define HOST_TI_CGT_PRU_EXTRACT_CMDS chmod +x $(DL_DIR)/$(TI_CGT_PRU_SOURCE) diff --git a/package/ti-gfx/Config.in b/package/ti-gfx/Config.in index dc49d822a2..76aabcb8c4 100644 --- a/package/ti-gfx/Config.in +++ b/package/ti-gfx/Config.in @@ -32,8 +32,9 @@ config BR2_PACKAGE_PROVIDES_POWERVR config BR2_PACKAGE_TI_GFX_DEBUG bool "enable debug support" help - Turns on debugging in the kernel module, install libraries built with - debugging enabled, installs various tests and installs esrev script. + Turns on debugging in the kernel module, install libraries + built with debugging enabled, installs various tests and + installs esrev script. config BR2_PACKAGE_TI_GFX_DEMOS bool "install demos" @@ -50,8 +51,8 @@ choice prompt "Target" default BR2_PACKAGE_TI_GFX_ES3 help - Select the SOC for which you would like to install drivers. Please use the - chart at + Select the SOC for which you would like to install + drivers. Please use the chart at http://processors.wiki.ti.com/index.php/OMAP35x_Graphics_SDK_Getting_Started_Guide config BR2_PACKAGE_TI_GFX_ES3 diff --git a/package/ti-utils/Config.in b/package/ti-utils/Config.in index e48e10bdd2..992323487e 100644 --- a/package/ti-utils/Config.in +++ b/package/ti-utils/Config.in @@ -3,10 +3,10 @@ config BR2_PACKAGE_TI_UTILS depends on BR2_TOOLCHAIN_HAS_THREADS # libnl select BR2_PACKAGE_LIBNL help - The calibrator and other useful utilities for TI wireless solution, - based on wl12xx driver. + The calibrator and other useful utilities for TI wireless + solution, based on wl12xx driver. - http://linuxwireless.org/en/users/Drivers/wl12xx/calibrator + http://linuxwireless.sipsolutions.net/en/users/Drivers/wl12xx/calibrator/ comment "ti-utils needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/time/time.hash b/package/time/time.hash index 6ad8c24e54..7d395bfb6c 100644 --- a/package/time/time.hash +++ b/package/time/time.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 e37ea79a253bf85a85ada2f7c632c14e481a5fd262a362f6f4fd58e68601496d time-1.7.tar.gz +sha256 8a2f540155961a35ba9b84aec5e77e3ae36c74cecb4484db455960601b7a2e1b time-1.8.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/time/time.mk b/package/time/time.mk index 8092ea9556..c238ee6e27 100644 --- a/package/time/time.mk +++ b/package/time/time.mk @@ -4,10 +4,10 @@ # ################################################################################ -TIME_VERSION = 1.7 +TIME_VERSION = 1.8 TIME_SITE = $(BR2_GNU_MIRROR)/time TIME_CONF_ENV = ac_cv_func_wait3=yes -TIME_LICENSE = GPL-2.0+ +TIME_LICENSE = GPL-3.0+ TIME_LICENSE_FILES = COPYING # time uses an old version of automake that does not support diff --git a/package/tinc/tinc.hash b/package/tinc/tinc.hash index 135a4f3904..0daeb324e9 100644 --- a/package/tinc/tinc.hash +++ b/package/tinc/tinc.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 abc17e25afc1b9e74423c78fef586b11d503cbbbe5e4a2ed323870f4a82faa73 tinc-1.0.30.tar.gz +sha256 18c83b147cc3e2133a7ac2543eeb014d52070de01c7474287d3ccecc9b16895e tinc-1.0.35.tar.gz +sha256 3a112fd37b47d624e89b130d0e158bb8d14ec5bc9ecf5f18b448d2c07626e43d COPYING +sha256 9bf76a8aa304d807df20bf3d221c21d259764be63e39b58f299b80ba3ac14b5b COPYING.README diff --git a/package/tinc/tinc.mk b/package/tinc/tinc.mk index f537d4642d..ae7ce97bfa 100644 --- a/package/tinc/tinc.mk +++ b/package/tinc/tinc.mk @@ -4,7 +4,7 @@ # ################################################################################ -TINC_VERSION = 1.0.30 +TINC_VERSION = 1.0.35 TINC_SITE = http://www.tinc-vpn.org/packages TINC_DEPENDENCIES = lzo openssl zlib TINC_LICENSE = GPL-2.0+ with OpenSSL exception @@ -17,4 +17,9 @@ TINC_CONF_ENV += \ ax_cv_check_ldflags___pie=no endif +ifeq ($(BR2_INIT_SYSTEMD),y) +TINC_DEPENDENCIES += systemd +TINC_CONF_OPTS += --with-systemdsystemunitdir=/usr/lib/systemd/system +endif + $(eval $(autotools-package)) diff --git a/package/tinyalsa/Config.in b/package/tinyalsa/Config.in index 9ee47676fc..d9ce22c8a7 100644 --- a/package/tinyalsa/Config.in +++ b/package/tinyalsa/Config.in @@ -8,8 +8,8 @@ config BR2_PACKAGE_TINYALSA - Provide a basic pcm and mixer API - If it's not absolutely needed, don't add it to the API - - Avoid supporting complex and unnecessary operations that could be dealt - with at a higher level + - Avoid supporting complex and unnecessary operations that + could be dealt with at a higher level https://github.com/tinyalsa/tinyalsa diff --git a/package/tinycbor/0001-Fix-static-compilation-of-json2cbor.patch b/package/tinycbor/0001-Fix-static-compilation-of-json2cbor.patch deleted file mode 100644 index 8d265d814e..0000000000 --- a/package/tinycbor/0001-Fix-static-compilation-of-json2cbor.patch +++ /dev/null @@ -1,28 +0,0 @@ -From ae608ea2735bd331ec7dcf9d89928c38f0e0c981 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 6 Mar 2017 18:59:22 +0100 -Subject: [PATCH] Fix static compilation of json2cbor - -json2cbor depends on cjson so tools/json2cbor/json2cbor.o must be -before -lcjson - -Signed-off-by: Fabrice Fontaine -[Upstream commit: https://github.com/01org/tinycbor/commit/ae608ea2735bd331ec7dcf9d89928c38f0e0c981] -Signed-off-by: Thomas Petazzoni ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 97b292c..a8cb57c 100644 ---- a/Makefile -+++ b/Makefile -@@ -115,7 +115,7 @@ bin/cbordump: $(CBORDUMP_SOURCES:.c=.o) lib/libtinycbor.a - - bin/json2cbor: $(JSON2CBOR_SOURCES:.c=.o) lib/libtinycbor.a - @$(MKDIR) -p bin -- $(CC) -o $@ $(LDFLAGS) $(LDFLAGS_CJSON) $^ $(LDLIBS) -lm -+ $(CC) -o $@ $(LDFLAGS) $^ $(LDFLAGS_CJSON) $(LDLIBS) -lm - - tinycbor.pc: tinycbor.pc.in - $(SED) > $@ < $< \ diff --git a/package/tinycbor/tinycbor.hash b/package/tinycbor/tinycbor.hash index 6cb0a6eab8..affc7a6e41 100644 --- a/package/tinycbor/tinycbor.hash +++ b/package/tinycbor/tinycbor.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 8e42984015d62e8323b7f2a439bde157d707e0d7ae57a6d8d5a2665247af6638 tinycbor-v0.4.1.tar.gz +sha256 37a06c618ccddd7edc3747277425fcd38fa71eab37c7aaf0b03818a49950da81 tinycbor-v0.4.2.tar.gz +sha256 3c6ba0b5bfa7830505301ffb336a17b0748e0d61c4d34216e9dc98f10e40395e LICENSE diff --git a/package/tinycbor/tinycbor.mk b/package/tinycbor/tinycbor.mk index 9c3d2eb063..b1848b56aa 100644 --- a/package/tinycbor/tinycbor.mk +++ b/package/tinycbor/tinycbor.mk @@ -4,8 +4,8 @@ # ################################################################################ -TINYCBOR_VERSION = v0.4.1 -TINYCBOR_SITE = $(call github,01org,tinycbor,$(TINYCBOR_VERSION)) +TINYCBOR_VERSION = v0.4.2 +TINYCBOR_SITE = $(call github,intel,tinycbor,$(TINYCBOR_VERSION)) TINYCBOR_LICENSE = MIT TINYCBOR_LICENSE_FILES = LICENSE diff --git a/package/tinydtls/tinydtls.hash b/package/tinydtls/tinydtls.hash index 909c8d16f5..66644df7a1 100644 --- a/package/tinydtls/tinydtls.hash +++ b/package/tinydtls/tinydtls.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 ccf6d8fbae03fb2e0ba32878ed8e57d8b4f73538b1064df90a3e764da5fac010 tinydtls-0.8.2.tar.gz +sha256 65fbf31c3551633e7dcc051fac80f2c1a73b0b077af9ed564d726155dfc40513 tinydtls.h diff --git a/package/tinyhttpd/Config.in b/package/tinyhttpd/Config.in index f7365afa6f..f648bcd369 100644 --- a/package/tinyhttpd/Config.in +++ b/package/tinyhttpd/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_TINYHTTPD bool "tinyhttpd" depends on BR2_USE_MMU # fork() help - A relatively simple webserver written as a school project. It is - exceedingly simple, threaded and handles basic CGI scripts. + A relatively simple webserver written as a school + project. It is exceedingly simple, threaded and handles + basic CGI scripts. http://sourceforge.net/projects/tinyhttpd/ diff --git a/package/tinyxml2/Config.in b/package/tinyxml2/Config.in index 25bc5941aa..2f57501253 100644 --- a/package/tinyxml2/Config.in +++ b/package/tinyxml2/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_TINYXML2 bool "tinyxml2" depends on BR2_INSTALL_LIBSTDCPP help - TinyXML-2 is a simple, small, efficient, C++ XML parser that can be - easily integrating into other programs. + TinyXML-2 is a simple, small, efficient, C++ XML parser that + can be easily integrating into other programs. http://www.grinninglizard.com/tinyxml2/index.html diff --git a/package/tor/tor.hash b/package/tor/tor.hash index cf8841aecf..db946eec07 100644 --- a/package/tor/tor.hash +++ b/package/tor/tor.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7df6298860a59f410ff8829cf7905a50c8b3a9094d51a8553603b401e4b5b1a1 tor-0.3.1.8.tar.gz +sha256 c0e1a71e8e079ddd7951f846bcbd79d5e716b602faa5b890c70762fe95cd04e0 tor-0.3.1.10.tar.gz sha256 f9a4f724d8037711dde7d3f1d17094fb7d211545b3a3bbb1b03e769e13ca5608 LICENSE diff --git a/package/tor/tor.mk b/package/tor/tor.mk index c38ed909b8..ddf912fe18 100644 --- a/package/tor/tor.mk +++ b/package/tor/tor.mk @@ -4,7 +4,7 @@ # ################################################################################ -TOR_VERSION = 0.3.1.8 +TOR_VERSION = 0.3.1.10 TOR_SITE = https://dist.torproject.org TOR_LICENSE = BSD-3-Clause TOR_LICENSE_FILES = LICENSE @@ -47,4 +47,16 @@ endif # uses gnu extensions TOR_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' +define TOR_INSTALL_CONF + $(INSTALL) -D -m 644 $(@D)/src/config/torrc.minimal \ + $(TARGET_DIR)/etc/tor/torrc +endef + +TOR_POST_INSTALL_TARGET_HOOKS += TOR_INSTALL_CONF + +define TOR_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 $(@D)/contrib/dist/tor.service \ + $(TARGET_DIR)/usr/lib/systemd/system/tor.service +endef + $(eval $(autotools-package)) diff --git a/package/tovid/Config.in b/package/tovid/Config.in index d8052ea334..a22dca8e1e 100644 --- a/package/tovid/Config.in +++ b/package/tovid/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_TOVID depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS depends on BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 # mplayer + depends on !BR2_TOOLCHAIN_USES_MUSL # procps-ng # The below dependencies are runtime dependencies only select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # procps_ng select BR2_PACKAGE_DVDAUTHOR @@ -27,14 +28,15 @@ config BR2_PACKAGE_TOVID http://tovid.wikia.com/wiki/Installing_tovid -comment "tovid needs a toolchain w/ threads, C++, wchar" +comment "tovid needs a glibc or uclibc toolchain w/ threads, C++, wchar" depends on BR2_USE_MMU depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS depends on BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS \ || !BR2_INSTALL_LIBSTDCPP \ - || !BR2_USE_WCHAR + || !BR2_USE_WCHAR \ + || BR2_TOOLCHAIN_USES_MUSL comment "tovid depends on python or python3" depends on !BR2_PACKAGE_PYTHON && !BR2_PACKAGE_PYTHON3 diff --git a/package/tpm-tools/0001-tpm_nvread-include-sys-stat.h-for-open-modes.patch b/package/tpm-tools/0001-tpm_nvread-include-sys-stat.h-for-open-modes.patch deleted file mode 100644 index 35fd7632bd..0000000000 --- a/package/tpm-tools/0001-tpm_nvread-include-sys-stat.h-for-open-modes.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 5fedfd32a226e3ac8a6022227ec2d8fc6df26901 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 24 Dec 2015 08:57:09 +0100 -Subject: [PATCH] tpm_nvread: include for open() modes - -As the manual page of open(2) indicates, the header -should be included. Indeed, it is this header that provides the mode_t -macros such as S_IRUSR and S_IWUSR. - -While the build happens to work with glibc without this included -header, it fails with other C libraries such as uClibc, due to the -missing inclusion. - -Signed-off-by: Thomas Petazzoni ---- - src/tpm_mgmt/tpm_nvread.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/tpm_mgmt/tpm_nvread.c b/src/tpm_mgmt/tpm_nvread.c -index 35fe17c..92f047c 100644 ---- a/src/tpm_mgmt/tpm_nvread.c -+++ b/src/tpm_mgmt/tpm_nvread.c -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - #include "tpm_nvcommon.h" - #include "tpm_tspi.h" --- -2.6.4 - diff --git a/package/tpm-tools/0002-Makefile.am-make-sure-libintl-is-in-LDFLAGS-when-nee.patch b/package/tpm-tools/0002-Makefile.am-make-sure-libintl-is-in-LDFLAGS-when-nee.patch deleted file mode 100644 index fac7b2cc9a..0000000000 --- a/package/tpm-tools/0002-Makefile.am-make-sure-libintl-is-in-LDFLAGS-when-nee.patch +++ /dev/null @@ -1,104 +0,0 @@ -Fetched from: http://sourceforge.net/p/trousers/mailman/message/34728585/ -Upstream status: Submitted - -From 924cbdfc67ca405aa4df2f9d3787365618b58630 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Wed, 30 Dec 2015 00:06:33 +0100 -Subject: [PATCH] Makefile.am: make sure libintl is in LDFLAGS when needed - -The build-system internally builds a couple of static libraries used to -build the final programs. - -When linking these libraries and the final programs, we need to -explicitly tell libtool to link with libintl in order to resolve all the -missing symbols. - -This is done in the appropriate LDADD/LIBADD variables (or the per-target -*_LDADD/*_LIBADD ones when they do not default to LDADD or LIBADD), for -any sources using gettext/libintl functionalities. - -This change fixes build failures [2,3] in cross-compilation, triggered by -Buildroot buildfarms [1]. - -[1] http://autobuild.buildroot.org/ -[2] http://autobuild.buildroot.org/?reason=tpm-tools-1.3.8 -[3] http://autobuild.buildroot.org/results/c82/c82a6c1f41c561b15f10e7b7ffcaed15fa0ec895/build-end.log - -Signed-off-by: Samuel Martin ---- - lib/Makefile.am | 6 +++--- - src/cmds/Makefile.am | 2 +- - src/data_mgmt/Makefile.am | 2 +- - src/tpm_mgmt/Makefile.am | 2 +- - 4 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/lib/Makefile.am b/lib/Makefile.am -index cef6a2f..c1d7009 100644 ---- a/lib/Makefile.am -+++ b/lib/Makefile.am -@@ -44,7 +44,7 @@ libtpm_utils_la_SOURCES = tpm_utils.c \ - # - # TSPI interface library - libtpm_tspi_la_SOURCES = tpm_tspi.c --libtpm_tspi_la_LIBADD = libtpm_utils.la -ldl -+libtpm_tspi_la_LIBADD = libtpm_utils.la -ldl @INTLLIBS@ - - # - # PKCS#11 interface library -@@ -52,7 +52,7 @@ if P11_SUPPORT - noinst_LTLIBRARIES += libtpm_pkcs11.la - - libtpm_pkcs11_la_SOURCES= tpm_pkcs11.c --libtpm_pkcs11_la_LIBADD = libtpm_utils.la -+libtpm_pkcs11_la_LIBADD = libtpm_utils.la @INTLLIBS@ - endif - - # -@@ -80,4 +80,4 @@ endif - # Unseal library - for addition to existing apps, counter part of seal cmd - libtpm_unseal_la_SOURCES = tpm_unseal.c - libtpm_unseal_la_LDFLAGS = -shared -version-info 1:0:0 --libtpm_unseal_la_LIBADD = -ltspi libtpm_tspi.la -+libtpm_unseal_la_LIBADD = -ltspi libtpm_tspi.la @INTLLIBS@ -diff --git a/src/cmds/Makefile.am b/src/cmds/Makefile.am -index de73ecf..27fc9ef 100644 ---- a/src/cmds/Makefile.am -+++ b/src/cmds/Makefile.am -@@ -30,7 +30,7 @@ else - AM_CPPFLAGS = -I$(top_srcdir)/include -D_LINUX - endif - --LDADD = $(top_builddir)/lib/libtpm_tspi.la -ltspi $(top_builddir)/lib/libtpm_unseal.la -ltpm_unseal -lcrypto -+LDADD = $(top_builddir)/lib/libtpm_tspi.la -ltspi $(top_builddir)/lib/libtpm_unseal.la -ltpm_unseal -lcrypto @INTLLIBS@ - - tpm_sealdata_SOURCES = tpm_sealdata.c - tpm_unsealdata_SOURCES = tpm_unsealdata.c -diff --git a/src/data_mgmt/Makefile.am b/src/data_mgmt/Makefile.am -index f8bf41c..de505e4 100644 ---- a/src/data_mgmt/Makefile.am -+++ b/src/data_mgmt/Makefile.am -@@ -38,7 +38,7 @@ noinst_HEADERS = data_common.h \ - # Common build flags - AM_CPPFLAGS = -I$(top_srcdir)/include -D_LINUX - --LDADD = $(top_builddir)/lib/libtpm_pkcs11.la -ltspi -ldl -+LDADD = $(top_builddir)/lib/libtpm_pkcs11.la -ltspi -ldl @INTLLIBS@ - - - # -diff --git a/src/tpm_mgmt/Makefile.am b/src/tpm_mgmt/Makefile.am -index 195fba9..7ca47c9 100644 ---- a/src/tpm_mgmt/Makefile.am -+++ b/src/tpm_mgmt/Makefile.am -@@ -55,7 +55,7 @@ else - AM_CPPFLAGS = -I$(top_srcdir)/include -D_LINUX - endif - --LDADD = $(top_builddir)/lib/libtpm_tspi.la -ltspi -+LDADD = $(top_builddir)/lib/libtpm_tspi.la -ltspi @INTLLIBS@ - - tpm_startup_SOURCES = tpm_startup.c - tpm_reset_SOURCES = tpm_reset.c --- -2.6.4 - diff --git a/package/tpm-tools/0002-configure.in-remove-Werror.patch b/package/tpm-tools/0002-configure.in-remove-Werror.patch deleted file mode 100644 index c101a9517f..0000000000 --- a/package/tpm-tools/0002-configure.in-remove-Werror.patch +++ /dev/null @@ -1,27 +0,0 @@ -From b060873f444d79f3f5aa388427cb1ede6665834a Mon Sep 17 00:00:00 2001 -From: Kent Yoder -Date: Mon, 5 Nov 2012 14:58:31 -0600 -Subject: [PATCH] configure.in: remove -Werror - -Signed-off-by: Kent Yoder -Signed-off-by: Noe Rubinstein ---- - configure.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.in b/configure.in -index da170d0..0f175be 100644 ---- a/configure.in -+++ b/configure.in -@@ -138,7 +138,7 @@ AC_TYPE_SIZE_T - AC_TYPE_SIGNAL - AC_TYPE_UID_T - --CFLAGS="$CFLAGS -Wall -Werror -Wreturn-type -Wsign-compare" -+CFLAGS="$CFLAGS -Wall -Wreturn-type -Wsign-compare" - - AC_CONFIG_FILES(./Makefile \ - po/Makefile.in \ --- -2.1.4 - diff --git a/package/tpm-tools/tpm-tools.hash b/package/tpm-tools/tpm-tools.hash index 8c1ff899a9..a2da230a7e 100644 --- a/package/tpm-tools/tpm-tools.hash +++ b/package/tpm-tools/tpm-tools.hash @@ -1,3 +1,7 @@ -# http://sourceforge.net/projects/trousers/files/tpm-tools/1.3.8/ -sha1 f2c799ac8dc78f3537e1dbe4ae7c6e93f37e868c tpm-tools-1.3.8.tar.gz -md5 85a978c4e03fefd4b73cbeadde7c4d0b tpm-tools-1.3.8.tar.gz +# http://sourceforge.net/projects/trousers/files/tpm-tools/1.3.9.1/ +sha1 c35cb031c6b5220dd1c8a03995654fdd12aa3031 tpm-tools-1.3.9.1.tar.gz +md5 1532293aa632a0eaa7e60df87c779855 tpm-tools-1.3.9.1.tar.gz + +# Locally calculated +sha256 9cb714e2650826e2e932f65bc0ba9d61b927dc5fea47f2c2a2b64f0fdfcbfa68 tpm-tools-1.3.9.1.tar.gz +sha256 7b47225a5b77cb7825efc6a4d7e0ac57864c790542cf92f5080ec2bf310c00e5 LICENSE diff --git a/package/tpm-tools/tpm-tools.mk b/package/tpm-tools/tpm-tools.mk index 4dbf50a298..b6738251ff 100644 --- a/package/tpm-tools/tpm-tools.mk +++ b/package/tpm-tools/tpm-tools.mk @@ -4,15 +4,11 @@ # ################################################################################ -TPM_TOOLS_VERSION = 1.3.8 +TPM_TOOLS_VERSION = 1.3.9.1 TPM_TOOLS_SITE = http://downloads.sourceforge.net/project/trousers/tpm-tools/$(TPM_TOOLS_VERSION) -TPM_TOOLS_STRIP_COMPONENTS = 2 TPM_TOOLS_LICENSE = Common Public License Version 1.0 TPM_TOOLS_LICENSE_FILES = LICENSE TPM_TOOLS_DEPENDENCIES = trousers openssl $(TARGET_NLS_DEPENDENCIES) -# configure.in and lib/Makefile.am is patched -TPM_TOOLS_AUTORECONF = YES -TPM_TOOLS_GETTEXTIZE = YES TPM_TOOLS_CONF_OPTS = --disable-pkcs11-support diff --git a/package/trace-cmd/Config.in b/package/trace-cmd/Config.in index fcec1027e8..574541c571 100644 --- a/package/trace-cmd/Config.in +++ b/package/trace-cmd/Config.in @@ -6,10 +6,10 @@ config BR2_PACKAGE_TRACE_CMD help Command line reader for ftrace. - To use this profiling tool, you should enable ftrace in your kernel - configuration. This command collect traces on your target. - You can analyse these traces on the target or on the host via the gui - "kernel shark" + To use this profiling tool, you should enable ftrace in your + kernel configuration. This command collect traces on your + target. You can analyse these traces on the target or on + the host via the gui "kernel shark" http://git.kernel.org/cgit/linux/kernel/git/rostedt/trace-cmd.git diff --git a/package/traceroute/Config.in b/package/traceroute/Config.in new file mode 100644 index 0000000000..42ae5a3075 --- /dev/null +++ b/package/traceroute/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_TRACEROUTE + bool "traceroute" + help + A new modern implementation of the traceroute(8) utility for + Linux systems. It tracks the route packets taken from an IP + network on their way to a given host. + + http://traceroute.sourceforge.net/ diff --git a/package/traceroute/traceroute.hash b/package/traceroute/traceroute.hash new file mode 100644 index 0000000000..b952548741 --- /dev/null +++ b/package/traceroute/traceroute.hash @@ -0,0 +1,6 @@ +# Locally computed: +sha256 3669d22a34d3f38ed50caba18cd525ba55c5c00d5465f2d20d7472e5d81603b6 traceroute-2.1.0.tar.gz + +# Hash for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/traceroute/traceroute.mk b/package/traceroute/traceroute.mk new file mode 100644 index 0000000000..d01c62d5ea --- /dev/null +++ b/package/traceroute/traceroute.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# traceroute +# +################################################################################ + +TRACEROUTE_VERSION = 2.1.0 +TRACEROUTE_SITE = http://downloads.sourceforge.net/traceroute/traceroute/traceroute-$(TRACEROUTE_VERSION) + +TRACEROUTE_LICENSE = GPL-2.0+, LGPL-2.1+ +TRACEROUTE_LICENSE_FILES = COPYING COPYING.LIB + +# Prefer full-featured traceroute over busybox's version +ifeq ($(BR2_PACKAGE_BUSYBOX),y) +TRACEROUTE_DEPENDENCIES += busybox +endif + +define TRACEROUTE_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" -C $(@D) +endef + +define TRACEROUTE_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + DESTDIR=$(TARGET_DIR) prefix=/usr install \ + INSTALL=$(INSTALL) -C $(@D) +endef + +$(eval $(generic-package)) diff --git a/package/transmission/Config.in b/package/transmission/Config.in index 2110e52ac6..dac4d1b330 100644 --- a/package/transmission/Config.in +++ b/package/transmission/Config.in @@ -32,11 +32,6 @@ config BR2_PACKAGE_TRANSMISSION_DAEMON help Install transmission daemon. -config BR2_PACKAGE_TRANSMISSION_REMOTE - bool "transmission-remote" - help - Install transmission remote management tool. - config BR2_PACKAGE_TRANSMISSION_GTK bool "transmission-gtk" depends on BR2_PACKAGE_LIBGTK3 && BR2_SYSTEM_ENABLE_NLS diff --git a/package/transmission/S92transmission b/package/transmission/S92transmission index e5976b0cfb..29d7cd5863 100644 --- a/package/transmission/S92transmission +++ b/package/transmission/S92transmission @@ -51,9 +51,6 @@ DAEMON=$(which $NAME) PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME diff --git a/package/transmission/transmission.hash b/package/transmission/transmission.hash index 849a722d2b..4c1c3f9a3a 100644 --- a/package/transmission/transmission.hash +++ b/package/transmission/transmission.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f transmission-2.92.tar.xz +sha256 8815920e0a4499bcdadbbe89a4115092dab42ce5199f71ff9a926cfd12b9b90b transmission-2.93.tar.xz +sha256 20801783bf59e27d03ed6aab625b32a34e221ae95bf801db87827c8023398495 COPYING diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk index 7f4675302e..65add0d8c0 100644 --- a/package/transmission/transmission.mk +++ b/package/transmission/transmission.mk @@ -4,7 +4,7 @@ # ################################################################################ -TRANSMISSION_VERSION = 2.92 +TRANSMISSION_VERSION = 2.93 TRANSMISSION_SITE = https://github.com/transmission/transmission-releases/raw/master TRANSMISSION_SOURCE = transmission-$(TRANSMISSION_VERSION).tar.xz TRANSMISSION_DEPENDENCIES = \ @@ -16,7 +16,7 @@ TRANSMISSION_DEPENDENCIES = \ zlib TRANSMISSION_AUTORECONF = YES TRANSMISSION_CONF_OPTS = \ - --disable-libnotify \ + --without-inotify \ --enable-lightweight TRANSMISSION_LICENSE = GPL-2.0 or GPL-3.0 with OpenSSL exception TRANSMISSION_LICENSE_FILES = COPYING @@ -49,9 +49,9 @@ TRANSMISSION_CONF_OPTS += --enable-daemon ifeq ($(BR2_PACKAGE_SYSTEMD),y) TRANSMISSION_DEPENDENCIES += systemd -TRANSMISSION_CONF_OPTS += --with-systemd-daemon +TRANSMISSION_CONF_OPTS += --with-systemd else -TRANSMISSION_CONF_OPTS += --without-systemd-daemon +TRANSMISSION_CONF_OPTS += --without-systemd endif define TRANSMISSION_USERS @@ -75,12 +75,6 @@ else TRANSMISSION_CONF_OPTS += --disable-daemon endif -ifeq ($(BR2_PACKAGE_TRANSMISSION_REMOTE),y) -TRANSMISSION_CONF_OPTS += --enable-remote -else -TRANSMISSION_CONF_OPTS += --disable-remote -endif - ifeq ($(BR2_PACKAGE_TRANSMISSION_GTK),y) TRANSMISSION_CONF_OPTS += --with-gtk TRANSMISSION_DEPENDENCIES += libgtk3 diff --git a/package/tremor/tremor.hash b/package/tremor/tremor.hash new file mode 100644 index 0000000000..89661a64cd --- /dev/null +++ b/package/tremor/tremor.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 ba94cfdf886399c550f76908285bfa9e322f24085de6f1810c2abea565c13a15 tremor-7c30a66346199f3f09017a09567c6c8a3a0eedc8.tar.gz +sha256 d2ab5758336489da61c12cc5bb757da5339c4ae9001f9bb0562b4370249af814 COPYING diff --git a/package/tremor/tremor.mk b/package/tremor/tremor.mk index 05996e2a8a..835fe36172 100644 --- a/package/tremor/tremor.mk +++ b/package/tremor/tremor.mk @@ -4,9 +4,9 @@ # ################################################################################ -TREMOR_SITE = http://svn.xiph.org/trunk/Tremor -TREMOR_SITE_METHOD = svn -TREMOR_VERSION = 19427 +TREMOR_VERSION = 7c30a66346199f3f09017a09567c6c8a3a0eedc8 +TREMOR_SITE = https://git.xiph.org/tremor.git +TREMOR_SITE_METHOD = git TREMOR_LICENSE = BSD-3-Clause TREMOR_LICENSE_FILES = COPYING diff --git a/package/triggerhappy/triggerhappy.mk b/package/triggerhappy/triggerhappy.mk index 9f74c486f1..4c39ab5e5d 100644 --- a/package/triggerhappy/triggerhappy.mk +++ b/package/triggerhappy/triggerhappy.mk @@ -8,9 +8,11 @@ TRIGGERHAPPY_VERSION = b822888066129350e51ad79f1cf307fa38dae4f7 TRIGGERHAPPY_SITE = $(call github,wertarbyte,triggerhappy,$(TRIGGERHAPPY_VERSION)) TRIGGERHAPPY_LICENSE = GPL-3.0+ TRIGGERHAPPY_LICENSE_FILES = COPYING +TRIGGERHAPPY_DEPENDENCIES = host-pkgconf define TRIGGERHAPPY_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) thd th-cmd + $(MAKE) $(TARGET_CONFIGURE_OPTS) PKGCONFIG="$(PKG_CONFIG_HOST_BINARY)" \ + -C $(@D) thd th-cmd endef ifeq ($(BR2_PACKAGE_HAS_UDEV),y) diff --git a/package/trinity/0001-compat-handle-removed-autofs-macros.patch b/package/trinity/0001-compat-handle-removed-autofs-macros.patch new file mode 100644 index 0000000000..e3c6ee3b54 --- /dev/null +++ b/package/trinity/0001-compat-handle-removed-autofs-macros.patch @@ -0,0 +1,61 @@ +From e4f31d5a1ce65974c2a6b2e6e1a2b16fffc51518 Mon Sep 17 00:00:00 2001 +From: Jiri Slaby +Date: Tue, 28 Nov 2017 10:15:22 +0100 +Subject: [PATCH] compat: handle removed autofs macros + +In file included from ioctls/autofs.c:4:0: +ioctls/autofs.c:241:8: error: 'AUTOFS_IOC_EXPIRE_INDIRECT' undeclared here (not in a function); did you mean 'AUTOFS_IOC_EXPIRE_CMD'? + IOCTL(AUTOFS_IOC_EXPIRE_INDIRECT), + ^ +include/ioctls.h:53:15: note: in definition of macro 'IOCTL' + { .request = _request, .name = #_request, } + ^~~~~~~~ +ioctls/autofs.c:242:8: error: 'AUTOFS_IOC_EXPIRE_DIRECT' undeclared here (not in a function); did you mean 'AUTOFS_IOC_EXPIRE_INDIRECT'? + IOCTL(AUTOFS_IOC_EXPIRE_DIRECT), + ^ +include/ioctls.h:53:15: note: in definition of macro 'IOCTL' + { .request = _request, .name = #_request, } + ^~~~~~~~ + +Define them as AUTOFS_IOC_EXPIRE_MULTI as they used to be. + +Signed-off-by: Jiri Slaby +Signed-off-by: Baruch Siach +--- +Patch status: upstream commit e4f31d5a1ce + + include/compat.h | 8 ++++++++ + ioctls/autofs.c | 1 + + 2 files changed, 9 insertions(+) + +diff --git a/include/compat.h b/include/compat.h +index 10065ceca5f6..fc9a1b95ac4c 100644 +--- a/include/compat.h ++++ b/include/compat.h +@@ -1209,3 +1209,11 @@ struct kvm_get_htab_fd { + #ifndef SO_IP_SET + #define SO_IP_SET 83 + #endif ++ ++/* linux/auto_fs4.h */ ++#ifndef AUTOFS_IOC_EXPIRE_INDIRECT ++#define AUTOFS_IOC_EXPIRE_INDIRECT AUTOFS_IOC_EXPIRE_MULTI ++#endif ++#ifndef AUTOFS_IOC_EXPIRE_DIRECT ++#define AUTOFS_IOC_EXPIRE_DIRECT AUTOFS_IOC_EXPIRE_MULTI ++#endif +diff --git a/ioctls/autofs.c b/ioctls/autofs.c +index 04a3eb811326..a39ccccc056b 100644 +--- a/ioctls/autofs.c ++++ b/ioctls/autofs.c +@@ -8,6 +8,7 @@ + #include "shm.h" + #include "syscall.h" + #include "utils.h" ++#include "compat.h" + + /* include/linux/auto_dev-ioctl.h */ + /* +-- +2.15.0 + diff --git a/package/trinity/0001-use-userspace-headers-for-ax25-instead-of-kernel.patch b/package/trinity/0001-use-userspace-headers-for-ax25-instead-of-kernel.patch deleted file mode 100644 index e077bf43f2..0000000000 --- a/package/trinity/0001-use-userspace-headers-for-ax25-instead-of-kernel.patch +++ /dev/null @@ -1,26 +0,0 @@ -From b0e66a2d084ffc210bc1fc247efb4d177e9f7e3d Mon Sep 17 00:00:00 2001 -From: Dave Jones -Date: Mon, 5 Dec 2016 12:46:14 -0500 -Subject: [PATCH] use userspace headers for ax25 instead of kernel. - -This should solve https://bugzilla.redhat.com/show_bug.cgi?id=1400720 - -[Upstream commit: https://github.com/kernelslacker/trinity/commit/b0e66a2d084ffc210bc1fc247efb4d177e9f7e3d] -Signed-off-by: Thomas Petazzoni ---- - net/proto-rose.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/net/proto-rose.c b/net/proto-rose.c -index ccbf294f..b277f839 100644 ---- a/net/proto-rose.c -+++ b/net/proto-rose.c -@@ -6,7 +6,7 @@ - #include - #include - #include --#include /* for ax25_address in rose.h */ -+#include /* for ax25_address in rose.h */ - #include - #include - #include "net.h" diff --git a/package/trinity/0002-fix-build-when_USE_BPF-is-not-defined.patch b/package/trinity/0002-fix-build-when_USE_BPF-is-not-defined.patch deleted file mode 100644 index 4fb2c690c5..0000000000 --- a/package/trinity/0002-fix-build-when_USE_BPF-is-not-defined.patch +++ /dev/null @@ -1,72 +0,0 @@ -From f447db18b389050ecc5e66dbf549d5953633e23e Mon Sep 17 00:00:00 2001 -From: Jan Stancek -Date: Mon, 7 Nov 2016 12:50:27 +0100 -Subject: [PATCH] fix build when USE_BPF is not defined - -net/bpf.o: In function `bpf_gen_filter': bpf.c:852: undefined reference to `get_rand_bpf_fd' - -Signed-off-by: Jan Stancek -[Upstream commit: https://github.com/kernelslacker/trinity/commit/f447db18b389050ecc5e66dbf549d5953633e23e] -Signed-off-by: Thomas Petazzoni ---- - net/bpf.c | 3 +++ - syscalls/prctl.c | 4 +++- - syscalls/setsockopt.c | 2 ++ - 3 files changed, 8 insertions(+), 1 deletion(-) - -diff --git a/net/bpf.c b/net/bpf.c -index 4fe94173..d6ca14bd 100644 ---- a/net/bpf.c -+++ b/net/bpf.c -@@ -8,6 +8,7 @@ - #include - - #include "bpf.h" -+#include "config.h" - #include "debug.h" - #include "log.h" - #include "net.h" -@@ -17,6 +18,7 @@ - #include "utils.h" - #include "compat.h" - -+#ifdef USE_BPF - /** - * BPF filters are used in networking such as in pf_packet, but also - * in seccomp for application sand-boxing. Additionally, with arch -@@ -885,3 +887,4 @@ void bpf_gen_filter(unsigned long **addr, unsigned long *addrlen) - if (dump_bpf) - bpf_disasm_all(bpf->filter, bpf->len); - } -+#endif -diff --git a/syscalls/prctl.c b/syscalls/prctl.c -index 02d2dbc6..cdbcdc21 100644 ---- a/syscalls/prctl.c -+++ b/syscalls/prctl.c -@@ -45,9 +45,11 @@ static int prctl_opts[] = { - #ifdef USE_SECCOMP - static void do_set_seccomp(struct syscallrecord *rec) - { -- unsigned long *optval = NULL, optlen = 0; -+ unsigned long *optval = NULL, __unused__ optlen = 0; - -+#ifdef USE_BPF - bpf_gen_seccomp(&optval, &optlen); -+#endif - - rec->a2 = SECCOMP_MODE_FILTER; - rec->a3 = (unsigned long) optval; -diff --git a/syscalls/setsockopt.c b/syscalls/setsockopt.c -index 8189b7a8..d395e54e 100644 ---- a/syscalls/setsockopt.c -+++ b/syscalls/setsockopt.c -@@ -48,7 +48,9 @@ static void socket_setsockopt(struct sockopt *so, __unused__ struct socket_tripl - case SO_ATTACH_FILTER: { - unsigned long *optval = NULL, optlen = 0; - -+#ifdef USE_BPF - bpf_gen_filter(&optval, &optlen); -+#endif - - so->optval = (unsigned long) optval; - so->optlen = optlen; diff --git a/package/trinity/0003-Check-for-bpf-attr-map-flags.patch b/package/trinity/0003-Check-for-bpf-attr-map-flags.patch deleted file mode 100644 index ee2bc377b5..0000000000 --- a/package/trinity/0003-Check-for-bpf-attr-map-flags.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 87427256640f806710dd97fc807a9a896147c617 Mon Sep 17 00:00:00 2001 -From: Vinson Lee -Date: Sat, 12 Nov 2016 00:55:35 +0000 -Subject: [PATCH] Check for bpf_attr map_flags. - -map_flags is not available until Linux 4.6. - -Signed-off-by: Vinson Lee -[Upstream commit: https://github.com/kernelslacker/trinity/commit/87427256640f806710dd97fc807a9a896147c617] -Signed-off-by: Thomas Petazzoni ---- - configure | 28 +++++++++++++++++++++++++++- - 1 file changed, 27 insertions(+), 1 deletion(-) - -diff --git a/configure b/configure -index ca37e4ef..18d9df73 100755 ---- a/configure -+++ b/configure -@@ -222,6 +222,33 @@ else - fi - - ############################################################################################# -+# is /usr/include/linux/bpf.h new enough to feature bpf -+# -+echo -n "[*] Checking if bpf_attr can use map_flags.. " -+rm -f "$TMP" || exit 1 -+ -+cat >"$TMP.c" << EOF -+#include -+#include -+ -+void main() -+{ -+ union bpf_attr attr = { -+ .map_flags = 0, -+ }; -+} -+EOF -+ -+${CC} ${CFLAGS} "$TMP.c" -o "$TMP" &>"$TMP.log" -+if [ ! -x "$TMP" ]; then -+ echo $RED "[NO]" $COL_RESET -+ MISSING_DEFS=1 -+else -+ echo $GREEN "[YES]" $COL_RESET -+ echo "#define USE_BPF 1" >> $CONFIGH -+fi -+ -+############################################################################################# - - check_header linux/caif/caif_socket.h USE_CAIF - check_header linux/if_alg.h USE_IF_ALG -@@ -239,7 +266,6 @@ check_header execinfo.h USE_BACKTRACE - check_header netatalk/at.h USE_APPLETALK - check_header netrom/netrom.h USE_NETROM - check_header netrose/rose.h USE_ROSE --check_header linux/bpf.h USE_BPF - - rm -f "$TMP" "$TMP.log" "$TMP.c" - diff --git a/package/trinity/0004-get_syscall_entry-remove-SYSCALL_OFFSET.patch b/package/trinity/0004-get_syscall_entry-remove-SYSCALL_OFFSET.patch deleted file mode 100644 index 4c58d6249a..0000000000 --- a/package/trinity/0004-get_syscall_entry-remove-SYSCALL_OFFSET.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 1d9af9d07ae111c253c92112fb50000adac47a0c Mon Sep 17 00:00:00 2001 -From: Marcin Nowakowski -Date: Thu, 29 Jun 2017 12:24:10 +0200 -Subject: [PATCH] get_syscall_entry: remove SYSCALL_OFFSET - -0-based syscall numbers are used throughout the application and the -SYSCALL_OFFSET is only added when invoking the syscall. It is therefore -wrong to substract the offset in get_syscall_entry, as it leads to -dereferencing array entries at negative offsets and segfaults. - -Tested on MIPS32/LE. -This change effectively reverts cc5108ff ('make get_syscall_entry take -SYSCALL_OFFSET into account') - -Signed-off-by: Marcin Nowakowski -[Upstream commit: https://github.com/kernelslacker/trinity/commit/1d9af9d07ae111c253c92112fb50000adac47a0c] -Signed-off-by: Thomas Petazzoni ---- - tables.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/tables.c b/tables.c -index e7dab85d..8090146a 100644 ---- a/tables.c -+++ b/tables.c -@@ -673,15 +673,14 @@ int munge_tables(void) - */ - struct syscallentry * get_syscall_entry(unsigned int callno, bool do32) - { -- unsigned int offset = callno - SYSCALL_OFFSET; - if (biarch == FALSE) -- return syscalls[offset].entry; -+ return syscalls[callno].entry; - - /* biarch case */ - if (do32 == TRUE) -- return syscalls_32bit[offset].entry; -+ return syscalls_32bit[callno].entry; - else -- return syscalls_64bit[offset].entry; -+ return syscalls_64bit[callno].entry; - } - - /* diff --git a/package/trinity/0005-configure-fix-cross-compile-detection-of-broken-ipv6.patch b/package/trinity/0005-configure-fix-cross-compile-detection-of-broken-ipv6.patch deleted file mode 100644 index 5bc326010d..0000000000 --- a/package/trinity/0005-configure-fix-cross-compile-detection-of-broken-ipv6.patch +++ /dev/null @@ -1,49 +0,0 @@ -From ac38a49a18e337fb3bc7ac8e06097e28e1e3b3f7 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Fri, 14 Apr 2017 07:43:04 +0300 -Subject: [PATCH] configure: fix cross compile detection of broken ipv6 headers - -Checking the content of the host ipv6.h headers is incompatible with cross -compilation. Target headers may not be the same as the host. Do direct build -test instead using the ${CC} (cross) compiler to detect headers issues. - -Define _GNU_SOURCE to make sure glibc ipv6 definitions are exposed. - -Signed-off-by: Baruch Siach ---- -Patch status: submitted upstream - - configure | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index aa3f7f334971..8639a38eba96 100755 ---- a/configure -+++ b/configure -@@ -51,8 +51,21 @@ echo "[*] Checking system headers." - [ -z "$IPV6" ] && IPV6=yes - if [[ "$IPV6" == "yes" ]]; then - echo -n "[*] Checking ipv6 headers ... " -- RET=$(grep __UAPI_DEF_IN6_PKTINFO /usr/include/linux/ipv6.h) -- if [ -z "$RET" ]; then -+ rm -f "$TMP" || exit 1 -+ -+ cat >"$TMP.c" << EOF -+#include -+#include -+#include -+#include -+ -+int main() -+{ -+ struct in6_addr test; -+} -+EOF -+ ${CC} ${CFLAGS} -D_GNU_SOURCE "$TMP.c" -o "$TMP" &>"$TMP.log" -+ if [ ! -x "$TMP" ]; then - echo $RED "[BROKEN]" $COL_RESET "See https://patchwork.ozlabs.org/patch/425881/" - else - echo $GREEN "[OK]" $COL_RESET --- -2.11.0 - diff --git a/package/trinity/0006-Include-sys-io.h-for-UIO_MAXIOV-symbol.patch b/package/trinity/0006-Include-sys-io.h-for-UIO_MAXIOV-symbol.patch deleted file mode 100644 index 27c7850a01..0000000000 --- a/package/trinity/0006-Include-sys-io.h-for-UIO_MAXIOV-symbol.patch +++ /dev/null @@ -1,40 +0,0 @@ -From dd7fc8b44cc8bb8a7e9dc03aa3aa57fbefbf433b Mon Sep 17 00:00:00 2001 -From: Vinson Lee -Date: Tue, 20 Jun 2017 22:43:01 +0000 -Subject: [PATCH] Include sys/io.h for UIO_MAXIOV symbol. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch fixes this build error. - - CC net/proto-ipv4.o -net/proto-ipv4.c: In function ‘ip_setsockopt’: -net/proto-ipv4.c:231:49: error: ‘UIO_MAXIOV’ undeclared (first use in this function); did you mean ‘_IO_MAGIC’? - so->optlen = rnd() % sizeof(unsigned long)*(2*UIO_MAXIOV+512); - ^~~~~~~~~~ - _IO_MAGIC - -Upstream: https://github.com/kernelslacker/trinity/commit/dd7fc8b44cc8bb8a7e9dc03aa3aa57fbefbf433b - -Signed-off-by: Vinson Lee -Signed-off-by: Matthew Weber ---- - net/proto-ipv4.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/net/proto-ipv4.c b/net/proto-ipv4.c -index b77364e..9ffaa5e 100644 ---- a/net/proto-ipv4.c -+++ b/net/proto-ipv4.c -@@ -1,6 +1,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -1.9.1 - diff --git a/package/trinity/Config.in b/package/trinity/Config.in index 0fc737e28f..31a930570a 100644 --- a/package/trinity/Config.in +++ b/package/trinity/Config.in @@ -10,14 +10,12 @@ config BR2_PACKAGE_TRINITY_ARCH_SUPPORTS config BR2_PACKAGE_TRINITY bool "trinity" depends on BR2_PACKAGE_TRINITY_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_USES_MUSL # FTW_ACTIONRETVAL depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # IPV6_UNICAST_IF help A Linux System call fuzz tester http://codemonkey.org.uk/projects/trinity/ -comment "trinity needs a uClibc or glibc toolchain w/ headers >= 3.4" +comment "trinity needs a toolchain w/ headers >= 3.4" depends on BR2_PACKAGE_TRINITY_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_USES_MUSL || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 diff --git a/package/trinity/trinity.hash b/package/trinity/trinity.hash index 7f48cfaba3..2000653336 100644 --- a/package/trinity/trinity.hash +++ b/package/trinity/trinity.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 4cb2bd4049ce523fdf47490c4c18b8eb713c720d4b3b13d6ec2ae246aac908ad trinity-1.7.tar.xz +sha256 8cadc4221660b7accc4728311ce1a130ac9b9d1f3b04e35508ba0cc80d9c3f94 trinity-1.8.tar.xz +sha256 35e3fc68c89fd7b8f72fd910b521cb3292f859e9181f3c26bd0df84d144bc1d4 COPYING diff --git a/package/trinity/trinity.mk b/package/trinity/trinity.mk index 1bada39cc5..b75c46943e 100644 --- a/package/trinity/trinity.mk +++ b/package/trinity/trinity.mk @@ -4,16 +4,12 @@ # ################################################################################ -TRINITY_VERSION = 1.7 +TRINITY_VERSION = 1.8 TRINITY_SITE = http://codemonkey.org.uk/projects/trinity TRINITY_SOURCE = trinity-$(TRINITY_VERSION).tar.xz TRINITY_LICENSE = GPL-2.0 TRINITY_LICENSE_FILES = COPYING -ifeq ($(BR2_PACKAGE_BTRFS_PROGS),y) -TRINITY_DEPENDENCIES += btrfs-progs -endif - define TRINITY_CONFIGURE_CMDS (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure) endef diff --git a/package/trousers/Config.in b/package/trousers/Config.in index eb791d173c..7a1470629a 100644 --- a/package/trousers/Config.in +++ b/package/trousers/Config.in @@ -10,9 +10,9 @@ config BR2_PACKAGE_TROUSERS help The open-source TCG Software Stack (TSS). - This library enables the use of a Trusted Platform Module that - complies with the TPM specification, version 1.2. It implements the - TSS specification, version 1.2. + This library enables the use of a Trusted Platform Module + that complies with the TPM specification, version 1.2. It + implements the TSS specification, version 1.2. http://trousers.sourceforge.net/ diff --git a/package/ts4900-fpga/Config.in b/package/ts4900-fpga/Config.in index 77a73b5ae2..7aa94e26f2 100644 --- a/package/ts4900-fpga/Config.in +++ b/package/ts4900-fpga/Config.in @@ -2,10 +2,10 @@ config BR2_PACKAGE_TS4900_FPGA bool "ts4900-fpga" depends on BR2_arm help - TS-4900's FPGA implements clocks, UART MUX, and GPIOs. One of these - GPIOs is used to enable the wifi module. + TS-4900's FPGA implements clocks, UART MUX, and GPIOs. One + of these GPIOs is used to enable the wifi module. - It is loaded by U-Boot during the boot sequence, the default U-boot - script expects to find it in the /boot folder. + It is loaded by U-Boot during the boot sequence, the default + U-boot script expects to find it in the /boot folder. http://wiki.embeddedarm.com/wiki/TS-4900#FPGA_Changelog diff --git a/package/tslib/tslib.hash b/package/tslib/tslib.hash index cca74fc827..f0c6ff842f 100644 --- a/package/tslib/tslib.hash +++ b/package/tslib/tslib.hash @@ -1,5 +1,5 @@ -# https://github.com/kergoth/tslib/releases/download/1.13/tslib-1.13.tar.xz.sha256 -sha256 b381279f2d6ad6acb80cfc4852860853b7bcd1a9440821e9fe920c33f4e4f8da tslib-1.13.tar.xz +# https://github.com/kergoth/tslib/releases/download/1.15/tslib-1.15.tar.xz.sha256 +sha256 7ce48807cab655076d71a1ceef3ed0ab8a25df98074981d4a8fd1477ee5f710c tslib-1.15.tar.xz # Locally computed sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 COPYING diff --git a/package/tslib/tslib.mk b/package/tslib/tslib.mk index 06f887a151..3ba94d2568 100644 --- a/package/tslib/tslib.mk +++ b/package/tslib/tslib.mk @@ -4,7 +4,7 @@ # ################################################################################ -TSLIB_VERSION = 1.13 +TSLIB_VERSION = 1.15 TSLIB_SITE = https://github.com/kergoth/tslib/releases/download/$(TSLIB_VERSION) TSLIB_SOURCE = tslib-$(TSLIB_VERSION).tar.xz TSLIB_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) @@ -26,7 +26,9 @@ TSLIB_CONF_OPTS += \ --enable-iir=static \ --enable-dejitter=static \ --enable-debounce=static \ - --enable-skip=static + --enable-skip=static \ + --enable-lowpass=static \ + --enable-invert=static endif $(eval $(autotools-package)) diff --git a/package/tstools/Config.in b/package/tstools/Config.in index ca5f8fc2ca..0c55bde973 100644 --- a/package/tstools/Config.in +++ b/package/tstools/Config.in @@ -3,16 +3,17 @@ config BR2_PACKAGE_TSTOOLS depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS help - This is a set of cross-platform command line tools for working with - MPEG data. + This is a set of cross-platform command line tools for + working with MPEG data. - The emphasis is on relatively simple tools which concentrate on MPEG - (H.264 and H.262) data packaged according to H.222 (i.e., TS or PS), - with a particular interest in checking for conformance. + The emphasis is on relatively simple tools which concentrate + on MPEG (H.264 and H.262) data packaged according to H.222 + (i.e., TS or PS), with a particular interest in checking for + conformance. - Transport Stream (TS) is typically used for distribution of cable - and satellite data. Program Stream (PS) is typically used to store - data on DVDs. + Transport Stream (TS) is typically used for distribution of + cable and satellite data. Program Stream (PS) is typically + used to store data on DVDs. https://github.com/kynesim/tstools/ diff --git a/package/turbolua/0001-http-parser-Fix-typo-in-switch-FALLTHROUGH-comment.patch b/package/turbolua/0001-http-parser-Fix-typo-in-switch-FALLTHROUGH-comment.patch deleted file mode 100644 index bb27056ac6..0000000000 --- a/package/turbolua/0001-http-parser-Fix-typo-in-switch-FALLTHROUGH-comment.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 570db52d7fd3b4deffe785e60fb362e1496844ee Mon Sep 17 00:00:00 2001 -From: Marcin Niestroj -Date: Tue, 26 Sep 2017 12:10:53 +0200 -Subject: [PATCH] http-parser: Fix typo in switch FALLTHROUGH comment - -This also suppresses -Wimplicit-fallthrough warning, which is enabled -in gcc7 by default. - -PR for upstream: https://github.com/kernelsauce/turbo/pull/323 - -Signed-off-by: Marcin Niestroj ---- - deps/http-parser/http_parser.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/deps/http-parser/http_parser.c b/deps/http-parser/http_parser.c -index 8cf6fb0..2ff1073 100644 ---- a/deps/http-parser/http_parser.c -+++ b/deps/http-parser/http_parser.c -@@ -2095,7 +2095,7 @@ http_parser_parse_url( - case s_req_server_with_at: - found_at = 1; - -- /* FALLTROUGH */ -+ /* FALLTHROUGH */ - case s_req_server: - uf = UF_HOST; - break; --- -2.14.1 - diff --git a/package/turbolua/turbolua.hash b/package/turbolua/turbolua.hash index dc718f8594..c2a6044498 100644 --- a/package/turbolua/turbolua.hash +++ b/package/turbolua/turbolua.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 8b810aa531fcaf05020531fe904d449742fd0da85c31e925a7efa9816d1f8f88 turbolua-v2.1.0.tar.gz +sha256 a2c30534706fb475545b17a017c63479e93e5e9bf1f5ed88c0db22bb4ea7b4b1 turbolua-v2.1.2.tar.gz diff --git a/package/turbolua/turbolua.mk b/package/turbolua/turbolua.mk index 49877fab68..49a5559eff 100644 --- a/package/turbolua/turbolua.mk +++ b/package/turbolua/turbolua.mk @@ -4,7 +4,7 @@ # ################################################################################ -TURBOLUA_VERSION = v2.1.0 +TURBOLUA_VERSION = v2.1.2 TURBOLUA_SITE = $(call github,kernelsauce,turbo,$(TURBOLUA_VERSION)) TURBOLUA_DEPENDENCIES = luajit TURBOLUA_LICENSE = Apache-2.0 diff --git a/package/tvheadend/0002-sbuf-fix-uclibc-compilation-error.patch b/package/tvheadend/0002-sbuf-fix-uclibc-compilation-error.patch new file mode 100644 index 0000000000..deed9f98f7 --- /dev/null +++ b/package/tvheadend/0002-sbuf-fix-uclibc-compilation-error.patch @@ -0,0 +1,33 @@ +From b16ad4d258409fbd6acf843d62a7a84f621e3b70 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Mon, 18 Dec 2017 20:52:06 +0100 +Subject: [PATCH] sbuf: fix uclibc compilation error + +Fixes build error + +tvheadend-e06ffd87beff16103c47d6fa542df2374fca6fd3/src/sbuf.h:77:1: + error: unknown type name 'ssize_t'; did you mean 'size_t'? + ssize_t sbuf_read(sbuf_t *sb, int fd); + +Patch sent upstream: https://github.com/tvheadend/tvheadend/pull/1062 + +Signed-off-by: Bernd Kuhls +--- + src/sbuf.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/sbuf.h b/src/sbuf.h +index 78aa546b3..d5aa53042 100644 +--- a/src/sbuf.h ++++ b/src/sbuf.h +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + /** + * Simple dynamically growing buffer +-- +2.11.0 + diff --git a/package/tvheadend/Config.in b/package/tvheadend/Config.in index 2cde51d88f..de37b61483 100644 --- a/package/tvheadend/Config.in +++ b/package/tvheadend/Config.in @@ -1,10 +1,12 @@ comment "tvheadend needs a toolchain w/ NPTL, headers >= 3.2, dynamic library" + depends on !BR2_microblazeel depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 || BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_SYNC_4 config BR2_PACKAGE_TVHEADEND bool "tvheadend" + depends on !BR2_microblazeel # assertion failure in binutils depends on !BR2_STATIC_LIBS # dladdr() depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 @@ -13,15 +15,16 @@ config BR2_PACKAGE_TVHEADEND select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_OPENSSL help - Tvheadend is a TV streaming server for Linux supporting DVB-S, - DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as - input sources. + + Tvheadend is a TV streaming server for Linux supporting + DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video + (V4L) as input sources. https://www.lonelycoder.com/redmine/projects/tvheadend/ Note: - - on first run, tvheadend will start in wizard mode; the webUI - is available on port 9981. + - on first run, tvheadend will start in wizard mode; the + webUI is available on port 9981. - if you want Avahi support, you'll need to enable: Avahi, D-Bus, libdaemon diff --git a/package/tvheadend/tvheadend.hash b/package/tvheadend/tvheadend.hash index f9fd385e9b..4e890a8272 100644 --- a/package/tvheadend/tvheadend.hash +++ b/package/tvheadend/tvheadend.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 7ff9f6a583d7e288c69eb8bfbd628e630e85252e04a8394666cc3c9f9b785df3 tvheadend-a234e2ff6d140e6ffceb7057bf18a8fdd927a5ac.tar.gz +sha256 32f96937a3ffa72b5bdbfde9a5f9f9535f88e94e44864d4c8c6a152985c16569 tvheadend-e06ffd87beff16103c47d6fa542df2374fca6fd3.tar.gz +sha256 54dc3cbc00bf126bcba43e2af7f3ad1dc00f335985da1409fa943c7b7256d942 LICENSE.md diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk index 88f9869fa6..45ea7bfc28 100644 --- a/package/tvheadend/tvheadend.mk +++ b/package/tvheadend/tvheadend.mk @@ -4,7 +4,7 @@ # ################################################################################ -TVHEADEND_VERSION = a234e2ff6d140e6ffceb7057bf18a8fdd927a5ac +TVHEADEND_VERSION = e06ffd87beff16103c47d6fa542df2374fca6fd3 TVHEADEND_SITE = $(call github,tvheadend,tvheadend,$(TVHEADEND_VERSION)) TVHEADEND_LICENSE = GPL-3.0+ TVHEADEND_LICENSE_FILES = LICENSE.md diff --git a/package/twolame/Config.in b/package/twolame/Config.in index 3d8f23d679..95b148b815 100644 --- a/package/twolame/Config.in +++ b/package/twolame/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_TWOLAME bool "twolame" select BR2_PACKAGE_LIBSNDFILE help - TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on - tooLAME by Mike Cheng, which in turn is based upon the ISO dist10 - code and portions of LAME. + TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder + based on tooLAME by Mike Cheng, which in turn is based upon + the ISO dist10 code and portions of LAME. http://www.twolame.org/ diff --git a/package/tzdata/tzdata.hash b/package/tzdata/tzdata.hash index 277acd69f9..cfcd49ef26 100644 --- a/package/tzdata/tzdata.hash +++ b/package/tzdata/tzdata.hash @@ -1,2 +1,2 @@ -# From http://mm.icann.org/pipermail/tz-announce/2017-October/000047.html -sha512 feb5c544e617b30c73a397e5a1c51f9847d0fddf1dfa0f9ace2e6f686786f09b666937b2048e07075c84593fc584bd5a25d639fce70eca9735267df28621ab4c tzdata2017c.tar.gz +# From http://mm.icann.org/pipermail/tz-announce/2018-January/000048.html +sha512 0575c87c9ffcde7b7f62b0df928d8a0e8d93f832b5ef7227b3d8431686f851f1fd5372c7e768f2979830352433b31df7f3979a00c28ea3973a3a0987ebbfb835 tzdata2018c.tar.gz diff --git a/package/tzdata/tzdata.mk b/package/tzdata/tzdata.mk index 9bb4b4f26b..28323e84e7 100644 --- a/package/tzdata/tzdata.mk +++ b/package/tzdata/tzdata.mk @@ -4,7 +4,7 @@ # ################################################################################ -TZDATA_VERSION = 2017c +TZDATA_VERSION = 2018c TZDATA_SOURCE = tzdata$(TZDATA_VERSION).tar.gz TZDATA_SITE = http://www.iana.org/time-zones/repository/releases TZDATA_STRIP_COMPONENTS = 0 diff --git a/package/uboot-tools/0004-tools-Include-U-Boot-libfdt-headers-from-their-actua.patch b/package/uboot-tools/0004-tools-Include-U-Boot-libfdt-headers-from-their-actua.patch new file mode 100644 index 0000000000..9f18342868 --- /dev/null +++ b/package/uboot-tools/0004-tools-Include-U-Boot-libfdt-headers-from-their-actua.patch @@ -0,0 +1,33 @@ +From e0d20dc1521e74b82dbd69be53a048847798a90a Mon Sep 17 00:00:00 2001 +From: Paul Kocialkowski +Date: Fri, 2 Mar 2018 23:13:42 +0100 +Subject: [PATCH] tools: Include U-Boot libfdt headers from their actual path + +There are no headers for libfdt in lib/libfdt, as they are instead +located in scripts/dtc/libfdt. Specifying lib/libfdt for headers +inclusion in host tools results in using the system libfdt headers, +which is not what we want. Change this to the proper path. + +Signed-off-by: Paul Kocialkowski +[Backport from upstream commit e0d20dc1521e74b82dbd69be53a048847798a90a] +Signed-off-by: Thomas Petazzoni +--- + tools/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/Makefile b/tools/Makefile +index d3387fad69..f38f68ee47 100644 +--- a/tools/Makefile ++++ b/tools/Makefile +@@ -244,7 +244,7 @@ endif # !LOGO_BMP + # + HOST_EXTRACFLAGS += -include $(srctree)/include/compiler.h \ + $(patsubst -I%,-idirafter%, $(filter -I%, $(UBOOTINCLUDE))) \ +- -I$(srctree)/lib/libfdt \ ++ -I$(srctree)/scripts/dtc/libfdt \ + -I$(srctree)/tools \ + -DUSE_HOSTCC \ + -D__KERNEL_STRICT_NAMES \ +-- +2.14.3 + diff --git a/package/uboot-tools/0004-uboot-tools-disable-pylibfdt.patch b/package/uboot-tools/0004-uboot-tools-disable-pylibfdt.patch deleted file mode 100644 index 0c2f54d95f..0000000000 --- a/package/uboot-tools/0004-uboot-tools-disable-pylibfdt.patch +++ /dev/null @@ -1,63 +0,0 @@ -From d882c99de59316e50bfee7f5fce10fe9062dfa32 Mon Sep 17 00:00:00 2001 -From: Matt Weber -Date: Wed, 1 Nov 2017 10:57:31 -0500 -Subject: [PATCH] uboot-tools: disable pylibfdt - -The current U-Boot build system assumes that if swig is installed on -the host system, it should build pylibfdt, without checking if other -dependencies are available. This causes a number of build failures. - -This patch fixes that by using concepts from the future upstream fix -(post 2017.11), which sets up a kconfig variable for pylibfdt and -conditionally enables the swig wrapper creation (default=n). - -Relevant upstream patches under review: - - - https://patchwork.ozlabs.org/patch/826742/ - - https://patchwork.ozlabs.org/patch/826752/ - -Fixes (one of many): -http://autobuild.buildroot.net/results/f9e13caae9b31c9dcde7d24caecc036324f269cc - -Signed-off-by: Matthew Weber ---- - Kconfig | 5 +++++ - tools/Makefile | 6 +++--- - 2 files changed, 8 insertions(+), 3 deletions(-) - -diff --git a/Kconfig b/Kconfig -index bb80ada..99b0258 100644 ---- a/Kconfig -+++ b/Kconfig -@@ -358,6 +358,11 @@ source "disk/Kconfig" - - source "dts/Kconfig" - -+config PYLIBFDT -+ bool -+ help -+ Enables the generation of the pylibfdt swig wrapper. -+ - source "net/Kconfig" - - source "drivers/Kconfig" -diff --git a/tools/Makefile b/tools/Makefile -index 77706a9..cb6cb7a 100644 ---- a/tools/Makefile -+++ b/tools/Makefile -@@ -226,9 +226,9 @@ clean-dirs := lib common - - always := $(hostprogs-y) - --# Build a libfdt Python module if swig is available --# Use 'sudo apt-get install swig libpython-dev' to enable this --always += $(if $(shell which swig 2> /dev/null),_libfdt.so) -+ifneq ($(CONFIG_PYLIBFDT),) -+always += _libfdt.so -+endif - - # Generated LCD/video logo - LOGO_H = $(objtree)/include/bmp_logo.h --- -1.8.3.1 - diff --git a/package/uboot-tools/0005-Do-not-attempt-to-use-the-systemwide-libfdt.patch b/package/uboot-tools/0005-Do-not-attempt-to-use-the-systemwide-libfdt.patch deleted file mode 100644 index abeef65929..0000000000 --- a/package/uboot-tools/0005-Do-not-attempt-to-use-the-systemwide-libfdt.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 477ecb8d9ffa7b90d8bec0d8317b7e464e906f7c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jan=20Kundr=C3=A1t?= -Date: Fri, 3 Nov 2017 03:06:35 +0100 -Subject: [PATCH] Do not attempt to use the systemwide libfdt -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -U-Boot bundles a patched copy of libfdt, so it's wrong to attempt to -include it . This breaks the build for me when I have dtc -fully installed in my host -- as happened earlier tonight with -Buildroot, for example. - -There are several other occurrences throughout the code where ' include style is being used -- IMHO wrongly. - -Signed-off-by: Jan Kundrát ---- - include/fdt.h | 2 +- - include/libfdt.h | 2 +- - tools/fdtgrep.c | 4 ++-- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/include/fdt.h b/include/fdt.h -index 7ead62e..f40b56c 100644 ---- a/include/fdt.h -+++ b/include/fdt.h -@@ -1 +1 @@ --#include <../lib/libfdt/fdt.h> -+#include "../lib/libfdt/fdt.h" -diff --git a/include/libfdt.h b/include/libfdt.h -index 10296a2..7ba13e6 100644 ---- a/include/libfdt.h -+++ b/include/libfdt.h -@@ -1 +1 @@ --#include <../lib/libfdt/libfdt.h> -+#include "../lib/libfdt/libfdt.h" -diff --git a/tools/fdtgrep.c b/tools/fdtgrep.c -index f51f5f1..5897b6d 100644 ---- a/tools/fdtgrep.c -+++ b/tools/fdtgrep.c -@@ -16,8 +16,8 @@ - #include - #include - --#include <../include/libfdt.h> --#include -+#include "../include/libfdt.h" -+#include "libfdt_internal.h" - - /* Define DEBUG to get some debugging output on stderr */ - #ifdef DEBUG --- -2.14.2 - diff --git a/package/uboot-tools/Config.in b/package/uboot-tools/Config.in index f55614bac5..63a058e856 100644 --- a/package/uboot-tools/Config.in +++ b/package/uboot-tools/Config.in @@ -63,8 +63,8 @@ config BR2_PACKAGE_UBOOT_TOOLS_MKENVIMAGE Install the mkenvimage tool on the target system The mkenvimage tool from Das U-Boot bootloader, which allows - generation of a valid binary environment image from a text file - describing the key=value pairs of the environment. + generation of a valid binary environment image from a text + file describing the key=value pairs of the environment. config BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV bool "fw_printenv" diff --git a/package/uboot-tools/uboot-tools.hash b/package/uboot-tools/uboot-tools.hash index 82efc79d56..9425df3f17 100644 --- a/package/uboot-tools/uboot-tools.hash +++ b/package/uboot-tools/uboot-tools.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 b2d15f2cf5f72e706025cde73d67247c6da8cd35f7e10891eefe7d9095089744 u-boot-2017.09.tar.bz2 +sha256 938f597394b33e82e5af8c98bd5ea1a238f61892aabef36384adbf7ca5b52dda u-boot-2018.01.tar.bz2 diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk index c93657548b..94648cc60d 100644 --- a/package/uboot-tools/uboot-tools.mk +++ b/package/uboot-tools/uboot-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -UBOOT_TOOLS_VERSION = 2017.09 +UBOOT_TOOLS_VERSION = 2018.01 UBOOT_TOOLS_SOURCE = u-boot-$(UBOOT_TOOLS_VERSION).tar.bz2 UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot UBOOT_TOOLS_LICENSE = GPL-2.0+ @@ -19,10 +19,11 @@ endef UBOOT_TOOLS_MAKE_OPTS = CROSS_COMPILE="$(TARGET_CROSS)" \ CFLAGS="$(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" \ + HOSTCFLAGS="$(HOST_CFLAGS)" \ STRIP=$(TARGET_STRIP) ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT),y) -UBOOT_TOOLS_MAKE_OPTS += CONFIG_FIT=y +UBOOT_TOOLS_MAKE_OPTS += CONFIG_FIT=y CONFIG_MKIMAGE_DTC_PATH=dtc UBOOT_TOOLS_DEPENDENCIES += dtc endif @@ -85,7 +86,7 @@ HOST_UBOOT_TOOLS_MAKE_OPTS = HOSTCC="$(HOSTCC)" \ HOSTLDFLAGS="$(HOST_LDFLAGS)" ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT),y) -HOST_UBOOT_TOOLS_MAKE_OPTS += CONFIG_FIT=y +HOST_UBOOT_TOOLS_MAKE_OPTS += CONFIG_FIT=y CONFIG_MKIMAGE_DTC_PATH=dtc HOST_UBOOT_TOOLS_DEPENDENCIES += host-dtc endif diff --git a/package/ubus/Config.in b/package/ubus/Config.in index 3d34121350..28bf8e9ae4 100644 --- a/package/ubus/Config.in +++ b/package/ubus/Config.in @@ -11,12 +11,13 @@ config BR2_PACKAGE_UBUS help IPC/RPC bus that allows communication between processes. - It consists of few parts including a daemon (ubusd), a library - (libubus) and a command line interface (ubus). Although created - for the OpenWRT project, it can be used as a general IPC/RPC - mechanism in other projects. + It consists of few parts including a daemon (ubusd), a + library (libubus) and a command line interface + (ubus). Although created for the OpenWRT project, it can be + used as a general IPC/RPC mechanism in other projects. - * Select BR2_PACKAGE_LUA_5_1 if you want to have Lua support. + * Select BR2_PACKAGE_LUA_5_1 if you want to have Lua + support. https://wiki.openwrt.org/doc/techref/ubus diff --git a/package/uclibc-ng-test/0001-misc-tst-syscall6-fix-build-with-musl-and-older-kenr.patch b/package/uclibc-ng-test/0001-misc-tst-syscall6-fix-build-with-musl-and-older-kenr.patch new file mode 100644 index 0000000000..ca433261ba --- /dev/null +++ b/package/uclibc-ng-test/0001-misc-tst-syscall6-fix-build-with-musl-and-older-kenr.patch @@ -0,0 +1,45 @@ +From 9a09c89fdd0e0cebec48d1bb7bc187bf92ae361c Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 13 Mar 2018 12:58:59 +0200 +Subject: [PATCH] misc/tst-syscall6: fix build with musl and older kenrel + headers + +The RWF_DSYNC and RWF_HIPRI macros were introduced in kernel version 4.6 +with the preadv2/pwritev2 system calls. musl libc provides its own +syscall definitions, even when the kernel headers are older. This leads +to the following build failure: + +tst-syscall6.c: In function 'main': +tst-syscall6.c:32:48: error: 'RWF_DSYNC' undeclared (first use in this function) + nio = syscall(SYS_pwritev2, fd, iov, 2, 0, 0, RWF_DSYNC); + ^~~~~~~~~ +tst-syscall6.c:32:48: note: each undeclared identifier is reported only once for each function it appears in +tst-syscall6.c:42:58: error: 'RWF_HIPRI' undeclared (first use in this function) + nio = syscall(SYS_preadv2, fd, iov, 1, strlen(str0), 0, RWF_HIPRI); + ^~~~~~~~~ + +Make the code depend also on RWF_HIPRI to fix this failure. + +Signed-off-by: Baruch Siach +--- +Upstream status: patch sent to Waldemar Brodkorb + + test/misc/tst-syscall6.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/misc/tst-syscall6.c b/test/misc/tst-syscall6.c +index fa51c275e4a5..9ad2ddac2b8f 100644 +--- a/test/misc/tst-syscall6.c ++++ b/test/misc/tst-syscall6.c +@@ -9,7 +9,7 @@ + + int main() + { +-#if defined SYS_preadv2 && defined SYS_pwritev2 ++#if defined SYS_preadv2 && defined SYS_pwritev2 && defined RWF_HIPRI + char tmp[] = "/tmp/tst-preadv2-XXXXXX"; + int fd; + struct iovec iov[2]; +-- +2.16.1 + diff --git a/package/uclibc-ng-test/uclibc-ng-test.mk b/package/uclibc-ng-test/uclibc-ng-test.mk index 3fdfe373b8..0e6433c83d 100644 --- a/package/uclibc-ng-test/uclibc-ng-test.mk +++ b/package/uclibc-ng-test/uclibc-ng-test.mk @@ -4,7 +4,7 @@ # ################################################################################ -UCLIBC_NG_TEST_VERSION = c4d54bde7772b55df04399ecb355769c5ac31015 +UCLIBC_NG_TEST_VERSION = c6d62cbc60504c7f6867b486248b0ef7cc2da554 UCLIBC_NG_TEST_SITE = git://uclibc-ng.org/git/uclibc-ng-test UCLIBC_NG_TEST_LICENSE = LGPL-2.1+ UCLIBC_NG_TEST_LICENSE_FILES = COPYING.LIB diff --git a/package/uclibc/0001-aarch64-sys-ucontext.h-include-bits-sigcontext.h.patch b/package/uclibc/0001-aarch64-sys-ucontext.h-include-bits-sigcontext.h.patch new file mode 100644 index 0000000000..0a1fdf6cb8 --- /dev/null +++ b/package/uclibc/0001-aarch64-sys-ucontext.h-include-bits-sigcontext.h.patch @@ -0,0 +1,49 @@ +From 1c27982bb8a007bb1a6a29db8e6efb1f40975879 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 28 Jan 2018 13:59:30 +0100 +Subject: [PATCH 1/1] aarch64/sys/ucontext.h: include bits/sigcontext.h + +Fixes a buildroot build error with ffmpeg + +In file included from /home/bernd/buildroot/output/host/aarch64-buildroot-linux-uclibc/sysroot/usr/include/signal.h:329:0, + from fftools/ffmpeg.h:26, + from fftools/ffmpeg_opt.c:23: +/home/bernd/buildroot/output/host/aarch64-buildroot-linux-uclibc/sysroot/usr/include/sys/ucontext.h:52:16: + error: field 'uc_mcontext' has incomplete type + mcontext_t uc_mcontext; + ^~~~~~~~~~~ + +using this defconfig: + +BR2_aarch64=y +BR2_PACKAGE_FFMPEG=y + +sys/ucontext.h for other archs already include bits/sigcontext.h, +on aarch64 this is needed as well. + +Patch sent upstream: +https://mailman.uclibc-ng.org/pipermail/devel/2018-January/001622.html + +Signed-off-by: Bernd Kuhls +--- + libc/sysdeps/linux/aarch64/sys/ucontext.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/libc/sysdeps/linux/aarch64/sys/ucontext.h b/libc/sysdeps/linux/aarch64/sys/ucontext.h +index d17458896..dc7303b54 100644 +--- a/libc/sysdeps/linux/aarch64/sys/ucontext.h ++++ b/libc/sysdeps/linux/aarch64/sys/ucontext.h +@@ -26,6 +26,10 @@ + + #include + ++/* We need the signal context definitions even if they are not used ++ included in . */ ++#include ++ + typedef elf_greg_t greg_t; + + /* Container for all general registers. */ +-- +2.11.0 + diff --git a/package/uclibc/0001-fix-issues-with-gdb-8.0.patch b/package/uclibc/0001-fix-issues-with-gdb-8.0.patch deleted file mode 100644 index 20567e682f..0000000000 --- a/package/uclibc/0001-fix-issues-with-gdb-8.0.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 111f01d432d542a153c1cad83def3a6ab57df7af Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Sat, 5 Aug 2017 11:28:07 +0200 -Subject: [PATCH] fix issues with gdb 8.0 - -GDB 8.0 is compiled and linked with g++, but the -linking of static targets (f.e. coldfire) fails, -without declaring the functions in thread_db.h -extern C. - -The compilation of gdb errors out with: -thread-db.o: In function `thread_db_init()': -thread-db.c:(.text+0x5b6): undefined reference to `td_ta_new(ps_prochandle*, td_thragent**)' -thread-db.c:(.text+0x61e): undefined reference to `td_thr_get_info(td_thrhandle const*, td_thrinfo*)' -thread-db.c:(.text+0x632): undefined reference to `td_symbol_list()' -.. - -Signed-off-by: Waldemar Brodkorb ---- - libpthread/linuxthreads_db/thread_db.h | 7 +++++++ - libpthread/nptl_db/thread_db.h | 7 +++++++ - 2 files changed, 14 insertions(+) - -diff --git a/libpthread/linuxthreads_db/thread_db.h b/libpthread/linuxthreads_db/thread_db.h -index 13c30af..ec79f60 100644 ---- a/libpthread/linuxthreads_db/thread_db.h -+++ b/libpthread/linuxthreads_db/thread_db.h -@@ -27,6 +27,9 @@ - #include - #include - -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* Error codes of the library. */ - typedef enum -@@ -455,4 +458,8 @@ extern td_err_e td_thr_dbsuspend (const td_thrhandle_t *__th); - /* Resume execution of thread TH. */ - extern td_err_e td_thr_dbresume (const td_thrhandle_t *__th); - -+#ifdef __cplusplus -+} -+#endif -+ - #endif /* thread_db.h */ -diff --git a/libpthread/nptl_db/thread_db.h b/libpthread/nptl_db/thread_db.h -index 27ea69a..993842f 100644 ---- a/libpthread/nptl_db/thread_db.h -+++ b/libpthread/nptl_db/thread_db.h -@@ -27,6 +27,9 @@ - #include - #include - -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* Error codes of the library. */ - typedef enum -@@ -455,4 +458,8 @@ extern td_err_e td_thr_dbsuspend (const td_thrhandle_t *__th); - /* Resume execution of thread TH. */ - extern td_err_e td_thr_dbresume (const td_thrhandle_t *__th); - -+#ifdef __cplusplus -+} -+#endif -+ - #endif /* thread_db.h */ --- -2.1.4 - diff --git a/package/uclibc/0002-microblaze-handle-R_MICROBLAZE_NONE-for-ld.so-bootst.patch b/package/uclibc/0002-microblaze-handle-R_MICROBLAZE_NONE-for-ld.so-bootst.patch deleted file mode 100644 index 9886efd879..0000000000 --- a/package/uclibc/0002-microblaze-handle-R_MICROBLAZE_NONE-for-ld.so-bootst.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 9db18d93811153fc9a70c9844fadc6fdf7cbbb64 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Sun, 6 Aug 2017 21:15:50 +0200 -Subject: [PATCH] microblaze: handle R_MICROBLAZE_NONE for ld.so bootstrap - -Latest binutils 2.29 release emits a R_MICROBLAZE_NONE -relocation, which breaks shared library loader bootstrap -relocation. - -Signed-off-by: Waldemar Brodkorb ---- - ldso/ldso/microblaze/dl-startup.h | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/ldso/ldso/microblaze/dl-startup.h b/ldso/ldso/microblaze/dl-startup.h -index 720c53a..16d5762 100644 ---- a/ldso/ldso/microblaze/dl-startup.h -+++ b/ldso/ldso/microblaze/dl-startup.h -@@ -82,18 +82,15 @@ static __always_inline - void PERFORM_BOOTSTRAP_RELOC(ELF_RELOC *rpnt, unsigned long *reloc_addr, - unsigned long symbol_addr, unsigned long load_addr, attribute_unused Elf32_Sym *symtab) - { -- - switch (ELF_R_TYPE(rpnt->r_info)) - { - case R_MICROBLAZE_REL: -- - *reloc_addr = load_addr + rpnt->r_addend; - break; -- -+ case R_MICROBLAZE_NONE: -+ break; - default: - _dl_exit(1); - break; -- - } -- - } --- -2.1.4 - diff --git a/package/uclibc/0003-convert-accept4-to-use-cancel.h-macros.patch b/package/uclibc/0003-convert-accept4-to-use-cancel.h-macros.patch deleted file mode 100644 index 178dcde581..0000000000 --- a/package/uclibc/0003-convert-accept4-to-use-cancel.h-macros.patch +++ /dev/null @@ -1,102 +0,0 @@ -From c7e82668bd23fbdd02ebe1e83ff2bb6877812423 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Thu, 2 Nov 2017 02:40:43 +0100 -Subject: [PATCH] convert accept4() to use cancel.h macros - -Signed-off-by: Waldemar Brodkorb ---- - include/sys/socket.h | 1 + - libc/inet/socketcalls.c | 37 +++++++++-------------------------- - libpthread/linuxthreads/wrapsyscall.c | 7 +++++++ - 3 files changed, 17 insertions(+), 28 deletions(-) - -diff --git a/include/sys/socket.h b/include/sys/socket.h -index 63dc4b953..83e1fcaa2 100644 ---- a/include/sys/socket.h -+++ b/include/sys/socket.h -@@ -269,6 +269,7 @@ libc_hidden_proto(accept) - __THROW. */ - extern int accept4 (int __fd, __SOCKADDR_ARG __addr, - socklen_t *__restrict __addr_len, int __flags); -+libc_hidden_proto(accept4) - #endif - - /* Shut down all or part of the connection open on socket FD. -diff --git a/libc/inet/socketcalls.c b/libc/inet/socketcalls.c -index e33d69344..1b92609d0 100644 ---- a/libc/inet/socketcalls.c -+++ b/libc/inet/socketcalls.c -@@ -76,43 +76,24 @@ lt_libc_hidden(accept) - #endif - - #ifdef L_accept4 --#ifdef __NR_accept4 --# define __NR___sys_accept4 __NR_accept4 --static _syscall4(int, __sys_accept4, int, fd, struct sockaddr *, addr, socklen_t *, addrlen, int, flags) --int accept4(int fd, struct sockaddr *addr, socklen_t * addrlen, int flags) --{ -- if (SINGLE_THREAD_P) -- return __sys_accept4(fd, addr, addrlen, flags); --#ifdef __UCLIBC_HAS_THREADS_NATIVE__ -- else { -- int oldtype = LIBC_CANCEL_ASYNC (); -- int result = __sys_accept4(fd, addr, addrlen, flags); -- LIBC_CANCEL_RESET (oldtype); -- return result; -- } --#endif --} --#elif defined(__NR_socketcall) --int accept4(int fd, struct sockaddr *addr, socklen_t *addrlen, int flags) -+static int __NC(accept4)(int fd, struct sockaddr *addr, socklen_t *addrlen, int flags) - { -+# ifdef __NR_accept4 -+ return INLINE_SYSCALL(accept4, 4, fd, addr, addrlen, flags); -+# elif defined(__NR_socketcall) - unsigned long args[4]; - - args[0] = fd; - args[1] = (unsigned long) addr; - args[2] = (unsigned long) addrlen; - args[3] = flags; -- if (SINGLE_THREAD_P) -- return __socketcall(SYS_ACCEPT4, args); --#ifdef __UCLIBC_HAS_THREADS_NATIVE__ -- else { -- int oldtype = LIBC_CANCEL_ASYNC (); -- int result = __socketcall(SYS_ACCEPT4, args); -- LIBC_CANCEL_RESET (oldtype); -- return result; -- } -+ -+ return __socketcall(SYS_ACCEPT4, args); - #endif - } --#endif -+CANCELLABLE_SYSCALL(int, accept4, (int fd, struct sockaddr *addr, socklen_t *addrlen, int flags), -+ (fd, addr, addrlen, flags)) -+lt_libc_hidden(accept4) - #endif - - #ifdef L_bind -diff --git a/libpthread/linuxthreads/wrapsyscall.c b/libpthread/linuxthreads/wrapsyscall.c -index ca046a442..2386bfdef 100644 ---- a/libpthread/linuxthreads/wrapsyscall.c -+++ b/libpthread/linuxthreads/wrapsyscall.c -@@ -192,6 +192,13 @@ CANCELABLE_SYSCALL (int, accept, (int fd, __SOCKADDR_ARG addr, - socklen_t *addr_len), - (fd, addr, addr_len)) - -+#if defined __UCLIBC_LINUX_SPECIFIC__ -+/* accept4(2). */ -+CANCELABLE_SYSCALL (int, accept4, (int fd, __SOCKADDR_ARG addr, -+ socklen_t *addr_len, int flags), -+ (fd, addr, addr_len, flags)) -+#endif -+ - /* connect(2). */ - CANCELABLE_SYSCALL (int, connect, (int fd, __CONST_SOCKADDR_ARG addr, - socklen_t len), --- -2.11.0 - diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in index 3b4f91da91..0e24b25441 100644 --- a/package/uclibc/Config.in +++ b/package/uclibc/Config.in @@ -11,16 +11,16 @@ config BR2_UCLIBC_CONFIG string "uClibc configuration file to use?" default "package/uclibc/uClibc-ng.config" help - Some people may wish to use their own modified uClibc configuration - file and will specify their config file location with this option. - See also docs/README in this package. - If unsure, use the default. + Some people may wish to use their own modified uClibc + configuration file and will specify their config file + location with this option. See also docs/README in this + package. If unsure, use the default. config BR2_UCLIBC_CONFIG_FRAGMENT_FILES string "Additional uClibc configuration fragment files" help - A space-separated list of configuration fragment files, - that will be merged to the main uClibc configuration file. + A space-separated list of configuration fragment files, that + will be merged to the main uClibc configuration file. config BR2_TOOLCHAIN_BUILDROOT_WCHAR bool "Enable WCHAR support" @@ -48,7 +48,6 @@ choice config BR2_PTHREADS_NATIVE bool "Native POSIX Threading (NPTL)" depends on BR2_USE_MMU - depends on !BR2_m68k && !BR2_microblaze && !BR2_or1k select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL @@ -76,7 +75,8 @@ config BR2_TOOLCHAIN_BUILDROOT_USE_SSP Enable stack smashing protection support using GCCs -fstack-protector-all option in uClibc. - See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt + See + http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt for details. config BR2_UCLIBC_INSTALL_UTILS diff --git a/package/uclibc/uclibc.hash b/package/uclibc/uclibc.hash index fcba474acd..0a1568368f 100644 --- a/package/uclibc/uclibc.hash +++ b/package/uclibc/uclibc.hash @@ -1,2 +1,2 @@ # From https://uclibc-ng.org/ -sha256 d88470775192b01d278633953ccc9fecacd090e52f401d506a71add3e47d4694 uClibc-ng-1.0.26.tar.xz +sha256 a1504ddc34a29cc9bfd1f5a7419c4b63bb510d9e2faed81618d1b596ceb0a5a9 uClibc-ng-1.0.28.tar.xz diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk index f235070b6c..c5b0c6b16d 100644 --- a/package/uclibc/uclibc.mk +++ b/package/uclibc/uclibc.mk @@ -4,7 +4,7 @@ # ################################################################################ -UCLIBC_VERSION = 1.0.26 +UCLIBC_VERSION = 1.0.28 UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz UCLIBC_SITE = http://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION) UCLIBC_LICENSE = LGPL-2.1+ diff --git a/package/uhttpd/Config.in b/package/uhttpd/Config.in index e463b9305c..8d5d8bee13 100644 --- a/package/uhttpd/Config.in +++ b/package/uhttpd/Config.in @@ -6,9 +6,9 @@ config BR2_PACKAGE_UHTTPD select BR2_PACKAGE_LIBUBOX select BR2_PACKAGE_JSON_C help - uHTTPd is a tiny single threaded HTTP server with TLS, CGI and Lua - support. It is intended as a drop-in replacement for the Busybox - HTTP daemon. + uHTTPd is a tiny single threaded HTTP server with TLS, CGI + and Lua support. It is intended as a drop-in replacement for + the Busybox HTTP daemon. https://wiki.openwrt.org/doc/howto/http.uhttpd diff --git a/package/ulogd/Config.in b/package/ulogd/Config.in index dc36c0bc33..e0e199961a 100644 --- a/package/ulogd/Config.in +++ b/package/ulogd/Config.in @@ -8,7 +8,8 @@ config BR2_PACKAGE_ULOGD select BR2_PACKAGE_LIBNETFILTER_LOG select BR2_PACKAGE_LIBNFNETLINK help - ulogd is a userspace logging daemon for netfilter/iptables related logging. + ulogd is a userspace logging daemon for netfilter/iptables + related logging. http://www.netfilter.org/projects/ulogd/ diff --git a/package/unixodbc/Config.in b/package/unixodbc/Config.in index c23e0a565c..d5434d1ef1 100644 --- a/package/unixodbc/Config.in +++ b/package/unixodbc/Config.in @@ -1,7 +1,8 @@ config BR2_PACKAGE_UNIXODBC bool "unixodbc" help - The unixODBC Project goals are to develop and promote unixODBC - to be the definitive standard for ODBC on non MS Windows platforms. + The unixODBC Project goals are to develop and promote + unixODBC to be the definitive standard for ODBC on non MS + Windows platforms. http://www.unixodbc.org diff --git a/package/upmpdcli/upmpdcli.hash b/package/upmpdcli/upmpdcli.hash index 364fa914e9..e497352682 100644 --- a/package/upmpdcli/upmpdcli.hash +++ b/package/upmpdcli/upmpdcli.hash @@ -1,2 +1,5 @@ # From http://www.lesbonscomptes.com/upmpdcli/downloads/upmpdcli-1.2.15.tar.gz.sha256: sha256 93d2b9cfd6cb8643c5a23d4115b44622d76c71abe15db9bb8d5b4d83f4d9b49c upmpdcli-1.2.15.tar.gz + +# Hash for license file: +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/upower/Config.in b/package/upower/Config.in index 8d9e84e694..e564384348 100644 --- a/package/upower/Config.in +++ b/package/upower/Config.in @@ -7,13 +7,14 @@ config BR2_PACKAGE_UPOWER select BR2_PACKAGE_LIBGUDEV select BR2_PACKAGE_LIBUSB help - UPower is an abstraction for enumerating power devices, listening - to device events and querying history and statistics. Any - application or service on the system can access the - org.freedesktop.UPower service via the system message bus. + UPower is an abstraction for enumerating power devices, + listening to device events and querying history and + statistics. Any application or service on the system can + access the org.freedesktop.UPower service via the system + message bus. - Note: upowerd require CONFIG_TIMER_STATS enabled in the Linux - kernel. + Note: upowerd require CONFIG_TIMER_STATS enabled in the + Linux kernel. https://upower.freedesktop.org/ diff --git a/package/usb_modeswitch/usb_modeswitch.mk b/package/usb_modeswitch/usb_modeswitch.mk index c67d4cd583..8dd712f264 100644 --- a/package/usb_modeswitch/usb_modeswitch.mk +++ b/package/usb_modeswitch/usb_modeswitch.mk @@ -28,6 +28,7 @@ USB_MODESWITCH_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK define USB_MODESWITCH_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + $(if $(BR2_INSTALL_LIBSTDCPP),,CXX=false) \ CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE -Wall -I." \ JIM_CONFIGURE_OPTS="--host=$(GNU_TARGET_NAME) --build=$(GNU_HOST_NAME)" \ -C $(@D) $(USB_MODESWITCH_BUILD_TARGETS) diff --git a/package/usbmount/Config.in b/package/usbmount/Config.in index 0bb8883b96..f87bd911f2 100644 --- a/package/usbmount/Config.in +++ b/package/usbmount/Config.in @@ -3,8 +3,9 @@ config BR2_PACKAGE_USBMOUNT depends on BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_LOCKFILE_PROGS help - The usbmount package automatically mounts USB mass storage devices - when they are plugged in, and unmounts them when they are removed. + The usbmount package automatically mounts USB mass storage + devices when they are plugged in, and unmounts them when + they are removed. http://usbmount.alioth.debian.org/ diff --git a/package/usbredir/Config.in b/package/usbredir/Config.in index 2157f9ce67..78b0bff6e4 100644 --- a/package/usbredir/Config.in +++ b/package/usbredir/Config.in @@ -6,13 +6,14 @@ config BR2_PACKAGE_USBREDIR depends on BR2_TOOLCHAIN_HAS_THREADS # libusb select BR2_PACKAGE_LIBUSB help - usbredir is the name of a network protocol for sending usb device - traffic over a network connection. It is also the name of the - software package offering a parsing library, a usbredirhost library - and several utilities implementing this protocol. + usbredir is the name of a network protocol for sending usb + device traffic over a network connection. It is also the + name of the software package offering a parsing library, a + usbredirhost library and several utilities implementing this + protocol. - Note: only the library is installed, not the utilities. Say 'y' - below if you want the server too. + Note: only the library is installed, not the utilities. Say + 'y' below if you want the server too. http://www.spice-space.org/page/UsbRedir @@ -21,8 +22,8 @@ if BR2_PACKAGE_USBREDIR config BR2_PACKAGE_USBREDIR_SERVER bool "usbredirserver on target" help - If you want to serve usbredir requests on your target, say 'y' - here to have the usbredir server on the target. + If you want to serve usbredir requests on your target, say + 'y' here to have the usbredir server on the target. Note: the server is not required to use the library. diff --git a/package/usbutils/usbutils.hash b/package/usbutils/usbutils.hash index 37c829a1ae..4e55c9b101 100644 --- a/package/usbutils/usbutils.hash +++ b/package/usbutils/usbutils.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/utils/usb/usbutils/sha256sums.asc -sha256 44741af0bae9d402a0ef160a29b2fa700bb656ab5e0a4b3343d51249c2a44c8c usbutils-008.tar.xz +sha256 8bbff0e54cb5f65a52be4feb9162fc0b022a97eb841b44784f7a89a9ea567160 usbutils-009.tar.xz diff --git a/package/usbutils/usbutils.mk b/package/usbutils/usbutils.mk index c397d0adc7..84702ebc1f 100644 --- a/package/usbutils/usbutils.mk +++ b/package/usbutils/usbutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -USBUTILS_VERSION = 008 +USBUTILS_VERSION = 009 USBUTILS_SOURCE = usbutils-$(USBUTILS_VERSION).tar.xz USBUTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/usb/usbutils USBUTILS_DEPENDENCIES = host-pkgconf libusb udev diff --git a/package/ushare/Config.in b/package/ushare/Config.in index c3475b8465..2dcd773717 100644 --- a/package/ushare/Config.in +++ b/package/ushare/Config.in @@ -8,8 +8,8 @@ config BR2_PACKAGE_USHARE select BR2_PACKAGE_LIBUPNP help uShare is a UPnP (TM) A/V & DLNA Media Server. - It implements the server component that provides UPnP media devices - with information on available multimedia files. + It implements the server component that provides UPnP media + devices with information on available multimedia files. http://ushare.geexbox.org/ diff --git a/package/ustr/ustr.hash b/package/ustr/ustr.hash index 214d37a77a..878c607332 100644 --- a/package/ustr/ustr.hash +++ b/package/ustr/ustr.hash @@ -1,4 +1,4 @@ # Locally computed sha256 3daf6eae9f78de1e872c0b2b83cce35515b94d4bb8a074e48f331fd99e1fc2c4 ustr-1.0.4.tar.bz2 -# From http://debian.gtisc.gatech.edu/debian/pool/main/u/ustr/ustr_1.0.4-5.dsc -sha256 a21e78acf82dcccef2893932ef7b85852419bfd9b18382e63c34e7710c1d7762 ustr_1.0.4-5.debian.tar.xz +# From http://debian.gtisc.gatech.edu/debian/pool/main/u/ustr/ustr_1.0.4-6.dsc +sha256 75aa6be2c70eba632ac63078e55ecb4b5a45e6624501a8ed6d81b9a2014d149e ustr_1.0.4-6.debian.tar.xz diff --git a/package/ustr/ustr.mk b/package/ustr/ustr.mk index 6fca33457e..c99ada5276 100644 --- a/package/ustr/ustr.mk +++ b/package/ustr/ustr.mk @@ -13,7 +13,7 @@ USTR_LICENSE = BSD-2-Clause, MIT, LGPL-2.0+ USTR_LICENSE_FILES = LICENSE LICENSE_BSD LICENSE_LGPL LICENSE_MIT USTR_AUTORECONF = YES USTR_PATCH = \ - http://http.debian.net/debian/pool/main/u/ustr/ustr_$(USTR_VERSION)-5.debian.tar.xz + http://snapshot.debian.org/archive/debian/20180131T223129Z/pool/main/u/ustr/ustr_$(USTR_VERSION)-6.debian.tar.xz USTR_INSTALL_STAGING = YES @@ -28,5 +28,12 @@ USTR_MAKE_OPTS = all all-shared USTR_CONF_OPTS += LDCONFIG=/bin/true HOST_USTR_CONF_OPTS += LDCONFIG=/bin/true +# for some reason, ustr finds it useful to install its source code in +# /usr/share, which is totally useless on the target +define USTR_REMOVE_SOURCE_CODE + $(RM) -rf $(TARGET_DIR)/usr/share/ustr-$(USTR_VERSION) +endef +USTR_POST_INSTALL_TARGET_HOOKS += USTR_REMOVE_SOURCE_CODE + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/util-linux/0001-docs-add-ISC-licence.patch b/package/util-linux/0001-docs-add-ISC-licence.patch new file mode 100644 index 0000000000..aea7b9719c --- /dev/null +++ b/package/util-linux/0001-docs-add-ISC-licence.patch @@ -0,0 +1,38 @@ +From a9e4662d26b10789b28282d7e77ab189ef34cf5c Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Sun, 14 Jan 2018 16:39:31 -0200 +Subject: [PATCH] docs: add ISC licence + +Save the top 21 lines of sys-utils/rfkill.c as COPYING.ISC. This is +useful for Linux distributions an integration tools like Buildroot, +to collect detailed legal information for each package. + +[kzak@redhat.com: - remove C-comments and rfkill header] + +Signed-off-by: Carlos Santos +Signed-off-by: Karel Zak +--- + Documentation/licenses/COPYING.ISC | 11 +++++++++++ + 1 file changed, 11 insertions(+) + create mode 100644 Documentation/licenses/COPYING.ISC + +diff --git a/Documentation/licenses/COPYING.ISC b/Documentation/licenses/COPYING.ISC +new file mode 100644 +index 000000000..8351a30e3 +--- /dev/null ++++ b/Documentation/licenses/COPYING.ISC +@@ -0,0 +1,11 @@ ++Permission to use, copy, modify, and/or distribute this software for any ++purpose with or without fee is hereby granted, provided that the above ++copyright notice and this permission notice appear in all copies. ++ ++THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-- +2.14.3 + diff --git a/package/util-linux/0001-md5-declare-byteReverse-as-static.patch b/package/util-linux/0001-md5-declare-byteReverse-as-static.patch deleted file mode 100644 index a5b290c4db..0000000000 --- a/package/util-linux/0001-md5-declare-byteReverse-as-static.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 424cee0f06ece9473786c189ab4741e1dea7061d Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Tue, 7 Nov 2017 14:39:09 +0100 -Subject: [PATCH] md5: declare byteReverse as static - -byteReverse() is an internal function in md5.c, and is not exposed via -any header file, but it is not declared as static. This is a problem -with the md5.c file since it is copied more or less verbatim in other -programs (fontconfig and pjsip among others), causing a link error -when linking two of them together. - -Fixes link failures such as: - http://autobuild.buildroot.net/results/419ab2c0e034cc68991281c51caa8271b0fadbab/build-end.log - -[Upstream patch: https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/?id=424cee0f06ece9473786c189ab4741e1dea7061d] - -Signed-off-by: Luca Ceresoli ---- - lib/md5.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/md5.c b/lib/md5.c -index 488d16ef69b4..282e2d22af25 100644 ---- a/lib/md5.c -+++ b/lib/md5.c -@@ -21,13 +21,13 @@ - #if !defined(WORDS_BIGENDIAN) - #define byteReverse(buf, len) /* Nothing */ - #else --void byteReverse(unsigned char *buf, unsigned longs); -+static void byteReverse(unsigned char *buf, unsigned longs); - - #ifndef ASM_MD5 - /* - * Note: this code is harmless on little-endian machines. - */ --void byteReverse(unsigned char *buf, unsigned longs) -+static void byteReverse(unsigned char *buf, unsigned longs) - { - uint32_t t; - do { --- -2.7.4 - diff --git a/package/util-linux/0002-lib-randutils-Do-not-block-on-getrandom.patch b/package/util-linux/0002-lib-randutils-Do-not-block-on-getrandom.patch new file mode 100644 index 0000000000..79fa577c4e --- /dev/null +++ b/package/util-linux/0002-lib-randutils-Do-not-block-on-getrandom.patch @@ -0,0 +1,52 @@ +From a9cf659e0508c1f56813a7d74c64f67bbc962538 Mon Sep 17 00:00:00 2001 +From: Carlo Caione +Date: Mon, 19 Mar 2018 10:31:07 +0000 +Subject: [PATCH] lib/randutils: Do not block on getrandom() + +In Endless we have hit a problem when using 'sfdisk' on the really first +boot to automatically expand the rootfs partition. On this platform +'sfdisk' is blocking on getrandom() because not enough random bytes are +available. This is an ARM platform without a hwrng. + +We fix this passing GRND_NONBLOCK to getrandom(). 'sfdisk' will use the +best entropy it has available and fallback only as necessary. + +Signed-off-by: Carlo Caione +Signed-off-by: Peter Korsgaard +--- + lib/randutils.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/lib/randutils.c b/lib/randutils.c +index e1c4059e1..02c3d9eb0 100644 +--- a/lib/randutils.c ++++ b/lib/randutils.c +@@ -36,6 +36,8 @@ + + #if !defined(HAVE_GETRANDOM) && defined(SYS_getrandom) + /* libc without function, but we have syscal */ ++#define GRND_NONBLOCK 0x01 ++#define GRND_RANDOM 0x02 + static int getrandom(void *buf, size_t buflen, unsigned int flags) + { + return (syscall(SYS_getrandom, buf, buflen, flags)); +@@ -104,13 +106,15 @@ void random_get_bytes(void *buf, size_t nbytes) + int x; + + errno = 0; +- x = getrandom(cp, n, 0); ++ x = getrandom(cp, n, GRND_NONBLOCK); + if (x > 0) { /* success */ + n -= x; + cp += x; + lose_counter = 0; + } else if (errno == ENOSYS) /* kernel without getrandom() */ + break; ++ else if (errno == EAGAIN) ++ break; + else if (lose_counter++ > 16) /* entropy problem? */ + break; + } +-- +2.11.0 + diff --git a/package/util-linux/0003-lib-randutils-don-t-break-on-EAGAIN-use-usleep.patch b/package/util-linux/0003-lib-randutils-don-t-break-on-EAGAIN-use-usleep.patch new file mode 100644 index 0000000000..a48f12fcee --- /dev/null +++ b/package/util-linux/0003-lib-randutils-don-t-break-on-EAGAIN-use-usleep.patch @@ -0,0 +1,71 @@ +From edc1c90cb972fdca1f66be5a8e2b0706bd2a4949 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 20 Mar 2018 14:17:24 +0100 +Subject: [PATCH] lib/randutils: don't break on EAGAIN, use usleep() + +The current code uses lose_counter to make more attempts to read +random numbers. It seems better to wait a moment between attempts to +avoid busy loop (we do the same in all-io.h). + +The worst case is 1 second delay for all random_get_bytes() on systems +with uninitialized entropy pool -- for example you call sfdisk (MBR Id +or GPT UUIDs) on very first boot, etc. In this case it will use libc +rand() as a fallback solution. + +Note that we do not use random numbers for security sensitive things +like keys or so. It's used for random based UUIDs etc. + +Addresses: https://github.com/karelzak/util-linux/pull/603 +Signed-off-by: Karel Zak +Signed-off-by: Peter Korsgaard +--- + lib/randutils.c | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +diff --git a/lib/randutils.c b/lib/randutils.c +index 02c3d9eb0..de4279530 100644 +--- a/lib/randutils.c ++++ b/lib/randutils.c +@@ -95,6 +95,9 @@ int random_get_fd(void) + * Use /dev/urandom if possible, and if not, + * use glibc pseudo-random functions. + */ ++#define UL_RAND_READ_ATTEMPTS 8 ++#define UL_RAND_READ_DELAY 125000 /* microseconds */ ++ + void random_get_bytes(void *buf, size_t nbytes) + { + unsigned char *cp = (unsigned char *)buf; +@@ -111,11 +114,14 @@ void random_get_bytes(void *buf, size_t nbytes) + n -= x; + cp += x; + lose_counter = 0; +- } else if (errno == ENOSYS) /* kernel without getrandom() */ +- break; +- else if (errno == EAGAIN) ++ ++ } else if (errno == ENOSYS) { /* kernel without getrandom() */ + break; +- else if (lose_counter++ > 16) /* entropy problem? */ ++ ++ } else if (errno == EAGAIN && lose_counter < UL_RAND_READ_ATTEMPTS) { ++ xusleep(UL_RAND_READ_DELAY); /* no etropy, wait and try again */ ++ lose_counter++; ++ } else + break; + } + +@@ -134,8 +140,9 @@ void random_get_bytes(void *buf, size_t nbytes) + while (n > 0) { + ssize_t x = read(fd, cp, n); + if (x <= 0) { +- if (lose_counter++ > 16) ++ if (lose_counter++ > UL_RAND_READ_ATTEMPTS) + break; ++ xusleep(UL_RAND_READ_DELAY); + continue; + } + n -= x; +-- +2.11.0 + diff --git a/package/util-linux/util-linux.hash b/package/util-linux/util-linux.hash index 8142505f8d..068bb45e6c 100644 --- a/package/util-linux/util-linux.hash +++ b/package/util-linux/util-linux.hash @@ -1,9 +1,9 @@ # From https://www.kernel.org/pub/linux/utils/util-linux/v2.31/sha256sums.asc -sha256 f9be7cdcf4fc5c5064a226599acdda6bdf3d86c640152ba01ea642d91108dc8a util-linux-2.31.tar.xz +sha256 1a51b16fa9cd51d26ef9ab52d2f1de12403b810fc8252bf7d478df91b3cddf11 util-linux-2.31.1.tar.xz # License files, locally calculated sha256 1e4b65802b0df8115395c697029d03339f983d451a473a08643309c684410d9a README.licensing sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/licenses/COPYING.GPLv2 sha256 ba7640f00d93e72e92b94b9d71f25ec53bac2f1682f5c4adcccb0018359f60f8 Documentation/licenses/COPYING.UCB sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 Documentation/licenses/COPYING.LGPLv2.1 sha256 9b718a9460fed5952466421235bc79eb49d4e9eacc920d7a9dd6285ab8fd6c6d Documentation/licenses/COPYING.BSD-3 -sha256 996126b78a42dd2eeea1256d78b7fd6dec090ea196365c0ccb46adc32bc92460 sys-utils/rfkill.c +sha256 e53348ce276358e9997014071c5294b36a18c4b34f32f00ee57b9acce0aafd63 Documentation/licenses/COPYING.ISC diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk index 8464288600..72a6d18178 100644 --- a/package/util-linux/util-linux.mk +++ b/package/util-linux/util-linux.mk @@ -5,14 +5,15 @@ ################################################################################ UTIL_LINUX_VERSION_MAJOR = 2.31 -UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR) +UTIL_LINUX_VERSION_MINOR = 1 +UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).$(UTIL_LINUX_VERSION_MINOR) UTIL_LINUX_SOURCE = util-linux-$(UTIL_LINUX_VERSION).tar.xz UTIL_LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/util-linux/v$(UTIL_LINUX_VERSION_MAJOR) # README.licensing claims that some files are GPL-2.0 only, but this is not true. # Some files are GPL-3.0+ but only in tests. rfkill uses an ISC-style license. UTIL_LINUX_LICENSE = GPL-2.0+, BSD-4-Clause, LGPL-2.1+ (libblkid, libfdisk, libmount), BSD-3-Clause (libuuid) ISC (rfkill) -UTIL_LINUX_LICENSE_FILES = README.licensing Documentation/licenses/COPYING.GPLv2 Documentation/licenses/COPYING.UCB Documentation/licenses/COPYING.LGPLv2.1 Documentation/licenses/COPYING.BSD-3 sys-utils/rfkill.c +UTIL_LINUX_LICENSE_FILES = README.licensing Documentation/licenses/COPYING.GPLv2 Documentation/licenses/COPYING.UCB Documentation/licenses/COPYING.LGPLv2.1 Documentation/licenses/COPYING.BSD-3 Documentation/licenses/COPYING.ISC UTIL_LINUX_INSTALL_STAGING = YES UTIL_LINUX_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) # uClibc needs NTP_LEGACY for sys/timex.h -> ntp_gettime() support @@ -41,6 +42,13 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y) UTIL_LINUX_DEPENDENCIES += busybox endif +# Prevent the installation from attempting to move shared libraries from +# ${usrlib_execdir} (/usr/lib) to ${libdir} (/lib), since both paths are +# the same when merged usr is in use. +ifeq ($(BR2_ROOTFS_MERGED_USR),y) +UTIL_LINUX_CONF_OPTS += --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib +endif + ifeq ($(BR2_PACKAGE_NCURSES),y) UTIL_LINUX_DEPENDENCIES += ncurses ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) @@ -164,8 +172,37 @@ HOST_UTIL_LINUX_CONF_OPTS += \ ifeq ($(BR2_PACKAGE_HOST_UTIL_LINUX),y) HOST_UTIL_LINUX_CONF_OPTS += --disable-makeinstall-chown -# disable more command because of ncurses dependency -HOST_UTIL_LINUX_CONF_OPTS += --disable-more +# disable commands that have ncurses dependency, as well as +# other ones that are useless on the host +HOST_UTIL_LINUX_CONF_OPTS += \ + --disable-agetty \ + --disable-chfn-chsh \ + --disable-chmem \ + --disable-login \ + --disable-lslogins \ + --disable-mesg \ + --disable-more \ + --disable-newgrp \ + --disable-nologin \ + --disable-nsenter \ + --disable-pg \ + --disable-rfkill \ + --disable-schedutils \ + --disable-setpriv \ + --disable-setterm \ + --disable-su \ + --disable-sulogin \ + --disable-tunelp \ + --disable-ul \ + --disable-unshare \ + --disable-uuidd \ + --disable-vipw \ + --disable-wall \ + --disable-wdctl \ + --disable-write \ + --disable-zramctl +# Used by cramfs utils +HOST_UTIL_LINUX_DEPENDENCIES += host-zlib else HOST_UTIL_LINUX_CONF_OPTS += --disable-all-programs endif diff --git a/package/ux500-firmware/Config.in b/package/ux500-firmware/Config.in index 7e8a94b2a4..1c1823734f 100644 --- a/package/ux500-firmware/Config.in +++ b/package/ux500-firmware/Config.in @@ -1,7 +1,8 @@ config BR2_PACKAGE_UX500_FIRMWARE bool "ux500-firmware" help - This package provides various binary firmware files (closed binary blobs) - for the Azurewave AW-NH580 combo module (wifi, bt, gps). + This package provides various binary firmware files (closed + binary blobs) for the Azurewave AW-NH580 combo module (wifi, + bt, gps). https://launchpad.net/~igloocommunity-maintainers/+archive/snowball/+files/ diff --git a/package/vboot-utils/0005-include-sys-sysmacros.h-for-major.patch b/package/vboot-utils/0005-include-sys-sysmacros.h-for-major.patch new file mode 100644 index 0000000000..5d76428eb6 --- /dev/null +++ b/package/vboot-utils/0005-include-sys-sysmacros.h-for-major.patch @@ -0,0 +1,51 @@ +From 435fbcee218b37a87368e2b22fa33366875d458c Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Tue, 19 Apr 2016 13:58:49 -0400 +Subject: [PATCH] include sys/sysmacros.h for major() + +The major() func is defined in the sys/sysmacros.h header, so include it +explicitly for the prototype. Upstream C libs are moving away from having +sys/types.h include it all the time implicitly. + +BUG=None +TEST=precq passes +BRANCH=None + +Change-Id: I56b84138f08ded2376193403f9c9db22c5f24f71 +Reviewed-on: https://chromium-review.googlesource.com/339680 +Commit-Ready: Mike Frysinger +Tested-by: Mike Frysinger +Reviewed-by: Bill Richardson +Signed-off-by: Giulio Benetti +--- + cgpt/cgpt_wrapper.c | 1 + + futility/dump_kernel_config_lib.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/cgpt/cgpt_wrapper.c b/cgpt/cgpt_wrapper.c +index dcfaab9c..1716cdde 100644 +--- a/cgpt/cgpt_wrapper.c ++++ b/cgpt/cgpt_wrapper.c +@@ -18,6 +18,7 @@ + #include + #include + #include ++#include + #include + #include + +diff --git a/futility/dump_kernel_config_lib.c b/futility/dump_kernel_config_lib.c +index 4fe990c3..abf37ae1 100644 +--- a/futility/dump_kernel_config_lib.c ++++ b/futility/dump_kernel_config_lib.c +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + #include + #include + +-- +2.17.1 + diff --git a/package/vim/vim.mk b/package/vim/vim.mk index 5ee889882a..0cc6512599 100644 --- a/package/vim/vim.mk +++ b/package/vim/vim.mk @@ -65,9 +65,15 @@ define VIM_REMOVE_DOCS endef # Avoid oopses with vipw/vigr, lack of $EDITOR and 'vi' command expectation +ifeq ($(BR2_ROOTFS_MERGED_USR),y) define VIM_INSTALL_VI_SYMLINK - ln -sf /usr/bin/vim $(TARGET_DIR)/bin/vi + ln -sf vim $(TARGET_DIR)/usr/bin/vi endef +else +define VIM_INSTALL_VI_SYMLINK + ln -sf ../usr/bin/vim $(TARGET_DIR)/bin/vi +endef +endif VIM_POST_INSTALL_TARGET_HOOKS += VIM_INSTALL_VI_SYMLINK ifeq ($(BR2_PACKAGE_VIM_RUNTIME),y) diff --git a/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch b/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch new file mode 100644 index 0000000000..8490cbdaa2 --- /dev/null +++ b/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch @@ -0,0 +1,64 @@ +From 0c8d631f4f9fa24f1bbd56a4dbe9d6f1e2360685 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 17 Dec 2017 12:26:33 +0100 +Subject: [PATCH] Fix build with libupnp above 1.6.23 + +Starting from this release, libupnp has its own compat functions, +backport patch from mainstream: +https://github.com/videolan/vlc/commit/f9c5a343f1a8cad9c2c153f9c05e4e7201675a43#diff-2e66eb8b4fb06845a6426bd4a541d2f7 + +Move UpnpEventPtr declaration in upnp.hpp as done in: +https://github.com/videolan/vlc/commit/3eb4e03512f45c1fa27c7f9a6759e8e7d3905720#diff-ac39568c5e5e1c68776a93dfe0b3c1e6 + +Signed-off-by: Fabrice Fontaine +--- + modules/services_discovery/upnp.cpp | 5 +---- + modules/services_discovery/upnp.hpp | 6 ++++++ + 2 files changed, 7 insertions(+), 4 deletions(-) + +diff --git a/modules/services_discovery/upnp.cpp b/modules/services_discovery/upnp.cpp +index 9b6ed8727a..cf846602b8 100644 +--- a/modules/services_discovery/upnp.cpp ++++ b/modules/services_discovery/upnp.cpp +@@ -40,11 +40,10 @@ + #include + #include + +-#if UPNP_VERSION < 10800 ++#if UPNP_VERSION < 10623 + /* + * Compat functions and typedefs for libupnp prior to 1.8 + */ +-typedef void* UpnpEventPtr; + typedef Upnp_Discovery UpnpDiscovery; + typedef Upnp_Action_Complete UpnpActionComplete; + typedef Upnp_Event UpnpEvent; +@@ -74,8 +73,6 @@ static const char* UpnpEventSubscribe_get_SID_cstr( const UpnpEventSubscribe* p_ + { + return p_s->Sid; + } +-#else +-typedef const void* UpnpEventPtr; + #endif + + /* +diff --git a/modules/services_discovery/upnp.hpp b/modules/services_discovery/upnp.hpp +index 23fe4db9ab..c369a04da6 100644 +--- a/modules/services_discovery/upnp.hpp ++++ b/modules/services_discovery/upnp.hpp +@@ -33,6 +33,12 @@ + + #include + ++#if UPNP_VERSION < 10800 ++typedef void* UpnpEventPtr; ++#else ++typedef const void* UpnpEventPtr; ++#endif ++ + // Classes + class Container; + +-- +2.14.1 + diff --git a/package/vlc/0013-codec-avcodec-check-avcodec-visible-sizes.patch b/package/vlc/0013-codec-avcodec-check-avcodec-visible-sizes.patch deleted file mode 100644 index 41a5e25d38..0000000000 --- a/package/vlc/0013-codec-avcodec-check-avcodec-visible-sizes.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 6cc73bcad19da2cd2e95671173f2e0d203a57e9b Mon Sep 17 00:00:00 2001 -From: Francois Cartegnie -Date: Thu, 29 Jun 2017 09:45:20 +0200 -Subject: [PATCH] codec: avcodec: check avcodec visible sizes - -refs #18467 - -Signed-off-by: Peter Korsgaard ---- - modules/codec/avcodec/video.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c -index 1bcad21..ce52544 100644 ---- a/modules/codec/avcodec/video.c -+++ b/modules/codec/avcodec/video.c -@@ -137,9 +137,11 @@ static inline picture_t *ffmpeg_NewPictBuf( decoder_t *p_dec, - } - - -- if( width == 0 || height == 0 || width > 8192 || height > 8192 ) -+ if( width == 0 || height == 0 || width > 8192 || height > 8192 || -+ width < p_context->width || height < p_context->height ) - { -- msg_Err( p_dec, "Invalid frame size %dx%d.", width, height ); -+ msg_Err( p_dec, "Invalid frame size %dx%d. vsz %dx%d", -+ width, height, p_context->width, p_context->height ); - return NULL; /* invalid display size */ - } - p_dec->fmt_out.video.i_width = width; --- -2.1.4 - diff --git a/package/vlc/0014-decoder-check-visible-size-when-creating-buffer.patch b/package/vlc/0014-decoder-check-visible-size-when-creating-buffer.patch deleted file mode 100644 index a16dcf0e97..0000000000 --- a/package/vlc/0014-decoder-check-visible-size-when-creating-buffer.patch +++ /dev/null @@ -1,33 +0,0 @@ -From a38a85db58c569cc592d9380cc07096757ef3d49 Mon Sep 17 00:00:00 2001 -From: Francois Cartegnie -Date: Thu, 29 Jun 2017 11:09:02 +0200 -Subject: [PATCH] decoder: check visible size when creating buffer - -early reject invalid visible size -mishandled by filters. - -refs #18467 - -Signed-off-by: Peter Korsgaard ---- - src/input/decoder.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/input/decoder.c b/src/input/decoder.c -index 2c0823f..a216165 100644 ---- a/src/input/decoder.c -+++ b/src/input/decoder.c -@@ -2060,7 +2060,9 @@ static picture_t *vout_new_buffer( decoder_t *p_dec ) - vout_thread_t *p_vout; - - if( !p_dec->fmt_out.video.i_width || -- !p_dec->fmt_out.video.i_height ) -+ !p_dec->fmt_out.video.i_height || -+ p_dec->fmt_out.video.i_width < p_dec->fmt_out.video.i_visible_width || -+ p_dec->fmt_out.video.i_height < p_dec->fmt_out.video.i_visible_height ) - { - /* Can't create a new vout without display size */ - return NULL; --- -2.1.4 - diff --git a/package/vlc/Config.in b/package/vlc/Config.in index 78023fb500..166e7d256a 100644 --- a/package/vlc/Config.in +++ b/package/vlc/Config.in @@ -11,8 +11,6 @@ config BR2_PACKAGE_VLC depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 - # ARC toolchain issue - depends on !BR2_arc select BR2_PACKAGE_LIBVORBIS if BR2_PACKAGE_OPUS select BR2_PACKAGE_VLC_OPENCV_BACKEND if BR2_PACKAGE_OPENCV select BR2_PACKAGE_VLC_OPENCV3_BACKEND if BR2_PACKAGE_OPENCV3 @@ -36,6 +34,5 @@ config BR2_PACKAGE_VLC_OPENCV3_BACKEND comment "vlc needs a toolchain w/ C++, dynamic library, wchar, threads, headers >= 3.7" depends on BR2_USE_MMU - depends on !BR2_arc depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_USE_WCHAR \ || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 diff --git a/package/vlc/vlc.hash b/package/vlc/vlc.hash index 628dad74d9..02b70ef943 100644 --- a/package/vlc/vlc.hash +++ b/package/vlc/vlc.hash @@ -1,2 +1,8 @@ -# From http://download.videolan.org/pub/videolan/vlc/2.2.6/vlc-2.2.6.tar.xz.sha256 -sha256 c403d3accd9a400eb2181c958f3e7bc5524fe5738425f4253d42883b425a42a8 vlc-2.2.6.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/2.2.8/vlc-2.2.8.tar.xz.sha256 +sha256 9bf046848fb56d93518881b39099b8288ee005d5ba0ddf705b6f6643b8d562ec vlc-2.2.8.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/2.2.8/vlc-2.2.8.tar.xz.sha1 +sha1 b960ec5bdb9a51da285430fc68962927ccc87187 vlc-2.2.8.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/2.2.8/vlc-2.2.8.tar.xz.md5 +md5 b721fddf65aaf64eeee5629aa9bf7c9e vlc-2.2.8.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk index 4602f92c4b..56bfdced53 100644 --- a/package/vlc/vlc.mk +++ b/package/vlc/vlc.mk @@ -4,8 +4,8 @@ # ################################################################################ -VLC_VERSION = 2.2.6 -VLC_SITE = http://get.videolan.org/vlc/$(VLC_VERSION) +VLC_VERSION = 2.2.8 +VLC_SITE = https://get.videolan.org/vlc/$(VLC_VERSION) VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz VLC_LICENSE = GPL-2.0+, LGPL-2.1+ VLC_LICENSE_FILES = COPYING COPYING.LIB @@ -281,9 +281,9 @@ else VLC_CONF_OPTS += --disable-theora endif -ifeq ($(BR2_PACKAGE_LIBUPNP),y) +ifeq ($(BR2_PACKAGE_LIBUPNP)$(BR2_PACKAGE_LIBUPNP18),y) VLC_CONF_OPTS += --enable-upnp -VLC_DEPENDENCIES += libupnp +VLC_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBUPNP),libupnp,libupnp18) else VLC_CONF_OPTS += --disable-upnp endif diff --git a/package/w_scan/Config.in b/package/w_scan/Config.in index 2d4f63434e..01dbbae122 100644 --- a/package/w_scan/Config.in +++ b/package/w_scan/Config.in @@ -6,9 +6,9 @@ config BR2_PACKAGE_W_SCAN depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help - w_scan is a small command line utility used to perform frequency - scans for DVB and ATSC transmissions. It is capable of creating - channels.conf files (in different output formats !) as well as - initial tuning data for scan. + w_scan is a small command line utility used to perform + frequency scans for DVB and ATSC transmissions. It is + capable of creating channels.conf files (in different output + formats !) as well as initial tuning data for scan. http://wirbel.htpc-forum.de/w_scan/index_en.html diff --git a/package/wavemon/Config.in b/package/wavemon/Config.in index e073dee96f..b72a617759 100644 --- a/package/wavemon/Config.in +++ b/package/wavemon/Config.in @@ -4,13 +4,14 @@ config BR2_PACKAGE_WAVEMON select BR2_PACKAGE_NCURSES select BR2_PACKAGE_LIBNL help - wavemon is a wireless device monitoring application that allows you - to watch signal and noise levels, packet statistics, device - configuration and network parameters of your wireless network - hardware. + wavemon is a wireless device monitoring application that + allows you to watch signal and noise levels, packet + statistics, device configuration and network parameters of + your wireless network hardware. - Note that you need a Linux Kernel configuration with wireless - extensions or with wireless extensions compatibility enabled. + Note that you need a Linux Kernel configuration with + wireless extensions or with wireless extensions + compatibility enabled. https://github.com/uoaerg/wavemon diff --git a/package/wavpack/0002-issue-27-do-not-overwrite-stack-on-corrupt-RF64-file.patch b/package/wavpack/0002-issue-27-do-not-overwrite-stack-on-corrupt-RF64-file.patch new file mode 100644 index 0000000000..bda00999b9 --- /dev/null +++ b/package/wavpack/0002-issue-27-do-not-overwrite-stack-on-corrupt-RF64-file.patch @@ -0,0 +1,118 @@ +From d5bf76b5a88d044a1be1d5656698e3ba737167e5 Mon Sep 17 00:00:00 2001 +From: David Bryant +Date: Sun, 4 Feb 2018 11:28:15 -0800 +Subject: [PATCH] issue #27, do not overwrite stack on corrupt RF64 file + +Fixes CVE-2018-6767 + +Signed-off-by: Peter Korsgaard +--- + cli/riff.c | 39 ++++++++++++++++++++++++++++++++------- + 1 file changed, 32 insertions(+), 7 deletions(-) + +diff --git a/cli/riff.c b/cli/riff.c +index 8b1af45..de98c1e 100644 +--- a/cli/riff.c ++++ b/cli/riff.c +@@ -42,6 +42,7 @@ typedef struct { + + #pragma pack(pop) + ++#define CS64ChunkFormat "4D" + #define DS64ChunkFormat "DDDL" + + #define WAVPACK_NO_ERROR 0 +@@ -101,13 +102,13 @@ int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack + + if (!strncmp (chunk_header.ckID, "ds64", 4)) { + if (chunk_header.ckSize < sizeof (DS64Chunk) || +- !DoReadFile (infile, &ds64_chunk, chunk_header.ckSize, &bcount) || +- bcount != chunk_header.ckSize) { ++ !DoReadFile (infile, &ds64_chunk, sizeof (DS64Chunk), &bcount) || ++ bcount != sizeof (DS64Chunk)) { + error_line ("%s is not a valid .WAV file!", infilename); + return WAVPACK_SOFT_ERROR; + } + else if (!(config->qmode & QMODE_NO_STORE_WRAPPER) && +- !WavpackAddWrapper (wpc, &ds64_chunk, chunk_header.ckSize)) { ++ !WavpackAddWrapper (wpc, &ds64_chunk, sizeof (DS64Chunk))) { + error_line ("%s", WavpackGetErrorMessage (wpc)); + return WAVPACK_SOFT_ERROR; + } +@@ -315,10 +316,11 @@ int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack + + int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, int qmode) + { +- int do_rf64 = 0, write_junk = 1; ++ int do_rf64 = 0, write_junk = 1, table_length = 0; + ChunkHeader ds64hdr, datahdr, fmthdr; + RiffChunkHeader riffhdr; + DS64Chunk ds64_chunk; ++ CS64Chunk cs64_chunk; + JunkChunk junkchunk; + WaveHeader wavhdr; + uint32_t bcount; +@@ -380,6 +382,7 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, + strncpy (riffhdr.formType, "WAVE", sizeof (riffhdr.formType)); + total_riff_bytes = sizeof (riffhdr) + wavhdrsize + sizeof (datahdr) + ((total_data_bytes + 1) & ~(int64_t)1); + if (do_rf64) total_riff_bytes += sizeof (ds64hdr) + sizeof (ds64_chunk); ++ total_riff_bytes += table_length * sizeof (CS64Chunk); + if (write_junk) total_riff_bytes += sizeof (junkchunk); + strncpy (fmthdr.ckID, "fmt ", sizeof (fmthdr.ckID)); + strncpy (datahdr.ckID, "data", sizeof (datahdr.ckID)); +@@ -394,11 +397,12 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, + + if (do_rf64) { + strncpy (ds64hdr.ckID, "ds64", sizeof (ds64hdr.ckID)); +- ds64hdr.ckSize = sizeof (ds64_chunk); ++ ds64hdr.ckSize = sizeof (ds64_chunk) + (table_length * sizeof (CS64Chunk)); + CLEAR (ds64_chunk); + ds64_chunk.riffSize64 = total_riff_bytes; + ds64_chunk.dataSize64 = total_data_bytes; + ds64_chunk.sampleCount64 = total_samples; ++ ds64_chunk.tableLength = table_length; + riffhdr.ckSize = (uint32_t) -1; + datahdr.ckSize = (uint32_t) -1; + WavpackNativeToLittleEndian (&ds64hdr, ChunkHeaderFormat); +@@ -409,6 +413,14 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, + datahdr.ckSize = (uint32_t) total_data_bytes; + } + ++ // this "table" is just a dummy placeholder for testing (normally not written) ++ ++ if (table_length) { ++ strncpy (cs64_chunk.ckID, "dmmy", sizeof (cs64_chunk.ckID)); ++ cs64_chunk.chunkSize64 = 12345678; ++ WavpackNativeToLittleEndian (&cs64_chunk, CS64ChunkFormat); ++ } ++ + // write the RIFF chunks up to just before the data starts + + WavpackNativeToLittleEndian (&riffhdr, ChunkHeaderFormat); +@@ -418,8 +430,21 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, + + if (!DoWriteFile (outfile, &riffhdr, sizeof (riffhdr), &bcount) || bcount != sizeof (riffhdr) || + (do_rf64 && (!DoWriteFile (outfile, &ds64hdr, sizeof (ds64hdr), &bcount) || bcount != sizeof (ds64hdr))) || +- (do_rf64 && (!DoWriteFile (outfile, &ds64_chunk, sizeof (ds64_chunk), &bcount) || bcount != sizeof (ds64_chunk))) || +- (write_junk && (!DoWriteFile (outfile, &junkchunk, sizeof (junkchunk), &bcount) || bcount != sizeof (junkchunk))) || ++ (do_rf64 && (!DoWriteFile (outfile, &ds64_chunk, sizeof (ds64_chunk), &bcount) || bcount != sizeof (ds64_chunk)))) { ++ error_line ("can't write .WAV data, disk probably full!"); ++ return FALSE; ++ } ++ ++ // again, this is normally not written except for testing ++ ++ while (table_length--) ++ if (!DoWriteFile (outfile, &cs64_chunk, sizeof (cs64_chunk), &bcount) || bcount != sizeof (cs64_chunk)) { ++ error_line ("can't write .WAV data, disk probably full!"); ++ return FALSE; ++ } ++ ++ ++ if ((write_junk && (!DoWriteFile (outfile, &junkchunk, sizeof (junkchunk), &bcount) || bcount != sizeof (junkchunk))) || + !DoWriteFile (outfile, &fmthdr, sizeof (fmthdr), &bcount) || bcount != sizeof (fmthdr) || + !DoWriteFile (outfile, &wavhdr, wavhdrsize, &bcount) || bcount != wavhdrsize || + !DoWriteFile (outfile, &datahdr, sizeof (datahdr), &bcount) || bcount != sizeof (datahdr)) { +-- +2.11.0 + diff --git a/package/wavpack/0003-issue-28-do-not-overwrite-heap-on-corrupt-DSDIFF-fil.patch b/package/wavpack/0003-issue-28-do-not-overwrite-heap-on-corrupt-DSDIFF-fil.patch new file mode 100644 index 0000000000..950877b03c --- /dev/null +++ b/package/wavpack/0003-issue-28-do-not-overwrite-heap-on-corrupt-DSDIFF-fil.patch @@ -0,0 +1,38 @@ +From 36a24c7881427d2e1e4dc1cef58f19eee0d13aec Mon Sep 17 00:00:00 2001 +From: David Bryant +Date: Sat, 10 Feb 2018 16:01:39 -0800 +Subject: [PATCH] issue #28, do not overwrite heap on corrupt DSDIFF file + +Fixes CVE-2018-7253 + +Signed-off-by: Peter Korsgaard +--- + cli/dsdiff.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/cli/dsdiff.c b/cli/dsdiff.c +index 410dc1c..c016df9 100644 +--- a/cli/dsdiff.c ++++ b/cli/dsdiff.c +@@ -153,7 +153,17 @@ int ParseDsdiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa + error_line ("dsdiff file version = 0x%08x", version); + } + else if (!strncmp (dff_chunk_header.ckID, "PROP", 4)) { +- char *prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize); ++ char *prop_chunk; ++ ++ if (dff_chunk_header.ckDataSize < 4 || dff_chunk_header.ckDataSize > 1024) { ++ error_line ("%s is not a valid .DFF file!", infilename); ++ return WAVPACK_SOFT_ERROR; ++ } ++ ++ if (debug_logging_mode) ++ error_line ("got PROP chunk of %d bytes total", (int) dff_chunk_header.ckDataSize); ++ ++ prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize); + + if (!DoReadFile (infile, prop_chunk, (uint32_t) dff_chunk_header.ckDataSize, &bcount) || + bcount != dff_chunk_header.ckDataSize) { +-- +2.11.0 + diff --git a/package/wavpack/0004-issue-28-fix-buffer-overflows-and-bad-allocs-on-corr.patch b/package/wavpack/0004-issue-28-fix-buffer-overflows-and-bad-allocs-on-corr.patch new file mode 100644 index 0000000000..142e81ff7a --- /dev/null +++ b/package/wavpack/0004-issue-28-fix-buffer-overflows-and-bad-allocs-on-corr.patch @@ -0,0 +1,72 @@ +From 8e3fe45a7bac31d9a3b558ae0079e2d92a04799e Mon Sep 17 00:00:00 2001 +From: David Bryant +Date: Sun, 11 Feb 2018 16:37:47 -0800 +Subject: [PATCH] issue #28, fix buffer overflows and bad allocs on corrupt CAF + files + +Fixes CVE-2018-7254 + +Signed-off-by: Peter Korsgaard +--- + cli/caff.c | 30 +++++++++++++++++++++++------- + 1 file changed, 23 insertions(+), 7 deletions(-) + +diff --git a/cli/caff.c b/cli/caff.c +index ae57c4b..6248a71 100644 +--- a/cli/caff.c ++++ b/cli/caff.c +@@ -89,8 +89,8 @@ typedef struct + + #define CAFChannelDescriptionFormat "LLLLL" + +-static const char TMH_full [] = { 1,2,3,13,9,10,5,6,12,14,15,16,17,9,4,18,7,8,19,20,21 }; +-static const char TMH_std [] = { 1,2,3,11,8,9,5,6,10,12,13,14,15,7,4,16 }; ++static const char TMH_full [] = { 1,2,3,13,9,10,5,6,12,14,15,16,17,9,4,18,7,8,19,20,21,0 }; ++static const char TMH_std [] = { 1,2,3,11,8,9,5,6,10,12,13,14,15,7,4,16,0 }; + + static struct { + uint32_t mChannelLayoutTag; // Core Audio layout, 100 - 146 in high word, num channels in low word +@@ -274,10 +274,19 @@ int ParseCaffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack + } + } + else if (!strncmp (caf_chunk_header.mChunkType, "chan", 4)) { +- CAFChannelLayout *caf_channel_layout = malloc ((size_t) caf_chunk_header.mChunkSize); ++ CAFChannelLayout *caf_channel_layout; + +- if (caf_chunk_header.mChunkSize < sizeof (CAFChannelLayout) || +- !DoReadFile (infile, caf_channel_layout, (uint32_t) caf_chunk_header.mChunkSize, &bcount) || ++ if (caf_chunk_header.mChunkSize < sizeof (CAFChannelLayout) || caf_chunk_header.mChunkSize > 1024) { ++ error_line ("this .CAF file has an invalid 'chan' chunk!"); ++ return WAVPACK_SOFT_ERROR; ++ } ++ ++ if (debug_logging_mode) ++ error_line ("'chan' chunk is %d bytes", (int) caf_chunk_header.mChunkSize); ++ ++ caf_channel_layout = malloc ((size_t) caf_chunk_header.mChunkSize); ++ ++ if (!DoReadFile (infile, caf_channel_layout, (uint32_t) caf_chunk_header.mChunkSize, &bcount) || + bcount != caf_chunk_header.mChunkSize) { + error_line ("%s is not a valid .CAF file!", infilename); + free (caf_channel_layout); +@@ -495,8 +504,15 @@ int ParseCaffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack + } + else { // just copy unknown chunks to output file + +- int bytes_to_copy = (uint32_t) caf_chunk_header.mChunkSize; +- char *buff = malloc (bytes_to_copy); ++ uint32_t bytes_to_copy = (uint32_t) caf_chunk_header.mChunkSize; ++ char *buff; ++ ++ if (caf_chunk_header.mChunkSize < 0 || caf_chunk_header.mChunkSize > 1048576) { ++ error_line ("%s is not a valid .CAF file!", infilename); ++ return WAVPACK_SOFT_ERROR; ++ } ++ ++ buff = malloc (bytes_to_copy); + + if (debug_logging_mode) + error_line ("extra unknown chunk \"%c%c%c%c\" of %d bytes", +-- +2.11.0 + diff --git a/package/wavpack/0005-issue-30-issue-31-issue-32-no-multiple-format-chunks.patch b/package/wavpack/0005-issue-30-issue-31-issue-32-no-multiple-format-chunks.patch new file mode 100644 index 0000000000..f837a0e966 --- /dev/null +++ b/package/wavpack/0005-issue-30-issue-31-issue-32-no-multiple-format-chunks.patch @@ -0,0 +1,64 @@ +From 26cb47f99d481ad9b93eeff80d26e6b63bbd7e15 Mon Sep 17 00:00:00 2001 +From: David Bryant +Date: Tue, 24 Apr 2018 22:18:07 -0700 +Subject: [PATCH] issue #30 issue #31 issue #32: no multiple format chunks in + WAV or W64 + +Signed-off-by: Peter Korsgaard +--- + cli/riff.c | 7 ++++++- + cli/wave64.c | 6 ++++++ + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/cli/riff.c b/cli/riff.c +index 7bddf63..5d6452e 100644 +--- a/cli/riff.c ++++ b/cli/riff.c +@@ -53,7 +53,7 @@ extern int debug_logging_mode; + + int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, WavpackContext *wpc, WavpackConfig *config) + { +- int is_rf64 = !strncmp (fourcc, "RF64", 4), got_ds64 = 0; ++ int is_rf64 = !strncmp (fourcc, "RF64", 4), got_ds64 = 0, format_chunk = 0; + int64_t total_samples = 0, infilesize; + RiffChunkHeader riff_chunk_header; + ChunkHeader chunk_header; +@@ -140,6 +140,11 @@ int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack + else if (!strncmp (chunk_header.ckID, "fmt ", 4)) { // if it's the format chunk, we want to get some info out of there and + int supported = TRUE, format; // make sure it's a .wav file we can handle + ++ if (format_chunk++) { ++ error_line ("%s is not a valid .WAV file!", infilename); ++ return WAVPACK_SOFT_ERROR; ++ } ++ + if (chunk_header.ckSize < 16 || chunk_header.ckSize > sizeof (WaveHeader) || + !DoReadFile (infile, &WaveHeader, chunk_header.ckSize, &bcount) || + bcount != chunk_header.ckSize) { +diff --git a/cli/wave64.c b/cli/wave64.c +index fa928a0..0388dc7 100644 +--- a/cli/wave64.c ++++ b/cli/wave64.c +@@ -53,6 +53,7 @@ int ParseWave64HeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa + Wave64ChunkHeader chunk_header; + Wave64FileHeader filehdr; + WaveHeader WaveHeader; ++ int format_chunk = 0; + uint32_t bcount; + + infilesize = DoGetFileSize (infile); +@@ -104,6 +105,11 @@ int ParseWave64HeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa + if (!memcmp (chunk_header.ckID, fmt_guid, sizeof (fmt_guid))) { + int supported = TRUE, format; + ++ if (format_chunk++) { ++ error_line ("%s is not a valid .W64 file!", infilename); ++ return WAVPACK_SOFT_ERROR; ++ } ++ + chunk_header.ckSize = (chunk_header.ckSize + 7) & ~7L; + + if (chunk_header.ckSize < 16 || chunk_header.ckSize > sizeof (WaveHeader) || +-- +2.11.0 + diff --git a/package/wavpack/0006-issue-33-sanitize-size-of-unknown-chunks-before-mall.patch b/package/wavpack/0006-issue-33-sanitize-size-of-unknown-chunks-before-mall.patch new file mode 100644 index 0000000000..76ebce66d6 --- /dev/null +++ b/package/wavpack/0006-issue-33-sanitize-size-of-unknown-chunks-before-mall.patch @@ -0,0 +1,75 @@ +From 6f8bb34c2993a48ab9afbe353e6d0cff7c8d821d Mon Sep 17 00:00:00 2001 +From: David Bryant +Date: Tue, 24 Apr 2018 17:27:01 -0700 +Subject: [PATCH] issue #33, sanitize size of unknown chunks before malloc() + +Signed-off-by: Peter Korsgaard +--- + cli/dsdiff.c | 9 ++++++++- + cli/riff.c | 9 ++++++++- + cli/wave64.c | 9 ++++++++- + 3 files changed, 24 insertions(+), 3 deletions(-) + +diff --git a/cli/dsdiff.c b/cli/dsdiff.c +index c016df9..fa56bbb 100644 +--- a/cli/dsdiff.c ++++ b/cli/dsdiff.c +@@ -279,7 +279,14 @@ int ParseDsdiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa + else { // just copy unknown chunks to output file + + int bytes_to_copy = (int)(((dff_chunk_header.ckDataSize) + 1) & ~(int64_t)1); +- char *buff = malloc (bytes_to_copy); ++ char *buff; ++ ++ if (bytes_to_copy < 0 || bytes_to_copy > 4194304) { ++ error_line ("%s is not a valid .DFF file!", infilename); ++ return WAVPACK_SOFT_ERROR; ++ } ++ ++ buff = malloc (bytes_to_copy); + + if (debug_logging_mode) + error_line ("extra unknown chunk \"%c%c%c%c\" of %d bytes", +diff --git a/cli/riff.c b/cli/riff.c +index de98c1e..7bddf63 100644 +--- a/cli/riff.c ++++ b/cli/riff.c +@@ -286,7 +286,14 @@ int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack + else { // just copy unknown chunks to output file + + int bytes_to_copy = (chunk_header.ckSize + 1) & ~1L; +- char *buff = malloc (bytes_to_copy); ++ char *buff; ++ ++ if (bytes_to_copy < 0 || bytes_to_copy > 4194304) { ++ error_line ("%s is not a valid .WAV file!", infilename); ++ return WAVPACK_SOFT_ERROR; ++ } ++ ++ buff = malloc (bytes_to_copy); + + if (debug_logging_mode) + error_line ("extra unknown chunk \"%c%c%c%c\" of %d bytes", +diff --git a/cli/wave64.c b/cli/wave64.c +index 591d640..fa928a0 100644 +--- a/cli/wave64.c ++++ b/cli/wave64.c +@@ -241,7 +241,14 @@ int ParseWave64HeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa + } + else { // just copy unknown chunks to output file + int bytes_to_copy = (chunk_header.ckSize + 7) & ~7L; +- char *buff = malloc (bytes_to_copy); ++ char *buff; ++ ++ if (bytes_to_copy < 0 || bytes_to_copy > 4194304) { ++ error_line ("%s is not a valid .W64 file!", infilename); ++ return WAVPACK_SOFT_ERROR; ++ } ++ ++ buff = malloc (bytes_to_copy); + + if (debug_logging_mode) + error_line ("extra unknown chunk \"%c%c%c%c\" of %d bytes", +-- +2.11.0 + diff --git a/package/wayland-protocols/wayland-protocols.hash b/package/wayland-protocols/wayland-protocols.hash index bfda1d81ad..d1d643caa7 100644 --- a/package/wayland-protocols/wayland-protocols.hash +++ b/package/wayland-protocols/wayland-protocols.hash @@ -1,4 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2017-July/034706.html -md5 84a7846c2b6a6a3e265fc9be36453e60 wayland-protocols-1.10.tar.xz -sha1 4f1322f03fa8b2e6467b8f71471f53eff82728a4 wayland-protocols-1.10.tar.xz -sha256 5719c51d7354864983171c5083e93a72ac99229e2b460c4bb10513de08839c0a wayland-protocols-1.10.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2017-December/036037.html +md5 ac83c4704003323b6bd5a1b91fb1be53 wayland-protocols-1.12.tar.xz +sha1 ac908e91c6c5e7802c0af48f55725ad683017e72 wayland-protocols-1.12.tar.xz +sha256 3b19e8a9e1e19474756a7069db23b90ca9b8ebb438448c6063b4a7fc89b7c8b2 wayland-protocols-1.12.tar.xz +sha256 f1a2b233e8a9a71c40f4aa885be08a0842ac85bb8588703c1dd7e6e6502e3124 COPYING diff --git a/package/wayland-protocols/wayland-protocols.mk b/package/wayland-protocols/wayland-protocols.mk index a4b3376fa6..0d23e9af32 100644 --- a/package/wayland-protocols/wayland-protocols.mk +++ b/package/wayland-protocols/wayland-protocols.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLAND_PROTOCOLS_VERSION = 1.10 +WAYLAND_PROTOCOLS_VERSION = 1.12 WAYLAND_PROTOCOLS_SITE = http://wayland.freedesktop.org/releases WAYLAND_PROTOCOLS_SOURCE = wayland-protocols-$(WAYLAND_PROTOCOLS_VERSION).tar.xz WAYLAND_PROTOCOLS_LICENSE = MIT diff --git a/package/waylandpp/0001-scanner-Fix-compiler-error-missing-stdexcept-to-use-.patch b/package/waylandpp/0001-scanner-Fix-compiler-error-missing-stdexcept-to-use-.patch new file mode 100644 index 0000000000..ad5b84257f --- /dev/null +++ b/package/waylandpp/0001-scanner-Fix-compiler-error-missing-stdexcept-to-use-.patch @@ -0,0 +1,28 @@ +From 85b61589b0c73f6c6974862af678ed2f82806ac5 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Thu, 9 Aug 2018 21:44:46 +0200 +Subject: [PATCH] [scanner] Fix compiler error: missing to use + std::runtime_error + +Patch sent upstream as PR 50. + +Signed-off-by: Bernd Kuhls +--- + scanner/scanner.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/scanner/scanner.cpp b/scanner/scanner.cpp +index 9c97b7c..7019e0a 100644 +--- a/scanner/scanner.cpp ++++ b/scanner/scanner.cpp +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + #include "pugixml.hpp" + +-- +2.18.0 + diff --git a/package/waylandpp/Config.in b/package/waylandpp/Config.in new file mode 100644 index 0000000000..3d7362b3c0 --- /dev/null +++ b/package/waylandpp/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_WAYLANDPP + bool "waylandpp" + depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND + depends on BR2_HOST_GCC_AT_LEAST_4_9 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_PACKAGE_WAYLAND + help + Wayland C++ bindings + + https://github.com/NilsBrause/waylandpp + +comment "waylandpp needs an OpenGL-EGL/wayland backend, a toolchain w/ gcc >= 4.9, host gcc >= 4.9" + depends on BR2_PACKAGE_WAYLAND + depends on !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ + !BR2_HOST_GCC_AT_LEAST_4_9 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/waylandpp/waylandpp.hash b/package/waylandpp/waylandpp.hash new file mode 100644 index 0000000000..1b14814c47 --- /dev/null +++ b/package/waylandpp/waylandpp.hash @@ -0,0 +1,4 @@ +# Locally computed +sha256 ebd4a8447bb65f288cad0e04538f6ec704e155213fc2b9cc1a851534c70aacac waylandpp-0.2.3.tar.gz +sha256 49aa6d728fd13226952c9e3a5a9cae46379b2a501010064760172b5ce7cd94bb LICENSE +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 scanner/gpl-3.0.txt diff --git a/package/waylandpp/waylandpp.mk b/package/waylandpp/waylandpp.mk new file mode 100644 index 0000000000..ff17c35c1e --- /dev/null +++ b/package/waylandpp/waylandpp.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# waylandpp +# +################################################################################ + +WAYLANDPP_VERSION = 0.2.3 +WAYLANDPP_SITE = $(call github,NilsBrause,waylandpp,$(WAYLANDPP_VERSION)) +WAYLANDPP_LICENSE = MIT, GPL-3.0+ (wayland_scanner) +WAYLANDPP_LICENSE_FILES = LICENSE scanner/gpl-3.0.txt +WAYLANDPP_INSTALL_STAGING = YES +HOST_WAYLANDPP_DEPENDENCIES = host-pkgconf host-wayland +WAYLANDPP_DEPENDENCIES = libegl host-pkgconf wayland host-waylandpp + +# host variant of wayland-scanner++ is needed for building the target +# package +HOST_WAYLANDPP_CONF_OPTS = \ + -DBUILD_LIBRARIES=OFF \ + -DBUILD_SCANNER=ON + +WAYLANDPP_CONF_OPTS = \ + -DBUILD_LIBRARIES=ON \ + -DBUILD_SCANNER=OFF \ + -DWAYLAND_SCANNERPP=$(HOST_DIR)/bin/wayland-scanner++ + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/package/webkitgtk/0001-ARM-Building-FELightingNEON.cpp-fails-due-to-missing.patch b/package/webkitgtk/0001-ARM-Building-FELightingNEON.cpp-fails-due-to-missing.patch new file mode 100644 index 0000000000..6fb309d9fb --- /dev/null +++ b/package/webkitgtk/0001-ARM-Building-FELightingNEON.cpp-fails-due-to-missing.patch @@ -0,0 +1,41 @@ +From b252c7aed3fa6f22db8a26c3ab0bfe66e3490eef Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro +Date: Sun, 23 Sep 2018 02:34:26 +0300 +Subject: [PATCH xserver] [ARM] Building FELightingNEON.cpp fails due to + missing lightVector member https://bugs.webkit.org/show_bug.cgi?id=189890 + +Reviewed by NOBODY (OOPS!). + +No new tests needed. + +* platform/graphics/cpu/arm/filters/FELightingNEON.h: +(WebCore::FELighting::platformApplyNeon): Adapt to new layout of "struct PaintingData" after r225122. +--- + Source/WebCore/ChangeLog | 12 ++++++++++++ + .../graphics/cpu/arm/filters/FELightingNEON.h | 6 +++--- + 2 files changed, 15 insertions(+), 3 deletions(-) + +Fetch from: https://bugs.webkit.org/show_bug.cgi?id=189890 +Upstream-Status: Pending +Signed-off-by: Adrian Perez de Castro + +diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h +index 42af922374b..b542a4c81aa 100644 +--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h ++++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h +@@ -144,9 +144,9 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS + neonData.flags |= FLAG_CONE_EXPONENT_IS_1; + } else { + ASSERT(m_lightSource->type() == LS_DISTANT); +- floatArguments.lightX = paintingData.lightVector.x(); +- floatArguments.lightY = paintingData.lightVector.y(); +- floatArguments.lightZ = paintingData.lightVector.z(); ++ floatArguments.lightX = paintingData.initialLightingData.lightVector.x(); ++ floatArguments.lightY = paintingData.initialLightingData.lightVector.y(); ++ floatArguments.lightZ = paintingData.initialLightingData.lightVector.z(); + floatArguments.padding2 = 1; + } + +-- +2.19.0 + diff --git a/package/webkitgtk/0001-CMake-Values-of-CMAKE_BUILD_TYPE-from-toolchain-file.patch b/package/webkitgtk/0001-CMake-Values-of-CMAKE_BUILD_TYPE-from-toolchain-file.patch deleted file mode 100644 index 6ac1258626..0000000000 --- a/package/webkitgtk/0001-CMake-Values-of-CMAKE_BUILD_TYPE-from-toolchain-file.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 3b13b1ec9985e72132ec6a3ba13cf60b34848817 Mon Sep 17 00:00:00 2001 -From: "aperez@igalia.com" - -Date: Mon, 27 Nov 2017 15:34:49 +0000 -Subject: [PATCH] [CMake] Values of CMAKE_BUILD_TYPE from toolchain file are - ignored https://bugs.webkit.org/show_bug.cgi?id=179971 - -Reviewed by Carlos Alberto Lopez Perez. - -* CMakeLists.txt: Call project() first, as it loads the toolchain -file, so that's done before checking CMAKE_BUILD_TYPE. - - -git-svn-id: http://svn.webkit.org/repository/webkit/trunk@225168 268f45cc-cd09-0410-ab3c-d52691b4dbfc - -Signed-off-by: Adrian Perez de Castro -Backported from: 75986e1807b - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d80c37b950a..0a9bd17b981 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,8 +1,17 @@ - # ----------------------------------------------------------------------------- - # Determine CMake version and build type. - # ----------------------------------------------------------------------------- -+# -+# NOTE: cmake_minimum_required() and project() *MUST* be the two fist commands -+# used, see https://cmake.org/cmake/help/v3.3/command/project.html -- the -+# latter in particular handles loading a bunch of shared CMake definitions -+# and loading the cross-compilation settings from CMAKE_TOOLCHAIN_FILE. -+# -+ - cmake_minimum_required(VERSION 3.3) - -+project(WebKit) -+ - if (NOT CMAKE_BUILD_TYPE) - message(WARNING "No CMAKE_BUILD_TYPE value specified, defaulting to RelWithDebInfo.") - set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build." FORCE) -@@ -10,8 +19,6 @@ else () - message(STATUS "The CMake build type is: ${CMAKE_BUILD_TYPE}") - endif () - --project(WebKit) -- - set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Source/cmake") - - set(ENABLE_WEBCORE ON) --- -2.15.1 - diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in index 65154db3fa..96a7ab0c94 100644 --- a/package/webkitgtk/Config.in +++ b/package/webkitgtk/Config.in @@ -11,19 +11,19 @@ config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt -comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 5, host gcc >= 4.8" +comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 6, host gcc >= 4.8" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_USES_GLIBC || \ !BR2_HOST_GCC_AT_LEAST_4_8 || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_5 + !BR2_TOOLCHAIN_GCC_AT_LEAST_6 depends on BR2_USE_MMU config BR2_PACKAGE_WEBKITGTK bool "webkitgtk" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_PACKAGE_LIBGTK3 depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS @@ -36,16 +36,20 @@ config BR2_PACKAGE_WEBKITGTK select BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_LIBSECRET select BR2_PACKAGE_LIBSOUP + select BR2_PACKAGE_LIBTASN1 select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_LIBXSLT select BR2_PACKAGE_SQLITE select BR2_PACKAGE_WEBP + select BR2_PACKAGE_WEBP_DEMUX + select BR2_PACKAGE_WOFF2 select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11 select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11 select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11 select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_LIBGTK3_X11 help - WebKit is an open source, standards compliant web browser engine. + WebKit is an open source, standards compliant web browser + engine. http://www.webkitgtk.org/ @@ -65,6 +69,8 @@ comment "webkitgtk https support needs a toolchain w/ dynamic library" config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA bool "multimedia support" select BR2_PACKAGE_GSTREAMER1 + select BR2_PACKAGE_GST1_PLUGINS_BAD + select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX select BR2_PACKAGE_GST1_PLUGINS_BASE select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash index 669bb1cc62..0b9b94ca49 100644 --- a/package/webkitgtk/webkitgtk.hash +++ b/package/webkitgtk/webkitgtk.hash @@ -1,4 +1,8 @@ -# From https://webkitgtk.org/releases/webkitgtk-2.18.3.tar.xz.sums -md5 264a22d7467deae606e42b6eb5dd65af webkitgtk-2.18.3.tar.xz -sha1 164cad34281ef597a3d4ad214e8037c3ddef4d17 webkitgtk-2.18.3.tar.xz -sha256 e15420e1616a6f70f321541d467af5ca285bff66b1e0fa68a01df3ccf1b18f9e webkitgtk-2.18.3.tar.xz +# From https://webkitgtk.org/releases/webkitgtk-2.22.2.tar.xz.sums +md5 207d50d313c07b03726f3a7f22643934 webkitgtk-2.22.2.tar.xz +sha1 ff0c40e81e240aa0743f7e6483f175defebd1417 webkitgtk-2.22.2.tar.xz +sha256 345487d4d1896e711683f951d1e09387d3b90d7cf59295c0e634af7f515e99ba webkitgtk-2.22.2.tar.xz + +# Hashes for license files: +sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE +sha256 f2b3bd09663381deb99721109d22b47af1213bb43007a8b56a06c6375c8050ce Source/WebCore/LICENSE-LGPL-2.1 diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk index c4675463fa..f28417ac73 100644 --- a/package/webkitgtk/webkitgtk.mk +++ b/package/webkitgtk/webkitgtk.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBKITGTK_VERSION = 2.18.3 +WEBKITGTK_VERSION = 2.22.2 WEBKITGTK_SITE = http://www.webkitgtk.org/releases WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz WEBKITGTK_INSTALL_STAGING = YES @@ -14,7 +14,7 @@ WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-LGPL-2.1 WEBKITGTK_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \ enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup \ - libxml2 libxslt sqlite webp + libtasn1 libxml2 libxslt sqlite webp woff2 WEBKITGTK_CONF_OPTS = \ -DENABLE_API_TESTS=OFF \ -DENABLE_GEOLOCATION=OFF \ @@ -22,6 +22,7 @@ WEBKITGTK_CONF_OPTS = \ -DENABLE_INTROSPECTION=OFF \ -DENABLE_MINIBROWSER=ON \ -DENABLE_SPELLCHECK=ON \ + -DENABLE_WOFF2=ON \ -DPORT=GTK \ -DUSE_LIBNOTIFY=OFF \ -DUSE_LIBHYPHEN=OFF diff --git a/package/webp/Config.in b/package/webp/Config.in index 646eb9ef5a..e8263a95f2 100644 --- a/package/webp/Config.in +++ b/package/webp/Config.in @@ -15,4 +15,11 @@ config BR2_PACKAGE_WEBP_DEMUX of an extended format WebP file, which can have features like color profile, metadata and animation. +config BR2_PACKAGE_WEBP_MUX + bool "webpmux" + help + Mux is a part of WebPMux for creation and manipulation + of an extended format WebP file, which can have features + like color profile, metadata and animation. + endif diff --git a/package/webp/webp.hash b/package/webp/webp.hash index bf4ee8fbf9..ffb63b8e2b 100644 --- a/package/webp/webp.hash +++ b/package/webp/webp.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 b75310c810b3eda222c77f6d6c26b061240e3d9060095de44b2c1bae291ecdef libwebp-0.5.2.tar.gz +sha256 06503c782d9f151baa325591c3579c68ed700ffc62d4f5a32feead0ff017d8ab libwebp-0.6.1.tar.gz +sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf COPYING diff --git a/package/webp/webp.mk b/package/webp/webp.mk index 7cf3df23ca..f5ca34241f 100644 --- a/package/webp/webp.mk +++ b/package/webp/webp.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBP_VERSION = 0.5.2 +WEBP_VERSION = 0.6.1 WEBP_SOURCE = libwebp-$(WEBP_VERSION).tar.gz WEBP_SITE = http://downloads.webmproject.org/releases/webp WEBP_LICENSE = BSD-3-Clause @@ -23,6 +23,26 @@ else WEBP_CONF_OPTS += --disable-libwebpdemux endif +ifeq ($(BR2_PACKAGE_WEBP_MUX),y) +WEBP_CONF_OPTS += --enable-libwebpmux +else +WEBP_CONF_OPTS += --disable-libwebpmux +endif + +ifeq ($(BR2_PACKAGE_GIFLIB),y) +WEBP_DEPENDENCIES += giflib +WEBP_CONF_OPTS += --enable-gif +else +WEBP_CONF_OPTS += --disable-gif +endif + +ifeq ($(BR2_PACKAGE_LIBFREEGLUT),y) +WEBP_DEPENDENCIES += libfreeglut +WEBP_CONF_OPTS += --enable-gl +else +WEBP_CONF_OPTS += --disable-gl +endif + ifeq ($(BR2_PACKAGE_LIBPNG),y) WEBP_DEPENDENCIES += libpng WEBP_CONF_ENV += ac_cv_path_LIBPNG_CONFIG=$(STAGING_DIR)/usr/bin/libpng-config diff --git a/package/weston/Config.in b/package/weston/Config.in index fd7791c450..f874b0cc6a 100644 --- a/package/weston/Config.in +++ b/package/weston/Config.in @@ -67,9 +67,9 @@ config BR2_PACKAGE_WESTON_RDP --rdp-tls-cert=/path/to/server.crt --rdp-tls-key=/path/to/server.key - By default, Buildroot installs such files in /etc/freerdp/server/ - so you may want to change them in a post-build script or a rootfs - overlay. + By default, Buildroot installs such files in + /etc/freerdp/server/ so you may want to change them in a + post-build script or a rootfs overlay. comment "RDP compositor needs a toolchain w/ wchar, C++" depends on BR2_USE_MMU diff --git a/package/weston/weston.mk b/package/weston/weston.mk index 93b0246e9e..3d17a61577 100644 --- a/package/weston/weston.mk +++ b/package/weston/weston.mk @@ -57,6 +57,7 @@ WESTON_DEPENDENCIES += libegl else WESTON_CONF_OPTS += \ --disable-egl \ + --disable-simple-dmabuf-drm-client \ --disable-simple-egl-clients endif @@ -85,7 +86,6 @@ ifeq ($(BR2_PACKAGE_WESTON_DRM),y) WESTON_CONF_OPTS += \ --enable-drm-compositor \ WESTON_NATIVE_BACKEND=drm-backend.so -WESTON_DEPENDENCIES += libdrm else WESTON_CONF_OPTS += --disable-drm-compositor endif diff --git a/package/wf111/Config.in b/package/wf111/Config.in index cfce8b4c86..7b61ea195f 100644 --- a/package/wf111/Config.in +++ b/package/wf111/Config.in @@ -6,29 +6,18 @@ config BR2_PACKAGE_WF111 # dynamically linked against the glibc. depends on BR2_TOOLCHAIN_USES_GLIBC help - BlueGiga WF111 WiFi driver and utilities. + Silicon Labs WF111 WiFi driver and utilities. Warning: CONFIG_WIRELESS_EXT and CONFIG_WEXT_PRIV must be selected in the Linux kernel configuration. These are blind options (i.e. not selectable directly) so they cannot be enabled by a change in linux/linux.mk. There are two choices to enable these options: - - By making them non blind, with a "WF111 support" configuration - entry that selects them, for example. + - By making them non blind, with a "WF111 support" + configuration entry that selects them, for example. - By enabling another random WiFi driver that select them. - http://www.bluegiga.com/en-US/products/wifi-modules/wf111-wifi-module/ - -if BR2_PACKAGE_WF111 - -config BR2_PACKAGE_WF111_TARBALL_PATH - string "Local tarball location" - help - The WF111 tarball can be retrieved on the BlueGiga website - after registration. This option specifies the path where the - tarball is locally saved. - -endif + https://www.silabs.com/products/wireless/wi-fi/wf111-bluegiga-module comment "wf111 needs a glibc toolchain" depends on BR2_LINUX_KERNEL diff --git a/package/wf111/wf111.mk b/package/wf111/wf111.mk index ad9d89149d..72526333fd 100644 --- a/package/wf111/wf111.mk +++ b/package/wf111/wf111.mk @@ -4,21 +4,16 @@ # ################################################################################ -WF111_VERSION = 5.2.2-r2 -WF111_SITE_METHOD = file -WF111_SITE = $(call qstrip,$(BR2_PACKAGE_WF111_TARBALL_PATH)) +WF111_VERSION = 5-2-2-r3 +WF111_SITE = https://www.silabs.com/documents/login/software WF111_DEPENDENCIES = linux -ifeq ($(BR2_PACKAGE_WF111)$(call qstrip,$(BR2_PACKAGE_WF111_TARBALL_PATH)),y) -$(error No tarball location specified, check BR2_PACKAGE_WF111_TARBALL_PATH) -endif - ifeq ($(BR2_ARM_CPU_ARMV7A),y) -WF111_SOURCE = wf111-linux-driver_$(WF111_VERSION)_armv7-a.tar.gz +WF111_SOURCE = wf111-linux-driver-$(WF111_VERSION)-armv7-a.tar.gz else ifeq ($(BR2_ARM_CPU_ARMV5),y) -WF111_SOURCE = wf111-linux-driver_$(WF111_VERSION)_armv5t.tar.gz +WF111_SOURCE = wf111-linux-driver-$(WF111_VERSION)-armv5te.tar.gz else ifeq ($(BR2_i386),y) -WF111_SOURCE = wf111-linux-driver_$(WF111_VERSION)_x86.tar.gz +WF111_SOURCE = wf111-linux-driver-$(WF111_VERSION)-x86.tar.gz endif # Due to the stupidity of the package Makefile, we can't invoke diff --git a/package/wget/wget.hash b/package/wget/wget.hash index 0048557946..eee4a5194e 100644 --- a/package/wget/wget.hash +++ b/package/wget/wget.hash @@ -1,4 +1,5 @@ # Locally calculated after checking pgp signature -sha256 d59a745ad2c522970660bb30d38601f9457b151b322e01fa20a5a0da0f55df07 wget-1.19.2.tar.lz +# https://ftp.gnu.org/gnu/wget/wget-1.19.5.tar.lz.sig +sha256 29fbe6f3d5408430c572a63fe32bd43d5860f32691173dfd84edc06869edca75 wget-1.19.5.tar.lz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING diff --git a/package/wget/wget.mk b/package/wget/wget.mk index 3fee8e1b0c..72a73cce79 100644 --- a/package/wget/wget.mk +++ b/package/wget/wget.mk @@ -4,7 +4,7 @@ # ################################################################################ -WGET_VERSION = 1.19.2 +WGET_VERSION = 1.19.5 WGET_SOURCE = wget-$(WGET_VERSION).tar.lz WGET_SITE = $(BR2_GNU_MIRROR)/wget WGET_DEPENDENCIES = host-pkgconf diff --git a/package/wine/wine.hash b/package/wine/wine.hash index 7f0a785eb0..176e0ee653 100644 --- a/package/wine/wine.hash +++ b/package/wine/wine.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 a811c664f870a3a01449443a93a6fcee41aea2e912e58f72742eb7924962be56 wine-2.0.3.tar.xz +sha256 346a050aca5cd0d9978a655af11c30e68c201a58aea0c70d5e4c4f1b63c2fbec wine-3.0.tar.xz diff --git a/package/wine/wine.mk b/package/wine/wine.mk index d540886782..02c4c0f155 100644 --- a/package/wine/wine.mk +++ b/package/wine/wine.mk @@ -4,9 +4,9 @@ # ################################################################################ -WINE_VERSION = 2.0.3 +WINE_VERSION = 3.0 WINE_SOURCE = wine-$(WINE_VERSION).tar.xz -WINE_SITE = https://dl.winehq.org/wine/source/2.0 +WINE_SITE = https://dl.winehq.org/wine/source/3.0 WINE_LICENSE = LGPL-2.1+ WINE_LICENSE_FILES = COPYING.LIB LICENSE WINE_DEPENDENCIES = host-bison host-flex host-wine @@ -23,6 +23,7 @@ WINE_CONF_OPTS = \ --without-gphoto \ --without-gsm \ --without-hal \ + --without-krb5 \ --without-opencl \ --without-oss @@ -347,6 +348,7 @@ HOST_WINE_CONF_OPTS += \ --without-gstreamer \ --without-hal \ --without-jpeg \ + --without-krb5 \ --without-ldap \ --without-mpg123 \ --without-netapi \ diff --git a/package/wireguard/wireguard.hash b/package/wireguard/wireguard.hash index 3749456cb0..fe6439fbc2 100644 --- a/package/wireguard/wireguard.hash +++ b/package/wireguard/wireguard.hash @@ -1,4 +1,4 @@ -# From https://lists.zx2c4.com/pipermail/wireguard/2017-November/001935.html -sha256 d9347786a9406ac276d86321ca64aadb1f0639cb0582c6e0519c634cf6e81157 WireGuard-0.0.20171111.tar.xz +# From https://lists.zx2c4.com/pipermail/wireguard/2018-September/003395.html +sha256 4a0488a07e40ec17e798f3e40a85cedf55f0560b1c3a8fd95806c7d4266cb0e8 WireGuard-0.0.20180925.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/wireguard/wireguard.mk b/package/wireguard/wireguard.mk index 2eacb22a4b..faddbf93ad 100644 --- a/package/wireguard/wireguard.mk +++ b/package/wireguard/wireguard.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIREGUARD_VERSION = 0.0.20171111 +WIREGUARD_VERSION = 0.0.20180925 WIREGUARD_SITE = https://git.zx2c4.com/WireGuard/snapshot WIREGUARD_SOURCE = WireGuard-$(WIREGUARD_VERSION).tar.xz WIREGUARD_LICENSE = GPL-2.0 diff --git a/package/wireless-regdb/Config.in b/package/wireless-regdb/Config.in index d9c7b8d2d1..0c9896deb9 100644 --- a/package/wireless-regdb/Config.in +++ b/package/wireless-regdb/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_WIRELESS_REGDB Wireless regulatory database for CRDA. The database lists the allowed radio frequencies for each local jurisdiction. - http://linuxwireless.org/en/developers/Regulatory + https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb diff --git a/package/wireless-regdb/wireless-regdb.hash b/package/wireless-regdb/wireless-regdb.hash index 4163609d17..65ae735cb5 100644 --- a/package/wireless-regdb/wireless-regdb.hash +++ b/package/wireless-regdb/wireless-regdb.hash @@ -1,2 +1,4 @@ # From https://www.kernel.org/pub/software/network/wireless-regdb/sha256sums.asc -sha256 371eafa3b26ece916ef83aca02c4bed2e54099eb5b8c6d22d3a4358dce6535b9 wireless-regdb-2017.03.07.tar.xz +sha256 e1dfbc3b97771373077f430c3c05082fae883145b37db5b2cfd12c56676fbe7b wireless-regdb-2018.05.31.tar.xz +# Locally computed +sha256 678b0df753c86198fc496d1f1033429bbd57f101472132ee7eaaf9f5e0a7fae1 LICENSE diff --git a/package/wireless-regdb/wireless-regdb.mk b/package/wireless-regdb/wireless-regdb.mk index 9d7a375461..829374edcf 100644 --- a/package/wireless-regdb/wireless-regdb.mk +++ b/package/wireless-regdb/wireless-regdb.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIRELESS_REGDB_VERSION = 2017.03.07 +WIRELESS_REGDB_VERSION = 2018.05.31 WIRELESS_REGDB_SOURCE = wireless-regdb-$(WIRELESS_REGDB_VERSION).tar.xz WIRELESS_REGDB_SITE = http://kernel.org/pub/software/network/wireless-regdb WIRELESS_REGDB_LICENSE = ISC @@ -15,6 +15,10 @@ define WIRELESS_REGDB_INSTALL_TARGET_CMDS $(TARGET_DIR)/usr/lib/crda/regulatory.bin $(INSTALL) -m 644 -D -T $(@D)/sforshee.key.pub.pem \ $(TARGET_DIR)/etc/wireless-regdb/pubkeys/sforshee.key.pub.pem + $(INSTALL) -m 644 -D -T $(@D)/regulatory.db \ + $(TARGET_DIR)/lib/firmware/regulatory.db + $(INSTALL) -m 644 -D -T $(@D)/regulatory.db.p7s \ + $(TARGET_DIR)/lib/firmware/regulatory.db.p7s endef $(eval $(generic-package)) diff --git a/package/wireless_tools/Config.in b/package/wireless_tools/Config.in index e33af25b86..349908dbde 100644 --- a/package/wireless_tools/Config.in +++ b/package/wireless_tools/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_WIRELESS_TOOLS help A collection of tools to configure wireless lan cards. - http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html + https://hewlettpackard.github.io/wireless-tools/ if BR2_PACKAGE_WIRELESS_TOOLS diff --git a/package/wireless_tools/wireless_tools.mk b/package/wireless_tools/wireless_tools.mk index 51320a9b25..b87ab20fb2 100644 --- a/package/wireless_tools/wireless_tools.mk +++ b/package/wireless_tools/wireless_tools.mk @@ -6,7 +6,7 @@ WIRELESS_TOOLS_VERSION_MAJOR = 30 WIRELESS_TOOLS_VERSION = $(WIRELESS_TOOLS_VERSION_MAJOR).pre9 -WIRELESS_TOOLS_SITE = http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux +WIRELESS_TOOLS_SITE = https://hewlettpackard.github.io/wireless-tools WIRELESS_TOOLS_SOURCE = wireless_tools.$(WIRELESS_TOOLS_VERSION).tar.gz WIRELESS_TOOLS_LICENSE = GPL-2.0 WIRELESS_TOOLS_LICENSE_FILES = COPYING diff --git a/package/wireshark/wireshark.hash b/package/wireshark/wireshark.hash index 3494f2e5bf..8b2d7bc985 100644 --- a/package/wireshark/wireshark.hash +++ b/package/wireshark/wireshark.hash @@ -1,2 +1,4 @@ -# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.2.10.txt -sha256 8574a5e1fdec7affae640924bd46c1aed1bd866e02632fa5625e1450e4a50707 wireshark-2.2.10.tar.bz2 +# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.2.17.txt +sha256 923d39ff9c6df83b9594868542061da33bf330e12526778a8cb3adcf912eebb0 wireshark-2.2.17.tar.bz2 +# Locally calculated +sha256 7cdbed2b697efaa45576a033f1ac0e73cd045644a91c79bbf41d4a7d81dac7bf COPYING diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk index 34ee563f18..fb90f2b940 100644 --- a/package/wireshark/wireshark.mk +++ b/package/wireshark/wireshark.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIRESHARK_VERSION = 2.2.10 +WIRESHARK_VERSION = 2.2.17 WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2 WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions WIRESHARK_LICENSE = wireshark license diff --git a/package/wmctrl/wmctrl.mk b/package/wmctrl/wmctrl.mk index 0d4aeebc1d..36ad3513ff 100644 --- a/package/wmctrl/wmctrl.mk +++ b/package/wmctrl/wmctrl.mk @@ -11,4 +11,8 @@ WMCTRL_LICENSE_FILES = COPYING WMCTRL_DEPENDENCIES = libglib2 xlib_libX11 xlib_libXmu +WMCTRL_CONF_OPTS = \ + --x-includes=$(STAGING_DIR)/usr/include \ + --x-libraries=$(STAGING_DIR)/usr/lib + $(eval $(autotools-package)) diff --git a/package/woff2/0001-CMake-Handle-multiple-libraries-being-returned-for-B.patch b/package/woff2/0001-CMake-Handle-multiple-libraries-being-returned-for-B.patch new file mode 100644 index 0000000000..142eab2718 --- /dev/null +++ b/package/woff2/0001-CMake-Handle-multiple-libraries-being-returned-for-B.patch @@ -0,0 +1,80 @@ +From 9a6d50b3f355c1e4d72a235aa0bac4856dff1785 Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro +Date: Tue, 27 Mar 2018 19:59:23 +0100 +Subject: [PATCH] CMake: Handle multiple libraries being returned for Brotli + +Brotli is built as three libraries: libbrotlienc, libbrotlidec, and +libbrotlicommon. When requesting the linker flags using pkg-config for +e.g. libbrotlidec, it will return both libbrotlidec and libbrotlicommon. +The FindBrotli*.cmake files ignore the names of the libraries returned +by pkg-config, and hardcode only the libbrotli{enc,dec} names. While +this is fine when using shared libraries (they contain an entry for +libbrotlicommon as required library in their headers), it will cause +linker errors when Brotli has been built as static libraries, due to +the missing symbols from libbrotlicommon being unknown to the linker. + +This fixes FindBrotli*.cmake files by using the library names reported +by pkg-config (instead of hardcoding them), and applying find_library() +to each of the libraries to find their absolute paths. If any of the +libraries is missing, the corresponding BROTLI{ENC,DEC}_LIBRARIES is +unset to let find_package_handle_standard_args() report an error. +--- + cmake/FindBrotliDec.cmake | 13 +++++++++---- + cmake/FindBrotliEnc.cmake | 14 ++++++++++---- + 2 files changed, 19 insertions(+), 8 deletions(-) + +Signed-off-by: Adrian Perez de Castro +Upstream-Status: Submitted [https://github.com/google/woff2/pull/112] + +diff --git a/cmake/FindBrotliDec.cmake b/cmake/FindBrotliDec.cmake +index abb06f4..9cbb415 100644 +--- a/cmake/FindBrotliDec.cmake ++++ b/cmake/FindBrotliDec.cmake +@@ -18,10 +18,15 @@ find_path(BROTLIDEC_INCLUDE_DIRS + HINTS ${PC_BROTLIDEC_INCLUDEDIR} + ) + +-find_library(BROTLIDEC_LIBRARIES +- NAMES brotlidec +- HINTS ${PC_BROTLIDEC_LIBDIR} +-) ++set(BROTLIDEC_LIBRARIES "") ++foreach(_lib ${PC_BROTLIDEC_LIBRARIES}) ++ find_library(PC_BROTLIDEC_PATH_${_lib} ${_lib} HINTS ${PC_BROTLIDEC_LIBRARY_DIRS}) ++ if(NOT PC_BROTLIDEC_PATH_${_lib}) ++ unset(BROTLIDEC_LIBRARIES) ++ break() ++ endif() ++ list(APPEND BROTLIDEC_LIBRARIES "${PC_BROTLIDEC_PATH_${_lib}}") ++endforeach() + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(BrotliDec +diff --git a/cmake/FindBrotliEnc.cmake b/cmake/FindBrotliEnc.cmake +index 4be347d..55f3932 100644 +--- a/cmake/FindBrotliEnc.cmake ++++ b/cmake/FindBrotliEnc.cmake +@@ -18,10 +18,16 @@ find_path(BROTLIENC_INCLUDE_DIRS + HINTS ${PC_BROTLIENC_INCLUDEDIR} + ) + +-find_library(BROTLIENC_LIBRARIES +- NAMES brotlienc +- HINTS ${PC_BROTLIENC_LIBDIR} +-) ++set(BROTLIENC_LIBRARIES "") ++foreach(_lib ${PC_BROTLIENC_LIBRARIES}) ++ find_library(PC_BROTLIENC_PATH_${_lib} ${_lib} ++ HINTS ${PC_BROTLIENC_LIBRARY_DIRS}) ++ if(NOT PC_BROTLIENC_PATH_${_lib}) ++ unset(BROTLIENC_LIBRARIES) ++ break() ++ endif() ++ list(APPEND BROTLIENC_LIBRARIES "${PC_BROTLIENC_PATH_${_lib}}") ++endforeach() + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(BrotliEnc +-- +2.16.3 + diff --git a/package/woff2/Config.in b/package/woff2/Config.in new file mode 100644 index 0000000000..48672570dd --- /dev/null +++ b/package/woff2/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_WOFF2 + bool "woff2" + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_BROTLI + help + Reference implementation for the WOFF2 font file format, + typically used for Web fonts + + https://github.com/google/woff2 diff --git a/package/woff2/woff2.hash b/package/woff2/woff2.hash new file mode 100644 index 0000000000..469071e3c2 --- /dev/null +++ b/package/woff2/woff2.hash @@ -0,0 +1,5 @@ +# Locally generated: +sha512 c788bba1530aec463e755e901f9342f4b599e3a07f54645fef1dc388ab5d5c30625535e5dd38e9e792e04a640574baa50eeefb6b7338ab403755f4a4e0c3044d v1.0.2.tar.gz + +# Hash for license files: +sha512 8ee924da3fb5d16135adcf6a8fbe9e2e8f3d2d80468617e72ca4fa059a60f8455c9a5f68a8dc381b1297c8bf39c887a912d0f69246d2604ada74d3da9e8e490b LICENSE diff --git a/package/woff2/woff2.mk b/package/woff2/woff2.mk new file mode 100644 index 0000000000..2f0206c82b --- /dev/null +++ b/package/woff2/woff2.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# woff2 +# +################################################################################ + +WOFF2_VERSION = 1.0.2 +WOFF2_SOURCE = v$(WOFF2_VERSION).tar.gz +WOFF2_SITE = https://github.com/google/woff2/archive +WOFF2_LICENSE = MIT +WOFF2_LICENSE_FILES = LICENSE +WOFF2_INSTALL_STAGING = YES +WOFF2_DEPENDENCIES = brotli +WOFF2_CONF_OPTS = \ + -DNOISY_LOGGING=OFF + +# The CMake build files for woff2 manually set some RPATH handling options +# which make the installation steps fail with static builds, so pass this +# to prevent any attempt of mangling RPATH that CMake would do. +ifneq ($(BR2_SHARED_LIBS),y) +WOFF2_CONF_OPTS += -DCMAKE_SKIP_RPATH=ON +endif + +# Internal error, aborting at dw2gencfi.c:215 in emit_expr_encoded +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509 +ifeq ($(BR2_m68k_cf),y) +WOFF2_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -fno-dwarf2-cfi-asm" +endif + +$(eval $(cmake-package)) diff --git a/package/wolfssl/Config.in b/package/wolfssl/Config.in new file mode 100644 index 0000000000..3c6d68f592 --- /dev/null +++ b/package/wolfssl/Config.in @@ -0,0 +1,27 @@ +config BR2_PACKAGE_WOLFSSL + bool "wolfssl" + depends on BR2_TOOLCHAIN_HAS_THREADS + help + The wolfSSL embedded SSL library (formerly CyaSSL) is a + lightweight, portable, C-language-based SSL/TLS library + targeted at IoT, embedded, and RTOS environments primarily + because of its size, speed, and feature set. + + https://www.wolfssl.com/ + +if BR2_PACKAGE_WOLFSSL + +config BR2_PACKAGE_WOLFSSL_ALL + bool "enable all features, except SSLv3" + help + Enable all wolfSSL features, except SSL version 3.0 support. + +config BR2_PACKAGE_WOLFSSL_SSLV3 + bool "enable SSLv3" + help + Enable SSL version 3.0 support. + +endif + +comment "wolfssl needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/wolfssl/wolfssl.hash b/package/wolfssl/wolfssl.hash new file mode 100644 index 0000000000..204f2f0957 --- /dev/null +++ b/package/wolfssl/wolfssl.hash @@ -0,0 +1,6 @@ +# Locally computed: +sha256 3bafeb0cb7eaff80002ba3f7cbb70023757bcc35fc4d82181945b143f1f927c6 v3.13.0-stable.tar.gz + +# Hash for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 74adaaef40b96c71378b6daa3feb8ccd4a1bfd9b76debf3f3f29cf3a0e86c9a0 LICENSING diff --git a/package/wolfssl/wolfssl.mk b/package/wolfssl/wolfssl.mk new file mode 100644 index 0000000000..84073f338e --- /dev/null +++ b/package/wolfssl/wolfssl.mk @@ -0,0 +1,35 @@ +################################################################################ +# +# wolfssl +# +################################################################################ + +WOLFSSL_VERSION = 3.13.0 +WOLFSSL_SITE = https://github.com/wolfSSL/wolfssl/archive +WOLFSSL_SOURCE = v$(WOLFSSL_VERSION)-stable.tar.gz + +WOLFSSL_LICENSE = GPL-2.0 +WOLFSSL_LICENSE_FILES = COPYING LICENSING + +WOLFSSL_DEPENDENCIES = host-pkgconf + +# wolfssl's source code is released without a configure +# script, so we need autoreconf +WOLFSSL_AUTORECONF = YES + +ifeq ($(BR2_PACKAGE_WOLFSSL_ALL),y) +WOLFSSL_CONF_OPTS += --enable-all +else +WOLFSSL_CONF_OPTS += --disable-all +endif + +ifeq ($(BR2_PACKAGE_WOLFSSL_SSLV3),y) +WOLFSSL_CONF_OPTS += --enable-sslv3 +else +WOLFSSL_CONF_OPTS += --disable-sslv3 +endif + +# build fails when ARMv8 hardware acceleration is enabled +WOLFSSL_CONF_OPTS += --disable-armasm + +$(eval $(autotools-package)) diff --git a/package/wpa_supplicant/Config.in b/package/wpa_supplicant/Config.in index de03141e40..58a074fae8 100644 --- a/package/wpa_supplicant/Config.in +++ b/package/wpa_supplicant/Config.in @@ -34,10 +34,11 @@ config BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT depends on BR2_PACKAGE_WPA_SUPPLICANT_NL80211 help With this option enabled, wpa_supplicant can act as an - access point much like hostapd does with a limited feature set. - This links in parts of hostapd functionality into wpa_supplicant, - making it bigger but dispensing the need for a separate hostapd - binary in some applications hence being smaller overall. + access point much like hostapd does with a limited feature + set. This links in parts of hostapd functionality into + wpa_supplicant, making it bigger but dispensing the need for + a separate hostapd binary in some applications hence being + smaller overall. config BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY bool "Enable Wi-Fi Display" @@ -67,7 +68,8 @@ config BR2_PACKAGE_WPA_SUPPLICANT_EAP config BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT bool "Enable HS20" help - Enable Hotspot 2.0 and IEEE 802.11u interworking functionality. + Enable Hotspot 2.0 and IEEE 802.11u interworking + functionality. config BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG bool "Enable syslog support" @@ -109,7 +111,8 @@ config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW bool "Enable support for new DBus control interface" depends on BR2_PACKAGE_DBUS help - Enable support for new DBus control interface (fi.w1.wpa_supplicant1). + Enable support for new DBus control interface + (fi.w1.wpa_supplicant1). config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION bool "Introspection support" diff --git a/package/wpa_supplicant/wpa_supplicant.hash b/package/wpa_supplicant/wpa_supplicant.hash index 65a6ae246f..dbc4438215 100644 --- a/package/wpa_supplicant/wpa_supplicant.hash +++ b/package/wpa_supplicant/wpa_supplicant.hash @@ -7,3 +7,5 @@ sha256 793a54748161b5af430dd9de4a1988d19cb8e85ab29bc2340f886b0297cee20b rebase sha256 596d4d3b63ea859ed7ea9791b3a21cb11b6173b04c0a14a2afa47edf1666afa6 rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch sha256 c5a17af84aec2d88c56ce0da2d6945be398fe7cab5c0c340deb30973900c2736 rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch sha256 c8840d857b9432f3b488113c85c1ff5d4a4b8d81078b7033388dae1e990843b1 rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch +sha256 960c3cf2a514479b0b4cf09665186a1a9f5d28e8b05dec23db75c6cc13eb1f7c rebased-v2.6-0001-WPA-Ignore-unauthenticated-encrypted-EAPOL-Key-data.patch +sha256 3f6ca36d86668d6607389e01cf4766f38aa3b8ab2c144ad132541087b41c061d README diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk index 75ecbaa53c..2b451996ed 100644 --- a/package/wpa_supplicant/wpa_supplicant.mk +++ b/package/wpa_supplicant/wpa_supplicant.mk @@ -13,7 +13,8 @@ WPA_SUPPLICANT_PATCH = \ http://w1.fi/security/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch \ http://w1.fi/security/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch \ http://w1.fi/security/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch + http://w1.fi/security/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch \ + http://w1.fi/security/2018-1/rebased-v2.6-0001-WPA-Ignore-unauthenticated-encrypted-EAPOL-Key-data.patch WPA_SUPPLICANT_LICENSE = BSD-3-Clause WPA_SUPPLICANT_LICENSE_FILES = README WPA_SUPPLICANT_CONFIG = $(WPA_SUPPLICANT_DIR)/wpa_supplicant/.config diff --git a/package/wpan-tools/wpan-tools.hash b/package/wpan-tools/wpan-tools.hash index 6a3b6d16e7..cfad89aa00 100644 --- a/package/wpan-tools/wpan-tools.hash +++ b/package/wpan-tools/wpan-tools.hash @@ -1,4 +1,4 @@ # From http://wpan.cakelab.org/releases/md5sum -md5 06608f69951088844196f79685318aa9 wpan-tools-0.7.tar.gz +md5 91f0b640ff66910e977fab6525625624 wpan-tools-0.7.tar.xz # Calculated based on the hash above -sha256 8b690ff0e71e08bece5ec541223fda7abd2d5552d97d3d25b4967609b58fef00 wpan-tools-0.7.tar.gz +sha256 c16de9d7861c2d9b6a4436a0fac730f9f545ee290b92bc770c538ec6a3f22309 wpan-tools-0.7.tar.xz diff --git a/package/wpan-tools/wpan-tools.mk b/package/wpan-tools/wpan-tools.mk index a604dab870..d5e43a92c8 100644 --- a/package/wpan-tools/wpan-tools.mk +++ b/package/wpan-tools/wpan-tools.mk @@ -5,6 +5,7 @@ ################################################################################ WPAN_TOOLS_VERSION = 0.7 +WPAN_TOOLS_SOURCE = wpan-tools-$(WPAN_TOOLS_VERSION).tar.xz WPAN_TOOLS_SITE = http://wpan.cakelab.org/releases WPAN_TOOLS_DEPENDENCIES = host-pkgconf libnl WPAN_TOOLS_LICENSE = ISC diff --git a/package/wsapi-fcgi/Config.in b/package/wsapi-fcgi/Config.in index 6349038362..b4304a0652 100644 --- a/package/wsapi-fcgi/Config.in +++ b/package/wsapi-fcgi/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_WSAPI_FCGI select BR2_PACKAGE_WSAPI help WSAPI is an API that abstracts the web server from Lua web - applications. This is the rock that contains the FCGI module lfcgi. + applications. This is the rock that contains the FCGI module + lfcgi. http://keplerproject.github.com/wsapi/ diff --git a/package/x11r7/libxcb/Config.in b/package/x11r7/libxcb/Config.in index 32569f7918..7439741f0a 100644 --- a/package/x11r7/libxcb/Config.in +++ b/package/x11r7/libxcb/Config.in @@ -6,7 +6,8 @@ config BR2_PACKAGE_LIBXCB select BR2_PACKAGE_XLIB_LIBXAU help The X protocol C-language Binding (XCB) is a replacement for - Xlib featuring a small footprint, latency hiding, direct access - to the protocol, improved threading support, and extensibility. + Xlib featuring a small footprint, latency hiding, direct + access to the protocol, improved threading support, and + extensibility. http://xcb.freedesktop.org/ diff --git a/package/x11r7/mcookie/mcookie.c b/package/x11r7/mcookie/mcookie.c index 902d92fc47..3c38f6f3b3 100644 --- a/package/x11r7/mcookie/mcookie.c +++ b/package/x11r7/mcookie/mcookie.c @@ -204,7 +204,7 @@ void MD5Final(unsigned char digest[16], struct MD5Context *ctx) MD5Transform(ctx->buf, (uint32 *) ctx->in); byteReverse((unsigned char *) ctx->buf, 4); memcpy(digest, ctx->buf, 16); - memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */ + memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */ } /* The four core functions - F1 is optimized somewhat */ diff --git a/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.hash b/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.hash index 7bb7fd363e..65973a500f 100644 --- a/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.hash +++ b/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.hash @@ -1,2 +1,5 @@ -# From http://lists.x.org/archives/xorg-announce/2014-December/002509.html -sha256 38f447be0c61f94c473f128cf519dd0cff63b5d7775240a2e895a183a61e2026 bdftopcf-1.0.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-November/002821.html +md5 2a455d3c02390597feb9cefb3fe97a45 bdftopcf-1.1.tar.bz2 +sha1 48a783337a5aa49ebc102c9788ff0f43ea35c5c4 bdftopcf-1.1.tar.bz2 +sha256 4b4df05fc53f1e98993638d6f7e178d95b31745c4568cee407e167491fd311a2 bdftopcf-1.1.tar.bz2 +sha512 7b790e8d512ca2812ac889c156ef91c48798b4744a6857e5b17e0128764b5afa8c5426fe5de05a9819d64745116718db4221b3e657e3c2633465e87179c44bec bdftopcf-1.1.tar.bz2 diff --git a/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk b/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk index 489bbba4be..7ee618d641 100644 --- a/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk +++ b/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_BDFTOPCF_VERSION = 1.0.5 +XAPP_BDFTOPCF_VERSION = 1.1 XAPP_BDFTOPCF_SOURCE = bdftopcf-$(XAPP_BDFTOPCF_VERSION).tar.bz2 XAPP_BDFTOPCF_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_BDFTOPCF_LICENSE = MIT diff --git a/package/x11r7/xapp_xcmsdb/Config.in b/package/x11r7/xapp_xcmsdb/Config.in index 99c9cbb4b9..82c9da3aa7 100644 --- a/package/x11r7/xapp_xcmsdb/Config.in +++ b/package/x11r7/xapp_xcmsdb/Config.in @@ -2,4 +2,5 @@ config BR2_PACKAGE_XAPP_XCMSDB bool "xcmsdb" select BR2_PACKAGE_XLIB_LIBX11 help - Device Color Characterization utility for X Color Management System + Device Color Characterization utility for X Color Management + System diff --git a/package/x11r7/xapp_xfs/Config.in b/package/x11r7/xapp_xfs/Config.in index 0a5d711524..b708af8c0c 100644 --- a/package/x11r7/xapp_xfs/Config.in +++ b/package/x11r7/xapp_xfs/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_XAPP_XFS bool "xfs" depends on BR2_USE_MMU # fork() select BR2_PACKAGE_XLIB_LIBFS - select BR2_PACKAGE_XLIB_LIBXFONT + select BR2_PACKAGE_XLIB_LIBXFONT2 select BR2_PACKAGE_XPROTO_FONTSPROTO help X font server diff --git a/package/x11r7/xapp_xfs/xapp_xfs.hash b/package/x11r7/xapp_xfs/xapp_xfs.hash index 67823742b5..27577ba2bd 100644 --- a/package/x11r7/xapp_xfs/xapp_xfs.hash +++ b/package/x11r7/xapp_xfs/xapp_xfs.hash @@ -1,2 +1,5 @@ -# From http://lists.x.org/archives/xorg-announce/2014-August/002472.html -sha256 a40b75e674c091464f85739292b6bf24e2d153f4a2ac456d3ea6b8a64e269ffa xfs-1.1.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-November/002826.html +md5 b4d2e644bfb35cae8858d2411501b07e xfs-1.2.0.tar.bz2 +sha1 00848fcc2915ed8b00e75ac311c4727327324f57 xfs-1.2.0.tar.bz2 +sha256 db2212115783498f8eeaaee1349461d6c4e9d2005e142bacd3a984fe57269860 xfs-1.2.0.tar.bz2 +sha512 557b08aa07919239ce345d60b288b886640200bb1a59649fc890c3ccaa8559cc6745189614e696ab1b390ec024b393be5493787b7b0d2b3545b342d743c2e0ef xfs-1.2.0.tar.bz2 diff --git a/package/x11r7/xapp_xfs/xapp_xfs.mk b/package/x11r7/xapp_xfs/xapp_xfs.mk index 3e704554b2..f4fe35dfb7 100644 --- a/package/x11r7/xapp_xfs/xapp_xfs.mk +++ b/package/x11r7/xapp_xfs/xapp_xfs.mk @@ -4,11 +4,11 @@ # ################################################################################ -XAPP_XFS_VERSION = 1.1.4 +XAPP_XFS_VERSION = 1.2.0 XAPP_XFS_SOURCE = xfs-$(XAPP_XFS_VERSION).tar.bz2 XAPP_XFS_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XFS_LICENSE = MIT XAPP_XFS_LICENSE_FILES = COPYING -XAPP_XFS_DEPENDENCIES = xlib_libFS xlib_libXfont xproto_fontsproto +XAPP_XFS_DEPENDENCIES = xlib_libFS xlib_libXfont2 xproto_fontsproto $(eval $(autotools-package)) diff --git a/package/x11r7/xcb-proto/Config.in b/package/x11r7/xcb-proto/Config.in index 1d66372dee..a4c938312c 100644 --- a/package/x11r7/xcb-proto/Config.in +++ b/package/x11r7/xcb-proto/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_XCB_PROTO bool "xcb-proto" help - The protocol headers that define XCB. + The protocol headers that define XCB. - http://xcb.freedesktop.org/ + http://xcb.freedesktop.org/ diff --git a/package/x11r7/xcb-util-image/Config.in b/package/x11r7/xcb-util-image/Config.in index 31fc61a50c..c8d7ef8ad6 100644 --- a/package/x11r7/xcb-util-image/Config.in +++ b/package/x11r7/xcb-util-image/Config.in @@ -2,12 +2,14 @@ config BR2_PACKAGE_XCB_UTIL_IMAGE bool "xcb-util-image" select BR2_PACKAGE_XCB_UTIL help - The XCB util modules provides a number of libraries which sit on top - of libxcb, the core X protocol library, and some of the extension - libraries. These experimental libraries provide convenience functions - and interfaces which make the raw X protocol more usable. Some of the - libraries also provide client-side code which is not strictly part of - the X protocol but which have traditionally been provided by Xlib. + + The XCB util modules provides a number of libraries which + sit on top of libxcb, the core X protocol library, and some + of the extension libraries. These experimental libraries + provide convenience functions and interfaces which make the + raw X protocol more usable. Some of the libraries also + provide client-side code which is not strictly part of the X + protocol but which have traditionally been provided by Xlib. XCB util-image module provides the following library: - image: Port of Xlib's XImage and XShmImage functions. diff --git a/package/x11r7/xcb-util-image/xcb-util-image.hash b/package/x11r7/xcb-util-image/xcb-util-image.hash index 1cc82ac9b2..a9a2eaab50 100644 --- a/package/x11r7/xcb-util-image/xcb-util-image.hash +++ b/package/x11r7/xcb-util-image/xcb-util-image.hash @@ -1,2 +1,4 @@ # From http://lists.x.org/archives/xorg-announce/2014-October/002489.html sha256 2db96a37d78831d643538dd1b595d7d712e04bdccf8896a5e18ce0f398ea2ffc xcb-util-image-0.4.0.tar.bz2 +# License file, locally calculated +sha256 19672c6153d8c4870abe734fa4dd2197481a311f4788d02ad729be07e116b26b COPYING diff --git a/package/x11r7/xcb-util-image/xcb-util-image.mk b/package/x11r7/xcb-util-image/xcb-util-image.mk index 705b8a7671..8ddb0be86d 100644 --- a/package/x11r7/xcb-util-image/xcb-util-image.mk +++ b/package/x11r7/xcb-util-image/xcb-util-image.mk @@ -9,6 +9,7 @@ XCB_UTIL_IMAGE_SITE = http://xcb.freedesktop.org/dist XCB_UTIL_IMAGE_SOURCE = xcb-util-image-$(XCB_UTIL_IMAGE_VERSION).tar.bz2 XCB_UTIL_IMAGE_INSTALL_STAGING = YES XCB_UTIL_IMAGE_LICENSE = MIT +XCB_UTIL_IMAGE_LICENSE_FILES = COPYING XCB_UTIL_IMAGE_DEPENDENCIES = xcb-util $(eval $(autotools-package)) diff --git a/package/x11r7/xcb-util-keysyms/Config.in b/package/x11r7/xcb-util-keysyms/Config.in index 0c1d8cc474..9ca2e0ef01 100644 --- a/package/x11r7/xcb-util-keysyms/Config.in +++ b/package/x11r7/xcb-util-keysyms/Config.in @@ -2,14 +2,16 @@ config BR2_PACKAGE_XCB_UTIL_KEYSYMS bool "xcb-util-keysyms" select BR2_PACKAGE_LIBXCB help - The XCB util modules provides a number of libraries which sit on top - of libxcb, the core X protocol library, and some of the extension - libraries. These experimental libraries provide convenience functions - and interfaces which make the raw X protocol more usable. Some of the - libraries also provide client-side code which is not strictly part of - the X protocol but which have traditionally been provided by Xlib. + The XCB util modules provides a number of libraries which + sit on top of libxcb, the core X protocol library, and some + of the extension libraries. These experimental libraries + provide convenience functions and interfaces which make the + raw X protocol more usable. Some of the libraries also + provide client-side code which is not strictly part of the X + protocol but which have traditionally been provided by Xlib. - XCB util-keysyms module provides the following library: keysyms: - Standard X key constants and conversion to/from keycodes. + XCB util-keysyms module provides the following library: + keysyms: Standard X key constants and conversion to/from + keycodes. http://xcb.freedesktop.org/ diff --git a/package/x11r7/xcb-util-wm/Config.in b/package/x11r7/xcb-util-wm/Config.in index 5e7d94e1d2..26096008d6 100644 --- a/package/x11r7/xcb-util-wm/Config.in +++ b/package/x11r7/xcb-util-wm/Config.in @@ -2,12 +2,13 @@ config BR2_PACKAGE_XCB_UTIL_WM bool "xcb-util-wm" select BR2_PACKAGE_LIBXCB help - The XCB util modules provides a number of libraries which sit on top - of libxcb, the core X protocol library, and some of the extension - libraries. These experimental libraries provide convenience functions - and interfaces which make the raw X protocol more usable. Some of the - libraries also provide client-side code which is not strictly part of - the X protocol but which have traditionally been provided by Xlib. + The XCB util modules provides a number of libraries which + sit on top of libxcb, the core X protocol library, and some + of the extension libraries. These experimental libraries + provide convenience functions and interfaces which make the + raw X protocol more usable. Some of the libraries also + provide client-side code which is not strictly part of the X + protocol but which have traditionally been provided by Xlib. XCB util-wm module provides the following libraries: - ewmh: Both client and window-manager helpers for EWMH. diff --git a/package/x11r7/xcb-util-wm/xcb-util-wm.hash b/package/x11r7/xcb-util-wm/xcb-util-wm.hash index 45a6c95e10..e31228fce0 100644 --- a/package/x11r7/xcb-util-wm/xcb-util-wm.hash +++ b/package/x11r7/xcb-util-wm/xcb-util-wm.hash @@ -1,2 +1,4 @@ # From http://lists.x.org/archives/xorg-announce/2014-February/002401.html sha256 28bf8179640eaa89276d2b0f1ce4285103d136be6c98262b6151aaee1d3c2a3f xcb-util-wm-0.4.1.tar.bz2 +# License file, locally calculated +sha256 12ab3559977a4b22ae3030b90c64a386e6ec51ab0e4eab1ff530f81a2639400a COPYING diff --git a/package/x11r7/xcb-util-wm/xcb-util-wm.mk b/package/x11r7/xcb-util-wm/xcb-util-wm.mk index 95aeb22aa6..37df3fd92d 100644 --- a/package/x11r7/xcb-util-wm/xcb-util-wm.mk +++ b/package/x11r7/xcb-util-wm/xcb-util-wm.mk @@ -9,6 +9,7 @@ XCB_UTIL_WM_SITE = http://xcb.freedesktop.org/dist XCB_UTIL_WM_SOURCE = xcb-util-wm-$(XCB_UTIL_WM_VERSION).tar.bz2 XCB_UTIL_WM_INSTALL_STAGING = YES XCB_UTIL_WM_LICENSE = MIT +XCB_UTIL_WM_LICENSE_FILES = COPYING XCB_UTIL_WM_DEPENDENCIES = libxcb $(eval $(autotools-package)) diff --git a/package/x11r7/xcb-util/Config.in b/package/x11r7/xcb-util/Config.in index dd77b1d9d4..350afd0619 100644 --- a/package/x11r7/xcb-util/Config.in +++ b/package/x11r7/xcb-util/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_XCB_UTIL bool "xcb-util" depends on BR2_PACKAGE_LIBXCB help - Libraries which sit on top of libxcb, the core X protocol library, - and some of the extension libraries. + Libraries which sit on top of libxcb, the core X protocol + library, and some of the extension libraries. http://xcb.freedesktop.org/ diff --git a/package/x11r7/xdriver_xf86-input-libinput/Config.in b/package/x11r7/xdriver_xf86-input-libinput/Config.in index 69697ed046..0f2db1bd1a 100644 --- a/package/x11r7/xdriver_xf86-input-libinput/Config.in +++ b/package/x11r7/xdriver_xf86-input-libinput/Config.in @@ -6,9 +6,9 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_LIBINPUT select BR2_PACKAGE_XPROTO_INPUTPROTO select BR2_PACKAGE_XPROTO_XPROTO help - This is an X driver based on libinput. It is a thin wrapper around - libinput, so while it does provide all features that libinput supports - it does little beyond. + This is an X driver based on libinput. It is a thin wrapper + around libinput, so while it does provide all features that + libinput supports it does little beyond. comment "xf86-input-libinput needs udev /dev management and a toolchain w/ locale" depends on !BR2_PACKAGE_HAS_UDEV || !BR2_ENABLE_LOCALE diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/0001-Stop-using-Git-to-write-local-version.patch b/package/x11r7/xdriver_xf86-video-imx-viv/0001-Stop-using-Git-to-write-local-version.patch deleted file mode 100644 index 2117e725cd..0000000000 --- a/package/x11r7/xdriver_xf86-video-imx-viv/0001-Stop-using-Git-to-write-local-version.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 69a92f4576a1e789ba2fcf957164d2c4013020c5 Mon Sep 17 00:00:00 2001 -From: Otavio Salvador -Date: Wed, 2 Dec 2015 13:36:25 +0000 -Subject: [PATCH] Stop using Git to write local version -Organization: O.S. Systems Software LTDA. - -The standard version does not use a Git repository so we should not -use Git to identify the commit of the build as it can end getting the -version from a wrong repository and can be misleading. - -Upstream-Status: Pending - -Signed-off-by: Otavio Salvador -[Downloaded from -https://github.com/Freescale/meta-fsl-arm/blob/master/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/Stop-using-Git-to-write-local-version.patch] -Signed-off-by: Andrew Webster ---- - EXA/src/makefile.tc | 6 +++--- - FslExt/src/makefile.tc | 6 +++--- - util/autohdmi/makefile.tc | 6 +++--- - util/pandisplay/makefile.tc | 6 +++--- - 4 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/EXA/src/makefile.tc b/EXA/src/makefile.tc -index 0b9a9e6..ec6e68d 100644 ---- a/EXA/src/makefile.tc -+++ b/EXA/src/makefile.tc -@@ -52,8 +52,8 @@ prefix ?= /usr - sysroot ?= / - - # get git commit number --COMMITNR := `git log -n 1 --format=%H` --DIRTY := `git diff-index --quiet HEAD || echo '-dirty'` --LOCAL_CFLAGS += -DCOMMIT="${COMMITNR}${DIRTY}" -+#COMMITNR := `git log -n 1 --format=%H` -+#DIRTY := `git diff-index --quiet HEAD || echo '-dirty'` -+#LOCAL_CFLAGS += -DCOMMIT="${COMMITNR}${DIRTY}" - - -diff --git a/FslExt/src/makefile.tc b/FslExt/src/makefile.tc -index 0b9a9e6..ec6e68d 100644 ---- a/FslExt/src/makefile.tc -+++ b/FslExt/src/makefile.tc -@@ -52,8 +52,8 @@ prefix ?= /usr - sysroot ?= / - - # get git commit number --COMMITNR := `git log -n 1 --format=%H` --DIRTY := `git diff-index --quiet HEAD || echo '-dirty'` --LOCAL_CFLAGS += -DCOMMIT="${COMMITNR}${DIRTY}" -+#COMMITNR := `git log -n 1 --format=%H` -+#DIRTY := `git diff-index --quiet HEAD || echo '-dirty'` -+#LOCAL_CFLAGS += -DCOMMIT="${COMMITNR}${DIRTY}" - - -diff --git a/util/autohdmi/makefile.tc b/util/autohdmi/makefile.tc -index c9de0a6..d0a468c 100644 ---- a/util/autohdmi/makefile.tc -+++ b/util/autohdmi/makefile.tc -@@ -64,8 +64,8 @@ prefix ?= /usr - sysroot ?= / - - # get git commit number --COMMITNR := `git log -n 1 --format=%H` --DIRTY := `git diff-index --quiet HEAD || echo '-dirty'` --LOCAL_CFLAGS += -DCOMMIT="${COMMITNR}${DIRTY}" -+#COMMITNR := `git log -n 1 --format=%H` -+#DIRTY := `git diff-index --quiet HEAD || echo '-dirty'` -+#LOCAL_CFLAGS += -DCOMMIT="${COMMITNR}${DIRTY}" - - -diff --git a/util/pandisplay/makefile.tc b/util/pandisplay/makefile.tc -index 28732b9..bf54c20 100644 ---- a/util/pandisplay/makefile.tc -+++ b/util/pandisplay/makefile.tc -@@ -64,8 +64,8 @@ prefix ?= /usr - sysroot ?= / - - # get git commit number --COMMITNR := `git log -n 1 --format=%H` --DIRTY := `git diff-index --quiet HEAD || echo '-dirty'` --LOCAL_CFLAGS += -DCOMMIT="${COMMITNR}${DIRTY}" -+#COMMITNR := `git log -n 1 --format=%H` -+#DIRTY := `git diff-index --quiet HEAD || echo '-dirty'` -+#LOCAL_CFLAGS += -DCOMMIT="${COMMITNR}${DIRTY}" - - --- -2.1.4 - diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/Config.in b/package/x11r7/xdriver_xf86-video-imx-viv/Config.in index fb64d06524..5a0257305c 100644 --- a/package/x11r7/xdriver_xf86-video-imx-viv/Config.in +++ b/package/x11r7/xdriver_xf86-video-imx-viv/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV bool "xf86-video-imx-viv" depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 + depends on BR2_PACKAGE_IMX_GPU_G2D depends on BR2_TOOLCHAIN_HAS_SYNC_1 # mesa3d select BR2_PACKAGE_MESA3D # Needed in order to compile xorg with glx/dri select BR2_PACKAGE_MESA3D_DRI_DRIVER @@ -10,9 +11,10 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV help X.Org driver for iMX6 GPU (Vivante) - Notice EGL and GLes2 APIs are correctly supported. This driver should - also be able to provide Desktop OpenGL implementation but, this - feature seems broken since quite some time. + Notice EGL and GLes2 APIs are correctly supported. This + driver should also be able to provide Desktop OpenGL + implementation but, this feature seems broken since quite + some time. To use this driver, add correct configuration to your /etc/X11/xorg.conf: @@ -23,11 +25,17 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV Option "vivante_fbdev" "/dev/fbX" EndSection - Don't forget to load galcore.ko and create /dev/galcore before using - this driver (else, Xorg will exit with an obscur message like - "Segmentation fault at address 0xc"). + Don't forget to load galcore.ko and create /dev/galcore + before using this driver (else, Xorg will exit with an + obscur message like "Segmentation fault at address 0xc"). comment "xf86-video-imx-viv depends on imx-gpu-viv with X11 output" depends on BR2_arm depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 depends on BR2_TOOLCHAIN_HAS_SYNC_1 + +comment "xf86-video-imx-viv depends on imx-gpu-g2d" + depends on BR2_arm + depends on !BR2_PACKAGE_IMX_GPU_G2D + depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 + depends on BR2_TOOLCHAIN_HAS_SYNC_1 diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.hash b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.hash index 7d7da84e6b..be41cb091b 100644 --- a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.hash +++ b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.hash @@ -1 +1 @@ -sha256 3eed38193e31bb5ba8d2c817bd9b4f6e2fe7540d2cab36de9098cb4f11946a9f xserver-xorg-video-imx-viv-5.0.11.p8.6.tar.gz +sha256 61b3a7a22f80d1cbc797c329615e1699f3906c9261de7eabcf0de2bf2399de55 xdriver_xf86-video-imx-viv-rel_imx_4.9.x_1.0.0_ga.tar.gz diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk index b31d98fbf4..222d74ac4b 100644 --- a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk +++ b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk @@ -4,10 +4,10 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_IMX_VIV_VERSION = 5.0.11.p8.6 -XDRIVER_XF86_VIDEO_IMX_VIV_SITE = $(FREESCALE_IMX_SITE) -XDRIVER_XF86_VIDEO_IMX_VIV_SOURCE = xserver-xorg-video-imx-viv-$(XDRIVER_XF86_VIDEO_IMX_VIV_VERSION).tar.gz -XDRIVER_XF86_VIDEO_IMX_VIV_DEPENDENCIES = imx-gpu-viv xserver_xorg-server \ +XDRIVER_XF86_VIDEO_IMX_VIV_VERSION = rel_imx_4.9.x_1.0.0_ga +XDRIVER_XF86_VIDEO_IMX_VIV_SITE = https://source.codeaurora.org/external/imx/xf86-video-imx-vivante +XDRIVER_XF86_VIDEO_IMX_VIV_SITE_METHOD = git +XDRIVER_XF86_VIDEO_IMX_VIV_DEPENDENCIES = imx-gpu-viv imx-gpu-g2d xserver_xorg-server \ xproto_xproto xproto_xf86driproto libdrm XDRIVER_XF86_VIDEO_IMX_VIV_LICENSE = MIT XDRIVER_XF86_VIDEO_IMX_VIV_LICENSE_FILES = COPYING-MIT @@ -17,7 +17,7 @@ XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD = $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D) define XDRIVER_XF86_VIDEO_IMX_VIV_BUILD_CMDS $(XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD) sysroot=$(STAGING_DIR) \ BUSID_HAS_NUMBER=1 BUILD_IN_YOCTO=1 XSERVER_GREATER_THAN_13=1 \ - CFLAGS="$(TARGET_CFLAGS) -I$(@D)/DRI_1.10.4/src" + CFLAGS="$(TARGET_CFLAGS)" endef define XDRIVER_XF86_VIDEO_IMX_VIV_INSTALL_STAGING_CMDS diff --git a/package/x11r7/xdriver_xf86-video-openchrome/Config.in b/package/x11r7/xdriver_xf86-video-openchrome/Config.in index c970b9e252..02723eca69 100644 --- a/package/x11r7/xdriver_xf86-video-openchrome/Config.in +++ b/package/x11r7/xdriver_xf86-video-openchrome/Config.in @@ -12,8 +12,8 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_OPENCHROME select BR2_PACKAGE_XPROTO_XF86DRIPROTO select BR2_PACKAGE_XPROTO_XPROTO help - Openchrome, A free and Open Source video driver for the VIA/S3G - UniChrome and UniChrome Pro graphics chipsets. + Openchrome, A free and Open Source video driver for the + VIA/S3G UniChrome and UniChrome Pro graphics chipsets. https://www.freedesktop.org/wiki/Openchrome/ diff --git a/package/x11r7/xlib_libXfont/xlib_libXfont.mk b/package/x11r7/xlib_libXfont/xlib_libXfont.mk index 30163eec6f..420bbd1d50 100644 --- a/package/x11r7/xlib_libXfont/xlib_libXfont.mk +++ b/package/x11r7/xlib_libXfont/xlib_libXfont.mk @@ -9,7 +9,6 @@ XLIB_LIBXFONT_SOURCE = libXfont-$(XLIB_LIBXFONT_VERSION).tar.bz2 XLIB_LIBXFONT_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXFONT_LICENSE = MIT XLIB_LIBXFONT_LICENSE_FILES = COPYING -XLIB_LIBXFONT_AUTORECONF = YES XLIB_LIBXFONT_INSTALL_STAGING = YES XLIB_LIBXFONT_DEPENDENCIES = freetype xlib_libfontenc xlib_xtrans xproto_fontsproto xproto_xproto xfont_encodings diff --git a/package/x11r7/xlib_libXft/xlib_libXft.mk b/package/x11r7/xlib_libXft/xlib_libXft.mk index de9b47093b..73fe6bb606 100644 --- a/package/x11r7/xlib_libXft/xlib_libXft.mk +++ b/package/x11r7/xlib_libXft/xlib_libXft.mk @@ -9,7 +9,6 @@ XLIB_LIBXFT_SOURCE = libXft-$(XLIB_LIBXFT_VERSION).tar.bz2 XLIB_LIBXFT_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXFT_LICENSE = MIT XLIB_LIBXFT_LICENSE_FILES = COPYING -XLIB_LIBXFT_AUTORECONF = YES XLIB_LIBXFT_INSTALL_STAGING = YES XLIB_LIBXFT_DEPENDENCIES = fontconfig freetype xlib_libX11 xlib_libXext xlib_libXrender xproto_xproto diff --git a/package/x11r7/xlib_libXpm/xlib_libXpm.mk b/package/x11r7/xlib_libXpm/xlib_libXpm.mk index e781a8b518..09f897ea09 100644 --- a/package/x11r7/xlib_libXpm/xlib_libXpm.mk +++ b/package/x11r7/xlib_libXpm/xlib_libXpm.mk @@ -16,4 +16,8 @@ XLIB_LIBXPM_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXt xproto_xproto \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ $(TARGET_NLS_DEPENDENCIES) +ifeq ($(BR2_SYSTEM_ENABLE_NLS),) +XLIB_LIBXPM_CONF_ENV = ac_cv_search_gettext=no +endif + $(eval $(autotools-package)) diff --git a/package/x11r7/xserver_xorg-server/1.19.5/0001-modesettings-needs-dri2.patch b/package/x11r7/xserver_xorg-server/1.19.6/0001-modesettings-needs-dri2.patch similarity index 100% rename from package/x11r7/xserver_xorg-server/1.19.5/0001-modesettings-needs-dri2.patch rename to package/x11r7/xserver_xorg-server/1.19.6/0001-modesettings-needs-dri2.patch diff --git a/package/x11r7/xserver_xorg-server/1.19.5/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch b/package/x11r7/xserver_xorg-server/1.19.6/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch similarity index 100% rename from package/x11r7/xserver_xorg-server/1.19.5/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch rename to package/x11r7/xserver_xorg-server/1.19.6/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch diff --git a/package/x11r7/xserver_xorg-server/1.19.5/0003-Remove-check-for-useSIGIO-option.patch b/package/x11r7/xserver_xorg-server/1.19.6/0003-Remove-check-for-useSIGIO-option.patch similarity index 100% rename from package/x11r7/xserver_xorg-server/1.19.5/0003-Remove-check-for-useSIGIO-option.patch rename to package/x11r7/xserver_xorg-server/1.19.6/0003-Remove-check-for-useSIGIO-option.patch diff --git a/package/x11r7/xserver_xorg-server/1.19.6/0004-glx-Only-include-compositeext.h-if-COMPOSITE-is-supp.patch b/package/x11r7/xserver_xorg-server/1.19.6/0004-glx-Only-include-compositeext.h-if-COMPOSITE-is-supp.patch new file mode 100644 index 0000000000..93be91ae7f --- /dev/null +++ b/package/x11r7/xserver_xorg-server/1.19.6/0004-glx-Only-include-compositeext.h-if-COMPOSITE-is-supp.patch @@ -0,0 +1,31 @@ +From d16133e3e293fe16b291114d344fbd5a61d5ed65 Mon Sep 17 00:00:00 2001 +From: Jeremy Huddleston Sequoia +Date: Thu, 20 Jul 2017 19:48:26 -0700 +Subject: [PATCH] glx: Only include compositeext.h if COMPOSITE is + supported + +Regressed-in: ea483af99a6351323afe00a0b630cd63310efdb1 +Signed-off-by: Jeremy Huddleston Sequoia +Signed-off-by: Bernd Kuhls +--- + glx/glxscreens.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/glx/glxscreens.c b/glx/glxscreens.c +index 78e0aaff9..609661274 100644 +--- a/glx/glxscreens.c ++++ b/glx/glxscreens.c +@@ -43,7 +43,10 @@ + #include "glxutil.h" + #include "glxext.h" + #include "protocol-versions.h" ++ ++#ifdef COMPOSITE + #include "compositeext.h" ++#endif + + static DevPrivateKeyRec glxScreenPrivateKeyRec; + +-- +2.11.0 + diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in index 08dea0a5ef..3107e2c1e5 100644 --- a/package/x11r7/xserver_xorg-server/Config.in +++ b/package/x11r7/xserver_xorg-server/Config.in @@ -79,7 +79,7 @@ choice bool "X Window System server version" config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19 - bool "1.19.5" + bool "1.19.6" select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_23 select BR2_PACKAGE_XLIB_LIBXFONT2 select BR2_PACKAGE_XPROTO_PRESENTPROTO @@ -99,7 +99,7 @@ endchoice config BR2_PACKAGE_XSERVER_XORG_SERVER_VERSION string - default "1.19.5" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19 + default "1.19.6" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19 default "1.17.4" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17 default "1.14.7" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_14 @@ -156,7 +156,8 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_EVDEV This driver can then be enabled by running the X server using: - Xfbdev -keybd evdev,,device=/dev/input/eventX -mouse evdev,,device=/dev/input/eventY. + Xfbdev -keybd evdev,,device=/dev/input/eventX + -mouse evdev,,device=/dev/input/eventY config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_KBD bool "Enable KDrive/TinyX kbd input driver" diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash index c0feb985d2..10285abf12 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash @@ -3,8 +3,8 @@ sha1 7a95765e56b124758fcd7b609589e65b8870880b x sha256 fcf66fa6ad86227613d2d3e8ae13ded297e2a1e947e9060a083eaf80d323451f xorg-server-1.14.7.tar.bz2 # From https://lists.x.org/archives/xorg-announce/2015-October/002650.html sha256 0c4b45c116a812a996eb432d8508cf26c2ec8c3916ff2a50781796882f8d6457 xorg-server-1.17.4.tar.bz2 -# From https://lists.x.org/archives/xorg-announce/2017-October/002814.html -md5 4ac6feeae6790436ce9de879ca9a3bf8 xorg-server-1.19.5.tar.bz2 -sha1 307d3405f709f7e41966c850b37deefe7f83eb9b xorg-server-1.19.5.tar.bz2 -sha256 18fffa8eb93d06d2800d06321fc0df4d357684d8d714315a66d8dfa7df251447 xorg-server-1.19.5.tar.bz2 -sha512 928dea5850b98cd815004cfa133eca23cfa9521920c934c68a92787f2cae13cca1534eee772a4fb74b8ae8cb92662b5d68b95b834c8aa8ec57cd57cb4e5dd45c xorg-server-1.19.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2017-December/002830.html +md5 3e47777ff034a331aed2322b078694a8 xorg-server-1.19.6.tar.bz2 +sha1 2dd560ac49bdbda7f67166546af43541fabf517f xorg-server-1.19.6.tar.bz2 +sha256 a732502f1db000cf36a376cd0c010ffdbf32ecdd7f1fa08ba7f5bdf9601cc197 xorg-server-1.19.6.tar.bz2 +sha512 38519a8d0af9dd034045fc346959496dd718fa59b6188307974797a1cd9c349deb54987f6232ea8396baf810dcc710c0ff191f76ed2186cae4d44921b3680412 xorg-server-1.19.6.tar.bz2 diff --git a/package/x265/Config.in b/package/x265/Config.in index 1d6eda2049..cc39d6c6a9 100644 --- a/package/x265/Config.in +++ b/package/x265/Config.in @@ -5,10 +5,11 @@ config BR2_PACKAGE_X265 depends on !BR2_STATIC_LIBS # dlfcn depends on BR2_TOOLCHAIN_HAS_SYNC_4 help - x265 is an open source free software and library for encoding video - using the High Efficiency Video Coding (HEVC/H.265) standard. x265 is - offered under either the GNU General Public License (GPL) 2 license or - a commercial license, similar to the x264 project. + x265 is an open source free software and library for + encoding video using the High Efficiency Video Coding + (HEVC/H.265) standard. x265 is offered under either the GNU + General Public License (GPL) 2 license or a commercial + license, similar to the x264 project. http://x265.org diff --git a/package/x265/x265.mk b/package/x265/x265.mk index ae570e6e4c..86709e62b8 100644 --- a/package/x265/x265.mk +++ b/package/x265/x265.mk @@ -11,6 +11,7 @@ X265_LICENSE = GPL-2.0+ X265_LICENSE_FILES = COPYING X265_SUBDIR = source X265_INSTALL_STAGING = YES +X265_MAKE = $(MAKE1) ifeq ($(BR2_i386)$(BR2_x86_64),y) X265_DEPENDENCIES += host-yasm diff --git a/package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch b/package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch deleted file mode 100644 index e8d4b32f50..0000000000 --- a/package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d4eece000391583a6e32a225d7eb5b573a5c5565 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sat, 19 Aug 2017 15:22:58 +0200 -Subject: [PATCH] tools/libxc/xc_dom_arm: add missing variable initialization - -The variable domctl.u.address_size.size may remain uninitialized if -guest_type is not one of xen-3.0-aarch64 or xen-3.0-armv7l. And the -code precisely checks if this variable is still 0 to decide if the -guest type is supported or not. - -This fixes the following build failure with gcc 7.x: - -xc_dom_arm.c:229:31: error: 'domctl.u.address_size.size' may be used uninitialized in this function [-Werror=maybe-uninitialized] - if ( domctl.u.address_size.size == 0 ) - -Patch originally taken from -https://www.mail-archive.com/xen-devel@lists.xen.org/msg109313.html. - -Signed-off-by: Bernd Kuhls -[Thomas: improved commit log, reformatted with Git.] -Signed-off-by: Thomas Petazzoni ---- - tools/libxc/xc_dom_arm.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/tools/libxc/xc_dom_arm.c b/tools/libxc/xc_dom_arm.c -index e7d4bd0..e669fb0 100644 ---- a/tools/libxc/xc_dom_arm.c -+++ b/tools/libxc/xc_dom_arm.c -@@ -223,6 +223,8 @@ static int set_mode(xc_interface *xch, domid_t domid, char *guest_type) - - domctl.domain = domid; - domctl.cmd = XEN_DOMCTL_set_address_size; -+ domctl.u.address_size.size = 0; -+ - for ( i = 0; i < ARRAY_SIZE(types); i++ ) - if ( !strcmp(types[i].guest, guest_type) ) - domctl.u.address_size.size = types[i].size; --- -2.9.4 - diff --git a/package/xen/Config.in b/package/xen/Config.in index b5dcbf2592..819af37e46 100644 --- a/package/xen/Config.in +++ b/package/xen/Config.in @@ -13,9 +13,9 @@ if BR2_PACKAGE_XEN config BR2_PACKAGE_XEN_HYPERVISOR bool "Xen hypervisor" help - The Xen binaries are avaliable in /usr/lib/xen/ - See http://wiki.xenproject.org/wiki/Getting_Started for using the - Xen hypervisor. + The Xen binaries are avaliable in /usr/lib/xen/ See + http://wiki.xenproject.org/wiki/Getting_Started for using + the Xen hypervisor. config BR2_PACKAGE_XEN_TOOLS bool "Xen tools" diff --git a/package/xen/xen.hash b/package/xen/xen.hash index 4a44d7a6d1..1b3fc12f94 100644 --- a/package/xen/xen.hash +++ b/package/xen/xen.hash @@ -1,13 +1,3 @@ # Locally computed -sha256 cade643fe3310d4d6f97d0c215c6fa323bc1130d7e64d7e2043ffaa73a96f33b xen-4.9.0.tar.gz -sha256 b09e07aaf422ae04a4ece5e2c5b5e54036cfae5b5c632bfc6953a0cacd6f60ff xsa226.patch -sha256 9923a47e5f86949800887596f098954a08ef73a01d74b1dbe16cab2e6b1fabb2 xsa227.patch -sha256 1979e111442517891b483e316a15a760a4c992ac4440f95e361ff12f4bebff62 xsa228.patch -sha256 77a73f1c32d083e315ef0b1bbb119cb8840ceb5ada790cad76cbfb9116f725cc xsa230.patch -sha256 71a53a5133c8d4e381dd0e3e54205d31dea545ab62b261084dd3aea140f88cad xsa231-4.9.patch -sha256 5068a78293daa58557c30c95141b775becfb650de6a5eda0d82a4a321ced551c xsa232.patch -sha256 f721cc49ba692b2f36299b631451f51d7340b8b4732f74c98f01cb7a80d8662b xsa233.patch -sha256 213f9d81a4ab785db67b9f579c9e88c9c8586c46b93f466a309060750df2df32 xsa234-4.9.patch -sha256 d8f012734fbf6019c1ff864744e308c41dfb9c7804ca3be2771c2c972cdf4bd5 xsa235-4.9.patch -sha256 526f9e1b127fbb316762ce8e8f4563bc9de0c55a1db581456a3017d570d35bdd 0001-xen-page_alloc-Cover-memory-unreserved-after-boot-in.patch -sha256 7164010112fcccd9cd88e72ace2eeabdb364dd6f4d05c434686267d18067f420 0002-xen-arm-Correctly-report-the-memory-region-in-the-du.patch +sha256 d5a944a34e47e9d52b2837f616821eb4a9514c8fd0955dcc723111dba499acd4 xen-4.10.2.tar.gz +sha256 dba0d79260259c013c52e5d4daeaea564a2fbb9ff7fc6778c377a401ec3898de COPYING diff --git a/package/xen/xen.mk b/package/xen/xen.mk index e07389e209..fb34d64c3f 100644 --- a/package/xen/xen.mk +++ b/package/xen/xen.mk @@ -4,21 +4,8 @@ # ################################################################################ -XEN_VERSION = 4.9.0 +XEN_VERSION = 4.10.2 XEN_SITE = https://downloads.xenproject.org/release/xen/$(XEN_VERSION) -XEN_PATCH = \ - https://xenbits.xenproject.org/xsa/xsa226.patch \ - https://xenbits.xenproject.org/xsa/xsa227.patch \ - https://xenbits.xenproject.org/xsa/xsa228.patch \ - https://xenbits.xenproject.org/xsa/xsa230.patch \ - https://xenbits.xenproject.org/xsa/xsa231-4.9.patch \ - https://xenbits.xenproject.org/xsa/xsa232.patch \ - https://xenbits.xenproject.org/xsa/xsa233.patch \ - https://xenbits.xenproject.org/xsa/xsa234-4.9.patch \ - https://xenbits.xenproject.org/xsa/xsa235-4.9.patch \ - https://xenbits.xenproject.org/xsa/xsa245/0001-xen-page_alloc-Cover-memory-unreserved-after-boot-in.patch \ - https://xenbits.xenproject.org/xsa/xsa245/0002-xen-arm-Correctly-report-the-memory-region-in-the-du.patch - XEN_LICENSE = GPL-2.0 XEN_LICENSE_FILES = COPYING XEN_DEPENDENCIES = host-acpica host-python @@ -30,7 +17,9 @@ else ifeq ($(ARCH),arm) XEN_ARCH = arm32 endif -XEN_CONF_OPTS = --disable-ocamltools +XEN_CONF_OPTS = \ + --disable-ocamltools \ + --with-initddir=/etc/init.d XEN_CONF_ENV = PYTHON=$(HOST_DIR)/bin/python2 XEN_MAKE_ENV = \ @@ -56,6 +45,7 @@ XEN_DEPENDENCIES += argp-standalone endif XEN_INSTALL_TARGET_OPTS += DESTDIR=$(TARGET_DIR) install-tools XEN_MAKE_OPTS += dist-tools +XEN_CONF_OPTS += --with-extra-qemuu-configure-args="--disable-sdl --disable-opengl" define XEN_INSTALL_INIT_SYSV mv $(TARGET_DIR)/etc/init.d/xencommons $(TARGET_DIR)/etc/init.d/S50xencommons diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in index 87a844d8bf..e0118c1112 100644 --- a/package/xenomai/Config.in +++ b/package/xenomai/Config.in @@ -148,8 +148,8 @@ config BR2_PACKAGE_XENOMAI_NATIVE_SKIN bool "Alchemy (native) skin" default y help - This option allows to install the Alchemy Xenomai skin, previously - called 'native' + This option allows to install the Alchemy Xenomai skin, + previously called 'native' config BR2_PACKAGE_XENOMAI_POSIX_SKIN bool "POSIX skin" diff --git a/package/xenomai/xenomai.hash b/package/xenomai/xenomai.hash index 1290ca54fb..c36badb6bf 100644 --- a/package/xenomai/xenomai.hash +++ b/package/xenomai/xenomai.hash @@ -1,2 +1,2 @@ # Locally computed; -sha256 84836a43b6a996dcdcb42b0b1653a3271cc201df2a2d42c1b4b3bafb2cca7c63 xenomai-3.0.5.tar.bz2 +sha256 2c0dd3f0e36e4a10f97e0028989bb873e80f4d1ce212ac55fd3b28857c464f94 xenomai-3.0.6.tar.bz2 diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk index c53d5148f0..6bf08edfbc 100644 --- a/package/xenomai/xenomai.mk +++ b/package/xenomai/xenomai.mk @@ -6,7 +6,7 @@ XENOMAI_VERSION = $(call qstrip,$(BR2_PACKAGE_XENOMAI_VERSION)) ifeq ($(XENOMAI_VERSION),) -XENOMAI_VERSION = 3.0.5 +XENOMAI_VERSION = 3.0.6 else BR_NO_CHECK_HASH_FOR += $(XENOMAI_SOURCE) endif diff --git a/package/xerces/0001-fix-CVE-2017-12627.patch b/package/xerces/0001-fix-CVE-2017-12627.patch new file mode 100644 index 0000000000..010be7e3d5 --- /dev/null +++ b/package/xerces/0001-fix-CVE-2017-12627.patch @@ -0,0 +1,22 @@ +XMLString: Don't call catString if relativePath is null + +https://xerces.apache.org/xerces-c/secadv/CVE-2017-12627.txt + +Upstream status: svn revision 1819998 + +Signed-off-by: Baruch Siach + +--- trunk/src/xercesc/util/PlatformUtils.cpp 2018/01/03 18:58:30 1819997 ++++ trunk/src/xercesc/util/PlatformUtils.cpp 2018/01/03 18:59:30 1819998 +@@ -920,7 +920,10 @@ + + XMLString::subString(tmpBuf, basePath, 0, (basePtr - basePath + 1), manager); + tmpBuf[basePtr - basePath + 1] = 0; +- XMLString::catString(tmpBuf, relativePath); ++ if (relativePath) ++ { ++ XMLString::catString(tmpBuf, relativePath); ++ } + + removeDotSlash(tmpBuf, manager); + diff --git a/package/xfsprogs/0001-mdrestore-do-not-do-dynamic-linking-of-libtool-libra.patch b/package/xfsprogs/0001-mdrestore-do-not-do-dynamic-linking-of-libtool-libra.patch index 4e4160fb40..2bb0b7dbcd 100644 --- a/package/xfsprogs/0001-mdrestore-do-not-do-dynamic-linking-of-libtool-libra.patch +++ b/package/xfsprogs/0001-mdrestore-do-not-do-dynamic-linking-of-libtool-libra.patch @@ -10,7 +10,7 @@ linking for libuuid only. Otherwise the build will fail like this: ld: attempted static link of dynamic object `/usr/lib/libuuid.so' Signed-off-by: Vicente Olivert Riera -[Sent upstream: http://oss.sgi.com/pipermail/xfs/2015-November/045136.html] +[Sent upstream: https://www.spinics.net/lists/xfs/msg36149.html] --- mdrestore/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/xfsprogs/Config.in b/package/xfsprogs/Config.in index fb603ad4b9..024cde9fe6 100644 --- a/package/xfsprogs/Config.in +++ b/package/xfsprogs/Config.in @@ -1,11 +1,10 @@ -comment "xfsprogs needs a glibc or uClibc toolchain w/ threads" +comment "xfsprogs needs a toolchain w/ threads" depends on BR2_USE_MMU - depends on BR2_TOOLCHAIN_USES_MUSL || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_XFSPROGS bool "xfsprogs" depends on BR2_USE_MMU # fork() - depends on !BR2_TOOLCHAIN_USES_MUSL # missing __[u]int*_t depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID @@ -13,4 +12,4 @@ config BR2_PACKAGE_XFSPROGS help The XFS file system utilities and libraries - http://oss.sgi.com/projects/xfs/ + http://xfs.org diff --git a/package/xfsprogs/xfsprogs.hash b/package/xfsprogs/xfsprogs.hash index edb2933c36..886a8f10c5 100644 --- a/package/xfsprogs/xfsprogs.hash +++ b/package/xfsprogs/xfsprogs.hash @@ -1,2 +1,3 @@ # From https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/sha256sums.asc -sha256 c3a6d87b564d7738243c507df82276bed982265e345363a95f2c764e8a5f5bb2 xfsprogs-4.11.0.tar.xz +sha256 b1b710b268bc95d6f45eca06e1262c29eb38865a19cd4404e48ba446e043b7ec xfsprogs-4.14.0.tar.xz +sha256 ee304b1b1da08b261f1d1f31d229fc70d2d0c552c7429e9e84c0fac878d94209 doc/COPYING diff --git a/package/xfsprogs/xfsprogs.mk b/package/xfsprogs/xfsprogs.mk index 2f708f1fa4..e6e8493684 100644 --- a/package/xfsprogs/xfsprogs.mk +++ b/package/xfsprogs/xfsprogs.mk @@ -4,9 +4,11 @@ # ################################################################################ -XFSPROGS_VERSION = 4.11.0 +XFSPROGS_VERSION = 4.14.0 XFSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/fs/xfs/xfsprogs XFSPROGS_SOURCE = xfsprogs-$(XFSPROGS_VERSION).tar.xz +XFSPROGS_LICENSE = GPL-2.0, GPL-2.0+, LGPL-2.1 (libhandle, few headers) +XFSPROGS_LICENSE_FILES = doc/COPYING XFSPROGS_DEPENDENCIES = util-linux diff --git a/package/xinetd/Config.in b/package/xinetd/Config.in index 7f3575cedb..3bf3043d03 100644 --- a/package/xinetd/Config.in +++ b/package/xinetd/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_XINETD bool "xinetd" depends on BR2_USE_MMU # fork() help - xinetd is a secure replacement for inetd. It was originally written by - panos@cs.colorado.edu. + xinetd is a secure replacement for inetd. It was originally + written by panos@cs.colorado.edu. http://www.xinetd.org diff --git a/package/xorriso/0001-use-sys-xattr.h.patch b/package/xorriso/0001-use-sys-xattr.h.patch new file mode 100644 index 0000000000..5ae1aae72e --- /dev/null +++ b/package/xorriso/0001-use-sys-xattr.h.patch @@ -0,0 +1,33 @@ +Use system + +The one from attr is no longer installed with latest version. + +Signed-off-by: "Yann E. MORIN" + +--- +Upstream status: alternate, more complex patch pending... + +diff -durN xorriso-1.4.6.orig/configure.ac xorriso-1.4.6/configure.ac +--- xorriso-1.4.6.orig/configure.ac 2016-09-16 15:51:33.000000000 +0200 ++++ xorriso-1.4.6/configure.ac 2018-05-06 23:45:38.377153069 +0200 +@@ -264,7 +264,7 @@ + dnl Check whether there is the header for Linux xattr. + dnl If not, erase this macro which would enable use of listxattr and others + XATTR_DEF="-DLibisofs_with_aaip_xattR" +- AC_CHECK_HEADER(attr/xattr.h, AC_CHECK_LIB(c, listxattr, X= , ++ AC_CHECK_HEADER(sys/xattr.h, AC_CHECK_LIB(c, listxattr, X= , + XATTR_DEF= ), XATTR_DEF= ) + fi + elif test x"$LIBBURNIA_SUPP_FATTR" = xextattr +diff -durN xorriso-1.4.6.orig/libisofs/aaip-os-linux.c xorriso-1.4.6/libisofs/aaip-os-linux.c +--- xorriso-1.4.6.orig/libisofs/aaip-os-linux.c 2016-09-16 15:51:34.000000000 +0200 ++++ xorriso-1.4.6/libisofs/aaip-os-linux.c 2018-05-06 23:47:25.764941583 +0200 +@@ -30,7 +30,7 @@ + #endif + + #ifdef Libisofs_with_aaip_xattR +-#include ++#include + #endif + + diff --git a/package/xorriso/xorriso.mk b/package/xorriso/xorriso.mk index 1f095911f8..de431c3ab6 100644 --- a/package/xorriso/xorriso.mk +++ b/package/xorriso/xorriso.mk @@ -8,6 +8,19 @@ XORRISO_VERSION = 1.4.6 XORRISO_SITE = $(BR2_GNU_MIRROR)/xorriso XORRISO_LICENSE = GPL-3.0+ XORRISO_LICENSE_FILES = COPYING COPYRIGHT + +# 0001-use-sys-xattr.h.patch +XORRISO_DEPENDENCIES = host-pkgconf +HOST_XORRISO_DEPENDENCIES = host-pkgconf +XORRISO_AUTORECONF = YES + +# Make autoreconf happy +define XORRISO_NEWS + touch $(@D)/NEWS +endef +XORRISO_POST_PATCH_HOOKS += XORRISO_NEWS +HOST_XORRISO_POST_PATCH_HOOKS += XORRISO_NEWS + # Disable everything until we actually need those features, and add the correct # host libraries HOST_XORRISO_CONF_OPTS = \ diff --git a/package/xr819-xradio/xr819-xradio.hash b/package/xr819-xradio/xr819-xradio.hash index 75e3c496bd..341747c5b5 100644 --- a/package/xr819-xradio/xr819-xradio.hash +++ b/package/xr819-xradio/xr819-xradio.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 91095bd2d49d54c5e26919dc0c767be56eb0a2430c133d0bacdc814e97a5df4c xr819-xradio-c03a053a9e731d56c89c0c09627e886db2a0e04e.tar.gz +sha256 7b78fc61d13a428a0d8a3d8dcffaa604d23b5a17c6e8e86d2e5e8372dcd17672 xr819-xradio-33f4b1c25eff0d9db7cbac19f36b130da9857f37.tar.gz +# Locally computed +sha256 db296f2f7f35bca3a174efb0eb392b3b17bd94b341851429a3dff411b1c2fc73 LICENSE diff --git a/package/xr819-xradio/xr819-xradio.mk b/package/xr819-xradio/xr819-xradio.mk index 429c665dea..edf423bc3c 100644 --- a/package/xr819-xradio/xr819-xradio.mk +++ b/package/xr819-xradio/xr819-xradio.mk @@ -4,7 +4,7 @@ # ################################################################################ -XR819_XRADIO_VERSION = c03a053a9e731d56c89c0c09627e886db2a0e04e +XR819_XRADIO_VERSION = 33f4b1c25eff0d9db7cbac19f36b130da9857f37 XR819_XRADIO_SITE = $(call github,fifteenhex,xradio,$(XR819_XRADIO_VERSION)) XR819_XRADIO_LICENSE = GPL-2.0 XR819_XRADIO_LICENSE_FILES = LICENSE diff --git a/package/xscreensaver/Config.in b/package/xscreensaver/Config.in index 032eab2ae3..efb8d1a6bc 100644 --- a/package/xscreensaver/Config.in +++ b/package/xscreensaver/Config.in @@ -12,12 +12,13 @@ config BR2_PACKAGE_XSCREENSAVER select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXT help - XScreenSaver is the standard screen saver collection shipped on most - Linux and Unix systems running the X11 Window System. + XScreenSaver is the standard screen saver collection shipped + on most Linux and Unix systems running the X11 Window + System. - On X11 systems, XScreenSaver is two things: it is both a large - collection of screen savers; and it is also the framework for - blanking and locking the screen. + On X11 systems, XScreenSaver is two things: it is both a + large collection of screen savers; and it is also the + framework for blanking and locking the screen. http://www.jwz.org/xscreensaver/ diff --git a/package/xtables-addons/Config.in b/package/xtables-addons/Config.in index 4538519609..39fafe72b7 100644 --- a/package/xtables-addons/Config.in +++ b/package/xtables-addons/Config.in @@ -13,7 +13,7 @@ config BR2_PACKAGE_XTABLES_ADDONS select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra help Xtables-addons is the successor to patch-o-matic(-ng). - Likewise, it contains extensions that were not, or are not yet, - accepted in the main kernel/iptables packages. + Likewise, it contains extensions that were not, or are not + yet, accepted in the main kernel/iptables packages. http://xtables-addons.sourceforge.net/ diff --git a/package/xterm/xterm.mk b/package/xterm/xterm.mk index 645de92e22..201280fd46 100644 --- a/package/xterm/xterm.mk +++ b/package/xterm/xterm.mk @@ -14,6 +14,9 @@ XTERM_CONF_OPTS = --enable-256-color \ --x-includes=$(STAGING_DIR)/usr/include \ --x-libraries=$(STAGING_DIR)/usr/lib +# Avoid freetype2 path poisoning by imake +XTERM_CONF_ENV = ac_cv_path_IMAKE="" + ifeq ($(BR2_PACKAGE_XLIB_LIBXFT),y) XTERM_DEPENDENCIES += xlib_libXft XTERM_CONF_OPTS += --enable-freetype \ diff --git a/package/xvisor/Config.in b/package/xvisor/Config.in index c9f74290ac..eb7475b86d 100644 --- a/package/xvisor/Config.in +++ b/package/xvisor/Config.in @@ -10,9 +10,9 @@ menuconfig BR2_PACKAGE_XVISOR depends on BR2_PACKAGE_XVISOR_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 help - Xvisor is an open-source type-1 hypervisor, which aims at providing - a monolithic, light-weight, portable, and flexible virtualization - solution. + Xvisor is an open-source type-1 hypervisor, which aims at + providing a monolithic, light-weight, portable, and flexible + virtualization solution. http://www.xhypervisor.org/ diff --git a/package/xz/Config.in b/package/xz/Config.in index 50116f2995..70c7266957 100644 --- a/package/xz/Config.in +++ b/package/xz/Config.in @@ -2,13 +2,14 @@ config BR2_PACKAGE_XZ bool "xz-utils" help XZ is the successor to the Lempel-Ziv/Markov-chain Algorithm - compression format, which provides memory-hungry but powerful - compression (often better than bzip2) and fast, easy decompression. + compression format, which provides memory-hungry but + powerful compression (often better than bzip2) and fast, + easy decompression. - This package provides the command line tools for working with XZ - compression, including xz, unxz, xzcat, xzgrep, and so on. They can - also handle the older LZMA format, and if invoked via appropriate - symlinks will emulate the behavior of the commands in the lzma - package. + This package provides the command line tools for working + with XZ compression, including xz, unxz, xzcat, xzgrep, and + so on. They can also handle the older LZMA format, and if + invoked via appropriate symlinks will emulate the behavior + of the commands in the lzma package. http://tukaani.org/xz/ diff --git a/package/yad/Config.in b/package/yad/Config.in index 50b97c59ab..300525ee3c 100644 --- a/package/yad/Config.in +++ b/package/yad/Config.in @@ -3,8 +3,8 @@ config BR2_PACKAGE_YAD depends on BR2_PACKAGE_XORG7 depends on BR2_PACKAGE_LIBGTK2 || BR2_PACKAGE_LIBGTK3_X11 help - YAD (yet another dialog) is a tool for create graphical dialogs - from shell scripts. + YAD (yet another dialog) is a tool for create graphical + dialogs from shell scripts. http://sourceforge.net/projects/yad-dialog/ diff --git a/package/zbar/Config.in b/package/zbar/Config.in index 5097f57439..05c9b769ce 100644 --- a/package/zbar/Config.in +++ b/package/zbar/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_ZBAR bool "zbar" depends on BR2_TOOLCHAIN_HAS_THREADS # libv4l depends on BR2_USE_MMU # libv4l - depends on !BR2_STATIC_LIBS # libv4l depends on BR2_INSTALL_LIBSTDCPP # libv4l depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # libv4l select BR2_PACKAGE_JPEG @@ -12,7 +11,7 @@ config BR2_PACKAGE_ZBAR http://zbar.sourceforge.net/ -comment "zbar needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.0" +comment "zbar needs a toolchain w/ threads, C++ and headers >= 3.0" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ + depends on !BR2_TOOLCHAIN_HAS_THREADS \ || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 diff --git a/package/zeromq/Config.in b/package/zeromq/Config.in index 53cbbb8fb2..69be9f002c 100644 --- a/package/zeromq/Config.in +++ b/package/zeromq/Config.in @@ -48,8 +48,8 @@ config BR2_PACKAGE_ZEROMQ_PGM depends on BR2_USE_WCHAR # openpgm select BR2_PACKAGE_OPENPGM help - Add support for Pragmatic General Multicast protocol (RFC 3208) - implemented either over raw IP packets or UDP datagrams - (encapsulated PGM). + Add support for Pragmatic General Multicast protocol (RFC + 3208) implemented either over raw IP packets or UDP + datagrams (encapsulated PGM). endif diff --git a/package/zic/zic.hash b/package/zic/zic.hash index e7eef7aea0..df578fe1b3 100644 --- a/package/zic/zic.hash +++ b/package/zic/zic.hash @@ -1,2 +1,2 @@ -# From http://mm.icann.org/pipermail/tz-announce/2017-October/000047.html -sha512 0d8c3e07b0de9015a137602450468ceb6358312a50eeda2a860882367107b8ba9ef275880b292570a671b9910afc54e6209e1e642387d246bc9c08c4ff660ffb tzcode2017c.tar.gz +# From http://mm.icann.org/pipermail/tz-announce/2018-January/000048.html +sha512 21988e876479e38661d41ea4c7b5218ba14b979739d7ba8d49a2d343bb9f37c654056ab21c046a6652715f012e4ca33c4aa109b1ec3ac5d0244dd3a7ea9ed6d2 tzcode2018c.tar.gz diff --git a/package/zic/zic.mk b/package/zic/zic.mk index a2f27e44a3..aba8bc5b3f 100644 --- a/package/zic/zic.mk +++ b/package/zic/zic.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZIC_VERSION = 2017c +ZIC_VERSION = 2018c ZIC_SOURCE = tzcode$(ZIC_VERSION).tar.gz ZIC_SITE = http://www.iana.org/time-zones/repository/releases ZIC_STRIP_COMPONENTS = 0 diff --git a/package/zisofs-tools/zisofs-tools.hash b/package/zisofs-tools/zisofs-tools.hash new file mode 100644 index 0000000000..d2f594c757 --- /dev/null +++ b/package/zisofs-tools/zisofs-tools.hash @@ -0,0 +1,5 @@ +# 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 + +# Locally computed +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 3rd-party/zisofs_tools/COPYING diff --git a/package/zisofs-tools/zisofs-tools.mk b/package/zisofs-tools/zisofs-tools.mk new file mode 100644 index 0000000000..fd8c371fea --- /dev/null +++ b/package/zisofs-tools/zisofs-tools.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# zisofs-tools +# +################################################################################ + +ZISOFS_TOOLS_VERSION = 1.1.11 +ZISOFS_TOOLS_SOURCE = cdrkit_$(ZISOFS_TOOLS_VERSION).orig.tar.gz +ZISOFS_TOOLS_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/c/cdrkit +ZISOFS_TOOLS_LICENSE = GPL-2.0+ +ZISOFS_TOOLS_LICENSE_FILES = 3rd-party/zisofs_tools/COPYING +ZISOFS_TOOLS_SUBDIR = 3rd-party/zisofs_tools +HOST_ZISOFS_TOOLS_DEPENDENCIES = host-zlib + +$(eval $(host-autotools-package)) diff --git a/package/zlib-ng/zlib-ng.hash b/package/zlib-ng/zlib-ng.hash new file mode 100644 index 0000000000..2e89a8d7a6 --- /dev/null +++ b/package/zlib-ng/zlib-ng.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 2ec78c8c13530bffaebfc10be2f4695c47cf50fe2fbc2104606467703836fa0e zlib-ng-a17fefa147942edbf80ab22a16bcbc2419def12d.tar.gz +sha256 d3c80be055d94d798eaa786116e84fa0b010bc11420b5d2060d978ea77845436 LICENSE.md diff --git a/package/zlib-ng/zlib-ng.mk b/package/zlib-ng/zlib-ng.mk new file mode 100644 index 0000000000..3d9651c08f --- /dev/null +++ b/package/zlib-ng/zlib-ng.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# zlib-ng +# +################################################################################ + +ZLIB_NG_VERSION = a17fefa147942edbf80ab22a16bcbc2419def12d +ZLIB_NG_SITE = $(call github,mtl1979,zlib-ng,$(ZLIB_NG_VERSION)) +ZLIB_NG_LICENSE = Zlib +ZLIB_NG_LICENSE_FILES = LICENSE.md +ZLIB_NG_INSTALL_STAGING = YES +ZLIB_NG_PROVIDES = zlib + +# Build with zlib compatible API, gzFile support and optimizations on +ZLIB_NG_CONF_OPTS += -DZLIB_COMPAT=1 -DWITH_GZFILEOP=1 -DWITH_OPTIM=1 -DCC=$(TARGET_CC) + +# Enable NEON and ACLE on ARM +ifeq ($(BR2_arm),y) +ZLIB_NG_CONF_OPTS += -DWITH_ACLE=1 -DWITH_NEON=1 +endif + +$(eval $(cmake-package)) diff --git a/package/zlib/Config.in b/package/zlib/Config.in index 6201aba142..0f6179f537 100644 --- a/package/zlib/Config.in +++ b/package/zlib/Config.in @@ -1,7 +1,55 @@ +config BR2_PACKAGE_ZLIB_NG_ARCH_SUPPORTS + bool + default y if BR2_arm + default y if BR2_aarch64 + default y if BR2_i386 + default y if BR2_x86_64 + config BR2_PACKAGE_ZLIB + bool "zlib support" + help + Select the desired Zlib library provider. + +if BR2_PACKAGE_ZLIB + +choice + prompt "zlib variant" + default BR2_PACKAGE_LIBZLIB + help + Select the desired Zlib library provider. + +config BR2_PACKAGE_LIBZLIB bool "zlib" + select BR2_PACKAGE_HAS_ZLIB help Standard (de)compression library. Used by things like gzip and libpng. http://www.zlib.net + +config BR2_PACKAGE_ZLIB_NG + bool "zlib-ng" + depends on BR2_PACKAGE_ZLIB_NG_ARCH_SUPPORTS + select BR2_PACKAGE_HAS_ZLIB + help + Zlib replacement with optimizations for + "next generation" systems. + + https://github.com/mtl1979/zlib-ng/tree/renamelib + +endchoice + +config BR2_PACKAGE_HAS_ZLIB + bool + +config BR2_PACKAGE_PROVIDES_ZLIB + string + default "libzlib" if BR2_PACKAGE_LIBZLIB + default "zlib-ng" if BR2_PACKAGE_ZLIB_NG + +endif + +# ensure libzlib is used for the host variant +config BR2_PACKAGE_PROVIDES_HOST_ZLIB + string + default "host-libzlib" diff --git a/package/zlib/zlib.mk b/package/zlib/zlib.mk index 9b5f52e807..78f48ff059 100644 --- a/package/zlib/zlib.mk +++ b/package/zlib/zlib.mk @@ -4,74 +4,5 @@ # ################################################################################ -ZLIB_VERSION = 1.2.11 -ZLIB_SOURCE = zlib-$(ZLIB_VERSION).tar.xz -ZLIB_SITE = http://www.zlib.net -ZLIB_LICENSE = Zlib -ZLIB_LICENSE_FILES = README -ZLIB_INSTALL_STAGING = YES - -# It is not possible to build only a shared version of zlib, so we build both -# shared and static, unless we only want the static libs, and we eventually -# selectively remove what we do not want -ifeq ($(BR2_STATIC_LIBS),y) -ZLIB_PIC = -ZLIB_SHARED = --static -else -ZLIB_PIC = -fPIC -ZLIB_SHARED = --shared -endif - -define ZLIB_CONFIGURE_CMDS - (cd $(@D); rm -rf config.cache; \ - $(TARGET_CONFIGURE_ARGS) \ - $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS) $(ZLIB_PIC)" \ - ./configure \ - $(ZLIB_SHARED) \ - --prefix=/usr \ - ) -endef - -define HOST_ZLIB_CONFIGURE_CMDS - (cd $(@D); rm -rf config.cache; \ - $(HOST_CONFIGURE_ARGS) \ - $(HOST_CONFIGURE_OPTS) \ - ./configure \ - --prefix="$(HOST_DIR)" \ - --sysconfdir="$(HOST_DIR)/etc" \ - ) -endef - -define ZLIB_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) -endef - -define HOST_ZLIB_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE1) -C $(@D) -endef - -define ZLIB_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) DESTDIR=$(STAGING_DIR) LDCONFIG=true install -endef - -define ZLIB_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) DESTDIR=$(TARGET_DIR) LDCONFIG=true install -endef - -# We don't care removing the .a from target, since it not used at link -# time to build other packages, and it is anyway removed later before -# assembling the filesystem images anyway. -ifeq ($(BR2_SHARED_LIBS),y) -define ZLIB_RM_STATIC_STAGING - rm -f $(STAGING_DIR)/usr/lib/libz.a -endef -ZLIB_POST_INSTALL_STAGING_HOOKS += ZLIB_RM_STATIC_STAGING -endif - -define HOST_ZLIB_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE1) -C $(@D) LDCONFIG=true install -endef - -$(eval $(generic-package)) -$(eval $(host-generic-package)) +$(eval $(virtual-package)) +$(eval $(host-virtual-package)) diff --git a/package/zmqpp/Config.in b/package/zmqpp/Config.in index 04a6d24100..8dad80e451 100644 --- a/package/zmqpp/Config.in +++ b/package/zmqpp/Config.in @@ -8,8 +8,8 @@ config BR2_PACKAGE_ZMQPP help C++ binding for zeromq (ZeroMQ, 0MQ, zmq). - This C++ binding is a 'high-level' library that hides most of the - C-style interface core zeromq provides. + This C++ binding is a 'high-level' library that hides most + of the C-style interface core zeromq provides. http://github.com/benjamg/zmqpp @@ -27,8 +27,8 @@ config BR2_PACKAGE_ZMQPP_CLIENT select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS help - Build and install the zmqpp client, a command line tool that can be - used to listen or send to zeromq sockets. + Build and install the zmqpp client, a command line tool that + can be used to listen or send to zeromq sockets. comment "zmqpp client needs a toolchain w/ dynamic library, threads, wchar" depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ diff --git a/package/zmqpp/zmqpp.mk b/package/zmqpp/zmqpp.mk index f576527463..e57f7de4ea 100644 --- a/package/zmqpp/zmqpp.mk +++ b/package/zmqpp/zmqpp.mk @@ -12,6 +12,15 @@ ZMQPP_LICENSE = MPL-2.0 ZMQPP_LICENSE_FILES = LICENSE ZMQPP_MAKE_OPTS = LD="$(TARGET_CXX)" BUILD_PATH=./build PREFIX=/usr ZMQPP_LDFLAGS = $(TARGET_LDFLAGS) -lpthread +ZMQPP_CONFIG = $(if $(BR2_ENABLE_DEBUG),debug,release) + +# gcc bug internal compiler error: in merge_overlapping_regs, at +# regrename.c:304. This bug is fixed since gcc 6. +# By setting CONFIG to empty, all optimizations such as -funroll-loops +# -ffast-math -finline-functions -fomit-frame-pointer are disabled +ifeq ($(BR2_or1k):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:) +ZMQPP_CONFIG = +endif ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) ZMQPP_LDFLAGS += -latomic @@ -31,7 +40,7 @@ endif define ZMQPP_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ - LDFLAGS="$(ZMQPP_LDFLAGS)" \ + CONFIG=$(ZMQPP_CONFIG) LDFLAGS="$(ZMQPP_LDFLAGS)" \ $(ZMQPP_MAKE_OPTS) $(if $(BR2_PACKAGE_ZMQPP_CLIENT),client,library) -C $(@D) endef diff --git a/package/znc/0001-Add-time.h-includes-where-appropiate.patch b/package/znc/0001-Add-time.h-includes-where-appropiate.patch deleted file mode 100644 index c8ba6d450a..0000000000 --- a/package/znc/0001-Add-time.h-includes-where-appropiate.patch +++ /dev/null @@ -1,194 +0,0 @@ -From 9a51195e916f14a36c2a2a809f2393e5ed2424a3 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Thu, 6 Aug 2015 11:20:54 -0300 -Subject: [PATCH] Add includes where appropiate - -Signed-off-by: Gustavo Zacarias ---- - modules/adminlog.cpp | 1 + - modules/ctcpflood.cpp | 1 + - modules/flooddetach.cpp | 1 + - modules/lastseen.cpp | 1 + - modules/log.cpp | 1 + - modules/simple_away.cpp | 1 + - src/Buffer.cpp | 1 + - src/FileUtils.cpp | 1 + - src/IRCSock.cpp | 1 + - src/User.cpp | 1 + - src/WebModules.cpp | 1 + - src/ZNCDebug.cpp | 1 + - src/main.cpp | 1 + - src/znc.cpp | 1 + - 14 files changed, 14 insertions(+) - -diff --git a/modules/adminlog.cpp b/modules/adminlog.cpp -index d08369e..1636799 100644 ---- a/modules/adminlog.cpp -+++ b/modules/adminlog.cpp -@@ -20,6 +20,7 @@ - #include - - #include -+#include - - class CAdminLogMod : public CModule { - public: -diff --git a/modules/ctcpflood.cpp b/modules/ctcpflood.cpp -index 7697ef8..c105ef7 100644 ---- a/modules/ctcpflood.cpp -+++ b/modules/ctcpflood.cpp -@@ -16,6 +16,7 @@ - - #include - #include -+#include - - class CCtcpFloodMod : public CModule { - public: -diff --git a/modules/flooddetach.cpp b/modules/flooddetach.cpp -index 9c41734..cd88bd2 100644 ---- a/modules/flooddetach.cpp -+++ b/modules/flooddetach.cpp -@@ -16,6 +16,7 @@ - - #include - #include -+#include - - using std::map; - -diff --git a/modules/lastseen.cpp b/modules/lastseen.cpp -index 416a111..414310f 100644 ---- a/modules/lastseen.cpp -+++ b/modules/lastseen.cpp -@@ -16,6 +16,7 @@ - - #include - #include -+#include - - using std::map; - using std::pair; -diff --git a/modules/log.cpp b/modules/log.cpp -index 2f3124a..e238bb1 100644 ---- a/modules/log.cpp -+++ b/modules/log.cpp -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - #include - - using std::vector; -diff --git a/modules/simple_away.cpp b/modules/simple_away.cpp -index 57d6e7a..2f73b0a 100644 ---- a/modules/simple_away.cpp -+++ b/modules/simple_away.cpp -@@ -16,6 +16,7 @@ - - #include - #include -+#include - - #define SIMPLE_AWAY_DEFAULT_REASON "Auto away at %s" - #define SIMPLE_AWAY_DEFAULT_TIME 60 -diff --git a/src/Buffer.cpp b/src/Buffer.cpp -index 4715f76..dc14642 100644 ---- a/src/Buffer.cpp -+++ b/src/Buffer.cpp -@@ -17,6 +17,7 @@ - #include - #include - #include -+#include - - CBufLine::CBufLine(const CString& sFormat, const CString& sText, const timeval* ts) : m_sFormat(sFormat), m_sText(sText), m_time() { - if (ts == nullptr) -diff --git a/src/FileUtils.cpp b/src/FileUtils.cpp -index d358aa4..92218f3 100644 ---- a/src/FileUtils.cpp -+++ b/src/FileUtils.cpp -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - #ifndef HAVE_LSTAT - # define lstat(a, b) stat(a, b) -diff --git a/src/IRCSock.cpp b/src/IRCSock.cpp -index 738b5bf..c97b8fe 100644 ---- a/src/IRCSock.cpp -+++ b/src/IRCSock.cpp -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - - using std::set; - using std::vector; -diff --git a/src/User.cpp b/src/User.cpp -index f3b5b91..580b52d 100644 ---- a/src/User.cpp -+++ b/src/User.cpp -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - #include - - using std::vector; -diff --git a/src/WebModules.cpp b/src/WebModules.cpp -index 832a2e1..74e56de 100644 ---- a/src/WebModules.cpp -+++ b/src/WebModules.cpp -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - #include - #include - -diff --git a/src/ZNCDebug.cpp b/src/ZNCDebug.cpp -index 6e36b57..be2f77f 100644 ---- a/src/ZNCDebug.cpp -+++ b/src/ZNCDebug.cpp -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - - bool CDebug::stdoutIsTTY = true; - bool CDebug::debug = -diff --git a/src/main.cpp b/src/main.cpp -index 465e1a0..cbe72bf 100644 ---- a/src/main.cpp -+++ b/src/main.cpp -@@ -16,6 +16,7 @@ - - #include - #include -+#include - - #if defined(HAVE_LIBSSL) && defined(HAVE_PTHREAD) - #include -diff --git a/src/znc.cpp b/src/znc.cpp -index 624b92c..4c1ffcd 100644 ---- a/src/znc.cpp -+++ b/src/znc.cpp -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - #include - #include - --- -2.4.6 - diff --git a/package/znc/0002-csocket-timeh.patch b/package/znc/0002-csocket-timeh.patch deleted file mode 100644 index cbd435fc82..0000000000 --- a/package/znc/0002-csocket-timeh.patch +++ /dev/null @@ -1,19 +0,0 @@ -Include time.h since time_t is used. - -Status: not upstream, seems to be fixed in newer CSocket versions in a -different way but it hasn't been updated/bundled in znc yet. - -Signed-off-by: Gustavo Zacarias - -diff -Nura znc-1.6.1.orig/src/Csocket.cpp znc-1.6.1.cs/src/Csocket.cpp ---- znc-1.6.1.orig/src/Csocket.cpp 2015-08-06 10:14:45.256246307 -0300 -+++ znc-1.6.1.cs/src/Csocket.cpp 2015-08-06 10:27:25.380446888 -0300 -@@ -54,6 +54,8 @@ - #include - #endif /* HAVE_ICU */ - -+#include -+ - #include - - #define CS_SRANDBUFFER 128 diff --git a/package/znc/Config.in b/package/znc/Config.in index 154d4b0789..4fc7bbb95b 100644 --- a/package/znc/Config.in +++ b/package/znc/Config.in @@ -3,13 +3,14 @@ config BR2_PACKAGE_ZNC depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_HAS_THREADS help Advanced IRC bouncer http://www.znc.in -comment "znc needs a toolchain w/ C++, dynamic library, gcc >= 4.7" +comment "znc needs a toolchain w/ C++, dynamic library, gcc >= 4.8, threads" depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU diff --git a/package/znc/znc.hash b/package/znc/znc.hash index b242933e9d..7a14595907 100644 --- a/package/znc/znc.hash +++ b/package/znc/znc.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 2f0225d49c53a01f8d94feea4619a6fe92857792bb3401a4eb1edd65f0342aca znc-1.6.5.tar.gz +sha256 44cfea7158ea05dc2547c7c6bc22371e66c869def90351de0ab90a9c200d39c4 znc-1.7.1.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/znc/znc.mk b/package/znc/znc.mk index 5783200ef6..5235fd9196 100644 --- a/package/znc/znc.mk +++ b/package/znc/znc.mk @@ -4,8 +4,8 @@ # ################################################################################ -ZNC_VERSION = 1.6.5 -ZNC_SITE = http://znc.in/releases +ZNC_VERSION = 1.7.1 +ZNC_SITE = http://znc.in/releases/archive ZNC_LICENSE = Apache-2.0 ZNC_LICENSE_FILES = LICENSE ZNC_DEPENDENCIES = host-pkgconf @@ -32,7 +32,8 @@ else ZNC_CONF_OPTS += --disable-zlib endif -ifeq ($(BR2_PACKAGE_PYTHON3),y) +# python support depends on icu +ifeq ($(BR2_PACKAGE_ICU)$(BR2_PACKAGE_PYTHON3),yy) ZNC_DEPENDENCIES += python3 host-swig ZNC_CONF_OPTS += --enable-python=python3 else diff --git a/package/zsh/Config.in b/package/zsh/Config.in index ed8cf678de..2e9daac6ef 100644 --- a/package/zsh/Config.in +++ b/package/zsh/Config.in @@ -4,9 +4,9 @@ config BR2_PACKAGE_ZSH depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS select BR2_PACKAGE_NCURSES help - zsh is a shell designed for interactive use, although it is also - a powerful scripting language. Many of the useful features of bash, - ksh, and tcsh were incorporated into zsh; many original features - were added. + zsh is a shell designed for interactive use, although it is + also a powerful scripting language. Many of the useful + features of bash, ksh, and tcsh were incorporated into zsh; + many original features were added. http://www.zsh.org/ diff --git a/package/zstd/zstd.hash b/package/zstd/zstd.hash index 5bcdde968a..51e5fc245c 100644 --- a/package/zstd/zstd.hash +++ b/package/zstd/zstd.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 ac5054a3c64e6510bc1ae890d05e3d271cc33ceebc9d06ac9f08105766d2798a zstd-v1.3.2.tar.gz +sha256 a77c47153ee7de02626c5b2a097005786b71688be61e9fb81806a011f90b297b zstd-v1.3.3.tar.gz # License files (locally computed as well) sha256 2c1a7fa704df8f3a606f6fc010b8b5aaebf403f3aeec339a12048f1ba7331a0b LICENSE diff --git a/package/zstd/zstd.mk b/package/zstd/zstd.mk index 089d654749..c0fa88026c 100644 --- a/package/zstd/zstd.mk +++ b/package/zstd/zstd.mk @@ -4,9 +4,9 @@ # ################################################################################ -ZSTD_VERSION = v1.3.2 +ZSTD_VERSION = v1.3.3 ZSTD_SITE = $(call github,facebook,zstd,$(ZSTD_VERSION)) -ZSTD_LICENSE = BSD-3-Clause, GPL-2.0 +ZSTD_LICENSE = BSD-3-Clause or GPL-2.0 ZSTD_LICENSE_FILES = LICENSE COPYING ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) diff --git a/support/config-fragments/autobuild/br-arm-internal-glibc.config b/support/config-fragments/autobuild/br-arm-internal-glibc.config new file mode 100644 index 0000000000..6b2566eedc --- /dev/null +++ b/support/config-fragments/autobuild/br-arm-internal-glibc.config @@ -0,0 +1,4 @@ +BR2_arm=y +BR2_cortex_a8=y +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y diff --git a/support/config-fragments/autobuild/br-arm-internal-musl.config b/support/config-fragments/autobuild/br-arm-internal-musl.config new file mode 100644 index 0000000000..92788626d6 --- /dev/null +++ b/support/config-fragments/autobuild/br-arm-internal-musl.config @@ -0,0 +1,4 @@ +BR2_arm=y +BR2_cortex_a8=y +BR2_TOOLCHAIN_BUILDROOT_MUSL=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y diff --git a/support/config-fragments/autobuild/br-nios2-glibc.config b/support/config-fragments/autobuild/br-nios2-glibc.config index 62f2665e44..52b9f7f9f5 100644 --- a/support/config-fragments/autobuild/br-nios2-glibc.config +++ b/support/config-fragments/autobuild/br-nios2-glibc.config @@ -6,4 +6,5 @@ BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/b BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +# BR2_TOOLCHAIN_EXTERNAL_HAS_SSP is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-powerpc-internal-full.config b/support/config-fragments/autobuild/br-powerpc-internal-full.config index 2621e9fb41..61b3e7a966 100644 --- a/support/config-fragments/autobuild/br-powerpc-internal-full.config +++ b/support/config-fragments/autobuild/br-powerpc-internal-full.config @@ -1,5 +1,4 @@ BR2_powerpc=y -BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y BR2_TOOLCHAIN_BUILDROOT_LOCALE=y BR2_TOOLCHAIN_BUILDROOT_WCHAR=y BR2_TOOLCHAIN_BUILDROOT_CXX=y diff --git a/support/config-fragments/autobuild/br-xtensa-full-internal.config b/support/config-fragments/autobuild/br-xtensa-full-internal.config index f642a4d76b..89e81d4c45 100644 --- a/support/config-fragments/autobuild/br-xtensa-full-internal.config +++ b/support/config-fragments/autobuild/br-xtensa-full-internal.config @@ -1,4 +1,3 @@ BR2_xtensa=y -BR2_JLEVEL=8 BR2_TOOLCHAIN_BUILDROOT_LOCALE=y BR2_TOOLCHAIN_BUILDROOT_CXX=y diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv index efb78eec4f..2010113f44 100644 --- a/support/config-fragments/autobuild/toolchain-configs.csv +++ b/support/config-fragments/autobuild/toolchain-configs.csv @@ -12,6 +12,8 @@ support/config-fragments/autobuild/br-arm-full.config,x86_64 support/config-fragments/autobuild/br-arm-full-nothread.config,x86_64 support/config-fragments/autobuild/br-arm-full-static.config,x86_64 support/config-fragments/autobuild/br-arm-internal-full.config,any +support/config-fragments/autobuild/br-arm-internal-glibc.config,any +support/config-fragments/autobuild/br-arm-internal-musl.config,any support/config-fragments/autobuild/br-bfin-full.config,x86_64 support/config-fragments/autobuild/br-i386-pentium4-full.config,x86_64 support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config,x86_64 diff --git a/support/dependencies/check-host-tar.sh b/support/dependencies/check-host-tar.sh index 932d3c4fb2..0857307396 100755 --- a/support/dependencies/check-host-tar.sh +++ b/support/dependencies/check-host-tar.sh @@ -26,17 +26,33 @@ if [ ! -z "${version_bsd}" ] ; then minor=0 fi -# Minimal version = 1.17 (previous versions do not correctly unpack archives -# containing hard-links if the --strip-components option is used). +# Minimal version = 1.27 (previous versions do not correctly unpack archives +# containing hard-links if the --strip-components option is used or create +# different gnu long link headers for path elements > 100 characters). major_min=1 -minor_min=17 -if [ $major -gt $major_min ]; then - echo $tar -else - if [ $major -eq $major_min -a $minor -ge $minor_min ]; then - echo $tar - else - # echo nothing: no suitable tar found - exit 1 - fi +minor_min=27 + +# Maximal version = 1.29 (1.30 changed --numeric-owner output for +# filenames > 100 characters). This is really a fix for a bug in +# earlier tar versions regarding deterministic output so it is +# unlikely to be reverted in later versions. +major_max=1 +minor_max=29 + +if [ $major -lt $major_min -o $major -gt $major_max ]; then + # echo nothing: no suitable tar found + exit 1 fi + +if [ $major -eq $major_min -a $minor -lt $minor_min ]; then + # echo nothing: no suitable tar found + exit 1 +fi + +if [ $major -eq $major_max -a $minor -gt $minor_max ]; then + # echo nothing: no suitable tar found + exit 1 +fi + +# valid +echo $tar diff --git a/support/dependencies/dependencies.mk b/support/dependencies/dependencies.mk index ef2ae9b7e1..3fc235863c 100644 --- a/support/dependencies/dependencies.mk +++ b/support/dependencies/dependencies.mk @@ -12,19 +12,23 @@ define suitable-host-package $(shell support/dependencies/check-host-$(1).sh $(2)) endef --include $(sort $(wildcard support/dependencies/check-host-*.mk)) +# host utilities needs host-tar to extract the source code tarballs, so +# ensure check-host-tar.mk is included before the rest +include support/dependencies/check-host-tar.mk +-include $(sort $(filter-out %-tar.mk,$(wildcard support/dependencies/check-host-*.mk))) ifeq ($(BR2_CCACHE),y) DEPENDENCIES_HOST_PREREQ += host-ccache endif core-dependencies: - @HOSTCC="$(firstword $(HOSTCC))" MAKE="$(MAKE)" \ - DL_TOOLS="$(sort $(DL_TOOLS_DEPENDENCIES))" \ + @MAKE="$(MAKE)" DL_TOOLS="$(sort $(DL_TOOLS_DEPENDENCIES))" \ $(TOPDIR)/support/dependencies/dependencies.sh -core-dependencies $(DEPENDENCIES_HOST_PREREQ): HOSTCC=$(HOSTCC_NOCCACHE) -core-dependencies $(DEPENDENCIES_HOST_PREREQ): HOSTCXX=$(HOSTCXX_NOCCACHE) +$(DEPENDENCIES_HOST_PREREQ): HOSTCC=$(HOSTCC_NOCCACHE) +$(DEPENDENCIES_HOST_PREREQ): HOSTCXX=$(HOSTCXX_NOCCACHE) +$(DEPENDENCIES_HOST_PREREQ): core-dependencies + dependencies: core-dependencies $(DEPENDENCIES_HOST_PREREQ) ################################################################################ diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh index a195c62c8c..c5f29d32f4 100755 --- a/support/dependencies/dependencies.sh +++ b/support/dependencies/dependencies.sh @@ -11,27 +11,30 @@ if test $? != 0 ; then exit 1 fi -# sanity check for CWD in LD_LIBRARY_PATH -# try not to rely on egrep.. -if test -n "$LD_LIBRARY_PATH" ; then - echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep '::' >/dev/null 2>&1 || - echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep ':\.:' >/dev/null 2>&1 || - echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep 'TRiGGER_start:' >/dev/null 2>&1 || - echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep 'TRiGGER_start\.:' >/dev/null 2>&1 || - echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep ':TRiGGER_end' >/dev/null 2>&1 || - echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep ':\.TRiGGER_end' >/dev/null 2>&1 || - echo TRiGGER_start"$LD_LIBRARY_PATH"TRiGGER_end | grep 'TRiGGER_start\.TRiGGER_end' >/dev/null 2>&1 - if test $? = 0; then - echo - echo "You seem to have the current working directory in your" - echo "LD_LIBRARY_PATH environment variable. This doesn't work." - exit 1; - fi -fi; +# Sanity check for CWD in LD_LIBRARY_PATH +case ":${LD_LIBRARY_PATH:-unset}:" in +(*::*|*:.:*) + echo + echo "You seem to have the current working directory in your" + echo "LD_LIBRARY_PATH environment variable. This doesn't work." + exit 1 + ;; +esac -# PATH should not contain a newline, otherwise it fails in spectacular ways -# as soon as PATH is referenced in a package rule -case "${PATH}" in +# Sanity check for CWD in PATH. Having the current working directory +# in the PATH makes various packages (e.g. toolchain, coreutils...) +# build process break. +# PATH should not contain a newline, otherwise it fails in spectacular +# ways as soon as PATH is referenced in a package rule +# An empty PATH is technically possible, but in practice we would not +# even arrive here if that was the case. +case ":${PATH:-unset}:" in +(*::*|*:.:*) + echo + echo "You seem to have the current working directory in your" + echo "PATH environment variable. This doesn't work." + exit 1 + ;; (*" "*) printf "\n" # Break the '\n' sequence, or a \n is printed (which is not what we want). @@ -41,22 +44,6 @@ case "${PATH}" in ;; esac -# sanity check for CWD in PATH. Having the current working directory -# in the PATH makes the toolchain build process break. -# try not to rely on egrep.. -if test -n "$PATH" ; then - echo TRiGGER_start"$PATH"TRiGGER_end | grep ':\.:' >/dev/null 2>&1 || - echo TRiGGER_start"$PATH"TRiGGER_end | grep 'TRiGGER_start\.:' >/dev/null 2>&1 || - echo TRiGGER_start"$PATH"TRiGGER_end | grep ':\.TRiGGER_end' >/dev/null 2>&1 || - echo TRiGGER_start"$PATH"TRiGGER_end | grep 'TRiGGER_start\.TRiGGER_end' >/dev/null 2>&1 - if test $? = 0; then - echo - echo "You seem to have the current working directory in your" - echo "PATH environment variable. This doesn't work." - exit 1; - fi -fi; - if test -n "$PERL_MM_OPT" ; then echo echo "You have PERL_MM_OPT defined because Perl local::lib" @@ -200,7 +187,7 @@ if grep ^BR2_NEEDS_HOST_UTF8_LOCALE=y $BR2_CONFIG > /dev/null; then echo "You need locale support on your build machine to build a toolchain supporting locales" exit 1 ; fi - if ! locale -a | grep -q -i utf8$ ; then + if ! locale -a | grep -q -i -E 'utf-?8$' ; then echo echo "You need at least one UTF8 locale to build a toolchain supporting locales" exit 1 ; @@ -235,6 +222,8 @@ if grep -q ^BR2_HOSTARCH_NEEDS_IA32_LIBS=y $BR2_CONFIG ; then echo "If you're running a Debian/Ubuntu distribution, install the libc6-i386," echo "lib32stdc++6, and lib32z1 packages (or alternatively libc6:i386," echo "libstdc++6:i386, and zlib1g:i386)." + echo "If you're running a RedHat/Fedora distribution, install the glibc.i686 and" + echo "zlib.i686 packages." echo "For other distributions, refer to the documentation on how to install the 32 bits" echo "compatibility libraries." exit 1 @@ -249,6 +238,14 @@ if grep -q ^BR2_HOSTARCH_NEEDS_IA32_COMPILER=y $BR2_CONFIG ; then echo "For other distributions, refer to their documentation." exit 1 fi + + if ! echo "int main(void) {}" | g++ -m32 -x c++ - -o /dev/null 2>/dev/null; then + echo + echo "Your Buildroot configuration needs a compiler capable of building 32 bits binaries." + echo "If you're running a Debian/Ubuntu distribution, install the g++-multilib package." + echo "For other distributions, refer to their documentation." + exit 1 + fi fi # Check that the Perl installation is complete enough for Buildroot. @@ -280,3 +277,8 @@ if [ -n "$missing_perl_modules" ] ; then echo exit 1 fi + +if ! python -c "import argparse" > /dev/null 2>&1 ; then + echo "Your Python installation is not complete enough: argparse module is missing" + exit 1 +fi diff --git a/support/docker/Dockerfile b/support/docker/Dockerfile index d45b23dc23..ce3fdd9cc2 100644 --- a/support/docker/Dockerfile +++ b/support/docker/Dockerfile @@ -1,9 +1,13 @@ # This Dockerfile generates the docker image that gets used by Gitlab CI -# To build it: -# sudo docker build -t buildroot/base support/docker -# sudo docker push buildroot/base +# To build it (YYYYMMDD.HHMM is the current date and time in UTC): +# sudo docker build -t buildroot/base:YYYYMMDD.HHMM support/docker +# sudo docker push buildroot/base:YYYYMMDD.HHMM + +# We use a specific tag for the base image *and* the corresponding date +# for the repository., so do not forget to update the apt-sources.list +# file that is shipped next to this Dockerfile. +FROM debian:stretch-20171210 -FROM debian:stable LABEL maintainer="Buildroot mailing list " \ vendor="Buildroot" \ description="Container with everything needed to run Buildroot" @@ -11,20 +15,30 @@ description="Container with everything needed to run Buildroot" # Setup environment ENV DEBIAN_FRONTEND noninteractive -RUN dpkg --add-architecture i386 +# This repository can be a bit slow at times. Don't panic... +COPY apt-sources.list /etc/apt/sources.list + # The container has no package lists, so need to update first -RUN apt-get update -y -qq -RUN apt-get install -y -qq --no-install-recommends \ - build-essential cmake libc6:i386 gcc-multilib \ - bc ca-certificates file locales rsync \ - cvs bzr git mercurial subversion wget \ - cpio unzip \ - libncurses5-dev \ - python-nose2 python-pexpect qemu-system-arm qemu-system-x86 -RUN apt-get -q -y autoremove -RUN apt-get -q -y clean +RUN dpkg --add-architecture i386 && \ + apt-get update -y && \ + apt-get install -y --no-install-recommends \ + build-essential cmake libc6:i386 g++-multilib \ + bc ca-certificates file locales rsync \ + cvs bzr git mercurial subversion wget \ + cpio unzip \ + libncurses5-dev \ + python-nose2 python-pexpect qemu-system-arm qemu-system-x86 && \ + apt-get -y autoremove && \ + apt-get -y clean # To be able to generate a toolchain with locales, enable one UTF-8 locale -RUN sed -i 's/# \(en_US.UTF-8\)/\1/' /etc/locale.gen -RUN /usr/sbin/locale-gen +RUN sed -i 's/# \(en_US.UTF-8\)/\1/' /etc/locale.gen && \ + /usr/sbin/locale-gen +RUN useradd -ms /bin/bash br-user && \ + chown -R br-user:br-user /home/br-user + +USER br-user +WORKDIR /home/br-user +ENV HOME /home/br-user +ENV LC_ALL en_US.UTF-8 diff --git a/support/docker/apt-sources.list b/support/docker/apt-sources.list new file mode 100644 index 0000000000..789fb8fc17 --- /dev/null +++ b/support/docker/apt-sources.list @@ -0,0 +1,4 @@ +# Latest just before 20171210T000000Z: +deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20171209T220346Z/ stretch main +deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20171209T220346Z/ stretch-updates main +deb [check-valid-until=no] http://snapshot.debian.org/archive/debian-security/20171209T224618Z/ stretch/updates main diff --git a/support/kconfig/Makefile b/support/kconfig/Makefile index 7eb4071b4e..af62023863 100644 --- a/support/kconfig/Makefile +++ b/support/kconfig/Makefile @@ -220,7 +220,8 @@ HOSTCFLAGS_gconf.o = `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \ HOSTLOADLIBES_mconf = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC)) HOSTLOADLIBES_nconf = $(shell \ - pkg-config --libs menu panel ncurses 2>/dev/null \ + pkg-config --libs menuw panelw ncursesw 2>/dev/null \ + || pkg-config --libs menu panel ncurses 2>/dev/null \ || echo "-lmenu -lpanel -lncurses" ) $(obj)/qconf.o: $(obj)/.tmp_qtcheck diff --git a/support/kconfig/merge_config.sh b/support/kconfig/merge_config.sh index 8a1708b50f..e1d7ffa7b5 100755 --- a/support/kconfig/merge_config.sh +++ b/support/kconfig/merge_config.sh @@ -33,6 +33,7 @@ usage() { echo " -n use allnoconfig instead of alldefconfig" echo " -r list redundant entries when merging fragments" echo " -O dir to put generated output files" + echo " -e colon-separated list of br2-external trees to use (optional)" } MAKE=true @@ -71,6 +72,11 @@ while true; do shift 2 continue ;; + "-e") + EXTERNAL_ARG="BR2_EXTERNAL=$2" + shift 2 + continue + ;; *) break ;; @@ -131,7 +137,7 @@ fi # Use the merged file as the starting point for: # alldefconfig: Fills in any missing symbols with Kconfig default # allnoconfig: Fills in any missing symbols with # CONFIG_* is not set -make KCONFIG_ALLCONFIG=$TMP_FILE $OUTPUT_ARG $ALLTARGET +make KCONFIG_ALLCONFIG=$TMP_FILE $EXTERNAL_ARG $OUTPUT_ARG $ALLTARGET # Check all specified config values took (might have missed-dependency issues) diff --git a/support/kconfig/patches/18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch b/support/kconfig/patches/18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch new file mode 100644 index 0000000000..3ca48d0714 --- /dev/null +++ b/support/kconfig/patches/18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch @@ -0,0 +1,45 @@ +From 7285996aa0006d671bb01f0d35991d254b2b2b01 Mon Sep 17 00:00:00 2001 +From: Brian Norris +Date: Wed, 4 Jun 2014 00:52:31 -0700 +Subject: kconfig: nconfig: fix multi-byte UTF handling + +Currently, Kconfig descriptions that use multi-byte UTF-8 characters +(such as MTD_NAND_CAFE) will have their menu entries dropped from the +'make nconfig' ncurses menu, and all subsequent entries in the same +window will be omitted. This seems to be due to the ncurses 'menu' +library, which does not traditionally handle UTF-8 >8-bit characters +properly. + +The ncursesw library ('w' is for "wide") is written to handle these +UTF-8 characters, and is practically a drop-in replacement at the source +level. Use it by default, if available. + +Link: https://bugzilla.kernel.org/show_bug.cgi?id=43067 +Signed-off-by: Brian Norris +Cc: "Yann E. MORIN" +Cc: Martin Walch +Acked-by: Sam Ravnborg +Signed-off-by: Michal Marek +--- + scripts/kconfig/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +(limited to 'scripts/kconfig/Makefile') + +diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile +index e7bf38e..c059385 100644 +--- a/scripts/kconfig/Makefile ++++ b/scripts/kconfig/Makefile +@@ -191,7 +191,8 @@ HOSTCFLAGS_gconf.o = `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \ + HOSTLOADLIBES_mconf = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC)) + + HOSTLOADLIBES_nconf = $(shell \ +- pkg-config --libs menu panel ncurses 2>/dev/null \ ++ pkg-config --libs menuw panelw ncursesw 2>/dev/null \ ++ || pkg-config --libs menu panel ncurses 2>/dev/null \ + || echo "-lmenu -lpanel -lncurses" ) + $(obj)/qconf.o: $(obj)/.tmp_qtcheck + +-- +cgit v1.1 + diff --git a/support/kconfig/patches/series b/support/kconfig/patches/series index e25375ea28..1a53ba9958 100644 --- a/support/kconfig/patches/series +++ b/support/kconfig/patches/series @@ -7,3 +7,4 @@ 15-fix-qconf-moc-rule.patch 16-fix-space-to-de-select-options.patch 17-kconfig-lxdialog-get-ncurses-CFLAGS-with-pkg-config.patch +18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile index 3d833f09fc..54b45da69e 100644 --- a/support/misc/Vagrantfile +++ b/support/misc/Vagrantfile @@ -5,7 +5,7 @@ ################################################################################ # Buildroot version to use -RELEASE='2017.11' +RELEASE='2018.02' ### Change here for more memory/cores ### VM_MEMORY=2048 diff --git a/support/scripts/brpkgutil.py b/support/scripts/brpkgutil.py index a0e2352bad..4c99ae9110 100644 --- a/support/scripts/brpkgutil.py +++ b/support/scripts/brpkgutil.py @@ -3,11 +3,12 @@ import sys import subprocess + # Execute the "make -show-version" command to get the version of a given # list of packages, and return the version formatted as a Python dictionary. def get_version(pkgs): sys.stderr.write("Getting version for %s\n" % pkgs) - cmd = ["make", "-s", "--no-print-directory" ] + cmd = ["make", "-s", "--no-print-directory"] for pkg in pkgs: cmd.append("%s-show-version" % pkg) p = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) @@ -25,9 +26,10 @@ def get_version(pkgs): version[pkg] = output[i] return version + def _get_depends(pkgs, rule): sys.stderr.write("Getting dependencies for %s\n" % pkgs) - cmd = ["make", "-s", "--no-print-directory" ] + cmd = ["make", "-s", "--no-print-directory"] for pkg in pkgs: cmd.append("%s-%s" % (pkg, rule)) p = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) @@ -49,12 +51,14 @@ def _get_depends(pkgs, rule): deps[pkg] = pkg_deps return deps + # Execute the "make -show-depends" command to get the list of # dependencies of a given list of packages, and return the list of # dependencies formatted as a Python dictionary. def get_depends(pkgs): return _get_depends(pkgs, 'show-depends') + # Execute the "make -show-rdepends" command to get the list of # reverse dependencies of a given list of packages, and return the # list of dependencies formatted as a Python dictionary. diff --git a/support/scripts/check-bin-arch b/support/scripts/check-bin-arch index 887b6613cd..7f97696735 100755 --- a/support/scripts/check-bin-arch +++ b/support/scripts/check-bin-arch @@ -1,18 +1,46 @@ #!/usr/bin/env bash -while getopts p:l:r:a: OPT ; do +# List of hardcoded paths that should be ignored, as they may +# contain binaries for an architecture different from the +# architecture of the target. +declare -a IGNORES=( + # Skip firmware files, they could be ELF files for other + # architectures + "/lib/firmware" + "/usr/lib/firmware" + + # Skip kernel modules + # When building a 32-bit userland on 64-bit architectures, the kernel + # and its modules may still be 64-bit. To keep the basic + # check-bin-arch logic simple, just skip this directory. + "/lib/modules" + "/usr/lib/modules" + + # Skip files in /usr/share, several packages (qemu, + # pru-software-support) legitimately install ELF binaries that + # are not for the target architecture + "/usr/share" +) + +while getopts p:l:r:a:i: OPT ; do case "${OPT}" in p) package="${OPTARG}";; l) pkg_list="${OPTARG}";; r) readelf="${OPTARG}";; a) arch_name="${OPTARG}";; + i) + # Ensure we do have single '/' as separators, + # and that we have a leading and a trailing one. + pattern="$(sed -r -e 's:/+:/:g; s:^/*:/:; s:/*$:/:;' <<<"${OPTARG}")" + IGNORES+=("${pattern}") + ;; :) error "option '%s' expects a mandatory argument\n" "${OPTARG}";; \?) error "unknown option '%s'\n" "${OPTARG}";; esac done if test -z "${package}" -o -z "${pkg_list}" -o -z "${readelf}" -o -z "${arch_name}" ; then - echo "Usage: $0 -p -l -r -a " + echo "Usage: $0 -p -l -r -a [-i PATH ...]" exit 1 fi @@ -23,18 +51,11 @@ IFS=" " while read f; do - # Skip firmware files, they could be ELF files for other - # architectures - if [[ "${f}" =~ ^/(usr/)?lib/firmware/.* ]]; then - continue - fi - - # Skip files in /usr/share, several packages (qemu, - # pru-software-support) legitimately install ELF binaries that - # are not for the target architecture - if [[ "${f}" =~ ^/usr/share/.* ]]; then - continue - fi + for ignore in "${IGNORES[@]}"; do + if [[ "${f}" =~ ^"${ignore}" ]]; then + continue 2 + fi + done # Skip symlinks. Some symlinks may have absolute paths as # target, pointing to host binaries while we're building. diff --git a/support/scripts/check-uniq-files b/support/scripts/check-uniq-files new file mode 100755 index 0000000000..f110176274 --- /dev/null +++ b/support/scripts/check-uniq-files @@ -0,0 +1,49 @@ +#!/usr/bin/env python + +import sys +import csv +import argparse +from collections import defaultdict + +warn = 'Warning: {0} file "{1}" is touched by more than one package: {2}\n' + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('packages_file_list', nargs='*', + help='The packages-file-list to check from') + parser.add_argument('-t', '--type', metavar="TYPE", + help='Report as a TYPE file (TYPE is either target, staging, or host)') + + args = parser.parse_args() + + if not len(args.packages_file_list) == 1: + sys.stderr.write('No packages-file-list was provided.\n') + return False + + if args.type is None: + sys.stderr.write('No type was provided\n') + return False + + file_to_pkg = defaultdict(list) + with open(args.packages_file_list[0], 'rb') as pkg_file_list: + for line in pkg_file_list.readlines(): + pkg, _, file = line.rstrip(b'\n').partition(b',') + file_to_pkg[file].append(pkg) + + for file in file_to_pkg: + if len(file_to_pkg[file]) > 1: + # If possible, try to decode the binary strings with + # the default user's locale + try: + sys.stderr.write(warn.format(args.type, file.decode(), + [p.decode() for p in file_to_pkg[file]])) + except UnicodeDecodeError: + # ... but fallback to just dumping them raw if they + # contain non-representable chars + sys.stderr.write(warn.format(args.type, file, + file_to_pkg[file])) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/support/scripts/fix-rpath b/support/scripts/fix-rpath index 15705a3b0d..fa138ca15a 100755 --- a/support/scripts/fix-rpath +++ b/support/scripts/fix-rpath @@ -56,6 +56,7 @@ EOF # ELF files should not be in these sub-directories HOST_EXCLUDEPATHS="/share/terminfo" STAGING_EXCLUDEPATHS="/usr/include /usr/share/terminfo" +TARGET_EXCLUDEPATHS="/lib/firmware" main() { local rootdir @@ -106,6 +107,11 @@ main() { target) rootdir="${TARGET_DIR}" + + for excludepath in ${TARGET_EXCLUDEPATHS}; do + find_args+=( "-path" "${TARGET_DIR}""${excludepath}" "-prune" "-o" ) + done + # we don't want $ORIGIN-based rpaths but absolute paths without rootdir. # we also want to remove rpaths pointing to /lib or /usr/lib. sanitize_extra_args+=( "--no-standard-lib-dirs" ) diff --git a/support/scripts/genimage.sh b/support/scripts/genimage.sh index 625afc108c..039b3fef1d 100755 --- a/support/scripts/genimage.sh +++ b/support/scripts/genimage.sh @@ -1,7 +1,11 @@ #!/usr/bin/env bash die() { - echo "Error: $@" >&2 + cat <&2 +Error: $@ + +Usage: ${0} -c GENIMAGE_CONFIG_FILE +EOF exit 1 } diff --git a/support/scripts/graph-build-time b/support/scripts/graph-build-time index 0ba0f2d3a7..415d431f23 100755 --- a/support/scripts/graph-build-time +++ b/support/scripts/graph-build-time @@ -64,14 +64,14 @@ except ImportError: # Note: matplotlib.use() must be called *before* matplotlib.pyplot. mpl.use('Agg') -import matplotlib.pyplot as plt -import matplotlib.font_manager as fm -import csv -import argparse +import matplotlib.pyplot as plt # noqa: E402 +import matplotlib.font_manager as fm # noqa: E402 +import csv # noqa: E402 +import argparse # noqa: E402 -steps = [ 'extract', 'patch', 'configure', 'build', - 'install-target', 'install-staging', 'install-images', - 'install-host'] +steps = ['extract', 'patch', 'configure', 'build', + 'install-target', 'install-staging', 'install-images', + 'install-host'] default_colors = ['#e60004', '#009836', '#2e1d86', '#ffed00', '#0068b5', '#f28e00', '#940084', '#97c000'] @@ -79,6 +79,7 @@ default_colors = ['#e60004', '#009836', '#2e1d86', '#ffed00', alternate_colors = ['#00e0e0', '#3f7f7f', '#ff0000', '#00c000', '#0080ff', '#c000ff', '#00eeee', '#e0e000'] + class Package: def __init__(self, name): self.name = name @@ -104,6 +105,7 @@ class Package: return self.steps_duration[step] return 0 + # Generate an histogram of the time spent in each step of each # package. def pkg_histogram(data, output, order="build"): @@ -132,10 +134,10 @@ def pkg_histogram(data, output, order="build"): for i in range(0, len(vals)): b = plt.bar(ind+0.1, vals[i], width=0.8, color=colors[i], bottom=bottom, linewidth=0.25) legenditems.append(b[0]) - bottom = [ bottom[j] + vals[i][j] for j in range(0, len(vals[i])) ] + bottom = [bottom[j] + vals[i][j] for j in range(0, len(vals[i]))] # Draw the package names - plt.xticks(ind + .6, [ p.name for p in data ], rotation=-60, rotation_mode="anchor", fontsize=8, ha='left') + plt.xticks(ind + .6, [p.name for p in data], rotation=-60, rotation_mode="anchor", fontsize=8, ha='left') # Adjust size of graph depending on the number of packages # Ensure a minimal size twice as the default @@ -172,6 +174,7 @@ def pkg_histogram(data, output, order="build"): # Save graph plt.savefig(output) + # Generate a pie chart with the time spent building each package. def pkg_pie_time_per_package(data, output): # Compute total build duration @@ -184,7 +187,7 @@ def pkg_pie_time_per_package(data, output): labels = [] values = [] other_value = 0 - for p in data: + for p in sorted(data, key=lambda p: p.get_duration()): if p.get_duration() < (total * 0.01): other_value += p.get_duration() else: @@ -210,6 +213,7 @@ def pkg_pie_time_per_package(data, output): plt.title('Build time per package') plt.savefig(output) + # Generate a pie chart with a portion for the overall time spent in # each step for all packages. def pkg_pie_time_per_step(data, output): @@ -236,6 +240,7 @@ def pkg_pie_time_per_step(data, output): plt.title('Build time per step') plt.savefig(output) + # Parses the csv file passed on standard input and returns a list of # Package objects, filed with the duration of each step and the total # duration of the package. @@ -269,6 +274,7 @@ def read_data(input_file): return pkgs + parser = argparse.ArgumentParser(description='Draw build time graphs') parser.add_argument("--type", '-t', metavar="GRAPH_TYPE", help="Type of graph (histogram, pie-packages, pie-steps)") diff --git a/support/scripts/graph-depends b/support/scripts/graph-depends index db3041b32e..85c9bf0a4f 100755 --- a/support/scripts/graph-depends +++ b/support/scripts/graph-depends @@ -30,7 +30,7 @@ import brpkgutil # Modes of operation: MODE_FULL = 1 # draw full dependency graph for all selected packages -MODE_PKG = 2 # draw dependency graph for a given package +MODE_PKG = 2 # draw dependency graph for a given package mode = 0 # Limit drawing the dependency graph to this depth. 0 means 'no limit'. @@ -49,18 +49,18 @@ parser.add_argument("--package", '-p', metavar="PACKAGE", parser.add_argument("--depth", '-d', metavar="DEPTH", dest="depth", type=int, default=0, help="Limit the dependency graph to DEPTH levels; 0 means no limit.") parser.add_argument("--stop-on", "-s", metavar="PACKAGE", dest="stop_list", action="append", - help="Do not graph past this package (can be given multiple times)." \ - + " Can be a package name or a glob, " \ - + " 'virtual' to stop on virtual packages, or " \ - + "'host' to stop on host packages.") + help="Do not graph past this package (can be given multiple times)." + + " Can be a package name or a glob, " + + " 'virtual' to stop on virtual packages, or " + + "'host' to stop on host packages.") parser.add_argument("--exclude", "-x", metavar="PACKAGE", dest="exclude_list", action="append", help="Like --stop-on, but do not add PACKAGE to the graph.") parser.add_argument("--colours", "-c", metavar="COLOR_LIST", dest="colours", default="lightblue,grey,gainsboro", - help="Comma-separated list of the three colours to use" \ - + " to draw the top-level package, the target" \ - + " packages, and the host packages, in this order." \ - + " Defaults to: 'lightblue,grey,gainsboro'") + help="Comma-separated list of the three colours to use" + + " to draw the top-level package, the target" + + " packages, and the host packages, in this order." + + " Defaults to: 'lightblue,grey,gainsboro'") parser.add_argument("--transitive", dest="transitive", action='store_true', default=False) parser.add_argument("--no-transitive", dest="transitive", action='store_false', @@ -114,7 +114,7 @@ else: # Get the colours: we need exactly three colours, # so no need not split more than 4 # We'll let 'dot' validate the colours... -colours = args.colours.split(',',4) +colours = args.colours.split(',', 4) if len(colours) != 3: sys.stderr.write("Error: incorrect colour list '%s'\n" % args.colours) sys.exit(1) @@ -124,6 +124,7 @@ host_colour = colours[2] allpkgs = [] + # Execute the "make show-targets" command to get the list of the main # Buildroot PACKAGES and return it formatted as a Python list. This # list is used as the starting point for full dependency graphs @@ -138,6 +139,7 @@ def get_targets(): return [] return output.split(' ') + # Recursive function that builds the tree of dependencies for a given # list of packages. The dependencies are built in a list called # 'dependencies', which contains tuples of the form (pkg1 -> @@ -179,10 +181,12 @@ def get_all_depends(pkgs): return dependencies + # The Graphviz "dot" utility doesn't like dashes in node names. So for # node names, we strip all dashes. def pkg_node_name(pkg): - return pkg.replace("-","") + return pkg.replace("-", "") + TARGET_EXCEPTIONS = [ "target-finalize", @@ -225,35 +229,39 @@ for dep in dependencies: # sub-dicts is "pkg2". is_dep_cache = {} + def is_dep_cache_insert(pkg, pkg2, val): try: is_dep_cache[pkg].update({pkg2: val}) except KeyError: is_dep_cache[pkg] = {pkg2: val} + # Retrieves from the cache whether pkg2 is a transitive dependency # of pkg. # Note: raises a KeyError exception if the dependency is not known. def is_dep_cache_lookup(pkg, pkg2): return is_dep_cache[pkg][pkg2] + # This function return True if pkg is a dependency (direct or # transitive) of pkg2, dependencies being listed in the deps # dictionary. Returns False otherwise. # This is the un-cached version. -def is_dep_uncached(pkg,pkg2,deps): +def is_dep_uncached(pkg, pkg2, deps): try: for p in deps[pkg2]: if pkg == p: return True - if is_dep(pkg,p,deps): + if is_dep(pkg, p, deps): return True except KeyError: pass return False + # See is_dep_uncached() above; this is the cached version. -def is_dep(pkg,pkg2,deps): +def is_dep(pkg, pkg2, deps): try: return is_dep_cache_lookup(pkg, pkg2) except KeyError: @@ -261,6 +269,7 @@ def is_dep(pkg,pkg2,deps): is_dep_cache_insert(pkg, pkg2, val) return val + # This function eliminates transitive dependencies; for example, given # these dependency chain: A->{B,C} and B->{C}, the A->{C} dependency is # already covered by B->{C}, so C is a transitive dependency of A, via B. @@ -269,30 +278,32 @@ def is_dep(pkg,pkg2,deps): # - if d[i] is a dependency of any of the other dependencies d[j] # - do not keep d[i] # - otherwise keep d[i] -def remove_transitive_deps(pkg,deps): +def remove_transitive_deps(pkg, deps): d = deps[pkg] new_d = [] for i in range(len(d)): keep_me = True for j in range(len(d)): - if j==i: + if j == i: continue - if is_dep(d[i],d[j],deps): + if is_dep(d[i], d[j], deps): keep_me = False if keep_me: new_d.append(d[i]) return new_d + # This function removes the dependency on some 'mandatory' package, like the # 'toolchain' package, or the 'skeleton' package -def remove_mandatory_deps(pkg,deps): +def remove_mandatory_deps(pkg, deps): return [p for p in deps[pkg] if p not in ['toolchain', 'skeleton']] + # This function will check that there is no loop in the dependency chain # As a side effect, it builds up the dependency cache. def check_circular_deps(deps): def recurse(pkg): - if not pkg in list(deps.keys()): + if pkg not in list(deps.keys()): return if pkg in not_loop: return @@ -314,24 +325,27 @@ def check_circular_deps(deps): for pkg in list(deps.keys()): recurse(pkg) + # This functions trims down the dependency list of all packages. # It applies in sequence all the dependency-elimination methods. def remove_extra_deps(deps): for pkg in list(deps.keys()): if not pkg == 'all': - deps[pkg] = remove_mandatory_deps(pkg,deps) + deps[pkg] = remove_mandatory_deps(pkg, deps) for pkg in list(deps.keys()): if not transitive or pkg == 'all': - deps[pkg] = remove_transitive_deps(pkg,deps) + deps[pkg] = remove_transitive_deps(pkg, deps) return deps + check_circular_deps(dict_deps) if check_only: sys.exit(0) dict_deps = remove_extra_deps(dict_deps) dict_version = brpkgutil.get_version([pkg for pkg in allpkgs - if pkg != "all" and not pkg.startswith("root")]) + if pkg != "all" and not pkg.startswith("root")]) + # Print the attributes of a node: label and fill-color def print_attrs(pkg): @@ -344,8 +358,8 @@ def print_attrs(pkg): color = root_colour else: if pkg.startswith('host') \ - or pkg.startswith('toolchain') \ - or pkg.startswith('rootfs'): + or pkg.startswith('toolchain') \ + or pkg.startswith('rootfs'): color = host_colour else: color = target_colour @@ -356,6 +370,7 @@ def print_attrs(pkg): outfile.write("%s [label = \"%s\"]\n" % (name, label)) outfile.write("%s [color=%s,style=filled]\n" % (name, color)) + # Print the dependency graph of a package def print_pkg_deps(depth, pkg): if pkg in done_deps: @@ -381,12 +396,13 @@ def print_pkg_deps(depth, pkg): continue add = True for p in exclude_list: - if fnmatch(d,p): + if fnmatch(d, p): add = False break if add: outfile.write("%s -> %s [dir=%s]\n" % (pkg_node_name(pkg), pkg_node_name(d), arrow_dir)) - print_pkg_deps(depth+1, d) + print_pkg_deps(depth + 1, d) + # Start printing the graph data outfile.write("digraph G {\n") diff --git a/support/scripts/mkusers b/support/scripts/mkusers index 5bbec3e10f..d00ba33823 100755 --- a/support/scripts/mkusers +++ b/support/scripts/mkusers @@ -75,6 +75,14 @@ get_gid() { '$1 == group { printf( "%d\n", $3 ); }' "${GROUP}" } +#---------------------------------------------------------------------------- +get_members() { + local group="${1}" + + awk -F: -v group="${group}" \ + '$1 == group { printf( "%s\n", $4 ); }' "${GROUP}" +} + #---------------------------------------------------------------------------- get_username() { local uid="${1}" @@ -211,16 +219,17 @@ generate_gid() { add_one_group() { local group="${1}" local gid="${2}" - local _f + local members # Generate a new GID if needed if [ ${gid} -eq -1 ]; then gid="$( generate_gid "${group}" )" fi + members=$(get_members "$group") # Remove any previous instance of this group, and re-add the new one sed -i --follow-symlinks -e '/^'"${group}"':.*/d;' "${GROUP}" - printf "%s:x:%d:\n" "${group}" "${gid}" >>"${GROUP}" + printf "%s:x:%d:%s\n" "${group}" "${gid}" "${members}" >>"${GROUP}" # Ditto for /etc/gshadow if it exists if [ -f "${GSHADOW}" ]; then diff --git a/support/scripts/pycompile.py b/support/scripts/pycompile.py index 8e164ab9d1..9192a7016a 100644 --- a/support/scripts/pycompile.py +++ b/support/scripts/pycompile.py @@ -12,6 +12,7 @@ import py_compile import compileall import argparse + def check_for_errors(comparison): '''Wrap comparison operator with code checking for PyCompileError. If PyCompileError was raised, re-raise it again to abort execution, @@ -28,6 +29,7 @@ def check_for_errors(comparison): return operator + class ReportProblem(int): '''Class that pretends to be an int() object but implements all of its comparison operators such that it'd detect being called in @@ -55,6 +57,7 @@ class ReportProblem(int): def __ne__(self, other): return not self == other + parser = argparse.ArgumentParser(description='Compile Python source files in a directory tree.') parser.add_argument("target", metavar='DIRECTORY', help='Directory to scan') diff --git a/support/scripts/size-stats b/support/scripts/size-stats index 3ff2a1ce18..deea92e278 100755 --- a/support/scripts/size-stats +++ b/support/scripts/size-stats @@ -35,6 +35,7 @@ except ImportError: colors = ['#e60004', '#009836', '#2e1d86', '#ffed00', '#0068b5', '#f28e00', '#940084', '#97c000'] + # # This function adds a new file to 'filesdict', after checking its # size. The 'filesdict' contain the relative path of the file as the @@ -54,6 +55,7 @@ def add_file(filesdict, relpath, abspath, pkg): sz = os.stat(abspath).st_size filesdict[relpath] = (pkg, sz) + # # This function returns a dict where each key is the path of a file in # the root filesystem, and the value is a tuple containing two @@ -73,6 +75,7 @@ def build_package_dict(builddir): add_file(filesdict, fpath, fullpath, pkg) return filesdict + # # This function builds a dictionary that contains the name of a # package as key, and the size of the files installed by this package @@ -103,7 +106,7 @@ def build_package_size(filesdict, builddir): seeninodes.add(st.st_ino) frelpath = os.path.relpath(fpath, os.path.join(builddir, "target")) - if not frelpath in filesdict: + if frelpath not in filesdict: print("WARNING: %s is not part of any package" % frelpath) pkg = "unknown" else: @@ -113,6 +116,7 @@ def build_package_size(filesdict, builddir): return pkgsize + # # Given a dict returned by build_package_size(), this function # generates a pie chart of the size installed by each package. @@ -127,7 +131,7 @@ def draw_graph(pkgsize, outputf): labels = [] values = [] other_value = 0 - for (p, sz) in pkgsize.items(): + for (p, sz) in sorted(pkgsize.items(), key=lambda x: x[1]): if sz < (total * 0.01): other_value += sz else: @@ -150,6 +154,7 @@ def draw_graph(pkgsize, outputf): plt.title("Total filesystem size: %d kB" % (total / 1000.), fontsize=10, y=.96) plt.savefig(outputf) + # # Generate a CSV file with statistics about the size of each file, its # size contribution to the package and to the overall system. @@ -208,6 +213,7 @@ def gen_packages_csv(pkgsizes, outputf): for (pkg, size) in pkgsizes.items(): wr.writerow([pkg, size, "%.1f" % (float(size) / total * 100)]) + parser = argparse.ArgumentParser(description='Draw size statistics graphs') parser.add_argument("--builddir", '-i', metavar="BUILDDIR", required=True, diff --git a/support/testing/conf/minimal-x86-qemu-kernel.config b/support/testing/conf/minimal-x86-qemu-kernel.config index 4aaaab7218..cc8ee6a713 100644 --- a/support/testing/conf/minimal-x86-qemu-kernel.config +++ b/support/testing/conf/minimal-x86-qemu-kernel.config @@ -43,6 +43,7 @@ CONFIG_VIRTIO_MMIO=y CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y CONFIG_EXT4_FS=y CONFIG_ISO9660_FS=y +CONFIG_ZISOFS=y CONFIG_JOLIET=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y diff --git a/support/testing/tests/boot/__init__.py b/support/testing/tests/boot/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/support/testing/tests/boot/test_atf.py b/support/testing/tests/boot/test_atf.py new file mode 100644 index 0000000000..75cea01fc8 --- /dev/null +++ b/support/testing/tests/boot/test_atf.py @@ -0,0 +1,82 @@ +import infra.basetest + + +class TestATFVexpress(infra.basetest.BRTest): + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v1.5" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="juno" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y + BR2_TARGET_UBOOT=y + BR2_TARGET_UBOOT_BOARDNAME="vexpress_aemv8a_juno" + BR2_TARGET_UBOOT_CUSTOM_VERSION=y + BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.03" + BR2_TARGET_VEXPRESS_FIRMWARE=y + """ + + def test_run(self): + pass + + +class TestATFAllwinner(infra.basetest.BRTest): + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/apritzel/arm-trusted-firmware.git" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50iw1p1" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="aa75c8da415158a94b82a430b2b40000778e851f" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y + BR2_TARGET_UBOOT=y + BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y + BR2_TARGET_UBOOT_CUSTOM_VERSION=y + BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" + BR2_TARGET_UBOOT_BOARD_DEFCONFIG="bananapi_m64" + BR2_TARGET_UBOOT_NEEDS_DTC=y + BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y + BR2_TARGET_UBOOT_FORMAT_CUSTOM=y + BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" + BR2_TARGET_UBOOT_SPL=y + BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin" + """ + + def test_run(self): + pass + + +class TestATFMarvell(infra.basetest.BRTest): + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/MarvellEmbeddedProcessors/atf-marvell.git" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="43965481990fd92e9666cf9371a8cf478055ec7c" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="a80x0_mcbin" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="USE_COHERENT_MEM=0" + BR2_TARGET_BINARIES_MARVELL=y + BR2_TARGET_BINARIES_MARVELL_8040=y + BR2_TARGET_MV_DDR_MARVELL=y + BR2_TARGET_UBOOT=y + BR2_TARGET_UBOOT_BOARDNAME="mvebu_mcbin-88f8040" + BR2_TARGET_UBOOT_CUSTOM_VERSION=y + BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" + BR2_TARGET_UBOOT_NEEDS_DTC=y + """ + + def test_run(self): + pass diff --git a/support/testing/tests/core/device_table2.txt b/support/testing/tests/core/device_table2.txt new file mode 100644 index 0000000000..f8323217f3 --- /dev/null +++ b/support/testing/tests/core/device_table2.txt @@ -0,0 +1,7 @@ +# +/usr/sbin/getcap f 755 0 0 - - - - - +|xattr cap_sys_nice+eip +# leading spaces are ignored for xattr + |xattr cap_kill+eip +# leading tabs are ignored for xattr + |xattr cap_sys_time+eip diff --git a/support/testing/tests/core/post-build.sh b/support/testing/tests/core/post-build.sh index b1fb834bc5..f3d0dbe511 100755 --- a/support/testing/tests/core/post-build.sh +++ b/support/testing/tests/core/post-build.sh @@ -9,4 +9,4 @@ printf "HOST_DIR,%s\n" "${HOST_DIR}" printf "STAGING_DIR,%s\n" "${STAGING_DIR}" printf "BINARIES_DIR,%s\n" "${BINARIES_DIR}" printf "BR2_CONFIG,%s\n" "${BR2_CONFIG}" -) > ${BUILD_DIR}/post-build.log +) > ${BUILD_DIR}/$(basename "${0}" .sh).log diff --git a/support/testing/tests/core/post-fakeroot.sh b/support/testing/tests/core/post-fakeroot.sh new file mode 120000 index 0000000000..d680fccafc --- /dev/null +++ b/support/testing/tests/core/post-fakeroot.sh @@ -0,0 +1 @@ +post-build.sh \ No newline at end of file diff --git a/support/testing/tests/core/post-image.sh b/support/testing/tests/core/post-image.sh deleted file mode 100755 index 1c2a0f2c89..0000000000 --- a/support/testing/tests/core/post-image.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -( -printf "arg1,%s\n" "${1}" -printf "arg2,%s\n" "${2}" -printf "arg3,%s\n" "${3}" -printf "TARGET_DIR,%s\n" "${TARGET_DIR}" -printf "BUILD_DIR,%s\n" "${BUILD_DIR}" -printf "HOST_DIR,%s\n" "${HOST_DIR}" -printf "STAGING_DIR,%s\n" "${STAGING_DIR}" -printf "BINARIES_DIR,%s\n" "${BINARIES_DIR}" -printf "BR2_CONFIG,%s\n" "${BR2_CONFIG}" -) > ${BUILD_DIR}/post-image.log diff --git a/support/testing/tests/core/post-image.sh b/support/testing/tests/core/post-image.sh new file mode 120000 index 0000000000..d680fccafc --- /dev/null +++ b/support/testing/tests/core/post-image.sh @@ -0,0 +1 @@ +post-build.sh \ No newline at end of file diff --git a/support/testing/tests/core/squashfs-xattr-kernel.config b/support/testing/tests/core/squashfs-xattr-kernel.config new file mode 100644 index 0000000000..81b21b94c5 --- /dev/null +++ b/support/testing/tests/core/squashfs-xattr-kernel.config @@ -0,0 +1 @@ +CONFIG_SQUASHFS_XATTR=y diff --git a/support/testing/tests/core/test_file_capabilities.py b/support/testing/tests/core/test_file_capabilities.py new file mode 100644 index 0000000000..945b48a4c3 --- /dev/null +++ b/support/testing/tests/core/test_file_capabilities.py @@ -0,0 +1,47 @@ +import os +import subprocess + +import infra.basetest + + +class TestFileCapabilities(infra.basetest.BRTest): + config = \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt {}" + BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" + BR2_PACKAGE_LIBCAP=y + BR2_PACKAGE_LIBCAP_TOOLS=y + BR2_TARGET_ROOTFS_SQUASHFS=y + # BR2_TARGET_ROOTFS_TAR is not set + """.format(infra.filepath("tests/core/device_table2.txt"), + infra.filepath("tests/core/squashfs-xattr-kernel.config")) + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.squashfs") + subprocess.call(["truncate", "-s", "%1M", img]) + + self.emulator.boot(arch="armv7", + kernel=os.path.join(self.builddir, "images", "zImage"), + kernel_cmdline=["root=/dev/mmcblk0", + "rootfstype=squashfs"], + options=["-drive", "file={},if=sd,format=raw".format(img), + "-M", "vexpress-a9", + "-dtb", os.path.join(self.builddir, "images", "vexpress-v2p-ca9.dtb")]) + self.emulator.login() + + cmd = "getcap -v /usr/sbin/getcap" + output, _ = self.emulator.run(cmd) + self.assertIn("cap_kill", output[0]) + self.assertIn("cap_sys_nice", output[0]) + self.assertIn("cap_sys_time", output[0]) + self.assertIn("+eip", output[0]) diff --git a/support/testing/tests/core/test_post_scripts.py b/support/testing/tests/core/test_post_scripts.py index 1db568b0d6..edb339d8c4 100644 --- a/support/testing/tests/core/test_post_scripts.py +++ b/support/testing/tests/core/test_post_scripts.py @@ -11,9 +11,11 @@ class TestPostScripts(infra.basetest.BRTest): BR2_SYSTEM_BIN_SH_NONE=y # BR2_PACKAGE_BUSYBOX is not set BR2_ROOTFS_POST_BUILD_SCRIPT="{}" + BR2_ROOTFS_POST_FAKEROOT_SCRIPT="{}" BR2_ROOTFS_POST_IMAGE_SCRIPT="{}" BR2_ROOTFS_POST_SCRIPT_ARGS="foobar baz" """.format(infra.filepath("tests/core/post-build.sh"), + infra.filepath("tests/core/post-fakeroot.sh"), infra.filepath("tests/core/post-image.sh")) def check_post_log_file(self, path, what): @@ -37,5 +39,7 @@ class TestPostScripts(infra.basetest.BRTest): def test_run(self): f = os.path.join(self.builddir, "build", "post-build.log") self.check_post_log_file(f, "target") + f = os.path.join(self.builddir, "build", "post-fakeroot.log") + self.check_post_log_file(f, "target") f = os.path.join(self.builddir, "build", "post-image.log") self.check_post_log_file(f, "images") diff --git a/support/testing/tests/fs/test_iso9660.py b/support/testing/tests/fs/test_iso9660.py index 5d945a347a..68f4840852 100644 --- a/support/testing/tests/fs/test_iso9660.py +++ b/support/testing/tests/fs/test_iso9660.py @@ -67,6 +67,27 @@ class TestIso9660Grub2External(infra.basetest.BRTest): self.assertEqual(exit_code, 1) +class TestIso9660Grub2ExternalCompress(infra.basetest.BRTest): + config = BASIC_CONFIG + \ + """ + BR2_TARGET_ROOTFS_ISO9660=y + # BR2_TARGET_ROOTFS_ISO9660_INITRD is not set + BR2_TARGET_ROOTFS_ISO9660_TRANSPARENT_COMPRESSION=y + BR2_TARGET_GRUB2=y + BR2_TARGET_GRUB2_BOOT_PARTITION="cd" + BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat part_msdos part_gpt normal biosdisk iso9660" + BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="{}" + """.format(infra.filepath("conf/grub2.cfg")) + + def test_run(self): + exit_code = test_mount_internal_external(self.emulator, + self.builddir, internal=False) + self.assertEqual(exit_code, 0) + + exit_code = test_touch_file(self.emulator) + self.assertEqual(exit_code, 1) + + class TestIso9660Grub2Internal(infra.basetest.BRTest): config = BASIC_CONFIG + \ """ @@ -109,6 +130,26 @@ class TestIso9660SyslinuxExternal(infra.basetest.BRTest): self.assertEqual(exit_code, 1) +class TestIso9660SyslinuxExternalCompress(infra.basetest.BRTest): + config = BASIC_CONFIG + \ + """ + BR2_TARGET_ROOTFS_ISO9660=y + # BR2_TARGET_ROOTFS_ISO9660_INITRD is not set + BR2_TARGET_ROOTFS_ISO9660_TRANSPARENT_COMPRESSION=y + BR2_TARGET_ROOTFS_ISO9660_HYBRID=y + BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="{}" + BR2_TARGET_SYSLINUX=y + """.format(infra.filepath("conf/isolinux.cfg")) + + def test_run(self): + exit_code = test_mount_internal_external(self.emulator, + self.builddir, internal=False) + self.assertEqual(exit_code, 0) + + exit_code = test_touch_file(self.emulator) + self.assertEqual(exit_code, 1) + + class TestIso9660SyslinuxInternal(infra.basetest.BRTest): config = BASIC_CONFIG + \ """ diff --git a/support/testing/tests/init/test_systemd.py b/support/testing/tests/init/test_systemd.py index 48fac1490f..a324ba8569 100644 --- a/support/testing/tests/init/test_systemd.py +++ b/support/testing/tests/init/test_systemd.py @@ -21,6 +21,18 @@ class InitSystemSystemdBase(InitSystemBase): def check_init(self): super(InitSystemSystemdBase, self).check_init("/lib/systemd/systemd") + # Test all units are OK + output, _ = self.emulator.run("systemctl --no-pager --failed --no-legend") + self.assertEqual(len(output), 0) + + # Test we can reach the DBus daemon + _, exit_code = self.emulator.run("busctl --no-pager") + self.assertEqual(exit_code, 0) + + # Test we can read at least one line from the journal + output, _ = self.emulator.run("journalctl --no-pager --lines 1 --quiet") + self.assertEqual(len(output), 1) + class TestInitSystemSystemdRoNetworkd(InitSystemSystemdBase): config = InitSystemSystemdBase.config + \ diff --git a/support/testing/tests/package/test_rust.py b/support/testing/tests/package/test_rust.py new file mode 100644 index 0000000000..2dc814f99d --- /dev/null +++ b/support/testing/tests/package/test_rust.py @@ -0,0 +1,114 @@ +import os +import tempfile +import subprocess +import shutil + +import infra.basetest + + +class TestRustBase(infra.basetest.BRTest): + + target = 'armv7-unknown-linux-gnueabihf' + crate = 'hello-world' + + def login(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv7", + kernel="builtin", + options=["-initrd", img]) + self.emulator.login() + + def build_test_prog(self): + hostdir = os.path.join(self.builddir, 'host') + env = os.environ.copy() + env["USER"] = "br-user" + env["PATH"] = "{}:".format(os.path.join(hostdir, 'bin')) + env["PATH"] + env["CARGO_HOME"] = os.path.join(hostdir, 'usr', 'share', 'cargo') + env["RUST_TARGET_PATH"] = os.path.join(hostdir, 'etc', 'rustc') + cargo = os.path.join(hostdir, 'bin', 'cargo') + workdir = os.path.join(tempfile.mkdtemp(suffix='-br2-testing-rust'), + self.crate) + manifest = os.path.join(workdir, 'Cargo.toml') + prog = os.path.join(workdir, 'target', self.target, 'debug', self.crate) + + cmd = [cargo, 'init', '--bin', '--vcs', 'none', '-vv', workdir] + ret = subprocess.call(cmd, + stdout=self.b.logfile, + stderr=self.b.logfile, + env=env) + if ret != 0: + raise SystemError("Cargo init failed") + + cmd = [ + cargo, 'build', '-vv', '--target', self.target, + '--manifest-path', manifest + ] + ret = subprocess.call(cmd, + stdout=self.b.logfile, + stderr=self.b.logfile, + env=env) + if ret != 0: + raise SystemError("Cargo build failed") + + shutil.copy(prog, os.path.join(self.builddir, 'target', 'usr', 'bin')) + self.b.build() + shutil.rmtree(workdir) + + +class TestRustBin(TestRustBase): + config = \ + """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_NEON=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_SYSTEM_DHCP="eth0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_PACKAGE_HOST_CARGO=y + BR2_PACKAGE_HOST_RUSTC=y + """ + + def test_run(self): + self.build_test_prog() + self.login() + _, exit_code = self.emulator.run(self.crate) + self.assertEqual(exit_code, 0) + + +class TestRust(TestRustBase): + config = \ + """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_NEON=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_SYSTEM_DHCP="eth0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_PACKAGE_HOST_CARGO=y + BR2_PACKAGE_HOST_RUSTC=y + BR2_PACKAGE_HOST_RUST=y + """ + + def test_run(self): + self.build_test_prog() + self.login() + _, exit_code = self.emulator.run(self.crate) + self.assertEqual(exit_code, 0) diff --git a/system/Config.in b/system/Config.in index b9714923c4..d48cf8d8c4 100644 --- a/system/Config.in +++ b/system/Config.in @@ -355,12 +355,16 @@ config BR2_TARGET_GENERIC_GETTY_BAUDRATE config BR2_TARGET_GENERIC_GETTY_TERM string "TERM environment variable" default "vt100" + # currently observed only by busybox and sysvinit + depends on BR2_INIT_BUSYBOX || BR2_INIT_SYSV help Specify a TERM type. config BR2_TARGET_GENERIC_GETTY_OPTIONS string "other options to pass to getty" default "" + # currently observed only by busybox and sysvinit + depends on BR2_INIT_BUSYBOX || BR2_INIT_SYSV help Any other flags you want to pass to getty, Refer to getty --help for details. diff --git a/system/skeleton/etc/profile b/system/skeleton/etc/profile index 3a97427fdf..1255d23ff4 100644 --- a/system/skeleton/etc/profile +++ b/system/skeleton/etc/profile @@ -8,7 +8,7 @@ if [ "$PS1" ]; then fi fi -export PAGER='/bin/more ' +export PAGER='/bin/more' export EDITOR='/bin/vi' # Source configuration files from /etc/profile.d @@ -16,5 +16,5 @@ for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then . $i fi - unset i done +unset i diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk index 63ef6fb4b0..1792286add 100644 --- a/toolchain/helpers.mk +++ b/toolchain/helpers.mk @@ -421,7 +421,7 @@ check_unusable_toolchain = \ # check_toolchain_ssp = \ __CROSS_CC=$(strip $1) ; \ - __HAS_SSP=`echo 'void main(){}' | $${__CROSS_CC} -fstack-protector -x c - -o $(BUILD_DIR)/.br-toolchain-test.tmp >/dev/null 2>&1 && echo y` ; \ + __HAS_SSP=`echo 'void main(){}' | $${__CROSS_CC} -Werror -fstack-protector -x c - -o $(BUILD_DIR)/.br-toolchain-test.tmp >/dev/null 2>&1 && echo y` ; \ if [ "$(BR2_TOOLCHAIN_HAS_SSP)" != "y" -a "$${__HAS_SSP}" = "y" ] ; then \ echo "SSP support available in this toolchain, please enable BR2_TOOLCHAIN_EXTERNAL_HAS_SSP" ; \ exit 1 ; \ diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in index 25ab667927..3f576297aa 100644 --- a/toolchain/toolchain-buildroot/Config.in +++ b/toolchain/toolchain-buildroot/Config.in @@ -22,7 +22,7 @@ config BR2_TOOLCHAIN_BUILDROOT_VENDOR choice prompt "C library" - default BR2_TOOLCHAIN_UCLIBC + default BR2_TOOLCHAIN_BUILDROOT_UCLIBC default BR2_TOOLCHAIN_BUILDROOT_GLIBC if BR2_powerpc64 config BR2_TOOLCHAIN_BUILDROOT_UCLIBC @@ -52,6 +52,7 @@ config BR2_TOOLCHAIN_BUILDROOT_GLIBC depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 || !BR2_powerpc64le + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 || !BR2_MIPS_NAN_2008 depends on !BR2_powerpc_SPE select BR2_TOOLCHAIN_USES_GLIBC # our glibc.mk enables RPC support @@ -71,12 +72,17 @@ comment "glibc on powerpc64le needs a toolchain w/ headers >= 3.10" depends on BR2_powerpc64le depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 +# Support for MIPS NAN2008 needs headers >= 4.5 +comment "glibc on MIPS w/ NAN2008 needs a toolchain w/ headers >= 4.5" + depends on BR2_MIPS_NAN_2008 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 + config BR2_TOOLCHAIN_BUILDROOT_MUSL bool "musl" - depends on BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 || \ - BR2_microblaze || BR2_mips || BR2_mipsel || BR2_mips64 || \ - BR2_mips64el || BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ - BR2_sh || BR2_x86_64 + depends on BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 || \ + BR2_microblaze || BR2_mips || BR2_mipsel || BR2_mips64 || \ + BR2_mips64el || BR2_or1k || BR2_powerpc || BR2_powerpc64 || \ + BR2_powerpc64le || BR2_sh || BR2_x86_64 depends on !BR2_powerpc_SPE # not supported, build breaks # sh2 nommu is supported by musl, but we don't have support # for it in Buildroot. diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in index d87d4d7657..8941e0f3cd 100644 --- a/toolchain/toolchain-common.in +++ b/toolchain/toolchain-common.in @@ -22,6 +22,7 @@ config BR2_TOOLCHAIN_HAS_GCC_BUG_64735 default y if BR2_ARM_CPU_ARMV4 default y if BR2_ARM_CPU_ARMV5 default y if BR2_sparc_v8 + default y if BR2_m68k_cf5208 depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 config BR2_TOOLCHAIN_HAS_NATIVE_RPC @@ -253,10 +254,20 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 bool select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + # This order guarantees that the highest version is set, as kconfig # stops affecting a value on the first matching default. config BR2_TOOLCHAIN_HEADERS_AT_LEAST string + default "4.15" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 + default "4.14" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 default "4.13" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 default "4.12" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 default "4.11" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 @@ -351,10 +362,6 @@ config BR2_TOOLCHAIN_HAS_MNAN_OPTION bool default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 -config BR2_TOOLCHAIN_HAS_MFPXX_OPTION - bool - default y if BR2_TOOLCHAIN_GCC_AT_LEAST_5 - config BR2_TOOLCHAIN_HAS_SYNC_1 bool default y diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk index 393ff85c63..3bf9fac412 100644 --- a/toolchain/toolchain-external/pkg-toolchain-external.mk +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk @@ -71,18 +71,13 @@ else TOOLCHAIN_EXTERNAL_INSTALL_DIR = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PATH)) endif -# If binary path unset (known, supported external toolchains), use "bin". -TOOLCHAIN_EXTERNAL_REL_BIN_PATH = $(or \ - $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_REL_BIN_PATH)), \ - bin) - ifeq ($(TOOLCHAIN_EXTERNAL_INSTALL_DIR),) ifneq ($(TOOLCHAIN_EXTERNAL_PREFIX),) # if no path set, figure it out from path TOOLCHAIN_EXTERNAL_BIN := $(dir $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc)) endif else -TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/$(TOOLCHAIN_EXTERNAL_REL_BIN_PATH) +TOOLCHAIN_EXTERNAL_BIN = $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/bin endif # If this is a buildroot toolchain, it already has a wrapper which we want to @@ -113,10 +108,10 @@ endif # Definitions of the list of libraries that should be copied to the target. # -TOOLCHAIN_EXTERNAL_LIBS += ld*.so* libgcc_s.so.* +TOOLCHAIN_EXTERNAL_LIBS += ld*.so* libgcc_s.so.* libatomic.so.* ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GLIBC)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y) -TOOLCHAIN_EXTERNAL_LIBS += libatomic.so.* libc.so.* libcrypt.so.* libdl.so.* libm.so.* libnsl.so.* libresolv.so.* librt.so.* libutil.so.* +TOOLCHAIN_EXTERNAL_LIBS += libc.so.* libcrypt.so.* libdl.so.* libm.so.* libnsl.so.* libresolv.so.* librt.so.* libutil.so.* ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) TOOLCHAIN_EXTERNAL_LIBS += libpthread.so.* ifneq ($(BR2_PACKAGE_GDB)$(BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY),) diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in index e29c4dcb87..8b2eab0ad2 100644 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in @@ -1,6 +1,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS bool "Codescape IMG GNU Linux Toolchain 2016.05" depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT) select BR2_TOOLCHAIN_EXTERNAL_GLIBC diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in index efe6f8527e..db191fd1be 100644 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in @@ -1,6 +1,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS bool "Codescape MTI GNU Linux Toolchain 2016.05" depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \ BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT) diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in index 66a032e9ac..24cbcffa29 100644 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in @@ -1,6 +1,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 bool "CodeSourcery AArch64 2014.11" depends on BR2_aarch64 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5 # a57/a53 and a72/a53 appeared in gcc-6 or were broken before depends on !BR2_cortex_a57_a53 && !BR2_cortex_a72_a53 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in index 101e227af9..50c5a20019 100644 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in @@ -1,6 +1,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 bool "Sourcery CodeBench AMD64 2016.11" depends on BR2_x86_64 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on !BR2_STATIC_LIBS depends on BR2_x86_jaguar || BR2_x86_steamroller diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in index e1a7891007..bdbe2acaea 100644 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in @@ -1,14 +1,11 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM bool "Sourcery CodeBench ARM 2014.05" depends on BR2_arm - # a15/a7 appeared in gcc-4.9, a17/a7 in gcc-5, a57/a53 and a72/a53 - # in gcc-6, or they each were broken earlier than that. - depends on !BR2_cortex_a15_a7 && !BR2_cortex_a17_a7 - depends on !BR2_cortex_a57_53 && !BR2_cortex_a72_53 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_ARM_EABI # Unsupported ARM cores - depends on !BR2_cortex_a12 && !BR2_cortex_a17 && !BR2_ARM_CPU_ARMV8 + depends on !BR2_cortex_a12 && !BR2_cortex_a17 && !BR2_ARM_CPU_ARMV8A depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP @@ -35,5 +32,6 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM comment "Sourcery CodeBench toolchains available for the EABI ABI" depends on BR2_arm + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 depends on !BR2_ARM_EABI depends on !BR2_STATIC_LIBS diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in index 6a13ae6cd6..734f0e4c7c 100644 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in @@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS bool "Sourcery CodeBench MIPS 2016.05" depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6 # Unsupported MIPS cores depends on !BR2_mips_interaptiv depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" @@ -89,5 +90,6 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS Select BR2_SOFT_FLOAT comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6 depends on BR2_MIPS_NABI32 depends on !BR2_STATIC_LIBS diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in index 341bc2ab44..4ac9c95c86 100644 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in @@ -1,10 +1,10 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII bool "Sourcery CodeBench Nios-II 2017.05" depends on BR2_nios2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP select BR2_HOSTARCH_NEEDS_IA32_LIBS diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options index e10cc857d8..70c7d8e3c3 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -12,20 +12,17 @@ config BR2_TOOLCHAIN_EXTERNAL_URL help URL of the custom toolchain tarball to download and install. -config BR2_TOOLCHAIN_EXTERNAL_REL_BIN_PATH - string "Toolchain relative bin path" - default "bin" - depends on BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD - help - Path to where the binaries (e.g. the compiler) can be found, - relative to the downloaded toolchain root directory. - config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX string "Toolchain prefix" default "$(ARCH)-linux" choice bool "External toolchain gcc version" + default BR2_TOOLCHAIN_EXTERNAL_GCC_7 if BR2_ARCH_NEEDS_GCC_AT_LEAST_7 + default BR2_TOOLCHAIN_EXTERNAL_GCC_6 if BR2_ARCH_NEEDS_GCC_AT_LEAST_6 + default BR2_TOOLCHAIN_EXTERNAL_GCC_5 if BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + default BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 + default BR2_TOOLCHAIN_EXTERNAL_GCC_4_8 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3 help Set to the gcc version that is used by your external @@ -37,42 +34,52 @@ config BR2_TOOLCHAIN_EXTERNAL_GCC_7 config BR2_TOOLCHAIN_EXTERNAL_GCC_6 bool "6.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 select BR2_TOOLCHAIN_GCC_AT_LEAST_6 config BR2_TOOLCHAIN_EXTERNAL_GCC_5 bool "5.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6 select BR2_TOOLCHAIN_GCC_AT_LEAST_5 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 bool "4.9.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8 bool "4.8.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7 bool "4.7.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6 bool "4.6.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5 bool "4.5.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4 bool "4.4.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3 bool "4.3.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD bool "older" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 help Use this option if your GCC version is older than any of the above. @@ -101,6 +108,14 @@ choice m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_15 + bool "4.15.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14 + bool "4.14.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13 bool "4.13.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in index 5f66f56662..9134c27f3b 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in @@ -1,5 +1,5 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 - bool "Linaro AArch64 2017.08" + bool "Linaro AArch64 2017.11" depends on BR2_aarch64 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on !BR2_STATIC_LIBS @@ -7,8 +7,8 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_7 select BR2_TOOLCHAIN_HAS_FORTRAN help Toolchain for the AArch64 architecture, from diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash index 2360280e95..fb24f1b34b 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6365480ab93e30185ffd33070b9332e0caa2c3c0813dd71bfbc83d300b76b4c9 gcc-linaro-6.4.1-2017.08-i686_aarch64-linux-gnu.tar.xz -sha256 f507d071c6969665e26c595d6d952d7b18eb11609a71cb6debbafb55d700522a gcc-linaro-6.4.1-2017.08-x86_64_aarch64-linux-gnu.tar.xz +sha256 3130033eaf18d7f7d775aa8ade1c7044683b0db6f332cae29cab7d1caaee97ed gcc-linaro-7.2.1-2017.11-i686_aarch64-linux-gnu.tar.xz +sha256 20181f828e1075f1a493947ff91e82dd578ce9f8638fbdfc39e24b62857d8f8d gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk index 6053ea78a6..93e00669eb 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk @@ -4,13 +4,13 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION = 2017.08 -TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SITE = https://releases.linaro.org/components/toolchain/binaries/6.4-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)/aarch64-linux-gnu +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION = 2017.11 +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SITE = https://releases.linaro.org/components/toolchain/binaries/7.2-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)/aarch64-linux-gnu ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-6.4.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-i686_aarch64-linux-gnu.tar.xz +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-7.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-i686_aarch64-linux-gnu.tar.xz else -TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-6.4.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-x86_64_aarch64-linux-gnu.tar.xz +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-7.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-x86_64_aarch64-linux-gnu.tar.xz endif $(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in index fd4e03b2bc..d383273c1b 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in +++ b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in @@ -4,9 +4,9 @@ comment "Linaro toolchains available for Cortex-A + EABIhf" depends on !BR2_STATIC_LIBS config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM - bool "Linaro ARM 2017.08" + bool "Linaro ARM 2017.11" depends on BR2_arm - depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8 + depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_ARM_EABIHF depends on !BR2_STATIC_LIBS @@ -14,13 +14,13 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_7 select BR2_TOOLCHAIN_HAS_FORTRAN help Linaro toolchain for the ARM architecture. It uses Linaro - GCC 2017.08 (based on gcc 6.4.1), Linaro GDB 2017.08 (based on - GDB 8.0), glibc 2.23, Binutils 2017.08 (based on 2.27). It + GCC 2017.11 (based on gcc 7.2.1), Linaro GDB 2017.11 (based on + GDB 8.0), glibc 2.25, Binutils 2017.11 (based on 2.28). It generates code that runs on all Cortex-A profile devices, but tuned for the Cortex-A9. The code generated is Thumb 2, with the hard floating point calling convention, and uses diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash b/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash index 664663df05..352cbb25c5 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash +++ b/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a99029dff3d17d28c89831f2cd2aa37752c2f85fe89fe38fdd17971c36a9f1dc gcc-linaro-6.4.1-2017.08-i686_arm-linux-gnueabihf.tar.xz -sha256 1c975a1936cc966099b3fcaff8f387d748caff27f43593214ae6d4601241ae40 gcc-linaro-6.4.1-2017.08-x86_64_arm-linux-gnueabihf.tar.xz +sha256 72919a3a99d4e28309bc8b0e615f44c65824ef012de50db3ffe9a34776e6f510 gcc-linaro-7.2.1-2017.11-i686_arm-linux-gnueabihf.tar.xz +sha256 cee0087b1f1205b73996651b99acd3a926d136e71047048f1758ffcec69b1ca2 gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk b/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk index a165184b5b..5437fe2d07 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk +++ b/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk @@ -4,13 +4,13 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION = 2017.08 -TOOLCHAIN_EXTERNAL_LINARO_ARM_SITE = https://releases.linaro.org/components/toolchain/binaries/6.4-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)/arm-linux-gnueabihf +TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION = 2017.11 +TOOLCHAIN_EXTERNAL_LINARO_ARM_SITE = https://releases.linaro.org/components/toolchain/binaries/7.2-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)/arm-linux-gnueabihf ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-6.4.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-i686_arm-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-7.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-i686_arm-linux-gnueabihf.tar.xz else -TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-6.4.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-x86_64_arm-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-7.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-x86_64_arm-linux-gnueabihf.tar.xz endif $(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in index 5fb7eb5c1d..a3dd3c9035 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in +++ b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in @@ -4,9 +4,9 @@ comment "Linaro toolchains available for Cortex-A + EABIhf" depends on !BR2_STATIC_LIBS config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB - bool "Linaro armeb 2017.08" + bool "Linaro armeb 2017.11" depends on BR2_armeb - depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8 + depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_ARM_EABIHF depends on !BR2_STATIC_LIBS @@ -14,13 +14,13 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_7 help Linaro toolchain for the ARM big endian architecture. It - uses Linaro GCC 2017.08 (based on gcc 6.4.1), Linaro GDB - 2017.08 (based on GDB 8.0), glibc 2.23, Binutils 2017.08 - (based on 2.27). It generates code that runs on all Cortex-A + uses Linaro GCC 2017.11 (based on gcc 7.2.1), Linaro GDB + 2017.11 (based on GDB 8.0), glibc 2.25, Binutils 2017.11 + (based on 2.28). It generates code that runs on all Cortex-A profile devices, but tuned for the Cortex-A9. The code generated is Thumb 2, with the hard floating point calling convention, and uses the VFPv3-D16 FPU instructions. diff --git a/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash b/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash index c70d64047f..c61611c0c6 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash +++ b/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7472ed65dd73945d4574e30fd2d26ef15d65b309dee83aaaf5a97df8fe3a94c7 gcc-linaro-6.4.1-2017.08-i686_armeb-linux-gnueabihf.tar.xz -sha256 97a0de6ce7a77a2df7398e907621242752e6e5f1787772d7b308c82a3a039fab gcc-linaro-6.4.1-2017.08-x86_64_armeb-linux-gnueabihf.tar.xz +sha256 1337734b61fa246ab20a371d2802d09ad80d7b17eb62327b3b69b9edfb6bc4a1 gcc-linaro-7.2.1-2017.11-i686_armeb-linux-gnueabihf.tar.xz +sha256 c313149b6ea14e31f643aeee39e1460ae4245b75c75befd042ff4b63a07971c0 gcc-linaro-7.2.1-2017.11-x86_64_armeb-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk b/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk index ff2c5d6078..1daa1c93a5 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk +++ b/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk @@ -4,13 +4,14 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION = 2017.08 -TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SITE = https://releases.linaro.org/components/toolchain/binaries/6.4-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)/armeb-linux-gnueabihf +TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION = 2017.11 + +TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SITE = https://releases.linaro.org/components/toolchain/binaries/7.2-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)/armeb-linux-gnueabihf ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-6.4.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-i686_armeb-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-7.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-i686_armeb-linux-gnueabihf.tar.xz else -TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-6.4.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-x86_64_armeb-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-7.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-x86_64_armeb-linux-gnueabihf.tar.xz endif $(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in index f438ea765d..fefbb47b1e 100644 --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in @@ -1,18 +1,18 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC - bool "Synopsys ARC 2016.09 toolchain" + bool "Synopsys ARC 2017.09 toolchain" depends on BR2_arc + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 depends on BR2_HOSTARCH = "x86_64" select BR2_TOOLCHAIN_EXTERNAL_UCLIBC select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_ENABLE_LOCALE select BR2_USE_WCHAR select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 + select BR2_TOOLCHAIN_GCC_AT_LEAST_7 help Toolchain for the ARC cores, from https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash index c96f53b1f6..3479e18c6d 100644 --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash @@ -1,5 +1,5 @@ -# Locally calculated -sha256 9123e35510cc9105e5f9468d5154e0093770d7c11ed771c1a595ecf813692baf arc_gnu_2016.09_prebuilt_uclibc_le_arc700_linux_install.tar.gz -sha256 3140066cdbda2df7ed0fb60424bbd9db740fb25393928e733234b0bf65508df2 arc_gnu_2016.09_prebuilt_uclibc_be_arc700_linux_install.tar.gz -sha256 aa6edb2101b13df3ac59f8d8ccbcfba37a6f7882f0e03baa9d9883480dbed4e7 arc_gnu_2016.09_prebuilt_uclibc_le_archs_linux_install.tar.gz -sha256 4de227bf73536a87784d88e5f10085b91ede62c76ef8fedf53b4bf2e215054cf arc_gnu_2016.09_prebuilt_uclibc_be_archs_linux_install.tar.gz +# From https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2017.09-release +sha256 ef74a7567a7341bc5e5d7bf6bcff64c2515be175d08a7def52df847583080ac2 arc_gnu_2017.09_prebuilt_uclibc_le_arc700_linux_install.tar.gz +sha256 8a7620dd7500641de40adb2ae490d90d53fcad01d13f77ba305fc00df32a26e3 arc_gnu_2017.09_prebuilt_uclibc_be_arc700_linux_install.tar.gz +sha256 ef7afba0da38cc08d863850f4987ebd16c71c8920c51990f490ad79389f102c1 arc_gnu_2017.09_prebuilt_uclibc_le_archs_linux_install.tar.gz +sha256 eab1d4872298008bd141104368ec0b7873af600a09704827f767ae57b067c874 arc_gnu_2017.09_prebuilt_uclibc_be_archs_linux_install.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk index f4cb7b73a1..d751934c11 100644 --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk @@ -4,7 +4,7 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION = 2016.09 +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION = 2017.09 TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_SITE = https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION)-release ifeq ($(BR2_arc750d)$(BR2_arc770d),y) diff --git a/toolchain/toolchain-wrapper.c b/toolchain/toolchain-wrapper.c index 2928ea42d0..c5eb813dd0 100644 --- a/toolchain/toolchain-wrapper.c +++ b/toolchain/toolchain-wrapper.c @@ -82,6 +82,9 @@ static char *predef_args[] = { #ifdef BR_NO_FUSED_MADD "-mno-fused-madd", #endif +#ifdef BR_FP_CONTRACT_OFF + "-ffp-contract=off", +#endif #ifdef BR_BINFMT_FLAT "-Wl,-elf2flt", #endif diff --git a/toolchain/toolchain-wrapper.mk b/toolchain/toolchain-wrapper.mk index 7f72a0cade..6e95545ebf 100644 --- a/toolchain/toolchain-wrapper.mk +++ b/toolchain/toolchain-wrapper.mk @@ -28,8 +28,14 @@ endif # Avoid FPU bug on XBurst CPUs ifeq ($(BR2_mips_xburst),y) +# Before gcc 4.6, -mno-fused-madd was needed, after -ffp-contract is +# needed +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_6),y) +TOOLCHAIN_WRAPPER_ARGS += -DBR_FP_CONTRACT_OFF +else TOOLCHAIN_WRAPPER_ARGS += -DBR_NO_FUSED_MADD endif +endif ifeq ($(BR2_CCACHE_USE_BASEDIR),y) TOOLCHAIN_WRAPPER_ARGS += -DBR_CCACHE_BASEDIR='"$(BASE_DIR)"' diff --git a/toolchain/toolchain/toolchain.mk b/toolchain/toolchain/toolchain.mk index b55b0c712c..179c09edf1 100644 --- a/toolchain/toolchain/toolchain.mk +++ b/toolchain/toolchain/toolchain.mk @@ -13,18 +13,18 @@ endif TOOLCHAIN_ADD_TOOLCHAIN_DEPENDENCY = NO # Apply a hack that Rick Felker suggested[1] to avoid conflicts between libc -# headers and kernel headers. This is a temporary measure until musl finds a -# better solution. +# headers and kernel headers. This is needed for kernel headers older than +# 4.15. Kernel headers 4.15 and newer don't require __GLIBC__ to be defined. # # Augment the original suggestion with __USE_MISC since recent kernels -# require this glibc internal macro. Also, as musl defines IFF_LOWER_UP, -# IFF_DORMANT and IFF_ECHO, add another macro to suppress them in the -# kernel header, and avoid macro/enum conflict. +# (older than 4.15) require this glibc internal macro. Also, as musl defines +# IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO, add another macro to suppress +# them in the kernel header, and avoid macro/enum conflict. # # Kernel version 3.12 introduced the libc-compat.h header. # # [1] http://www.openwall.com/lists/musl/2015/10/08/2 -ifeq ($(BR2_TOOLCHAIN_USES_MUSL)$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12),yy) +ifeq ($(BR2_TOOLCHAIN_USES_MUSL)$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12):$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15),yy:) define TOOLCHAIN_MUSL_KERNEL_HEADERS_COMPATIBILITY_HACK $(SED) 's/^#if defined(__GLIBC__)$$/#if 1/' \ $(STAGING_DIR)/usr/include/linux/libc-compat.h diff --git a/utils/checkpackagelib/lib_config.py b/utils/checkpackagelib/lib_config.py index 26ebb393d1..11d885f8c7 100644 --- a/utils/checkpackagelib/lib_config.py +++ b/utils/checkpackagelib/lib_config.py @@ -6,11 +6,10 @@ import re from base import _CheckFunction -# Notice: ignore 'imported but unused' from pyflakes for check functions. -from lib import ConsecutiveEmptyLines -from lib import EmptyLastLine -from lib import NewlineAtEof -from lib import TrailingSpace +from lib import ConsecutiveEmptyLines # noqa: F401 +from lib import EmptyLastLine # noqa: F401 +from lib import NewlineAtEof # noqa: F401 +from lib import TrailingSpace # noqa: F401 def _empty_or_comment(text): diff --git a/utils/checkpackagelib/lib_hash.py b/utils/checkpackagelib/lib_hash.py index c4d055ee22..6d4cc9fd62 100644 --- a/utils/checkpackagelib/lib_hash.py +++ b/utils/checkpackagelib/lib_hash.py @@ -6,11 +6,10 @@ import re from base import _CheckFunction -# Notice: ignore 'imported but unused' from pyflakes for check functions. -from lib import ConsecutiveEmptyLines -from lib import EmptyLastLine -from lib import NewlineAtEof -from lib import TrailingSpace +from lib import ConsecutiveEmptyLines # noqa: F401 +from lib import EmptyLastLine # noqa: F401 +from lib import NewlineAtEof # noqa: F401 +from lib import TrailingSpace # noqa: F401 def _empty_line_or_comment(text): diff --git a/utils/checkpackagelib/lib_mk.py b/utils/checkpackagelib/lib_mk.py index 6ed6011921..2df2e1a884 100644 --- a/utils/checkpackagelib/lib_mk.py +++ b/utils/checkpackagelib/lib_mk.py @@ -7,11 +7,10 @@ import re from base import _CheckFunction -# Notice: ignore 'imported but unused' from pyflakes for check functions. -from lib import ConsecutiveEmptyLines -from lib import EmptyLastLine -from lib import NewlineAtEof -from lib import TrailingSpace +from lib import ConsecutiveEmptyLines # noqa: F401 +from lib import EmptyLastLine # noqa: F401 +from lib import NewlineAtEof # noqa: F401 +from lib import TrailingSpace # noqa: F401 class Indent(_CheckFunction): @@ -99,6 +98,30 @@ class PackageHeader(_CheckFunction): text] +class RemoveDefaultPackageSourceVariable(_CheckFunction): + packages_that_may_contain_default_source = ["binutils", "gcc", "gdb"] + PACKAGE_NAME = re.compile("/([^/]+)\.mk") + + def before(self): + package = self.PACKAGE_NAME.search(self.filename).group(1) + package_upper = package.replace("-", "_").upper() + self.package = package + self.FIND_SOURCE = re.compile( + "^{}_SOURCE\s*=\s*{}-\$\({}_VERSION\)\.tar\.gz" + .format(package_upper, package, package_upper)) + + def check_line(self, lineno, text): + if self.FIND_SOURCE.search(text): + + if self.package in self.packages_that_may_contain_default_source: + return + + return ["{}:{}: remove default value of _SOURCE variable " + "({}#generic-package-reference)" + .format(self.filename, lineno, self.url_to_manual), + text] + + class SpaceBeforeBackslash(_CheckFunction): TAB_OR_MULTIPLE_SPACES_BEFORE_BACKSLASH = re.compile(r"^.*( |\t)\\$") @@ -216,7 +239,7 @@ class UselessFlag(_CheckFunction): .format(self.filename, lineno, self.url_to_manual), text] - if self.DEFAULT_AUTOTOOLS_FLAG.search(text): + if self.DEFAULT_AUTOTOOLS_FLAG.search(text) and not text.lstrip().startswith("HOST_"): return ["{}:{}: useless default value " "({}#_infrastructure_for_autotools_based_packages)" .format(self.filename, lineno, self.url_to_manual), diff --git a/utils/checkpackagelib/lib_patch.py b/utils/checkpackagelib/lib_patch.py index 591f13c494..555621afa1 100644 --- a/utils/checkpackagelib/lib_patch.py +++ b/utils/checkpackagelib/lib_patch.py @@ -6,8 +6,7 @@ import re from base import _CheckFunction -# Notice: ignore 'imported but unused' from pyflakes for check functions. -from lib import NewlineAtEof +from lib import NewlineAtEof # noqa: F401 class ApplyOrder(_CheckFunction): diff --git a/utils/checkpackagelib/readme.txt b/utils/checkpackagelib/readme.txt index 85e10fe34b..3bfe289607 100644 --- a/utils/checkpackagelib/readme.txt +++ b/utils/checkpackagelib/readme.txt @@ -28,8 +28,6 @@ Some hints when changing this code: - when there is no other reason for ordering, use alphabetical order (e.g. keep the check functions in alphabetical order, keep the imports in alphabetical order, and so on). -- use pyflakes to detect and fix potential problems. -- use pep8 formatting. - keep in mind that for every class the method before() will be called before any line is served to be checked by the method check_line(). A class that checks the filename should only implement the method before(). A function that diff --git a/utils/diffconfig b/utils/diffconfig new file mode 100755 index 0000000000..f1af23cfce --- /dev/null +++ b/utils/diffconfig @@ -0,0 +1,138 @@ +#!/usr/bin/python +# +# diffconfig - a tool to compare .config files. +# +# originally written in 2006 by Matt Mackall +# (at least, this was in his bloatwatch source code) +# last worked on 2008 by Tim Bird for the Linux kernel +# Adapted to Buildroot 2017 by Marcus Folkesson +# + +import sys, os + +def usage(): + print("""Usage: diffconfig [-h] [-m] [ ] + +Diffconfig is a simple utility for comparing two .config files. +Using standard diff to compare .config files often includes extraneous and +distracting information. This utility produces sorted output with only the +changes in configuration values between the two files. + +Added and removed items are shown with a leading plus or minus, respectively. +Changed items show the old and new values on a single line. + +If -m is specified, then output will be in "merge" style, which has the +changed and new values in kernel config option format. + +If no config files are specified, .config and .config.old are used. + +Example usage: + $ diffconfig .config config-with-some-changes +-BR2_LINUX_KERNEL_INTREE_DTS_NAME "vexpress-v2p-ca9" + BR2_LINUX_KERNEL_DTS_SUPPORT y -> n + BR2_LINUX_KERNEL_USE_INTREE_DTS y -> n + BR2_PACKAGE_DFU_UTIL n -> y + BR2_PACKAGE_LIBUSB n -> y + BR2_TARGET_GENERIC_HOSTNAME "buildroot" -> "Tuxie" + BR2_TARGET_GENERIC_ISSUE "Welcome to Buildroot" -> "Welcome to CustomBoard" ++BR2_PACKAGE_LIBUSB_COMPAT n + +""") + sys.exit(0) + +# returns a dictionary of name/value pairs for config items in the file +def readconfig(config_file): + d = {} + for line in config_file: + line = line.strip() + if len(line) == 0: + continue + if line[-11:] == " is not set": + d[line[2:-11]] = "n" + elif line[0] != "#": + name, val = line.split("=", 1) + d[name] = val + return d + +def print_config(op, config, value, new_value): + global merge_style + + if merge_style: + if new_value: + if new_value=="n": + print("# %s is not set" % config) + else: + print("%s=%s" % (config, new_value)) + else: + if op=="-": + print("-%s %s" % (config, value)) + elif op=="+": + print("+%s %s" % (config, new_value)) + else: + print(" %s %s -> %s" % (config, value, new_value)) + +def main(): + global merge_style + + # parse command line args + if ("-h" in sys.argv or "--help" in sys.argv): + usage() + + merge_style = 0 + if "-m" in sys.argv: + merge_style = 1 + sys.argv.remove("-m") + + argc = len(sys.argv) + if not (argc==1 or argc == 3): + print("Error: incorrect number of arguments or unrecognized option") + usage() + + if argc == 1: + # if no filenames given, assume .config and .config.old + build_dir="" + if "KBUILD_OUTPUT" in os.environ: + build_dir = os.environ["KBUILD_OUTPUT"]+"/" + configa_filename = build_dir + ".config.old" + configb_filename = build_dir + ".config" + else: + configa_filename = sys.argv[1] + configb_filename = sys.argv[2] + + try: + a = readconfig(open(configa_filename)) + b = readconfig(open(configb_filename)) + except (IOError): + e = sys.exc_info()[1] + print("I/O error[%s]: %s\n" % (e.args[0],e.args[1])) + usage() + + # print items in a but not b (accumulate, sort and print) + old = [] + for config in a: + if config not in b: + old.append(config) + old.sort() + for config in old: + print_config("-", config, a[config], None) + del a[config] + + # print items that changed (accumulate, sort, and print) + changed = [] + for config in a: + if a[config] != b[config]: + changed.append(config) + else: + del b[config] + changed.sort() + for config in changed: + print_config("->", config, a[config], b[config]) + del b[config] + + # now print items in b but not in a + # (items from b that were in a were removed above) + new = sorted(b.keys()) + for config in new: + print_config("+", config, None, b[config]) + +main() diff --git a/utils/genrandconfig b/utils/genrandconfig index a67d46fad9..8a6bdb6a0c 100755 --- a/utils/genrandconfig +++ b/utils/genrandconfig @@ -126,7 +126,9 @@ def get_toolchain_configs(toolchains_csv, buildrootdir): """ with open(toolchains_csv) as r: - toolchains = decode_byte_list(r.readlines()) + # filter empty lines and comments + lines = [ t for t in r.readlines() if len(t.strip()) > 0 and t[0] != '#' ] + toolchains = decode_byte_list(lines) configs = [] (_, _, _, _, hostarch) = os.uname() @@ -345,6 +347,9 @@ def gen_config(args): with open(minimalconfigfile) as minimalf: configlines += minimalf.readlines() + # Allow hosts with old certificates to download over https + configlines.append("BR2_WGET=\"wget --passive-ftp -nd -t 3 --no-check-certificate\"") + # Amend the configuration with a few things. if randint(0, 20) == 0: configlines.append("BR2_ENABLE_DEBUG=y\n") @@ -399,7 +404,8 @@ def gen_config(args): subprocess.check_call(["make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "savedefconfig"]) - return 0 + return subprocess.call(["make", "O=%s" % args.outputdir, "-C", args.buildrootdir, + "core-dependencies"]) if __name__ == '__main__': diff --git a/utils/get-developers b/utils/get-developers index 6a028b4526..c887938859 100755 --- a/utils/get-developers +++ b/utils/get-developers @@ -5,6 +5,7 @@ import getdeveloperlib import sys import os + def parse_args(): parser = argparse.ArgumentParser() parser.add_argument('patches', metavar='P', type=argparse.FileType('r'), nargs='*', @@ -17,10 +18,15 @@ def parse_args(): help='find developers in charge of these files') parser.add_argument('-c', dest='check', action='store_const', const=True, help='list files not handled by any developer') + parser.add_argument('-e', dest='email', action='store_const', + const=True, help='only list affected developer email addresses') return parser.parse_args() + def __main__(): - devs = getdeveloperlib.parse_developers() + # DEVELOPERS is one level up from here + devs_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..') + devs = getdeveloperlib.parse_developers(devs_dir) if devs is None: sys.exit(1) args = parse_args() @@ -46,7 +52,7 @@ def __main__(): # Handle the check action if args.check: - files = getdeveloperlib.check_developers(devs) + files = getdeveloperlib.check_developers(devs, devs_dir) for f in files: print(f) @@ -88,12 +94,16 @@ def __main__(): if i in dev.infras: matching_devs.add(dev.name) - result = "--to buildroot@buildroot.org" - for dev in matching_devs: - result += " --cc \"%s\"" % dev + if args.email: + for dev in matching_devs: + print(dev) + else: + result = "--to buildroot@buildroot.org" + for dev in matching_devs: + result += " --cc \"%s\"" % dev + + if result != "": + print("git send-email %s" % result) - if result != "": - print("git send-email %s" % result) __main__() - diff --git a/utils/getdeveloperlib.py b/utils/getdeveloperlib.py index 65191073a3..84665520c6 100644 --- a/utils/getdeveloperlib.py +++ b/utils/getdeveloperlib.py @@ -1,7 +1,5 @@ -import sys import os import re -import argparse import glob import subprocess @@ -11,6 +9,7 @@ import subprocess FIND_INFRA_IN_PATCH = re.compile("^\+\$\(eval \$\((host-)?([^-]*)-package\)\)$") + def analyze_patch(patch): """Parse one patch and return the list of files modified, added or removed by the patch.""" @@ -24,14 +23,16 @@ def analyze_patch(patch): if not line.startswith("+++ "): continue line.strip() - fname = line[line.find("/") + 1 : ].strip() + fname = line[line.find("/") + 1:].strip() if fname == "dev/null": continue files.add(fname) return (files, infras) + FIND_INFRA_IN_MK = re.compile("^\$\(eval \$\((host-)?([^-]*)-package\)\)$") + def fname_get_package_infra(fname): """Checks whether the file name passed as argument is a Buildroot .mk file describing a package, and find the infrastructure it's using.""" @@ -42,13 +43,14 @@ def fname_get_package_infra(fname): return None with open(fname, "r") as f: - for l in f: - l = l.strip() - m = FIND_INFRA_IN_MK.match(l) + for line in f: + line = line.strip() + m = FIND_INFRA_IN_MK.match(line) if m: return m.group(2) return None + def get_infras(files): """Search in the list of files for .mk files, and collect the package infrastructures used by those .mk files.""" @@ -59,6 +61,7 @@ def get_infras(files): infras.add(infra) return infras + def analyze_patches(patches): """Parse a list of patches and returns the list of files modified, added or removed by the patches, as well as the list of package @@ -72,6 +75,7 @@ def analyze_patches(patches): allinfras = allinfras | get_infras(allfiles) return (allfiles, allinfras) + # # DEVELOPERS file parsing functions # @@ -91,6 +95,7 @@ class Developer: return True return False + def parse_developer_packages(fnames): """Given a list of file patterns, travel through the Buildroot source tree to find which packages are implemented by those file @@ -105,25 +110,27 @@ def parse_developer_packages(fnames): packages.add(pkg) return packages + def parse_arches_from_config_in(fname): """Given a path to an arch/Config.in.* file, parse it to get the list of BR2_ARCH values for this architecture.""" arches = set() with open(fname, "r") as f: parsing_arches = False - for l in f: - l = l.strip() - if l == "config BR2_ARCH": + for line in f: + line = line.strip() + if line == "config BR2_ARCH": parsing_arches = True continue if parsing_arches: - m = re.match("^\s*default \"([^\"]*)\".*", l) + m = re.match("^\s*default \"([^\"]*)\".*", line) if m: arches.add(m.group(1)) else: parsing_arches = False return arches + def parse_developer_architectures(fnames): """Given a list of file names, find the ones starting by 'arch/Config.in.', and use that to determine the architecture a @@ -135,6 +142,7 @@ def parse_developer_architectures(fnames): arches = arches | parse_arches_from_config_in(fname) return arches + def parse_developer_infras(fnames): infras = set() for fname in fnames: @@ -143,37 +151,40 @@ def parse_developer_infras(fnames): infras.add(m.group(1)) return infras + def parse_developers(basepath=None): """Parse the DEVELOPERS file and return a list of Developer objects.""" developers = [] linen = 0 - if basepath == None: + if basepath is None: basepath = os.getcwd() + else: + basepath = os.path.abspath(basepath) with open(os.path.join(basepath, "DEVELOPERS"), "r") as f: files = [] name = None - for l in f: - l = l.strip() - if l.startswith("#"): + for line in f: + line = line.strip() + if line.startswith("#"): continue - elif l.startswith("N:"): + elif line.startswith("N:"): if name is not None or len(files) != 0: print("Syntax error in DEVELOPERS file, line %d" % linen) - name = l[2:].strip() - elif l.startswith("F:"): - fname = l[2:].strip() + name = line[2:].strip() + elif line.startswith("F:"): + fname = line[2:].strip() dev_files = glob.glob(os.path.join(basepath, fname)) if len(dev_files) == 0: print("WARNING: '%s' doesn't match any file" % fname) files += dev_files - elif l == "": + elif line == "": if not name: continue developers.append(Developer(name, files)) files = [] name = None else: - print("Syntax error in DEVELOPERS file, line %d: '%s'" % (linen, l)) + print("Syntax error in DEVELOPERS file, line %d: '%s'" % (linen, line)) return None linen += 1 # handle last developer @@ -181,10 +192,11 @@ def parse_developers(basepath=None): developers.append(Developer(name, files)) return developers + def check_developers(developers, basepath=None): """Look at the list of files versioned in Buildroot, and returns the list of files that are not handled by any developer""" - if basepath == None: + if basepath is None: basepath = os.getcwd() cmd = ["git", "--git-dir", os.path.join(basepath, ".git"), "ls-files"] files = subprocess.check_output(cmd).strip().split("\n") diff --git a/utils/scanpypi b/utils/scanpypi index 02384f2569..56b9f420ff 100755 --- a/utils/scanpypi +++ b/utils/scanpypi @@ -24,6 +24,18 @@ import tempfile import imp from functools import wraps +BUF_SIZE = 65536 + +try: + import spdx_lookup as liclookup +except ImportError: + # spdx_lookup is not installed + print('spdx_lookup module is not installed. This can lead to an ' + 'inaccurate licence detection. Please install it via\n' + 'pip install spdx_lookup') + liclookup = None + + def setup_decorator(func, method): """ Decorator for distutils.core.setup and setuptools.setup. @@ -44,11 +56,12 @@ def setup_decorator(func, method): return closure # monkey patch -import setuptools +import setuptools # noqa E402 setuptools.setup = setup_decorator(setuptools.setup, 'setuptools') -import distutils +import distutils # noqa E402 distutils.core.setup = setup_decorator(setuptools.setup, 'distutils') + def find_file_upper_case(filenames, path='./'): """ List generator: @@ -80,9 +93,11 @@ def pkg_buildroot_name(pkg_name): name = pattern.sub(r'python-\1', name) return name + class DownloadFailed(Exception): pass + class BuildrootPackage(): """This class's methods are not meant to be used individually please use them in the correct order: @@ -123,12 +138,13 @@ class BuildrootPackage(): self.filename = None self.url = None self.version = None + self.license_files = [] def fetch_package_info(self): """ Fetch a package's metadata from the python package index """ - self.metadata_url = 'https://pypi.python.org/pypi/{pkg}/json'.format( + self.metadata_url = 'https://pypi.org/pypi/{pkg}/json'.format( pkg=self.real_name) try: pkg_json = urllib2.urlopen(self.metadata_url).read().decode() @@ -162,7 +178,7 @@ class BuildrootPackage(): self.metadata['urls'] = [{ 'packagetype': 'sdist', 'url': self.metadata['info']['download_url'], - 'md5_digest': None}] + 'digests': None}] # In this case, we can't get the name of the downloaded file # from the pypi api, so we need to find it, this should work urlpath = urllib2.urlparse.urlparse( @@ -183,15 +199,15 @@ class BuildrootPackage(): else: self.used_url = download_url self.as_string = download.read() - if not download_url['md5_digest']: + if not download_url['digests']['md5']: break self.md5_sum = hashlib.md5(self.as_string).hexdigest() - if self.md5_sum == download_url['md5_digest']: + if self.md5_sum == download_url['digests']['md5']: break else: if download.__class__ == urllib2.HTTPError: raise download - raise DownloadFailed('Failed to downloas package {pkg}' + raise DownloadFailed('Failed to download package {pkg}' .format(pkg=self.real_name)) self.filename = self.used_url['filename'] self.url = self.used_url['url'] @@ -255,14 +271,14 @@ class BuildrootPackage(): # called through the if __name__ == '__main__' directive. # In this case, we can only pray that it is called through a # function called main() in setup.py. - setup.main() # Will raise AttributeError if not found + setup.main() # Will raise AttributeError if not found self.setup_metadata = self.setup_args[self.metadata_name] # Here we must remove the module the hard way. # We must do this because of a very specific case: if a package calls # setup from the __main__ but does not come with a 'main()' function, # for some reason setup.main() will successfully call the main # function of a previous package... - sys.modules.pop('setup',None) + sys.modules.pop('setup', None) del setup os.chdir(current_dir) sys.path.remove(self.tmp_extract) @@ -281,6 +297,11 @@ class BuildrootPackage(): self.pkg_req = self.setup_metadata['install_requires'] self.pkg_req = [re.sub('([-.\w]+).*', r'\1', req) for req in self.pkg_req] + + # get rid of commented lines and also strip the package strings + self.pkg_req = [item.strip() for item in self.pkg_req + if len(item) > 0 and item[0] != '#'] + req_not_found = self.pkg_req self.pkg_req = map(pkg_buildroot_name, self.pkg_req) pkg_tuples = zip(req_not_found, self.pkg_req) @@ -354,73 +375,88 @@ class BuildrootPackage(): lines.append(setup_type_line) return lines + def __get_license_names(self, license_files): + """ + Try to determine the related license name. + + There are two possibilities. Either the script tries to + get license name from package's metadata or, if spdx_lookup + package is available, the script compares license files with + SPDX database. + """ + license_line = '' + if liclookup is None: + license_dict = { + 'Apache Software License': 'Apache-2.0', + 'BSD License': 'FIXME: please specify the exact BSD version', + 'European Union Public Licence 1.0': 'EUPL-1.0', + 'European Union Public Licence 1.1': 'EUPL-1.1', + "GNU General Public License": "GPL", + "GNU General Public License v2": "GPL-2.0", + "GNU General Public License v2 or later": "GPL-2.0+", + "GNU General Public License v3": "GPL-3.0", + "GNU General Public License v3 or later": "GPL-3.0+", + "GNU Lesser General Public License v2": "LGPL-2.1", + "GNU Lesser General Public License v2 or later": "LGPL-2.1+", + "GNU Lesser General Public License v3": "LGPL-3.0", + "GNU Lesser General Public License v3 or later": "LGPL-3.0+", + "GNU Library or Lesser General Public License": "LGPL-2.0", + "ISC License": "ISC", + "MIT License": "MIT", + "Mozilla Public License 1.0": "MPL-1.0", + "Mozilla Public License 1.1": "MPL-1.1", + "Mozilla Public License 2.0": "MPL-2.0", + "Zope Public License": "ZPL" + } + regexp = re.compile('^License :* *.* *:+ (.*)( \(.*\))?$') + classifiers_licenses = [regexp.sub(r"\1", lic) + for lic in self.metadata['info']['classifiers'] + if regexp.match(lic)] + licenses = map(lambda x: license_dict[x] if x in license_dict else x, + classifiers_licenses) + if not len(licenses): + print('WARNING: License has been set to "{license}". It is most' + ' likely wrong, please change it if need be'.format( + license=', '.join(licenses))) + licenses = [self.metadata['info']['license']] + license_line = '{name}_LICENSE = {license}\n'.format( + name=self.mk_name, + license=', '.join(licenses)) + else: + license_names = [] + for license_file in license_files: + with open(license_file) as lic_file: + match = liclookup.match(lic_file.read()) + if match.confidence >= 90.0: + license_names.append(match.license.id) + + if len(license_names) > 0: + license_line = ('{name}_LICENSE =' + ' {names}\n'.format( + name=self.mk_name, + names=', '.join(license_names))) + + return license_line + def __create_mk_license(self): """ Create the lines referring to the package's license informations of the .mk file - The license is found using the metadata from pypi. - In the metadata, the license can be found either with standard names in - the classifiers part or with naming from the packager in the "License" - part. - - From the classifiers, the license is "translated" according to - buildroot standards if need be (i.e. from Apache Software License to - Apache-2.0). - - From the License part, we cannot guess what formatting the packager - used. Hence, it is likely to be incorrect. (i.e. Apache License 2.0 - instead of Apache-2.0). - - The license's files are found by searching the package for files named - license or license.txt (case insensitive). - If more than one license file is found, the user is asked to select - which ones he wants to use. + The license's files are found by searching the package (case insensitive) + for files named license, license.txt etc. If more than one license file + is found, the user is asked to select which ones he wants to use. """ - license_dict = { - 'Apache Software License': 'Apache-2.0', - 'BSD License': 'BSD', - 'European Union Public Licence 1.0': 'EUPL-1.0', - 'European Union Public Licence 1.1': 'EUPL-1.1', - "GNU General Public License": "GPL", - "GNU General Public License v2": "GPL-2.0", - "GNU General Public License v2 or later": "GPL-2.0+", - "GNU General Public License v3": "GPL-3.0", - "GNU General Public License v3 or later": "GPL-3.0+", - "GNU Lesser General Public License v2": "LGPL-2.1", - "GNU Lesser General Public License v2 or later": "LGPL-2.1+", - "GNU Lesser General Public License v3": "LGPL-3.0", - "GNU Lesser General Public License v3 or later": "LGPL-3.0+", - "GNU Library or Lesser General Public License": "LGPL-2.0", - "ISC License": "ISC", - "MIT License": "MIT", - "Mozilla Public License 1.0": "MPL-1.0", - "Mozilla Public License 1.1": "MPL-1.1", - "Mozilla Public License 2.0": "MPL-2.0", - "Zope Public License": "ZPL" - } - regexp = re.compile('^License :* *.* *:+ (.*)( \(.*\))?$') - classifiers_licenses = [regexp.sub(r"\1", lic) - for lic in self.metadata['info']['classifiers'] - if regexp.match(lic)] - licenses = map(lambda x: license_dict[x] if x in license_dict else x, - classifiers_licenses) lines = [] - if not len(licenses): - print('WARNING: License has been set to "{license}". It is most' - ' likely wrong, please change it if need be'.format( - license=', '.join(licenses))) - licenses = [self.metadata['info']['license']] - license_line = '{name}_LICENSE = {license}\n'.format( - name=self.mk_name, - license=', '.join(licenses)) - lines.append(license_line) filenames = ['LICENCE', 'LICENSE', 'LICENSE.RST', 'LICENSE.TXT', - 'COPYING', 'COPYING.TXT'] - license_files = list(find_file_upper_case(filenames, self.tmp_extract)) + 'COPYING', 'COPYING.TXT'] + self.license_files = list(find_file_upper_case(filenames, self.tmp_extract)) + + lines.append(self.__get_license_names(self.license_files)) + license_files = [license.replace(self.tmp_extract, '')[1:] - for license in license_files] + for license in self.license_files] if len(license_files) > 0: if len(license_files) > 1: print('More than one file found for license:', @@ -482,21 +518,36 @@ class BuildrootPackage(): path_to_hash = os.path.join(self.pkg_dir, pkg_hash) print('Creating {filename}...'.format(filename=path_to_hash)) lines = [] - if self.used_url['md5_digest']: - md5_comment = '# md5 from {url}, sha256 locally computed\n'.format( - url=self.metadata_url) - lines.append(md5_comment) + if self.used_url['digests']['md5'] and self.used_url['digests']['sha256']: + hash_header = '# md5, sha256 from {url}\n'.format( + url=self.metadata_url) + lines.append(hash_header) hash_line = '{method}\t{digest} {filename}\n'.format( method='md5', - digest=self.used_url['md5_digest'], + digest=self.used_url['digests']['md5'], filename=self.filename) lines.append(hash_line) - digest = hashlib.sha256(self.as_string).hexdigest() - hash_line = '{method}\t{digest} {filename}\n'.format( - method='sha256', - digest=digest, - filename=self.filename) - lines.append(hash_line) + hash_line = '{method}\t{digest} {filename}\n'.format( + method='sha256', + digest=self.used_url['digests']['sha256'], + filename=self.filename) + lines.append(hash_line) + + if self.license_files: + lines.append('# Locally computed sha256 checksums\n') + for license_file in self.license_files: + sha256 = hashlib.sha256() + with open(license_file, 'rb') as lic_f: + while True: + data = lic_f.read(BUF_SIZE) + if not data: + break + sha256.update(data) + hash_line = '{method}\t{digest} {filename}\n'.format( + method='sha256', + digest=sha256.hexdigest(), + filename=os.path.basename(license_file)) + lines.append(hash_line) with open(path_to_hash, 'w') as hash_file: hash_file.writelines(lines) @@ -608,9 +659,9 @@ def main(): else: raise continue - except AttributeError: - print('Error: Could not install package {pkg}'.format( - pkg=package.real_name)) + except AttributeError as error: + print('Error: Could not install package {pkg}: {error}'.format( + pkg=package.real_name, error=error)) continue # Package requirement are an argument of the setup function @@ -649,5 +700,6 @@ def main(): finally: shutil.rmtree(tmp_path) + if __name__ == "__main__": main() diff --git a/utils/test-pkg b/utils/test-pkg index 6899d44f7c..17d3756d75 100755 --- a/utils/test-pkg +++ b/utils/test-pkg @@ -54,7 +54,7 @@ main() { # Extract the URLs of the toolchains; drop internal toolchains # E.g.: http://server/path/to/name.config,arch,libc # --> http://server/path/to/name.config - toolchains=($(sed -r -e 's/,.*//; /internal/d;' "${toolchains_csv}" \ + toolchains=($(sed -r -e 's/,.*//; /internal/d; /^#/d; /^$/d;' "${toolchains_csv}" \ |if [ ${random} -gt 0 ]; then \ sort -R |head -n ${random} else @@ -100,7 +100,7 @@ build_one() { support/kconfig/merge_config.sh -O "${dir}" \ "${toolchainconfig}" "support/config-fragments/minimal.config" "${cfg}" \ - > /dev/null + >> "${dir}/logfile" 2>&1 # We want all the options from the snippet to be present as-is (set # or not set) in the actual .config; if one of them is not, it means # some dependency from the toolchain or arch is not available, in @@ -127,10 +127,8 @@ build_one() { # legal-info done systematically, because some packages have different # sources depending on the configuration (e.g. lua-5.2 vs. lua-5.3) - if [ -n "${pkg}" ]; then - if ! make O="${dir}" "${pkg}-legal-info" >> "${dir}/logfile" 2>&1; then - return 3 - fi + if ! make O="${dir}" legal-info >> "${dir}/logfile" 2>&1; then + return 3 fi }